@makeswift/runtime 0.15.0 → 0.16.0-canary.1

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 (258) hide show
  1. package/dist/cjs/builder/serialization/control-serialization.js +38 -37
  2. package/dist/cjs/builder/serialization/control-serialization.js.map +1 -1
  3. package/dist/cjs/components/builtin/Box/Box.js.map +1 -1
  4. package/dist/cjs/components/builtin/Box/register.js +25 -24
  5. package/dist/cjs/components/builtin/Box/register.js.map +1 -1
  6. package/dist/cjs/components/builtin/Button/Button.js.map +1 -1
  7. package/dist/cjs/components/builtin/Button/register.js +13 -12
  8. package/dist/cjs/components/builtin/Button/register.js.map +1 -1
  9. package/dist/cjs/components/builtin/Carousel/Carousel.js.map +1 -1
  10. package/dist/cjs/components/builtin/Carousel/register.js +26 -14
  11. package/dist/cjs/components/builtin/Carousel/register.js.map +1 -1
  12. package/dist/cjs/components/builtin/Countdown/Countdown.js.map +1 -1
  13. package/dist/cjs/components/builtin/Countdown/register.js +4 -3
  14. package/dist/cjs/components/builtin/Countdown/register.js.map +1 -1
  15. package/dist/cjs/components/builtin/Divider/Divider.js.map +1 -1
  16. package/dist/cjs/components/builtin/Divider/register.js +3 -2
  17. package/dist/cjs/components/builtin/Divider/register.js.map +1 -1
  18. package/dist/cjs/components/builtin/Form/Form.js.map +1 -1
  19. package/dist/cjs/components/builtin/Form/context/FormContext.js.map +1 -1
  20. package/dist/cjs/components/builtin/Form/register.js +6 -5
  21. package/dist/cjs/components/builtin/Form/register.js.map +1 -1
  22. package/dist/cjs/components/builtin/Image/Image.js.map +1 -1
  23. package/dist/cjs/components/builtin/Image/register.js +6 -5
  24. package/dist/cjs/components/builtin/Image/register.js.map +1 -1
  25. package/dist/cjs/components/builtin/Navigation/Navigation.js.map +1 -1
  26. package/dist/cjs/components/builtin/Navigation/components/DropDownButton/index.js.map +1 -1
  27. package/dist/cjs/components/builtin/Navigation/components/LinksPlaceholder/index.js.map +1 -1
  28. package/dist/cjs/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.js.map +1 -1
  29. package/dist/cjs/components/builtin/Navigation/components/MobileMenu/index.js.map +1 -1
  30. package/dist/cjs/components/builtin/Navigation/register.js +32 -16
  31. package/dist/cjs/components/builtin/Navigation/register.js.map +1 -1
  32. package/dist/cjs/components/builtin/SocialLinks/SocialLinks.js.map +1 -1
  33. package/dist/cjs/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.js.map +1 -1
  34. package/dist/cjs/components/builtin/SocialLinks/register.js +3 -2
  35. package/dist/cjs/components/builtin/SocialLinks/register.js.map +1 -1
  36. package/dist/cjs/components/builtin/Video/register.js +2 -1
  37. package/dist/cjs/components/builtin/Video/register.js.map +1 -1
  38. package/dist/cjs/components/hooks/index.js +5 -1
  39. package/dist/cjs/components/hooks/index.js.map +1 -1
  40. package/dist/cjs/components/hooks/useBorder.js +3 -3
  41. package/dist/cjs/components/hooks/useBorder.js.map +1 -1
  42. package/dist/cjs/components/hooks/useBoxShadow.js +6 -5
  43. package/dist/cjs/components/hooks/useBoxShadow.js.map +1 -1
  44. package/dist/cjs/{prop-controllers/copy/shadows.js → components/hooks/useCheckboxPropControllerData.js} +11 -25
  45. package/dist/cjs/components/hooks/useCheckboxPropControllerData.js.map +1 -0
  46. package/dist/cjs/{prop-controllers/copy/responsive-color.js → components/hooks/useLinkPropControllerData.js} +11 -16
  47. package/dist/cjs/components/hooks/useLinkPropControllerData.js.map +1 -0
  48. package/dist/cjs/components/hooks/useNumberPropControllerData.js +34 -0
  49. package/dist/cjs/components/hooks/useNumberPropControllerData.js.map +1 -0
  50. package/dist/cjs/components/hooks/useResponsiveColor.js +2 -2
  51. package/dist/cjs/components/hooks/useResponsiveColor.js.map +1 -1
  52. package/dist/cjs/components/hooks/useResponsiveColorPropControllerData.js +34 -0
  53. package/dist/cjs/components/hooks/useResponsiveColorPropControllerData.js.map +1 -0
  54. package/dist/cjs/components/hooks/useResponsiveLengthPropControllerData.js +34 -0
  55. package/dist/cjs/components/hooks/useResponsiveLengthPropControllerData.js.map +1 -0
  56. package/dist/cjs/components/shared/GutterContainer/index.js.map +1 -1
  57. package/dist/cjs/components/shared/Link/index.js.map +1 -1
  58. package/dist/cjs/components/shared/grid-item.js.map +1 -1
  59. package/dist/cjs/components/utils/responsive-style.js.map +1 -1
  60. package/dist/cjs/controls/control.js +5 -4
  61. package/dist/cjs/controls/control.js.map +1 -1
  62. package/dist/cjs/controls/rich-text/introspection.js +2 -9
  63. package/dist/cjs/controls/rich-text/introspection.js.map +1 -1
  64. package/dist/cjs/css/border.js.map +1 -1
  65. package/dist/cjs/next/api-handler/handlers/manifest.js +1 -1
  66. package/dist/cjs/prop-controllers/copy/navigation-links.js +2 -2
  67. package/dist/cjs/prop-controllers/copy/navigation-links.js.map +1 -1
  68. package/dist/cjs/prop-controllers/copy.js +9 -10
  69. package/dist/cjs/prop-controllers/copy.js.map +1 -1
  70. package/dist/cjs/prop-controllers/descriptors.js +0 -69
  71. package/dist/cjs/prop-controllers/descriptors.js.map +1 -1
  72. package/dist/cjs/prop-controllers/index.js.map +1 -1
  73. package/dist/cjs/prop-controllers/introspection.js +9 -38
  74. package/dist/cjs/prop-controllers/introspection.js.map +1 -1
  75. package/dist/cjs/runtimes/react/controls.js +63 -14
  76. package/dist/cjs/runtimes/react/controls.js.map +1 -1
  77. package/dist/esm/builder/serialization/control-serialization.js +13 -10
  78. package/dist/esm/builder/serialization/control-serialization.js.map +1 -1
  79. package/dist/esm/components/builtin/Box/Box.js.map +1 -1
  80. package/dist/esm/components/builtin/Box/register.js +5 -4
  81. package/dist/esm/components/builtin/Box/register.js.map +1 -1
  82. package/dist/esm/components/builtin/Button/Button.js.map +1 -1
  83. package/dist/esm/components/builtin/Button/register.js +4 -3
  84. package/dist/esm/components/builtin/Button/register.js.map +1 -1
  85. package/dist/esm/components/builtin/Carousel/Carousel.js.map +1 -1
  86. package/dist/esm/components/builtin/Carousel/register.js +31 -14
  87. package/dist/esm/components/builtin/Carousel/register.js.map +1 -1
  88. package/dist/esm/components/builtin/Countdown/Countdown.js.map +1 -1
  89. package/dist/esm/components/builtin/Countdown/register.js +4 -3
  90. package/dist/esm/components/builtin/Countdown/register.js.map +1 -1
  91. package/dist/esm/components/builtin/Divider/Divider.js.map +1 -1
  92. package/dist/esm/components/builtin/Divider/register.js +3 -2
  93. package/dist/esm/components/builtin/Divider/register.js.map +1 -1
  94. package/dist/esm/components/builtin/Form/Form.js.map +1 -1
  95. package/dist/esm/components/builtin/Form/context/FormContext.js.map +1 -1
  96. package/dist/esm/components/builtin/Form/register.js +6 -5
  97. package/dist/esm/components/builtin/Form/register.js.map +1 -1
  98. package/dist/esm/components/builtin/Image/Image.js.map +1 -1
  99. package/dist/esm/components/builtin/Image/register.js +6 -5
  100. package/dist/esm/components/builtin/Image/register.js.map +1 -1
  101. package/dist/esm/components/builtin/Navigation/Navigation.js.map +1 -1
  102. package/dist/esm/components/builtin/Navigation/components/DropDownButton/index.js.map +1 -1
  103. package/dist/esm/components/builtin/Navigation/components/LinksPlaceholder/index.js.map +1 -1
  104. package/dist/esm/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.js.map +1 -1
  105. package/dist/esm/components/builtin/Navigation/components/MobileMenu/index.js.map +1 -1
  106. package/dist/esm/components/builtin/Navigation/register.js +41 -16
  107. package/dist/esm/components/builtin/Navigation/register.js.map +1 -1
  108. package/dist/esm/components/builtin/SocialLinks/SocialLinks.js.map +1 -1
  109. package/dist/esm/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.js.map +1 -1
  110. package/dist/esm/components/builtin/SocialLinks/register.js +3 -2
  111. package/dist/esm/components/builtin/SocialLinks/register.js.map +1 -1
  112. package/dist/esm/components/builtin/Video/register.js +2 -1
  113. package/dist/esm/components/builtin/Video/register.js.map +1 -1
  114. package/dist/esm/components/hooks/index.js +2 -0
  115. package/dist/esm/components/hooks/index.js.map +1 -1
  116. package/dist/esm/components/hooks/useBorder.js +5 -3
  117. package/dist/esm/components/hooks/useBorder.js.map +1 -1
  118. package/dist/esm/components/hooks/useBoxShadow.js +9 -5
  119. package/dist/esm/components/hooks/useBoxShadow.js.map +1 -1
  120. package/dist/esm/components/hooks/useCheckboxPropControllerData.js +12 -0
  121. package/dist/esm/components/hooks/useCheckboxPropControllerData.js.map +1 -0
  122. package/dist/esm/components/hooks/useLinkPropControllerData.js +12 -0
  123. package/dist/esm/components/hooks/useLinkPropControllerData.js.map +1 -0
  124. package/dist/esm/components/hooks/useNumberPropControllerData.js +10 -0
  125. package/dist/esm/components/hooks/useNumberPropControllerData.js.map +1 -0
  126. package/dist/esm/components/hooks/useResponsiveColor.js +2 -2
  127. package/dist/esm/components/hooks/useResponsiveColor.js.map +1 -1
  128. package/dist/esm/components/hooks/useResponsiveColorPropControllerData.js +12 -0
  129. package/dist/esm/components/hooks/useResponsiveColorPropControllerData.js.map +1 -0
  130. package/dist/esm/components/hooks/useResponsiveLengthPropControllerData.js +12 -0
  131. package/dist/esm/components/hooks/useResponsiveLengthPropControllerData.js.map +1 -0
  132. package/dist/esm/components/shared/GutterContainer/index.js.map +1 -1
  133. package/dist/esm/components/shared/Link/index.js.map +1 -1
  134. package/dist/esm/components/shared/grid-item.js.map +1 -1
  135. package/dist/esm/components/utils/responsive-style.js.map +1 -1
  136. package/dist/esm/controls/control.js +5 -4
  137. package/dist/esm/controls/control.js.map +1 -1
  138. package/dist/esm/controls/rich-text/introspection.js +2 -9
  139. package/dist/esm/controls/rich-text/introspection.js.map +1 -1
  140. package/dist/esm/css/border.js.map +1 -1
  141. package/dist/esm/next/api-handler/handlers/manifest.js +1 -1
  142. package/dist/esm/prop-controllers/copy/navigation-links.js +2 -2
  143. package/dist/esm/prop-controllers/copy/navigation-links.js.map +1 -1
  144. package/dist/esm/prop-controllers/copy.js +13 -10
  145. package/dist/esm/prop-controllers/copy.js.map +1 -1
  146. package/dist/esm/prop-controllers/descriptors.js +0 -58
  147. package/dist/esm/prop-controllers/descriptors.js.map +1 -1
  148. package/dist/esm/prop-controllers/index.js.map +1 -1
  149. package/dist/esm/prop-controllers/introspection.js +15 -35
  150. package/dist/esm/prop-controllers/introspection.js.map +1 -1
  151. package/dist/esm/runtimes/react/controls.js +72 -17
  152. package/dist/esm/runtimes/react/controls.js.map +1 -1
  153. package/dist/types/builder/serialization/control-serialization.d.ts +34 -48
  154. package/dist/types/builder/serialization/control-serialization.d.ts.map +1 -1
  155. package/dist/types/components/builtin/Box/Box.d.ts.map +1 -1
  156. package/dist/types/components/builtin/Box/register.d.ts.map +1 -1
  157. package/dist/types/components/builtin/Button/Button.d.ts +3 -2
  158. package/dist/types/components/builtin/Button/Button.d.ts.map +1 -1
  159. package/dist/types/components/builtin/Button/register.d.ts.map +1 -1
  160. package/dist/types/components/builtin/Carousel/Carousel.d.ts +5 -5
  161. package/dist/types/components/builtin/Carousel/Carousel.d.ts.map +1 -1
  162. package/dist/types/components/builtin/Carousel/register.d.ts.map +1 -1
  163. package/dist/types/components/builtin/Countdown/Countdown.d.ts.map +1 -1
  164. package/dist/types/components/builtin/Countdown/register.d.ts.map +1 -1
  165. package/dist/types/components/builtin/Divider/Divider.d.ts +3 -2
  166. package/dist/types/components/builtin/Divider/Divider.d.ts.map +1 -1
  167. package/dist/types/components/builtin/Divider/register.d.ts.map +1 -1
  168. package/dist/types/components/builtin/Form/Form.d.ts +4 -3
  169. package/dist/types/components/builtin/Form/Form.d.ts.map +1 -1
  170. package/dist/types/components/builtin/Form/context/FormContext.d.ts +2 -1
  171. package/dist/types/components/builtin/Form/context/FormContext.d.ts.map +1 -1
  172. package/dist/types/components/builtin/Form/register.d.ts.map +1 -1
  173. package/dist/types/components/builtin/Image/Image.d.ts +3 -2
  174. package/dist/types/components/builtin/Image/Image.d.ts.map +1 -1
  175. package/dist/types/components/builtin/Image/register.d.ts.map +1 -1
  176. package/dist/types/components/builtin/Navigation/Navigation.d.ts +5 -4
  177. package/dist/types/components/builtin/Navigation/Navigation.d.ts.map +1 -1
  178. package/dist/types/components/builtin/Navigation/components/DropDownButton/index.d.ts +6 -5
  179. package/dist/types/components/builtin/Navigation/components/DropDownButton/index.d.ts.map +1 -1
  180. package/dist/types/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts +2 -2
  181. package/dist/types/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts.map +1 -1
  182. package/dist/types/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts +6 -5
  183. package/dist/types/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts.map +1 -1
  184. package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts +2 -1
  185. package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts.map +1 -1
  186. package/dist/types/components/builtin/Navigation/register.d.ts.map +1 -1
  187. package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts.map +1 -1
  188. package/dist/types/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts +2 -2
  189. package/dist/types/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts.map +1 -1
  190. package/dist/types/components/builtin/SocialLinks/register.d.ts.map +1 -1
  191. package/dist/types/components/builtin/Video/register.d.ts.map +1 -1
  192. package/dist/types/components/hooks/index.d.ts +2 -0
  193. package/dist/types/components/hooks/index.d.ts.map +1 -1
  194. package/dist/types/components/hooks/useBorder.d.ts +2 -2
  195. package/dist/types/components/hooks/useBorder.d.ts.map +1 -1
  196. package/dist/types/components/hooks/useBoxShadow.d.ts +14 -14
  197. package/dist/types/components/hooks/useBoxShadow.d.ts.map +1 -1
  198. package/dist/types/components/hooks/useCheckboxPropControllerData.d.ts +3 -0
  199. package/dist/types/components/hooks/useCheckboxPropControllerData.d.ts.map +1 -0
  200. package/dist/types/components/hooks/useLinkPropControllerData.d.ts +3 -0
  201. package/dist/types/components/hooks/useLinkPropControllerData.d.ts.map +1 -0
  202. package/dist/types/components/hooks/useNumberPropControllerData.d.ts +3 -0
  203. package/dist/types/components/hooks/useNumberPropControllerData.d.ts.map +1 -0
  204. package/dist/types/components/hooks/useResponsiveColor.d.ts +2 -4
  205. package/dist/types/components/hooks/useResponsiveColor.d.ts.map +1 -1
  206. package/dist/types/components/hooks/useResponsiveColorPropControllerData.d.ts +4 -0
  207. package/dist/types/components/hooks/useResponsiveColorPropControllerData.d.ts.map +1 -0
  208. package/dist/types/components/hooks/useResponsiveLengthPropControllerData.d.ts +3 -0
  209. package/dist/types/components/hooks/useResponsiveLengthPropControllerData.d.ts.map +1 -0
  210. package/dist/types/components/shared/GutterContainer/index.d.ts +2 -2
  211. package/dist/types/components/shared/GutterContainer/index.d.ts.map +1 -1
  212. package/dist/types/components/shared/Link/index.d.ts +1 -1
  213. package/dist/types/components/shared/Link/index.d.ts.map +1 -1
  214. package/dist/types/components/shared/grid-item.d.ts +4 -3
  215. package/dist/types/components/shared/grid-item.d.ts.map +1 -1
  216. package/dist/types/components/utils/responsive-style.d.ts +8 -7
  217. package/dist/types/components/utils/responsive-style.d.ts.map +1 -1
  218. package/dist/types/controls/control.d.ts.map +1 -1
  219. package/dist/types/controls/rich-text/introspection.d.ts.map +1 -1
  220. package/dist/types/css/border.d.ts +1 -1
  221. package/dist/types/css/border.d.ts.map +1 -1
  222. package/dist/types/prop-controllers/copy/navigation-links.d.ts.map +1 -1
  223. package/dist/types/prop-controllers/copy.d.ts.map +1 -1
  224. package/dist/types/prop-controllers/descriptors.d.ts +21 -263
  225. package/dist/types/prop-controllers/descriptors.d.ts.map +1 -1
  226. package/dist/types/prop-controllers/index.d.ts +2 -1
  227. package/dist/types/prop-controllers/index.d.ts.map +1 -1
  228. package/dist/types/prop-controllers/introspection.d.ts +1 -4
  229. package/dist/types/prop-controllers/introspection.d.ts.map +1 -1
  230. package/dist/types/runtimes/react/controls.d.ts +5 -7
  231. package/dist/types/runtimes/react/controls.d.ts.map +1 -1
  232. package/package.json +2 -1
  233. package/dist/cjs/prop-controllers/copy/border.js +0 -53
  234. package/dist/cjs/prop-controllers/copy/border.js.map +0 -1
  235. package/dist/cjs/prop-controllers/copy/link.js +0 -63
  236. package/dist/cjs/prop-controllers/copy/link.js.map +0 -1
  237. package/dist/cjs/prop-controllers/copy/responsive-color.js.map +0 -1
  238. package/dist/cjs/prop-controllers/copy/shadows.js.map +0 -1
  239. package/dist/esm/prop-controllers/copy/border.js +0 -29
  240. package/dist/esm/prop-controllers/copy/border.js.map +0 -1
  241. package/dist/esm/prop-controllers/copy/link.js +0 -39
  242. package/dist/esm/prop-controllers/copy/link.js.map +0 -1
  243. package/dist/esm/prop-controllers/copy/responsive-color.js +0 -15
  244. package/dist/esm/prop-controllers/copy/responsive-color.js.map +0 -1
  245. package/dist/esm/prop-controllers/copy/shadows.js +0 -24
  246. package/dist/esm/prop-controllers/copy/shadows.js.map +0 -1
  247. package/dist/types/prop-controllers/copy/border.d.ts +0 -4
  248. package/dist/types/prop-controllers/copy/border.d.ts.map +0 -1
  249. package/dist/types/prop-controllers/copy/border.test.d.ts +0 -2
  250. package/dist/types/prop-controllers/copy/border.test.d.ts.map +0 -1
  251. package/dist/types/prop-controllers/copy/link.d.ts +0 -4
  252. package/dist/types/prop-controllers/copy/link.d.ts.map +0 -1
  253. package/dist/types/prop-controllers/copy/responsive-color.d.ts +0 -4
  254. package/dist/types/prop-controllers/copy/responsive-color.d.ts.map +0 -1
  255. package/dist/types/prop-controllers/copy/shadows.d.ts +0 -4
  256. package/dist/types/prop-controllers/copy/shadows.d.ts.map +0 -1
  257. package/dist/types/prop-controllers/copy/shadows.test.d.ts +0 -2
  258. package/dist/types/prop-controllers/copy/shadows.test.d.ts.map +0 -1
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var useNumberPropControllerData_exports = {};
20
+ __export(useNumberPropControllerData_exports, {
21
+ useNumberPropControllerData: () => useNumberPropControllerData
22
+ });
23
+ module.exports = __toCommonJS(useNumberPropControllerData_exports);
24
+ var import_prop_controllers2 = require("@makeswift/prop-controllers");
25
+ function useNumberPropControllerData(data) {
26
+ if (data == null)
27
+ return data;
28
+ return (0, import_prop_controllers2.getNumberPropControllerDataNumber)(data);
29
+ }
30
+ // Annotate the CommonJS export names for ESM import in node:
31
+ 0 && (module.exports = {
32
+ useNumberPropControllerData
33
+ });
34
+ //# sourceMappingURL=useNumberPropControllerData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/hooks/useNumberPropControllerData.ts"],"sourcesContent":["import { NumberPropControllerData } from '@makeswift/prop-controllers'\nimport { getNumberPropControllerDataNumber } from '@makeswift/prop-controllers'\n\nexport function useNumberPropControllerData(\n data: NumberPropControllerData | undefined,\n): number | undefined {\n if (data == null) return data\n\n return getNumberPropControllerDataNumber(data)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,IAAAA,2BAAkD;AAE3C,SAAS,4BACd,MACoB;AACpB,MAAI,QAAQ;AAAM,WAAO;AAEzB,aAAO,4DAAkC,IAAI;AAC/C;","names":["import_prop_controllers"]}
@@ -22,10 +22,10 @@ __export(useResponsiveColor_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(useResponsiveColor_exports);
24
24
  var import_isNonNullable = require("../utils/isNonNullable");
25
- var import_introspection = require("../../prop-controllers/introspection");
26
25
  var import_makeswift_api = require("../../runtimes/react/hooks/makeswift-api");
26
+ var import_prop_controllers = require("@makeswift/prop-controllers");
27
27
  function useResponsiveColor(color) {
28
- const swatchIds = (0, import_introspection.getResponsiveColorSwatchIds)(color);
28
+ const swatchIds = color == null ? [] : (0, import_prop_controllers.getResponsiveColorDataSwatchIds)(color);
29
29
  const swatches = (0, import_makeswift_api.useSwatches)(swatchIds);
30
30
  if (color == null)
31
31
  return null;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/hooks/useResponsiveColor.ts"],"sourcesContent":["import type { ResponsiveValue } from '../../prop-controllers'\nimport { isNonNullable } from '../utils/isNonNullable'\nimport type { ColorValue as Color } from '../utils/types'\nimport { getResponsiveColorSwatchIds } from '../../prop-controllers/introspection'\nimport { useSwatches } from '../../runtimes/react/hooks/makeswift-api'\n\nexport function useResponsiveColor(\n color:\n | ResponsiveValue<{\n swatchId: string\n alpha: number\n }>\n | null\n | undefined,\n): ResponsiveValue<Color> | null | undefined {\n const swatchIds = getResponsiveColorSwatchIds(color)\n const swatches = useSwatches(swatchIds)\n\n if (color == null) return null\n\n return color\n .map(({ value: v, ...rest }) => {\n const { swatchId, alpha } = v\n const swatch = swatches.find(s => s && s.id === swatchId)\n\n return swatch == null ? null : { ...rest, value: { swatch, alpha } }\n })\n .filter(isNonNullable)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,2BAA8B;AAE9B,2BAA4C;AAC5C,2BAA4B;AAErB,SAAS,mBACd,OAO2C;AAC3C,QAAM,gBAAY,kDAA4B,KAAK;AACnD,QAAM,eAAW,kCAAY,SAAS;AAEtC,MAAI,SAAS;AAAM,WAAO;AAE1B,SAAO,MACJ,IAAI,CAAC,EAAE,OAAO,GAAG,GAAG,KAAK,MAAM;AAC9B,UAAM,EAAE,UAAU,MAAM,IAAI;AAC5B,UAAM,SAAS,SAAS,KAAK,OAAK,KAAK,EAAE,OAAO,QAAQ;AAExD,WAAO,UAAU,OAAO,OAAO,EAAE,GAAG,MAAM,OAAO,EAAE,QAAQ,MAAM,EAAE;AAAA,EACrE,CAAC,EACA,OAAO,kCAAa;AACzB;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/hooks/useResponsiveColor.ts"],"sourcesContent":["import type { ResponsiveValue } from '../../prop-controllers'\nimport { isNonNullable } from '../utils/isNonNullable'\nimport type { ColorValue as Color } from '../utils/types'\nimport { useSwatches } from '../../runtimes/react/hooks/makeswift-api'\nimport { ResponsiveColorData, getResponsiveColorDataSwatchIds } from '@makeswift/prop-controllers'\n\nexport function useResponsiveColor(\n color: ResponsiveColorData | null | undefined,\n): ResponsiveValue<Color> | null | undefined {\n const swatchIds = color == null ? [] : getResponsiveColorDataSwatchIds(color)\n const swatches = useSwatches(swatchIds)\n\n if (color == null) return null\n\n return color\n .map(({ value: v, ...rest }) => {\n const { swatchId, alpha } = v\n const swatch = swatches.find(s => s && s.id === swatchId)\n\n return swatch == null ? null : { ...rest, value: { swatch, alpha } }\n })\n .filter(isNonNullable)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,2BAA8B;AAE9B,2BAA4B;AAC5B,8BAAqE;AAE9D,SAAS,mBACd,OAC2C;AAC3C,QAAM,YAAY,SAAS,OAAO,CAAC,QAAI,yDAAgC,KAAK;AAC5E,QAAM,eAAW,kCAAY,SAAS;AAEtC,MAAI,SAAS;AAAM,WAAO;AAE1B,SAAO,MACJ,IAAI,CAAC,EAAE,OAAO,GAAG,GAAG,KAAK,MAAM;AAC9B,UAAM,EAAE,UAAU,MAAM,IAAI;AAC5B,UAAM,SAAS,SAAS,KAAK,OAAK,KAAK,EAAE,OAAO,QAAQ;AAExD,WAAO,UAAU,OAAO,OAAO,EAAE,GAAG,MAAM,OAAO,EAAE,QAAQ,MAAM,EAAE;AAAA,EACrE,CAAC,EACA,OAAO,kCAAa;AACzB;","names":[]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var useResponsiveColorPropControllerData_exports = {};
20
+ __export(useResponsiveColorPropControllerData_exports, {
21
+ useResponsiveColorPropControllerData: () => useResponsiveColorPropControllerData
22
+ });
23
+ module.exports = __toCommonJS(useResponsiveColorPropControllerData_exports);
24
+ var import_prop_controllers = require("@makeswift/prop-controllers");
25
+ var import_useResponsiveColor = require("./useResponsiveColor");
26
+ function useResponsiveColorPropControllerData(data) {
27
+ const responsiveColorData = data == null ? data : (0, import_prop_controllers.getResponsiveColorPropControllerDataResponsiveColorData)(data);
28
+ return (0, import_useResponsiveColor.useResponsiveColor)(responsiveColorData);
29
+ }
30
+ // Annotate the CommonJS export names for ESM import in node:
31
+ 0 && (module.exports = {
32
+ useResponsiveColorPropControllerData
33
+ });
34
+ //# sourceMappingURL=useResponsiveColorPropControllerData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/hooks/useResponsiveColorPropControllerData.ts"],"sourcesContent":["import {\n ResponsiveColorPropControllerData,\n ResponsiveValue,\n getResponsiveColorPropControllerDataResponsiveColorData,\n} from '@makeswift/prop-controllers'\nimport { ColorValue } from '../utils/types'\nimport { useResponsiveColor } from './useResponsiveColor'\n\nexport function useResponsiveColorPropControllerData(\n data: ResponsiveColorPropControllerData | null | undefined,\n): ResponsiveValue<ColorValue> | null | undefined {\n const responsiveColorData =\n data == null ? data : getResponsiveColorPropControllerDataResponsiveColorData(data)\n\n return useResponsiveColor(responsiveColorData)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAIO;AAEP,gCAAmC;AAE5B,SAAS,qCACd,MACgD;AAChD,QAAM,sBACJ,QAAQ,OAAO,WAAO,iFAAwD,IAAI;AAEpF,aAAO,8CAAmB,mBAAmB;AAC/C;","names":[]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var useResponsiveLengthPropControllerData_exports = {};
20
+ __export(useResponsiveLengthPropControllerData_exports, {
21
+ useResponsiveLengthPropControllerData: () => useResponsiveLengthPropControllerData
22
+ });
23
+ module.exports = __toCommonJS(useResponsiveLengthPropControllerData_exports);
24
+ var import_prop_controllers = require("@makeswift/prop-controllers");
25
+ function useResponsiveLengthPropControllerData(data) {
26
+ if (data == null)
27
+ return data;
28
+ return (0, import_prop_controllers.getResponsiveLengthPropControllerDataResponsiveLengthData)(data);
29
+ }
30
+ // Annotate the CommonJS export names for ESM import in node:
31
+ 0 && (module.exports = {
32
+ useResponsiveLengthPropControllerData
33
+ });
34
+ //# sourceMappingURL=useResponsiveLengthPropControllerData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/hooks/useResponsiveLengthPropControllerData.ts"],"sourcesContent":["import {\n ResponsiveLengthData,\n ResponsiveLengthPropControllerData,\n getResponsiveLengthPropControllerDataResponsiveLengthData,\n} from '@makeswift/prop-controllers'\n\nexport function useResponsiveLengthPropControllerData(\n data: ResponsiveLengthPropControllerData | undefined | null,\n): ResponsiveLengthData | undefined | null {\n if (data == null) return data\n\n return getResponsiveLengthPropControllerDataResponsiveLengthData(data)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAIO;AAEA,SAAS,sCACd,MACyC;AACzC,MAAI,QAAQ;AAAM,WAAO;AAEzB,aAAO,mFAA0D,IAAI;AACvE;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/shared/GutterContainer/index.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { ComponentPropsWithoutRef } from 'react'\nimport { ResponsiveValue, Length } from '../../../prop-controllers/descriptors'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { useResponsiveStyle } from '../../utils/responsive-style'\n\ntype BaseProps = {\n className?: string\n gutter?: ResponsiveValue<Length>\n first: boolean\n last: boolean\n}\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<'div'>, keyof BaseProps>\n\nexport default function GutterContainer({ className, gutter, first, last, ...restOfProps }: Props) {\n return (\n <div\n {...restOfProps}\n className={cx(\n useStyle(\n useResponsiveStyle([gutter] as const, ([gutter = { value: 0, unit: 'px' }]) => ({\n paddingLeft: first ? '0px' : `${gutter.value / 2}${gutter.unit}`,\n paddingRight: last ? '0px' : `${gutter.value / 2}${gutter.unit}`,\n })),\n ),\n className,\n )}\n />\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBI;AAjBJ,iBAAmB;AAGnB,uBAAyB;AACzB,8BAAmC;AAWpB,SAAR,gBAAiC,EAAE,WAAW,QAAQ,OAAO,MAAM,GAAG,YAAY,GAAU;AACjG,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,eAAW;AAAA,YACT;AAAA,cACE,4CAAmB,CAAC,MAAM,GAAY,CAAC,CAACA,UAAS,EAAE,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO;AAAA,YAC9E,aAAa,QAAQ,QAAQ,GAAGA,QAAO,QAAQ,CAAC,GAAGA,QAAO,IAAI;AAAA,YAC9D,cAAc,OAAO,QAAQ,GAAGA,QAAO,QAAQ,CAAC,GAAGA,QAAO,IAAI;AAAA,UAChE,EAAE;AAAA,QACJ;AAAA,QACA;AAAA,MACF;AAAA;AAAA,EACF;AAEJ;","names":["gutter"]}
1
+ {"version":3,"sources":["../../../../../src/components/shared/GutterContainer/index.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { ComponentPropsWithoutRef } from 'react'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { useResponsiveStyle } from '../../utils/responsive-style'\nimport { LengthData, ResponsiveValue } from '@makeswift/prop-controllers'\n\ntype BaseProps = {\n className?: string\n gutter?: ResponsiveValue<LengthData>\n first: boolean\n last: boolean\n}\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<'div'>, keyof BaseProps>\n\nexport default function GutterContainer({ className, gutter, first, last, ...restOfProps }: Props) {\n return (\n <div\n {...restOfProps}\n className={cx(\n useStyle(\n useResponsiveStyle([gutter] as const, ([gutter = { value: 0, unit: 'px' }]) => ({\n paddingLeft: first ? '0px' : `${gutter.value / 2}${gutter.unit}`,\n paddingRight: last ? '0px' : `${gutter.value / 2}${gutter.unit}`,\n })),\n ),\n className,\n )}\n />\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBI;AAjBJ,iBAAmB;AAEnB,uBAAyB;AACzB,8BAAmC;AAYpB,SAAR,gBAAiC,EAAE,WAAW,QAAQ,OAAO,MAAM,GAAG,YAAY,GAAU;AACjG,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,eAAW;AAAA,YACT;AAAA,cACE,4CAAmB,CAAC,MAAM,GAAY,CAAC,CAACA,UAAS,EAAE,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO;AAAA,YAC9E,aAAa,QAAQ,QAAQ,GAAGA,QAAO,QAAQ,CAAC,GAAGA,QAAO,IAAI;AAAA,YAC9D,cAAc,OAAO,QAAQ,GAAGA,QAAO,QAAQ,CAAC,GAAGA,QAAO,IAAI;AAAA,UAChE,EAAE;AAAA,QACJ;AAAA,QACA;AAAA,MACF;AAAA;AAAA,EACF;AAEJ;","names":["gutter"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/shared/Link/index.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef, MouseEvent } from 'react'\nimport scrollIntoView from 'scroll-into-view-if-needed'\nimport NextLink from 'next/link'\n\nimport { LinkValue as LinkPropControllerValue } from '../../../prop-controllers/descriptors'\nimport { useElementId } from '../../../runtimes/react'\nimport { usePagePathnameSlice } from '../../../runtimes/react/hooks/makeswift-api'\n\ntype BaseProps = {\n link?: LinkPropControllerValue\n onClick?: (event: MouseEvent<HTMLAnchorElement>) => unknown\n}\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<'a'>, keyof BaseProps>\n\nexport const Link = forwardRef<HTMLAnchorElement, Props>(function Link(\n { link, onClick = () => {}, ...restOfProps }: Props,\n ref,\n) {\n const pageId = link && link.type === 'OPEN_PAGE' ? link.payload.pageId : null\n const page = usePagePathnameSlice(pageId ?? null)\n const hasLocalizedPathname = page?.localizedPathname != null\n\n const elementKey =\n link?.type === 'SCROLL_TO_ELEMENT' ? link.payload.elementIdConfig?.elementKey : null\n const elementId = useElementId(elementKey)\n\n // We don't want to use `next/link` with relative paths because Next.js will attempt to normalize\n // it and mess up the path.\n let useNextLink: boolean | undefined\n let href: string | undefined\n let target: '_blank' | '_self' | undefined\n let block: 'start' | 'center' | 'end' | undefined\n\n if (link) {\n switch (link.type) {\n case 'OPEN_PAGE': {\n if (page) {\n useNextLink = true\n\n href = `/${page.localizedPathname ?? page.pathname}`\n }\n\n target = link.payload.openInNewTab ? '_blank' : '_self'\n\n break\n }\n\n case 'OPEN_URL': {\n useNextLink = true\n\n href = link.payload.url\n\n target = link.payload.openInNewTab ? '_blank' : '_self'\n\n break\n }\n\n case 'SEND_EMAIL': {\n useNextLink = false\n\n const { to, subject = '', body = '' } = link.payload\n\n if (to != null) href = `mailto:${to}?subject=${subject}&body=${body}`\n\n break\n }\n\n case 'CALL_PHONE': {\n useNextLink = false\n\n href = `tel:${link.payload.phoneNumber}`\n\n break\n }\n\n case 'SCROLL_TO_ELEMENT': {\n useNextLink = false\n\n href = `#${elementId ?? ''}`\n\n block = link.payload.block\n\n break\n }\n\n default:\n throw new RangeError(`Invalid link type \"${(link as any).type}.\"`)\n }\n }\n\n function handleClick(event: MouseEvent<HTMLAnchorElement>) {\n onClick(event)\n\n if (event.defaultPrevented) return\n\n /**\n * When we introduced `next/link` instead of just `a` element slate no longer prevented link from navigating within\n * content mode. This is a hack to compensate for what would be expected as slate's default behavior.\n * On upgrade of slate this can be reevaluated.\n */\n if (event.currentTarget.isContentEditable) return event.preventDefault()\n\n if (link && link.type === 'SCROLL_TO_ELEMENT') {\n let hash: string | undefined\n\n try {\n if (href != null) hash = new URL(`http://www.example.com/${href}`).hash\n } catch (error) {\n console.error(`Link received invalid href: ${href}`, error)\n }\n\n if (href != null && hash != null && href === hash) {\n event.preventDefault()\n const view = event.view as unknown as Window\n\n scrollIntoView(view.document.querySelector(hash)!, {\n behavior: 'smooth',\n block,\n })\n\n if (view.location.hash !== hash) view.history.pushState({}, '', hash)\n }\n }\n }\n\n if (useNextLink && href != null) {\n return (\n <NextLink\n {...restOfProps}\n ref={ref}\n target={target}\n onClick={handleClick}\n href={href}\n {...(hasLocalizedPathname && {\n locale: false,\n })}\n // Next.js v12 has legacyBehavior set to true by default\n legacyBehavior={false}\n />\n )\n }\n\n // eslint-disable-next-line\n return <a {...restOfProps} ref={ref} href={href} target={target} onClick={handleClick} />\n})\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAgIM;AAhIN,mBAAiE;AACjE,wCAA2B;AAC3B,kBAAqB;AAGrB,IAAAA,gBAA6B;AAC7B,2BAAqC;AAS9B,MAAM,WAAO,yBAAqC,SAASC,MAChE,EAAE,MAAM,UAAU,MAAM;AAAC,GAAG,GAAG,YAAY,GAC3C,KACA;AACA,QAAM,SAAS,QAAQ,KAAK,SAAS,cAAc,KAAK,QAAQ,SAAS;AACzE,QAAM,WAAO,2CAAqB,UAAU,IAAI;AAChD,QAAM,uBAAuB,MAAM,qBAAqB;AAExD,QAAM,aACJ,MAAM,SAAS,sBAAsB,KAAK,QAAQ,iBAAiB,aAAa;AAClF,QAAM,gBAAY,4BAAa,UAAU;AAIzC,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI;AAEJ,MAAI,MAAM;AACR,YAAQ,KAAK,MAAM;AAAA,MACjB,KAAK,aAAa;AAChB,YAAI,MAAM;AACR,wBAAc;AAEd,iBAAO,IAAI,KAAK,qBAAqB,KAAK,QAAQ;AAAA,QACpD;AAEA,iBAAS,KAAK,QAAQ,eAAe,WAAW;AAEhD;AAAA,MACF;AAAA,MAEA,KAAK,YAAY;AACf,sBAAc;AAEd,eAAO,KAAK,QAAQ;AAEpB,iBAAS,KAAK,QAAQ,eAAe,WAAW;AAEhD;AAAA,MACF;AAAA,MAEA,KAAK,cAAc;AACjB,sBAAc;AAEd,cAAM,EAAE,IAAI,UAAU,IAAI,OAAO,GAAG,IAAI,KAAK;AAE7C,YAAI,MAAM;AAAM,iBAAO,UAAU,EAAE,YAAY,OAAO,SAAS,IAAI;AAEnE;AAAA,MACF;AAAA,MAEA,KAAK,cAAc;AACjB,sBAAc;AAEd,eAAO,OAAO,KAAK,QAAQ,WAAW;AAEtC;AAAA,MACF;AAAA,MAEA,KAAK,qBAAqB;AACxB,sBAAc;AAEd,eAAO,IAAI,aAAa,EAAE;AAE1B,gBAAQ,KAAK,QAAQ;AAErB;AAAA,MACF;AAAA,MAEA;AACE,cAAM,IAAI,WAAW,sBAAuB,KAAa,IAAI,IAAI;AAAA,IACrE;AAAA,EACF;AAEA,WAAS,YAAY,OAAsC;AACzD,YAAQ,KAAK;AAEb,QAAI,MAAM;AAAkB;AAO5B,QAAI,MAAM,cAAc;AAAmB,aAAO,MAAM,eAAe;AAEvE,QAAI,QAAQ,KAAK,SAAS,qBAAqB;AAC7C,UAAI;AAEJ,UAAI;AACF,YAAI,QAAQ;AAAM,iBAAO,IAAI,IAAI,0BAA0B,IAAI,EAAE,EAAE;AAAA,MACrE,SAAS,OAAO;AACd,gBAAQ,MAAM,+BAA+B,IAAI,IAAI,KAAK;AAAA,MAC5D;AAEA,UAAI,QAAQ,QAAQ,QAAQ,QAAQ,SAAS,MAAM;AACjD,cAAM,eAAe;AACrB,cAAM,OAAO,MAAM;AAEnB,8CAAAC,SAAe,KAAK,SAAS,cAAc,IAAI,GAAI;AAAA,UACjD,UAAU;AAAA,UACV;AAAA,QACF,CAAC;AAED,YAAI,KAAK,SAAS,SAAS;AAAM,eAAK,QAAQ,UAAU,CAAC,GAAG,IAAI,IAAI;AAAA,MACtE;AAAA,IACF;AAAA,EACF;AAEA,MAAI,eAAe,QAAQ,MAAM;AAC/B,WACE;AAAA,MAAC,YAAAC;AAAA,MAAA;AAAA,QACE,GAAG;AAAA,QACJ;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT;AAAA,QACC,GAAI,wBAAwB;AAAA,UAC3B,QAAQ;AAAA,QACV;AAAA,QAEA,gBAAgB;AAAA;AAAA,IAClB;AAAA,EAEJ;AAGA,SAAO,4CAAC,OAAG,GAAG,aAAa,KAAU,MAAY,QAAgB,SAAS,aAAa;AACzF,CAAC;","names":["import_react","Link","scrollIntoView","NextLink"]}
1
+ {"version":3,"sources":["../../../../../src/components/shared/Link/index.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef, MouseEvent } from 'react'\nimport scrollIntoView from 'scroll-into-view-if-needed'\nimport NextLink from 'next/link'\n\nimport { LinkPropControllerValue } from '@makeswift/prop-controllers'\nimport { useElementId } from '../../../runtimes/react'\nimport { usePagePathnameSlice } from '../../../runtimes/react/hooks/makeswift-api'\n\ntype BaseProps = {\n link?: LinkPropControllerValue\n onClick?: (event: MouseEvent<HTMLAnchorElement>) => unknown\n}\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<'a'>, keyof BaseProps>\n\nexport const Link = forwardRef<HTMLAnchorElement, Props>(function Link(\n { link, onClick = () => {}, ...restOfProps }: Props,\n ref,\n) {\n const pageId = link && link.type === 'OPEN_PAGE' ? link.payload.pageId : null\n const page = usePagePathnameSlice(pageId ?? null)\n const hasLocalizedPathname = page?.localizedPathname != null\n\n const elementKey =\n link?.type === 'SCROLL_TO_ELEMENT' ? link.payload.elementIdConfig?.elementKey : null\n const elementId = useElementId(elementKey)\n\n // We don't want to use `next/link` with relative paths because Next.js will attempt to normalize\n // it and mess up the path.\n let useNextLink: boolean | undefined\n let href: string | undefined\n let target: '_blank' | '_self' | undefined\n let block: 'start' | 'center' | 'end' | undefined\n\n if (link) {\n switch (link.type) {\n case 'OPEN_PAGE': {\n if (page) {\n useNextLink = true\n\n href = `/${page.localizedPathname ?? page.pathname}`\n }\n\n target = link.payload.openInNewTab ? '_blank' : '_self'\n\n break\n }\n\n case 'OPEN_URL': {\n useNextLink = true\n\n href = link.payload.url\n\n target = link.payload.openInNewTab ? '_blank' : '_self'\n\n break\n }\n\n case 'SEND_EMAIL': {\n useNextLink = false\n\n const { to, subject = '', body = '' } = link.payload\n\n if (to != null) href = `mailto:${to}?subject=${subject}&body=${body}`\n\n break\n }\n\n case 'CALL_PHONE': {\n useNextLink = false\n\n href = `tel:${link.payload.phoneNumber}`\n\n break\n }\n\n case 'SCROLL_TO_ELEMENT': {\n useNextLink = false\n\n href = `#${elementId ?? ''}`\n\n block = link.payload.block\n\n break\n }\n\n default:\n throw new RangeError(`Invalid link type \"${(link as any).type}.\"`)\n }\n }\n\n function handleClick(event: MouseEvent<HTMLAnchorElement>) {\n onClick(event)\n\n if (event.defaultPrevented) return\n\n /**\n * When we introduced `next/link` instead of just `a` element slate no longer prevented link from navigating within\n * content mode. This is a hack to compensate for what would be expected as slate's default behavior.\n * On upgrade of slate this can be reevaluated.\n */\n if (event.currentTarget.isContentEditable) return event.preventDefault()\n\n if (link && link.type === 'SCROLL_TO_ELEMENT') {\n let hash: string | undefined\n\n try {\n if (href != null) hash = new URL(`http://www.example.com/${href}`).hash\n } catch (error) {\n console.error(`Link received invalid href: ${href}`, error)\n }\n\n if (href != null && hash != null && href === hash) {\n event.preventDefault()\n const view = event.view as unknown as Window\n\n scrollIntoView(view.document.querySelector(hash)!, {\n behavior: 'smooth',\n block,\n })\n\n if (view.location.hash !== hash) view.history.pushState({}, '', hash)\n }\n }\n }\n\n if (useNextLink && href != null) {\n return (\n <NextLink\n {...restOfProps}\n ref={ref}\n target={target}\n onClick={handleClick}\n href={href}\n {...(hasLocalizedPathname && {\n locale: false,\n })}\n // Next.js v12 has legacyBehavior set to true by default\n legacyBehavior={false}\n />\n )\n }\n\n // eslint-disable-next-line\n return <a {...restOfProps} ref={ref} href={href} target={target} onClick={handleClick} />\n})\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAgIM;AAhIN,mBAAiE;AACjE,wCAA2B;AAC3B,kBAAqB;AAGrB,IAAAA,gBAA6B;AAC7B,2BAAqC;AAS9B,MAAM,WAAO,yBAAqC,SAASC,MAChE,EAAE,MAAM,UAAU,MAAM;AAAC,GAAG,GAAG,YAAY,GAC3C,KACA;AACA,QAAM,SAAS,QAAQ,KAAK,SAAS,cAAc,KAAK,QAAQ,SAAS;AACzE,QAAM,WAAO,2CAAqB,UAAU,IAAI;AAChD,QAAM,uBAAuB,MAAM,qBAAqB;AAExD,QAAM,aACJ,MAAM,SAAS,sBAAsB,KAAK,QAAQ,iBAAiB,aAAa;AAClF,QAAM,gBAAY,4BAAa,UAAU;AAIzC,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI;AAEJ,MAAI,MAAM;AACR,YAAQ,KAAK,MAAM;AAAA,MACjB,KAAK,aAAa;AAChB,YAAI,MAAM;AACR,wBAAc;AAEd,iBAAO,IAAI,KAAK,qBAAqB,KAAK,QAAQ;AAAA,QACpD;AAEA,iBAAS,KAAK,QAAQ,eAAe,WAAW;AAEhD;AAAA,MACF;AAAA,MAEA,KAAK,YAAY;AACf,sBAAc;AAEd,eAAO,KAAK,QAAQ;AAEpB,iBAAS,KAAK,QAAQ,eAAe,WAAW;AAEhD;AAAA,MACF;AAAA,MAEA,KAAK,cAAc;AACjB,sBAAc;AAEd,cAAM,EAAE,IAAI,UAAU,IAAI,OAAO,GAAG,IAAI,KAAK;AAE7C,YAAI,MAAM;AAAM,iBAAO,UAAU,EAAE,YAAY,OAAO,SAAS,IAAI;AAEnE;AAAA,MACF;AAAA,MAEA,KAAK,cAAc;AACjB,sBAAc;AAEd,eAAO,OAAO,KAAK,QAAQ,WAAW;AAEtC;AAAA,MACF;AAAA,MAEA,KAAK,qBAAqB;AACxB,sBAAc;AAEd,eAAO,IAAI,aAAa,EAAE;AAE1B,gBAAQ,KAAK,QAAQ;AAErB;AAAA,MACF;AAAA,MAEA;AACE,cAAM,IAAI,WAAW,sBAAuB,KAAa,IAAI,IAAI;AAAA,IACrE;AAAA,EACF;AAEA,WAAS,YAAY,OAAsC;AACzD,YAAQ,KAAK;AAEb,QAAI,MAAM;AAAkB;AAO5B,QAAI,MAAM,cAAc;AAAmB,aAAO,MAAM,eAAe;AAEvE,QAAI,QAAQ,KAAK,SAAS,qBAAqB;AAC7C,UAAI;AAEJ,UAAI;AACF,YAAI,QAAQ;AAAM,iBAAO,IAAI,IAAI,0BAA0B,IAAI,EAAE,EAAE;AAAA,MACrE,SAAS,OAAO;AACd,gBAAQ,MAAM,+BAA+B,IAAI,IAAI,KAAK;AAAA,MAC5D;AAEA,UAAI,QAAQ,QAAQ,QAAQ,QAAQ,SAAS,MAAM;AACjD,cAAM,eAAe;AACrB,cAAM,OAAO,MAAM;AAEnB,8CAAAC,SAAe,KAAK,SAAS,cAAc,IAAI,GAAI;AAAA,UACjD,UAAU;AAAA,UACV;AAAA,QACF,CAAC;AAED,YAAI,KAAK,SAAS,SAAS;AAAM,eAAK,QAAQ,UAAU,CAAC,GAAG,IAAI,IAAI;AAAA,MACtE;AAAA,IACF;AAAA,EACF;AAEA,MAAI,eAAe,QAAQ,MAAM;AAC/B,WACE;AAAA,MAAC,YAAAC;AAAA,MAAA;AAAA,QACE,GAAG;AAAA,QACJ;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT;AAAA,QACC,GAAI,wBAAwB;AAAA,UAC3B,QAAQ;AAAA,QACV;AAAA,QAEA,gBAAgB;AAAA;AAAA,IAClB;AAAA,EAEJ;AAGA,SAAO,4CAAC,OAAG,GAAG,aAAa,KAAU,MAAY,QAAgB,SAAS,aAAa;AACzF,CAAC;","names":["import_react","Link","scrollIntoView","NextLink"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/shared/grid-item.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { ComponentPropsWithoutRef } from 'react'\nimport {\n ResponsiveValue,\n Length as LengthValue,\n ResponsiveNumberValue,\n} from '../../prop-controllers'\nimport { useStyle } from '../../runtimes/react/use-style'\nimport { useItemAnimation } from '../builtin/Box/animations'\nimport { useResponsiveGridItem } from '../utils/responsive-style'\n\ntype BaseProps = {\n className?: string\n grid: ResponsiveValue<{ spans: Array<Array<number>>; count: number }>\n index: number\n columnGap?: ResponsiveValue<LengthValue>\n rowGap?: ResponsiveValue<LengthValue>\n itemAnimateDuration?: ResponsiveNumberValue\n itemAnimateDelay?: ResponsiveNumberValue\n itemStaggerDuration?: ResponsiveNumberValue\n}\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<'div'>, keyof BaseProps>\n\nexport const gridItemIdentifierClassName = 'grid-item'\n\nexport function GridItem({\n grid,\n index,\n columnGap,\n rowGap,\n className,\n itemAnimateDuration,\n itemAnimateDelay,\n itemStaggerDuration,\n ...restOfProps\n}: Props) {\n const gridItemClassName = useStyle(useResponsiveGridItem({ grid, index, columnGap, rowGap }))\n const animationClassName = useItemAnimation(\n itemAnimateDuration,\n itemAnimateDelay,\n itemStaggerDuration,\n index,\n )\n\n return (\n <div\n {...restOfProps}\n className={cx(gridItemClassName, className, animationClassName, gridItemIdentifierClassName)}\n />\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA8CI;AA9CJ,iBAAmB;AAOnB,uBAAyB;AACzB,wBAAiC;AACjC,8BAAsC;AAe/B,MAAM,8BAA8B;AAEpC,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAU;AACR,QAAM,wBAAoB,+BAAS,+CAAsB,EAAE,MAAM,OAAO,WAAW,OAAO,CAAC,CAAC;AAC5F,QAAM,yBAAqB;AAAA,IACzB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,eAAW,eAAG,mBAAmB,WAAW,oBAAoB,2BAA2B;AAAA;AAAA,EAC7F;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/shared/grid-item.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { ComponentPropsWithoutRef } from 'react'\nimport { ResponsiveValue, ResponsiveNumberValue } from '../../prop-controllers'\nimport { useStyle } from '../../runtimes/react/use-style'\nimport { useItemAnimation } from '../builtin/Box/animations'\nimport { useResponsiveGridItem } from '../utils/responsive-style'\nimport { LengthData } from '@makeswift/prop-controllers'\n\ntype BaseProps = {\n className?: string\n grid: ResponsiveValue<{ spans: Array<Array<number>>; count: number }>\n index: number\n columnGap?: ResponsiveValue<LengthData>\n rowGap?: ResponsiveValue<LengthData>\n itemAnimateDuration?: ResponsiveNumberValue\n itemAnimateDelay?: ResponsiveNumberValue\n itemStaggerDuration?: ResponsiveNumberValue\n}\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<'div'>, keyof BaseProps>\n\nexport const gridItemIdentifierClassName = 'grid-item'\n\nexport function GridItem({\n grid,\n index,\n columnGap,\n rowGap,\n className,\n itemAnimateDuration,\n itemAnimateDelay,\n itemStaggerDuration,\n ...restOfProps\n}: Props) {\n const gridItemClassName = useStyle(useResponsiveGridItem({ grid, index, columnGap, rowGap }))\n const animationClassName = useItemAnimation(\n itemAnimateDuration,\n itemAnimateDelay,\n itemStaggerDuration,\n index,\n )\n\n return (\n <div\n {...restOfProps}\n className={cx(gridItemClassName, className, animationClassName, gridItemIdentifierClassName)}\n />\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2CI;AA3CJ,iBAAmB;AAGnB,uBAAyB;AACzB,wBAAiC;AACjC,8BAAsC;AAgB/B,MAAM,8BAA8B;AAEpC,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAU;AACR,QAAM,wBAAoB,+BAAS,+CAAsB,EAAE,MAAM,OAAO,WAAW,OAAO,CAAC,CAAC;AAC5F,QAAM,yBAAqB;AAAA,IACzB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,eAAW,eAAG,mBAAmB,WAAW,oBAAoB,2BAA2B;AAAA;AAAA,EAC7F;AAEJ;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/utils/responsive-style.ts"],"sourcesContent":["import { WidthProperty } from 'csstype'\nimport { CSSObject } from '@emotion/css'\n\nimport {\n ResponsiveValue,\n ResponsiveValueType as ExtractResponsiveValue,\n Length as LengthValue,\n WidthValue,\n PaddingValue,\n MarginValue,\n BorderRadiusValue,\n TextStyleValue,\n} from '../../prop-controllers/descriptors'\nimport {\n FallbackStrategy,\n getBreakpoint,\n getBreakpointMediaQuery,\n join as joinResponsiveValues,\n Breakpoints,\n} from '../../state/modules/breakpoints'\nimport { getIndexes } from './columns'\nimport { PaddingPropertyData, paddingPropertyDataToStyle } from '../../css/padding'\nimport { MarginPropertyData, marginPropertyDataToStyle } from '../../css/margin'\nimport { BorderRadiusPropertyData, borderRadiusPropertyDataToStyle } from '../../css/border-radius'\nimport { BorderPropertyData, borderPropertyDataToStyle } from '../../css/border'\nimport { BorderPropControllerData } from '../hooks/useBorder'\nimport { colorToString } from './colorToString'\nimport { BoxShadowData, BoxShadowPropControllerData } from '../hooks'\nimport { useBreakpoints } from '../../runtimes/react'\nimport { DropFirst } from './drop-first'\n\nexport function responsiveStyle<V, A extends ReadonlyArray<ResponsiveValue<V> | null | undefined>>(\n breakpoints: Breakpoints,\n responsiveValues: A,\n join: (values: { [K in keyof A]: ExtractResponsiveValue<A[K]> | undefined }) => CSSObject,\n strategy?: FallbackStrategy<V>,\n): CSSObject {\n return joinResponsiveValues(breakpoints, responsiveValues, join, strategy).reduce(\n (acc, { deviceId, value }) => {\n const breakpoint = getBreakpoint(breakpoints, deviceId)\n const mediaQuery = getBreakpointMediaQuery(breakpoint)\n\n return {\n ...acc,\n [mediaQuery]: {\n ...(acc[mediaQuery] as CSSObject),\n ...value,\n },\n }\n },\n {} as CSSObject,\n )\n}\n\nexport function useResponsiveStyle<\n V,\n A extends ReadonlyArray<ResponsiveValue<V> | null | undefined>,\n>(\n responsiveValues: A,\n join: (values: { [K in keyof A]: ExtractResponsiveValue<A[K]> | undefined }) => CSSObject,\n strategy?: FallbackStrategy<V>,\n): CSSObject {\n return responsiveStyle(useBreakpoints(), responsiveValues, join, strategy)\n}\n\nexport function responsiveWidth(\n breakpoints: Breakpoints,\n widthData: WidthValue | undefined,\n defaultValue: LengthValue | WidthProperty<string | number> = '100%',\n): CSSObject {\n return {\n maxWidth: '100%',\n ...responsiveStyle(breakpoints, [widthData], ([width = defaultValue]) => ({\n width: typeof width === 'object' ? `${width.value}${width.unit}` : width,\n })),\n }\n}\n\nexport function useResponsiveWidth(\n ...args: DropFirst<Parameters<typeof responsiveWidth>>\n): CSSObject {\n return responsiveWidth(useBreakpoints(), ...args)\n}\n\nexport function responsivePadding(\n breakpoints: Breakpoints,\n paddingData: PaddingValue | undefined,\n defaultValue: PaddingPropertyData = {} as PaddingPropertyData,\n): CSSObject {\n return responsiveStyle(breakpoints, [paddingData], ([padding = {} as PaddingPropertyData]) =>\n paddingPropertyDataToStyle(\n padding,\n Object.assign(\n { paddingTop: 0, paddingRight: 0, paddingBottom: 0, paddingLeft: 0 },\n defaultValue,\n ),\n ),\n )\n}\n\nexport function useResponsivePadding(\n ...args: DropFirst<Parameters<typeof responsivePadding>>\n): CSSObject {\n return responsivePadding(useBreakpoints(), ...args)\n}\n\nexport function responsiveMargin(\n breakpoints: Breakpoints,\n marginData: MarginValue | undefined,\n defaultValue: MarginPropertyData = {} as MarginPropertyData,\n): CSSObject {\n return responsiveStyle(breakpoints, [marginData], ([margin = {} as MarginPropertyData]) =>\n marginPropertyDataToStyle(\n margin,\n Object.assign(\n { marginTop: 0, marginRight: 'auto', marginBottom: 0, marginLeft: 'auto' },\n defaultValue,\n ),\n ),\n )\n}\n\nexport function useResponsiveMargin(\n ...args: DropFirst<Parameters<typeof responsiveMargin>>\n): CSSObject {\n return responsiveMargin(useBreakpoints(), ...args)\n}\n\nexport function responsiveBorderRadius(\n breakpoints: Breakpoints,\n borderRadiusData: BorderRadiusValue | undefined,\n defaultValue: BorderRadiusPropertyData = {} as BorderRadiusPropertyData,\n): CSSObject {\n return responsiveStyle(breakpoints, [borderRadiusData], ([borderRadius = {}]) =>\n borderRadiusPropertyDataToStyle(\n borderRadius,\n Object.assign(\n {\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n borderBottomLeftRadius: 0,\n },\n defaultValue,\n ),\n ),\n )\n}\n\nexport function useResponsiveBorderRadius(\n ...args: DropFirst<Parameters<typeof responsiveBorderRadius>>\n): CSSObject {\n return responsiveBorderRadius(useBreakpoints(), ...args)\n}\n\nexport function useResponsiveBorder(\n borderData: BorderPropControllerData | undefined,\n defaultValue: BorderPropertyData = {},\n): CSSObject {\n return useResponsiveStyle([borderData], ([border = {}]) =>\n borderPropertyDataToStyle(\n border,\n Object.assign(\n {\n borderTop: '0px solid black',\n borderRight: '0px solid black',\n borderBottom: '0px solid black',\n borderLeft: '0px solid black',\n },\n defaultValue,\n ),\n ),\n )\n}\n\nconst floor =\n (d: number) =>\n (v: number): number =>\n Math.floor(10 ** d * v) / 10 ** d\n\nexport function responsiveGridItem(\n breakpoints: Breakpoints,\n props: {\n grid: ResponsiveValue<{ spans: number[][]; count: number }>\n index: number\n columnGap?: ResponsiveValue<LengthValue>\n rowGap?: ResponsiveValue<LengthValue>\n },\n): CSSObject {\n return {\n display: 'flex',\n ...responsiveStyle(\n breakpoints,\n [props.grid, props.columnGap, props.rowGap] as const,\n ([\n { spans, count } = { spans: [[12]], count: 12 },\n columnGap = { value: 0, unit: 'px' },\n rowGap = { value: 0, unit: 'px' },\n ]) => {\n const [rowIndex, columnIndex] = getIndexes(spans, props.index)\n const firstCol = columnIndex === 0\n const lastCol = columnIndex === spans[rowIndex].length - 1\n const span = spans[rowIndex][columnIndex]\n const fraction = floor(5)(span / count)\n const width = `${fraction} * (100% + ${columnGap.value}${columnGap.unit})`\n const excessWidth = `${Number(firstCol) + Number(lastCol)} * ${columnGap.value}${\n columnGap.unit\n } / 2`\n const iePrecisionError = '0.01px'\n const flexBasis = `calc(${width} - ${excessWidth} - ${iePrecisionError})`\n const firstRow = rowIndex === 0\n const lastRow = rowIndex === spans.length - 1\n\n return span === 0\n ? { display: 'none' }\n : {\n flexBasis,\n minWidth: flexBasis,\n // NOTE: IE11 width breaks without max width\n // https://github.com/philipwalton/flexbugs/issues/3\n maxWidth: flexBasis,\n paddingLeft: firstCol ? 0 : `${columnGap.value / 2}${columnGap.unit}`,\n paddingRight: lastCol ? 0 : `${columnGap.value / 2}${columnGap.unit}`,\n paddingTop: firstRow ? 0 : `${rowGap.value / 2}${rowGap.unit}`,\n paddingBottom: lastRow ? 0 : `${rowGap.value / 2}${rowGap.unit}`,\n }\n },\n ),\n }\n}\n\nexport function useResponsiveGridItem(\n ...args: DropFirst<Parameters<typeof responsiveGridItem>>\n): CSSObject {\n return responsiveGridItem(useBreakpoints(), ...args)\n}\n\nconst getBoxShadow = (shadows: BoxShadowData) =>\n shadows\n .map(\n ({ payload: { inset, offsetX, offsetY, blurRadius, spreadRadius, color } }) =>\n `${inset ? 'inset ' : ''}${offsetX.toFixed(1)}px ${offsetY.toFixed(\n 1,\n )}px ${blurRadius}px ${spreadRadius}px ${\n color != null ? colorToString(color) : 'rgba(0,0,0,0.2)'\n }`,\n )\n .filter(Boolean)\n .join()\n\nexport function responsiveShadow(\n breakpoints: Breakpoints,\n value: BoxShadowPropControllerData | undefined,\n): CSSObject {\n return responsiveStyle(breakpoints, [value], ([shadow = []]) => ({\n boxShadow: getBoxShadow(shadow),\n }))\n}\n\nexport function useResponsiveShadow(\n ...args: DropFirst<Parameters<typeof responsiveShadow>>\n): CSSObject {\n return responsiveShadow(useBreakpoints(), ...args)\n}\n\nexport function responsiveTextStyle(\n breakpoints: Breakpoints,\n value: TextStyleValue | undefined,\n): CSSObject {\n return responsiveStyle(\n breakpoints,\n [value],\n ([\n textStyle = {\n fontFamily: null,\n letterSpacing: null,\n fontSize: null,\n fontWeight: null,\n textTransform: [],\n fontStyle: [],\n },\n ]) => {\n const {\n fontSize,\n fontWeight,\n fontStyle = [],\n textTransform = [],\n letterSpacing,\n fontFamily,\n } = textStyle\n\n return {\n ...(fontFamily == null ? {} : { fontFamily: `\"${fontFamily}\"` }),\n ...(fontWeight == null ? {} : { fontWeight }),\n ...(letterSpacing == null ? {} : { letterSpacing }),\n ...(fontSize == null ? {} : { fontSize: `${fontSize.value}${fontSize.unit}` }),\n ...(textTransform.includes('uppercase') ? { textTransform: 'uppercase' } : {}),\n ...(fontStyle.includes('italic') ? { fontStyle: 'italic' } : {}),\n }\n },\n )\n}\n\nexport function useResponsiveTextStyle(\n ...args: DropFirst<Parameters<typeof responsiveTextStyle>>\n): CSSObject {\n return responsiveTextStyle(useBreakpoints(), ...args)\n}\n"],"mappings":"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","names":["joinResponsiveValues"]}
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":"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","names":["joinResponsiveValues"]}
@@ -34,6 +34,7 @@ var import_text_input = require("./text-input");
34
34
  var import_style = require("./style");
35
35
  var import_slot = require("./slot");
36
36
  var import_descriptors = require("../prop-controllers/descriptors");
37
+ var import_prop_controllers = require("@makeswift/prop-controllers");
37
38
  var import_copy = require("../prop-controllers/copy");
38
39
  var import_rich_text = require("./rich-text");
39
40
  var import_dto = require("./rich-text-v2/dto");
@@ -45,14 +46,14 @@ function copy(definition, value, context) {
45
46
  case import_descriptors.Types.Backgrounds:
46
47
  case import_descriptors.Types.Grid:
47
48
  case import_descriptors.Types.NavigationLinks:
48
- case import_descriptors.Types.Link:
49
- case import_descriptors.Types.Shadows:
49
+ case import_prop_controllers.Types.Link:
50
+ case import_prop_controllers.Types.Shadows:
50
51
  case import_descriptors.Types.Image:
51
52
  case import_descriptors.Types.Images:
52
- case import_descriptors.Types.ResponsiveColor:
53
+ case import_prop_controllers.Types.ResponsiveColor:
53
54
  case import_descriptors.Types.TableFormFields:
54
55
  case import_descriptors.Types.Table:
55
- case import_descriptors.Types.Border:
56
+ case import_prop_controllers.Types.Border:
56
57
  case import_descriptors.Types.RichText:
57
58
  case import_descriptors.Types.ElementID:
58
59
  return (0, import_copy.copy)(definition, value, context);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/controls/control.ts"],"sourcesContent":["import { CheckboxControlData, CheckboxControlDefinition } from './checkbox'\nimport { ColorControlData, ColorControlDefinition, ColorControlType, copyColorData } from './color'\nimport { ComboboxControlData, ComboboxControlDefinition } from './combobox'\nimport { ImageControlData, ImageControlDefinition, copyImageData, ImageControlType } from './image'\nimport { LinkControlData, LinkControlDefinition, copyLinkData, LinkControlType } from './link'\nimport {\n ListControlData,\n ListControlDefinition,\n copyListData,\n ListControlType,\n getListTranslatableData,\n mergeListTranslatedData,\n ListControlTranslationDto,\n} from './list'\nimport { NumberControlData, NumberControlDefinition } from './number'\nimport { SelectControlData, SelectControlDefinition } from './select'\nimport {\n ShapeControlData,\n ShapeControlDefinition,\n copyShapeData,\n ShapeControlType,\n getShapeTranslatableData,\n mergeShapeTranslatedData,\n ShapeControlTranslationDto,\n} from './shape'\nimport { TextAreaControlData, TextAreaControlDefinition, TextAreaControlType } from './text-area'\nimport {\n TextInputControlData,\n TextInputControlDefinition,\n TextInputControlType,\n} from './text-input'\nimport { copyStyleData, StyleControlData, StyleControlDefinition, StyleControlType } from './style'\nimport {\n copySlotData,\n mergeSlotControlTranslatedData,\n mergeSlotData,\n SlotControlData,\n SlotControlDefinition,\n SlotControlType,\n} from './slot'\n\nimport {\n Descriptor,\n GridValue,\n IndexSignatureHack,\n Types,\n mergeGridPropControllerTranslatedData,\n} from '../prop-controllers/descriptors'\nimport { 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 Types.Link:\n case Types.Shadows:\n case Types.Image:\n case Types.Images:\n case Types.ResponsiveColor:\n case Types.TableFormFields:\n case Types.Table:\n case Types.Border:\n case Types.RichText:\n case Types.ElementID:\n return propControllerCopy(definition, value, context)\n case RichTextControlType:\n return copyRichTextData(value, context)\n case RichTextV2ControlType:\n return copyRichTextV2Data(\n isRichTextV1Data(value) ? richTextV2DescendentsToData(richTextDTOtoDAO(value)) : value,\n context,\n )\n case ColorControlType:\n return copyColorData(value, context)\n case ImageControlType:\n return copyImageData(value, context)\n case LinkControlType:\n return copyLinkData(value, context)\n case ShapeControlType:\n return copyShapeData(definition, value, context)\n case ListControlType:\n return copyListData(definition, value, context)\n case StyleControlType:\n return copyStyleData(value, context)\n case SlotControlType:\n return copySlotData(value, context)\n default:\n return value\n }\n}\n\nexport function merge(\n definition: PropControllerDescriptor,\n a: Data,\n b: Data = a,\n context: MergeContext,\n): Data {\n switch (definition.type) {\n case SlotControlType:\n return mergeSlotData(a as SlotControlData, b as SlotControlData, context)\n\n default:\n return b\n }\n}\n\nexport function getTranslatableData(definition: Descriptor | ControlDefinition, data: Data): Data {\n switch (definition.type) {\n case Types.TextInput:\n case Types.TextArea:\n case TextInputControlType:\n case TextAreaControlType:\n return data\n\n case RichTextV2ControlType:\n const richTextData = data as RichTextV2ControlData | RichTextControlData\n\n if (isRichTextV1Data(richTextData)) return null\n\n return getRichTextV2TranslatableData(definition, richTextData as RichTextV2ControlData)\n\n case ListControlType:\n if (data == null) return null\n\n return getListTranslatableData(definition, data as ListControlData)\n\n case ShapeControlType:\n if (data == null) return null\n\n return getShapeTranslatableData(definition, data as ShapeControlData)\n\n default:\n return null\n }\n}\n\nexport function mergeTranslatedData(\n definition: PropControllerDescriptor,\n data: Data,\n translatedData: Data,\n context: MergeTranslatableDataContext,\n): Data {\n if (data == null) return data\n\n switch (definition.type) {\n case Types.TextInput:\n case Types.TextArea:\n case TextInputControlType:\n case TextAreaControlType:\n if (translatedData == null) return data\n\n return translatedData\n\n case Types.Grid:\n return mergeGridPropControllerTranslatedData(data as GridValue, context)\n\n case SlotControlType:\n return mergeSlotControlTranslatedData(data as SlotControlData, context)\n\n case RichTextV2ControlType:\n if (translatedData == null) return data\n\n return mergeRichTextV2TranslatedData(\n definition,\n data as RichTextV2ControlData,\n translatedData as RichTextV2ControlTranslationDto,\n )\n\n case ListControlType:\n if (translatedData == null) return data\n\n return mergeListTranslatedData(\n definition,\n data as ListControlData,\n translatedData as ListControlTranslationDto,\n context,\n )\n\n case ShapeControlType:\n if (translatedData == null) return data\n\n return mergeShapeTranslatedData(\n definition,\n data as ShapeControlData,\n translatedData as ShapeControlTranslationDto,\n context,\n )\n\n default:\n return data\n }\n}\n"],"mappings":"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","names":["import_copy","propControllerCopy"]}
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":"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","names":["import_copy","PropControllerTypes","propControllerCopy"]}
@@ -24,6 +24,7 @@ __export(introspection_exports, {
24
24
  });
25
25
  module.exports = __toCommonJS(introspection_exports);
26
26
  var import_isNonNullable = require("../../utils/isNonNullable");
27
+ var import_prop_controllers = require("@makeswift/prop-controllers");
27
28
  function getRichTextSwatchIds(value) {
28
29
  if (value == null || value.document == null)
29
30
  return [];
@@ -86,21 +87,13 @@ function getRichTextPageIds(value) {
86
87
  switch (inline.type) {
87
88
  case "link": {
88
89
  const nodePageIds = inline.nodes?.flatMap(getNodePageIds) ?? [];
89
- const dataPageIds = inline.data ? getLinkDataPageIds(inline.data) : [];
90
+ const dataPageIds = inline.data ? (0, import_prop_controllers.getLinkPropControllerPageIds)(inline.data) : [];
90
91
  return [...nodePageIds, ...dataPageIds];
91
92
  }
92
93
  default:
93
94
  return inline.nodes?.flatMap(getNodePageIds) ?? [];
94
95
  }
95
96
  }
96
- function getLinkDataPageIds(link) {
97
- switch (link.type) {
98
- case "OPEN_PAGE":
99
- return link.payload.pageId == null ? [] : [link.payload.pageId];
100
- default:
101
- return [];
102
- }
103
- }
104
97
  }
105
98
  // Annotate the CommonJS export names for ESM import in node:
106
99
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/controls/rich-text/introspection.ts"],"sourcesContent":["import { RichTextControlData } from './rich-text'\nimport { InlineJSON, MarkJSON, NodeJSON } from './dto-types'\nimport { Typography } from '../../api'\nimport { isNonNullable } from '../../utils/isNonNullable'\nimport { LinkValue } from '../../prop-controllers'\n\nexport function getRichTextSwatchIds(value: RichTextControlData) {\n if (value == null || value.document == null) return []\n\n return getNodeSwatchIds(value.document)\n\n function getNodeSwatchIds(node: NodeJSON): string[] {\n switch (node.object) {\n case 'document':\n case 'block':\n case 'inline':\n return node.nodes?.flatMap(getNodeSwatchIds) ?? []\n\n case 'text':\n return node.marks?.flatMap(getMarkSwatchIds) ?? []\n\n default:\n return []\n }\n }\n\n function getTypographyStyleSwatchIds(style: Typography['style'] | null | undefined): string[] {\n return (\n style\n ?.map(override => override.value)\n .flatMap(typographyStyle => typographyStyle.color?.swatchId)\n .filter(isNonNullable) ?? []\n )\n }\n\n function getMarkSwatchIds(mark: MarkJSON): string[] {\n return getTypographyStyleSwatchIds(mark.data?.value?.style)\n }\n}\n\nexport function getRichTextTypographyIds(value: RichTextControlData) {\n if (value == null || value.document == null) return []\n\n return getNodeSwatchIds(value.document)\n\n function getNodeSwatchIds(node: NodeJSON): string[] {\n switch (node.object) {\n case 'document':\n case 'block':\n case 'inline':\n return node.nodes?.flatMap(getNodeSwatchIds) ?? []\n\n case 'text':\n return node.marks?.flatMap(getMarkSwatchIds) ?? []\n\n default:\n return []\n }\n }\n\n function getMarkSwatchIds(mark: MarkJSON): string[] {\n return [mark.data?.value?.id].filter(isNonNullable)\n }\n}\n\nexport function getRichTextPageIds(value: RichTextControlData) {\n if (value == null || value.document == null) return []\n\n return getNodePageIds(value.document)\n\n function getNodePageIds(node: NodeJSON): string[] {\n switch (node.object) {\n case 'document':\n case 'block':\n return node.nodes?.flatMap(getNodePageIds) ?? []\n case 'inline':\n return getInlinePageIds(node)\n default:\n return []\n }\n }\n\n function getInlinePageIds(inline: InlineJSON): string[] {\n switch (inline.type) {\n case 'link': {\n const nodePageIds = inline.nodes?.flatMap(getNodePageIds) ?? []\n const dataPageIds = inline.data ? getLinkDataPageIds(inline.data as LinkValue) : []\n\n return [...nodePageIds, ...dataPageIds]\n }\n\n default:\n return inline.nodes?.flatMap(getNodePageIds) ?? []\n }\n }\n\n function getLinkDataPageIds(link: LinkValue): string[] {\n switch (link.type) {\n case 'OPEN_PAGE':\n return link.payload.pageId == null ? [] : [link.payload.pageId]\n\n default:\n return []\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,2BAA8B;AAGvB,SAAS,qBAAqB,OAA4B;AAC/D,MAAI,SAAS,QAAQ,MAAM,YAAY;AAAM,WAAO,CAAC;AAErD,SAAO,iBAAiB,MAAM,QAAQ;AAEtC,WAAS,iBAAiB,MAA0B;AAClD,YAAQ,KAAK,QAAQ;AAAA,MACnB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,eAAO,KAAK,OAAO,QAAQ,gBAAgB,KAAK,CAAC;AAAA,MAEnD,KAAK;AACH,eAAO,KAAK,OAAO,QAAQ,gBAAgB,KAAK,CAAC;AAAA,MAEnD;AACE,eAAO,CAAC;AAAA,IACZ;AAAA,EACF;AAEA,WAAS,4BAA4B,OAAyD;AAC5F,WACE,OACI,IAAI,cAAY,SAAS,KAAK,EAC/B,QAAQ,qBAAmB,gBAAgB,OAAO,QAAQ,EAC1D,OAAO,kCAAa,KAAK,CAAC;AAAA,EAEjC;AAEA,WAAS,iBAAiB,MAA0B;AAClD,WAAO,4BAA4B,KAAK,MAAM,OAAO,KAAK;AAAA,EAC5D;AACF;AAEO,SAAS,yBAAyB,OAA4B;AACnE,MAAI,SAAS,QAAQ,MAAM,YAAY;AAAM,WAAO,CAAC;AAErD,SAAO,iBAAiB,MAAM,QAAQ;AAEtC,WAAS,iBAAiB,MAA0B;AAClD,YAAQ,KAAK,QAAQ;AAAA,MACnB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,eAAO,KAAK,OAAO,QAAQ,gBAAgB,KAAK,CAAC;AAAA,MAEnD,KAAK;AACH,eAAO,KAAK,OAAO,QAAQ,gBAAgB,KAAK,CAAC;AAAA,MAEnD;AACE,eAAO,CAAC;AAAA,IACZ;AAAA,EACF;AAEA,WAAS,iBAAiB,MAA0B;AAClD,WAAO,CAAC,KAAK,MAAM,OAAO,EAAE,EAAE,OAAO,kCAAa;AAAA,EACpD;AACF;AAEO,SAAS,mBAAmB,OAA4B;AAC7D,MAAI,SAAS,QAAQ,MAAM,YAAY;AAAM,WAAO,CAAC;AAErD,SAAO,eAAe,MAAM,QAAQ;AAEpC,WAAS,eAAe,MAA0B;AAChD,YAAQ,KAAK,QAAQ;AAAA,MACnB,KAAK;AAAA,MACL,KAAK;AACH,eAAO,KAAK,OAAO,QAAQ,cAAc,KAAK,CAAC;AAAA,MACjD,KAAK;AACH,eAAO,iBAAiB,IAAI;AAAA,MAC9B;AACE,eAAO,CAAC;AAAA,IACZ;AAAA,EACF;AAEA,WAAS,iBAAiB,QAA8B;AACtD,YAAQ,OAAO,MAAM;AAAA,MACnB,KAAK,QAAQ;AACX,cAAM,cAAc,OAAO,OAAO,QAAQ,cAAc,KAAK,CAAC;AAC9D,cAAM,cAAc,OAAO,OAAO,mBAAmB,OAAO,IAAiB,IAAI,CAAC;AAElF,eAAO,CAAC,GAAG,aAAa,GAAG,WAAW;AAAA,MACxC;AAAA,MAEA;AACE,eAAO,OAAO,OAAO,QAAQ,cAAc,KAAK,CAAC;AAAA,IACrD;AAAA,EACF;AAEA,WAAS,mBAAmB,MAA2B;AACrD,YAAQ,KAAK,MAAM;AAAA,MACjB,KAAK;AACH,eAAO,KAAK,QAAQ,UAAU,OAAO,CAAC,IAAI,CAAC,KAAK,QAAQ,MAAM;AAAA,MAEhE;AACE,eAAO,CAAC;AAAA,IACZ;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../src/controls/rich-text/introspection.ts"],"sourcesContent":["import { RichTextControlData } from './rich-text'\nimport { InlineJSON, MarkJSON, NodeJSON } from './dto-types'\nimport { Typography } from '../../api'\nimport { isNonNullable } from '../../utils/isNonNullable'\nimport { LinkData, getLinkPropControllerPageIds } from '@makeswift/prop-controllers'\n\nexport function getRichTextSwatchIds(value: RichTextControlData) {\n if (value == null || value.document == null) return []\n\n return getNodeSwatchIds(value.document)\n\n function getNodeSwatchIds(node: NodeJSON): string[] {\n switch (node.object) {\n case 'document':\n case 'block':\n case 'inline':\n return node.nodes?.flatMap(getNodeSwatchIds) ?? []\n\n case 'text':\n return node.marks?.flatMap(getMarkSwatchIds) ?? []\n\n default:\n return []\n }\n }\n\n function getTypographyStyleSwatchIds(style: Typography['style'] | null | undefined): string[] {\n return (\n style\n ?.map(override => override.value)\n .flatMap(typographyStyle => typographyStyle.color?.swatchId)\n .filter(isNonNullable) ?? []\n )\n }\n\n function getMarkSwatchIds(mark: MarkJSON): string[] {\n return getTypographyStyleSwatchIds(mark.data?.value?.style)\n }\n}\n\nexport function getRichTextTypographyIds(value: RichTextControlData) {\n if (value == null || value.document == null) return []\n\n return getNodeSwatchIds(value.document)\n\n function getNodeSwatchIds(node: NodeJSON): string[] {\n switch (node.object) {\n case 'document':\n case 'block':\n case 'inline':\n return node.nodes?.flatMap(getNodeSwatchIds) ?? []\n\n case 'text':\n return node.marks?.flatMap(getMarkSwatchIds) ?? []\n\n default:\n return []\n }\n }\n\n function getMarkSwatchIds(mark: MarkJSON): string[] {\n return [mark.data?.value?.id].filter(isNonNullable)\n }\n}\n\nexport function getRichTextPageIds(value: RichTextControlData) {\n if (value == null || value.document == null) return []\n\n return getNodePageIds(value.document)\n\n function getNodePageIds(node: NodeJSON): string[] {\n switch (node.object) {\n case 'document':\n case 'block':\n return node.nodes?.flatMap(getNodePageIds) ?? []\n case 'inline':\n return getInlinePageIds(node)\n default:\n return []\n }\n }\n\n function getInlinePageIds(inline: InlineJSON): string[] {\n switch (inline.type) {\n case 'link': {\n const nodePageIds = inline.nodes?.flatMap(getNodePageIds) ?? []\n const dataPageIds = inline.data ? getLinkPropControllerPageIds(inline.data as LinkData) : []\n\n return [...nodePageIds, ...dataPageIds]\n }\n\n default:\n return inline.nodes?.flatMap(getNodePageIds) ?? []\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,2BAA8B;AAC9B,8BAAuD;AAEhD,SAAS,qBAAqB,OAA4B;AAC/D,MAAI,SAAS,QAAQ,MAAM,YAAY;AAAM,WAAO,CAAC;AAErD,SAAO,iBAAiB,MAAM,QAAQ;AAEtC,WAAS,iBAAiB,MAA0B;AAClD,YAAQ,KAAK,QAAQ;AAAA,MACnB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,eAAO,KAAK,OAAO,QAAQ,gBAAgB,KAAK,CAAC;AAAA,MAEnD,KAAK;AACH,eAAO,KAAK,OAAO,QAAQ,gBAAgB,KAAK,CAAC;AAAA,MAEnD;AACE,eAAO,CAAC;AAAA,IACZ;AAAA,EACF;AAEA,WAAS,4BAA4B,OAAyD;AAC5F,WACE,OACI,IAAI,cAAY,SAAS,KAAK,EAC/B,QAAQ,qBAAmB,gBAAgB,OAAO,QAAQ,EAC1D,OAAO,kCAAa,KAAK,CAAC;AAAA,EAEjC;AAEA,WAAS,iBAAiB,MAA0B;AAClD,WAAO,4BAA4B,KAAK,MAAM,OAAO,KAAK;AAAA,EAC5D;AACF;AAEO,SAAS,yBAAyB,OAA4B;AACnE,MAAI,SAAS,QAAQ,MAAM,YAAY;AAAM,WAAO,CAAC;AAErD,SAAO,iBAAiB,MAAM,QAAQ;AAEtC,WAAS,iBAAiB,MAA0B;AAClD,YAAQ,KAAK,QAAQ;AAAA,MACnB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,eAAO,KAAK,OAAO,QAAQ,gBAAgB,KAAK,CAAC;AAAA,MAEnD,KAAK;AACH,eAAO,KAAK,OAAO,QAAQ,gBAAgB,KAAK,CAAC;AAAA,MAEnD;AACE,eAAO,CAAC;AAAA,IACZ;AAAA,EACF;AAEA,WAAS,iBAAiB,MAA0B;AAClD,WAAO,CAAC,KAAK,MAAM,OAAO,EAAE,EAAE,OAAO,kCAAa;AAAA,EACpD;AACF;AAEO,SAAS,mBAAmB,OAA4B;AAC7D,MAAI,SAAS,QAAQ,MAAM,YAAY;AAAM,WAAO,CAAC;AAErD,SAAO,eAAe,MAAM,QAAQ;AAEpC,WAAS,eAAe,MAA0B;AAChD,YAAQ,KAAK,QAAQ;AAAA,MACnB,KAAK;AAAA,MACL,KAAK;AACH,eAAO,KAAK,OAAO,QAAQ,cAAc,KAAK,CAAC;AAAA,MACjD,KAAK;AACH,eAAO,iBAAiB,IAAI;AAAA,MAC9B;AACE,eAAO,CAAC;AAAA,IACZ;AAAA,EACF;AAEA,WAAS,iBAAiB,QAA8B;AACtD,YAAQ,OAAO,MAAM;AAAA,MACnB,KAAK,QAAQ;AACX,cAAM,cAAc,OAAO,OAAO,QAAQ,cAAc,KAAK,CAAC;AAC9D,cAAM,cAAc,OAAO,WAAO,sDAA6B,OAAO,IAAgB,IAAI,CAAC;AAE3F,eAAO,CAAC,GAAG,aAAa,GAAG,WAAW;AAAA,MACxC;AAAA,MAEA;AACE,eAAO,OAAO,OAAO,QAAQ,cAAc,KAAK,CAAC;AAAA,IACrD;AAAA,EACF;AACF;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/css/border.ts"],"sourcesContent":["import { CSSObject } from '@emotion/css'\nimport {\n BorderBottomProperty,\n BorderLeftProperty,\n BorderProperty,\n BorderRightProperty,\n BorderStyleProperty,\n BorderTopProperty,\n} from 'csstype'\nimport { colorToString } from '../components/utils/colorToString'\nimport { ColorValue } from '../components/utils/types'\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-top#constituent_properties\n *\n * @todos\n * - Change `width` to be a `Length`\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderSideShorthandPropertyData = {\n width: number | null | undefined\n style: BorderStyleProperty\n color?: ColorValue | null\n}\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border\n *\n * @todos\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderPropertyData = {\n borderTop?:\n | BorderSideShorthandPropertyData\n | BorderTopProperty<string | number>\n | null\n | undefined\n borderRight?:\n | BorderSideShorthandPropertyData\n | BorderRightProperty<string | number>\n | null\n | undefined\n borderBottom?:\n | BorderSideShorthandPropertyData\n | BorderBottomProperty<string | number>\n | null\n | undefined\n borderLeft?:\n | BorderSideShorthandPropertyData\n | BorderLeftProperty<string | number>\n | null\n | undefined\n}\n\nexport function borderPropertyDataToStyle(\n data: BorderPropertyData,\n defaultValue: BorderPropertyData = {},\n): CSSObject {\n const borderTop = data.borderTop ?? defaultValue.borderTop\n const borderRight = data.borderRight ?? defaultValue.borderRight\n const borderBottom = data.borderBottom ?? defaultValue.borderBottom\n const borderLeft = data.borderLeft ?? defaultValue.borderLeft\n const style: CSSObject = {}\n\n if (borderTop != null) style.borderTop = borderSideToString(borderTop)\n if (borderRight != null) style.borderRight = borderSideToString(borderRight)\n if (borderBottom != null) style.borderBottom = borderSideToString(borderBottom)\n if (borderLeft != null) style.borderLeft = borderSideToString(borderLeft)\n\n return style\n}\n\nfunction borderSideToString(\n borderSide: BorderSideShorthandPropertyData | BorderProperty<string | number>,\n): string {\n if (typeof borderSide === 'string') return borderSide\n\n if (typeof borderSide === 'number') return `${borderSide}px`\n\n const { width, color, style } = borderSide\n\n return `${width != null ? width : 0}px ${style} ${color != null ? colorToString(color) : 'black'}`\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,2BAA8B;AA+CvB,SAAS,0BACd,MACA,eAAmC,CAAC,GACzB;AACX,QAAM,YAAY,KAAK,aAAa,aAAa;AACjD,QAAM,cAAc,KAAK,eAAe,aAAa;AACrD,QAAM,eAAe,KAAK,gBAAgB,aAAa;AACvD,QAAM,aAAa,KAAK,cAAc,aAAa;AACnD,QAAM,QAAmB,CAAC;AAE1B,MAAI,aAAa;AAAM,UAAM,YAAY,mBAAmB,SAAS;AACrE,MAAI,eAAe;AAAM,UAAM,cAAc,mBAAmB,WAAW;AAC3E,MAAI,gBAAgB;AAAM,UAAM,eAAe,mBAAmB,YAAY;AAC9E,MAAI,cAAc;AAAM,UAAM,aAAa,mBAAmB,UAAU;AAExE,SAAO;AACT;AAEA,SAAS,mBACP,YACQ;AACR,MAAI,OAAO,eAAe;AAAU,WAAO;AAE3C,MAAI,OAAO,eAAe;AAAU,WAAO,GAAG,UAAU;AAExD,QAAM,EAAE,OAAO,OAAO,MAAM,IAAI;AAEhC,SAAO,GAAG,SAAS,OAAO,QAAQ,CAAC,MAAM,KAAK,IAAI,SAAS,WAAO,oCAAc,KAAK,IAAI,OAAO;AAClG;","names":[]}
1
+ {"version":3,"sources":["../../../src/css/border.ts"],"sourcesContent":["import { CSSObject } from '@emotion/css'\nimport {\n BorderBottomProperty,\n BorderLeftProperty,\n BorderProperty,\n BorderRightProperty,\n BorderStyleProperty,\n BorderTopProperty,\n} from 'csstype'\nimport { colorToString } from '../components/utils/colorToString'\nimport { ColorValue } from '../components/utils/types'\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-top#constituent_properties\n *\n * @todos\n * - Change `width` to be a `Length`\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderSideShorthandPropertyData = {\n width?: number | null | undefined\n style: BorderStyleProperty\n color?: ColorValue | null\n}\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border\n *\n * @todos\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderPropertyData = {\n borderTop?:\n | BorderSideShorthandPropertyData\n | BorderTopProperty<string | number>\n | null\n | undefined\n borderRight?:\n | BorderSideShorthandPropertyData\n | BorderRightProperty<string | number>\n | null\n | undefined\n borderBottom?:\n | BorderSideShorthandPropertyData\n | BorderBottomProperty<string | number>\n | null\n | undefined\n borderLeft?:\n | BorderSideShorthandPropertyData\n | BorderLeftProperty<string | number>\n | null\n | undefined\n}\n\nexport function borderPropertyDataToStyle(\n data: BorderPropertyData,\n defaultValue: BorderPropertyData = {},\n): CSSObject {\n const borderTop = data.borderTop ?? defaultValue.borderTop\n const borderRight = data.borderRight ?? defaultValue.borderRight\n const borderBottom = data.borderBottom ?? defaultValue.borderBottom\n const borderLeft = data.borderLeft ?? defaultValue.borderLeft\n const style: CSSObject = {}\n\n if (borderTop != null) style.borderTop = borderSideToString(borderTop)\n if (borderRight != null) style.borderRight = borderSideToString(borderRight)\n if (borderBottom != null) style.borderBottom = borderSideToString(borderBottom)\n if (borderLeft != null) style.borderLeft = borderSideToString(borderLeft)\n\n return style\n}\n\nfunction borderSideToString(\n borderSide: BorderSideShorthandPropertyData | BorderProperty<string | number>,\n): string {\n if (typeof borderSide === 'string') return borderSide\n\n if (typeof borderSide === 'number') return `${borderSide}px`\n\n const { width, color, style } = borderSide\n\n return `${width != null ? width : 0}px ${style} ${color != null ? colorToString(color) : 'black'}`\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,2BAA8B;AA+CvB,SAAS,0BACd,MACA,eAAmC,CAAC,GACzB;AACX,QAAM,YAAY,KAAK,aAAa,aAAa;AACjD,QAAM,cAAc,KAAK,eAAe,aAAa;AACrD,QAAM,eAAe,KAAK,gBAAgB,aAAa;AACvD,QAAM,aAAa,KAAK,cAAc,aAAa;AACnD,QAAM,QAAmB,CAAC;AAE1B,MAAI,aAAa;AAAM,UAAM,YAAY,mBAAmB,SAAS;AACrE,MAAI,eAAe;AAAM,UAAM,cAAc,mBAAmB,WAAW;AAC3E,MAAI,gBAAgB;AAAM,UAAM,eAAe,mBAAmB,YAAY;AAC9E,MAAI,cAAc;AAAM,UAAM,aAAa,mBAAmB,UAAU;AAExE,SAAO;AACT;AAEA,SAAS,mBACP,YACQ;AACR,MAAI,OAAO,eAAe;AAAU,WAAO;AAE3C,MAAI,OAAO,eAAe;AAAU,WAAO,GAAG,UAAU;AAExD,QAAM,EAAE,OAAO,OAAO,MAAM,IAAI;AAEhC,SAAO,GAAG,SAAS,OAAO,QAAQ,CAAC,MAAM,KAAK,IAAI,SAAS,WAAO,oCAAc,KAAK,IAAI,OAAO;AAClG;","names":[]}
@@ -36,7 +36,7 @@ async function handler(...args) {
36
36
  const supportsPreviewMode = (0, import_ts_pattern.match)(args).with(routeHandlerPattern, () => false).with(apiRoutePattern, () => true).exhaustive();
37
37
  const supportsDraftMode = (0, import_ts_pattern.match)(args).with(routeHandlerPattern, () => true).with(apiRoutePattern, () => false).exhaustive();
38
38
  const body = {
39
- version: "0.15.0",
39
+ version: "0.16.0-canary.1",
40
40
  previewMode: supportsPreviewMode,
41
41
  draftMode: supportsDraftMode,
42
42
  interactionMode: true,
@@ -21,7 +21,7 @@ __export(navigation_links_exports, {
21
21
  copy: () => copy
22
22
  });
23
23
  module.exports = __toCommonJS(navigation_links_exports);
24
- var import_link = require("./link");
24
+ var import_prop_controllers = require("@makeswift/prop-controllers");
25
25
  function copy(value, context) {
26
26
  if (value == null)
27
27
  return value;
@@ -35,7 +35,7 @@ function copy(value, context) {
35
35
  ...item,
36
36
  payload: {
37
37
  ...item.payload,
38
- link: link != null ? (0, import_link.copy)(link, context) : void 0,
38
+ link: link != null ? (0, import_prop_controllers.copyLinkPropControllerData)(link, context) : void 0,
39
39
  color: color != null ? color.map((override) => ({
40
40
  ...override,
41
41
  value: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/prop-controllers/copy/navigation-links.ts"],"sourcesContent":["import { CopyContext } from '../../state/react-page'\nimport { copy as linkCopy } from './link'\nimport { NavigationLinksValue } from '../descriptors'\n\nexport function copy(\n value: NavigationLinksValue | undefined,\n context: CopyContext,\n): NavigationLinksValue | undefined {\n if (value == null) return value\n\n return value.map(copyNavigationLinksPanelItem)\n\n function copyNavigationLinksPanelItem(item: any): any {\n switch (item.type) {\n case 'button':\n case 'dropdown': {\n const { color, link } = item.payload\n\n return {\n ...item,\n payload: {\n ...item.payload,\n link: link != null ? linkCopy(link, context) : undefined,\n color:\n color != null\n ? color.map((override: { value: { swatchId: string } }) => ({\n ...override,\n value: {\n ...override.value,\n swatchId:\n context.replacementContext.swatchIds.get(override.value.swatchId) ??\n override.value.swatchId,\n },\n }))\n : undefined,\n },\n }\n }\n\n default:\n return item\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,kBAAiC;AAG1B,SAAS,KACd,OACA,SACkC;AAClC,MAAI,SAAS;AAAM,WAAO;AAE1B,SAAO,MAAM,IAAI,4BAA4B;AAE7C,WAAS,6BAA6B,MAAgB;AACpD,YAAQ,KAAK,MAAM;AAAA,MACjB,KAAK;AAAA,MACL,KAAK,YAAY;AACf,cAAM,EAAE,OAAO,KAAK,IAAI,KAAK;AAE7B,eAAO;AAAA,UACL,GAAG;AAAA,UACH,SAAS;AAAA,YACP,GAAG,KAAK;AAAA,YACR,MAAM,QAAQ,WAAO,YAAAA,MAAS,MAAM,OAAO,IAAI;AAAA,YAC/C,OACE,SAAS,OACL,MAAM,IAAI,CAAC,cAA+C;AAAA,cACxD,GAAG;AAAA,cACH,OAAO;AAAA,gBACL,GAAG,SAAS;AAAA,gBACZ,UACE,QAAQ,mBAAmB,UAAU,IAAI,SAAS,MAAM,QAAQ,KAChE,SAAS,MAAM;AAAA,cACnB;AAAA,YACF,EAAE,IACF;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,MAEA;AACE,eAAO;AAAA,IACX;AAAA,EACF;AACF;","names":["linkCopy"]}
1
+ {"version":3,"sources":["../../../../src/prop-controllers/copy/navigation-links.ts"],"sourcesContent":["import { CopyContext } from '../../state/react-page'\nimport { NavigationLinksValue } from '../descriptors'\nimport { copyLinkPropControllerData } from '@makeswift/prop-controllers'\n\nexport function copy(\n value: NavigationLinksValue | undefined,\n context: CopyContext,\n): NavigationLinksValue | undefined {\n if (value == null) return value\n\n return value.map(copyNavigationLinksPanelItem)\n\n function copyNavigationLinksPanelItem(item: any): any {\n switch (item.type) {\n case 'button':\n case 'dropdown': {\n const { color, link } = item.payload\n\n return {\n ...item,\n payload: {\n ...item.payload,\n link: link != null ? copyLinkPropControllerData(link, context) : undefined,\n color:\n color != null\n ? color.map((override: { value: { swatchId: string } }) => ({\n ...override,\n value: {\n ...override.value,\n swatchId:\n context.replacementContext.swatchIds.get(override.value.swatchId) ??\n override.value.swatchId,\n },\n }))\n : undefined,\n },\n }\n }\n\n default:\n return item\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,8BAA2C;AAEpC,SAAS,KACd,OACA,SACkC;AAClC,MAAI,SAAS;AAAM,WAAO;AAE1B,SAAO,MAAM,IAAI,4BAA4B;AAE7C,WAAS,6BAA6B,MAAgB;AACpD,YAAQ,KAAK,MAAM;AAAA,MACjB,KAAK;AAAA,MACL,KAAK,YAAY;AACf,cAAM,EAAE,OAAO,KAAK,IAAI,KAAK;AAE7B,eAAO;AAAA,UACL,GAAG;AAAA,UACH,SAAS;AAAA,YACP,GAAG,KAAK;AAAA,YACR,MAAM,QAAQ,WAAO,oDAA2B,MAAM,OAAO,IAAI;AAAA,YACjE,OACE,SAAS,OACL,MAAM,IAAI,CAAC,cAA+C;AAAA,cACxD,GAAG;AAAA,cACH,OAAO;AAAA,gBACL,GAAG,SAAS;AAAA,gBACZ,UACE,QAAQ,mBAAmB,UAAU,IAAI,SAAS,MAAM,QAAQ,KAChE,SAAS,MAAM;AAAA,cACnB;AAAA,YACF,EAAE,IACF;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,MAEA;AACE,eAAO;AAAA,IACX;AAAA,EACF;AACF;","names":[]}
@@ -25,16 +25,15 @@ module.exports = __toCommonJS(copy_exports);
25
25
  var import_backgrounds = require("./copy/backgrounds");
26
26
  var import_grid = require("./copy/grid");
27
27
  var import_navigation_links = require("./copy/navigation-links");
28
- var import_link = require("./copy/link");
29
- var import_shadows = require("./copy/shadows");
28
+ var import_prop_controllers = require("@makeswift/prop-controllers");
30
29
  var import_image = require("./copy/image");
31
30
  var import_images = require("./copy/images");
32
- var import_responsive_color = require("./copy/responsive-color");
33
31
  var import_table_form_fields = require("./copy/table-form-fields");
34
32
  var import_table = require("./copy/table");
35
- var import_border = require("./copy/border");
36
33
  var import_rich_text = require("./copy/rich-text");
37
34
  var import_element_id = require("./copy/element-id");
35
+ var import_prop_controllers2 = require("@makeswift/prop-controllers");
36
+ var import_prop_controllers3 = require("@makeswift/prop-controllers");
38
37
  function copy(descriptor, value, context) {
39
38
  switch (descriptor.type) {
40
39
  case "Backgrounds":
@@ -43,22 +42,22 @@ function copy(descriptor, value, context) {
43
42
  return (0, import_grid.copy)(value, context);
44
43
  case "NavigationLinks":
45
44
  return (0, import_navigation_links.copy)(value, context);
46
- case "Link":
47
- return (0, import_link.copy)(value, context);
45
+ case import_prop_controllers2.Types.Link:
46
+ return (0, import_prop_controllers.copyLinkPropControllerData)(value, context);
48
47
  case "Shadows":
49
- return (0, import_shadows.copy)(value, context);
48
+ return (0, import_prop_controllers.copyShadowsPropControllerData)(value, context);
50
49
  case "Image":
51
50
  return (0, import_image.copy)(descriptor, value, context);
52
51
  case "Images":
53
52
  return (0, import_images.copy)(descriptor, value, context);
54
53
  case "ResponsiveColor":
55
- return (0, import_responsive_color.copy)(value, context);
54
+ return (0, import_prop_controllers3.copyResponsiveColorPropControllerData)(value, context);
56
55
  case "TableFormFields":
57
56
  return (0, import_table_form_fields.copy)(value, context);
58
57
  case "Table":
59
58
  return (0, import_table.copy)(value, context);
60
- case "Border":
61
- return (0, import_border.copy)(value, context);
59
+ case import_prop_controllers2.Types.Border:
60
+ return (0, import_prop_controllers.copyBorderPropControllerData)(value, context);
62
61
  case "RichText":
63
62
  return (0, import_rich_text.copy)(value, context);
64
63
  case "ElementID":
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/prop-controllers/copy.ts"],"sourcesContent":["import { Descriptor } from './descriptors'\nimport { copy as backgroundsCopy } from './copy/backgrounds'\nimport { copy as gridCopy } from './copy/grid'\nimport { copy as navigationLinksCopy } from './copy/navigation-links'\nimport { copy as linkCopy } from './copy/link'\nimport { copy as shadowsCopy } from './copy/shadows'\nimport { copy as imageCopy } from './copy/image'\nimport { copy as imagesCopy } from './copy/images'\nimport { copy as responsiveColorCopy } from './copy/responsive-color'\nimport { copy as tableFormFieldsCopy } from './copy/table-form-fields'\nimport { copy as tableCopy } from './copy/table'\nimport { copy as borderCopy } from './copy/border'\nimport { copy as richTextCopy } from './copy/rich-text'\nimport { copy as elementIdCopy } from './copy/element-id'\nimport { CopyContext } from '../state/react-page'\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 'Link':\n return linkCopy(value, context)\n case 'Shadows':\n return shadowsCopy(value, context)\n case 'Image':\n return imageCopy(descriptor, value, context)\n case 'Images':\n return imagesCopy(descriptor, value, context)\n case 'ResponsiveColor':\n return responsiveColorCopy(value, context)\n case 'TableFormFields':\n return tableFormFieldsCopy(value, context)\n case 'Table':\n return tableCopy(value, context)\n case 'Border':\n return borderCopy(value, context)\n case 'RichText':\n return richTextCopy(value, context)\n case 'ElementID':\n return elementIdCopy(value, context)\n default:\n return value\n }\n}\n\nexport function copyElementReference(value: string, context: CopyContext) {\n return context.replacementContext.globalElementIds.get(value) || value\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,yBAAwC;AACxC,kBAAiC;AACjC,8BAA4C;AAC5C,kBAAiC;AACjC,qBAAoC;AACpC,mBAAkC;AAClC,oBAAmC;AACnC,8BAA4C;AAC5C,+BAA4C;AAC5C,mBAAkC;AAClC,oBAAmC;AACnC,uBAAqC;AACrC,wBAAsC;AAI/B,SAAS,KAAK,YAAwB,OAAY,SAAsB;AAC7E,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK;AACH,iBAAO,mBAAAA,MAAgB,YAAY,OAAO,OAAO;AAAA,IACnD,KAAK;AACH,iBAAO,YAAAC,MAAS,OAAO,OAAO;AAAA,IAChC,KAAK;AACH,iBAAO,wBAAAC,MAAoB,OAAO,OAAO;AAAA,IAC3C,KAAK;AACH,iBAAO,YAAAC,MAAS,OAAO,OAAO;AAAA,IAChC,KAAK;AACH,iBAAO,eAAAC,MAAY,OAAO,OAAO;AAAA,IACnC,KAAK;AACH,iBAAO,aAAAC,MAAU,YAAY,OAAO,OAAO;AAAA,IAC7C,KAAK;AACH,iBAAO,cAAAC,MAAW,YAAY,OAAO,OAAO;AAAA,IAC9C,KAAK;AACH,iBAAO,wBAAAC,MAAoB,OAAO,OAAO;AAAA,IAC3C,KAAK;AACH,iBAAO,yBAAAC,MAAoB,OAAO,OAAO;AAAA,IAC3C,KAAK;AACH,iBAAO,aAAAC,MAAU,OAAO,OAAO;AAAA,IACjC,KAAK;AACH,iBAAO,cAAAC,MAAW,OAAO,OAAO;AAAA,IAClC,KAAK;AACH,iBAAO,iBAAAC,MAAa,OAAO,OAAO;AAAA,IACpC,KAAK;AACH,iBAAO,kBAAAC,MAAc,OAAO,OAAO;AAAA,IACrC;AACE,aAAO;AAAA,EACX;AACF;AAEO,SAAS,qBAAqB,OAAe,SAAsB;AACxE,SAAO,QAAQ,mBAAmB,iBAAiB,IAAI,KAAK,KAAK;AACnE;","names":["backgroundsCopy","gridCopy","navigationLinksCopy","linkCopy","shadowsCopy","imageCopy","imagesCopy","responsiveColorCopy","tableFormFieldsCopy","tableCopy","borderCopy","richTextCopy","elementIdCopy"]}
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":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,yBAAwC;AACxC,kBAAiC;AACjC,8BAA4C;AAC5C,8BAIO;AACP,mBAAkC;AAClC,oBAAmC;AACnC,+BAA4C;AAC5C,mBAAkC;AAClC,uBAAqC;AACrC,wBAAsC;AAEtC,IAAAA,2BAA6C;AAC7C,IAAAA,2BAAsD;AAG/C,SAAS,KAAK,YAAwB,OAAY,SAAsB;AAC7E,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK;AACH,iBAAO,mBAAAC,MAAgB,YAAY,OAAO,OAAO;AAAA,IACnD,KAAK;AACH,iBAAO,YAAAC,MAAS,OAAO,OAAO;AAAA,IAChC,KAAK;AACH,iBAAO,wBAAAC,MAAoB,OAAO,OAAO;AAAA,IAC3C,KAAK,yBAAAC,MAAoB;AACvB,iBAAO,oDAA2B,OAAO,OAAO;AAAA,IAClD,KAAK;AACH,iBAAO,uDAA8B,OAAO,OAAO;AAAA,IACrD,KAAK;AACH,iBAAO,aAAAC,MAAU,YAAY,OAAO,OAAO;AAAA,IAC7C,KAAK;AACH,iBAAO,cAAAC,MAAW,YAAY,OAAO,OAAO;AAAA,IAC9C,KAAK;AACH,iBAAO,gEAAsC,OAAO,OAAO;AAAA,IAC7D,KAAK;AACH,iBAAO,yBAAAC,MAAoB,OAAO,OAAO;AAAA,IAC3C,KAAK;AACH,iBAAO,aAAAC,MAAU,OAAO,OAAO;AAAA,IACjC,KAAK,yBAAAJ,MAAoB;AACvB,iBAAO,sDAA6B,OAAO,OAAO;AAAA,IACpD,KAAK;AACH,iBAAO,iBAAAK,MAAa,OAAO,OAAO;AAAA,IACpC,KAAK;AACH,iBAAO,kBAAAC,MAAc,OAAO,OAAO;AAAA,IACrC;AACE,aAAO;AAAA,EACX;AACF;AAEO,SAAS,qBAAqB,OAAe,SAAsB;AACxE,SAAO,QAAQ,mBAAmB,iBAAiB,IAAI,KAAK,KAAK;AACnE;","names":["import_prop_controllers","backgroundsCopy","gridCopy","navigationLinksCopy","PropControllerTypes","imageCopy","imagesCopy","tableFormFieldsCopy","tableCopy","richTextCopy","elementIdCopy"]}