@makeswift/prop-controllers 0.3.0 → 0.3.1-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. package/dist/cjs/backgrounds/backgrounds.js +297 -0
  2. package/dist/cjs/backgrounds/backgrounds.js.map +1 -0
  3. package/dist/cjs/backgrounds/index.js +23 -0
  4. package/dist/cjs/backgrounds/index.js.map +1 -0
  5. package/dist/cjs/border/border.js +132 -0
  6. package/dist/cjs/border/border.js.map +1 -0
  7. package/dist/cjs/border/index.js +23 -0
  8. package/dist/cjs/border/index.js.map +1 -0
  9. package/dist/cjs/border-radius/border-radius.js +82 -0
  10. package/dist/cjs/border-radius/border-radius.js.map +1 -0
  11. package/dist/cjs/border-radius/index.js +23 -0
  12. package/dist/cjs/border-radius/index.js.map +1 -0
  13. package/dist/cjs/checkbox/checkbox.js +68 -0
  14. package/dist/cjs/checkbox/checkbox.js.map +1 -0
  15. package/dist/cjs/checkbox/index.js +23 -0
  16. package/dist/cjs/checkbox/index.js.map +1 -0
  17. package/dist/cjs/data.js +85 -0
  18. package/dist/cjs/data.js.map +1 -0
  19. package/dist/cjs/date/date.js +68 -0
  20. package/dist/cjs/date/date.js.map +1 -0
  21. package/dist/cjs/date/index.js +23 -0
  22. package/dist/cjs/date/index.js.map +1 -0
  23. package/dist/cjs/element-id/element-id.js +90 -0
  24. package/dist/cjs/element-id/element-id.js.map +1 -0
  25. package/dist/cjs/element-id/index.js +23 -0
  26. package/dist/cjs/element-id/index.js.map +1 -0
  27. package/dist/cjs/font/font.js +70 -0
  28. package/dist/cjs/font/font.js.map +1 -0
  29. package/dist/cjs/font/index.js +23 -0
  30. package/dist/cjs/font/index.js.map +1 -0
  31. package/dist/cjs/gap-x/gap-x.js +40 -0
  32. package/dist/cjs/gap-x/gap-x.js.map +1 -0
  33. package/dist/cjs/gap-x/index.js +23 -0
  34. package/dist/cjs/gap-x/index.js.map +1 -0
  35. package/dist/cjs/gap-y/gap-y.js +68 -0
  36. package/dist/cjs/gap-y/gap-y.js.map +1 -0
  37. package/dist/cjs/gap-y/index.js +23 -0
  38. package/dist/cjs/gap-y/index.js.map +1 -0
  39. package/dist/cjs/grid/grid.js +130 -0
  40. package/dist/cjs/grid/grid.js.map +1 -0
  41. package/dist/cjs/grid/index.js +23 -0
  42. package/dist/cjs/grid/index.js.map +1 -0
  43. package/dist/cjs/image/image.js +95 -0
  44. package/dist/cjs/image/image.js.map +1 -0
  45. package/dist/cjs/image/index.js +23 -0
  46. package/dist/cjs/image/index.js.map +1 -0
  47. package/dist/cjs/images/images.js +147 -0
  48. package/dist/cjs/images/images.js.map +1 -0
  49. package/dist/cjs/images/index.js +23 -0
  50. package/dist/cjs/images/index.js.map +1 -0
  51. package/dist/cjs/index.js +343 -0
  52. package/dist/cjs/index.js.map +1 -0
  53. package/dist/cjs/link/index.js +23 -0
  54. package/dist/cjs/link/index.js.map +1 -0
  55. package/dist/cjs/link/link.js +137 -0
  56. package/dist/cjs/link/link.js.map +1 -0
  57. package/dist/cjs/margin/index.js +23 -0
  58. package/dist/cjs/margin/index.js.map +1 -0
  59. package/dist/cjs/margin/margin.js +94 -0
  60. package/dist/cjs/margin/margin.js.map +1 -0
  61. package/dist/cjs/navigation-links/index.js +23 -0
  62. package/dist/cjs/navigation-links/index.js.map +1 -0
  63. package/dist/cjs/navigation-links/navigation-links.js +226 -0
  64. package/dist/cjs/navigation-links/navigation-links.js.map +1 -0
  65. package/dist/cjs/number.js +66 -0
  66. package/dist/cjs/number.js.map +1 -0
  67. package/dist/cjs/padding/index.js +23 -0
  68. package/dist/cjs/padding/index.js.map +1 -0
  69. package/dist/cjs/padding/padding.js +91 -0
  70. package/dist/cjs/padding/padding.js.map +1 -0
  71. package/dist/cjs/prop-controllers.js +67 -0
  72. package/dist/cjs/prop-controllers.js.map +1 -0
  73. package/dist/cjs/responsive-color.js +106 -0
  74. package/dist/cjs/responsive-color.js.map +1 -0
  75. package/dist/cjs/responsive-icon-radio-group/index.js +23 -0
  76. package/dist/cjs/responsive-icon-radio-group/index.js.map +1 -0
  77. package/dist/cjs/responsive-icon-radio-group/responsive-icon-radio-group.js +42 -0
  78. package/dist/cjs/responsive-icon-radio-group/responsive-icon-radio-group.js.map +1 -0
  79. package/dist/cjs/responsive-length.js +73 -0
  80. package/dist/cjs/responsive-length.js.map +1 -0
  81. package/dist/cjs/responsive-number/index.js +23 -0
  82. package/dist/cjs/responsive-number/index.js.map +1 -0
  83. package/dist/cjs/responsive-number/responsive-number.js +40 -0
  84. package/dist/cjs/responsive-number/responsive-number.js.map +1 -0
  85. package/dist/cjs/responsive-opacity/index.js +23 -0
  86. package/dist/cjs/responsive-opacity/index.js.map +1 -0
  87. package/dist/cjs/responsive-opacity/responsive-opacity.js +43 -0
  88. package/dist/cjs/responsive-opacity/responsive-opacity.js.map +1 -0
  89. package/dist/cjs/responsive-select/index.js +23 -0
  90. package/dist/cjs/responsive-select/index.js.map +1 -0
  91. package/dist/cjs/responsive-select/responsive-select.js +42 -0
  92. package/dist/cjs/responsive-select/responsive-select.js.map +1 -0
  93. package/dist/cjs/shadows.js +126 -0
  94. package/dist/cjs/shadows.js.map +1 -0
  95. package/dist/cjs/social-links/index.js +23 -0
  96. package/dist/cjs/social-links/index.js.map +1 -0
  97. package/dist/cjs/social-links/social-links.js +128 -0
  98. package/dist/cjs/social-links/social-links.js.map +1 -0
  99. package/dist/cjs/table/index.js +23 -0
  100. package/dist/cjs/table/index.js.map +1 -0
  101. package/dist/cjs/table/table.js +91 -0
  102. package/dist/cjs/table/table.js.map +1 -0
  103. package/dist/cjs/table-form-fields/index.js +23 -0
  104. package/dist/cjs/table-form-fields/index.js.map +1 -0
  105. package/dist/cjs/table-form-fields/table-form-fields.js +113 -0
  106. package/dist/cjs/table-form-fields/table-form-fields.js.map +1 -0
  107. package/dist/cjs/text-area/index.js +23 -0
  108. package/dist/cjs/text-area/index.js.map +1 -0
  109. package/dist/cjs/text-area/text-area.js +67 -0
  110. package/dist/cjs/text-area/text-area.js.map +1 -0
  111. package/dist/cjs/text-input/index.js +23 -0
  112. package/dist/cjs/text-input/index.js.map +1 -0
  113. package/dist/cjs/text-input/text-input.js +67 -0
  114. package/dist/cjs/text-input/text-input.js.map +1 -0
  115. package/dist/cjs/text-style/index.js +23 -0
  116. package/dist/cjs/text-style/index.js.map +1 -0
  117. package/dist/cjs/text-style/text-style.js +88 -0
  118. package/dist/cjs/text-style/text-style.js.map +1 -0
  119. package/dist/cjs/utils/associated-types.js +17 -0
  120. package/dist/cjs/utils/associated-types.js.map +1 -0
  121. package/dist/cjs/utils/utils.js +42 -0
  122. package/dist/cjs/utils/utils.js.map +1 -0
  123. package/dist/cjs/versioned.js +66 -0
  124. package/dist/cjs/versioned.js.map +1 -0
  125. package/dist/cjs/video/index.js +23 -0
  126. package/dist/cjs/video/index.js.map +1 -0
  127. package/dist/cjs/video/video.js +75 -0
  128. package/dist/cjs/video/video.js.map +1 -0
  129. package/dist/cjs/width/index.js +23 -0
  130. package/dist/cjs/width/index.js.map +1 -0
  131. package/dist/cjs/width/width.js +76 -0
  132. package/dist/cjs/width/width.js.map +1 -0
  133. package/dist/esm/backgrounds/backgrounds.js +268 -0
  134. package/dist/esm/backgrounds/backgrounds.js.map +1 -0
  135. package/dist/esm/backgrounds/index.js +2 -0
  136. package/dist/esm/backgrounds/index.js.map +1 -0
  137. package/dist/esm/border/border.js +105 -0
  138. package/dist/esm/border/border.js.map +1 -0
  139. package/dist/esm/border/index.js +2 -0
  140. package/dist/esm/border/index.js.map +1 -0
  141. package/dist/esm/border-radius/border-radius.js +58 -0
  142. package/dist/esm/border-radius/border-radius.js.map +1 -0
  143. package/dist/esm/border-radius/index.js +2 -0
  144. package/dist/esm/border-radius/index.js.map +1 -0
  145. package/dist/esm/checkbox/checkbox.js +40 -0
  146. package/dist/esm/checkbox/checkbox.js.map +1 -0
  147. package/dist/esm/checkbox/index.js +2 -0
  148. package/dist/esm/checkbox/index.js.map +1 -0
  149. package/dist/esm/data.js +52 -0
  150. package/dist/esm/data.js.map +1 -0
  151. package/dist/esm/date/date.js +40 -0
  152. package/dist/esm/date/date.js.map +1 -0
  153. package/dist/esm/date/index.js +2 -0
  154. package/dist/esm/date/index.js.map +1 -0
  155. package/dist/esm/element-id/element-id.js +64 -0
  156. package/dist/esm/element-id/element-id.js.map +1 -0
  157. package/dist/esm/element-id/index.js +2 -0
  158. package/dist/esm/element-id/index.js.map +1 -0
  159. package/dist/esm/font/font.js +42 -0
  160. package/dist/esm/font/font.js.map +1 -0
  161. package/dist/esm/font/index.js +2 -0
  162. package/dist/esm/font/index.js.map +1 -0
  163. package/dist/esm/gap-x/gap-x.js +16 -0
  164. package/dist/esm/gap-x/gap-x.js.map +1 -0
  165. package/dist/esm/gap-x/index.js +2 -0
  166. package/dist/esm/gap-x/index.js.map +1 -0
  167. package/dist/esm/gap-y/gap-y.js +40 -0
  168. package/dist/esm/gap-y/gap-y.js.map +1 -0
  169. package/dist/esm/gap-y/index.js +2 -0
  170. package/dist/esm/gap-y/index.js.map +1 -0
  171. package/dist/esm/grid/grid.js +102 -0
  172. package/dist/esm/grid/grid.js.map +1 -0
  173. package/dist/esm/grid/index.js +2 -0
  174. package/dist/esm/grid/index.js.map +1 -0
  175. package/dist/esm/image/image.js +71 -0
  176. package/dist/esm/image/image.js.map +1 -0
  177. package/dist/esm/image/index.js +2 -0
  178. package/dist/esm/image/index.js.map +1 -0
  179. package/dist/esm/images/images.js +119 -0
  180. package/dist/esm/images/images.js.map +1 -0
  181. package/dist/esm/images/index.js +2 -0
  182. package/dist/esm/images/index.js.map +1 -0
  183. package/dist/esm/index.js +336 -0
  184. package/dist/esm/index.js.map +1 -0
  185. package/dist/esm/link/index.js +2 -0
  186. package/dist/esm/link/index.js.map +1 -0
  187. package/dist/esm/link/link.js +108 -0
  188. package/dist/esm/link/link.js.map +1 -0
  189. package/dist/esm/margin/index.js +2 -0
  190. package/dist/esm/margin/index.js.map +1 -0
  191. package/dist/esm/margin/margin.js +69 -0
  192. package/dist/esm/margin/margin.js.map +1 -0
  193. package/dist/esm/navigation-links/index.js +2 -0
  194. package/dist/esm/navigation-links/index.js.map +1 -0
  195. package/dist/esm/navigation-links/navigation-links.js +199 -0
  196. package/dist/esm/navigation-links/navigation-links.js.map +1 -0
  197. package/dist/esm/number.js +39 -0
  198. package/dist/esm/number.js.map +1 -0
  199. package/dist/esm/padding/index.js +2 -0
  200. package/dist/esm/padding/index.js.map +1 -0
  201. package/dist/esm/padding/padding.js +66 -0
  202. package/dist/esm/padding/padding.js.map +1 -0
  203. package/dist/esm/prop-controllers.js +44 -0
  204. package/dist/esm/prop-controllers.js.map +1 -0
  205. package/dist/esm/responsive-color.js +79 -0
  206. package/dist/esm/responsive-color.js.map +1 -0
  207. package/dist/esm/responsive-icon-radio-group/index.js +2 -0
  208. package/dist/esm/responsive-icon-radio-group/index.js.map +1 -0
  209. package/dist/esm/responsive-icon-radio-group/responsive-icon-radio-group.js +21 -0
  210. package/dist/esm/responsive-icon-radio-group/responsive-icon-radio-group.js.map +1 -0
  211. package/dist/esm/responsive-length.js +43 -0
  212. package/dist/esm/responsive-length.js.map +1 -0
  213. package/dist/esm/responsive-number/index.js +2 -0
  214. package/dist/esm/responsive-number/index.js.map +1 -0
  215. package/dist/esm/responsive-number/responsive-number.js +16 -0
  216. package/dist/esm/responsive-number/responsive-number.js.map +1 -0
  217. package/dist/esm/responsive-opacity/index.js +2 -0
  218. package/dist/esm/responsive-opacity/index.js.map +1 -0
  219. package/dist/esm/responsive-opacity/responsive-opacity.js +18 -0
  220. package/dist/esm/responsive-opacity/responsive-opacity.js.map +1 -0
  221. package/dist/esm/responsive-select/index.js +2 -0
  222. package/dist/esm/responsive-select/index.js.map +1 -0
  223. package/dist/esm/responsive-select/responsive-select.js +21 -0
  224. package/dist/esm/responsive-select/responsive-select.js.map +1 -0
  225. package/dist/esm/shadows.js +100 -0
  226. package/dist/esm/shadows.js.map +1 -0
  227. package/dist/esm/social-links/index.js +2 -0
  228. package/dist/esm/social-links/index.js.map +1 -0
  229. package/dist/esm/social-links/social-links.js +98 -0
  230. package/dist/esm/social-links/social-links.js.map +1 -0
  231. package/dist/esm/table/index.js +2 -0
  232. package/dist/esm/table/index.js.map +1 -0
  233. package/dist/esm/table/table.js +64 -0
  234. package/dist/esm/table/table.js.map +1 -0
  235. package/dist/esm/table-form-fields/index.js +2 -0
  236. package/dist/esm/table-form-fields/index.js.map +1 -0
  237. package/dist/esm/table-form-fields/table-form-fields.js +87 -0
  238. package/dist/esm/table-form-fields/table-form-fields.js.map +1 -0
  239. package/dist/esm/text-area/index.js +2 -0
  240. package/dist/esm/text-area/index.js.map +1 -0
  241. package/dist/esm/text-area/text-area.js +39 -0
  242. package/dist/esm/text-area/text-area.js.map +1 -0
  243. package/dist/esm/text-input/index.js +2 -0
  244. package/dist/esm/text-input/index.js.map +1 -0
  245. package/dist/esm/text-input/text-input.js +39 -0
  246. package/dist/esm/text-input/text-input.js.map +1 -0
  247. package/dist/esm/text-style/index.js +2 -0
  248. package/dist/esm/text-style/index.js.map +1 -0
  249. package/dist/esm/text-style/text-style.js +59 -0
  250. package/dist/esm/text-style/text-style.js.map +1 -0
  251. package/dist/esm/utils/associated-types.js +1 -0
  252. package/dist/esm/utils/associated-types.js.map +1 -0
  253. package/dist/esm/utils/utils.js +18 -0
  254. package/dist/esm/utils/utils.js.map +1 -0
  255. package/dist/esm/versioned.js +43 -0
  256. package/dist/esm/versioned.js.map +1 -0
  257. package/dist/esm/video/index.js +2 -0
  258. package/dist/esm/video/index.js.map +1 -0
  259. package/dist/esm/video/video.js +47 -0
  260. package/dist/esm/video/video.js.map +1 -0
  261. package/dist/esm/width/index.js +2 -0
  262. package/dist/esm/width/index.js.map +1 -0
  263. package/dist/esm/width/width.js +49 -0
  264. package/dist/esm/width/width.js.map +1 -0
  265. package/dist/types/backgrounds/backgrounds.d.ts +97 -97
  266. package/dist/types/border/border.d.ts +595 -765
  267. package/dist/types/border/border.d.ts.map +1 -1
  268. package/dist/types/border/index.d.ts +1 -0
  269. package/dist/types/border/index.d.ts.map +1 -1
  270. package/dist/types/border-radius/border-radius.d.ts +23 -23
  271. package/dist/types/border-radius/border-radius.d.ts.map +1 -1
  272. package/dist/types/checkbox/checkbox.d.ts +4 -4
  273. package/dist/types/data.d.ts +5 -5
  274. package/dist/types/data.d.ts.map +1 -1
  275. package/dist/types/date/date.d.ts +4 -4
  276. package/dist/types/element-id/element-id.d.ts +4 -4
  277. package/dist/types/font/font.d.ts +9 -9
  278. package/dist/types/font/font.d.ts.map +1 -1
  279. package/dist/types/gap-x/gap-x.d.ts +204 -120
  280. package/dist/types/gap-x/gap-x.d.ts.map +1 -1
  281. package/dist/types/gap-y/gap-y.d.ts +8 -8
  282. package/dist/types/grid/grid.d.ts +854 -38
  283. package/dist/types/grid/grid.d.ts.map +1 -1
  284. package/dist/types/image/image.d.ts +4 -4
  285. package/dist/types/images/images.d.ts +94 -94
  286. package/dist/types/index.d.ts +1 -1
  287. package/dist/types/index.d.ts.map +1 -1
  288. package/dist/types/link/link.d.ts +21 -21
  289. package/dist/types/link/link.d.ts.map +1 -1
  290. package/dist/types/margin/margin.d.ts +10 -10
  291. package/dist/types/margin/margin.d.ts.map +1 -1
  292. package/dist/types/navigation-links/navigation-links.d.ts +164 -164
  293. package/dist/types/number.d.ts +4 -4
  294. package/dist/types/padding/padding.d.ts +10 -10
  295. package/dist/types/padding/padding.d.ts.map +1 -1
  296. package/dist/types/prop-controllers.d.ts +2 -99
  297. package/dist/types/prop-controllers.d.ts.map +1 -1
  298. package/dist/types/responsive-color.d.ts +9 -9
  299. package/dist/types/responsive-color.d.ts.map +1 -1
  300. package/dist/types/responsive-icon-radio-group/responsive-icon-radio-group.d.ts +88 -35
  301. package/dist/types/responsive-icon-radio-group/responsive-icon-radio-group.d.ts.map +1 -1
  302. package/dist/types/responsive-length.d.ts +14 -14
  303. package/dist/types/responsive-length.d.ts.map +1 -1
  304. package/dist/types/responsive-number/responsive-number.d.ts +118 -67
  305. package/dist/types/responsive-number/responsive-number.d.ts.map +1 -1
  306. package/dist/types/responsive-opacity/responsive-opacity.d.ts +120 -69
  307. package/dist/types/responsive-opacity/responsive-opacity.d.ts.map +1 -1
  308. package/dist/types/responsive-select/responsive-select.d.ts +88 -35
  309. package/dist/types/responsive-select/responsive-select.d.ts.map +1 -1
  310. package/dist/types/shadows.d.ts +7 -7
  311. package/dist/types/shadows.d.ts.map +1 -1
  312. package/dist/types/social-links/social-links.d.ts +4 -4
  313. package/dist/types/table/table.d.ts +4 -4
  314. package/dist/types/table-form-fields/table-form-fields.d.ts +9 -9
  315. package/dist/types/text-area/text-area.d.ts +4 -4
  316. package/dist/types/text-input/text-input.d.ts +4 -4
  317. package/dist/types/text-style/text-style.d.ts +9 -9
  318. package/dist/types/text-style/text-style.d.ts.map +1 -1
  319. package/dist/types/utils/associated-types.d.ts +4 -1
  320. package/dist/types/utils/associated-types.d.ts.map +1 -1
  321. package/dist/types/versioned.d.ts +187 -122
  322. package/dist/types/versioned.d.ts.map +1 -1
  323. package/dist/types/video/video.d.ts +4 -4
  324. package/dist/types/width/width.d.ts +12 -12
  325. package/package.json +9 -7
  326. package/dist/index.cjs +0 -2489
@@ -0,0 +1,76 @@
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 width_exports = {};
20
+ __export(width_exports, {
21
+ Width: () => Width,
22
+ WidthPropControllerDataV1Type: () => WidthPropControllerDataV1Type,
23
+ WidthPropControllerFormat: () => WidthPropControllerFormat,
24
+ createWidthPropControllerDataFromResponsiveLengthData: () => createWidthPropControllerDataFromResponsiveLengthData,
25
+ getWidthPropControllerDataResponsiveLengthData: () => getWidthPropControllerDataResponsiveLengthData,
26
+ widthPropControllerDataSchema: () => widthPropControllerDataSchema
27
+ });
28
+ module.exports = __toCommonJS(width_exports);
29
+ var import_ts_pattern = require("ts-pattern");
30
+ var import_prop_controllers = require("../prop-controllers");
31
+ var import_zod = require("zod");
32
+ var import_responsive_length = require("../responsive-length");
33
+ const widthPropControllerDataV0Schema = import_responsive_length.responsiveLengthDataSchema;
34
+ const WidthPropControllerDataV1Type = "prop-controllers::width::v1";
35
+ const widthPropControllerDataV1Schema = import_zod.z.object({
36
+ [import_prop_controllers.ControlDataTypeKey]: import_zod.z.literal(WidthPropControllerDataV1Type),
37
+ value: import_responsive_length.responsiveLengthDataSchema
38
+ });
39
+ const widthPropControllerDataSchema = import_zod.z.union([
40
+ widthPropControllerDataV0Schema,
41
+ widthPropControllerDataV1Schema
42
+ ]);
43
+ const WidthPropControllerFormat = {
44
+ ClassName: "makeswift::prop-controllers::width::format::class-name",
45
+ ResponsiveValue: "makeswift::prop-controllers::width::format::responsive-value"
46
+ };
47
+ function Width(options = {}) {
48
+ return { type: import_prop_controllers.Types.Width, version: 1, options };
49
+ }
50
+ Width.Format = WidthPropControllerFormat;
51
+ function getWidthPropControllerDataResponsiveLengthData(data) {
52
+ return (0, import_ts_pattern.match)(data).with(
53
+ { [import_prop_controllers.ControlDataTypeKey]: WidthPropControllerDataV1Type },
54
+ (v1) => v1.value
55
+ ).otherwise((v0) => v0);
56
+ }
57
+ function createWidthPropControllerDataFromResponsiveLengthData(responsiveLengthData, definition) {
58
+ return (0, import_ts_pattern.match)(definition).with(
59
+ { version: 1 },
60
+ import_ts_pattern.P.nullish,
61
+ () => ({
62
+ [import_prop_controllers.ControlDataTypeKey]: WidthPropControllerDataV1Type,
63
+ value: responsiveLengthData
64
+ })
65
+ ).otherwise(() => responsiveLengthData);
66
+ }
67
+ // Annotate the CommonJS export names for ESM import in node:
68
+ 0 && (module.exports = {
69
+ Width,
70
+ WidthPropControllerDataV1Type,
71
+ WidthPropControllerFormat,
72
+ createWidthPropControllerDataFromResponsiveLengthData,
73
+ getWidthPropControllerDataResponsiveLengthData,
74
+ widthPropControllerDataSchema
75
+ });
76
+ //# sourceMappingURL=width.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/width/width.ts"],"sourcesContent":["import { P, match } from 'ts-pattern'\nimport { ControlDataTypeKey, ResolveOptions, Types } from '../prop-controllers'\nimport { z } from 'zod'\nimport { LengthData } from '../data'\nimport {\n ResponsiveLengthData,\n responsiveLengthDataSchema,\n} from '../responsive-length'\n\nconst widthPropControllerDataV0Schema = responsiveLengthDataSchema\n\nexport type WidthPropControllerDataV0 = z.infer<\n typeof widthPropControllerDataV0Schema\n>\n\nexport const WidthPropControllerDataV1Type = 'prop-controllers::width::v1'\n\nconst widthPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(WidthPropControllerDataV1Type),\n value: responsiveLengthDataSchema,\n})\n\nexport type WidthPropControllerDataV1 = z.infer<\n typeof widthPropControllerDataV1Schema\n>\n\nexport const widthPropControllerDataSchema = z.union([\n widthPropControllerDataV0Schema,\n widthPropControllerDataV1Schema,\n])\n\nexport type WidthPropControllerData = z.infer<\n typeof widthPropControllerDataSchema\n>\n\nexport const WidthPropControllerFormat = {\n ClassName: 'makeswift::prop-controllers::width::format::class-name',\n ResponsiveValue:\n 'makeswift::prop-controllers::width::format::responsive-value',\n} as const\n\nexport type WidthPropControllerFormat =\n typeof WidthPropControllerFormat[keyof typeof WidthPropControllerFormat]\n\ntype WidthOptions = {\n preset?: WidthPropControllerData\n defaultValue?: LengthData\n format?: WidthPropControllerFormat\n}\n\ntype WidthDescriptorV0<\n _T = WidthPropControllerDataV0,\n U extends WidthOptions = WidthOptions,\n> = {\n type: typeof Types.Width\n options: U\n}\n\ntype WidthDescriptorV1<\n _T = WidthPropControllerData,\n U extends WidthOptions = WidthOptions,\n> = {\n type: typeof Types.Width\n version: 1\n options: U\n}\n\nexport type WidthDescriptor<\n _T = WidthPropControllerData,\n U extends WidthOptions = WidthOptions,\n> = WidthDescriptorV0<_T, U> | WidthDescriptorV1<_T, U>\n\nexport type ResolveWidthPropControllerValue<T extends WidthDescriptor> =\n T extends WidthDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? ResponsiveLengthData | undefined\n : ResolveOptions<\n T['options']\n >['format'] extends typeof WidthPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof WidthPropControllerFormat.ResponsiveValue\n ? ResponsiveLengthData | undefined\n : never\n : never\n\n/**\n * @deprecated Imports from `@makeswift/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function Width<T extends WidthOptions>(\n options: T & WidthOptions = {} as T,\n): WidthDescriptor<WidthPropControllerData, T> {\n return { type: Types.Width, version: 1, options }\n}\n\nWidth.Format = WidthPropControllerFormat\n\nexport function getWidthPropControllerDataResponsiveLengthData(\n data: WidthPropControllerData | undefined,\n): ResponsiveLengthData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: WidthPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createWidthPropControllerDataFromResponsiveLengthData(\n responsiveLengthData: ResponsiveLengthData,\n definition?: WidthDescriptor,\n): WidthPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n P.nullish,\n () =>\n ({\n [ControlDataTypeKey]: WidthPropControllerDataV1Type,\n value: responsiveLengthData,\n } as const),\n )\n .otherwise(() => responsiveLengthData)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAyB;AACzB,8BAA0D;AAC1D,iBAAkB;AAElB,+BAGO;AAEP,MAAM,kCAAkC;AAMjC,MAAM,gCAAgC;AAE7C,MAAM,kCAAkC,aAAE,OAAO;AAAA,EAC/C,CAAC,0CAAkB,GAAG,aAAE,QAAQ,6BAA6B;AAAA,EAC7D,OAAO;AACT,CAAC;AAMM,MAAM,gCAAgC,aAAE,MAAM;AAAA,EACnD;AAAA,EACA;AACF,CAAC;AAMM,MAAM,4BAA4B;AAAA,EACvC,WAAW;AAAA,EACX,iBACE;AACJ;AAoDO,SAAS,MACd,UAA4B,CAAC,GACgB;AAC7C,SAAO,EAAE,MAAM,8BAAM,OAAO,SAAS,GAAG,QAAQ;AAClD;AAEA,MAAM,SAAS;AAER,SAAS,+CACd,MACkC;AAClC,aAAO,yBAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,0CAAkB,GAAG,8BAA8B;AAAA,IACtD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,sDACd,sBACA,YACyB;AACzB,aAAO,yBAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,oBAAE;AAAA,IACF,OACG;AAAA,MACC,CAAC,0CAAkB,GAAG;AAAA,MACtB,OAAO;AAAA,IACT;AAAA,EACJ,EACC,UAAU,MAAM,oBAAoB;AACzC;","names":[]}
@@ -0,0 +1,268 @@
1
+ import { z } from "zod";
2
+ import {
3
+ ControlDataTypeKey,
4
+ Types,
5
+ Schema
6
+ } from "../prop-controllers";
7
+ import { P, match } from "ts-pattern";
8
+ import { colorDataSchema, imageDataV0Schema, imageDataV1Schema } from "../data";
9
+ const colorBackgroundDataSchema = z.object({
10
+ type: z.literal("color"),
11
+ id: z.string(),
12
+ payload: colorDataSchema.nullable()
13
+ });
14
+ const gradientStopDataSchema = z.object({
15
+ id: z.string(),
16
+ location: z.number(),
17
+ color: colorDataSchema.nullable()
18
+ });
19
+ const gradientDataSchema = z.object({
20
+ angle: z.number().optional(),
21
+ isRadial: z.boolean().optional(),
22
+ stops: z.array(gradientStopDataSchema)
23
+ });
24
+ const gradientBackgroundDataSchema = z.object({
25
+ type: z.literal("gradient"),
26
+ id: z.string(),
27
+ payload: gradientDataSchema
28
+ });
29
+ const backgroundImagePositionDataSchema = z.object({
30
+ x: z.number(),
31
+ y: z.number()
32
+ });
33
+ const backgroundSizeDataSchema = z.union([
34
+ z.literal("cover"),
35
+ z.literal("contain"),
36
+ z.literal("auto")
37
+ ]);
38
+ const backgroundImageRepeatDataSchema = z.union([
39
+ z.literal("no-repeat"),
40
+ z.literal("repeat-x"),
41
+ z.literal("repeat-y"),
42
+ z.literal("repeat")
43
+ ]);
44
+ const backgroundImageV0DataSchema = z.object({
45
+ imageId: imageDataV0Schema,
46
+ position: backgroundImagePositionDataSchema,
47
+ size: backgroundSizeDataSchema.optional(),
48
+ repeat: backgroundImageRepeatDataSchema.optional(),
49
+ opacity: z.number().optional(),
50
+ parallax: z.number().optional(),
51
+ priority: z.boolean().optional()
52
+ });
53
+ const backgroundImageV1DataSchema = z.object({
54
+ version: z.literal(1),
55
+ image: imageDataV1Schema,
56
+ position: backgroundImagePositionDataSchema,
57
+ size: backgroundSizeDataSchema.optional(),
58
+ repeat: backgroundImageRepeatDataSchema.optional(),
59
+ opacity: z.number().optional(),
60
+ parallax: z.number().optional(),
61
+ priority: z.boolean().optional()
62
+ });
63
+ const backgroundImageDataSchema = z.union([
64
+ backgroundImageV0DataSchema,
65
+ backgroundImageV1DataSchema
66
+ ]);
67
+ const imageBackgroundV0DataSchema = z.object({
68
+ type: z.literal("image"),
69
+ id: z.string(),
70
+ payload: backgroundImageV0DataSchema
71
+ });
72
+ const imageBackgroundV1DataSchema = z.object({
73
+ type: z.literal("image-v1"),
74
+ id: z.string(),
75
+ payload: backgroundImageV1DataSchema
76
+ });
77
+ const imageBackgroundDataSchema = z.union([
78
+ imageBackgroundV0DataSchema,
79
+ imageBackgroundV1DataSchema
80
+ ]);
81
+ const backgroundVideoAspectRatioDataSchema = z.union([
82
+ z.literal("wide"),
83
+ z.literal("standard")
84
+ ]);
85
+ const backgroundVideoDataSchema = z.object({
86
+ url: z.string().optional(),
87
+ maskColor: colorDataSchema.nullable().optional(),
88
+ opacity: z.number().optional(),
89
+ zoom: z.number().optional(),
90
+ aspectRatio: backgroundVideoAspectRatioDataSchema.optional(),
91
+ parallax: z.number().optional()
92
+ });
93
+ const videoBackgroundDataSchema = z.object({
94
+ type: z.literal("video"),
95
+ id: z.string(),
96
+ payload: backgroundVideoDataSchema
97
+ });
98
+ const backgroundDataSchema = z.union([
99
+ colorBackgroundDataSchema,
100
+ gradientBackgroundDataSchema,
101
+ imageBackgroundDataSchema,
102
+ videoBackgroundDataSchema
103
+ ]);
104
+ const responsiveBackgroundsDataSchema = Schema.responsiveValue(
105
+ z.array(backgroundDataSchema)
106
+ );
107
+ const backgroundsPropControllerDataV1Schema = responsiveBackgroundsDataSchema;
108
+ const BackgroundsPropControllerDataV2Type = "prop-controllers::backgrounds::v2";
109
+ const backgroundsPropControllerDataV2Schema = z.object({
110
+ [ControlDataTypeKey]: z.literal(BackgroundsPropControllerDataV2Type),
111
+ value: responsiveBackgroundsDataSchema
112
+ });
113
+ const backgroundsPropControllerDataSchema = z.union([
114
+ backgroundsPropControllerDataV1Schema,
115
+ backgroundsPropControllerDataV2Schema
116
+ ]);
117
+ function Backgrounds(options = {}) {
118
+ return { type: Types.Backgrounds, version: 2, options };
119
+ }
120
+ function getBackgroundsPropControllerDataResponsiveBackgroundsData(data) {
121
+ return match(data).with(
122
+ { [ControlDataTypeKey]: BackgroundsPropControllerDataV2Type },
123
+ (v2) => v2.value
124
+ ).otherwise((v0) => v0);
125
+ }
126
+ function createBackgroundsPropControllerDataFromResponsiveBackgroundsData(data, definition) {
127
+ return match(definition).with(
128
+ { version: 2 },
129
+ () => ({
130
+ [ControlDataTypeKey]: BackgroundsPropControllerDataV2Type,
131
+ value: data
132
+ })
133
+ ).otherwise(() => data);
134
+ }
135
+ function getBackgroundsPropControllerFileIds(data) {
136
+ const value = getBackgroundsPropControllerDataResponsiveBackgroundsData(data);
137
+ return value?.flatMap((override) => override.value).flatMap((backgroundItem) => {
138
+ return match(backgroundItem).with(
139
+ {
140
+ type: "image-v1",
141
+ payload: { image: { type: "makeswift-file" } }
142
+ },
143
+ (item) => [item.payload.image.id]
144
+ ).with({ type: "image", payload: { imageId: P.string } }, (item) => [
145
+ item.payload.imageId
146
+ ]).otherwise(() => []);
147
+ }) ?? [];
148
+ }
149
+ function getBackgroundsPropControllerSwatchIds(data) {
150
+ const value = getBackgroundsPropControllerDataResponsiveBackgroundsData(data);
151
+ return value?.flatMap((override) => override.value).flatMap((backgroundItem) => {
152
+ switch (backgroundItem.type) {
153
+ case "color":
154
+ return backgroundItem.payload?.swatchId == null ? [] : [backgroundItem.payload.swatchId];
155
+ case "gradient":
156
+ return backgroundItem.payload.stops.flatMap(
157
+ (stop) => stop.color == null ? [] : stop.color.swatchId
158
+ );
159
+ default:
160
+ return [];
161
+ }
162
+ }) ?? [];
163
+ }
164
+ function copyResponsiveBackgroundsData(descriptor, data, context) {
165
+ if (data == null)
166
+ return data;
167
+ return data.map((override) => ({
168
+ ...override,
169
+ value: override.value.map((backgroundItem) => {
170
+ return match([descriptor, backgroundItem]).with([P.any, { type: "color" }], ([, item]) => {
171
+ return {
172
+ ...item,
173
+ payload: item.payload === null ? null : {
174
+ ...item.payload,
175
+ swatchId: context.replacementContext.swatchIds.get(
176
+ item.payload.swatchId
177
+ ) ?? item.payload.swatchId
178
+ }
179
+ };
180
+ }).with([P.any, { type: "gradient" }], ([, item]) => {
181
+ return {
182
+ ...item,
183
+ payload: {
184
+ ...item.payload,
185
+ stops: item.payload.stops.map((stop) => ({
186
+ ...stop,
187
+ color: stop.color == null ? null : {
188
+ ...stop.color,
189
+ swatchId: context.replacementContext.swatchIds.get(
190
+ stop.color.swatchId
191
+ ) ?? stop.color.swatchId
192
+ }
193
+ }))
194
+ }
195
+ };
196
+ }).with(
197
+ [
198
+ { version: P.when((v) => v && v >= 1) },
199
+ {
200
+ type: "image-v1",
201
+ payload: {
202
+ version: 1,
203
+ image: { type: "makeswift-file" }
204
+ }
205
+ }
206
+ ],
207
+ ([, item]) => {
208
+ return {
209
+ ...item,
210
+ payload: {
211
+ ...item.payload,
212
+ image: {
213
+ ...item.payload.image,
214
+ id: context.replacementContext.fileIds.get(
215
+ item.payload.image.id
216
+ ) ?? item.payload.image.id
217
+ }
218
+ }
219
+ };
220
+ }
221
+ ).with(
222
+ [P.any, { type: "image", payload: { imageId: P.string } }],
223
+ ([, item]) => {
224
+ return {
225
+ ...item,
226
+ payload: {
227
+ ...item.payload,
228
+ imageId: context.replacementContext.fileIds.get(
229
+ item.payload.imageId
230
+ ) ?? item.payload.imageId
231
+ }
232
+ };
233
+ }
234
+ ).otherwise(() => backgroundItem);
235
+ })
236
+ }));
237
+ }
238
+ function copyBackgroundsPropControllerData(descriptor, data, context) {
239
+ return match(data).with(void 0, () => void 0).with(
240
+ { [ControlDataTypeKey]: BackgroundsPropControllerDataV2Type },
241
+ (v1) => {
242
+ const value = copyResponsiveBackgroundsData(
243
+ descriptor,
244
+ v1.value,
245
+ context
246
+ );
247
+ if (value == null)
248
+ return void 0;
249
+ return {
250
+ [ControlDataTypeKey]: BackgroundsPropControllerDataV2Type,
251
+ value
252
+ };
253
+ }
254
+ ).otherwise((v0) => copyResponsiveBackgroundsData(descriptor, v0, context));
255
+ }
256
+ export {
257
+ Backgrounds,
258
+ BackgroundsPropControllerDataV2Type,
259
+ backgroundImageDataSchema,
260
+ backgroundsPropControllerDataSchema,
261
+ copyBackgroundsPropControllerData,
262
+ createBackgroundsPropControllerDataFromResponsiveBackgroundsData,
263
+ getBackgroundsPropControllerDataResponsiveBackgroundsData,
264
+ getBackgroundsPropControllerFileIds,
265
+ getBackgroundsPropControllerSwatchIds,
266
+ imageBackgroundDataSchema
267
+ };
268
+ //# sourceMappingURL=backgrounds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/backgrounds/backgrounds.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n ControlDataTypeKey,\n CopyContext,\n Options,\n Types,\n Schema,\n} from '../prop-controllers'\nimport { P, match } from 'ts-pattern'\nimport { colorDataSchema, imageDataV0Schema, imageDataV1Schema } from '../data'\n\nconst colorBackgroundDataSchema = z.object({\n type: z.literal('color'),\n id: z.string(),\n payload: colorDataSchema.nullable(),\n})\n\nconst gradientStopDataSchema = z.object({\n id: z.string(),\n location: z.number(),\n color: colorDataSchema.nullable(),\n})\n\nconst gradientDataSchema = z.object({\n angle: z.number().optional(),\n isRadial: z.boolean().optional(),\n stops: z.array(gradientStopDataSchema),\n})\n\nconst gradientBackgroundDataSchema = z.object({\n type: z.literal('gradient'),\n id: z.string(),\n payload: gradientDataSchema,\n})\n\nconst backgroundImagePositionDataSchema = z.object({\n x: z.number(),\n y: z.number(),\n})\n\nconst backgroundSizeDataSchema = z.union([\n z.literal('cover'),\n z.literal('contain'),\n z.literal('auto'),\n])\n\nconst backgroundImageRepeatDataSchema = z.union([\n z.literal('no-repeat'),\n z.literal('repeat-x'),\n z.literal('repeat-y'),\n z.literal('repeat'),\n])\n\nconst backgroundImageV0DataSchema = z.object({\n imageId: imageDataV0Schema,\n position: backgroundImagePositionDataSchema,\n size: backgroundSizeDataSchema.optional(),\n repeat: backgroundImageRepeatDataSchema.optional(),\n opacity: z.number().optional(),\n parallax: z.number().optional(),\n priority: z.boolean().optional(),\n})\n\nconst backgroundImageV1DataSchema = z.object({\n version: z.literal(1),\n image: imageDataV1Schema,\n position: backgroundImagePositionDataSchema,\n size: backgroundSizeDataSchema.optional(),\n repeat: backgroundImageRepeatDataSchema.optional(),\n opacity: z.number().optional(),\n parallax: z.number().optional(),\n priority: z.boolean().optional(),\n})\n\nexport const backgroundImageDataSchema = z.union([\n backgroundImageV0DataSchema,\n backgroundImageV1DataSchema,\n])\n\nexport type BackgroundImageData = z.infer<typeof backgroundImageDataSchema>\n\nconst imageBackgroundV0DataSchema = z.object({\n type: z.literal('image'),\n id: z.string(),\n payload: backgroundImageV0DataSchema,\n})\n\nconst imageBackgroundV1DataSchema = z.object({\n type: z.literal('image-v1'),\n id: z.string(),\n payload: backgroundImageV1DataSchema,\n})\n\nexport const imageBackgroundDataSchema = z.union([\n imageBackgroundV0DataSchema,\n imageBackgroundV1DataSchema,\n])\n\nexport type ImageBackgroundData = z.infer<typeof imageBackgroundDataSchema>\n\nconst backgroundVideoAspectRatioDataSchema = z.union([\n z.literal('wide'),\n z.literal('standard'),\n])\n\nconst backgroundVideoDataSchema = z.object({\n url: z.string().optional(),\n maskColor: colorDataSchema.nullable().optional(),\n opacity: z.number().optional(),\n zoom: z.number().optional(),\n aspectRatio: backgroundVideoAspectRatioDataSchema.optional(),\n parallax: z.number().optional(),\n})\n\nconst videoBackgroundDataSchema = z.object({\n type: z.literal('video'),\n id: z.string(),\n payload: backgroundVideoDataSchema,\n})\n\nconst backgroundDataSchema = z.union([\n colorBackgroundDataSchema,\n gradientBackgroundDataSchema,\n imageBackgroundDataSchema,\n videoBackgroundDataSchema,\n])\n\nexport type BackgroundData = z.infer<typeof backgroundDataSchema>\n\nconst responsiveBackgroundsDataSchema = Schema.responsiveValue(\n z.array(backgroundDataSchema),\n)\n\nexport type ResponsiveBackgroundsData = z.infer<\n typeof responsiveBackgroundsDataSchema\n>\n\nconst backgroundsPropControllerDataV1Schema = responsiveBackgroundsDataSchema\n\nexport type BackgroundsPropControllerDataV1 = z.infer<\n typeof backgroundsPropControllerDataV1Schema\n>\n\nexport const BackgroundsPropControllerDataV2Type =\n 'prop-controllers::backgrounds::v2'\n\nconst backgroundsPropControllerDataV2Schema = z.object({\n [ControlDataTypeKey]: z.literal(BackgroundsPropControllerDataV2Type),\n value: responsiveBackgroundsDataSchema,\n})\n\nexport type BackgroundsPropControllerDataV2 = z.infer<\n typeof backgroundsPropControllerDataV2Schema\n>\n\nexport const backgroundsPropControllerDataSchema = z.union([\n backgroundsPropControllerDataV1Schema,\n backgroundsPropControllerDataV2Schema,\n])\n\nexport type BackgroundsPropControllerData = z.infer<\n typeof backgroundsPropControllerDataSchema\n>\n\nexport type BackgroundsOptions = Options<Record<string, never>>\n\ntype BackgroundsDescriptorV1<_T = BackgroundsPropControllerDataV1> = {\n type: typeof Types.Backgrounds\n version?: 1\n options: BackgroundsOptions\n}\n\ntype BackgroundsDescriptorV2<_T = BackgroundsPropControllerData> = {\n type: typeof Types.Backgrounds\n version: 2\n options: BackgroundsOptions\n}\n\nexport type BackgroundsDescriptor<_T = BackgroundsPropControllerData> =\n | BackgroundsDescriptorV1\n | BackgroundsDescriptorV2\n\nexport type ResolveBackgroundsPropControllerValue<\n T extends BackgroundsDescriptor,\n> = T extends BackgroundsDescriptor\n ? ResponsiveBackgroundsData | undefined\n : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function Backgrounds(\n options: BackgroundsOptions = {},\n): BackgroundsDescriptorV2 {\n return { type: Types.Backgrounds, version: 2, options }\n}\n\nexport function getBackgroundsPropControllerDataResponsiveBackgroundsData(\n data: BackgroundsPropControllerData | undefined,\n): ResponsiveBackgroundsData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: BackgroundsPropControllerDataV2Type },\n (v2) => v2.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createBackgroundsPropControllerDataFromResponsiveBackgroundsData(\n data: ResponsiveBackgroundsData,\n definition: BackgroundsDescriptor,\n): BackgroundsPropControllerData {\n return match(definition)\n .with(\n { version: 2 },\n () =>\n ({\n [ControlDataTypeKey]: BackgroundsPropControllerDataV2Type,\n value: data,\n }) as const,\n )\n .otherwise(() => data)\n}\n\nexport function getBackgroundsPropControllerFileIds(\n data: BackgroundsPropControllerData | undefined,\n): string[] {\n const value = getBackgroundsPropControllerDataResponsiveBackgroundsData(data)\n\n return (\n value\n ?.flatMap((override) => override.value)\n .flatMap((backgroundItem) => {\n return match(backgroundItem)\n .with(\n {\n type: 'image-v1',\n payload: { image: { type: 'makeswift-file' } },\n },\n (item) => [item.payload.image.id],\n )\n .with({ type: 'image', payload: { imageId: P.string } }, (item) => [\n item.payload.imageId,\n ])\n .otherwise(() => [])\n }) ?? []\n )\n}\n\nexport function getBackgroundsPropControllerSwatchIds(\n data: BackgroundsPropControllerData | undefined,\n): string[] {\n const value = getBackgroundsPropControllerDataResponsiveBackgroundsData(data)\n\n return (\n value\n ?.flatMap((override) => override.value)\n .flatMap((backgroundItem) => {\n switch (backgroundItem.type) {\n case 'color':\n return backgroundItem.payload?.swatchId == null\n ? []\n : [backgroundItem.payload.swatchId]\n\n case 'gradient':\n return backgroundItem.payload.stops.flatMap((stop) =>\n stop.color == null ? [] : stop.color.swatchId,\n )\n\n default:\n return []\n }\n }) ?? []\n )\n}\n\nfunction copyResponsiveBackgroundsData(\n descriptor: BackgroundsDescriptor,\n data: ResponsiveBackgroundsData | undefined,\n context: CopyContext,\n): ResponsiveBackgroundsData | undefined {\n if (data == null) return data\n\n return data.map((override) => ({\n ...override,\n value: override.value.map((backgroundItem) => {\n return match([descriptor, backgroundItem])\n .with([P.any, { type: 'color' }], ([, item]) => {\n return {\n ...item,\n payload:\n item.payload === null\n ? null\n : {\n ...item.payload,\n swatchId:\n context.replacementContext.swatchIds.get(\n item.payload.swatchId,\n ) ?? item.payload.swatchId,\n },\n }\n })\n .with([P.any, { type: 'gradient' }], ([, item]) => {\n return {\n ...item,\n payload: {\n ...item.payload,\n stops: item.payload.stops.map((stop) => ({\n ...stop,\n color:\n stop.color == null\n ? null\n : {\n ...stop.color,\n swatchId:\n context.replacementContext.swatchIds.get(\n stop.color.swatchId,\n ) ?? stop.color.swatchId,\n },\n })),\n },\n }\n })\n .with(\n [\n { version: P.when((v) => v && v >= 1) },\n {\n type: 'image-v1',\n payload: {\n version: 1,\n image: { type: 'makeswift-file' },\n },\n },\n ],\n ([, item]) => {\n return {\n ...item,\n payload: {\n ...item.payload,\n image: {\n ...item.payload.image,\n id:\n context.replacementContext.fileIds.get(\n item.payload.image.id,\n ) ?? item.payload.image.id,\n },\n },\n }\n },\n )\n .with(\n [P.any, { type: 'image', payload: { imageId: P.string } }],\n ([, item]) => {\n return {\n ...item,\n payload: {\n ...item.payload,\n imageId:\n context.replacementContext.fileIds.get(\n item.payload.imageId,\n ) ?? item.payload.imageId,\n },\n }\n },\n )\n .otherwise(() => backgroundItem)\n }),\n }))\n}\n\nexport function copyBackgroundsPropControllerData(\n descriptor: BackgroundsDescriptor,\n data: BackgroundsPropControllerData | undefined,\n context: CopyContext,\n): BackgroundsPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: BackgroundsPropControllerDataV2Type },\n (v1) => {\n const value = copyResponsiveBackgroundsData(\n descriptor,\n v1.value,\n context,\n )\n\n if (value == null) return undefined\n\n return {\n [ControlDataTypeKey]: BackgroundsPropControllerDataV2Type,\n value,\n } as const\n },\n )\n .otherwise((v0) => copyResponsiveBackgroundsData(descriptor, v0, context))\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./backgrounds";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/backgrounds/index.ts"],"sourcesContent":["export * from './backgrounds'\n"],"mappings":"AAAA,cAAc;","names":[]}
@@ -0,0 +1,105 @@
1
+ import { match } from "ts-pattern";
2
+ import { StyleSchema } from "@makeswift/controls";
3
+ import {
4
+ ControlDataTypeKey,
5
+ Types,
6
+ Schema
7
+ } from "../prop-controllers";
8
+ import { z } from "zod";
9
+ const responsiveBorderDataSchema = Schema.responsiveValue(StyleSchema.border);
10
+ const borderPropControllerDataV0Schema = responsiveBorderDataSchema;
11
+ const BorderPropControllerDataV1Type = "prop-controllers::border::v1";
12
+ const borderPropControllerDataV1Schema = z.object({
13
+ [ControlDataTypeKey]: z.literal(BorderPropControllerDataV1Type),
14
+ value: responsiveBorderDataSchema
15
+ });
16
+ const borderPropControllerDataSchema = z.union([
17
+ borderPropControllerDataV0Schema,
18
+ borderPropControllerDataV1Schema
19
+ ]);
20
+ const BorderPropControllerFormat = {
21
+ ClassName: "makeswift::prop-controllers::border::format::class-name",
22
+ ResponsiveValue: "makeswift::prop-controllers::border::format::responsive-value"
23
+ };
24
+ function Border(options = {}) {
25
+ return { type: Types.Border, version: 1, options };
26
+ }
27
+ Border.Format = BorderPropControllerFormat;
28
+ function getBorderPropControllerDataResponsiveBorderData(data) {
29
+ return match(data).with(
30
+ { [ControlDataTypeKey]: BorderPropControllerDataV1Type },
31
+ (v1) => v1.value
32
+ ).otherwise((v0) => v0);
33
+ }
34
+ function createBorderPropControllerDataFromResponsiveBorderData(definition, responsiveBorderData) {
35
+ return match(definition).with(
36
+ { version: 1 },
37
+ () => ({
38
+ [ControlDataTypeKey]: BorderPropControllerDataV1Type,
39
+ value: responsiveBorderData
40
+ })
41
+ ).otherwise(() => responsiveBorderData);
42
+ }
43
+ function getBorderPropControllerDataSwatchIds(data) {
44
+ return getBorderPropControllerDataResponsiveBorderData(data)?.flatMap((override) => override.value).flatMap((borderValue) => {
45
+ return [
46
+ borderValue.borderTop?.color?.swatchId,
47
+ borderValue.borderRight?.color?.swatchId,
48
+ borderValue.borderBottom?.color?.swatchId,
49
+ borderValue.borderLeft?.color?.swatchId
50
+ ].filter(
51
+ (swatchId) => swatchId != null
52
+ );
53
+ }) ?? [];
54
+ }
55
+ function copyResponsiveBorderData(data, context) {
56
+ return data.map((override) => ({
57
+ ...override,
58
+ value: copyBorderValue(override.value)
59
+ }));
60
+ function copyBorderValue({
61
+ borderTop,
62
+ borderRight,
63
+ borderBottom,
64
+ borderLeft
65
+ }) {
66
+ return {
67
+ borderTop: borderTop && copyBorderSide(borderTop),
68
+ borderRight: borderRight && copyBorderSide(borderRight),
69
+ borderBottom: borderBottom && copyBorderSide(borderBottom),
70
+ borderLeft: borderLeft && copyBorderSide(borderLeft)
71
+ };
72
+ }
73
+ function copyBorderSide(borderSide) {
74
+ const { color } = borderSide;
75
+ if (color == null)
76
+ return borderSide;
77
+ return {
78
+ ...borderSide,
79
+ color: {
80
+ ...color,
81
+ swatchId: context.replacementContext.swatchIds.get(color.swatchId) ?? color.swatchId
82
+ }
83
+ };
84
+ }
85
+ }
86
+ function copyBorderPropControllerData(data, context) {
87
+ return match(data).with(void 0, () => void 0).with(
88
+ { [ControlDataTypeKey]: BorderPropControllerDataV1Type },
89
+ (v1) => ({
90
+ [ControlDataTypeKey]: BorderPropControllerDataV1Type,
91
+ value: copyResponsiveBorderData(v1.value, context)
92
+ })
93
+ ).otherwise((v0) => copyResponsiveBorderData(v0, context));
94
+ }
95
+ export {
96
+ Border,
97
+ BorderPropControllerDataV1Type,
98
+ BorderPropControllerFormat,
99
+ borderPropControllerDataSchema,
100
+ copyBorderPropControllerData,
101
+ createBorderPropControllerDataFromResponsiveBorderData,
102
+ getBorderPropControllerDataResponsiveBorderData,
103
+ getBorderPropControllerDataSwatchIds
104
+ };
105
+ //# sourceMappingURL=border.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/border/border.ts"],"sourcesContent":["import { match } from 'ts-pattern'\nimport { StyleSchema } from '@makeswift/controls'\n\nimport {\n ControlDataTypeKey,\n CopyContext,\n ResolveOptions,\n Types,\n Schema,\n} from '../prop-controllers'\n\nimport { z } from 'zod'\n\nconst responsiveBorderDataSchema = Schema.responsiveValue(StyleSchema.border)\n\nexport type ResponsiveBorderData = z.infer<typeof responsiveBorderDataSchema>\n\nconst borderPropControllerDataV0Schema = responsiveBorderDataSchema\n\nexport type BorderPropControllerDataV0 = z.infer<\n typeof borderPropControllerDataV0Schema\n>\n\nexport const BorderPropControllerDataV1Type = 'prop-controllers::border::v1'\n\nconst borderPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(BorderPropControllerDataV1Type),\n value: responsiveBorderDataSchema,\n})\n\nexport type BorderPropControllerDataV1 = z.infer<\n typeof borderPropControllerDataV1Schema\n>\n\nexport const borderPropControllerDataSchema = z.union([\n borderPropControllerDataV0Schema,\n borderPropControllerDataV1Schema,\n])\n\nexport type BorderPropControllerData = z.infer<\n typeof borderPropControllerDataSchema\n>\n\nexport const BorderPropControllerFormat = {\n ClassName: 'makeswift::prop-controllers::border::format::class-name',\n ResponsiveValue:\n 'makeswift::prop-controllers::border::format::responsive-value',\n} as const\n\nexport type BorderPropControllerFormat =\n (typeof BorderPropControllerFormat)[keyof typeof BorderPropControllerFormat]\n\ntype BorderOptions = { format?: BorderPropControllerFormat }\n\ntype BorderDescriptorV0<\n _T = BorderPropControllerDataV0,\n U extends BorderOptions = BorderOptions,\n> = {\n type: typeof Types.Border\n options: U\n}\n\ntype BorderDescriptorV1<\n _T = BorderPropControllerData,\n U extends BorderOptions = BorderOptions,\n> = {\n type: typeof Types.Border\n version: 1\n options: U\n}\n\nexport type BorderDescriptor<\n _T = BorderPropControllerData,\n U extends BorderOptions = BorderOptions,\n> = BorderDescriptorV0<_T, U> | BorderDescriptorV1<_T, U>\n\nexport type ResolveBorderPropControllerValue<T extends BorderDescriptor> =\n T extends BorderDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? ResponsiveBorderData | undefined\n : ResolveOptions<\n T['options']\n >['format'] extends typeof BorderPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof BorderPropControllerFormat.ResponsiveValue\n ? ResponsiveBorderData | undefined\n : never\n : never\n\n/**\n * @deprecated Imports from `@makeswift/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function Border<T extends BorderOptions>(\n options: T & BorderOptions = {} as T,\n): BorderDescriptor<BorderPropControllerData, T> {\n return { type: Types.Border, version: 1, options }\n}\n\nBorder.Format = BorderPropControllerFormat\n\nexport function getBorderPropControllerDataResponsiveBorderData(\n data: BorderPropControllerData | undefined,\n): ResponsiveBorderData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: BorderPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createBorderPropControllerDataFromResponsiveBorderData(\n definition: BorderDescriptor,\n responsiveBorderData: ResponsiveBorderData,\n): BorderPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n () =>\n ({\n [ControlDataTypeKey]: BorderPropControllerDataV1Type,\n value: responsiveBorderData,\n }) as const,\n )\n .otherwise(() => responsiveBorderData)\n}\n\nexport function getBorderPropControllerDataSwatchIds(\n data: BorderPropControllerData | undefined,\n): string[] {\n return (\n getBorderPropControllerDataResponsiveBorderData(data)\n ?.flatMap((override) => override.value)\n .flatMap((borderValue) => {\n return [\n borderValue.borderTop?.color?.swatchId,\n borderValue.borderRight?.color?.swatchId,\n borderValue.borderBottom?.color?.swatchId,\n borderValue.borderLeft?.color?.swatchId,\n ].filter(\n (swatchId): swatchId is NonNullable<typeof swatchId> =>\n swatchId != null,\n )\n }) ?? []\n )\n}\n\nfunction copyResponsiveBorderData(\n data: ResponsiveBorderData,\n context: CopyContext,\n): ResponsiveBorderData {\n return data.map((override) => ({\n ...override,\n value: copyBorderValue(override.value),\n }))\n\n function copyBorderValue({\n borderTop,\n borderRight,\n borderBottom,\n borderLeft,\n }: any): any {\n return {\n borderTop: borderTop && copyBorderSide(borderTop),\n borderRight: borderRight && copyBorderSide(borderRight),\n borderBottom: borderBottom && copyBorderSide(borderBottom),\n borderLeft: borderLeft && copyBorderSide(borderLeft),\n }\n }\n\n function copyBorderSide(borderSide: any): any {\n const { color } = borderSide\n\n if (color == null) return borderSide\n\n return {\n ...borderSide,\n color: {\n ...color,\n swatchId:\n context.replacementContext.swatchIds.get(color.swatchId) ??\n color.swatchId,\n },\n }\n }\n}\n\nexport function copyBorderPropControllerData(\n data: BorderPropControllerData | undefined,\n context: CopyContext,\n): BorderPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: BorderPropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: BorderPropControllerDataV1Type,\n value: copyResponsiveBorderData(v1.value, context),\n }) as const,\n )\n .otherwise((v0) => copyResponsiveBorderData(v0, context))\n}\n"],"mappings":"AAAA,SAAS,aAAa;AACtB,SAAS,mBAAmB;AAE5B;AAAA,EACE;AAAA,EAGA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,SAAS;AAElB,MAAM,6BAA6B,OAAO,gBAAgB,YAAY,MAAM;AAI5E,MAAM,mCAAmC;AAMlC,MAAM,iCAAiC;AAE9C,MAAM,mCAAmC,EAAE,OAAO;AAAA,EAChD,CAAC,kBAAkB,GAAG,EAAE,QAAQ,8BAA8B;AAAA,EAC9D,OAAO;AACT,CAAC;AAMM,MAAM,iCAAiC,EAAE,MAAM;AAAA,EACpD;AAAA,EACA;AACF,CAAC;AAMM,MAAM,6BAA6B;AAAA,EACxC,WAAW;AAAA,EACX,iBACE;AACJ;AAgDO,SAAS,OACd,UAA6B,CAAC,GACiB;AAC/C,SAAO,EAAE,MAAM,MAAM,QAAQ,SAAS,GAAG,QAAQ;AACnD;AAEA,OAAO,SAAS;AAET,SAAS,gDACd,MACkC;AAClC,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,+BAA+B;AAAA,IACvD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,uDACd,YACA,sBAC0B;AAC1B,SAAO,MAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,OACG;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB,OAAO;AAAA,IACT;AAAA,EACJ,EACC,UAAU,MAAM,oBAAoB;AACzC;AAEO,SAAS,qCACd,MACU;AACV,SACE,gDAAgD,IAAI,GAChD,QAAQ,CAAC,aAAa,SAAS,KAAK,EACrC,QAAQ,CAAC,gBAAgB;AACxB,WAAO;AAAA,MACL,YAAY,WAAW,OAAO;AAAA,MAC9B,YAAY,aAAa,OAAO;AAAA,MAChC,YAAY,cAAc,OAAO;AAAA,MACjC,YAAY,YAAY,OAAO;AAAA,IACjC,EAAE;AAAA,MACA,CAAC,aACC,YAAY;AAAA,IAChB;AAAA,EACF,CAAC,KAAK,CAAC;AAEb;AAEA,SAAS,yBACP,MACA,SACsB;AACtB,SAAO,KAAK,IAAI,CAAC,cAAc;AAAA,IAC7B,GAAG;AAAA,IACH,OAAO,gBAAgB,SAAS,KAAK;AAAA,EACvC,EAAE;AAEF,WAAS,gBAAgB;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAAa;AACX,WAAO;AAAA,MACL,WAAW,aAAa,eAAe,SAAS;AAAA,MAChD,aAAa,eAAe,eAAe,WAAW;AAAA,MACtD,cAAc,gBAAgB,eAAe,YAAY;AAAA,MACzD,YAAY,cAAc,eAAe,UAAU;AAAA,IACrD;AAAA,EACF;AAEA,WAAS,eAAe,YAAsB;AAC5C,UAAM,EAAE,MAAM,IAAI;AAElB,QAAI,SAAS;AAAM,aAAO;AAE1B,WAAO;AAAA,MACL,GAAG;AAAA,MACH,OAAO;AAAA,QACL,GAAG;AAAA,QACH,UACE,QAAQ,mBAAmB,UAAU,IAAI,MAAM,QAAQ,KACvD,MAAM;AAAA,MACV;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,6BACd,MACA,SACsC;AACtC,SAAO,MAAM,IAAI,EACd,KAAK,QAAW,MAAM,MAAS,EAC/B;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,+BAA+B;AAAA,IACvD,CAAC,QACE;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB,OAAO,yBAAyB,GAAG,OAAO,OAAO;AAAA,IACnD;AAAA,EACJ,EACC,UAAU,CAAC,OAAO,yBAAyB,IAAI,OAAO,CAAC;AAC5D;","names":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./border";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/border/index.ts"],"sourcesContent":["export * from './border'\nexport { type BorderData, type BorderSideData } from '@makeswift/controls'\n"],"mappings":"AAAA,cAAc;","names":[]}
@@ -0,0 +1,58 @@
1
+ import { z } from "zod";
2
+ import {
3
+ ControlDataTypeKey,
4
+ Types,
5
+ Schema
6
+ } from "../prop-controllers";
7
+ import { lengthDataSchema } from "../data";
8
+ import { match } from "ts-pattern";
9
+ const borderRadiusDataSchema = z.object({
10
+ borderTopLeftRadius: lengthDataSchema.nullable().optional(),
11
+ borderTopRightRadius: lengthDataSchema.nullable().optional(),
12
+ borderBottomLeftRadius: lengthDataSchema.nullable().optional(),
13
+ borderBottomRightRadius: lengthDataSchema.nullable().optional()
14
+ });
15
+ const responsiveBorderRadiusDataSchema = Schema.responsiveValue(
16
+ borderRadiusDataSchema
17
+ );
18
+ const borderRadiusPropControllerDataV0Schema = responsiveBorderRadiusDataSchema;
19
+ const BorderRadiusPropControllerDataV1Type = "prop-controllers::border-radius::v1";
20
+ const borderRadiusPropControllerDataV1Schema = z.object({
21
+ [ControlDataTypeKey]: z.literal(BorderRadiusPropControllerDataV1Type),
22
+ value: responsiveBorderRadiusDataSchema
23
+ });
24
+ const borderRadiusPropControllerDataSchema = z.union([
25
+ borderRadiusPropControllerDataV0Schema,
26
+ borderRadiusPropControllerDataV1Schema
27
+ ]);
28
+ const BorderRadiusPropControllerFormat = {
29
+ ClassName: "makeswift::prop-controllers::border-radius::format::class-name",
30
+ ResponsiveValue: "makeswift::prop-controllers::border-radius::format::responsive-value"
31
+ };
32
+ function BorderRadius(options = {}) {
33
+ return { type: Types.BorderRadius, version: 1, options };
34
+ }
35
+ BorderRadius.Format = BorderRadiusPropControllerFormat;
36
+ function getBorderRadiusPropControllerDataResponsiveBorderRadiusData(data) {
37
+ return match(data).with(
38
+ { [ControlDataTypeKey]: BorderRadiusPropControllerDataV1Type },
39
+ (v1) => v1.value
40
+ ).otherwise((v0) => v0);
41
+ }
42
+ function createBorderRadiusPropControllerDataFromResponsiveBorderRadiusData(definition, responsiveBorderRadiusData) {
43
+ return match(definition).with(
44
+ { version: 1 },
45
+ () => ({
46
+ [ControlDataTypeKey]: BorderRadiusPropControllerDataV1Type,
47
+ value: responsiveBorderRadiusData
48
+ })
49
+ ).otherwise(() => responsiveBorderRadiusData);
50
+ }
51
+ export {
52
+ BorderRadius,
53
+ BorderRadiusPropControllerFormat,
54
+ borderRadiusPropControllerDataSchema,
55
+ createBorderRadiusPropControllerDataFromResponsiveBorderRadiusData,
56
+ getBorderRadiusPropControllerDataResponsiveBorderRadiusData
57
+ };
58
+ //# sourceMappingURL=border-radius.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/border-radius/border-radius.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n ControlDataTypeKey,\n ResolveOptions,\n Types,\n Schema,\n} from '../prop-controllers'\nimport { lengthDataSchema } from '../data'\nimport { match } from 'ts-pattern'\n\nconst borderRadiusDataSchema = z.object({\n borderTopLeftRadius: lengthDataSchema.nullable().optional(),\n borderTopRightRadius: lengthDataSchema.nullable().optional(),\n borderBottomLeftRadius: lengthDataSchema.nullable().optional(),\n borderBottomRightRadius: lengthDataSchema.nullable().optional(),\n})\n\nconst responsiveBorderRadiusDataSchema = Schema.responsiveValue(\n borderRadiusDataSchema,\n)\n\nexport type ResponsiveBorderRadiusData = z.infer<\n typeof responsiveBorderRadiusDataSchema\n>\n\nconst borderRadiusPropControllerDataV0Schema = responsiveBorderRadiusDataSchema\n\ntype BorderRadiusPropControllerDataV0 = z.infer<\n typeof borderRadiusPropControllerDataV0Schema\n>\n\nconst BorderRadiusPropControllerDataV1Type =\n 'prop-controllers::border-radius::v1'\n\nconst borderRadiusPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(BorderRadiusPropControllerDataV1Type),\n value: responsiveBorderRadiusDataSchema,\n})\n\nexport const borderRadiusPropControllerDataSchema = z.union([\n borderRadiusPropControllerDataV0Schema,\n borderRadiusPropControllerDataV1Schema,\n])\n\nexport type BorderRadiusPropControllerData = z.infer<\n typeof borderRadiusPropControllerDataSchema\n>\n\nexport const BorderRadiusPropControllerFormat = {\n ClassName: 'makeswift::prop-controllers::border-radius::format::class-name',\n ResponsiveValue:\n 'makeswift::prop-controllers::border-radius::format::responsive-value',\n} as const\n\nexport type BorderRadiusPropControllerFormat =\n (typeof BorderRadiusPropControllerFormat)[keyof typeof BorderRadiusPropControllerFormat]\n\ntype BorderRadiusOptions = { format?: BorderRadiusPropControllerFormat }\n\ntype BorderRadiusDescriptorV0<\n _T = BorderRadiusPropControllerDataV0,\n U extends BorderRadiusOptions = BorderRadiusOptions,\n> = {\n type: typeof Types.BorderRadius\n options: U\n}\n\ntype BorderRadiusDescriptorV1<\n _T = BorderRadiusPropControllerData,\n U extends BorderRadiusOptions = BorderRadiusOptions,\n> = {\n type: typeof Types.BorderRadius\n version: 1\n options: U\n}\n\nexport type BorderRadiusDescriptor<\n _T = BorderRadiusPropControllerData,\n U extends BorderRadiusOptions = BorderRadiusOptions,\n> = BorderRadiusDescriptorV0<_T, U> | BorderRadiusDescriptorV1<_T, U>\n\nexport type ResolveBorderRadiusPropControllerValue<\n T extends BorderRadiusDescriptor,\n> = T extends BorderRadiusDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? ResponsiveBorderRadiusData | undefined\n : ResolveOptions<\n T['options']\n >['format'] extends typeof BorderRadiusPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof BorderRadiusPropControllerFormat.ResponsiveValue\n ? ResponsiveBorderRadiusData | undefined\n : never\n : never\n\n/**\n * @deprecated Imports from `@makeswift/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function BorderRadius<T extends BorderRadiusOptions>(\n options: T & BorderRadiusOptions = {} as T,\n): BorderRadiusDescriptor<BorderRadiusPropControllerData, T> {\n return { type: Types.BorderRadius, version: 1, options }\n}\n\nBorderRadius.Format = BorderRadiusPropControllerFormat\n\nexport function getBorderRadiusPropControllerDataResponsiveBorderRadiusData(\n data: BorderRadiusPropControllerData | undefined,\n): ResponsiveBorderRadiusData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: BorderRadiusPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createBorderRadiusPropControllerDataFromResponsiveBorderRadiusData(\n definition: BorderRadiusDescriptor,\n responsiveBorderRadiusData: ResponsiveBorderRadiusData,\n): BorderRadiusPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n () =>\n ({\n [ControlDataTypeKey]: BorderRadiusPropControllerDataV1Type,\n value: responsiveBorderRadiusData,\n }) as const,\n )\n .otherwise(() => responsiveBorderRadiusData)\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAClB;AAAA,EACE;AAAA,EAEA;AAAA,EACA;AAAA,OACK;AACP,SAAS,wBAAwB;AACjC,SAAS,aAAa;AAEtB,MAAM,yBAAyB,EAAE,OAAO;AAAA,EACtC,qBAAqB,iBAAiB,SAAS,EAAE,SAAS;AAAA,EAC1D,sBAAsB,iBAAiB,SAAS,EAAE,SAAS;AAAA,EAC3D,wBAAwB,iBAAiB,SAAS,EAAE,SAAS;AAAA,EAC7D,yBAAyB,iBAAiB,SAAS,EAAE,SAAS;AAChE,CAAC;AAED,MAAM,mCAAmC,OAAO;AAAA,EAC9C;AACF;AAMA,MAAM,yCAAyC;AAM/C,MAAM,uCACJ;AAEF,MAAM,yCAAyC,EAAE,OAAO;AAAA,EACtD,CAAC,kBAAkB,GAAG,EAAE,QAAQ,oCAAoC;AAAA,EACpE,OAAO;AACT,CAAC;AAEM,MAAM,uCAAuC,EAAE,MAAM;AAAA,EAC1D;AAAA,EACA;AACF,CAAC;AAMM,MAAM,mCAAmC;AAAA,EAC9C,WAAW;AAAA,EACX,iBACE;AACJ;AAiDO,SAAS,aACd,UAAmC,CAAC,GACuB;AAC3D,SAAO,EAAE,MAAM,MAAM,cAAc,SAAS,GAAG,QAAQ;AACzD;AAEA,aAAa,SAAS;AAEf,SAAS,4DACd,MACwC;AACxC,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,qCAAqC;AAAA,IAC7D,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,mEACd,YACA,4BACgC;AAChC,SAAO,MAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,OACG;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB,OAAO;AAAA,IACT;AAAA,EACJ,EACC,UAAU,MAAM,0BAA0B;AAC/C;","names":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./border-radius";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/border-radius/index.ts"],"sourcesContent":["export * from './border-radius'\n"],"mappings":"AAAA,cAAc;","names":[]}
@@ -0,0 +1,40 @@
1
+ import { z } from "zod";
2
+ import { ControlDataTypeKey, Types } from "../prop-controllers";
3
+ import { P, match } from "ts-pattern";
4
+ const checkboxPropControllerDataV0Schema = z.boolean();
5
+ const CheckboxPropControllerDataV1Type = "prop-controllers::checkbox::v1";
6
+ const checkboxPropControllerDataV1Schema = z.object({
7
+ [ControlDataTypeKey]: z.literal(CheckboxPropControllerDataV1Type),
8
+ value: z.boolean()
9
+ });
10
+ const checkboxPropControllerDataSchema = z.union([
11
+ checkboxPropControllerDataV0Schema,
12
+ checkboxPropControllerDataV1Schema
13
+ ]);
14
+ function Checkbox(options) {
15
+ return { type: Types.Checkbox, version: 1, options };
16
+ }
17
+ function getCheckboxPropControllerDataBoolean(data) {
18
+ return match(data).with(
19
+ { [ControlDataTypeKey]: CheckboxPropControllerDataV1Type },
20
+ (v1) => v1.value
21
+ ).otherwise((v0) => v0);
22
+ }
23
+ function createCheckboxPropControllerDataFromBoolean(value, definition) {
24
+ return match(definition).with(
25
+ { version: 1 },
26
+ P.nullish,
27
+ () => ({
28
+ [ControlDataTypeKey]: CheckboxPropControllerDataV1Type,
29
+ value
30
+ })
31
+ ).otherwise(() => value);
32
+ }
33
+ export {
34
+ Checkbox,
35
+ CheckboxPropControllerDataV1Type,
36
+ checkboxPropControllerDataSchema,
37
+ createCheckboxPropControllerDataFromBoolean,
38
+ getCheckboxPropControllerDataBoolean
39
+ };
40
+ //# sourceMappingURL=checkbox.js.map