@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,43 @@
1
+ import { z } from "zod";
2
+ import { lengthDataSchema } from "./data";
3
+ import { ControlDataTypeKey, Types, Schema } from "./prop-controllers";
4
+ import { match } from "ts-pattern";
5
+ const responsiveLengthDataSchema = Schema.responsiveValue(lengthDataSchema);
6
+ const responsiveLengthPropControllerDataV0Schema = responsiveLengthDataSchema;
7
+ const ResponsiveLengthPropControllerDataV1Type = "prop-controllers::responsive-length::v1";
8
+ const responsiveLengthPropControllerDataV1Schema = z.object({
9
+ [ControlDataTypeKey]: z.literal(ResponsiveLengthPropControllerDataV1Type),
10
+ value: responsiveLengthDataSchema
11
+ });
12
+ const responsiveLengthPropControllerDataSchema = z.union([
13
+ responsiveLengthPropControllerDataV0Schema,
14
+ responsiveLengthPropControllerDataV1Schema
15
+ ]);
16
+ function ResponsiveLength(options = {}) {
17
+ return { type: Types.ResponsiveLength, version: 1, options };
18
+ }
19
+ function getResponsiveLengthPropControllerDataResponsiveLengthData(data) {
20
+ return match(data).with(
21
+ { [ControlDataTypeKey]: ResponsiveLengthPropControllerDataV1Type },
22
+ (v1) => v1.value
23
+ ).otherwise((v0) => v0);
24
+ }
25
+ function createResponsiveLengthPropControllerDataFromResponsiveLengthData(definition, responsiveLengthData) {
26
+ return match(definition).with(
27
+ { version: 1 },
28
+ () => ({
29
+ [ControlDataTypeKey]: ResponsiveLengthPropControllerDataV1Type,
30
+ value: responsiveLengthData
31
+ })
32
+ ).otherwise(() => responsiveLengthData);
33
+ }
34
+ export {
35
+ ResponsiveLength,
36
+ ResponsiveLengthPropControllerDataV1Type,
37
+ createResponsiveLengthPropControllerDataFromResponsiveLengthData,
38
+ getResponsiveLengthPropControllerDataResponsiveLengthData,
39
+ responsiveLengthDataSchema,
40
+ responsiveLengthPropControllerDataSchema,
41
+ responsiveLengthPropControllerDataV0Schema
42
+ };
43
+ //# sourceMappingURL=responsive-length.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/responsive-length.ts"],"sourcesContent":["import { z } from 'zod'\nimport { LengthData, lengthDataSchema } from './data'\nimport { ControlDataTypeKey, Options, Types, Schema } from './prop-controllers'\nimport { match } from 'ts-pattern'\n\nexport const responsiveLengthDataSchema =\n Schema.responsiveValue(lengthDataSchema)\n\nexport type ResponsiveLengthData = z.infer<typeof responsiveLengthDataSchema>\n\nexport const responsiveLengthPropControllerDataV0Schema =\n responsiveLengthDataSchema\n\ntype ResponsiveLengthPropControllerDataV0 = z.infer<\n typeof responsiveLengthPropControllerDataV0Schema\n>\n\nexport const ResponsiveLengthPropControllerDataV1Type =\n 'prop-controllers::responsive-length::v1'\n\nconst responsiveLengthPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(ResponsiveLengthPropControllerDataV1Type),\n value: responsiveLengthDataSchema,\n})\n\ntype ResponsiveLengthPropControllerDataV1 = z.infer<\n typeof responsiveLengthPropControllerDataV1Schema\n>\n\nexport const responsiveLengthPropControllerDataSchema = z.union([\n responsiveLengthPropControllerDataV0Schema,\n responsiveLengthPropControllerDataV1Schema,\n])\n\nexport type ResponsiveLengthPropControllerData = z.infer<\n typeof responsiveLengthPropControllerDataSchema\n>\n\nexport type LengthOption =\n | { value: 'px'; label: 'Pixels'; icon: 'Px16' }\n | { value: '%'; label: 'Percentage'; icon: 'Percent16' }\n\nexport type ResponsiveLengthOptions = Options<{\n preset?: ResponsiveLengthPropControllerData\n label?: string\n options?: LengthOption[]\n defaultValue?: LengthData\n hidden?: boolean\n}>\n\ntype ResponsiveLengthDescriptorV0<_T = ResponsiveLengthPropControllerDataV0> = {\n type: typeof Types.ResponsiveLength\n options: ResponsiveLengthOptions\n}\n\ntype ResponsiveLengthDescriptorV1<_T = ResponsiveLengthPropControllerDataV1> = {\n type: typeof Types.ResponsiveLength\n version: 1\n options: ResponsiveLengthOptions\n}\n\nexport type ResponsiveLengthDescriptor<\n _T = ResponsiveLengthPropControllerData,\n> = ResponsiveLengthDescriptorV0<_T> | ResponsiveLengthDescriptorV1<_T>\n\nexport type ResolveResponsiveLengthPropControllerValue<\n T extends ResponsiveLengthDescriptor,\n> = T extends ResponsiveLengthDescriptor\n ? ResponsiveLengthData | undefined\n : never\n\n/**\n * @deprecated Imports from `@makeswift/prop-controllers` are deprecated. Use\n * `@makeswift/runtime/controls` instead.\n */\nexport function ResponsiveLength(\n options: ResponsiveLengthOptions = {},\n): ResponsiveLengthDescriptorV1 {\n return { type: Types.ResponsiveLength, version: 1, options }\n}\n\nexport function getResponsiveLengthPropControllerDataResponsiveLengthData(\n data: ResponsiveLengthPropControllerData,\n): ResponsiveLengthData {\n return match(data)\n .with(\n { [ControlDataTypeKey]: ResponsiveLengthPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createResponsiveLengthPropControllerDataFromResponsiveLengthData(\n definition: ResponsiveLengthDescriptor,\n responsiveLengthData: ResponsiveLengthData,\n): ResponsiveLengthPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n () =>\n ({\n [ControlDataTypeKey]: ResponsiveLengthPropControllerDataV1Type,\n value: responsiveLengthData,\n }) as const,\n )\n .otherwise(() => responsiveLengthData)\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAClB,SAAqB,wBAAwB;AAC7C,SAAS,oBAA6B,OAAO,cAAc;AAC3D,SAAS,aAAa;AAEf,MAAM,6BACX,OAAO,gBAAgB,gBAAgB;AAIlC,MAAM,6CACX;AAMK,MAAM,2CACX;AAEF,MAAM,6CAA6C,EAAE,OAAO;AAAA,EAC1D,CAAC,kBAAkB,GAAG,EAAE,QAAQ,wCAAwC;AAAA,EACxE,OAAO;AACT,CAAC;AAMM,MAAM,2CAA2C,EAAE,MAAM;AAAA,EAC9D;AAAA,EACA;AACF,CAAC;AA2CM,SAAS,iBACd,UAAmC,CAAC,GACN;AAC9B,SAAO,EAAE,MAAM,MAAM,kBAAkB,SAAS,GAAG,QAAQ;AAC7D;AAEO,SAAS,0DACd,MACsB;AACtB,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,yCAAyC;AAAA,IACjE,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,iEACd,YACA,sBACoC;AACpC,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;","names":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./responsive-number";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/responsive-number/index.ts"],"sourcesContent":["export * from './responsive-number'\n"],"mappings":"AAAA,cAAc;","names":[]}
@@ -0,0 +1,16 @@
1
+ import { Types } from "../prop-controllers";
2
+ import { responsiveNumberValueSchema } from "../data";
3
+ import { versionedPropDef, typeArg } from "../versioned";
4
+ const ResponsiveNumber = versionedPropDef(
5
+ Types.ResponsiveNumber,
6
+ responsiveNumberValueSchema,
7
+ {
8
+ version: 1,
9
+ dataKey: "prop-controllers::responsive-number::v1"
10
+ },
11
+ typeArg()
12
+ );
13
+ export {
14
+ ResponsiveNumber
15
+ };
16
+ //# sourceMappingURL=responsive-number.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/responsive-number/responsive-number.ts"],"sourcesContent":["import { Types } from '../prop-controllers'\nimport { responsiveNumberValueSchema } from '../data'\nimport { versionedPropDef, typeArg } from '../versioned'\n\nexport const ResponsiveNumber = versionedPropDef(\n Types.ResponsiveNumber,\n responsiveNumberValueSchema,\n {\n version: 1,\n dataKey: 'prop-controllers::responsive-number::v1',\n },\n typeArg<{\n label?: string\n defaultValue?: number\n min?: number\n max?: number\n step?: number\n suffix?: string\n hidden?: boolean\n }>(),\n)\n"],"mappings":"AAAA,SAAS,aAAa;AACtB,SAAS,mCAAmC;AAC5C,SAAS,kBAAkB,eAAe;AAEnC,MAAM,mBAAmB;AAAA,EAC9B,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 "./responsive-opacity";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/responsive-opacity/index.ts"],"sourcesContent":["export * from './responsive-opacity'\n"],"mappings":"AAAA,cAAc;","names":[]}
@@ -0,0 +1,18 @@
1
+ import { Types, Schema } from "../prop-controllers";
2
+ import { versionedPropDef, typeArg } from "../versioned";
3
+ import { z } from "zod";
4
+ const responsiveOpacityValueSchema = Schema.responsiveValue(z.number());
5
+ const ResponsiveOpacity = versionedPropDef(
6
+ Types.ResponsiveOpacity,
7
+ responsiveOpacityValueSchema,
8
+ {
9
+ version: 1,
10
+ dataKey: "prop-controllers::responsive-opacity::v1"
11
+ },
12
+ typeArg()
13
+ );
14
+ export {
15
+ ResponsiveOpacity,
16
+ responsiveOpacityValueSchema
17
+ };
18
+ //# sourceMappingURL=responsive-opacity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/responsive-opacity/responsive-opacity.ts"],"sourcesContent":["import { Types, Schema } from '../prop-controllers'\nimport { versionedPropDef, typeArg } from '../versioned'\nimport { z } from 'zod'\n\nexport const responsiveOpacityValueSchema = Schema.responsiveValue(z.number())\n\nexport type ResponsiveOpacityValue = z.infer<\n typeof responsiveOpacityValueSchema\n>\n\nexport const ResponsiveOpacity = versionedPropDef(\n Types.ResponsiveOpacity,\n responsiveOpacityValueSchema,\n {\n version: 1,\n dataKey: 'prop-controllers::responsive-opacity::v1',\n },\n typeArg<Record<string, never>>(),\n)\n"],"mappings":"AAAA,SAAS,OAAO,cAAc;AAC9B,SAAS,kBAAkB,eAAe;AAC1C,SAAS,SAAS;AAEX,MAAM,+BAA+B,OAAO,gBAAgB,EAAE,OAAO,CAAC;AAMtE,MAAM,oBAAoB;AAAA,EAC/B,MAAM;AAAA,EACN;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,EACX;AAAA,EACA,QAA+B;AACjC;","names":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./responsive-select";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/responsive-select/index.ts"],"sourcesContent":["export * from './responsive-select'\n"],"mappings":"AAAA,cAAc;","names":[]}
@@ -0,0 +1,21 @@
1
+ import { Types } from "../prop-controllers";
2
+ import { responsiveSelectValueSchema } from "../data";
3
+ import {
4
+ versionedPropDef,
5
+ typeArg
6
+ } from "../versioned";
7
+ const discriminator = {
8
+ version: 1,
9
+ dataKey: "prop-controllers::responsive-select::v1"
10
+ };
11
+ const ResponsiveSelect = versionedPropDef(
12
+ Types.ResponsiveSelect,
13
+ responsiveSelectValueSchema,
14
+ discriminator,
15
+ typeArg(),
16
+ typeArg()
17
+ );
18
+ export {
19
+ ResponsiveSelect
20
+ };
21
+ //# sourceMappingURL=responsive-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/responsive-select/responsive-select.ts"],"sourcesContent":["import { type Options, Types } from '../prop-controllers'\nimport { responsiveSelectValueSchema } from '../data'\nimport {\n versionedPropDef,\n typeArg,\n type VersionedDescriptor,\n} from '../versioned'\n\nexport type SelectLabelOrientation = 'vertical' | 'horizontal'\n\nexport type SelectOption<T extends string> = { value: T; label: string }\n\nexport type RawSelectOptions<T extends string = string, U extends T = T> = {\n label?: string\n labelOrientation?: SelectLabelOrientation\n options: SelectOption<T>[]\n defaultValue?: U\n hidden?: boolean\n}\n\nconst discriminator = {\n version: 1,\n dataKey: 'prop-controllers::responsive-select::v1' as const,\n}\n\nexport interface ResponsiveSelectCtor {\n // HACK(miguel): We have to use a layer of indirection with `_T` and `T` because otherwise the\n // values provided would undergo type widening. For some reason, the extra layer of indirection\n // reuslts in TypeScript not widening types. Note, this only happens when the returned value of this\n // function is passed to another as an argument, which is common with the `registerComponent` API.\n /**\n * @deprecated Prop controllers are deprecated. Use `@makeswift/runtime/controls` instead.\n */\n <_T extends string, T extends _T, U extends T>(\n options: Options<RawSelectOptions<T, U>>,\n ): VersionedDescriptor<\n typeof discriminator,\n typeof Types.ResponsiveSelect,\n Options<RawSelectOptions<T, U>>\n >\n}\n\nexport const ResponsiveSelect = versionedPropDef(\n Types.ResponsiveSelect,\n responsiveSelectValueSchema,\n discriminator,\n typeArg<RawSelectOptions>(),\n typeArg<ResponsiveSelectCtor>(),\n)\n"],"mappings":"AAAA,SAAuB,aAAa;AACpC,SAAS,mCAAmC;AAC5C;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AAcP,MAAM,gBAAgB;AAAA,EACpB,SAAS;AAAA,EACT,SAAS;AACX;AAmBO,MAAM,mBAAmB;AAAA,EAC9B,MAAM;AAAA,EACN;AAAA,EACA;AAAA,EACA,QAA0B;AAAA,EAC1B,QAA8B;AAChC;","names":[]}
@@ -0,0 +1,100 @@
1
+ import { match } from "ts-pattern";
2
+ import { colorDataSchema } from "./data";
3
+ import {
4
+ ControlDataTypeKey,
5
+ Types,
6
+ Schema
7
+ } from "./prop-controllers";
8
+ import { z } from "zod";
9
+ const shadowDataSchema = z.object({
10
+ color: colorDataSchema.nullable().optional(),
11
+ blurRadius: z.number().optional(),
12
+ spreadRadius: z.number().optional(),
13
+ offsetX: z.number().optional(),
14
+ offsetY: z.number().optional(),
15
+ inset: z.boolean().optional()
16
+ });
17
+ const shadowsDataSchema = z.array(
18
+ z.object({
19
+ id: z.string(),
20
+ payload: shadowDataSchema
21
+ })
22
+ );
23
+ const responsiveShadowsDataSchema = Schema.responsiveValue(shadowsDataSchema);
24
+ const shadowsPropControllerDataV0Schema = responsiveShadowsDataSchema;
25
+ const ShadowsPropControllerDataV1Type = "prop-controllers::shadows::v1";
26
+ const shadowsPropControllerDataV1Schema = z.object({
27
+ [ControlDataTypeKey]: z.literal(ShadowsPropControllerDataV1Type),
28
+ value: responsiveShadowsDataSchema
29
+ });
30
+ const shadowsPropControllerDataSchema = z.union([
31
+ shadowsPropControllerDataV0Schema,
32
+ shadowsPropControllerDataV1Schema
33
+ ]);
34
+ const ShadowsPropControllerFormat = {
35
+ ClassName: "makeswift::prop-controllers::shadows::format::class-name",
36
+ ResponsiveValue: "makeswift::prop-controllers::shadows::format::responsive-value"
37
+ };
38
+ function Shadows(options = {}) {
39
+ return { type: Types.Shadows, version: 1, options };
40
+ }
41
+ Shadows.Format = ShadowsPropControllerFormat;
42
+ function getShadowsPropControllerDataResponsiveShadowsData(data) {
43
+ return match(data).with(
44
+ { [ControlDataTypeKey]: ShadowsPropControllerDataV1Type },
45
+ (v1) => v1.value
46
+ ).otherwise((v0) => v0);
47
+ }
48
+ function createShadowsPropControllerDataFromResponsiveShadowsData(definition, responsiveShadowsData) {
49
+ return match(definition).with(
50
+ { version: 1 },
51
+ () => ({
52
+ [ControlDataTypeKey]: ShadowsPropControllerDataV1Type,
53
+ value: responsiveShadowsData
54
+ })
55
+ ).otherwise(() => responsiveShadowsData);
56
+ }
57
+ function getShadowsPropControllerDataSwatchIds(data) {
58
+ return getShadowsPropControllerDataResponsiveShadowsData(data)?.flatMap((override) => override.value).map((item) => item.payload.color?.swatchId).filter(
59
+ (swatchId) => swatchId != null
60
+ ) ?? [];
61
+ }
62
+ function copyResponsiveShadowsData(data, context) {
63
+ return data.map((override) => ({
64
+ ...override,
65
+ value: override.value.map((item) => {
66
+ const { color } = item.payload;
67
+ if (color == null)
68
+ return item;
69
+ return {
70
+ ...item,
71
+ payload: {
72
+ ...item.payload,
73
+ color: {
74
+ ...color,
75
+ swatchId: context.replacementContext.swatchIds.get(color.swatchId) ?? color.swatchId
76
+ }
77
+ }
78
+ };
79
+ })
80
+ }));
81
+ }
82
+ function copyShadowsPropControllerData(data, context) {
83
+ return match(data).with(void 0, () => void 0).with(
84
+ { [ControlDataTypeKey]: ShadowsPropControllerDataV1Type },
85
+ (v1) => ({
86
+ [ControlDataTypeKey]: ShadowsPropControllerDataV1Type,
87
+ value: copyResponsiveShadowsData(v1.value, context)
88
+ })
89
+ ).otherwise((v0) => copyResponsiveShadowsData(v0, context));
90
+ }
91
+ export {
92
+ Shadows,
93
+ ShadowsPropControllerFormat,
94
+ copyShadowsPropControllerData,
95
+ createShadowsPropControllerDataFromResponsiveShadowsData,
96
+ getShadowsPropControllerDataResponsiveShadowsData,
97
+ getShadowsPropControllerDataSwatchIds,
98
+ shadowsPropControllerDataSchema
99
+ };
100
+ //# sourceMappingURL=shadows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/shadows.ts"],"sourcesContent":["import { match } from 'ts-pattern'\nimport { colorDataSchema } from './data'\nimport {\n ControlDataTypeKey,\n CopyContext,\n ResolveOptions,\n Types,\n Schema,\n} from './prop-controllers'\nimport { z } from 'zod'\n\nconst shadowDataSchema = z.object({\n color: colorDataSchema.nullable().optional(),\n blurRadius: z.number().optional(),\n spreadRadius: z.number().optional(),\n offsetX: z.number().optional(),\n offsetY: z.number().optional(),\n inset: z.boolean().optional(),\n})\n\nexport type ShadowData = z.infer<typeof shadowDataSchema>\n\nconst shadowsDataSchema = z.array(\n z.object({\n id: z.string(),\n payload: shadowDataSchema,\n }),\n)\n\nexport type ShadowsData = z.infer<typeof shadowsDataSchema>\n\nconst responsiveShadowsDataSchema = Schema.responsiveValue(shadowsDataSchema)\n\ntype ResponsiveShadowsData = z.infer<typeof responsiveShadowsDataSchema>\n\nconst shadowsPropControllerDataV0Schema = responsiveShadowsDataSchema\n\ntype ShadowsPropControllerDataV0 = z.infer<\n typeof shadowsPropControllerDataV0Schema\n>\n\nconst ShadowsPropControllerDataV1Type = 'prop-controllers::shadows::v1'\n\nconst shadowsPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(ShadowsPropControllerDataV1Type),\n value: responsiveShadowsDataSchema,\n})\n\nexport const shadowsPropControllerDataSchema = z.union([\n shadowsPropControllerDataV0Schema,\n shadowsPropControllerDataV1Schema,\n])\n\nexport type ShadowsPropControllerData = z.infer<\n typeof shadowsPropControllerDataSchema\n>\n\nexport const ShadowsPropControllerFormat = {\n ClassName: 'makeswift::prop-controllers::shadows::format::class-name',\n ResponsiveValue:\n 'makeswift::prop-controllers::shadows::format::responsive-value',\n} as const\n\nexport type ShadowsPropControllerFormat =\n (typeof ShadowsPropControllerFormat)[keyof typeof ShadowsPropControllerFormat]\n\ntype ShadowsOptions = { format?: ShadowsPropControllerFormat }\n\ntype ShadowsDescriptorV0<\n _T = ShadowsPropControllerDataV0,\n U extends ShadowsOptions = ShadowsOptions,\n> = {\n type: typeof Types.Shadows\n options: U\n}\n\ntype ShadowsDescriptorV1<\n _T = ShadowsPropControllerData,\n U extends ShadowsOptions = ShadowsOptions,\n> = {\n type: typeof Types.Shadows\n version: 1\n options: U\n}\n\nexport type ShadowsDescriptor<\n _T = ShadowsPropControllerData,\n U extends ShadowsOptions = ShadowsOptions,\n> = ShadowsDescriptorV0<_T, U> | ShadowsDescriptorV1<_T, U>\n\nexport type ResolveShadowsPropControllerValue<T extends ShadowsDescriptor> =\n T extends ShadowsDescriptor\n ? undefined extends ResolveOptions<T['options']>['format']\n ? ResponsiveShadowsData | undefined\n : ResolveOptions<\n T['options']\n >['format'] extends typeof ShadowsPropControllerFormat.ClassName\n ? string\n : ResolveOptions<\n T['options']\n >['format'] extends typeof ShadowsPropControllerFormat.ResponsiveValue\n ? ResponsiveShadowsData | 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 Shadows<T extends ShadowsOptions>(\n options: T & ShadowsOptions = {} as T,\n): ShadowsDescriptor<ShadowsPropControllerData, T> {\n return { type: Types.Shadows, version: 1, options }\n}\n\nShadows.Format = ShadowsPropControllerFormat\n\nexport function getShadowsPropControllerDataResponsiveShadowsData(\n data: ShadowsPropControllerData | null | undefined,\n): ResponsiveShadowsData | null | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: ShadowsPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createShadowsPropControllerDataFromResponsiveShadowsData(\n definition: ShadowsDescriptor,\n responsiveShadowsData: ResponsiveShadowsData,\n): ShadowsPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n () =>\n ({\n [ControlDataTypeKey]: ShadowsPropControllerDataV1Type,\n value: responsiveShadowsData,\n }) as const,\n )\n .otherwise(() => responsiveShadowsData)\n}\n\nexport function getShadowsPropControllerDataSwatchIds(\n data: ShadowsPropControllerData | null | undefined,\n): string[] {\n return (\n getShadowsPropControllerDataResponsiveShadowsData(data)\n ?.flatMap((override) => override.value)\n .map((item) => item.payload.color?.swatchId)\n .filter(\n (swatchId): swatchId is NonNullable<typeof swatchId> =>\n swatchId != null,\n ) ?? []\n )\n}\n\nfunction copyResponsiveShadowsData(\n data: ResponsiveShadowsData,\n context: CopyContext,\n): ResponsiveShadowsData {\n return data.map((override) => ({\n ...override,\n value: override.value.map((item) => {\n const { color } = item.payload\n\n if (color == null) return item\n\n return {\n ...item,\n payload: {\n ...item.payload,\n color: {\n ...color,\n swatchId:\n context.replacementContext.swatchIds.get(color.swatchId) ??\n color.swatchId,\n },\n },\n }\n }),\n }))\n}\n\nexport function copyShadowsPropControllerData(\n data: ShadowsPropControllerData | undefined,\n context: CopyContext,\n): ShadowsPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: ShadowsPropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: ShadowsPropControllerDataV1Type,\n value: copyResponsiveShadowsData(v1.value, context),\n }) as const,\n )\n .otherwise((v0) => copyResponsiveShadowsData(v0, context))\n}\n"],"mappings":"AAAA,SAAS,aAAa;AACtB,SAAS,uBAAuB;AAChC;AAAA,EACE;AAAA,EAGA;AAAA,EACA;AAAA,OACK;AACP,SAAS,SAAS;AAElB,MAAM,mBAAmB,EAAE,OAAO;AAAA,EAChC,OAAO,gBAAgB,SAAS,EAAE,SAAS;AAAA,EAC3C,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,cAAc,EAAE,OAAO,EAAE,SAAS;AAAA,EAClC,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,OAAO,EAAE,QAAQ,EAAE,SAAS;AAC9B,CAAC;AAID,MAAM,oBAAoB,EAAE;AAAA,EAC1B,EAAE,OAAO;AAAA,IACP,IAAI,EAAE,OAAO;AAAA,IACb,SAAS;AAAA,EACX,CAAC;AACH;AAIA,MAAM,8BAA8B,OAAO,gBAAgB,iBAAiB;AAI5E,MAAM,oCAAoC;AAM1C,MAAM,kCAAkC;AAExC,MAAM,oCAAoC,EAAE,OAAO;AAAA,EACjD,CAAC,kBAAkB,GAAG,EAAE,QAAQ,+BAA+B;AAAA,EAC/D,OAAO;AACT,CAAC;AAEM,MAAM,kCAAkC,EAAE,MAAM;AAAA,EACrD;AAAA,EACA;AACF,CAAC;AAMM,MAAM,8BAA8B;AAAA,EACzC,WAAW;AAAA,EACX,iBACE;AACJ;AAgDO,SAAS,QACd,UAA8B,CAAC,GACkB;AACjD,SAAO,EAAE,MAAM,MAAM,SAAS,SAAS,GAAG,QAAQ;AACpD;AAEA,QAAQ,SAAS;AAEV,SAAS,kDACd,MAC0C;AAC1C,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,gCAAgC;AAAA,IACxD,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,yDACd,YACA,uBAC2B;AAC3B,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,qBAAqB;AAC1C;AAEO,SAAS,sCACd,MACU;AACV,SACE,kDAAkD,IAAI,GAClD,QAAQ,CAAC,aAAa,SAAS,KAAK,EACrC,IAAI,CAAC,SAAS,KAAK,QAAQ,OAAO,QAAQ,EAC1C;AAAA,IACC,CAAC,aACC,YAAY;AAAA,EAChB,KAAK,CAAC;AAEZ;AAEA,SAAS,0BACP,MACA,SACuB;AACvB,SAAO,KAAK,IAAI,CAAC,cAAc;AAAA,IAC7B,GAAG;AAAA,IACH,OAAO,SAAS,MAAM,IAAI,CAAC,SAAS;AAClC,YAAM,EAAE,MAAM,IAAI,KAAK;AAEvB,UAAI,SAAS;AAAM,eAAO;AAE1B,aAAO;AAAA,QACL,GAAG;AAAA,QACH,SAAS;AAAA,UACP,GAAG,KAAK;AAAA,UACR,OAAO;AAAA,YACL,GAAG;AAAA,YACH,UACE,QAAQ,mBAAmB,UAAU,IAAI,MAAM,QAAQ,KACvD,MAAM;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH,EAAE;AACJ;AAEO,SAAS,8BACd,MACA,SACuC;AACvC,SAAO,MAAM,IAAI,EACd,KAAK,QAAW,MAAM,MAAS,EAC/B;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,gCAAgC;AAAA,IACxD,CAAC,QACE;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB,OAAO,0BAA0B,GAAG,OAAO,OAAO;AAAA,IACpD;AAAA,EACJ,EACC,UAAU,CAAC,OAAO,0BAA0B,IAAI,OAAO,CAAC;AAC7D;","names":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./social-links";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/social-links/index.ts"],"sourcesContent":["export * from './social-links'\n"],"mappings":"AAAA,cAAc;","names":[]}
@@ -0,0 +1,98 @@
1
+ import { z } from "zod";
2
+ import { ControlDataTypeKey, Types } from "../prop-controllers";
3
+ import { P, match } from "ts-pattern";
4
+ const socialLinkTypesV0 = [
5
+ "angellist",
6
+ "codepen",
7
+ "discord",
8
+ "dribbble",
9
+ "facebook",
10
+ "github",
11
+ "instagram",
12
+ "linkedin",
13
+ "medium",
14
+ "pinterest",
15
+ "reddit",
16
+ "rss",
17
+ "snapchat",
18
+ "soundcloud",
19
+ "spotify",
20
+ "telegram",
21
+ "tumblr",
22
+ "twitch",
23
+ "twitter",
24
+ "vimeo",
25
+ "whatsapp",
26
+ "yelp",
27
+ "youtube"
28
+ ];
29
+ const socialLinkTypesV1 = [...socialLinkTypesV0, "x", "slack"];
30
+ const socialLinkV0Schema = z.object({
31
+ type: z.enum(socialLinkTypesV0),
32
+ url: z.string()
33
+ });
34
+ const socialLinkV1Schema = z.object({
35
+ type: z.enum(socialLinkTypesV1),
36
+ url: z.string()
37
+ });
38
+ const socialLinksLinkV0Schema = z.object({
39
+ id: z.string(),
40
+ payload: socialLinkV0Schema
41
+ });
42
+ const socialLinksLinkV1Schema = z.object({
43
+ id: z.string(),
44
+ payload: socialLinkV1Schema
45
+ });
46
+ const socialLinksDataV0Schema = z.object({
47
+ links: z.array(socialLinksLinkV0Schema),
48
+ openInNewTab: z.boolean()
49
+ });
50
+ const socialLinksDataV1Schema = z.object({
51
+ links: z.array(socialLinksLinkV1Schema),
52
+ openInNewTab: z.boolean()
53
+ });
54
+ const socialLinksDataSchema = z.union([
55
+ socialLinksDataV0Schema,
56
+ socialLinksDataV1Schema
57
+ ]);
58
+ const socialLinksPropControllerDataV1Schema = socialLinksDataSchema;
59
+ const SocialLinksPropControllerDataV2Type = "prop-controllers::social-links::v2";
60
+ const socialLinksPropControllerDataV2Schema = z.object({
61
+ [ControlDataTypeKey]: z.literal(SocialLinksPropControllerDataV2Type),
62
+ value: socialLinksDataSchema
63
+ });
64
+ const socialLinksPropControllerDataSchema = z.union([
65
+ socialLinksPropControllerDataV1Schema,
66
+ socialLinksPropControllerDataV2Schema
67
+ ]);
68
+ function SocialLinks(options = {}) {
69
+ return { type: Types.SocialLinks, version: 2, options };
70
+ }
71
+ function getSocialLinkTypes(descriptor) {
72
+ return match(descriptor).with({ version: P.union(1, 2) }, () => socialLinkTypesV1).otherwise(() => socialLinkTypesV0);
73
+ }
74
+ function getSocialLinksPropControllerDataSocialLinksData(data) {
75
+ return match(data).with(
76
+ { [ControlDataTypeKey]: SocialLinksPropControllerDataV2Type },
77
+ (v2) => v2.value
78
+ ).otherwise((v0) => v0);
79
+ }
80
+ function createSocialLinksPropControllerDataFromSocialLinksData(data, definition) {
81
+ return match(definition).with(
82
+ { version: 2 },
83
+ () => ({
84
+ [ControlDataTypeKey]: SocialLinksPropControllerDataV2Type,
85
+ value: data
86
+ })
87
+ ).otherwise(() => data);
88
+ }
89
+ export {
90
+ SocialLinks,
91
+ SocialLinksPropControllerDataV2Type,
92
+ createSocialLinksPropControllerDataFromSocialLinksData,
93
+ getSocialLinkTypes,
94
+ getSocialLinksPropControllerDataSocialLinksData,
95
+ socialLinksDataSchema,
96
+ socialLinksPropControllerDataSchema
97
+ };
98
+ //# sourceMappingURL=social-links.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/social-links/social-links.ts"],"sourcesContent":["import { z } from 'zod'\nimport { ControlDataTypeKey, Options, Types } from '../prop-controllers'\nimport { P, match } from 'ts-pattern'\n\nconst socialLinkTypesV0 = [\n 'angellist',\n 'codepen',\n 'discord',\n 'dribbble',\n 'facebook',\n 'github',\n 'instagram',\n 'linkedin',\n 'medium',\n 'pinterest',\n 'reddit',\n 'rss',\n 'snapchat',\n 'soundcloud',\n 'spotify',\n 'telegram',\n 'tumblr',\n 'twitch',\n 'twitter',\n 'vimeo',\n 'whatsapp',\n 'yelp',\n 'youtube',\n] as const\n\nconst socialLinkTypesV1 = [...socialLinkTypesV0, 'x', 'slack'] as const\n\nconst socialLinkV0Schema = z.object({\n type: z.enum(socialLinkTypesV0),\n url: z.string(),\n})\n\nconst socialLinkV1Schema = z.object({\n type: z.enum(socialLinkTypesV1),\n url: z.string(),\n})\n\nconst socialLinksLinkV0Schema = z.object({\n id: z.string(),\n payload: socialLinkV0Schema,\n})\n\nconst socialLinksLinkV1Schema = z.object({\n id: z.string(),\n payload: socialLinkV1Schema,\n})\n\nconst socialLinksDataV0Schema = z.object({\n links: z.array(socialLinksLinkV0Schema),\n openInNewTab: z.boolean(),\n})\n\nconst socialLinksDataV1Schema = z.object({\n links: z.array(socialLinksLinkV1Schema),\n openInNewTab: z.boolean(),\n})\n\nexport const socialLinksDataSchema = z.union([\n socialLinksDataV0Schema,\n socialLinksDataV1Schema,\n])\n\nexport type SocialLinksData = z.infer<typeof socialLinksDataSchema>\n\nconst socialLinksPropControllerDataV1Schema = socialLinksDataSchema\n\nexport type SocialLinksPropControllerDataV1 = z.infer<\n typeof socialLinksPropControllerDataV1Schema\n>\n\nexport const SocialLinksPropControllerDataV2Type =\n 'prop-controllers::social-links::v2'\n\nconst socialLinksPropControllerDataV2Schema = z.object({\n [ControlDataTypeKey]: z.literal(SocialLinksPropControllerDataV2Type),\n value: socialLinksDataSchema,\n})\n\nexport type SocialLinksPropControllerDataV2 = z.infer<\n typeof socialLinksPropControllerDataV2Schema\n>\n\nexport const socialLinksPropControllerDataSchema = z.union([\n socialLinksPropControllerDataV1Schema,\n socialLinksPropControllerDataV2Schema,\n])\n\nexport type SocialLinksPropControllerData = z.infer<\n typeof socialLinksPropControllerDataSchema\n>\n\nexport type SocialLinksOptions = Options<{\n preset?: SocialLinksPropControllerData\n}>\n\ntype SocialLinksDescriptorV1<_T = SocialLinksPropControllerDataV1> = {\n type: typeof Types.SocialLinks\n version?: 1\n options: SocialLinksOptions\n}\n\ntype SocialLinksDescriptorV2<_T = SocialLinksPropControllerData> = {\n type: typeof Types.SocialLinks\n version: 2\n options: SocialLinksOptions\n}\n\nexport type SocialLinksDescriptor<_T = SocialLinksPropControllerData> =\n | SocialLinksDescriptorV1\n | SocialLinksDescriptorV2\n\nexport type ResolveSocialLinksPropControllerValue<\n T extends SocialLinksDescriptor,\n> = T extends SocialLinksDescriptor ? SocialLinksData | undefined : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function SocialLinks(\n options: SocialLinksOptions = {},\n): SocialLinksDescriptorV2 {\n return { type: Types.SocialLinks, version: 2, options }\n}\n\nexport function getSocialLinkTypes(descriptor: SocialLinksDescriptor) {\n return match(descriptor)\n .with({ version: P.union(1, 2) }, () => socialLinkTypesV1)\n .otherwise(() => socialLinkTypesV0)\n}\n\nexport function getSocialLinksPropControllerDataSocialLinksData(\n data: SocialLinksPropControllerData | undefined,\n): SocialLinksData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: SocialLinksPropControllerDataV2Type },\n (v2) => v2.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createSocialLinksPropControllerDataFromSocialLinksData(\n data: SocialLinksData,\n definition: SocialLinksDescriptor,\n): SocialLinksPropControllerData {\n return match(definition)\n .with(\n { version: 2 },\n () =>\n ({\n [ControlDataTypeKey]: SocialLinksPropControllerDataV2Type,\n value: data,\n } as const),\n )\n .otherwise(() => data)\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAClB,SAAS,oBAA6B,aAAa;AACnD,SAAS,GAAG,aAAa;AAEzB,MAAM,oBAAoB;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,MAAM,oBAAoB,CAAC,GAAG,mBAAmB,KAAK,OAAO;AAE7D,MAAM,qBAAqB,EAAE,OAAO;AAAA,EAClC,MAAM,EAAE,KAAK,iBAAiB;AAAA,EAC9B,KAAK,EAAE,OAAO;AAChB,CAAC;AAED,MAAM,qBAAqB,EAAE,OAAO;AAAA,EAClC,MAAM,EAAE,KAAK,iBAAiB;AAAA,EAC9B,KAAK,EAAE,OAAO;AAChB,CAAC;AAED,MAAM,0BAA0B,EAAE,OAAO;AAAA,EACvC,IAAI,EAAE,OAAO;AAAA,EACb,SAAS;AACX,CAAC;AAED,MAAM,0BAA0B,EAAE,OAAO;AAAA,EACvC,IAAI,EAAE,OAAO;AAAA,EACb,SAAS;AACX,CAAC;AAED,MAAM,0BAA0B,EAAE,OAAO;AAAA,EACvC,OAAO,EAAE,MAAM,uBAAuB;AAAA,EACtC,cAAc,EAAE,QAAQ;AAC1B,CAAC;AAED,MAAM,0BAA0B,EAAE,OAAO;AAAA,EACvC,OAAO,EAAE,MAAM,uBAAuB;AAAA,EACtC,cAAc,EAAE,QAAQ;AAC1B,CAAC;AAEM,MAAM,wBAAwB,EAAE,MAAM;AAAA,EAC3C;AAAA,EACA;AACF,CAAC;AAID,MAAM,wCAAwC;AAMvC,MAAM,sCACX;AAEF,MAAM,wCAAwC,EAAE,OAAO;AAAA,EACrD,CAAC,kBAAkB,GAAG,EAAE,QAAQ,mCAAmC;AAAA,EACnE,OAAO;AACT,CAAC;AAMM,MAAM,sCAAsC,EAAE,MAAM;AAAA,EACzD;AAAA,EACA;AACF,CAAC;AAkCM,SAAS,YACd,UAA8B,CAAC,GACN;AACzB,SAAO,EAAE,MAAM,MAAM,aAAa,SAAS,GAAG,QAAQ;AACxD;AAEO,SAAS,mBAAmB,YAAmC;AACpE,SAAO,MAAM,UAAU,EACpB,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,MAAM,iBAAiB,EACxD,UAAU,MAAM,iBAAiB;AACtC;AAEO,SAAS,gDACd,MAC6B;AAC7B,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,oCAAoC;AAAA,IAC5D,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,uDACd,MACA,YAC+B;AAC/B,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;","names":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./table";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/table/index.ts"],"sourcesContent":["export * from './table'\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 tableIdSchema = z.string();
8
+ const tablePropControllerDataV0Schema = tableIdSchema;
9
+ const TablePropControllerDataV1Type = "prop-controllers::table::v1";
10
+ const tablePropControllerDataV1Schema = z.object({
11
+ [ControlDataTypeKey]: z.literal(TablePropControllerDataV1Type),
12
+ value: tableIdSchema
13
+ });
14
+ const tablePropControllerDataSchema = z.union([
15
+ tablePropControllerDataV0Schema,
16
+ tablePropControllerDataV1Schema
17
+ ]);
18
+ function Table(options = {}) {
19
+ return { type: Types.Table, version: 1, options };
20
+ }
21
+ function getTablePropControllerDataTableId(data) {
22
+ return match(data).with(
23
+ { [ControlDataTypeKey]: TablePropControllerDataV1Type },
24
+ (v1) => v1.value
25
+ ).otherwise((v0) => v0);
26
+ }
27
+ function createTablePropControllerDataFromTableId(value, definition) {
28
+ return match(definition).with(
29
+ { version: 1 },
30
+ P.nullish,
31
+ () => ({
32
+ [ControlDataTypeKey]: TablePropControllerDataV1Type,
33
+ value
34
+ })
35
+ ).otherwise(() => value);
36
+ }
37
+ function copyTableId(data, context) {
38
+ if (data == null)
39
+ return data;
40
+ return context.replacementContext.tableIds.get(data) ?? data;
41
+ }
42
+ function copyTablePropControllerData(data, context) {
43
+ return match(data).with(void 0, () => void 0).with(
44
+ { [ControlDataTypeKey]: TablePropControllerDataV1Type },
45
+ (v1) => ({
46
+ [ControlDataTypeKey]: TablePropControllerDataV1Type,
47
+ value: copyTableId(v1.value, context)
48
+ })
49
+ ).otherwise((v0) => copyTableId(v0, context));
50
+ }
51
+ function getTablePropControllerDataTableIds(data) {
52
+ const value = getTablePropControllerDataTableId(data);
53
+ return value ? [value] : [];
54
+ }
55
+ export {
56
+ Table,
57
+ TablePropControllerDataV1Type,
58
+ copyTablePropControllerData,
59
+ createTablePropControllerDataFromTableId,
60
+ getTablePropControllerDataTableId,
61
+ getTablePropControllerDataTableIds,
62
+ tablePropControllerDataSchema
63
+ };
64
+ //# sourceMappingURL=table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/table/table.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 tableIdSchema = z.string()\n\ntype TableId = z.infer<typeof tableIdSchema>\n\nconst tablePropControllerDataV0Schema = tableIdSchema\n\nexport type TablePropControllerDataV0 = z.infer<\n typeof tablePropControllerDataV0Schema\n>\n\nexport const TablePropControllerDataV1Type = 'prop-controllers::table::v1'\n\nconst tablePropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(TablePropControllerDataV1Type),\n value: tableIdSchema,\n})\n\nexport type TablePropControllerDataV1 = z.infer<\n typeof tablePropControllerDataV1Schema\n>\n\nexport const tablePropControllerDataSchema = z.union([\n tablePropControllerDataV0Schema,\n tablePropControllerDataV1Schema,\n])\n\nexport type TablePropControllerData = z.infer<\n typeof tablePropControllerDataSchema\n>\n\nexport type TableOptions = Options<{\n preset?: TablePropControllerData\n}>\n\ntype TableDescriptorV0<_T = TablePropControllerDataV0> = {\n type: typeof Types.Table\n options: TableOptions\n}\n\ntype TableDescriptorV1<\n _T = TablePropControllerData,\n U extends TableOptions = TableOptions,\n> = {\n type: typeof Types.Table\n version: 1\n options: U\n}\n\nexport type TableDescriptor<_T = TablePropControllerData> =\n | TableDescriptorV0\n | TableDescriptorV1\n\nexport type ResolveTablePropControllerValue<T extends TableDescriptor> =\n T extends TableDescriptor ? TableId | undefined : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function Table(options: TableOptions = {}): TableDescriptorV1 {\n return { type: Types.Table, version: 1, options }\n}\n\nexport function getTablePropControllerDataTableId(\n data: TablePropControllerData | undefined,\n): TableId | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: TablePropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createTablePropControllerDataFromTableId(\n value: TableId,\n definition?: TableDescriptor,\n): TablePropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n P.nullish,\n () =>\n ({\n [ControlDataTypeKey]: TablePropControllerDataV1Type,\n value,\n } as const),\n )\n .otherwise(() => value)\n}\n\nfunction copyTableId(data: TableId, context: CopyContext): TableId {\n if (data == null) return data\n\n return context.replacementContext.tableIds.get(data) ?? data\n}\n\nexport function copyTablePropControllerData(\n data: TablePropControllerData | undefined,\n context: CopyContext,\n): TablePropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: TablePropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: TablePropControllerDataV1Type,\n value: copyTableId(v1.value, context),\n } as const),\n )\n .otherwise((v0) => copyTableId(v0, context))\n}\n\nexport function getTablePropControllerDataTableIds(\n data: TablePropControllerData | undefined,\n): string[] {\n const value = getTablePropControllerDataTableId(data)\n\n return value ? [value] : []\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAClB;AAAA,EACE;AAAA,EAGA;AAAA,OACK;AACP,SAAS,GAAG,aAAa;AAEzB,MAAM,gBAAgB,EAAE,OAAO;AAI/B,MAAM,kCAAkC;AAMjC,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;AACF,CAAC;AAmCM,SAAS,MAAM,UAAwB,CAAC,GAAsB;AACnE,SAAO,EAAE,MAAM,MAAM,OAAO,SAAS,GAAG,QAAQ;AAClD;AAEO,SAAS,kCACd,MACqB;AACrB,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,yCACd,OACA,YACyB;AACzB,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,YAAY,MAAe,SAA+B;AACjE,MAAI,QAAQ;AAAM,WAAO;AAEzB,SAAO,QAAQ,mBAAmB,SAAS,IAAI,IAAI,KAAK;AAC1D;AAEO,SAAS,4BACd,MACA,SACqC;AACrC,SAAO,MAAM,IAAI,EACd,KAAK,QAAW,MAAM,MAAS,EAC/B;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,8BAA8B;AAAA,IACtD,CAAC,QACE;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB,OAAO,YAAY,GAAG,OAAO,OAAO;AAAA,IACtC;AAAA,EACJ,EACC,UAAU,CAAC,OAAO,YAAY,IAAI,OAAO,CAAC;AAC/C;AAEO,SAAS,mCACd,MACU;AACV,QAAM,QAAQ,kCAAkC,IAAI;AAEpD,SAAO,QAAQ,CAAC,KAAK,IAAI,CAAC;AAC5B;","names":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./table-form-fields";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/table-form-fields/index.ts"],"sourcesContent":["export * from './table-form-fields'\n"],"mappings":"AAAA,cAAc;","names":[]}
@@ -0,0 +1,87 @@
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 tableFormFieldSchema = z.object({
9
+ id: z.string(),
10
+ tableColumnId: z.string(),
11
+ label: z.string().optional(),
12
+ placeholder: z.string().optional(),
13
+ defaultValue: z.union([z.string(), z.boolean(), z.array(z.string())]).optional(),
14
+ required: z.boolean().optional(),
15
+ hidden: z.boolean().optional(),
16
+ type: z.union([z.literal("select"), z.literal("radio")]).optional(),
17
+ hideLabel: z.boolean().optional(),
18
+ autofill: z.boolean().optional()
19
+ });
20
+ const tableFormFieldsDataSchema = z.object({
21
+ fields: z.array(tableFormFieldSchema),
22
+ grid: Schema.responsiveValue(
23
+ z.object({
24
+ count: z.number(),
25
+ spans: z.array(z.array(z.number()))
26
+ })
27
+ )
28
+ });
29
+ const tableFormFieldsPropControllerDataV0Schema = tableFormFieldsDataSchema;
30
+ const TableFormFieldsPropControllerDataV1Type = "prop-controllers::table-form-fields::v1";
31
+ const tableFormFieldsPropControllerDataV1Schema = z.object({
32
+ [ControlDataTypeKey]: z.literal(TableFormFieldsPropControllerDataV1Type),
33
+ value: tableFormFieldsDataSchema
34
+ });
35
+ const tableFormFieldsPropControllerDataSchema = z.union([
36
+ tableFormFieldsPropControllerDataV0Schema,
37
+ tableFormFieldsPropControllerDataV1Schema
38
+ ]);
39
+ function TableFormFields(options = {}) {
40
+ return { type: Types.TableFormFields, version: 1, options };
41
+ }
42
+ function getTableFormFieldsPropControllerDataTableFormFieldsData(data) {
43
+ return match(data).with(
44
+ { [ControlDataTypeKey]: TableFormFieldsPropControllerDataV1Type },
45
+ (v1) => v1.value
46
+ ).otherwise((v0) => v0);
47
+ }
48
+ function createTableFormFieldsPropControllerDataFromTableFormFieldsData(value, definition) {
49
+ return match(definition).with(
50
+ { version: 1 },
51
+ P.nullish,
52
+ () => ({
53
+ [ControlDataTypeKey]: TableFormFieldsPropControllerDataV1Type,
54
+ value
55
+ })
56
+ ).otherwise(() => value);
57
+ }
58
+ function copyTableFormFieldsData(data, context) {
59
+ if (data == null)
60
+ return data;
61
+ return {
62
+ ...data,
63
+ fields: data.fields.map((field) => ({
64
+ ...field,
65
+ tableColumnId: context.replacementContext.tableColumnIds.get(field.tableColumnId) ?? field.tableColumnId
66
+ }))
67
+ };
68
+ }
69
+ function copyTableFormFieldsPropControllerData(data, context) {
70
+ return match(data).with(void 0, () => void 0).with(
71
+ { [ControlDataTypeKey]: TableFormFieldsPropControllerDataV1Type },
72
+ (v1) => ({
73
+ [ControlDataTypeKey]: TableFormFieldsPropControllerDataV1Type,
74
+ value: copyTableFormFieldsData(v1.value, context)
75
+ })
76
+ ).otherwise((v0) => copyTableFormFieldsData(v0, context));
77
+ }
78
+ export {
79
+ TableFormFields,
80
+ TableFormFieldsPropControllerDataV1Type,
81
+ copyTableFormFieldsPropControllerData,
82
+ createTableFormFieldsPropControllerDataFromTableFormFieldsData,
83
+ getTableFormFieldsPropControllerDataTableFormFieldsData,
84
+ tableFormFieldsDataSchema,
85
+ tableFormFieldsPropControllerDataSchema
86
+ };
87
+ //# sourceMappingURL=table-form-fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/table-form-fields/table-form-fields.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'\n\nconst tableFormFieldSchema = z.object({\n id: z.string(),\n tableColumnId: z.string(),\n label: z.string().optional(),\n placeholder: z.string().optional(),\n defaultValue: z\n .union([z.string(), z.boolean(), z.array(z.string())])\n .optional(),\n required: z.boolean().optional(),\n hidden: z.boolean().optional(),\n type: z.union([z.literal('select'), z.literal('radio')]).optional(),\n hideLabel: z.boolean().optional(),\n autofill: z.boolean().optional(),\n})\n\nexport const tableFormFieldsDataSchema = z.object({\n fields: z.array(tableFormFieldSchema),\n grid: Schema.responsiveValue(\n z.object({\n count: z.number(),\n spans: z.array(z.array(z.number())),\n }),\n ),\n})\n\nexport type TableFormFieldsData = z.infer<typeof tableFormFieldsDataSchema>\n\nconst tableFormFieldsPropControllerDataV0Schema = tableFormFieldsDataSchema\n\nexport type TableFormFieldsPropControllerDataV0 = z.infer<\n typeof tableFormFieldsPropControllerDataV0Schema\n>\n\nexport const TableFormFieldsPropControllerDataV1Type =\n 'prop-controllers::table-form-fields::v1'\n\nconst tableFormFieldsPropControllerDataV1Schema = z.object({\n [ControlDataTypeKey]: z.literal(TableFormFieldsPropControllerDataV1Type),\n value: tableFormFieldsDataSchema,\n})\n\nexport type TableFormFieldsPropControllerDataV1 = z.infer<\n typeof tableFormFieldsPropControllerDataV1Schema\n>\n\nexport const tableFormFieldsPropControllerDataSchema = z.union([\n tableFormFieldsPropControllerDataV0Schema,\n tableFormFieldsPropControllerDataV1Schema,\n])\n\nexport type TableFormFieldsPropControllerData = z.infer<\n typeof tableFormFieldsPropControllerDataSchema\n>\n\nexport type TableFormFieldsOptions = Options<{\n preset?: TableFormFieldsPropControllerData\n}>\n\ntype TableFormFieldsDescriptorV0<_T = TableFormFieldsPropControllerDataV0> = {\n type: typeof Types.TableFormFields\n options: TableFormFieldsOptions\n}\n\ntype TableFormFieldsDescriptorV1<\n _T = TableFormFieldsPropControllerData,\n U extends TableFormFieldsOptions = TableFormFieldsOptions,\n> = {\n type: typeof Types.TableFormFields\n version: 1\n options: U\n}\n\nexport type TableFormFieldsDescriptor<_T = TableFormFieldsPropControllerData> =\n | TableFormFieldsDescriptorV0\n | TableFormFieldsDescriptorV1\n\nexport type ResolveTableFormFieldsPropControllerValue<\n T extends TableFormFieldsDescriptor,\n> = T extends TableFormFieldsDescriptor\n ? TableFormFieldsData | undefined\n : never\n\n/**\n * @deprecated Imports from @makeswift/prop-controllers are deprecated. Use\n * @makeswift/runtime/controls instead.\n */\nexport function TableFormFields(\n options: TableFormFieldsOptions = {},\n): TableFormFieldsDescriptorV1 {\n return { type: Types.TableFormFields, version: 1, options }\n}\n\nexport function getTableFormFieldsPropControllerDataTableFormFieldsData(\n data: TableFormFieldsPropControllerData | undefined,\n): TableFormFieldsData | undefined {\n return match(data)\n .with(\n { [ControlDataTypeKey]: TableFormFieldsPropControllerDataV1Type },\n (v1) => v1.value,\n )\n .otherwise((v0) => v0)\n}\n\nexport function createTableFormFieldsPropControllerDataFromTableFormFieldsData(\n value: TableFormFieldsData,\n definition: TableFormFieldsDescriptor,\n): TableFormFieldsPropControllerData {\n return match(definition)\n .with(\n { version: 1 },\n P.nullish,\n () =>\n ({\n [ControlDataTypeKey]: TableFormFieldsPropControllerDataV1Type,\n value,\n }) as const,\n )\n .otherwise(() => value)\n}\n\nfunction copyTableFormFieldsData(\n data: TableFormFieldsData,\n context: CopyContext,\n): TableFormFieldsData {\n if (data == null) return data\n\n return {\n ...data,\n fields: data.fields.map((field) => ({\n ...field,\n tableColumnId:\n context.replacementContext.tableColumnIds.get(field.tableColumnId) ??\n field.tableColumnId,\n })),\n }\n}\n\nexport function copyTableFormFieldsPropControllerData(\n data: TableFormFieldsPropControllerData | undefined,\n context: CopyContext,\n): TableFormFieldsPropControllerData | undefined {\n return match(data)\n .with(undefined, () => undefined)\n .with(\n { [ControlDataTypeKey]: TableFormFieldsPropControllerDataV1Type },\n (v1) =>\n ({\n [ControlDataTypeKey]: TableFormFieldsPropControllerDataV1Type,\n value: copyTableFormFieldsData(v1.value, context),\n }) as const,\n )\n .otherwise((v0) => copyTableFormFieldsData(v0, context))\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAClB;AAAA,EACE;AAAA,EAGA;AAAA,EACA;AAAA,OACK;AACP,SAAS,GAAG,aAAa;AAEzB,MAAM,uBAAuB,EAAE,OAAO;AAAA,EACpC,IAAI,EAAE,OAAO;AAAA,EACb,eAAe,EAAE,OAAO;AAAA,EACxB,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,EAC3B,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,EACjC,cAAc,EACX,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EACpD,SAAS;AAAA,EACZ,UAAU,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC/B,QAAQ,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC7B,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,QAAQ,GAAG,EAAE,QAAQ,OAAO,CAAC,CAAC,EAAE,SAAS;AAAA,EAClE,WAAW,EAAE,QAAQ,EAAE,SAAS;AAAA,EAChC,UAAU,EAAE,QAAQ,EAAE,SAAS;AACjC,CAAC;AAEM,MAAM,4BAA4B,EAAE,OAAO;AAAA,EAChD,QAAQ,EAAE,MAAM,oBAAoB;AAAA,EACpC,MAAM,OAAO;AAAA,IACX,EAAE,OAAO;AAAA,MACP,OAAO,EAAE,OAAO;AAAA,MAChB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAAA,IACpC,CAAC;AAAA,EACH;AACF,CAAC;AAID,MAAM,4CAA4C;AAM3C,MAAM,0CACX;AAEF,MAAM,4CAA4C,EAAE,OAAO;AAAA,EACzD,CAAC,kBAAkB,GAAG,EAAE,QAAQ,uCAAuC;AAAA,EACvE,OAAO;AACT,CAAC;AAMM,MAAM,0CAA0C,EAAE,MAAM;AAAA,EAC7D;AAAA,EACA;AACF,CAAC;AAsCM,SAAS,gBACd,UAAkC,CAAC,GACN;AAC7B,SAAO,EAAE,MAAM,MAAM,iBAAiB,SAAS,GAAG,QAAQ;AAC5D;AAEO,SAAS,wDACd,MACiC;AACjC,SAAO,MAAM,IAAI,EACd;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,wCAAwC;AAAA,IAChE,CAAC,OAAO,GAAG;AAAA,EACb,EACC,UAAU,CAAC,OAAO,EAAE;AACzB;AAEO,SAAS,+DACd,OACA,YACmC;AACnC,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,wBACP,MACA,SACqB;AACrB,MAAI,QAAQ;AAAM,WAAO;AAEzB,SAAO;AAAA,IACL,GAAG;AAAA,IACH,QAAQ,KAAK,OAAO,IAAI,CAAC,WAAW;AAAA,MAClC,GAAG;AAAA,MACH,eACE,QAAQ,mBAAmB,eAAe,IAAI,MAAM,aAAa,KACjE,MAAM;AAAA,IACV,EAAE;AAAA,EACJ;AACF;AAEO,SAAS,sCACd,MACA,SAC+C;AAC/C,SAAO,MAAM,IAAI,EACd,KAAK,QAAW,MAAM,MAAS,EAC/B;AAAA,IACC,EAAE,CAAC,kBAAkB,GAAG,wCAAwC;AAAA,IAChE,CAAC,QACE;AAAA,MACC,CAAC,kBAAkB,GAAG;AAAA,MACtB,OAAO,wBAAwB,GAAG,OAAO,OAAO;AAAA,IAClD;AAAA,EACJ,EACC,UAAU,CAAC,OAAO,wBAAwB,IAAI,OAAO,CAAC;AAC3D;","names":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./text-area";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/text-area/index.ts"],"sourcesContent":["export * from './text-area'\n"],"mappings":"AAAA,cAAc;","names":[]}
@@ -0,0 +1,39 @@
1
+ import { z } from "zod";
2
+ import { ControlDataTypeKey, Types } from "../prop-controllers";
3
+ import { match } from "ts-pattern";
4
+ const textAreaPropControllerDataV0Schema = z.string();
5
+ const TextAreaPropControllerDataV1Type = "prop-controllers::text-area::v1";
6
+ const textAreaPropControllerDataV1Schema = z.object({
7
+ [ControlDataTypeKey]: z.literal(TextAreaPropControllerDataV1Type),
8
+ value: z.string()
9
+ });
10
+ const textAreaPropControllerDataSchema = z.union([
11
+ textAreaPropControllerDataV0Schema,
12
+ textAreaPropControllerDataV1Schema
13
+ ]);
14
+ function TextArea(options = {}) {
15
+ return { type: Types.TextArea, version: 1, options };
16
+ }
17
+ function getTextAreaPropControllerDataString(data) {
18
+ return match(data).with(
19
+ { [ControlDataTypeKey]: TextAreaPropControllerDataV1Type },
20
+ (v1) => v1.value
21
+ ).otherwise((v0) => v0);
22
+ }
23
+ function createTextAreaPropControllerDataFromString(value, definition) {
24
+ return match(definition).with(
25
+ { version: 1 },
26
+ () => ({
27
+ [ControlDataTypeKey]: TextAreaPropControllerDataV1Type,
28
+ value
29
+ })
30
+ ).otherwise(() => value);
31
+ }
32
+ export {
33
+ TextArea,
34
+ TextAreaPropControllerDataV1Type,
35
+ createTextAreaPropControllerDataFromString,
36
+ getTextAreaPropControllerDataString,
37
+ textAreaPropControllerDataSchema
38
+ };
39
+ //# sourceMappingURL=text-area.js.map