@makeswift/prop-controllers 0.3.0 → 0.3.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 (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 @@
1
+ {"version":3,"sources":["../../../src/checkbox/checkbox.ts"],"sourcesContent":["import { z } from 'zod'\nimport { ControlDataTypeKey, Options, Types } from '../prop-controllers'\nimport { P, match } from 'ts-pattern'\n\nconst checkboxPropControllerDataV0Schema = z.boolean()\n\nexport type CheckboxPropControllerDataV0 = z.infer<\n typeof checkboxPropControllerDataV0Schema\n>\n\nexport const CheckboxPropControllerDataV1Type = 'prop-controllers::checkbox::v1'\n\nconst checkboxPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(CheckboxPropControllerDataV1Type),\n value: z.boolean(),\n})\n\nexport type CheckboxPropControllerDataV1 = z.infer<\n typeof checkboxPropControllerDataV1Schema\n>\n\nexport const checkboxPropControllerDataSchema = z.union([\n checkboxPropControllerDataV0Schema,\n checkboxPropControllerDataV1Schema,\n])\n\nexport type CheckboxPropControllerData = z.infer<\n typeof checkboxPropControllerDataSchema\n>\n\nexport type CheckboxOptions = Options<{\n preset?: CheckboxPropControllerData\n label: string\n hidden?: boolean\n}>\n\ntype CheckboxDescriptorV0<_T = CheckboxPropControllerDataV0> = {\n type: typeof Types.Checkbox\n options: CheckboxOptions\n}\n\ntype CheckboxDescriptorV1<\n _T = CheckboxPropControllerData,\n U extends CheckboxOptions = CheckboxOptions,\n> = {\n type: typeof Types.Checkbox\n version: 1\n options: U\n}\n\nexport type CheckboxDescriptor<_T = CheckboxPropControllerData> =\n | CheckboxDescriptorV0\n | CheckboxDescriptorV1\n\nexport type ResolveCheckboxPropControllerValue<T extends CheckboxDescriptor> =\n T extends CheckboxDescriptor ? boolean | undefined : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function Checkbox(options: CheckboxOptions): CheckboxDescriptorV1 {\n return { type: Types.Checkbox, version: 1, options }\n}\n\nexport function getCheckboxPropControllerDataBoolean(\n data: CheckboxPropControllerData | undefined,\n): boolean | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: CheckboxPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createCheckboxPropControllerDataFromBoolean(\n value: boolean,\n definition?: CheckboxDescriptor,\n): CheckboxPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n P.nullish,\n () =>\n ({\n [ControlDataTypeKey]: CheckboxPropControllerDataV1Type,\n value,\n } as const),\n )\n .otherwise(() => value)\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAClB,SAAS,oBAA6B,aAAa;AACnD,SAAS,GAAG,aAAa;AAEzB,MAAM,qCAAqC,EAAE,QAAQ;AAM9C,MAAM,mCAAmC;AAEhD,MAAM,qCAAqC,EAAE,OAAO;AAAA,EAClD,CAAC,kBAAkB,GAAG,EAAE,QAAQ,gCAAgC;AAAA,EAChE,OAAO,EAAE,QAAQ;AACnB,CAAC;AAMM,MAAM,mCAAmC,EAAE,MAAM;AAAA,EACtD;AAAA,EACA;AACF,CAAC;AAqCM,SAAS,SAAS,SAAgD;AACvE,SAAO,EAAE,MAAM,MAAM,UAAU,SAAS,GAAG,QAAQ;AACrD;AAEO,SAAS,qCACd,MACqB;AACrB,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,iCAAiC;AAAA,IACzD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,4CACd,OACA,YAC4B;AAC5B,SAAO,MAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,EAAE;AAAA,IACF,OACG;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACJ,EACC,UAAU,MAAM,KAAK;AAC1B;","names":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./checkbox";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/checkbox/index.ts"],"sourcesContent":["export * from './checkbox'\n"],"mappings":"AAAA,cAAc;","names":[]}
@@ -0,0 +1,52 @@
1
+ import { z } from "zod";
2
+ import { Schema } from "./prop-controllers";
3
+ const colorDataSchema = z.object({
4
+ swatchId: z.string(),
5
+ alpha: z.number()
6
+ });
7
+ const lengthDataSchema = z.object({
8
+ value: z.number(),
9
+ unit: z.enum(["px", "%"])
10
+ });
11
+ const gapDataSchema = z.object({
12
+ value: z.number(),
13
+ unit: z.literal("px")
14
+ });
15
+ const responsiveGapDataSchema = Schema.responsiveValue(gapDataSchema);
16
+ const fileIdSchema = z.string();
17
+ const imageDataV0Schema = fileIdSchema;
18
+ const imageDataV1MakeswiftFileSchema = z.object({
19
+ version: z.literal(1),
20
+ type: z.literal("makeswift-file"),
21
+ id: z.string()
22
+ });
23
+ const imageDataV1ExternalFileSchema = z.object({
24
+ version: z.literal(1),
25
+ type: z.literal("external-file"),
26
+ url: z.string(),
27
+ width: z.number().nullable().optional(),
28
+ height: z.number().nullable().optional()
29
+ });
30
+ const imageDataV1Schema = z.union([
31
+ imageDataV1MakeswiftFileSchema,
32
+ imageDataV1ExternalFileSchema
33
+ ]);
34
+ const imageDataSchema = z.union([imageDataV0Schema, imageDataV1Schema]);
35
+ const responsiveNumberValueSchema = Schema.responsiveValue(z.number());
36
+ const responsiveSelectValueSchema = Schema.responsiveValue(z.string());
37
+ const responsiveIconRadioGroupValueSchema = Schema.responsiveValue(
38
+ z.string()
39
+ );
40
+ export {
41
+ colorDataSchema,
42
+ gapDataSchema,
43
+ imageDataSchema,
44
+ imageDataV0Schema,
45
+ imageDataV1Schema,
46
+ lengthDataSchema,
47
+ responsiveGapDataSchema,
48
+ responsiveIconRadioGroupValueSchema,
49
+ responsiveNumberValueSchema,
50
+ responsiveSelectValueSchema
51
+ };
52
+ //# sourceMappingURL=data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/data.ts"],"sourcesContent":["import { z } from 'zod'\nimport { Schema, type ResponsiveValue } from './prop-controllers'\n\nexport const colorDataSchema = z.object({\n swatchId: z.string(),\n alpha: z.number(),\n})\n\nexport type ColorData = z.infer<typeof colorDataSchema>\n\nexport const lengthDataSchema = z.object({\n value: z.number(),\n unit: z.enum(['px', '%']),\n})\n\nexport type LengthData = z.infer<typeof lengthDataSchema>\n\nexport const gapDataSchema = z.object({\n value: z.number(),\n unit: z.literal('px'),\n})\n\nexport type GapData = z.infer<typeof gapDataSchema>\n\nexport const responsiveGapDataSchema = Schema.responsiveValue(gapDataSchema)\n\nexport type ResponsiveGapData = z.infer<typeof responsiveGapDataSchema>\n\nconst fileIdSchema = z.string()\n\nexport const imageDataV0Schema = fileIdSchema\n\nexport type ImageDataV0 = z.infer<typeof imageDataV0Schema>\n\nconst imageDataV1MakeswiftFileSchema = z.object({\n version: z.literal(1),\n type: z.literal('makeswift-file'),\n id: z.string(),\n})\n\nconst imageDataV1ExternalFileSchema = z.object({\n version: z.literal(1),\n type: z.literal('external-file'),\n url: z.string(),\n width: z.number().nullable().optional(),\n height: z.number().nullable().optional(),\n})\n\nexport const imageDataV1Schema = z.union([\n imageDataV1MakeswiftFileSchema,\n imageDataV1ExternalFileSchema,\n])\n\nexport type ImageDataV1 = z.infer<typeof imageDataV1Schema>\n\nexport const imageDataSchema = z.union([imageDataV0Schema, imageDataV1Schema])\n\nexport type ImageData = z.infer<typeof imageDataSchema>\n\nexport const responsiveNumberValueSchema = Schema.responsiveValue(z.number())\n\nexport type ResponsiveNumberValue = z.infer<typeof responsiveNumberValueSchema>\n\nexport const responsiveSelectValueSchema = Schema.responsiveValue(z.string())\n\nexport type ResponsiveSelectValue<T extends string = string> =\n ResponsiveValue<T>\n\nexport const responsiveIconRadioGroupValueSchema = Schema.responsiveValue(\n z.string(),\n)\n\nexport type ResponsiveIconRadioGroupValue<T extends string = string> =\n ResponsiveValue<T>\n"],"mappings":"AAAA,SAAS,SAAS;AAClB,SAAS,cAAoC;AAEtC,MAAM,kBAAkB,EAAE,OAAO;AAAA,EACtC,UAAU,EAAE,OAAO;AAAA,EACnB,OAAO,EAAE,OAAO;AAClB,CAAC;AAIM,MAAM,mBAAmB,EAAE,OAAO;AAAA,EACvC,OAAO,EAAE,OAAO;AAAA,EAChB,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC;AAC1B,CAAC;AAIM,MAAM,gBAAgB,EAAE,OAAO;AAAA,EACpC,OAAO,EAAE,OAAO;AAAA,EAChB,MAAM,EAAE,QAAQ,IAAI;AACtB,CAAC;AAIM,MAAM,0BAA0B,OAAO,gBAAgB,aAAa;AAI3E,MAAM,eAAe,EAAE,OAAO;AAEvB,MAAM,oBAAoB;AAIjC,MAAM,iCAAiC,EAAE,OAAO;AAAA,EAC9C,SAAS,EAAE,QAAQ,CAAC;AAAA,EACpB,MAAM,EAAE,QAAQ,gBAAgB;AAAA,EAChC,IAAI,EAAE,OAAO;AACf,CAAC;AAED,MAAM,gCAAgC,EAAE,OAAO;AAAA,EAC7C,SAAS,EAAE,QAAQ,CAAC;AAAA,EACpB,MAAM,EAAE,QAAQ,eAAe;AAAA,EAC/B,KAAK,EAAE,OAAO;AAAA,EACd,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,EACtC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AACzC,CAAC;AAEM,MAAM,oBAAoB,EAAE,MAAM;AAAA,EACvC;AAAA,EACA;AACF,CAAC;AAIM,MAAM,kBAAkB,EAAE,MAAM,CAAC,mBAAmB,iBAAiB,CAAC;AAItE,MAAM,8BAA8B,OAAO,gBAAgB,EAAE,OAAO,CAAC;AAIrE,MAAM,8BAA8B,OAAO,gBAAgB,EAAE,OAAO,CAAC;AAKrE,MAAM,sCAAsC,OAAO;AAAA,EACxD,EAAE,OAAO;AACX;","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 datePropControllerDataV0Schema = z.string();
5
+ const DatePropControllerDataV1Type = "prop-controllers::date::v1";
6
+ const datePropControllerDataV1Schema = z.object({
7
+ [ControlDataTypeKey]: z.literal(DatePropControllerDataV1Type),
8
+ value: z.string()
9
+ });
10
+ const datePropControllerDataSchema = z.union([
11
+ datePropControllerDataV0Schema,
12
+ datePropControllerDataV1Schema
13
+ ]);
14
+ function Date(options = {}) {
15
+ return { type: Types.Date, version: 1, options };
16
+ }
17
+ function getDatePropControllerDataString(data) {
18
+ return match(data).with(
19
+ { [ControlDataTypeKey]: DatePropControllerDataV1Type },
20
+ (v1) => v1.value
21
+ ).otherwise((v0) => v0);
22
+ }
23
+ function createDatePropControllerDataFromString(value, definition) {
24
+ return match(definition).with(
25
+ { version: 1 },
26
+ P.nullish,
27
+ () => ({
28
+ [ControlDataTypeKey]: DatePropControllerDataV1Type,
29
+ value
30
+ })
31
+ ).otherwise(() => value);
32
+ }
33
+ export {
34
+ Date,
35
+ DatePropControllerDataV1Type,
36
+ createDatePropControllerDataFromString,
37
+ datePropControllerDataSchema,
38
+ getDatePropControllerDataString
39
+ };
40
+ //# sourceMappingURL=date.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/date/date.ts"],"sourcesContent":["import { z } from 'zod'\nimport { ControlDataTypeKey, Options, Types } from '../prop-controllers'\nimport { P, match } from 'ts-pattern'\n\nconst datePropControllerDataV0Schema = z.string()\n\nexport type DatePropControllerDataV0 = z.infer<\n typeof datePropControllerDataV0Schema\n>\n\nexport const DatePropControllerDataV1Type = 'prop-controllers::date::v1'\n\nconst datePropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(DatePropControllerDataV1Type),\n value: z.string(),\n})\n\nexport type DatePropControllerDataV1 = z.infer<\n typeof datePropControllerDataV1Schema\n>\n\nexport const datePropControllerDataSchema = z.union([\n datePropControllerDataV0Schema,\n datePropControllerDataV1Schema,\n])\n\nexport type DatePropControllerData = z.infer<\n typeof datePropControllerDataSchema\n>\n\nexport type DateOptions = Options<{\n preset?: DatePropControllerData\n}>\n\ntype DateDescriptorV0<_T = DatePropControllerDataV0> = {\n type: typeof Types.Date\n options: DateOptions\n}\n\ntype DateDescriptorV1<\n _T = DatePropControllerData,\n U extends DateOptions = DateOptions,\n> = {\n type: typeof Types.Date\n version: 1\n options: U\n}\n\nexport type DateDescriptor<_T = DatePropControllerData> =\n | DateDescriptorV0\n | DateDescriptorV1\n\nexport type ResolveDatePropControllerValue<T extends DateDescriptor> =\n T extends DateDescriptor ? string | undefined : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function Date(options: DateOptions = {}): DateDescriptorV1 {\n return { type: Types.Date, version: 1, options }\n}\n\nexport function getDatePropControllerDataString(\n data: DatePropControllerData | undefined,\n): string | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: DatePropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createDatePropControllerDataFromString(\n value: string,\n definition?: DateDescriptor,\n): DatePropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n P.nullish,\n () =>\n ({\n [ControlDataTypeKey]: DatePropControllerDataV1Type,\n value,\n } as const),\n )\n .otherwise(() => value)\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAClB,SAAS,oBAA6B,aAAa;AACnD,SAAS,GAAG,aAAa;AAEzB,MAAM,iCAAiC,EAAE,OAAO;AAMzC,MAAM,+BAA+B;AAE5C,MAAM,iCAAiC,EAAE,OAAO;AAAA,EAC9C,CAAC,kBAAkB,GAAG,EAAE,QAAQ,4BAA4B;AAAA,EAC5D,OAAO,EAAE,OAAO;AAClB,CAAC;AAMM,MAAM,+BAA+B,EAAE,MAAM;AAAA,EAClD;AAAA,EACA;AACF,CAAC;AAmCM,SAAS,KAAK,UAAuB,CAAC,GAAqB;AAChE,SAAO,EAAE,MAAM,MAAM,MAAM,SAAS,GAAG,QAAQ;AACjD;AAEO,SAAS,gCACd,MACoB;AACpB,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,6BAA6B;AAAA,IACrD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,uCACd,OACA,YACwB;AACxB,SAAO,MAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,EAAE;AAAA,IACF,OACG;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACJ,EACC,UAAU,MAAM,KAAK;AAC1B;","names":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./date";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/date/index.ts"],"sourcesContent":["export * from './date'\n"],"mappings":"AAAA,cAAc;","names":[]}
@@ -0,0 +1,64 @@
1
+ import { z } from "zod";
2
+ import {
3
+ ControlDataTypeKey,
4
+ Types
5
+ } from "../prop-controllers";
6
+ import { P, match } from "ts-pattern";
7
+ const elementIDSchema = z.string();
8
+ const elementIDPropControllerDataV0Schema = elementIDSchema;
9
+ const ElementIDPropControllerDataV1Type = "prop-controllers::element-id::v1";
10
+ const elementIDPropControllerDataV1Schema = z.object({
11
+ [ControlDataTypeKey]: z.literal(ElementIDPropControllerDataV1Type),
12
+ value: elementIDSchema
13
+ });
14
+ const elementIDPropControllerDataSchema = z.union([
15
+ elementIDPropControllerDataV0Schema,
16
+ elementIDPropControllerDataV1Schema
17
+ ]);
18
+ function ElementID(options = {}) {
19
+ return { type: Types.ElementID, version: 1, options };
20
+ }
21
+ function getElementIDPropControllerDataElementID(data) {
22
+ return match(data).with(
23
+ { [ControlDataTypeKey]: ElementIDPropControllerDataV1Type },
24
+ (v1) => v1.value
25
+ ).otherwise((v0) => v0);
26
+ }
27
+ function createElementIDPropControllerDataFromElementID(value, definition) {
28
+ return match(definition).with(
29
+ { version: 1 },
30
+ P.nullish,
31
+ () => ({
32
+ [ControlDataTypeKey]: ElementIDPropControllerDataV1Type,
33
+ value
34
+ })
35
+ ).otherwise(() => value);
36
+ }
37
+ function copyElementID(data, context) {
38
+ if (data == null)
39
+ return data;
40
+ if (context.replacementContext.elementHtmlIds.has(data))
41
+ return void 0;
42
+ context.replacementContext.elementHtmlIds.add(data);
43
+ return data;
44
+ }
45
+ function copyElementIDPropControllerData(data, context) {
46
+ return match(data).with(void 0, () => void 0).with({ [ControlDataTypeKey]: ElementIDPropControllerDataV1Type }, (v1) => {
47
+ const value = copyElementID(v1.value, context);
48
+ if (value == null)
49
+ return void 0;
50
+ return {
51
+ [ControlDataTypeKey]: ElementIDPropControllerDataV1Type,
52
+ value
53
+ };
54
+ }).otherwise((v0) => copyElementID(v0, context));
55
+ }
56
+ export {
57
+ ElementID,
58
+ ElementIDPropControllerDataV1Type,
59
+ copyElementIDPropControllerData,
60
+ createElementIDPropControllerDataFromElementID,
61
+ elementIDPropControllerDataSchema,
62
+ getElementIDPropControllerDataElementID
63
+ };
64
+ //# sourceMappingURL=element-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/element-id/element-id.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n ControlDataTypeKey,\n CopyContext,\n Options,\n Types,\n} from '../prop-controllers'\nimport { P, match } from 'ts-pattern'\n\nconst elementIDSchema = z.string()\n\ntype ElementID = z.infer<typeof elementIDSchema>\n\nconst elementIDPropControllerDataV0Schema = elementIDSchema\n\nexport type ElementIDPropControllerDataV0 = z.infer<\n typeof elementIDPropControllerDataV0Schema\n>\n\nexport const ElementIDPropControllerDataV1Type =\n 'prop-controllers::element-id::v1'\n\nconst elementIDPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(ElementIDPropControllerDataV1Type),\n value: elementIDSchema,\n})\n\nexport type ElementIDPropControllerDataV1 = z.infer<\n typeof elementIDPropControllerDataV1Schema\n>\n\nexport const elementIDPropControllerDataSchema = z.union([\n elementIDPropControllerDataV0Schema,\n elementIDPropControllerDataV1Schema,\n])\n\nexport type ElementIDPropControllerData = z.infer<\n typeof elementIDPropControllerDataSchema\n>\n\nexport type ElementIDOptions = Options<Record<string, never>>\n\ntype ElementIDDescriptorV0<_T = ElementIDPropControllerDataV0> = {\n type: typeof Types.ElementID\n options: ElementIDOptions\n}\n\ntype ElementIDDescriptorV1<\n _T = ElementIDPropControllerData,\n U extends ElementIDOptions = ElementIDOptions,\n> = {\n type: typeof Types.ElementID\n version: 1\n options: U\n}\n\nexport type ElementIDDescriptor<_T = ElementIDPropControllerData> =\n | ElementIDDescriptorV0\n | ElementIDDescriptorV1\n\nexport type ResolveElementIDPropControllerValue<T extends ElementIDDescriptor> =\n T extends ElementIDDescriptor ? ElementID | undefined : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function ElementID(\n options: ElementIDOptions = {},\n): ElementIDDescriptorV1 {\n return { type: Types.ElementID, version: 1, options }\n}\n\nexport function getElementIDPropControllerDataElementID(\n data: ElementIDPropControllerData | undefined,\n): ElementID | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: ElementIDPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createElementIDPropControllerDataFromElementID(\n value: ElementID,\n definition: ElementIDDescriptor,\n): ElementIDPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n P.nullish,\n () =>\n ({\n [ControlDataTypeKey]: ElementIDPropControllerDataV1Type,\n value,\n } as const),\n )\n .otherwise(() => value)\n}\n\nfunction copyElementID(\n data: ElementID | undefined,\n context: CopyContext,\n): ElementID | undefined {\n if (data == null) return data\n\n if (context.replacementContext.elementHtmlIds.has(data)) return undefined\n\n context.replacementContext.elementHtmlIds.add(data)\n\n return data\n}\n\nexport function copyElementIDPropControllerData(\n data: ElementIDPropControllerData | undefined,\n context: CopyContext,\n): ElementIDPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with({ [ControlDataTypeKey]: ElementIDPropControllerDataV1Type }, (v1) => {\n const value = copyElementID(v1.value, context)\n\n if (value == null) return undefined\n\n return {\n [ControlDataTypeKey]: ElementIDPropControllerDataV1Type,\n value,\n } as const\n })\n .otherwise((v0) => copyElementID(v0, context))\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAClB;AAAA,EACE;AAAA,EAGA;AAAA,OACK;AACP,SAAS,GAAG,aAAa;AAEzB,MAAM,kBAAkB,EAAE,OAAO;AAIjC,MAAM,sCAAsC;AAMrC,MAAM,oCACX;AAEF,MAAM,sCAAsC,EAAE,OAAO;AAAA,EACnD,CAAC,kBAAkB,GAAG,EAAE,QAAQ,iCAAiC;AAAA,EACjE,OAAO;AACT,CAAC;AAMM,MAAM,oCAAoC,EAAE,MAAM;AAAA,EACvD;AAAA,EACA;AACF,CAAC;AAiCM,SAAS,UACd,UAA4B,CAAC,GACN;AACvB,SAAO,EAAE,MAAM,MAAM,WAAW,SAAS,GAAG,QAAQ;AACtD;AAEO,SAAS,wCACd,MACuB;AACvB,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,kCAAkC;AAAA,IAC1D,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,+CACd,OACA,YAC6B;AAC7B,SAAO,MAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,EAAE;AAAA,IACF,OACG;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACJ,EACC,UAAU,MAAM,KAAK;AAC1B;AAEA,SAAS,cACP,MACA,SACuB;AACvB,MAAI,QAAQ;AAAM,WAAO;AAEzB,MAAI,QAAQ,mBAAmB,eAAe,IAAI,IAAI;AAAG,WAAO;AAEhE,UAAQ,mBAAmB,eAAe,IAAI,IAAI;AAElD,SAAO;AACT;AAEO,SAAS,gCACd,MACA,SACyC;AACzC,SAAO,MAAM,IAAI,EACd,KAAK,QAAW,MAAM,MAAS,EAC/B,KAAK,EAAE,CAAC,kBAAkB,GAAG,kCAAkC,GAAG,CAAC,OAAO;AACzE,UAAM,QAAQ,cAAc,GAAG,OAAO,OAAO;AAE7C,QAAI,SAAS;AAAM,aAAO;AAE1B,WAAO;AAAA,MACL,CAAC,kBAAkB,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACF,CAAC,EACA,UAAU,CAAC,OAAO,cAAc,IAAI,OAAO,CAAC;AACjD;","names":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./element-id";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/element-id/index.ts"],"sourcesContent":["export * from './element-id'\n"],"mappings":"AAAA,cAAc;","names":[]}
@@ -0,0 +1,42 @@
1
+ import { P, match } from "ts-pattern";
2
+ import { ControlDataTypeKey, Types, Schema } from "../prop-controllers";
3
+ import { z } from "zod";
4
+ const fontDataSchema = z.string();
5
+ const responsiveFontDataSchema = Schema.responsiveValue(fontDataSchema);
6
+ const fontPropControllerDataV0Schema = responsiveFontDataSchema;
7
+ const FontPropControllerDataV1Type = "prop-controllers::font::v1";
8
+ const fontPropControllerDataV1Schema = z.object({
9
+ [ControlDataTypeKey]: z.literal(FontPropControllerDataV1Type),
10
+ value: responsiveFontDataSchema
11
+ });
12
+ const fontPropControllerDataSchema = z.union([
13
+ fontPropControllerDataV0Schema,
14
+ fontPropControllerDataV1Schema
15
+ ]);
16
+ function Font(options = {}) {
17
+ return { type: Types.Font, version: 1, options };
18
+ }
19
+ function getFontPropControllerDataResponsiveFontData(data) {
20
+ return match(data).with(
21
+ { [ControlDataTypeKey]: FontPropControllerDataV1Type },
22
+ (v1) => v1.value
23
+ ).otherwise((v0) => v0);
24
+ }
25
+ function createFontPropControllerDataFromResponsiveFontData(responsiveFontData, definition) {
26
+ return match(definition).with(
27
+ { version: 1 },
28
+ P.nullish,
29
+ () => ({
30
+ [ControlDataTypeKey]: FontPropControllerDataV1Type,
31
+ value: responsiveFontData
32
+ })
33
+ ).otherwise(() => responsiveFontData);
34
+ }
35
+ export {
36
+ Font,
37
+ FontPropControllerDataV1Type,
38
+ createFontPropControllerDataFromResponsiveFontData,
39
+ fontPropControllerDataSchema,
40
+ getFontPropControllerDataResponsiveFontData
41
+ };
42
+ //# sourceMappingURL=font.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/font/font.ts"],"sourcesContent":["import { P, match } from 'ts-pattern'\nimport { ControlDataTypeKey, Options, Types, Schema } from '../prop-controllers'\nimport { z } from 'zod'\n\nconst fontDataSchema = z.string()\n\nexport type FontData = z.infer<typeof fontDataSchema>\n\nconst responsiveFontDataSchema = Schema.responsiveValue(fontDataSchema)\n\nexport type ResponsiveFontData = z.infer<typeof responsiveFontDataSchema>\n\nconst fontPropControllerDataV0Schema = responsiveFontDataSchema\n\nexport type FontPropControllerDataV0 = z.infer<\n typeof fontPropControllerDataV0Schema\n>\n\nexport const FontPropControllerDataV1Type = 'prop-controllers::font::v1'\n\nconst fontPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(FontPropControllerDataV1Type),\n value: responsiveFontDataSchema,\n})\n\nexport type FontPropControllerDataV1 = z.infer<\n typeof fontPropControllerDataV1Schema\n>\n\nexport const fontPropControllerDataSchema = z.union([\n fontPropControllerDataV0Schema,\n fontPropControllerDataV1Schema,\n])\n\nexport type FontPropControllerData = z.infer<\n typeof fontPropControllerDataSchema\n>\n\ntype FontOptions = Options<{ preset?: FontPropControllerData; label?: string }>\n\ntype FontDescriptorV0<\n _T = FontPropControllerDataV0,\n U extends FontOptions = FontOptions,\n> = {\n type: typeof Types.Font\n options: U\n}\n\ntype FontDescriptorV1<\n _T = FontPropControllerData,\n U extends FontOptions = FontOptions,\n> = {\n type: typeof Types.Font\n version: 1\n options: U\n}\n\nexport type FontDescriptor<\n _T = FontPropControllerData,\n U extends FontOptions = FontOptions,\n> = FontDescriptorV0<_T, U> | FontDescriptorV1<_T, U>\n\nexport type ResolveFontPropControllerValue<T extends FontDescriptor> =\n T extends FontDescriptor ? ResponsiveFontData | undefined : never\n\n/**\n * @deprecated Imports from `@makeswift/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function Font(\n options: FontOptions = {},\n): FontDescriptor<FontPropControllerData> {\n return { type: Types.Font, version: 1, options }\n}\n\nexport function getFontPropControllerDataResponsiveFontData(\n data: FontPropControllerData | undefined,\n): ResponsiveFontData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: FontPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createFontPropControllerDataFromResponsiveFontData(\n responsiveFontData: ResponsiveFontData,\n definition?: FontDescriptor,\n): FontPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n P.nullish,\n () =>\n ({\n [ControlDataTypeKey]: FontPropControllerDataV1Type,\n value: responsiveFontData,\n }) as const,\n )\n .otherwise(() => responsiveFontData)\n}\n"],"mappings":"AAAA,SAAS,GAAG,aAAa;AACzB,SAAS,oBAA6B,OAAO,cAAc;AAC3D,SAAS,SAAS;AAElB,MAAM,iBAAiB,EAAE,OAAO;AAIhC,MAAM,2BAA2B,OAAO,gBAAgB,cAAc;AAItE,MAAM,iCAAiC;AAMhC,MAAM,+BAA+B;AAE5C,MAAM,iCAAiC,EAAE,OAAO;AAAA,EAC9C,CAAC,kBAAkB,GAAG,EAAE,QAAQ,4BAA4B;AAAA,EAC5D,OAAO;AACT,CAAC;AAMM,MAAM,+BAA+B,EAAE,MAAM;AAAA,EAClD;AAAA,EACA;AACF,CAAC;AAqCM,SAAS,KACd,UAAuB,CAAC,GACgB;AACxC,SAAO,EAAE,MAAM,MAAM,MAAM,SAAS,GAAG,QAAQ;AACjD;AAEO,SAAS,4CACd,MACgC;AAChC,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,6BAA6B;AAAA,IACrD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,mDACd,oBACA,YACwB;AACxB,SAAO,MAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,EAAE;AAAA,IACF,OACG;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB,OAAO;AAAA,IACT;AAAA,EACJ,EACC,UAAU,MAAM,kBAAkB;AACvC;","names":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./font";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/font/index.ts"],"sourcesContent":["export * from './font'\n"],"mappings":"AAAA,cAAc;","names":[]}
@@ -0,0 +1,16 @@
1
+ import { Types } from "../prop-controllers";
2
+ import { responsiveGapDataSchema } from "../data";
3
+ import { versionedPropDef, typeArg } from "../versioned";
4
+ const GapX = versionedPropDef(
5
+ Types.GapX,
6
+ responsiveGapDataSchema,
7
+ {
8
+ version: 1,
9
+ dataKey: "prop-controllers::gap-x::v1"
10
+ },
11
+ typeArg()
12
+ );
13
+ export {
14
+ GapX
15
+ };
16
+ //# sourceMappingURL=gap-x.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/gap-x/gap-x.ts"],"sourcesContent":["import { Types } from '../prop-controllers'\nimport { GapData, responsiveGapDataSchema } from '../data'\nimport { versionedPropDef, typeArg } from '../versioned'\n\nexport const GapX = versionedPropDef(\n Types.GapX,\n responsiveGapDataSchema,\n {\n version: 1,\n dataKey: 'prop-controllers::gap-x::v1',\n },\n typeArg<{\n preset?: unknown\n label?: string\n defaultValue?: GapData\n min?: number\n max?: number\n step?: number\n hidden?: boolean\n }>(),\n)\n"],"mappings":"AAAA,SAAS,aAAa;AACtB,SAAkB,+BAA+B;AACjD,SAAS,kBAAkB,eAAe;AAEnC,MAAM,OAAO;AAAA,EAClB,MAAM;AAAA,EACN;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,EACX;AAAA,EACA,QAQG;AACL;","names":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./gap-x";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/gap-x/index.ts"],"sourcesContent":["export * from './gap-x'\n"],"mappings":"AAAA,cAAc;","names":[]}
@@ -0,0 +1,40 @@
1
+ import { match } from "ts-pattern";
2
+ import { ControlDataTypeKey, Types } from "../prop-controllers";
3
+ import { z } from "zod";
4
+ import { responsiveGapDataSchema } from "../data";
5
+ const gapYPropControllerDataV0Schema = responsiveGapDataSchema;
6
+ const GapYPropControllerDataV1Type = "prop-controllers::gap-y::v1";
7
+ const gapYPropControllerDataV1Schema = z.object({
8
+ [ControlDataTypeKey]: z.literal(GapYPropControllerDataV1Type),
9
+ value: responsiveGapDataSchema
10
+ });
11
+ const gapYPropControllerDataSchema = z.union([
12
+ gapYPropControllerDataV0Schema,
13
+ gapYPropControllerDataV1Schema
14
+ ]);
15
+ function GapY(options = {}) {
16
+ return { type: Types.GapY, version: 1, options };
17
+ }
18
+ function getGapYPropControllerDataResponsiveGapData(data) {
19
+ return match(data).with(
20
+ { [ControlDataTypeKey]: GapYPropControllerDataV1Type },
21
+ (v1) => v1.value
22
+ ).otherwise((v0) => v0);
23
+ }
24
+ function createGapYPropControllerDataFromResponsiveGapData(responsiveGapData, definition) {
25
+ return match(definition).with(
26
+ { version: 1 },
27
+ () => ({
28
+ [ControlDataTypeKey]: GapYPropControllerDataV1Type,
29
+ value: responsiveGapData
30
+ })
31
+ ).otherwise(() => responsiveGapData);
32
+ }
33
+ export {
34
+ GapY,
35
+ GapYPropControllerDataV1Type,
36
+ createGapYPropControllerDataFromResponsiveGapData,
37
+ gapYPropControllerDataSchema,
38
+ getGapYPropControllerDataResponsiveGapData
39
+ };
40
+ //# sourceMappingURL=gap-y.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/gap-y/gap-y.ts"],"sourcesContent":["import { match } from 'ts-pattern'\nimport { ControlDataTypeKey, Options, Types } from '../prop-controllers'\nimport { z } from 'zod'\nimport { GapData, ResponsiveGapData, responsiveGapDataSchema } from '../data'\n\nconst gapYPropControllerDataV0Schema = responsiveGapDataSchema\n\nexport type GapYPropControllerDataV0 = z.infer<\n typeof gapYPropControllerDataV0Schema\n>\n\nexport const GapYPropControllerDataV1Type = 'prop-controllers::gap-y::v1'\n\nconst gapYPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(GapYPropControllerDataV1Type),\n value: responsiveGapDataSchema,\n})\n\nexport type GapYPropControllerDataV1 = z.infer<\n typeof gapYPropControllerDataV1Schema\n>\n\nexport const gapYPropControllerDataSchema = z.union([\n gapYPropControllerDataV0Schema,\n gapYPropControllerDataV1Schema,\n])\n\nexport type GapYPropControllerData = z.infer<\n typeof gapYPropControllerDataSchema\n>\n\nexport type GapYOptions = Options<{\n preset?: ResponsiveGapData\n label?: string\n defaultValue?: GapData\n min?: number\n max?: number\n step?: number\n hidden?: boolean\n}>\n\ntype GapYDescriptorV0<\n _T = GapYPropControllerDataV0,\n U extends GapYOptions = GapYOptions,\n> = {\n type: typeof Types.GapY\n options: U\n}\n\ntype GapYDescriptorV1<\n _T = GapYPropControllerData,\n U extends GapYOptions = GapYOptions,\n> = {\n type: typeof Types.GapY\n version: 1\n options: U\n}\n\nexport type GapYDescriptor<\n _T = GapYPropControllerData,\n U extends GapYOptions = GapYOptions,\n> = GapYDescriptorV0<_T, U> | GapYDescriptorV1<_T, U>\n\nexport type ResolveGapYPropControllerValue<T extends GapYDescriptor> =\n T extends GapYDescriptor ? ResponsiveGapData | undefined : never\n\n/**\n * @deprecated Imports from `@makeswift/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function GapY(\n options: GapYOptions = {},\n): GapYDescriptor<GapYPropControllerData> {\n return { type: Types.GapY, version: 1, options }\n}\n\nexport function getGapYPropControllerDataResponsiveGapData(\n data: GapYPropControllerData | undefined,\n): ResponsiveGapData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: GapYPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createGapYPropControllerDataFromResponsiveGapData(\n responsiveGapData: ResponsiveGapData,\n definition: GapYDescriptor,\n): GapYPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n () =>\n ({\n [ControlDataTypeKey]: GapYPropControllerDataV1Type,\n value: responsiveGapData,\n } as const),\n )\n .otherwise(() => responsiveGapData)\n}\n"],"mappings":"AAAA,SAAS,aAAa;AACtB,SAAS,oBAA6B,aAAa;AACnD,SAAS,SAAS;AAClB,SAAqC,+BAA+B;AAEpE,MAAM,iCAAiC;AAMhC,MAAM,+BAA+B;AAE5C,MAAM,iCAAiC,EAAE,OAAO;AAAA,EAC9C,CAAC,kBAAkB,GAAG,EAAE,QAAQ,4BAA4B;AAAA,EAC5D,OAAO;AACT,CAAC;AAMM,MAAM,+BAA+B,EAAE,MAAM;AAAA,EAClD;AAAA,EACA;AACF,CAAC;AA6CM,SAAS,KACd,UAAuB,CAAC,GACgB;AACxC,SAAO,EAAE,MAAM,MAAM,MAAM,SAAS,GAAG,QAAQ;AACjD;AAEO,SAAS,2CACd,MAC+B;AAC/B,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,6BAA6B;AAAA,IACrD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,kDACd,mBACA,YACwB;AACxB,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,iBAAiB;AACtC;","names":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./gap-y";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/gap-y/index.ts"],"sourcesContent":["export * from './gap-y'\n"],"mappings":"AAAA,cAAc;","names":[]}
@@ -0,0 +1,102 @@
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
+ const gridColumnSchema = z.object({
9
+ count: z.number(),
10
+ spans: z.array(z.array(z.number()))
11
+ });
12
+ const gridDataSchema = z.object({
13
+ elements: z.array(Schema.element),
14
+ columns: Schema.responsiveValue(gridColumnSchema)
15
+ });
16
+ const gridPropControllerDataV0Schema = gridDataSchema;
17
+ const GridPropControllerDataV1Type = "prop-controllers::grid::v1";
18
+ const gridPropControllerDataV1Schema = z.object({
19
+ [ControlDataTypeKey]: z.literal(GridPropControllerDataV1Type),
20
+ value: gridDataSchema
21
+ });
22
+ const gridPropControllerDataSchema = z.union([
23
+ gridPropControllerDataV0Schema,
24
+ gridPropControllerDataV1Schema
25
+ ]);
26
+ function Grid(options = {}) {
27
+ return { type: Types.Grid, version: 1, options };
28
+ }
29
+ function getGridPropControllerDataGridData(data) {
30
+ return match(data).with(
31
+ { [ControlDataTypeKey]: GridPropControllerDataV1Type },
32
+ (v1) => v1.value
33
+ ).otherwise((v0) => v0);
34
+ }
35
+ function createGridPropControllerDataFromGridData(value, definition) {
36
+ return match(definition).with(
37
+ { version: 1 },
38
+ P.nullish,
39
+ () => ({
40
+ [ControlDataTypeKey]: GridPropControllerDataV1Type,
41
+ value
42
+ })
43
+ ).otherwise(() => value);
44
+ }
45
+ function mergeGridDataTranslatedData(data, context) {
46
+ return {
47
+ ...data,
48
+ elements: data.elements.map(
49
+ (element) => context.mergeTranslatedData(element)
50
+ )
51
+ };
52
+ }
53
+ function mergeGridPropControllerTranslatedData(data, context) {
54
+ return match(data).with(
55
+ { [ControlDataTypeKey]: GridPropControllerDataV1Type },
56
+ (v1) => ({
57
+ [ControlDataTypeKey]: GridPropControllerDataV1Type,
58
+ value: mergeGridDataTranslatedData(v1.value, context)
59
+ })
60
+ ).otherwise((v0) => mergeGridDataTranslatedData(v0, context));
61
+ }
62
+ function getGridPropControllerElementChildren(data) {
63
+ return getGridPropControllerDataGridData(data)?.elements ?? [];
64
+ }
65
+ function copyGridData(data, context) {
66
+ return {
67
+ ...data,
68
+ elements: data.elements.map((element) => context.copyElement(element))
69
+ };
70
+ }
71
+ function copyGridPropControllerData(data, context) {
72
+ return match(data).with(void 0, () => void 0).with(
73
+ { [ControlDataTypeKey]: GridPropControllerDataV1Type },
74
+ (v1) => ({
75
+ [ControlDataTypeKey]: GridPropControllerDataV1Type,
76
+ value: copyGridData(v1.value, context)
77
+ })
78
+ ).otherwise((v0) => copyGridData(v0, context));
79
+ }
80
+ function getGridPropControllerGetElementPath(data, elementKey) {
81
+ const value = getGridPropControllerDataGridData(data);
82
+ const idx = value?.elements.findIndex((element) => element.key === elementKey) ?? -1;
83
+ if (idx === -1)
84
+ return null;
85
+ return match(data).with({ [ControlDataTypeKey]: GridPropControllerDataV1Type }, (_v1) => [
86
+ "value",
87
+ "elements",
88
+ idx
89
+ ]).otherwise((_v0) => ["elements", idx]);
90
+ }
91
+ export {
92
+ Grid,
93
+ GridPropControllerDataV1Type,
94
+ copyGridPropControllerData,
95
+ createGridPropControllerDataFromGridData,
96
+ getGridPropControllerDataGridData,
97
+ getGridPropControllerElementChildren,
98
+ getGridPropControllerGetElementPath,
99
+ gridPropControllerDataSchema,
100
+ mergeGridPropControllerTranslatedData
101
+ };
102
+ //# sourceMappingURL=grid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/grid/grid.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n ControlDataTypeKey,\n CopyContext,\n Element,\n MergeTranslatableDataContext,\n Options,\n Types,\n Schema,\n} from '../prop-controllers'\nimport { P, match } from 'ts-pattern'\n\nconst gridColumnSchema = z.object({\n count: z.number(),\n spans: z.array(z.array(z.number())),\n})\n\nconst gridDataSchema = z.object({\n elements: z.array(Schema.element),\n columns: Schema.responsiveValue(gridColumnSchema),\n})\n\nexport type GridData = z.infer<typeof gridDataSchema>\n\nconst gridPropControllerDataV0Schema = gridDataSchema\n\nexport type GridPropControllerDataV0 = z.infer<\n typeof gridPropControllerDataV0Schema\n>\n\nexport const GridPropControllerDataV1Type = 'prop-controllers::grid::v1'\n\nconst gridPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(GridPropControllerDataV1Type),\n value: gridDataSchema,\n})\n\nexport type GridPropControllerDataV1 = z.infer<\n typeof gridPropControllerDataV1Schema\n>\n\nexport const gridPropControllerDataSchema = z.union([\n gridPropControllerDataV0Schema,\n gridPropControllerDataV1Schema,\n])\n\nexport type GridPropControllerData = z.infer<\n typeof gridPropControllerDataSchema\n>\n\nexport type GridOptions = Options<Record<string, never>>\n\ntype GridDescriptorV0<_T = GridPropControllerDataV0> = {\n type: typeof Types.Grid\n options: GridOptions\n}\n\ntype GridDescriptorV1<\n _T = GridPropControllerData,\n U extends GridOptions = GridOptions,\n> = {\n type: typeof Types.Grid\n version: 1\n options: U\n}\n\nexport type GridDescriptor<_T = GridPropControllerData> =\n | GridDescriptorV0\n | GridDescriptorV1\n\nexport type ResolveGridPropControllerValue<T extends GridDescriptor> =\n T extends GridDescriptor ? GridData | undefined : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function Grid(options: GridOptions = {}): GridDescriptorV1 {\n return { type: Types.Grid, version: 1, options }\n}\n\nexport function getGridPropControllerDataGridData(\n data: GridPropControllerData | undefined,\n): GridData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: GridPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createGridPropControllerDataFromGridData(\n value: GridData,\n definition: GridDescriptor,\n): GridPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n P.nullish,\n () =>\n ({\n [ControlDataTypeKey]: GridPropControllerDataV1Type,\n value,\n }) as const,\n )\n .otherwise(() => value)\n}\n\nfunction mergeGridDataTranslatedData(\n data: GridData,\n context: MergeTranslatableDataContext,\n): GridData {\n return {\n ...data,\n elements: data.elements.map((element) =>\n context.mergeTranslatedData(element),\n ),\n }\n}\n\nexport function mergeGridPropControllerTranslatedData(\n data: GridPropControllerData,\n context: MergeTranslatableDataContext,\n): GridPropControllerData {\n return match(data)\n .with(\n { [ControlDataTypeKey]: GridPropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: GridPropControllerDataV1Type,\n value: mergeGridDataTranslatedData(v1.value, context),\n }) as const,\n )\n .otherwise((v0) => mergeGridDataTranslatedData(v0, context))\n}\n\nexport function getGridPropControllerElementChildren(\n data: GridPropControllerData | undefined,\n): Element[] {\n return getGridPropControllerDataGridData(data)?.elements ?? []\n}\n\nfunction copyGridData(data: GridData, context: CopyContext): GridData {\n return {\n ...data,\n elements: data.elements.map((element) => context.copyElement(element)),\n }\n}\n\nexport function copyGridPropControllerData(\n data: GridPropControllerData | undefined,\n context: CopyContext,\n): GridPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: GridPropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: GridPropControllerDataV1Type,\n value: copyGridData(v1.value, context),\n }) as const,\n )\n .otherwise((v0) => copyGridData(v0, context))\n}\n\ntype Path = ReadonlyArray<string | number>\n\nexport function getGridPropControllerGetElementPath(\n data: GridPropControllerData | undefined,\n elementKey: string,\n): Path | null {\n const value = getGridPropControllerDataGridData(data)\n\n const idx =\n value?.elements.findIndex((element) => element.key === elementKey) ?? -1\n\n if (idx === -1) return null\n\n return match(data)\n .with({ [ControlDataTypeKey]: GridPropControllerDataV1Type }, (_v1) => [\n 'value',\n 'elements',\n idx,\n ])\n .otherwise((_v0) => ['elements', idx])\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAClB;AAAA,EACE;AAAA,EAKA;AAAA,EACA;AAAA,OACK;AACP,SAAS,GAAG,aAAa;AAEzB,MAAM,mBAAmB,EAAE,OAAO;AAAA,EAChC,OAAO,EAAE,OAAO;AAAA,EAChB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,iBAAiB,EAAE,OAAO;AAAA,EAC9B,UAAU,EAAE,MAAM,OAAO,OAAO;AAAA,EAChC,SAAS,OAAO,gBAAgB,gBAAgB;AAClD,CAAC;AAID,MAAM,iCAAiC;AAMhC,MAAM,+BAA+B;AAE5C,MAAM,iCAAiC,EAAE,OAAO;AAAA,EAC9C,CAAC,kBAAkB,GAAG,EAAE,QAAQ,4BAA4B;AAAA,EAC5D,OAAO;AACT,CAAC;AAMM,MAAM,+BAA+B,EAAE,MAAM;AAAA,EAClD;AAAA,EACA;AACF,CAAC;AAiCM,SAAS,KAAK,UAAuB,CAAC,GAAqB;AAChE,SAAO,EAAE,MAAM,MAAM,MAAM,SAAS,GAAG,QAAQ;AACjD;AAEO,SAAS,kCACd,MACsB;AACtB,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,6BAA6B;AAAA,IACrD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,yCACd,OACA,YACwB;AACxB,SAAO,MAAM,UAAU,EACpB;AAAA,IACC,EAAE,SAAS,EAAE;AAAA,IACb,EAAE;AAAA,IACF,OACG;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACJ,EACC,UAAU,MAAM,KAAK;AAC1B;AAEA,SAAS,4BACP,MACA,SACU;AACV,SAAO;AAAA,IACL,GAAG;AAAA,IACH,UAAU,KAAK,SAAS;AAAA,MAAI,CAAC,YAC3B,QAAQ,oBAAoB,OAAO;AAAA,IACrC;AAAA,EACF;AACF;AAEO,SAAS,sCACd,MACA,SACwB;AACxB,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,6BAA6B;AAAA,IACrD,CAAC,QACE;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB,OAAO,4BAA4B,GAAG,OAAO,OAAO;AAAA,IACtD;AAAA,EACJ,EACC,UAAU,CAAC,OAAO,4BAA4B,IAAI,OAAO,CAAC;AAC/D;AAEO,SAAS,qCACd,MACW;AACX,SAAO,kCAAkC,IAAI,GAAG,YAAY,CAAC;AAC/D;AAEA,SAAS,aAAa,MAAgB,SAAgC;AACpE,SAAO;AAAA,IACL,GAAG;AAAA,IACH,UAAU,KAAK,SAAS,IAAI,CAAC,YAAY,QAAQ,YAAY,OAAO,CAAC;AAAA,EACvE;AACF;AAEO,SAAS,2BACd,MACA,SACoC;AACpC,SAAO,MAAM,IAAI,EACd,KAAK,QAAW,MAAM,MAAS,EAC/B;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,6BAA6B;AAAA,IACrD,CAAC,QACE;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB,OAAO,aAAa,GAAG,OAAO,OAAO;AAAA,IACvC;AAAA,EACJ,EACC,UAAU,CAAC,OAAO,aAAa,IAAI,OAAO,CAAC;AAChD;AAIO,SAAS,oCACd,MACA,YACa;AACb,QAAM,QAAQ,kCAAkC,IAAI;AAEpD,QAAM,MACJ,OAAO,SAAS,UAAU,CAAC,YAAY,QAAQ,QAAQ,UAAU,KAAK;AAExE,MAAI,QAAQ;AAAI,WAAO;AAEvB,SAAO,MAAM,IAAI,EACd,KAAK,EAAE,CAAC,kBAAkB,GAAG,6BAA6B,GAAG,CAAC,QAAQ;AAAA,IACrE;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC,EACA,UAAU,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC;AACzC;","names":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./grid";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/grid/index.ts"],"sourcesContent":["export * from './grid'\n"],"mappings":"AAAA,cAAc;","names":[]}
@@ -0,0 +1,71 @@
1
+ import { z } from "zod";
2
+ import {
3
+ ControlDataTypeKey,
4
+ Types
5
+ } from "../prop-controllers";
6
+ import { P, match } from "ts-pattern";
7
+ import {
8
+ imageDataSchema,
9
+ imageDataV0Schema
10
+ } from "../data";
11
+ const imagePropControllerDataV0Schema = imageDataV0Schema;
12
+ const imagePropControllerDataV1Schema = imageDataSchema;
13
+ const ImagePropControllerDataV2Type = "prop-controllers::image::v2";
14
+ const imagePropControllerDataV2Schema = z.object({
15
+ [ControlDataTypeKey]: z.literal(ImagePropControllerDataV2Type),
16
+ value: imagePropControllerDataV1Schema
17
+ });
18
+ const imagePropControllerDataSchema = z.union([
19
+ imagePropControllerDataV0Schema,
20
+ imagePropControllerDataV1Schema,
21
+ imagePropControllerDataV2Schema
22
+ ]);
23
+ function Image(options = {}) {
24
+ return { type: Types.Image, version: 2, options };
25
+ }
26
+ function getImagePropControllerDataImageData(data) {
27
+ return match(data).with(
28
+ { [ControlDataTypeKey]: ImagePropControllerDataV2Type },
29
+ (v2) => v2.value
30
+ ).otherwise((v0) => v0);
31
+ }
32
+ function createImagePropControllerDataFromImageData(data, definition) {
33
+ return match(definition).with(
34
+ { version: 2 },
35
+ () => ({
36
+ [ControlDataTypeKey]: ImagePropControllerDataV2Type,
37
+ value: data
38
+ })
39
+ ).otherwise(() => data);
40
+ }
41
+ function getImagePropControllerFileIds(data) {
42
+ const value = getImagePropControllerDataImageData(data);
43
+ return match(value).with(void 0, () => []).with(P.string, (v) => [v]).with({ type: "makeswift-file", version: 1 }, (v) => [v.id]).with({ type: "external-file", version: 1 }, () => []).exhaustive();
44
+ }
45
+ function copyImageData(data, context) {
46
+ return match(data).with(P.string, (v) => context.replacementContext.fileIds.get(v) ?? v).with({ type: "makeswift-file", version: 1 }, (v) => ({
47
+ ...v,
48
+ id: context.replacementContext.fileIds.get(v.id) ?? v.id
49
+ })).otherwise((v) => v);
50
+ }
51
+ function copyImagePropControllerData(data, context) {
52
+ return match(data).with(void 0, () => void 0).with({ [ControlDataTypeKey]: ImagePropControllerDataV2Type }, (v1) => {
53
+ const value = copyImageData(v1.value, context);
54
+ if (value == null)
55
+ return void 0;
56
+ return {
57
+ [ControlDataTypeKey]: ImagePropControllerDataV2Type,
58
+ value
59
+ };
60
+ }).otherwise((v0) => copyImageData(v0, context));
61
+ }
62
+ export {
63
+ Image,
64
+ ImagePropControllerDataV2Type,
65
+ copyImagePropControllerData,
66
+ createImagePropControllerDataFromImageData,
67
+ getImagePropControllerDataImageData,
68
+ getImagePropControllerFileIds,
69
+ imagePropControllerDataSchema
70
+ };
71
+ //# sourceMappingURL=image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/image/image.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n ControlDataTypeKey,\n CopyContext,\n Options,\n Types,\n} from '../prop-controllers'\nimport { P, match } from 'ts-pattern'\nimport {\n ImageData,\n ImageDataV0,\n imageDataSchema,\n imageDataV0Schema,\n} from '../data'\n\nconst imagePropControllerDataV0Schema = imageDataV0Schema\n\nconst imagePropControllerDataV1Schema = imageDataSchema\n\nexport const ImagePropControllerDataV2Type = 'prop-controllers::image::v2'\n\nconst imagePropControllerDataV2Schema = z.object({\n [ControlDataTypeKey]: z.literal(ImagePropControllerDataV2Type),\n value: imagePropControllerDataV1Schema,\n})\n\nexport type ImagePropControllerDataV2 = z.infer<\n typeof imagePropControllerDataV2Schema\n>\n\nexport const imagePropControllerDataSchema = z.union([\n imagePropControllerDataV0Schema,\n imagePropControllerDataV1Schema,\n imagePropControllerDataV2Schema,\n])\n\nexport type ImagePropControllerData = z.infer<\n typeof imagePropControllerDataSchema\n>\n\nexport type ImageOptions = Options<{ label?: string; hidden?: boolean }>\n\ntype ImageDescriptorV0<_T = ImageDataV0> = {\n type: typeof Types.Image\n options: ImageOptions\n}\n\ntype ImageDescriptorV1<_T = ImageData> = {\n type: typeof Types.Image\n version: 1\n options: ImageOptions\n}\n\ntype ImageDescriptorV2<_T = ImagePropControllerData> = {\n type: typeof Types.Image\n version: 2\n options: ImageOptions\n}\n\nexport type ImageDescriptor<_T = ImagePropControllerData> =\n | ImageDescriptorV0\n | ImageDescriptorV1\n | ImageDescriptorV2\n\nexport type ResolveImagePropControllerValue<T extends ImageDescriptor> =\n T extends ImageDescriptor ? ImageData | undefined : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function Image(options: ImageOptions = {}): ImageDescriptorV2 {\n return { type: Types.Image, version: 2, options }\n}\n\nexport function getImagePropControllerDataImageData(\n data: ImagePropControllerData | undefined,\n): ImageData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: ImagePropControllerDataV2Type },\n (v2) => v2.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createImagePropControllerDataFromImageData(\n data: ImageData,\n definition: ImageDescriptor,\n): ImagePropControllerData {\n return match(definition)\n .with(\n { version: 2 },\n () =>\n ({\n [ControlDataTypeKey]: ImagePropControllerDataV2Type,\n value: data,\n } as const),\n )\n .otherwise(() => data)\n}\n\nexport function getImagePropControllerFileIds(\n data: ImagePropControllerData | undefined,\n): string[] {\n const value = getImagePropControllerDataImageData(data)\n\n return match(value)\n .with(undefined, () => [])\n .with(P.string, (v) => [v])\n .with({ type: 'makeswift-file', version: 1 }, (v) => [v.id])\n .with({ type: 'external-file', version: 1 }, () => [])\n .exhaustive()\n}\n\nfunction copyImageData(\n data: ImageData | undefined,\n context: CopyContext,\n): ImageData | undefined {\n return match(data)\n .with(P.string, (v) => context.replacementContext.fileIds.get(v) ?? v)\n .with({ type: 'makeswift-file', version: 1 }, (v) => ({\n ...v,\n id: context.replacementContext.fileIds.get(v.id) ?? v.id,\n }))\n .otherwise((v) => v)\n}\n\nexport function copyImagePropControllerData(\n data: ImagePropControllerData | undefined,\n context: CopyContext,\n): ImagePropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with({ [ControlDataTypeKey]: ImagePropControllerDataV2Type }, (v1) => {\n const value = copyImageData(v1.value, context)\n\n if (value == null) return undefined\n\n return {\n [ControlDataTypeKey]: ImagePropControllerDataV2Type,\n value,\n } as const\n })\n .otherwise((v0) => copyImageData(v0, context))\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAClB;AAAA,EACE;AAAA,EAGA;AAAA,OACK;AACP,SAAS,GAAG,aAAa;AACzB;AAAA,EAGE;AAAA,EACA;AAAA,OACK;AAEP,MAAM,kCAAkC;AAExC,MAAM,kCAAkC;AAEjC,MAAM,gCAAgC;AAE7C,MAAM,kCAAkC,EAAE,OAAO;AAAA,EAC/C,CAAC,kBAAkB,GAAG,EAAE,QAAQ,6BAA6B;AAAA,EAC7D,OAAO;AACT,CAAC;AAMM,MAAM,gCAAgC,EAAE,MAAM;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAqCM,SAAS,MAAM,UAAwB,CAAC,GAAsB;AACnE,SAAO,EAAE,MAAM,MAAM,OAAO,SAAS,GAAG,QAAQ;AAClD;AAEO,SAAS,oCACd,MACuB;AACvB,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,8BAA8B;AAAA,IACtD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,2CACd,MACA,YACyB;AACzB,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,IAAI;AACzB;AAEO,SAAS,8BACd,MACU;AACV,QAAM,QAAQ,oCAAoC,IAAI;AAEtD,SAAO,MAAM,KAAK,EACf,KAAK,QAAW,MAAM,CAAC,CAAC,EACxB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EACzB,KAAK,EAAE,MAAM,kBAAkB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAC1D,KAAK,EAAE,MAAM,iBAAiB,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC,EACpD,WAAW;AAChB;AAEA,SAAS,cACP,MACA,SACuB;AACvB,SAAO,MAAM,IAAI,EACd,KAAK,EAAE,QAAQ,CAAC,MAAM,QAAQ,mBAAmB,QAAQ,IAAI,CAAC,KAAK,CAAC,EACpE,KAAK,EAAE,MAAM,kBAAkB,SAAS,EAAE,GAAG,CAAC,OAAO;AAAA,IACpD,GAAG;AAAA,IACH,IAAI,QAAQ,mBAAmB,QAAQ,IAAI,EAAE,EAAE,KAAK,EAAE;AAAA,EACxD,EAAE,EACD,UAAU,CAAC,MAAM,CAAC;AACvB;AAEO,SAAS,4BACd,MACA,SACqC;AACrC,SAAO,MAAM,IAAI,EACd,KAAK,QAAW,MAAM,MAAS,EAC/B,KAAK,EAAE,CAAC,kBAAkB,GAAG,8BAA8B,GAAG,CAAC,OAAO;AACrE,UAAM,QAAQ,cAAc,GAAG,OAAO,OAAO;AAE7C,QAAI,SAAS;AAAM,aAAO;AAE1B,WAAO;AAAA,MACL,CAAC,kBAAkB,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACF,CAAC,EACA,UAAU,CAAC,OAAO,cAAc,IAAI,OAAO,CAAC;AACjD;","names":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./image";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/image/index.ts"],"sourcesContent":["export * from './image'\n"],"mappings":"AAAA,cAAc;","names":[]}