@cambly/syntax-core 10.30.0 → 10.32.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 (430) hide show
  1. package/dist/Avatar/Avatar.cjs +6 -8
  2. package/dist/Avatar/Avatar.css +175 -189
  3. package/dist/Avatar/Avatar.css.map +1 -1
  4. package/dist/Avatar/Avatar.d.ts +2 -9
  5. package/dist/Avatar/Avatar.js +5 -7
  6. package/dist/AvatarGroup/AvatarGroup.cjs +5 -7
  7. package/dist/AvatarGroup/AvatarGroup.css +167 -158
  8. package/dist/AvatarGroup/AvatarGroup.css.map +1 -1
  9. package/dist/AvatarGroup/AvatarGroup.d.ts +2 -9
  10. package/dist/AvatarGroup/AvatarGroup.js +4 -6
  11. package/dist/Badge/Badge.cjs +6 -8
  12. package/dist/Badge/Badge.css +212 -239
  13. package/dist/Badge/Badge.css.map +1 -1
  14. package/dist/Badge/Badge.js +5 -7
  15. package/dist/Box/Box.cjs +6 -6
  16. package/dist/Box/Box.css +167 -158
  17. package/dist/Box/Box.css.map +1 -1
  18. package/dist/Box/Box.d.ts +2 -10
  19. package/dist/Box/Box.js +7 -7
  20. package/dist/Button/Button.cjs +11 -14
  21. package/dist/Button/Button.css +231 -283
  22. package/dist/Button/Button.css.map +1 -1
  23. package/dist/Button/Button.d.ts +1 -16
  24. package/dist/Button/Button.js +10 -13
  25. package/dist/Button/constants/iconSize.cjs +2 -3
  26. package/dist/Button/constants/iconSize.css +19 -44
  27. package/dist/Button/constants/iconSize.css.map +1 -1
  28. package/dist/Button/constants/iconSize.js +1 -2
  29. package/dist/ButtonGroup/ButtonGroup.cjs +2 -3
  30. package/dist/ButtonGroup/ButtonGroup.css +6 -15
  31. package/dist/ButtonGroup/ButtonGroup.css.map +1 -1
  32. package/dist/ButtonGroup/ButtonGroup.d.ts +0 -6
  33. package/dist/ButtonGroup/ButtonGroup.js +1 -2
  34. package/dist/Card/Card.cjs +5 -7
  35. package/dist/Card/Card.css +167 -158
  36. package/dist/Card/Card.css.map +1 -1
  37. package/dist/Card/Card.d.ts +1 -1
  38. package/dist/Card/Card.js +4 -6
  39. package/dist/Checkbox/Checkbox.cjs +4 -5
  40. package/dist/Checkbox/Checkbox.css +222 -254
  41. package/dist/Checkbox/Checkbox.css.map +1 -1
  42. package/dist/Checkbox/Checkbox.js +3 -4
  43. package/dist/Chip/Chip.cjs +6 -8
  44. package/dist/Chip/Chip.css +225 -270
  45. package/dist/Chip/Chip.css.map +1 -1
  46. package/dist/Chip/Chip.d.ts +1 -4
  47. package/dist/Chip/Chip.js +5 -7
  48. package/dist/Dialog/Dialog.cjs +4 -6
  49. package/dist/Dialog/Dialog.css +167 -158
  50. package/dist/Dialog/Dialog.css.map +1 -1
  51. package/dist/Dialog/Dialog.js +3 -5
  52. package/dist/Dialog/ModalDialog.cjs +12 -16
  53. package/dist/Dialog/ModalDialog.css +178 -309
  54. package/dist/Dialog/ModalDialog.css.map +1 -1
  55. package/dist/Dialog/ModalDialog.js +10 -14
  56. package/dist/Divider/Divider.cjs +3 -4
  57. package/dist/Divider/Divider.css +164 -140
  58. package/dist/Divider/Divider.css.map +1 -1
  59. package/dist/Divider/Divider.js +2 -3
  60. package/dist/Heading/Heading.cjs +4 -5
  61. package/dist/Heading/Heading.css +209 -221
  62. package/dist/Heading/Heading.css.map +1 -1
  63. package/dist/Heading/Heading.d.ts +3 -9
  64. package/dist/Heading/Heading.js +3 -4
  65. package/dist/IconButton/IconButton.cjs +6 -9
  66. package/dist/IconButton/IconButton.css +175 -291
  67. package/dist/IconButton/IconButton.css.map +1 -1
  68. package/dist/IconButton/IconButton.d.ts +3 -18
  69. package/dist/IconButton/IconButton.js +5 -8
  70. package/dist/LinkButton/LinkButton.cjs +9 -12
  71. package/dist/LinkButton/LinkButton.css +228 -265
  72. package/dist/LinkButton/LinkButton.css.map +1 -1
  73. package/dist/LinkButton/LinkButton.d.ts +2 -20
  74. package/dist/LinkButton/LinkButton.js +8 -11
  75. package/dist/Modal/Layer.cjs +5 -7
  76. package/dist/Modal/Layer.css +167 -158
  77. package/dist/Modal/Layer.css.map +1 -1
  78. package/dist/Modal/Layer.js +4 -6
  79. package/dist/Modal/Modal.cjs +13 -17
  80. package/dist/Modal/Modal.css +227 -411
  81. package/dist/Modal/Modal.css.map +1 -1
  82. package/dist/Modal/Modal.js +12 -16
  83. package/dist/Popover/Popover.cjs +13 -17
  84. package/dist/Popover/Popover.css +178 -309
  85. package/dist/Popover/Popover.css.map +1 -1
  86. package/dist/Popover/Popover.js +11 -15
  87. package/dist/RadioButton/RadioButton.cjs +6 -8
  88. package/dist/RadioButton/RadioButton.css +212 -239
  89. package/dist/RadioButton/RadioButton.css.map +1 -1
  90. package/dist/RadioButton/RadioButton.js +5 -7
  91. package/dist/RichSelect/RichSelectBox.cjs +20 -23
  92. package/dist/RichSelect/RichSelectBox.css +250 -329
  93. package/dist/RichSelect/RichSelectBox.css.map +1 -1
  94. package/dist/RichSelect/RichSelectBox.js +18 -21
  95. package/dist/RichSelect/RichSelectChip.cjs +7 -9
  96. package/dist/RichSelect/RichSelectChip.css +225 -270
  97. package/dist/RichSelect/RichSelectChip.css.map +1 -1
  98. package/dist/RichSelect/RichSelectChip.js +6 -8
  99. package/dist/RichSelect/RichSelectList.cjs +27 -31
  100. package/dist/RichSelect/RichSelectList.css +338 -468
  101. package/dist/RichSelect/RichSelectList.css.map +1 -1
  102. package/dist/RichSelect/RichSelectList.js +25 -29
  103. package/dist/RichSelect/RichSelectRadioButton.cjs +7 -9
  104. package/dist/RichSelect/RichSelectRadioButton.css +212 -239
  105. package/dist/RichSelect/RichSelectRadioButton.css.map +1 -1
  106. package/dist/RichSelect/RichSelectRadioButton.js +6 -8
  107. package/dist/RichSelect/RichSelectSection.cjs +4 -5
  108. package/dist/RichSelect/RichSelectSection.css +209 -221
  109. package/dist/RichSelect/RichSelectSection.css.map +1 -1
  110. package/dist/RichSelect/RichSelectSection.js +3 -4
  111. package/dist/SelectList/SelectList.cjs +7 -9
  112. package/dist/SelectList/SelectList.css +223 -274
  113. package/dist/SelectList/SelectList.css.map +1 -1
  114. package/dist/SelectList/SelectList.d.ts +1 -0
  115. package/dist/SelectList/SelectList.js +6 -8
  116. package/dist/TapArea/TapArea.cjs +7 -3
  117. package/dist/TapArea/TapArea.css +2054 -15
  118. package/dist/TapArea/TapArea.css.map +1 -1
  119. package/dist/TapArea/TapArea.js +6 -2
  120. package/dist/TextArea/TextArea.cjs +6 -8
  121. package/dist/TextArea/TextArea.css +223 -305
  122. package/dist/TextArea/TextArea.css.map +1 -1
  123. package/dist/TextArea/TextArea.js +5 -7
  124. package/dist/TextField/TextField.cjs +6 -8
  125. package/dist/TextField/TextField.css +222 -289
  126. package/dist/TextField/TextField.css.map +1 -1
  127. package/dist/TextField/TextField.d.ts +0 -6
  128. package/dist/TextField/TextField.js +5 -7
  129. package/dist/ThemeProvider/ThemeProvider.cjs +2 -4
  130. package/dist/ThemeProvider/ThemeProvider.d.ts +3 -9
  131. package/dist/ThemeProvider/ThemeProvider.js +3 -5
  132. package/dist/Tooltip/Tooltip.cjs +5 -7
  133. package/dist/Tooltip/Tooltip.css +212 -239
  134. package/dist/Tooltip/Tooltip.css.map +1 -1
  135. package/dist/Tooltip/Tooltip.js +4 -6
  136. package/dist/Typography/Typography.cjs +3 -4
  137. package/dist/Typography/Typography.css +209 -221
  138. package/dist/Typography/Typography.css.map +1 -1
  139. package/dist/Typography/Typography.d.ts +3 -21
  140. package/dist/Typography/Typography.js +2 -3
  141. package/dist/__chunks/2MQDGNBM.cjs +112 -0
  142. package/dist/__chunks/2MQDGNBM.cjs.map +1 -0
  143. package/dist/__chunks/{GJBW4BG7.js → 2XOJNXTC.js} +2 -2
  144. package/dist/__chunks/{BVYHALMT.cjs → 3RDV2SM7.cjs} +8 -12
  145. package/dist/__chunks/3RDV2SM7.cjs.map +1 -0
  146. package/dist/__chunks/{FPHP3T7U.js → 423C767D.js} +8 -25
  147. package/dist/__chunks/423C767D.js.map +1 -0
  148. package/dist/__chunks/{Q4HTXMNF.js → 4325RESS.js} +3 -7
  149. package/dist/__chunks/4325RESS.js.map +1 -0
  150. package/dist/__chunks/45TMKSJQ.cjs +9 -0
  151. package/dist/__chunks/45TMKSJQ.cjs.map +1 -0
  152. package/dist/__chunks/{CS66HKUB.cjs → 4E7A4J3K.cjs} +28 -42
  153. package/dist/__chunks/4E7A4J3K.cjs.map +1 -0
  154. package/dist/__chunks/{GEGGHBSM.cjs → 4HCWQMZO.cjs} +18 -18
  155. package/dist/__chunks/{AKKJTW7U.js → 53IGOH2V.js} +9 -19
  156. package/dist/__chunks/53IGOH2V.js.map +1 -0
  157. package/dist/__chunks/{UKLQ64N7.cjs → 5PL5GKUK.cjs} +6 -3
  158. package/dist/__chunks/5PL5GKUK.cjs.map +1 -0
  159. package/dist/__chunks/5VVFGPW6.cjs +72 -0
  160. package/dist/__chunks/5VVFGPW6.cjs.map +1 -0
  161. package/dist/__chunks/6CZHUML6.js +37 -0
  162. package/dist/__chunks/6CZHUML6.js.map +1 -0
  163. package/dist/__chunks/{JXOKXBDZ.cjs → ASFZDRJJ.cjs} +9 -21
  164. package/dist/__chunks/ASFZDRJJ.cjs.map +1 -0
  165. package/dist/__chunks/{ICDRMDXD.js → B5BNKWTJ.js} +1 -1
  166. package/dist/__chunks/{ICDRMDXD.js.map → B5BNKWTJ.js.map} +1 -1
  167. package/dist/__chunks/{A323TCSA.cjs → BEKUOSKU.cjs} +5 -11
  168. package/dist/__chunks/BEKUOSKU.cjs.map +1 -0
  169. package/dist/__chunks/{W5MIJIZA.cjs → BNBE2XVM.cjs} +5 -14
  170. package/dist/__chunks/BNBE2XVM.cjs.map +1 -0
  171. package/dist/__chunks/BOX3VY3Q.js +30 -0
  172. package/dist/__chunks/BOX3VY3Q.js.map +1 -0
  173. package/dist/__chunks/BYVURUTU.cjs +37 -0
  174. package/dist/__chunks/BYVURUTU.cjs.map +1 -0
  175. package/dist/__chunks/C5XPZTFO.cjs +30 -0
  176. package/dist/__chunks/C5XPZTFO.cjs.map +1 -0
  177. package/dist/__chunks/{4GTNQPPD.js → CAEGAJQ2.js} +9 -21
  178. package/dist/__chunks/CAEGAJQ2.js.map +1 -0
  179. package/dist/__chunks/{3OWAOKRW.js → CPQLZKCY.js} +17 -27
  180. package/dist/__chunks/CPQLZKCY.js.map +1 -0
  181. package/dist/__chunks/{BQOD4WU7.js → CUJFDOPJ.js} +29 -43
  182. package/dist/__chunks/CUJFDOPJ.js.map +1 -0
  183. package/dist/__chunks/{IB3FQANU.js → DEXL5BXD.js} +10 -36
  184. package/dist/__chunks/DEXL5BXD.js.map +1 -0
  185. package/dist/__chunks/{HYRATHVK.cjs → DMA6PPUZ.cjs} +6 -7
  186. package/dist/__chunks/DMA6PPUZ.cjs.map +1 -0
  187. package/dist/__chunks/{7SCBZPIF.cjs → DQRU6NZI.cjs} +1 -1
  188. package/dist/__chunks/{7SCBZPIF.cjs.map → DQRU6NZI.cjs.map} +1 -1
  189. package/dist/__chunks/{6P6ARVEA.cjs → E32CAKEB.cjs} +3 -3
  190. package/dist/__chunks/EB7WKQ35.js +9 -0
  191. package/dist/__chunks/EB7WKQ35.js.map +1 -0
  192. package/dist/__chunks/{6OCOGTM5.cjs → EMVONWGI.cjs} +20 -33
  193. package/dist/__chunks/EMVONWGI.cjs.map +1 -0
  194. package/dist/__chunks/{3FMGCZP2.cjs → EOHYUABJ.cjs} +12 -22
  195. package/dist/__chunks/EOHYUABJ.cjs.map +1 -0
  196. package/dist/__chunks/ESGHXEEA.cjs +91 -0
  197. package/dist/__chunks/ESGHXEEA.cjs.map +1 -0
  198. package/dist/__chunks/{MONMI3LS.js → FRR2K77P.js} +2 -2
  199. package/dist/__chunks/{HCHFPFNX.js → GCE2CI4A.js} +5 -11
  200. package/dist/__chunks/GCE2CI4A.js.map +1 -0
  201. package/dist/__chunks/HAI43LQ2.cjs +117 -0
  202. package/dist/__chunks/HAI43LQ2.cjs.map +1 -0
  203. package/dist/__chunks/{EKHHYK7U.cjs → HNXMVFBH.cjs} +15 -25
  204. package/dist/__chunks/HNXMVFBH.cjs.map +1 -0
  205. package/dist/__chunks/JFI6TDAC.js +72 -0
  206. package/dist/__chunks/JFI6TDAC.js.map +1 -0
  207. package/dist/__chunks/{FTKHKS6W.js → JJMHCJ37.js} +3 -3
  208. package/dist/__chunks/JWJK72BH.js +17 -0
  209. package/dist/__chunks/JWJK72BH.js.map +1 -0
  210. package/dist/__chunks/{TDR3JRXZ.js → KCGPFLPK.js} +16 -29
  211. package/dist/__chunks/KCGPFLPK.js.map +1 -0
  212. package/dist/__chunks/{WOIJRASP.cjs → KNFEGYQM.cjs} +3 -3
  213. package/dist/__chunks/KZR322YX.cjs +97 -0
  214. package/dist/__chunks/KZR322YX.cjs.map +1 -0
  215. package/dist/__chunks/KZT53ITQ.cjs +9 -0
  216. package/dist/__chunks/KZT53ITQ.cjs.map +1 -0
  217. package/dist/__chunks/LBA34HLF.cjs +47 -0
  218. package/dist/__chunks/LBA34HLF.cjs.map +1 -0
  219. package/dist/__chunks/{3CNALXRL.js → LQ6UZ6GG.js} +8 -8
  220. package/dist/__chunks/{3HBVE6VG.js → LV2KIGSE.js} +8 -18
  221. package/dist/__chunks/LV2KIGSE.js.map +1 -0
  222. package/dist/__chunks/M3PAAPMI.cjs +56 -0
  223. package/dist/__chunks/M3PAAPMI.cjs.map +1 -0
  224. package/dist/__chunks/{ZUQC37VB.cjs → MI5OUDV4.cjs} +3 -3
  225. package/dist/__chunks/{5MKCDCHQ.cjs → MLUQYLT2.cjs} +20 -28
  226. package/dist/__chunks/MLUQYLT2.cjs.map +1 -0
  227. package/dist/__chunks/{KTTIFVGY.js → MOLOILVI.js} +2 -2
  228. package/dist/__chunks/{AYTJYJHI.js → N6YLXBLU.js} +4 -9
  229. package/dist/__chunks/N6YLXBLU.js.map +1 -0
  230. package/dist/__chunks/{VLK5CARI.cjs → N7WA46RL.cjs} +7 -7
  231. package/dist/__chunks/{Y2HREK3T.js → NFIK6RYN.js} +4 -4
  232. package/dist/__chunks/NPOX7QNB.js +91 -0
  233. package/dist/__chunks/NPOX7QNB.js.map +1 -0
  234. package/dist/__chunks/PIB5AHP5.js +128 -0
  235. package/dist/__chunks/PIB5AHP5.js.map +1 -0
  236. package/dist/__chunks/PUTZ53EC.js +9 -0
  237. package/dist/__chunks/PUTZ53EC.js.map +1 -0
  238. package/dist/__chunks/QT6IRCGW.cjs +9 -0
  239. package/dist/__chunks/QT6IRCGW.cjs.map +1 -0
  240. package/dist/__chunks/{5MJ6NOUC.js → RCEIKIN5.js} +6 -3
  241. package/dist/__chunks/RCEIKIN5.js.map +1 -0
  242. package/dist/__chunks/{7BAMJSUF.js → RGOIFORP.js} +4 -10
  243. package/dist/__chunks/RGOIFORP.js.map +1 -0
  244. package/dist/__chunks/{GANR5JVV.cjs → RJ3ZYLJS.cjs} +7 -13
  245. package/dist/__chunks/RJ3ZYLJS.cjs.map +1 -0
  246. package/dist/__chunks/S6TNP7G5.js +9 -0
  247. package/dist/__chunks/S6TNP7G5.js.map +1 -0
  248. package/dist/__chunks/{FLFJRP4T.js → SJRKFU77.js} +23 -37
  249. package/dist/__chunks/SJRKFU77.js.map +1 -0
  250. package/dist/__chunks/{SFOAZYZG.cjs → SND6HHAL.cjs} +3 -3
  251. package/dist/__chunks/{2HNPYS3S.cjs → T75YP5VR.cjs} +32 -42
  252. package/dist/__chunks/T75YP5VR.cjs.map +1 -0
  253. package/dist/__chunks/{I6CGA2ER.js → TEKYRS2R.js} +6 -10
  254. package/dist/__chunks/TEKYRS2R.js.map +1 -0
  255. package/dist/__chunks/{63GEZVJ4.js → TK2EQ6QG.js} +6 -7
  256. package/dist/__chunks/TK2EQ6QG.js.map +1 -0
  257. package/dist/__chunks/{PKBQW5T6.cjs → TNVQI6LF.cjs} +4 -8
  258. package/dist/__chunks/TNVQI6LF.cjs.map +1 -0
  259. package/dist/__chunks/{X5KCRFFF.js → TSR66LRL.js} +11 -21
  260. package/dist/__chunks/TSR66LRL.js.map +1 -0
  261. package/dist/__chunks/UAXX2ZEQ.cjs +17 -0
  262. package/dist/__chunks/UAXX2ZEQ.cjs.map +1 -0
  263. package/dist/__chunks/VKL4RHBK.js +97 -0
  264. package/dist/__chunks/VKL4RHBK.js.map +1 -0
  265. package/dist/__chunks/{CPIFXRXD.cjs → VM56IP2S.cjs} +19 -29
  266. package/dist/__chunks/VM56IP2S.cjs.map +1 -0
  267. package/dist/__chunks/W74F2R45.cjs +128 -0
  268. package/dist/__chunks/W74F2R45.cjs.map +1 -0
  269. package/dist/__chunks/{N5B6KNJR.js → WBMHYMAT.js} +18 -26
  270. package/dist/__chunks/WBMHYMAT.js.map +1 -0
  271. package/dist/__chunks/XCSW34UM.cjs +94 -0
  272. package/dist/__chunks/XCSW34UM.cjs.map +1 -0
  273. package/dist/__chunks/XL37HTXI.js +117 -0
  274. package/dist/__chunks/XL37HTXI.js.map +1 -0
  275. package/dist/__chunks/YAM7DAOZ.js +94 -0
  276. package/dist/__chunks/YAM7DAOZ.js.map +1 -0
  277. package/dist/__chunks/{UF7SXHS4.js → YBOF6XGJ.js} +4 -13
  278. package/dist/__chunks/YBOF6XGJ.js.map +1 -0
  279. package/dist/__chunks/{K27Z66LH.js → YF53K6PE.js} +2 -2
  280. package/dist/__chunks/{LECUYS4O.cjs → YJI76DU2.cjs} +5 -5
  281. package/dist/__chunks/{THYSYYWS.cjs → ZQRUOZFX.cjs} +5 -10
  282. package/dist/__chunks/ZQRUOZFX.cjs.map +1 -0
  283. package/dist/colors/backgroundColor.cjs +3 -5
  284. package/dist/colors/backgroundColor.css +164 -140
  285. package/dist/colors/backgroundColor.css.map +1 -1
  286. package/dist/colors/backgroundColor.d.ts +3 -4
  287. package/dist/colors/backgroundColor.js +4 -6
  288. package/dist/colors/border.cjs +11 -0
  289. package/dist/colors/border.css +446 -0
  290. package/dist/colors/border.css.map +1 -0
  291. package/dist/colors/border.d.ts +5 -0
  292. package/dist/colors/border.js +11 -0
  293. package/dist/colors/foregroundColor.cjs +3 -5
  294. package/dist/colors/foregroundColor.css +164 -140
  295. package/dist/colors/foregroundColor.css.map +1 -1
  296. package/dist/colors/foregroundColor.d.ts +3 -4
  297. package/dist/colors/foregroundColor.js +4 -6
  298. package/dist/constants.cjs +0 -2
  299. package/dist/constants.cjs.map +1 -1
  300. package/dist/constants.d.ts +1 -1
  301. package/dist/constants.js +0 -2
  302. package/dist/constants.js.map +1 -1
  303. package/dist/index.cjs +41 -46
  304. package/dist/index.css +308 -553
  305. package/dist/index.css.map +1 -1
  306. package/dist/index.d.ts +1 -1
  307. package/dist/index.js +44 -49
  308. package/package.json +1 -1
  309. package/dist/Button/constants/classicSize.cjs +0 -11
  310. package/dist/Button/constants/classicSize.cjs.map +0 -1
  311. package/dist/Button/constants/classicSize.d.ts +0 -3
  312. package/dist/Button/constants/classicSize.js +0 -11
  313. package/dist/Button/constants/classicSize.js.map +0 -1
  314. package/dist/Button/constants/color.cjs +0 -11
  315. package/dist/Button/constants/color.d.ts +0 -4
  316. package/dist/Button/constants/color.js +0 -11
  317. package/dist/__chunks/2HNPYS3S.cjs.map +0 -1
  318. package/dist/__chunks/2RWNBVOK.cjs +0 -114
  319. package/dist/__chunks/2RWNBVOK.cjs.map +0 -1
  320. package/dist/__chunks/3FMGCZP2.cjs.map +0 -1
  321. package/dist/__chunks/3HBVE6VG.js.map +0 -1
  322. package/dist/__chunks/3OWAOKRW.js.map +0 -1
  323. package/dist/__chunks/4GTNQPPD.js.map +0 -1
  324. package/dist/__chunks/5MJ6NOUC.js.map +0 -1
  325. package/dist/__chunks/5MKCDCHQ.cjs.map +0 -1
  326. package/dist/__chunks/5OLT2HH5.js +0 -43
  327. package/dist/__chunks/5OLT2HH5.js.map +0 -1
  328. package/dist/__chunks/5PWYNWVE.js +0 -115
  329. package/dist/__chunks/5PWYNWVE.js.map +0 -1
  330. package/dist/__chunks/63GEZVJ4.js.map +0 -1
  331. package/dist/__chunks/6OCOGTM5.cjs.map +0 -1
  332. package/dist/__chunks/7BAMJSUF.js.map +0 -1
  333. package/dist/__chunks/A323TCSA.cjs.map +0 -1
  334. package/dist/__chunks/AKKJTW7U.js.map +0 -1
  335. package/dist/__chunks/AYTJYJHI.js.map +0 -1
  336. package/dist/__chunks/B7PDT66P.js +0 -9
  337. package/dist/__chunks/B7PDT66P.js.map +0 -1
  338. package/dist/__chunks/BQOD4WU7.js.map +0 -1
  339. package/dist/__chunks/BVYHALMT.cjs.map +0 -1
  340. package/dist/__chunks/BXHT3UUW.js +0 -9
  341. package/dist/__chunks/BXHT3UUW.js.map +0 -1
  342. package/dist/__chunks/CPIFXRXD.cjs.map +0 -1
  343. package/dist/__chunks/CS66HKUB.cjs.map +0 -1
  344. package/dist/__chunks/DTKTTGU5.cjs +0 -9
  345. package/dist/__chunks/DTKTTGU5.cjs.map +0 -1
  346. package/dist/__chunks/EKHHYK7U.cjs.map +0 -1
  347. package/dist/__chunks/FH2W3CI2.cjs +0 -126
  348. package/dist/__chunks/FH2W3CI2.cjs.map +0 -1
  349. package/dist/__chunks/FLFJRP4T.js.map +0 -1
  350. package/dist/__chunks/FPHP3T7U.js.map +0 -1
  351. package/dist/__chunks/GANR5JVV.cjs.map +0 -1
  352. package/dist/__chunks/GFKDPMFK.js +0 -25
  353. package/dist/__chunks/GFKDPMFK.js.map +0 -1
  354. package/dist/__chunks/GWJGZYZO.js +0 -150
  355. package/dist/__chunks/GWJGZYZO.js.map +0 -1
  356. package/dist/__chunks/HCHFPFNX.js.map +0 -1
  357. package/dist/__chunks/HWQUS53M.cjs +0 -25
  358. package/dist/__chunks/HWQUS53M.cjs.map +0 -1
  359. package/dist/__chunks/HYRATHVK.cjs.map +0 -1
  360. package/dist/__chunks/I6CGA2ER.js.map +0 -1
  361. package/dist/__chunks/IB3FQANU.js.map +0 -1
  362. package/dist/__chunks/J43HGNHN.cjs +0 -82
  363. package/dist/__chunks/J43HGNHN.cjs.map +0 -1
  364. package/dist/__chunks/JAC64LLA.js +0 -17
  365. package/dist/__chunks/JAC64LLA.js.map +0 -1
  366. package/dist/__chunks/JNYNLJGY.js +0 -137
  367. package/dist/__chunks/JNYNLJGY.js.map +0 -1
  368. package/dist/__chunks/JXOKXBDZ.cjs.map +0 -1
  369. package/dist/__chunks/KYIRM6PZ.cjs +0 -137
  370. package/dist/__chunks/KYIRM6PZ.cjs.map +0 -1
  371. package/dist/__chunks/N5B6KNJR.js.map +0 -1
  372. package/dist/__chunks/NCUQOLOV.cjs +0 -115
  373. package/dist/__chunks/NCUQOLOV.cjs.map +0 -1
  374. package/dist/__chunks/OAZD7W2W.cjs +0 -96
  375. package/dist/__chunks/OAZD7W2W.cjs.map +0 -1
  376. package/dist/__chunks/OMFFRI3K.js +0 -9
  377. package/dist/__chunks/OMFFRI3K.js.map +0 -1
  378. package/dist/__chunks/OU5C2MBA.js +0 -114
  379. package/dist/__chunks/OU5C2MBA.js.map +0 -1
  380. package/dist/__chunks/PKBQW5T6.cjs.map +0 -1
  381. package/dist/__chunks/Q4HTXMNF.js.map +0 -1
  382. package/dist/__chunks/QAS3KERZ.cjs +0 -9
  383. package/dist/__chunks/QAS3KERZ.cjs.map +0 -1
  384. package/dist/__chunks/RVFY33X2.cjs +0 -43
  385. package/dist/__chunks/RVFY33X2.cjs.map +0 -1
  386. package/dist/__chunks/S5QHTHST.cjs +0 -9
  387. package/dist/__chunks/S5QHTHST.cjs.map +0 -1
  388. package/dist/__chunks/SHHN3SRR.js +0 -9
  389. package/dist/__chunks/SHHN3SRR.js.map +0 -1
  390. package/dist/__chunks/TDR3JRXZ.js.map +0 -1
  391. package/dist/__chunks/THYSYYWS.cjs.map +0 -1
  392. package/dist/__chunks/UF7SXHS4.js.map +0 -1
  393. package/dist/__chunks/UKLQ64N7.cjs.map +0 -1
  394. package/dist/__chunks/UQY2ELTZ.cjs +0 -64
  395. package/dist/__chunks/UQY2ELTZ.cjs.map +0 -1
  396. package/dist/__chunks/UVROGDYB.js +0 -128
  397. package/dist/__chunks/UVROGDYB.js.map +0 -1
  398. package/dist/__chunks/VR4ZFZ4Z.js +0 -96
  399. package/dist/__chunks/VR4ZFZ4Z.js.map +0 -1
  400. package/dist/__chunks/W2JRKN5E.cjs +0 -9
  401. package/dist/__chunks/W2JRKN5E.cjs.map +0 -1
  402. package/dist/__chunks/W5MIJIZA.cjs.map +0 -1
  403. package/dist/__chunks/X5KCRFFF.js.map +0 -1
  404. package/dist/__chunks/XU3CLITI.cjs +0 -128
  405. package/dist/__chunks/XU3CLITI.cjs.map +0 -1
  406. package/dist/__chunks/ZCSR6NFB.cjs +0 -17
  407. package/dist/__chunks/ZCSR6NFB.cjs.map +0 -1
  408. package/dist/__chunks/ZRO3RCYX.cjs +0 -150
  409. package/dist/__chunks/ZRO3RCYX.cjs.map +0 -1
  410. package/dist/colors/foregroundTypographyColor.cjs +0 -24
  411. package/dist/colors/foregroundTypographyColor.cjs.map +0 -1
  412. package/dist/colors/foregroundTypographyColor.d.ts +0 -5
  413. package/dist/colors/foregroundTypographyColor.js +0 -24
  414. package/dist/colors/foregroundTypographyColor.js.map +0 -1
  415. /package/dist/__chunks/{GJBW4BG7.js.map → 2XOJNXTC.js.map} +0 -0
  416. /package/dist/__chunks/{GEGGHBSM.cjs.map → 4HCWQMZO.cjs.map} +0 -0
  417. /package/dist/__chunks/{6P6ARVEA.cjs.map → E32CAKEB.cjs.map} +0 -0
  418. /package/dist/__chunks/{MONMI3LS.js.map → FRR2K77P.js.map} +0 -0
  419. /package/dist/__chunks/{FTKHKS6W.js.map → JJMHCJ37.js.map} +0 -0
  420. /package/dist/__chunks/{WOIJRASP.cjs.map → KNFEGYQM.cjs.map} +0 -0
  421. /package/dist/__chunks/{3CNALXRL.js.map → LQ6UZ6GG.js.map} +0 -0
  422. /package/dist/__chunks/{ZUQC37VB.cjs.map → MI5OUDV4.cjs.map} +0 -0
  423. /package/dist/__chunks/{KTTIFVGY.js.map → MOLOILVI.js.map} +0 -0
  424. /package/dist/__chunks/{VLK5CARI.cjs.map → N7WA46RL.cjs.map} +0 -0
  425. /package/dist/__chunks/{Y2HREK3T.js.map → NFIK6RYN.js.map} +0 -0
  426. /package/dist/__chunks/{SFOAZYZG.cjs.map → SND6HHAL.cjs.map} +0 -0
  427. /package/dist/__chunks/{K27Z66LH.js.map → YF53K6PE.js.map} +0 -0
  428. /package/dist/__chunks/{LECUYS4O.cjs.map → YJI76DU2.cjs.map} +0 -0
  429. /package/dist/{Button/constants/color.cjs.map → colors/border.cjs.map} +0 -0
  430. /package/dist/{Button/constants/color.js.map → colors/border.js.map} +0 -0
@@ -1,3 +0,0 @@
1
- declare function classicSize(size: "sm" | "md" | "lg" | "xl"): "sm" | "md" | "lg";
2
-
3
- export { classicSize as default };
@@ -1,11 +0,0 @@
1
- "use client"
2
- import "../../__chunks/UWGNJENA.js";
3
-
4
- // src/Button/constants/classicSize.ts
5
- function classicSize(size) {
6
- return size === "xl" ? "lg" : size;
7
- }
8
- export {
9
- classicSize as default
10
- };
11
- //# sourceMappingURL=classicSize.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/Button/constants/classicSize.ts"],"sourcesContent":["export default function classicSize(\n size: \"sm\" | \"md\" | \"lg\" | \"xl\",\n): \"sm\" | \"md\" | \"lg\" {\n return size === \"xl\" ? \"lg\" : size;\n}\n"],"mappings":";;;;AAAe,SAAR,YACL,MACoB;AACpB,SAAO,SAAS,OAAO,OAAO;AAChC;","names":[]}
@@ -1,11 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client"
2
-
3
-
4
-
5
- var _HWQUS53Mcjs = require('../../__chunks/HWQUS53M.cjs');
6
- require('../../__chunks/X2SDR4SD.cjs');
7
-
8
-
9
-
10
- exports.cambioColor = _HWQUS53Mcjs.cambioColor; exports.classicColor = _HWQUS53Mcjs.classicColor;
11
- //# sourceMappingURL=color.cjs.map
@@ -1,4 +0,0 @@
1
- declare function classicColor(color: "primary" | "secondary" | "tertiary" | "destructive-primary" | "destructive-secondary" | "destructive-tertiary" | "branded" | "success" | "success-primary" | "success-secondary" | "success-tertiary" | "inverse"): "primary" | "secondary" | "tertiary" | "destructive-primary" | "destructive-secondary" | "branded" | "success" | "inverse";
2
- declare function cambioColor(color: "primary" | "secondary" | "tertiary" | "destructive-primary" | "destructive-secondary" | "destructive-tertiary" | "branded" | "success" | "success-primary" | "success-secondary" | "success-tertiary" | "inverse"): "primary" | "secondary" | "tertiary" | "destructive-primary" | "destructive-secondary" | "destructive-tertiary" | "branded" | "success-primary" | "success-secondary" | "success-tertiary";
3
-
4
- export { cambioColor, classicColor };
@@ -1,11 +0,0 @@
1
- "use client"
2
- import {
3
- cambioColor,
4
- classicColor
5
- } from "../../__chunks/GFKDPMFK.js";
6
- import "../../__chunks/UWGNJENA.js";
7
- export {
8
- cambioColor,
9
- classicColor
10
- };
11
- //# sourceMappingURL=color.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/RichSelect/RichSelectList.tsx","css-module:../SelectList/SelectList.module.css#css-module"],"names":["_a"],"mappings":"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","sourcesContent":["import React, {\n type ReactElement,\n useMemo,\n type SyntheticEvent,\n useRef,\n useId,\n} from \"react\";\nimport classNames from \"classnames\";\nimport {\n ColorBaseDestructive700,\n ColorBaseGray800,\n} from \"@cambly/syntax-design-tokens\";\nimport Typography from \"../Typography/Typography\";\nimport useIsHydrated from \"../useIsHydrated\";\nimport Popover from \"../Popover/Popover\";\nimport {\n Label as ReactAriaLabel,\n Provider as ReactAriaProvider,\n} from \"react-aria-components\";\nimport { useControlledState } from \"@react-stately/utils\";\nimport { setInteractionModality } from \"@react-aria/interactions\";\nimport { DialogContext } from \"../Dialog/Dialog\";\nimport styles from \"../SelectList/SelectList.module.css\";\nimport RichSelectBox, {\n RichSelectBoxContext,\n convertSelection,\n type RichSelectBoxProps,\n} from \"./RichSelectBox\";\nimport TapArea from \"../TapArea/TapArea\";\nimport { type OverlayHandlerRef } from \"../react-aria-utils/Triggerable\";\nimport Box from \"../Box/Box\";\nimport RichSelectSection from \"./RichSelectSection\";\nimport RichSelectChip from \"./RichSelectChip\";\nimport RichSelectRadioButton from \"./RichSelectRadioButton\";\nimport { useField } from \"react-aria\";\nimport { useTheme } from \"../ThemeProvider/ThemeProvider\";\n\nconst NOOP = () => undefined;\n\nconst iconSize = {\n sm: 20,\n md: 24,\n lg: 24,\n} as const;\n\nexport type RichSelectListProps = RichSelectBoxProps & {\n /** Test id for the select element */\n \"data-testid\"?: string;\n /**\n * Disables the select dropdown entirely\n * @defaultValue false\n */\n disabled?: boolean;\n /** Callback to be called when select is clicked */\n onClick?: (event: SyntheticEvent<HTMLDivElement>) => void;\n /** Text shown below select box if there is an input error. */\n errorText?: string;\n /** Text shown below select box */\n helperText?: string;\n /**\n * RichSelectList id, if not provided, a unique id will be generated\n */\n id?: string;\n /** Text shown above select box */\n label: string;\n /**\n * Text showing in select box if no option has been chosen.\n * There should always have a placeholder unless there is a default option selected\n */\n placeholderText?: string;\n /** Use to render (override) text shown in the select box */\n selectTextValue?: (selectedValues?: \"all\" | string[]) => string | undefined;\n /**\n * Size of the select box\n *\n * @defaultValue \"md\"\n */\n size?: \"sm\" | \"md\" | \"lg\";\n};\n\n/**\n * [RichSelectList](https://cambly-syntax.vercel.app/?path=/docs/components-richselectlist--docs) is a dropdown menu that allows users to select one or multiple options from a list.\n *\n * Example Usage:\n ```\n <RichSelectList\n label=\"My Label\"\n multiple\n onChange={() => { ... }}\n primaryButtonText=\"Save\"\n primaryButtonAccessibilityLabel=\"Save\"\n secondaryButtonText=\"Clear\"\n secondaryButtonAccessibilityLabel=\"Clear\"\n >\n <RichSelectList.Section label=\"Cities\">\n <RichSelectList.Chip label=\"San Francisco\" value=\"sf\" />\n <RichSelectList.Chip label=\"New York\" value=\"ny\" disabled />\n <RichSelectList.Chip label=\"Tulsa\" value=\"tulsa\" />\n <RichSelectList.Chip label=\"Chicago\" value=\"chicago\" disabled />\n </RichSelectList.Section>\n </RichSelectList>\n ```\n */\nfunction RichSelectList(props: RichSelectListProps): ReactElement {\n const {\n autosave,\n children,\n \"data-testid\": dataTestId,\n disabled: disabledProp = false,\n errorText,\n helperText,\n label,\n id,\n onChange,\n onClick = NOOP,\n placeholderText,\n selectTextValue,\n selectedValues: selectedValuesProp,\n defaultSelectedValues: defaultSelectedValuesProp,\n size = \"md\",\n ...richSelectBoxProps\n } = props;\n\n const reactId = useId();\n const inputId = id ?? reactId;\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated || disabledProp;\n const { themeName } = useTheme();\n\n // passed to popover, which attached open/close methods\n const overlayHandlerRef = useRef<OverlayHandlerRef>({});\n\n const selectedKeysProp = useMemo(\n () => convertSelection(selectedValuesProp),\n [selectedValuesProp],\n );\n const defaultSelectedKeys = useMemo(\n () => convertSelection(defaultSelectedValuesProp, new Set()),\n [defaultSelectedValuesProp],\n );\n const [selectedKeys, setSelectedKeys] = useControlledState(\n selectedKeysProp!, // eslint-disable-line @typescript-eslint/no-non-null-assertion -- there is a bug in the typedef for useControlledState from react-stately. Internally they rely on value (first arg) able to be undefined\n defaultSelectedKeys,\n (value) => {\n const _value = value === \"all\" ? \"all\" : [...value].map(String);\n onChange(_value);\n if (!autosave) overlayHandlerRef.current.close?.();\n },\n );\n\n const selectedTextValue = useMemo(() => {\n if (selectTextValue)\n return (\n selectTextValue(\n selectedKeys === \"all\" ? \"all\" : [...selectedKeys].map(String),\n ) ?? placeholderText\n );\n if (selectedKeys === \"all\") return \"All selected\";\n if (selectedKeys.size) return `${selectedKeys.size} selected`;\n return placeholderText;\n }, [selectTextValue, selectedKeys, placeholderText]);\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const { labelProps, fieldProps, descriptionProps, errorMessageProps } =\n useField({\n label, // this is the label for the select box\n description: helperText,\n errorMessage: errorText,\n });\n\n return (\n <ReactAriaProvider\n values={[\n [RichSelectBoxContext, { autoFocus: true }],\n [DialogContext, { padding: autosave ? undefined : 0 }], // this is altering Popover's internal dialog padding to show the sticky save/close buttons. Ideally this could be avoided\n ]}\n >\n <div\n className={classNames(styles.selectContainer, {\n [styles.opacityOverlay]: disabled,\n })}\n onClick={onClick}\n >\n {label && (\n <>\n <ReactAriaLabel\n data-testid={[dataTestId, \"label\"].filter(Boolean).join(\"-\")}\n {...labelProps}\n onClick={() => {\n if (disabled) return;\n fieldRef.current?.focus();\n setInteractionModality(\"keyboard\"); // Show the focus ring so the user knows where focus went\n }}\n >\n <Box paddingX={1}>\n <Typography size={100} color=\"gray700\">\n {label}\n </Typography>\n </Box>\n </ReactAriaLabel>\n </>\n )}\n <Popover\n ref={overlayHandlerRef}\n disabled={disabled}\n content={\n // this Box wrapper is to reapply the padding that was stripped from popover's dialog to show the sticky save/close buttons. Ideally this could be avoided\n <Box\n padding={autosave ? undefined : 5}\n dangerouslySetInlineStyle={\n autosave ? undefined : { __style: { paddingBottom: 0 } }\n }\n >\n <RichSelectBox\n autosave={autosave}\n selectedValues={selectedKeys}\n defaultSelectedValues={defaultSelectedKeys}\n onChange={(selected) => setSelectedKeys(new Set(selected))}\n {...richSelectBoxProps}\n accessibilityLabel={inputId}\n >\n {children}\n </RichSelectBox>\n </Box>\n }\n >\n <TapArea\n data-testid={dataTestId}\n disabled={disabled}\n onClick={onClick}\n rounding={size === \"lg\" ? \"lg\" : \"md\"}\n {...fieldProps}\n ref={fieldRef}\n >\n <div className={styles.selectWrapper}>\n <div\n className={classNames(\n styles.selectBox,\n themeName === \"classic\"\n ? styles.selectBoxClassic\n : styles.selectBoxCambio,\n themeName === \"classic\" && styles[size],\n {\n [styles.unselected]:\n !errorText &&\n selectedKeys !== \"all\" &&\n !selectedKeys.size,\n [styles.selected]:\n !errorText &&\n (selectedKeys === \"all\" || selectedKeys.size),\n [themeName === \"classic\"\n ? styles.selectError\n : styles.selectErrorCambio]: errorText,\n },\n )}\n >\n {selectedTextValue}\n </div>\n <div className={styles.arrowIcon}>\n <svg\n focusable=\"false\"\n aria-hidden=\"true\"\n viewBox=\"0 0 24 24\"\n width={iconSize[size]}\n >\n <path\n fill={\n errorText ? ColorBaseDestructive700 : ColorBaseGray800\n }\n d=\"M15.88 9.29 12 13.17 8.12 9.29a.9959.9959 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41l4.59 4.59c.39.39 1.02.39 1.41 0l4.59-4.59c.39-.39.39-1.02 0-1.41-.39-.38-1.03-.39-1.42 0z\"\n />\n </svg>\n </div>\n </div>\n </TapArea>\n </Popover>\n {(helperText || errorText) && (\n <Box paddingX={1}>\n <Typography\n size={100}\n color={errorText ? \"destructive-primary\" : \"gray700\"}\n {...(errorText ? errorMessageProps : descriptionProps)}\n >\n {errorText ? errorText : helperText}\n </Typography>\n </Box>\n )}\n </div>\n </ReactAriaProvider>\n );\n}\n\nexport default Object.assign(RichSelectList, {\n Section: RichSelectSection,\n Chip: RichSelectChip,\n RadioButton: RichSelectRadioButton,\n});\n","import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/SelectList/SelectList.module.css\"; export default {\"selectContainer\":\"_selectContainer_dwmnw_1\",\"opacityOverlay\":\"_opacityOverlay_dwmnw_7\",\"selectWrapper\":\"_selectWrapper_dwmnw_11\",\"selectBox\":\"_selectBox_dwmnw_16\",\"selectBoxClassic\":\"_selectBoxClassic_dwmnw_32\",\"selectBoxCambio\":\"_selectBoxCambio_dwmnw_37\",\"selectMouseFocusStyling\":\"_selectMouseFocusStyling_dwmnw_46\",\"unselected\":\"_unselected_dwmnw_51\",\"selected\":\"_selected_dwmnw_55\",\"arrowIcon\":\"_arrowIcon_dwmnw_59\",\"sm\":\"_sm_dwmnw_73\",\"md\":\"_md_dwmnw_79\",\"lg\":\"_lg_dwmnw_85\",\"selectError\":\"_selectError_dwmnw_91\",\"selectErrorCambio\":\"_selectErrorCambio_dwmnw_97\"}"]}
@@ -1,114 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client"
2
-
3
-
4
- var _GANR5JVVcjs = require('./GANR5JVV.cjs');
5
-
6
-
7
- var _XU3CLITIcjs = require('./XU3CLITI.cjs');
8
-
9
-
10
- var _JXOKXBDZcjs = require('./JXOKXBDZ.cjs');
11
-
12
- // css-module:./Badge.module.css#css-module
13
- var Badge_module_default = { "icon": "_icon_1g9xb_1" };
14
-
15
- // src/Badge/Badge.tsx
16
- var _jsxruntime = require('react/jsx-runtime');
17
- var badgeColorClassicToCambio = {
18
- gray200: "gray370",
19
- gray900: "gray870",
20
- destructive700: "destructive300",
21
- orange700: "orange",
22
- yellow700: "tan",
23
- success700: "success300",
24
- primary700: "sky",
25
- purple700: "lilac",
26
- sky: "sky",
27
- success300: "success300",
28
- destructive300: "destructive300",
29
- orange: "orange",
30
- tan: "tan",
31
- gray370: "gray370",
32
- gray870: "gray870",
33
- lilac: "lilac",
34
- thistle: "thistle",
35
- pink: "pink"
36
- };
37
- var badgeColorCambioToClassic = {
38
- gray200: "gray200",
39
- gray900: "gray900",
40
- destructive700: "destructive700",
41
- orange700: "orange700",
42
- yellow700: "yellow700",
43
- success700: "success700",
44
- primary700: "primary700",
45
- purple700: "purple700",
46
- sky: "primary700",
47
- success300: "success700",
48
- destructive300: "destructive700",
49
- orange: "orange700",
50
- tan: "yellow700",
51
- gray370: "gray200",
52
- gray870: "gray900",
53
- lilac: "purple700",
54
- thistle: "purple700",
55
- pink: "purple700"
56
- };
57
- var textColorForBackgroundColor = (color) => {
58
- switch (color) {
59
- case "gray200":
60
- case "yellow700":
61
- return "gray900";
62
- case "gray370":
63
- case "destructive300":
64
- case "orange":
65
- case "tan":
66
- case "success300":
67
- case "sky":
68
- case "thistle":
69
- case "pink":
70
- case "lilac":
71
- return "gray900";
72
- default:
73
- return "white";
74
- }
75
- };
76
- var Badge = ({
77
- icon: Icon,
78
- text,
79
- color = "primary700"
80
- }) => {
81
- const { themeName } = _JXOKXBDZcjs.useTheme.call(void 0, );
82
- const mappedColor = themeName === "cambio" ? badgeColorClassicToCambio[color] : badgeColorCambioToClassic[color];
83
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
84
- _GANR5JVVcjs.Box_default,
85
- {
86
- display: themeName === "classic" ? "inlineBlock" : "inlineFlex",
87
- paddingX: themeName === "classic" ? 2 : 3,
88
- paddingY: 1,
89
- rounding: themeName === "classic" ? "full" : "sm",
90
- backgroundColor: mappedColor,
91
- alignItems: "center",
92
- justifyContent: "center",
93
- height: themeName === "cambio" ? 32 : void 0,
94
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _XU3CLITIcjs.Typography_default, { color: textColorForBackgroundColor(mappedColor), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _GANR5JVVcjs.Box_default, { display: "flex", gap: 1, alignItems: "center", justifyContent: "start", children: [
95
- Icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { className: Badge_module_default.icon }),
96
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
97
- _XU3CLITIcjs.Typography_default,
98
- {
99
- color: textColorForBackgroundColor(mappedColor),
100
- size: 100,
101
- weight: themeName === "classic" ? "bold" : "medium",
102
- children: text
103
- }
104
- )
105
- ] }) })
106
- }
107
- );
108
- };
109
- var Badge_default = Badge;
110
-
111
-
112
-
113
- exports.Badge_default = Badge_default;
114
- //# sourceMappingURL=2RWNBVOK.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["css-module:./Badge.module.css#css-module","../../src/Badge/Badge.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAA0F,IAAO,uBAAQ,EAAC,QAAO,gBAAe;;;AC+JxH,SACW,KADX;AAlIR,IAAM,4BAA4B;AAAA,EAChC,SAAS;AAAA,EACT,SAAS;AAAA,EACT,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,KAAK;AAAA,EACL,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,SAAS;AAAA,EACT,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EACT,MAAM;AACR;AAEA,IAAM,4BAA4B;AAAA,EAChC,SAAS;AAAA,EACT,SAAS;AAAA,EACT,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,KAAK;AAAA,EACL,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,SAAS;AAAA,EACT,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EACT,MAAM;AACR;AAEA,IAAM,8BAA8B,CAClC,UACwB;AACxB,UAAQ,OAAO;AAAA,IACb,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAKA,IAAM,QAAQ,CAAC;AAAA,EACb,MAAM;AAAA,EACN;AAAA,EACA,QAAQ;AACV,MAuCmB;AACjB,QAAM,EAAE,UAAU,IAAI,SAAS;AAE/B,QAAM,cACJ,cAAc,WACV,0BAA0B,KAAK,IAC/B,0BAA0B,KAAK;AAErC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAS,cAAc,YAAY,gBAAgB;AAAA,MACnD,UAAU,cAAc,YAAY,IAAI;AAAA,MACxC,UAAU;AAAA,MACV,UAAU,cAAc,YAAY,SAAS;AAAA,MAC7C,iBAAiB;AAAA,MACjB,YAAW;AAAA,MACX,gBAAe;AAAA,MACf,QAAQ,cAAc,WAAW,KAAK;AAAA,MAEtC,8BAAC,sBAAW,OAAO,4BAA4B,WAAW,GACxD,+BAAC,eAAI,SAAQ,QAAO,KAAK,GAAG,YAAW,UAAS,gBAAe,SAC5D;AAAA,gBAAQ,oBAAC,QAAK,WAAW,qBAAO,MAAM;AAAA,QACvC;AAAA,UAAC;AAAA;AAAA,YACC,OAAO,4BAA4B,WAAW;AAAA,YAC9C,MAAM;AAAA,YACN,QAAQ,cAAc,YAAY,SAAS;AAAA,YAE1C;AAAA;AAAA,QACH;AAAA,SACF,GACF;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,gBAAQ","sourcesContent":["import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/Badge/Badge.module.css\"; export default {\"icon\":\"_icon_1g9xb_1\"}","import Typography from \"../Typography/Typography\";\nimport Box from \"../Box/Box\";\nimport styles from \"./Badge.module.css\";\nimport { useTheme } from \"../ThemeProvider/ThemeProvider\";\n\nconst badgeColorClassic = [\n \"gray200\",\n \"gray900\",\n \"destructive700\",\n \"orange700\",\n \"yellow700\",\n \"success700\",\n \"primary700\",\n \"purple700\",\n] as const;\n\nconst badgeColorCambio = [\n \"sky\",\n \"success300\",\n \"destructive300\",\n \"orange\",\n \"tan\",\n \"gray370\",\n \"gray870\",\n \"lilac\",\n \"thistle\",\n \"pink\",\n] as const;\n\nconst badgeColorClassicToCambio = {\n gray200: \"gray370\",\n gray900: \"gray870\",\n destructive700: \"destructive300\",\n orange700: \"orange\",\n yellow700: \"tan\",\n success700: \"success300\",\n primary700: \"sky\",\n purple700: \"lilac\",\n sky: \"sky\",\n success300: \"success300\",\n destructive300: \"destructive300\",\n orange: \"orange\",\n tan: \"tan\",\n gray370: \"gray370\",\n gray870: \"gray870\",\n lilac: \"lilac\",\n thistle: \"thistle\",\n pink: \"pink\",\n} as const;\n\nconst badgeColorCambioToClassic = {\n gray200: \"gray200\",\n gray900: \"gray900\",\n destructive700: \"destructive700\",\n orange700: \"orange700\",\n yellow700: \"yellow700\",\n success700: \"success700\",\n primary700: \"primary700\",\n purple700: \"purple700\",\n sky: \"primary700\",\n success300: \"success700\",\n destructive300: \"destructive700\",\n orange: \"orange700\",\n tan: \"yellow700\",\n gray370: \"gray200\",\n gray870: \"gray900\",\n lilac: \"purple700\",\n thistle: \"purple700\",\n pink: \"purple700\",\n} as const;\n\nconst textColorForBackgroundColor = (\n color: (typeof badgeColorClassic)[number] | (typeof badgeColorCambio)[number],\n): \"gray900\" | \"white\" => {\n switch (color) {\n case \"gray200\":\n case \"yellow700\":\n return \"gray900\";\n case \"gray370\":\n case \"destructive300\":\n case \"orange\":\n case \"tan\":\n case \"success300\":\n case \"sky\":\n case \"thistle\":\n case \"pink\":\n case \"lilac\":\n return \"gray900\";\n default:\n return \"white\";\n }\n};\n\n/**\n * [Badge](https://cambly-syntax.vercel.app/?path=/docs/components-badge--docs) is a component to display short text and give additional context to features and other components.\n */\nconst Badge = ({\n icon: Icon,\n text,\n color = \"primary700\",\n}: {\n /**\n * The icon to be displayed. Please use a [Material Icon](https://material.io/resources/icons/)\n */\n icon?: React.ComponentType<{ className?: string }>;\n /**\n * The text to display inside the badge\n */\n text: string;\n /**\n * The color of the badge\n *\n * Classic colors:\n * * `gray200` => maps to neutralLight in Cambio\n * * `gray900` => maps to neutralDark in Cambio\n * * `destructive700` => maps to destructive in Cambio\n * * `orange700` => maps to orange in Cambio\n * * `yellow700` => maps to tan in Cambio\n * * `success700` => maps to success in Cambio\n * * `primary700` => maps to sky in Cambio\n * * `purple700` => maps to lilac in Cambio\n *\n * Cambio colors:\n * * `sky`\n * * `success300`\n * * `destructive300`\n * * `orange`\n * * `tan`\n * * `gray370`\n * * `gray870`\n * * `lilac`\n * * `thistle`\n * * `pink`\n *\n * @defaultValue \"primary700\"\n */\n color?:\n | (typeof badgeColorClassic)[number]\n | (typeof badgeColorCambio)[number];\n}): JSX.Element => {\n const { themeName } = useTheme();\n\n const mappedColor =\n themeName === \"cambio\"\n ? badgeColorClassicToCambio[color]\n : badgeColorCambioToClassic[color];\n\n return (\n <Box\n display={themeName === \"classic\" ? \"inlineBlock\" : \"inlineFlex\"}\n paddingX={themeName === \"classic\" ? 2 : 3}\n paddingY={1}\n rounding={themeName === \"classic\" ? \"full\" : \"sm\"}\n backgroundColor={mappedColor}\n alignItems=\"center\"\n justifyContent=\"center\"\n height={themeName === \"cambio\" ? 32 : undefined}\n >\n <Typography color={textColorForBackgroundColor(mappedColor)}>\n <Box display=\"flex\" gap={1} alignItems=\"center\" justifyContent=\"start\">\n {Icon && <Icon className={styles.icon} />}\n <Typography\n color={textColorForBackgroundColor(mappedColor)}\n size={100}\n weight={themeName === \"classic\" ? \"bold\" : \"medium\"}\n >\n {text}\n </Typography>\n </Box>\n </Typography>\n </Box>\n );\n};\n\nexport default Badge;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/TextField/TextField.tsx","css-module:./TextField.module.css#css-module"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA,EAGE;AAAA,OACK;AACP,OAAO,gBAAgB;;;ACL2E,IAAO,2BAAQ,EAAC,aAAY,sBAAqB,oBAAmB,8BAA6B,mBAAkB,6BAA4B,SAAQ,mBAAkB,MAAK,gBAAe,YAAW,sBAAqB,gBAAe,0BAAyB,YAAW,sBAAqB,MAAK,gBAAe,YAAW,sBAAqB,MAAK,gBAAe,YAAW,sBAAqB,cAAa,wBAAuB,oBAAmB,6BAA4B;;;ADqG9jB,SAcQ,KAdR;AAtFW,SAAR,UAA2B;AAAA,EAChC;AAAA,EACA,eAAe;AAAA,EACf,UAAU,eAAe;AAAA,EACzB,YAAY;AAAA,EACZ,aAAa;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AACV,GAiEiB;AACf,QAAM,aAAa,cAAc;AACjC,QAAM,WAAW,CAAC,cAAc;AAChC,QAAM,UAAU,MAAM;AACtB,QAAM,EAAE,UAAU,IAAI,SAAS;AAC/B,QAAM,UAAU,kBAAM;AAEtB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,WAAU;AAAA,MACV,KAAK;AAAA,MACL,OAAM;AAAA,MACN,2BAA2B;AAAA,QACzB,SAAS;AAAA,UACP,SAAS,WAAW,MAAM;AAAA,QAC5B;AAAA,MACF;AAAA,MAEC;AAAA,iBACC,oBAAC,WAAM,WAAW,yBAAO,OAAO,SAAS,SACvC,8BAAC,eAAI,UAAU,GACb,8BAAC,sBAAW,MAAM,KAAK,OAAM,WAC1B,iBACH,GACF,GACF;AAAA,QAEF;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,WAAW;AAAA,cACT,yBAAO;AAAA,cACP,cAAc,YACV,yBAAO,mBACP,yBAAO;AAAA,cACX,cAAc,aAAa,yBAAO,IAAI;AAAA,cACtC,cAAc,WAAW,yBAAO,WAAW;AAAA,cAC3C,cAAc,YACV,yBAAO,GAAG,YAAY,IACtB,yBAAO;AAAA,cACX;AAAA,gBACE,CAAC,cAAc,YACX,yBAAO,aACP,yBAAO,gBAAgB,GAAG;AAAA,cAChC;AAAA,YACF;AAAA,YACA,eAAa;AAAA,YACb;AAAA,YACA,IAAI;AAAA,YACJ;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,QACF;AAAA,SACE,cAAc,cACd,oBAAC,eAAI,UAAU,GACb;AAAA,UAAC;AAAA;AAAA,YACC,MAAM;AAAA,YACN,OAAO,YAAY,wBAAwB;AAAA,YAE1C,uBAAa;AAAA;AAAA,QAChB,GACF;AAAA;AAAA;AAAA,EAEJ;AAEJ","sourcesContent":["import React, {\n type ReactElement,\n type HTMLInputTypeAttribute,\n useId,\n} from \"react\";\nimport classNames from \"classnames\";\nimport styles from \"./TextField.module.css\";\nimport Box from \"../Box/Box\";\nimport Typography from \"../Typography/Typography\";\nimport useIsHydrated from \"../useIsHydrated\";\nimport { useTheme } from \"../ThemeProvider/ThemeProvider\";\n\n/**\n * [TextField](https://cambly-syntax.vercel.app/?path=/docs/components-textfield--docs) is a component that allows users to enter text.\n */\nexport default function TextField({\n autoComplete,\n \"data-testid\": dataTestId,\n disabled: disabledProp = false,\n errorText = \"\",\n helperText = \"\",\n id,\n label,\n onChange,\n placeholder = \"\",\n size = \"md\",\n type = \"text\",\n value = \"\",\n}: {\n /**\n * The autocomplete attribute specifies whether or not an input field should have autocomplete enabled.\n *\n * Feel free to add new values from the [MDN docs](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) as needed\n */\n autoComplete?: \"current-password\" | \"new-password\" | \"off\" | \"on\" | \"email\";\n /**\n * A data-testid to make querying for the TextField easier.\n */\n \"data-testid\"?: string;\n /**\n * If true, the TextField will be disabled.\n *\n * @defaultValue false\n */\n disabled?: boolean;\n /**\n * Text shown below TextField if there is an input error.\n */\n errorText?: string;\n /**\n * Informative helper text shown below TextField\n */\n helperText?: string;\n /**\n * TextField id, if not provided, a unique id will be generated\n */\n id?: string;\n /**\n * TextField visible label\n */\n label: string;\n /**\n * The callback to be called the input changes\n */\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n /**\n * Optional TextField placeholder text\n */\n placeholder?: string;\n /**\n * Size of the TextField\n *\n * Classic:\n * * `sm`: 32px\n * * `md`: 40px\n * * `lg`: 48px\n *\n * Cambio:\n * * `md`: 48px\n *\n * @defaultValue \"md\"\n */\n size?: \"sm\" | \"md\" | \"lg\";\n /**\n * Input type of the TextField\n *\n * See [full list of input types](https://developer.mozilla.org/en-US/docs/Learn/Forms/HTML5_input_types)\n */\n type?: HTMLInputTypeAttribute;\n /**\n * Value of the TextField\n */\n value: string;\n}): ReactElement {\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated || disabledProp;\n const reactId = useId();\n const { themeName } = useTheme();\n const inputId = id ?? reactId;\n\n return (\n <Box\n display=\"flex\"\n direction=\"column\"\n gap={2}\n width=\"100%\"\n dangerouslySetInlineStyle={{\n __style: {\n opacity: disabled ? 0.5 : 1,\n },\n }}\n >\n {label && (\n <label className={styles.label} htmlFor={inputId}>\n <Box paddingX={1}>\n <Typography size={100} color=\"gray700\">\n {label}\n </Typography>\n </Box>\n </label>\n )}\n <input\n autoComplete={autoComplete}\n className={classNames(\n styles.textfield,\n themeName === \"classic\"\n ? styles.textfieldClassic\n : styles.textfieldCambio,\n themeName === \"classic\" && styles[size],\n themeName === \"cambio\" ? styles.mdCambio : undefined,\n themeName === \"classic\"\n ? styles[`${size}Height`]\n : styles.heightCambio,\n {\n [themeName === \"classic\"\n ? styles.inputError\n : styles.inputErrorCambio]: errorText,\n },\n )}\n data-testid={dataTestId}\n disabled={disabled}\n id={inputId}\n type={type}\n onChange={onChange}\n placeholder={placeholder}\n value={value}\n />\n {(helperText || errorText) && (\n <Box paddingX={1}>\n <Typography\n size={100}\n color={errorText ? \"destructive-primary\" : \"gray700\"}\n >\n {errorText || helperText}\n </Typography>\n </Box>\n )}\n </Box>\n );\n}\n","import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/TextField/TextField.module.css\"; export default {\"textfield\":\"_textfield_kbdbw_1\",\"textfieldClassic\":\"_textfieldClassic_kbdbw_10\",\"textfieldCambio\":\"_textfieldCambio_kbdbw_14\",\"label\":\"_label_kbdbw_29\",\"sm\":\"_sm_kbdbw_33\",\"mdCambio\":\"_mdCambio_kbdbw_40\",\"heightCambio\":\"_heightCambio_kbdbw_44\",\"smHeight\":\"_smHeight_kbdbw_48\",\"md\":\"_md_kbdbw_40\",\"mdHeight\":\"_mdHeight_kbdbw_59\",\"lg\":\"_lg_kbdbw_63\",\"lgHeight\":\"_lgHeight_kbdbw_70\",\"inputError\":\"_inputError_kbdbw_74\",\"inputErrorCambio\":\"_inputErrorCambio_kbdbw_84\"}"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/TextField/TextField.tsx","css-module:./TextField.module.css#css-module"],"sourcesContent":["import React, {\n type ReactElement,\n type HTMLInputTypeAttribute,\n useId,\n} from \"react\";\nimport classNames from \"classnames\";\nimport styles from \"./TextField.module.css\";\nimport Box from \"../Box/Box\";\nimport Typography from \"../Typography/Typography\";\nimport useIsHydrated from \"../useIsHydrated\";\nimport { useTheme } from \"../ThemeProvider/ThemeProvider\";\n\n/**\n * [TextField](https://cambly-syntax.vercel.app/?path=/docs/components-textfield--docs) is a component that allows users to enter text.\n */\nexport default function TextField({\n autoComplete,\n \"data-testid\": dataTestId,\n disabled: disabledProp = false,\n errorText = \"\",\n helperText = \"\",\n id,\n label,\n onChange,\n placeholder = \"\",\n size = \"md\",\n type = \"text\",\n value = \"\",\n}: {\n /**\n * The autocomplete attribute specifies whether or not an input field should have autocomplete enabled.\n *\n * Feel free to add new values from the [MDN docs](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) as needed\n */\n autoComplete?: \"current-password\" | \"new-password\" | \"off\" | \"on\" | \"email\";\n /**\n * A data-testid to make querying for the TextField easier.\n */\n \"data-testid\"?: string;\n /**\n * If true, the TextField will be disabled.\n *\n * @defaultValue false\n */\n disabled?: boolean;\n /**\n * Text shown below TextField if there is an input error.\n */\n errorText?: string;\n /**\n * Informative helper text shown below TextField\n */\n helperText?: string;\n /**\n * TextField id, if not provided, a unique id will be generated\n */\n id?: string;\n /**\n * TextField visible label\n */\n label: string;\n /**\n * The callback to be called the input changes\n */\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n /**\n * Optional TextField placeholder text\n */\n placeholder?: string;\n /**\n * Size of the TextField\n *\n * Classic:\n * * `sm`: 32px\n * * `md`: 40px\n * * `lg`: 48px\n *\n * Cambio:\n * * `md`: 48px\n *\n * @defaultValue \"md\"\n */\n size?: \"sm\" | \"md\" | \"lg\";\n /**\n * Input type of the TextField\n *\n * See [full list of input types](https://developer.mozilla.org/en-US/docs/Learn/Forms/HTML5_input_types)\n */\n type?: HTMLInputTypeAttribute;\n /**\n * Value of the TextField\n */\n value: string;\n}): ReactElement {\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated || disabledProp;\n const reactId = useId();\n const { themeName } = useTheme();\n const inputId = id ?? reactId;\n\n return (\n <Box\n display=\"flex\"\n direction=\"column\"\n gap={2}\n width=\"100%\"\n dangerouslySetInlineStyle={{\n __style: {\n opacity: disabled ? 0.5 : 1,\n },\n }}\n >\n {label && (\n <label className={styles.label} htmlFor={inputId}>\n <Box paddingX={1}>\n <Typography size={100} color=\"gray700\">\n {label}\n </Typography>\n </Box>\n </label>\n )}\n <input\n autoComplete={autoComplete}\n className={classNames(\n styles.textfield,\n themeName === \"classic\"\n ? styles.textfieldClassic\n : styles.textfieldCambio,\n themeName === \"classic\" && styles[size],\n themeName === \"cambio\" ? styles.mdCambio : undefined,\n themeName === \"classic\"\n ? styles[`${size}Height`]\n : styles.heightCambio,\n {\n [themeName === \"classic\"\n ? styles.inputError\n : styles.inputErrorCambio]: errorText,\n },\n )}\n data-testid={dataTestId}\n disabled={disabled}\n id={inputId}\n type={type}\n onChange={onChange}\n placeholder={placeholder}\n value={value}\n />\n {(helperText || errorText) && (\n <Box paddingX={1}>\n <Typography\n size={100}\n color={errorText ? \"destructive-primary\" : \"gray700\"}\n >\n {errorText || helperText}\n </Typography>\n </Box>\n )}\n </Box>\n );\n}\n","import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/TextField/TextField.module.css\"; export default {\"textfield\":\"_textfield_kbdbw_1\",\"textfieldClassic\":\"_textfieldClassic_kbdbw_10\",\"textfieldCambio\":\"_textfieldCambio_kbdbw_14\",\"label\":\"_label_kbdbw_29\",\"sm\":\"_sm_kbdbw_33\",\"mdCambio\":\"_mdCambio_kbdbw_40\",\"heightCambio\":\"_heightCambio_kbdbw_44\",\"smHeight\":\"_smHeight_kbdbw_48\",\"md\":\"_md_kbdbw_40\",\"mdHeight\":\"_mdHeight_kbdbw_59\",\"lg\":\"_lg_kbdbw_63\",\"lgHeight\":\"_lgHeight_kbdbw_70\",\"inputError\":\"_inputError_kbdbw_74\",\"inputErrorCambio\":\"_inputErrorCambio_kbdbw_84\"}"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA,EAGE;AAAA,OACK;AACP,OAAO,gBAAgB;;;ACL2E,IAAO,2BAAQ,EAAC,aAAY,sBAAqB,oBAAmB,8BAA6B,mBAAkB,6BAA4B,SAAQ,mBAAkB,MAAK,gBAAe,YAAW,sBAAqB,gBAAe,0BAAyB,YAAW,sBAAqB,MAAK,gBAAe,YAAW,sBAAqB,MAAK,gBAAe,YAAW,sBAAqB,cAAa,wBAAuB,oBAAmB,6BAA4B;;;ADqG9jB,SAcQ,KAdR;AAtFW,SAAR,UAA2B;AAAA,EAChC;AAAA,EACA,eAAe;AAAA,EACf,UAAU,eAAe;AAAA,EACzB,YAAY;AAAA,EACZ,aAAa;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AACV,GAiEiB;AACf,QAAM,aAAa,cAAc;AACjC,QAAM,WAAW,CAAC,cAAc;AAChC,QAAM,UAAU,MAAM;AACtB,QAAM,EAAE,UAAU,IAAI,SAAS;AAC/B,QAAM,UAAU,kBAAM;AAEtB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,WAAU;AAAA,MACV,KAAK;AAAA,MACL,OAAM;AAAA,MACN,2BAA2B;AAAA,QACzB,SAAS;AAAA,UACP,SAAS,WAAW,MAAM;AAAA,QAC5B;AAAA,MACF;AAAA,MAEC;AAAA,iBACC,oBAAC,WAAM,WAAW,yBAAO,OAAO,SAAS,SACvC,8BAAC,eAAI,UAAU,GACb,8BAAC,sBAAW,MAAM,KAAK,OAAM,WAC1B,iBACH,GACF,GACF;AAAA,QAEF;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,WAAW;AAAA,cACT,yBAAO;AAAA,cACP,cAAc,YACV,yBAAO,mBACP,yBAAO;AAAA,cACX,cAAc,aAAa,yBAAO,IAAI;AAAA,cACtC,cAAc,WAAW,yBAAO,WAAW;AAAA,cAC3C,cAAc,YACV,yBAAO,GAAG,YAAY,IACtB,yBAAO;AAAA,cACX;AAAA,gBACE,CAAC,cAAc,YACX,yBAAO,aACP,yBAAO,gBAAgB,GAAG;AAAA,cAChC;AAAA,YACF;AAAA,YACA,eAAa;AAAA,YACb;AAAA,YACA,IAAI;AAAA,YACJ;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,QACF;AAAA,SACE,cAAc,cACd,oBAAC,eAAI,UAAU,GACb;AAAA,UAAC;AAAA;AAAA,YACC,MAAM;AAAA,YACN,OAAO,YAAY,wBAAwB;AAAA,YAE1C,uBAAa;AAAA;AAAA,QAChB,GACF;AAAA;AAAA;AAAA,EAEJ;AAEJ;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/RichSelect/RichSelectList.tsx","css-module:../SelectList/SelectList.module.css#css-module"],"sourcesContent":["import React, {\n type ReactElement,\n useMemo,\n type SyntheticEvent,\n useRef,\n useId,\n} from \"react\";\nimport classNames from \"classnames\";\nimport {\n ColorBaseDestructive700,\n ColorBaseGray800,\n} from \"@cambly/syntax-design-tokens\";\nimport Typography from \"../Typography/Typography\";\nimport useIsHydrated from \"../useIsHydrated\";\nimport Popover from \"../Popover/Popover\";\nimport {\n Label as ReactAriaLabel,\n Provider as ReactAriaProvider,\n} from \"react-aria-components\";\nimport { useControlledState } from \"@react-stately/utils\";\nimport { setInteractionModality } from \"@react-aria/interactions\";\nimport { DialogContext } from \"../Dialog/Dialog\";\nimport styles from \"../SelectList/SelectList.module.css\";\nimport RichSelectBox, {\n RichSelectBoxContext,\n convertSelection,\n type RichSelectBoxProps,\n} from \"./RichSelectBox\";\nimport TapArea from \"../TapArea/TapArea\";\nimport { type OverlayHandlerRef } from \"../react-aria-utils/Triggerable\";\nimport Box from \"../Box/Box\";\nimport RichSelectSection from \"./RichSelectSection\";\nimport RichSelectChip from \"./RichSelectChip\";\nimport RichSelectRadioButton from \"./RichSelectRadioButton\";\nimport { useField } from \"react-aria\";\nimport { useTheme } from \"../ThemeProvider/ThemeProvider\";\n\nconst NOOP = () => undefined;\n\nconst iconSize = {\n sm: 20,\n md: 24,\n lg: 24,\n} as const;\n\nexport type RichSelectListProps = RichSelectBoxProps & {\n /** Test id for the select element */\n \"data-testid\"?: string;\n /**\n * Disables the select dropdown entirely\n * @defaultValue false\n */\n disabled?: boolean;\n /** Callback to be called when select is clicked */\n onClick?: (event: SyntheticEvent<HTMLDivElement>) => void;\n /** Text shown below select box if there is an input error. */\n errorText?: string;\n /** Text shown below select box */\n helperText?: string;\n /**\n * RichSelectList id, if not provided, a unique id will be generated\n */\n id?: string;\n /** Text shown above select box */\n label: string;\n /**\n * Text showing in select box if no option has been chosen.\n * There should always have a placeholder unless there is a default option selected\n */\n placeholderText?: string;\n /** Use to render (override) text shown in the select box */\n selectTextValue?: (selectedValues?: \"all\" | string[]) => string | undefined;\n /**\n * Size of the select box\n *\n * @defaultValue \"md\"\n */\n size?: \"sm\" | \"md\" | \"lg\";\n};\n\n/**\n * [RichSelectList](https://cambly-syntax.vercel.app/?path=/docs/components-richselectlist--docs) is a dropdown menu that allows users to select one or multiple options from a list.\n *\n * Example Usage:\n ```\n <RichSelectList\n label=\"My Label\"\n multiple\n onChange={() => { ... }}\n primaryButtonText=\"Save\"\n primaryButtonAccessibilityLabel=\"Save\"\n secondaryButtonText=\"Clear\"\n secondaryButtonAccessibilityLabel=\"Clear\"\n >\n <RichSelectList.Section label=\"Cities\">\n <RichSelectList.Chip label=\"San Francisco\" value=\"sf\" />\n <RichSelectList.Chip label=\"New York\" value=\"ny\" disabled />\n <RichSelectList.Chip label=\"Tulsa\" value=\"tulsa\" />\n <RichSelectList.Chip label=\"Chicago\" value=\"chicago\" disabled />\n </RichSelectList.Section>\n </RichSelectList>\n ```\n */\nfunction RichSelectList(props: RichSelectListProps): ReactElement {\n const {\n autosave,\n children,\n \"data-testid\": dataTestId,\n disabled: disabledProp = false,\n errorText,\n helperText,\n label,\n id,\n onChange,\n onClick = NOOP,\n placeholderText,\n selectTextValue,\n selectedValues: selectedValuesProp,\n defaultSelectedValues: defaultSelectedValuesProp,\n size = \"md\",\n ...richSelectBoxProps\n } = props;\n\n const reactId = useId();\n const inputId = id ?? reactId;\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated || disabledProp;\n const { themeName } = useTheme();\n\n // passed to popover, which attached open/close methods\n const overlayHandlerRef = useRef<OverlayHandlerRef>({});\n\n const selectedKeysProp = useMemo(\n () => convertSelection(selectedValuesProp),\n [selectedValuesProp],\n );\n const defaultSelectedKeys = useMemo(\n () => convertSelection(defaultSelectedValuesProp, new Set()),\n [defaultSelectedValuesProp],\n );\n const [selectedKeys, setSelectedKeys] = useControlledState(\n selectedKeysProp!, // eslint-disable-line @typescript-eslint/no-non-null-assertion -- there is a bug in the typedef for useControlledState from react-stately. Internally they rely on value (first arg) able to be undefined\n defaultSelectedKeys,\n (value) => {\n const _value = value === \"all\" ? \"all\" : [...value].map(String);\n onChange(_value);\n if (!autosave) overlayHandlerRef.current.close?.();\n },\n );\n\n const selectedTextValue = useMemo(() => {\n if (selectTextValue)\n return (\n selectTextValue(\n selectedKeys === \"all\" ? \"all\" : [...selectedKeys].map(String),\n ) ?? placeholderText\n );\n if (selectedKeys === \"all\") return \"All selected\";\n if (selectedKeys.size) return `${selectedKeys.size} selected`;\n return placeholderText;\n }, [selectTextValue, selectedKeys, placeholderText]);\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const { labelProps, fieldProps, descriptionProps, errorMessageProps } =\n useField({\n label, // this is the label for the select box\n description: helperText,\n errorMessage: errorText,\n });\n\n return (\n <ReactAriaProvider\n values={[\n [RichSelectBoxContext, { autoFocus: true }],\n [DialogContext, { padding: autosave ? undefined : 0 }], // this is altering Popover's internal dialog padding to show the sticky save/close buttons. Ideally this could be avoided\n ]}\n >\n <div\n className={classNames(styles.selectContainer, {\n [styles.opacityOverlay]: disabled,\n })}\n onClick={onClick}\n >\n {label && (\n <>\n <ReactAriaLabel\n data-testid={[dataTestId, \"label\"].filter(Boolean).join(\"-\")}\n {...labelProps}\n onClick={() => {\n if (disabled) return;\n fieldRef.current?.focus();\n setInteractionModality(\"keyboard\"); // Show the focus ring so the user knows where focus went\n }}\n >\n <Box paddingX={1}>\n <Typography size={100} color=\"gray700\">\n {label}\n </Typography>\n </Box>\n </ReactAriaLabel>\n </>\n )}\n <Popover\n ref={overlayHandlerRef}\n disabled={disabled}\n content={\n // this Box wrapper is to reapply the padding that was stripped from popover's dialog to show the sticky save/close buttons. Ideally this could be avoided\n <Box\n padding={autosave ? undefined : 5}\n dangerouslySetInlineStyle={\n autosave ? undefined : { __style: { paddingBottom: 0 } }\n }\n >\n <RichSelectBox\n autosave={autosave}\n selectedValues={selectedKeys}\n defaultSelectedValues={defaultSelectedKeys}\n onChange={(selected) => setSelectedKeys(new Set(selected))}\n {...richSelectBoxProps}\n accessibilityLabel={inputId}\n >\n {children}\n </RichSelectBox>\n </Box>\n }\n >\n <TapArea\n data-testid={dataTestId}\n disabled={disabled}\n onClick={onClick}\n rounding={size === \"lg\" ? \"lg\" : \"md\"}\n {...fieldProps}\n ref={fieldRef}\n >\n <div className={styles.selectWrapper}>\n <div\n className={classNames(\n styles.selectBox,\n themeName === \"classic\"\n ? styles.selectBoxClassic\n : styles.selectBoxCambio,\n themeName === \"classic\" && styles[size],\n {\n [styles.unselected]:\n !errorText &&\n selectedKeys !== \"all\" &&\n !selectedKeys.size,\n [styles.selected]:\n !errorText &&\n (selectedKeys === \"all\" || selectedKeys.size),\n [themeName === \"classic\"\n ? styles.selectError\n : styles.selectErrorCambio]: errorText,\n },\n )}\n >\n {selectedTextValue}\n </div>\n <div className={styles.arrowIcon}>\n <svg\n focusable=\"false\"\n aria-hidden=\"true\"\n viewBox=\"0 0 24 24\"\n width={iconSize[size]}\n >\n <path\n fill={\n errorText ? ColorBaseDestructive700 : ColorBaseGray800\n }\n d=\"M15.88 9.29 12 13.17 8.12 9.29a.9959.9959 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41l4.59 4.59c.39.39 1.02.39 1.41 0l4.59-4.59c.39-.39.39-1.02 0-1.41-.39-.38-1.03-.39-1.42 0z\"\n />\n </svg>\n </div>\n </div>\n </TapArea>\n </Popover>\n {(helperText || errorText) && (\n <Box paddingX={1}>\n <Typography\n size={100}\n color={errorText ? \"destructive-primary\" : \"gray700\"}\n {...(errorText ? errorMessageProps : descriptionProps)}\n >\n {errorText ? errorText : helperText}\n </Typography>\n </Box>\n )}\n </div>\n </ReactAriaProvider>\n );\n}\n\nexport default Object.assign(RichSelectList, {\n Section: RichSelectSection,\n Chip: RichSelectChip,\n RadioButton: RichSelectRadioButton,\n});\n","import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/SelectList/SelectList.module.css\"; export default {\"selectContainer\":\"_selectContainer_dwmnw_1\",\"opacityOverlay\":\"_opacityOverlay_dwmnw_7\",\"selectWrapper\":\"_selectWrapper_dwmnw_11\",\"selectBox\":\"_selectBox_dwmnw_16\",\"selectBoxClassic\":\"_selectBoxClassic_dwmnw_32\",\"selectBoxCambio\":\"_selectBoxCambio_dwmnw_37\",\"selectMouseFocusStyling\":\"_selectMouseFocusStyling_dwmnw_46\",\"unselected\":\"_unselected_dwmnw_51\",\"selected\":\"_selected_dwmnw_55\",\"arrowIcon\":\"_arrowIcon_dwmnw_59\",\"sm\":\"_sm_dwmnw_73\",\"md\":\"_md_dwmnw_79\",\"lg\":\"_lg_dwmnw_85\",\"selectError\":\"_selectError_dwmnw_91\",\"selectErrorCambio\":\"_selectErrorCambio_dwmnw_97\"}"],"mappings":"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","names":["_a"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/ThemeProvider/ThemeProvider.tsx","../../../syntax-design-tokens/dist/json/variables.json"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport variables from \"@cambly/syntax-design-tokens/dist/json/variables.json\";\n\ntype ThemeName = \"classic\" | \"cambio\";\n\ntype Theme = {\n themeName: ThemeName;\n};\n\nconst ThemeContext = React.createContext<Theme>({\n themeName: \"classic\",\n});\nThemeContext.displayName = \"ThemeContext\";\n\nconst classicToCambioKeyLookup = {\n \"color-base-black\": \"color-cambio-black\",\n \"color-base-destructive-100\": \"color-cambio-destructive-100\",\n \"color-base-destructive-200\": \"color-cambio-destructive-300\",\n \"color-base-destructive-300\": \"color-cambio-destructive-300\",\n \"color-base-destructive-700\": \"color-cambio-destructive-700\",\n \"color-base-destructive-800\": \"color-cambio-destructive-900\",\n \"color-base-destructive-900\": \"color-cambio-destructive-900\",\n \"color-base-gray-10\": \"color-cambio-gray-370\",\n \"color-base-gray-30\": \"color-cambio-gray-370\",\n \"color-base-gray-60\": \"color-cambio-gray-870\",\n \"color-base-gray-80\": \"color-cambio-gray-870\",\n \"color-base-gray-100\": \"color-cambio-gray-100\",\n \"color-base-gray-200\": \"color-cambio-gray-200\",\n \"color-base-gray-300\": \"color-cambio-gray-300\",\n \"color-base-gray-700\": \"color-cambio-gray-700\",\n \"color-base-gray-800\": \"color-cambio-gray-800\",\n \"color-base-gray-900\": \"color-cambio-gray-900\",\n \"color-base-orange-100\": undefined, // Deprecated - to be deleted\n \"color-base-orange-200\": undefined, // Deprecated - to be deleted\n \"color-base-orange-300\": undefined, // Deprecated - to be deleted\n \"color-base-orange-700\": \"color-cambio-orange\",\n \"color-base-orange-800\": undefined, // Deprecated - to be deleted\n \"color-base-orange-900\": undefined, // Deprecated - to be deleted\n \"color-base-primary-100\": \"color-cambio-gray-100\",\n \"color-base-primary-200\": \"color-cambio-gray-200\",\n \"color-base-primary-300\": \"color-cambio-gray-300\",\n \"color-base-primary-700\": \"color-cambio-gray-700\",\n \"color-base-primary-800\": \"color-cambio-gray-800\",\n \"color-base-primary-900\": \"color-cambio-gray-900\",\n \"color-base-success-100\": \"color-cambio-success-100\",\n \"color-base-success-200\": \"color-cambio-success-300\",\n \"color-base-success-300\": \"color-cambio-success-300\",\n \"color-base-success-700\": \"color-cambio-success-700\",\n \"color-base-success-800\": \"color-cambio-success-900\",\n \"color-base-success-900\": \"color-cambio-success-900\",\n \"color-base-purple-100\": undefined, // Deprecated - to be deleted\n \"color-base-purple-200\": undefined, // Deprecated - to be deleted\n \"color-base-purple-300\": undefined, // Deprecated - to be deleted\n \"color-base-purple-700\": \"color-cambio-purple\",\n \"color-base-purple-800\": undefined, // Deprecated - to be deleted\n \"color-base-purple-900\": undefined, // Deprecated - to be deleted\n \"color-base-yellow-100\": undefined, // Deprecated - to be deleted\n \"color-base-yellow-200\": undefined, // Deprecated - to be deleted\n \"color-base-yellow-300\": undefined, // Deprecated - to be deleted\n \"color-base-yellow-700\": \"color-cambio-yellow-700\",\n \"color-base-yellow-800\": undefined, // Deprecated - to be deleted\n \"color-base-yellow-900\": undefined, // Deprecated - to be deleted\n \"color-base-white\": \"color-cambio-white\",\n};\n\nfunction stylesForTheme(themeName: ThemeName) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const tokenVariables: Record<string, string> = variables;\n return `\n :root {\n ${Object.entries(tokenVariables)\n .filter(([key]) => {\n return themeName === \"classic\" ? !key.includes(\"cambio\") : true;\n })\n .map(([key, value]) => {\n // Replace classic values with cambio ones if they exist\n if (\n themeName === \"cambio\" &&\n classicToCambioKeyLookup[\n key as keyof typeof classicToCambioKeyLookup\n ]\n ) {\n return [\n key,\n tokenVariables[\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n classicToCambioKeyLookup[\n key as keyof typeof classicToCambioKeyLookup\n ]!\n ],\n ];\n }\n return [key, value];\n })\n .map(([key, value]) => (key && value ? `--${key}: ${value};` : null))\n .filter(Boolean)\n .join(\"\\n\")}\n }\n `;\n}\n\nexport default function ThemeProvider({\n themeName = \"classic\",\n children,\n}: {\n themeName: ThemeName;\n children: React.ReactNode;\n}): React.ReactElement {\n const value = useMemo(() => ({ themeName }), [themeName]);\n\n const innerStyles = useMemo(() => stylesForTheme(themeName), [themeName]);\n\n return (\n <ThemeContext.Provider value={value}>\n <style\n dangerouslySetInnerHTML={{ __html: innerStyles }}\n data-testid=\"themeprovider-style\"\n ></style>\n {children}\n </ThemeContext.Provider>\n );\n}\n\nexport function useTheme(): Theme {\n return React.useContext(ThemeContext);\n}\n","{\n \"color-base-black\": \"#000000\",\n \"color-base-destructive-100\": \"#fef3f5\",\n \"color-base-destructive-200\": \"#fad6de\",\n \"color-base-destructive-300\": \"#f2a2b2\",\n \"color-base-destructive-700\": \"#d32a4b\",\n \"color-base-destructive-800\": \"#81162c\",\n \"color-base-destructive-900\": \"#55101d\",\n \"color-base-gray-10\": \"rgba(203, 203, 203, 0.5)\",\n \"color-base-gray-30\": \"rgba(0, 0, 0, 0.3)\",\n \"color-base-gray-60\": \"rgba(0, 0, 0, 0.6)\",\n \"color-base-gray-80\": \"rgba(0, 0, 0, 0.8)\",\n \"color-base-gray-100\": \"#f7f7f7\",\n \"color-base-gray-200\": \"#f0f0f0\",\n \"color-base-gray-300\": \"#d0d0d0\",\n \"color-base-gray-700\": \"#767676\",\n \"color-base-gray-800\": \"#353535\",\n \"color-base-gray-900\": \"#191919\",\n \"color-base-orange-100\": \"#fdf2f0\",\n \"color-base-orange-200\": \"#f6cdc4\",\n \"color-base-orange-300\": \"#ec9987\",\n \"color-base-orange-700\": \"#c34124\",\n \"color-base-orange-800\": \"#732818\",\n \"color-base-orange-900\": \"#4d1a10\",\n \"color-base-primary-100\": \"#eff6fa\",\n \"color-base-primary-200\": \"#c1dbe7\",\n \"color-base-primary-300\": \"#84b7d0\",\n \"color-base-primary-700\": \"#236482\",\n \"color-base-primary-800\": \"#274858\",\n \"color-base-primary-900\": \"#1b303b\",\n \"color-base-success-100\": \"#eff7f1\",\n \"color-base-success-200\": \"#bddcc6\",\n \"color-base-success-300\": \"#81ba92\",\n \"color-base-success-700\": \"#397b4d\",\n \"color-base-success-800\": \"#2d4936\",\n \"color-base-success-900\": \"#1e3124\",\n \"color-base-purple-100\": \"#f9f5fa\",\n \"color-base-purple-200\": \"#e8dceb\",\n \"color-base-purple-300\": \"#cdb4d3\",\n \"color-base-purple-700\": \"#8b5f95\",\n \"color-base-purple-800\": \"#523b58\",\n \"color-base-purple-900\": \"#37273b\",\n \"color-base-yellow-100\": \"#fdf5d9\",\n \"color-base-yellow-200\": \"#fbe8a3\",\n \"color-base-yellow-300\": \"#f8d663\",\n \"color-base-yellow-700\": \"#ffc929\",\n \"color-base-yellow-800\": \"#765f1c\",\n \"color-base-yellow-900\": \"#3b3009\",\n \"color-base-white\": \"#ffffff\",\n \"color-cambio-black\": \"#050500\",\n \"color-cambio-white\": \"#ffffff\",\n \"color-cambio-gray-100\": \"#faf4eb\",\n \"color-cambio-gray-200\": \"#e4dbd3\",\n \"color-cambio-gray-300\": \"#beb4ab\",\n \"color-cambio-gray-370\": \"rgba(190, 180, 171, 0.7)\",\n \"color-cambio-gray-700\": \"#888077\",\n \"color-cambio-gray-800\": \"#5c554d\",\n \"color-cambio-gray-870\": \"rgba(92, 85, 77, 0.7)\",\n \"color-cambio-gray-900\": \"#312b23\",\n \"color-cambio-destructive-100\": \"#ffdeda\",\n \"color-cambio-destructive-300\": \"#ff8071\",\n \"color-cambio-destructive-370\": \"rgba(255, 128, 113, 0.7)\",\n \"color-cambio-destructive-700\": \"#c93f32\",\n \"color-cambio-destructive-770\": \"rgba(201, 63, 50, 0.7)\",\n \"color-cambio-destructive-900\": \"#6d0002\",\n \"color-cambio-success-100\": \"#daf2c8\",\n \"color-cambio-success-300\": \"#84ce64\",\n \"color-cambio-success-370\": \"rgba(132, 206, 100, 0.7)\",\n \"color-cambio-success-700\": \"#3c7f20\",\n \"color-cambio-success-770\": \"rgba(60, 127, 32, 0.7)\",\n \"color-cambio-success-900\": \"#103e00\",\n \"color-cambio-red\": \"#f56e56\",\n \"color-cambio-orange\": \"#ff8f57\",\n \"color-cambio-tan\": \"#ffb47d\",\n \"color-cambio-cream\": \"#fffad1\",\n \"color-cambio-purple\": \"#6840a8\",\n \"color-cambio-lilac\": \"#b59ef0\",\n \"color-cambio-thistle\": \"#d69ca4\",\n \"color-cambio-pink\": \"#ffccea\",\n \"color-cambio-navy\": \"#191142\",\n \"color-cambio-teal\": \"#44a6cf\",\n \"color-cambio-slate\": \"#7c9fc6\",\n \"color-cambio-sky\": \"#b1e8fc\",\n \"color-cambio-yellow-700\": \"#ffe733\",\n \"color-cambio-transparent-full\": \"rgba(0, 0, 0, 0)\",\n \"elevation-400\": \"0px 16px 32px 0px #00000040\",\n \"syntax-font-sans-serif\": \"-apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif\"\n}\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/TapArea/TapArea.tsx","css-module:./TapArea.module.css#css-module"],"sourcesContent":["import React, {\n type ReactNode,\n forwardRef,\n useReducer,\n type AriaAttributes,\n} from \"react\";\nimport classNames from \"classnames\";\nimport styles from \"./TapArea.module.css\";\nimport roundingStyles from \"../rounding.module.css\";\nimport useIsHydrated from \"../useIsHydrated\";\n\ntype TapAreaProps = AriaAttributes & {\n /**\n * The children to be rendered inside the tap area.\n */\n children?: ReactNode;\n /**\n * The label to be used for accessibility\n */\n accessibilityLabel?: string;\n /**\n * Test id for the tap area\n */\n \"data-testid\"?: string;\n /**\n * If `true`, the tap area will be disabled\n *\n * @defaultValue false\n */\n disabled?: boolean;\n /**\n * If `true`, the tap area will be full width\n */\n fullWidth?: boolean;\n /**\n * The callback to be called when the tap area is clicked\n */\n onClick: (event: React.SyntheticEvent<HTMLDivElement>) => void;\n /**\n * The callback to be called when the tap area is hovered\n */\n onMouseEnter?: (event: React.SyntheticEvent<HTMLDivElement>) => void;\n /**\n * The callback to be called when the tap area is no longer hovered\n */\n onMouseLeave?: (event: React.SyntheticEvent<HTMLDivElement>) => void;\n /**\n * Border radius of the tap area.\n *\n * * `none`: 0px\n * * `sm`: 8px\n * * `md`: 12px\n * * `lg`: 16px\n * * `xl`: 32px\n * * `full`: 999px\n *\n * @defaultValue \"none\"\n */\n rounding?: \"xl\" | \"lg\" | \"md\" | \"sm\" | \"full\" | \"none\";\n /**\n * The tab index of the tap area\n */\n tabIndex?: 0 | -1;\n};\n\nfunction reducer(\n state: {\n hovered: boolean;\n focussed: boolean;\n },\n action: {\n type: \"BLUR\" | \"FOCUS\" | \"MOUSE_ENTER\" | \"MOUSE_LEAVE\";\n },\n) {\n switch (action.type) {\n case \"BLUR\":\n return { ...state, focussed: false };\n case \"FOCUS\":\n return { ...state, focussed: true };\n case \"MOUSE_ENTER\":\n return { ...state, hovered: true };\n case \"MOUSE_LEAVE\":\n return { ...state, hovered: false };\n default:\n return state;\n }\n}\n\n/**\n * [TapArea](https://cambly-syntax.vercel.app/?path=/docs/components-taparea--docs) allows components to be clickable and touchable in an accessible way.\n */\nconst TapArea = forwardRef<HTMLDivElement, TapAreaProps>(\n (\n {\n children,\n accessibilityLabel,\n \"data-testid\": dataTestId,\n disabled: disabledProp = false,\n fullWidth = true,\n onClick,\n onMouseEnter,\n onMouseLeave,\n rounding = \"none\",\n tabIndex = 0,\n ...accessibilityProps\n }: TapAreaProps,\n ref,\n ) => {\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated || disabledProp;\n const [{ hovered, focussed }, dispatch] = useReducer(reducer, {\n hovered: false,\n focussed: false,\n });\n\n const handleClick: React.MouseEventHandler<HTMLDivElement> = (event) => {\n if (disabled) {\n undefined;\n } else {\n event.currentTarget.blur();\n onClick(event);\n }\n };\n\n const handleKeyDown: React.KeyboardEventHandler<HTMLDivElement> = (\n event,\n ) => {\n if (disabled) return;\n if (event.key === \"Enter\" || event.key === \" \" || event.key === \"Space\") {\n event.preventDefault();\n onClick(event);\n }\n };\n\n const handleOnMouseEnter: React.MouseEventHandler<HTMLDivElement> = (\n event,\n ) => {\n if (disabled) return;\n dispatch({ type: \"MOUSE_ENTER\" });\n onMouseEnter?.(event);\n };\n\n const handleOnMouseLeave: React.MouseEventHandler<HTMLDivElement> = (\n event,\n ) => {\n if (disabled) return;\n dispatch({ type: \"MOUSE_LEAVE\" });\n onMouseLeave?.(event);\n };\n\n const isHoveredOrFocussed = !disabled && (hovered || focussed);\n const roundingClasses =\n rounding !== \"none\" && roundingStyles[`rounding${rounding}`];\n\n return (\n <div\n {...accessibilityProps}\n aria-disabled={disabled || accessibilityProps[\"aria-disabled\"]}\n aria-label={accessibilityLabel ?? accessibilityProps[\"aria-label\"]}\n className={classNames(\n styles.tapArea,\n styles[`${disabled ? \"disabled\" : \"enabled\"}`],\n fullWidth && styles.fullWidth,\n isHoveredOrFocussed && styles.hoveredOrFocussed,\n roundingClasses,\n )}\n data-testid={dataTestId}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n onFocus={() => dispatch({ type: \"FOCUS\" })}\n onBlur={() => dispatch({ type: \"BLUR\" })}\n ref={ref}\n role=\"button\"\n tabIndex={disabled ? undefined : tabIndex}\n >\n {!disabled && (hovered || focussed) && (\n <div className={classNames(styles.overlay, roundingClasses)} />\n )}\n {children}\n </div>\n );\n },\n);\n\nTapArea.displayName = \"TapArea\";\n\nexport default TapArea;\n","import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/TapArea/TapArea.module.css\"; export default {\"tapArea\":\"_tapArea_g6gkz_1\",\"fullWidth\":\"_fullWidth_g6gkz_5\",\"disabled\":\"_disabled_g6gkz_9\",\"enabled\":\"_enabled_g6gkz_16\",\"overlay\":\"_overlay_g6gkz_29\",\"hoveredOrFocussed\":\"_hoveredOrFocussed_g6gkz_39\"}"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/RadioButton/RadioButton.tsx","css-module:./RadioButton.module.css#css-module"],"names":[],"mappings":"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","sourcesContent":["import React, { type ReactElement, useState } from \"react\";\nimport classnames from \"classnames\";\n\nimport styles from \"./RadioButton.module.css\";\nimport focusStyles from \"../Focus.module.css\";\nimport Typography from \"../Typography/Typography\";\nimport useFocusVisible from \"../useFocusVisible\";\nimport useIsHydrated from \"../useIsHydrated\";\nimport { useTheme } from \"../ThemeProvider/ThemeProvider\";\nimport colorStyles from \"../colors/colors.module.css\";\nimport Box from \"../Box/Box\";\n\n/**\n * [RadioButton](https://cambly-syntax.vercel.app/?path=/docs/components-radiobutton--docs) is a radio button with accompanying text\n */\nconst RadioButton = ({\n checked = false,\n \"data-testid\": dataTestId,\n dangerouslyForceFocusStyles = false,\n disabled: disabledProp = false,\n error = false,\n id,\n label,\n name,\n onChange,\n size = \"md\",\n value,\n}: {\n /**\n * Whether or not the radio button is checked\n *\n * @defaultValue false\n */\n checked?: boolean;\n /**\n * Test id for the radio button\n */\n \"data-testid\"?: string;\n /**\n * Whether or not the radio button is disabled\n *\n * @defaultValue false\n */\n disabled?: boolean;\n /**\n * Whether to show error color schema\n *\n * @defaultValue false\n */\n error?: boolean;\n /**\n * Id for the the radio button\n */\n id?: string;\n /**\n * Value to show end user\n */\n label: string;\n /**\n * The name of the grouping the radio buttons are in\n */\n name: string;\n /**\n * The callback to be called when the radio button is clicked\n */\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n /**\n * Size of the components\n *\n * * `sm`: 16px\n * * `md`: 24px\n *\n * @defaultValue \"md\"\n */\n size?: \"sm\" | \"md\";\n /**\n * Value of the selected radio option\n */\n value: string | number;\n /** forces focus ring styling */\n dangerouslyForceFocusStyles?: boolean;\n}): ReactElement => {\n const { themeName } = useTheme();\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated || disabledProp;\n const [isFocused, setIsFocused] = useState(false);\n const { isFocusVisible } = useFocusVisible();\n\n const classicStyles = classnames(styles.background, styles[size], {\n [styles.errorBorderColor]: error,\n [styles.borderColor]: !error,\n [focusStyles.accessibilityOutlineFocus]:\n (isFocused && isFocusVisible) || dangerouslyForceFocusStyles,\n [styles.mdCheckedBorder]: checked && size === \"md\",\n [styles.smCheckedBorder]: checked && size === \"sm\",\n [styles.neutralBorder]: !checked && size === \"md\",\n });\n\n const cambioStyles = classnames(\n styles.background,\n error\n ? colorStyles.cambioDestructive370BackgroundColor\n : colorStyles.cambioGray370BackgroundColor,\n styles[size],\n {\n [focusStyles.accessibilityOutlineFocus]:\n (isFocused && isFocusVisible) || dangerouslyForceFocusStyles,\n },\n );\n\n return (\n <label\n className={classnames(\n styles.radioBaseContainer,\n styles[`cursor${disabled ? \"Disabled\" : \"Enabled\"}`],\n {\n [styles.disabled]: disabled,\n [styles.smBase]: size === \"sm\",\n [styles.mdBase]: size === \"md\",\n },\n )}\n >\n <div className={themeName === \"classic\" ? classicStyles : cambioStyles} />\n {themeName === \"cambio\" && checked && (\n <Box\n backgroundColor={error ? \"destructive900\" : \"gray900\"}\n width={size === \"md\" ? 12 : 8}\n height={size === \"md\" ? 12 : 8}\n position=\"absolute\"\n rounding=\"full\"\n dangerouslySetInlineStyle={{\n __style: {\n left: size === \"md\" ? 6 : 4,\n },\n }}\n />\n )}\n <input\n data-testid={dataTestId}\n type=\"radio\"\n id={id}\n name={name}\n className={classnames(\n styles.radioStyleOverride,\n styles[`cursor${disabled ? \"Disabled\" : \"Enabled\"}`],\n {\n [styles.smOverride]: size === \"sm\",\n [styles.mdOverride]: size === \"md\",\n },\n )}\n checked={checked}\n onChange={onChange}\n disabled={disabled}\n value={value}\n onFocus={() => {\n setIsFocused(true);\n }}\n onBlur={() => {\n setIsFocused(false);\n }}\n />\n {label && (\n <Typography\n size={size === \"md\" ? 200 : 100}\n color={error ? \"destructive-primary\" : \"gray900\"}\n >\n {label}\n </Typography>\n )}\n </label>\n );\n};\n\nexport default RadioButton;\n","import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/RadioButton/RadioButton.module.css\"; export default {\"radioBaseContainer\":\"_radioBaseContainer_6h2zg_1\",\"disabled\":\"_disabled_6h2zg_9\",\"cursorDisabled\":\"_cursorDisabled_6h2zg_13\",\"cursorEnabled\":\"_cursorEnabled_6h2zg_17\",\"smBase\":\"_smBase_6h2zg_21\",\"mdBase\":\"_mdBase_6h2zg_25\",\"radioStyleOverride\":\"_radioStyleOverride_6h2zg_29\",\"smOverride\":\"_smOverride_6h2zg_34\",\"mdOverride\":\"_mdOverride_6h2zg_39\",\"background\":\"_background_6h2zg_44\",\"sm\":\"_sm_6h2zg_21\",\"md\":\"_md_6h2zg_25\",\"neutralBorder\":\"_neutralBorder_6h2zg_61\",\"smCheckedBorder\":\"_smCheckedBorder_6h2zg_65\",\"mdCheckedBorder\":\"_mdCheckedBorder_6h2zg_69\",\"errorBorderColor\":\"_errorBorderColor_6h2zg_73\",\"borderColor\":\"_borderColor_6h2zg_77\"}"]}
@@ -1,43 +0,0 @@
1
- "use client"
2
- import {
3
- useTheme
4
- } from "./4GTNQPPD.js";
5
-
6
- // css-module:./ButtonGroup.module.css#css-module
7
- var ButtonGroup_module_default = { "buttonGroup": "_buttonGroup_e77bq_1", "horizontal": "_horizontal_e77bq_5", "vertical": "_vertical_e77bq_9", "smallGap": "_smallGap_e77bq_13", "mediumGap": "_mediumGap_e77bq_17", "largeGap": "_largeGap_e77bq_21", "smallGapCambio": "_smallGapCambio_e77bq_25", "mediumGapCambio": "_mediumGapCambio_e77bq_29", "largeGapCambio": "_largeGapCambio_e77bq_33" };
8
-
9
- // src/ButtonGroup/ButtonGroup.tsx
10
- import classNames from "classnames";
11
- import { jsx } from "react/jsx-runtime";
12
- var gapClassic = {
13
- sm: ButtonGroup_module_default.smallGap,
14
- md: ButtonGroup_module_default.mediumGap,
15
- lg: ButtonGroup_module_default.largeGap
16
- };
17
- var gapCambio = {
18
- sm: ButtonGroup_module_default.smallGapCambio,
19
- md: ButtonGroup_module_default.mediumGapCambio,
20
- lg: ButtonGroup_module_default.largeGapCambio
21
- };
22
- var ButtonGroup = ({
23
- orientation = "horizontal",
24
- size = "md",
25
- children
26
- }) => {
27
- const { themeName } = useTheme();
28
- const classnames = classNames(
29
- ButtonGroup_module_default.buttonGroup,
30
- themeName === "classic" ? gapClassic[size] : gapCambio[size],
31
- {
32
- [ButtonGroup_module_default.horizontal]: orientation === "horizontal",
33
- [ButtonGroup_module_default.vertical]: orientation === "vertical"
34
- }
35
- );
36
- return /* @__PURE__ */ jsx("div", { className: classnames, children });
37
- };
38
- var ButtonGroup_default = ButtonGroup;
39
-
40
- export {
41
- ButtonGroup_default
42
- };
43
- //# sourceMappingURL=5OLT2HH5.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["css-module:./ButtonGroup.module.css#css-module","../../src/ButtonGroup/ButtonGroup.tsx"],"sourcesContent":["import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/ButtonGroup/ButtonGroup.module.css\"; export default {\"buttonGroup\":\"_buttonGroup_e77bq_1\",\"horizontal\":\"_horizontal_e77bq_5\",\"vertical\":\"_vertical_e77bq_9\",\"smallGap\":\"_smallGap_e77bq_13\",\"mediumGap\":\"_mediumGap_e77bq_17\",\"largeGap\":\"_largeGap_e77bq_21\",\"smallGapCambio\":\"_smallGapCambio_e77bq_25\",\"mediumGapCambio\":\"_mediumGapCambio_e77bq_29\",\"largeGapCambio\":\"_largeGapCambio_e77bq_33\"}","import { type ReactElement, type ReactNode } from \"react\";\nimport styles from \"./ButtonGroup.module.css\";\nimport { type Size } from \"../constants\";\nimport classNames from \"classnames\";\nimport { useTheme } from \"../ThemeProvider/ThemeProvider\";\n\nconst gapClassic = {\n sm: styles.smallGap,\n md: styles.mediumGap,\n lg: styles.largeGap,\n} as const;\n\nconst gapCambio = {\n sm: styles.smallGapCambio,\n md: styles.mediumGapCambio,\n lg: styles.largeGapCambio,\n} as const;\n\n/**\n * [ButtonGroup](https://cambly-syntax.vercel.app/?path=/docs/components-buttongroup--docs) groups buttons in a row or column with consistent spacing between each button.\n */\nconst ButtonGroup = ({\n orientation = \"horizontal\",\n size = \"md\",\n children,\n}: {\n /**\n * The orientation of the button group\n *\n * @defaultValue \"horizontal\"\n */\n orientation?: \"horizontal\" | \"vertical\";\n /**\n * The size of the button group defines the spacing between each button\n *\n * Classic:\n * * `sm`: 8px\n * * `md`: 12px\n * * `lg`: 16px\n *\n * Cambio:\n * * `sm`: 4px\n * * `md`: 8px\n * * `lg`: 12px\n *\n * @defaultValue \"md\"\n */\n size?: (typeof Size)[number];\n /**\n * Buttons to be rendered inside the button group\n */\n children?: ReactNode;\n}): ReactElement => {\n const { themeName } = useTheme();\n const classnames = classNames(\n styles.buttonGroup,\n themeName === \"classic\" ? gapClassic[size] : gapCambio[size],\n {\n [styles.horizontal]: orientation === \"horizontal\",\n [styles.vertical]: orientation === \"vertical\",\n },\n );\n\n return <div className={classnames}>{children}</div>;\n};\n\nexport default ButtonGroup;\n"],"mappings":";;;;;;AAAsG,IAAO,6BAAQ,EAAC,eAAc,wBAAuB,cAAa,uBAAsB,YAAW,qBAAoB,YAAW,sBAAqB,aAAY,uBAAsB,YAAW,sBAAqB,kBAAiB,4BAA2B,mBAAkB,6BAA4B,kBAAiB,2BAA0B;;;ACGpc,OAAO,gBAAgB;AA4Dd;AAzDT,IAAM,aAAa;AAAA,EACjB,IAAI,2BAAO;AAAA,EACX,IAAI,2BAAO;AAAA,EACX,IAAI,2BAAO;AACb;AAEA,IAAM,YAAY;AAAA,EAChB,IAAI,2BAAO;AAAA,EACX,IAAI,2BAAO;AAAA,EACX,IAAI,2BAAO;AACb;AAKA,IAAM,cAAc,CAAC;AAAA,EACnB,cAAc;AAAA,EACd,OAAO;AAAA,EACP;AACF,MA2BoB;AAClB,QAAM,EAAE,UAAU,IAAI,SAAS;AAC/B,QAAM,aAAa;AAAA,IACjB,2BAAO;AAAA,IACP,cAAc,YAAY,WAAW,IAAI,IAAI,UAAU,IAAI;AAAA,IAC3D;AAAA,MACE,CAAC,2BAAO,UAAU,GAAG,gBAAgB;AAAA,MACrC,CAAC,2BAAO,QAAQ,GAAG,gBAAgB;AAAA,IACrC;AAAA,EACF;AAEA,SAAO,oBAAC,SAAI,WAAW,YAAa,UAAS;AAC/C;AAEA,IAAO,sBAAQ;","names":[]}
@@ -1,115 +0,0 @@
1
- "use client"
2
- import {
3
- Box_default
4
- } from "./HCHFPFNX.js";
5
- import {
6
- Typography_default
7
- } from "./UVROGDYB.js";
8
- import {
9
- useTheme
10
- } from "./4GTNQPPD.js";
11
- import {
12
- useIsHydrated
13
- } from "./JB65NEXK.js";
14
-
15
- // src/Chip/Chip.tsx
16
- import { forwardRef, useMemo } from "react";
17
- import classnames from "classnames";
18
-
19
- // css-module:./Chip.module.css#css-module
20
- var Chip_module_default = { "chip": "_chip_1ndh3_1", "chipClassic": "_chipClassic_1ndh3_10", "chipCambio": "_chipCambio_1ndh3_15", "disabled": "_disabled_1ndh3_20", "deselectedChip": "_deselectedChip_1ndh3_25", "selectedChip": "_selectedChip_1ndh3_29", "deselectedChipCambio": "_deselectedChipCambio_1ndh3_34", "deselectedChipCambioOnDarkBackground": "_deselectedChipCambioOnDarkBackground_1ndh3_38", "selectedChipCambio": "_selectedChipCambio_1ndh3_42", "selectedChipCambioOnDarkBackground": "_selectedChipCambioOnDarkBackground_1ndh3_46", "icon": "_icon_1ndh3_50", "selectedIcon": "_selectedIcon_1ndh3_58", "sm": "_sm_1ndh3_62", "lg": "_lg_1ndh3_68", "forceFocus": "_forceFocus_1ndh3_75" };
21
-
22
- // src/Chip/Chip.tsx
23
- import { jsx, jsxs } from "react/jsx-runtime";
24
- function typographyColor({
25
- themeName,
26
- selected,
27
- on
28
- }) {
29
- if (themeName === "cambio" && on === "darkBackground") {
30
- if (selected) {
31
- return "gray900";
32
- } else {
33
- return "white";
34
- }
35
- } else {
36
- if (selected) {
37
- return "white";
38
- } else {
39
- return "gray900";
40
- }
41
- }
42
- }
43
- var Chip = forwardRef(
44
- ({
45
- disabled: disabledProp = false,
46
- selected = false,
47
- "data-testid": dataTestId,
48
- size = "sm",
49
- text,
50
- on = "lightBackground",
51
- onChange,
52
- icon: Icon,
53
- dangerouslyForceFocusStyles
54
- }, ref) => {
55
- const { themeName } = useTheme();
56
- const transformedSize = themeName === "cambio" ? "sm" : size;
57
- const isHydrated = useIsHydrated();
58
- const disabled = !isHydrated || disabledProp;
59
- const selectedChipCambioStyle = on === "lightBackground" ? Chip_module_default.selectedChipCambio : Chip_module_default.selectedChipCambioOnDarkBackground;
60
- const deselectedChipCambioStyle = on === "lightBackground" ? Chip_module_default.deselectedChipCambio : Chip_module_default.deselectedChipCambioOnDarkBackground;
61
- const chipStyles = classnames(
62
- Chip_module_default.chip,
63
- themeName === "classic" ? Chip_module_default.chipClassic : Chip_module_default.chipCambio,
64
- Chip_module_default[transformedSize],
65
- {
66
- [themeName === "classic" ? Chip_module_default.selectedChip : selectedChipCambioStyle]: selected,
67
- [themeName === "classic" ? Chip_module_default.deselectedChip : deselectedChipCambioStyle]: !selected,
68
- [Chip_module_default.disabled]: disabled,
69
- [Chip_module_default.forceFocus]: dangerouslyForceFocusStyles
70
- }
71
- );
72
- const iconStyles = classnames(Chip_module_default.icon, {
73
- [Chip_module_default.selectedIcon]: selected
74
- });
75
- const typographySize = {
76
- ["sm"]: 200,
77
- ["lg"]: 300
78
- };
79
- const color = useMemo(
80
- () => typographyColor({ themeName, selected, on }),
81
- [themeName, selected, on]
82
- );
83
- return /* @__PURE__ */ jsxs(
84
- "button",
85
- {
86
- className: chipStyles,
87
- disabled,
88
- "data-testid": dataTestId,
89
- ref,
90
- type: "button",
91
- "aria-pressed": selected,
92
- onClick: onChange,
93
- children: [
94
- Icon && /* @__PURE__ */ jsx(Icon, { className: iconStyles }),
95
- /* @__PURE__ */ jsx(Box_default, { paddingX: Icon ? 1 : 0, children: /* @__PURE__ */ jsx(
96
- Typography_default,
97
- {
98
- size: themeName === "classic" ? typographySize[transformedSize] : 100,
99
- color,
100
- weight: themeName === "classic" ? "regular" : "medium",
101
- children: text
102
- }
103
- ) })
104
- ]
105
- }
106
- );
107
- }
108
- );
109
- Chip.displayName = "Chip";
110
- var Chip_default = Chip;
111
-
112
- export {
113
- Chip_default
114
- };
115
- //# sourceMappingURL=5PWYNWVE.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/Chip/Chip.tsx","css-module:./Chip.module.css#css-module"],"sourcesContent":["import React, { forwardRef, useMemo } from \"react\";\nimport classnames from \"classnames\";\nimport Typography from \"../Typography/Typography\";\nimport Box from \"../Box/Box\";\nimport styles from \"./Chip.module.css\";\nimport useIsHydrated from \"../useIsHydrated\";\nimport { useTheme } from \"../ThemeProvider/ThemeProvider\";\n\nfunction typographyColor({\n themeName,\n selected,\n on,\n}: {\n themeName: \"cambio\" | \"classic\";\n selected: boolean;\n on: \"lightBackground\" | \"darkBackground\";\n}): \"white\" | \"gray900\" {\n if (themeName === \"cambio\" && on === \"darkBackground\") {\n if (selected) {\n return \"gray900\";\n } else {\n return \"white\";\n }\n } else {\n if (selected) {\n return \"white\";\n } else {\n return \"gray900\";\n }\n }\n}\n\ntype ChipProps = {\n /**\n * If true, the chip will be disabled.\n */\n disabled?: boolean;\n /**\n * Sets the initial status of this chip component.\n * * `true` will display a grey chip.\n * * `false` will display a premium800 color chip.\n *\n * @defaultValue \"false\"\n */\n selected?: boolean;\n /**\n * Test id for the button\n */\n \"data-testid\"?: string;\n /**\n * Size of the chip.\n *\n * Classic:\n * * `sm`: 32px\n * * `lg`: 48px\n *\n * Cambio:\n * * `sm`: 32px\n *\n * @defaultValue sm\n */\n size?: \"sm\" | \"lg\";\n /**\n * The text to be displayed on the chip\n */\n text: string;\n /**\n * Indicate whether the badge renders on a light or dark background. Changes the color of the chip (Cambio only)\n *\n * @defaulValue `lightBackground`\n */\n on?: \"lightBackground\" | \"darkBackground\";\n /**\n * The callback to be called when the chip is clicked\n */\n onChange: React.MouseEventHandler<HTMLButtonElement>;\n /**\n * The icon to be displayed.\n */\n icon?: React.ComponentType<{ className?: string }>;\n /** forces focus ring styling */\n dangerouslyForceFocusStyles?: boolean;\n};\n/**\n * [Chip](https://cambly-syntax.vercel.app/?path=/docs/components-chip--docs) is used to show status (selected/not selected) like a toggle button.\n */\nconst Chip = forwardRef<HTMLButtonElement, ChipProps>(\n (\n {\n disabled: disabledProp = false,\n selected = false,\n \"data-testid\": dataTestId,\n size = \"sm\",\n text,\n on = \"lightBackground\",\n onChange,\n icon: Icon,\n dangerouslyForceFocusStyles,\n }: ChipProps,\n ref,\n ) => {\n const { themeName } = useTheme();\n const transformedSize = themeName === \"cambio\" ? \"sm\" : size;\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated || disabledProp;\n\n const selectedChipCambioStyle =\n on === \"lightBackground\"\n ? styles.selectedChipCambio\n : styles.selectedChipCambioOnDarkBackground;\n\n const deselectedChipCambioStyle =\n on === \"lightBackground\"\n ? styles.deselectedChipCambio\n : styles.deselectedChipCambioOnDarkBackground;\n\n const chipStyles = classnames(\n styles.chip,\n themeName === \"classic\" ? styles.chipClassic : styles.chipCambio,\n styles[transformedSize],\n {\n [themeName === \"classic\"\n ? styles.selectedChip\n : selectedChipCambioStyle]: selected,\n [themeName === \"classic\"\n ? styles.deselectedChip\n : deselectedChipCambioStyle]: !selected,\n [styles.disabled]: disabled,\n [styles.forceFocus]: dangerouslyForceFocusStyles,\n },\n );\n const iconStyles = classnames(styles.icon, {\n [styles.selectedIcon]: selected,\n });\n const typographySize = {\n [\"sm\"]: 200,\n [\"lg\"]: 300,\n } as const;\n\n const color = useMemo(\n () => typographyColor({ themeName, selected, on }),\n [themeName, selected, on],\n );\n\n return (\n <button\n className={chipStyles}\n disabled={disabled}\n data-testid={dataTestId}\n ref={ref}\n type=\"button\"\n aria-pressed={selected}\n onClick={onChange}\n >\n {Icon && <Icon className={iconStyles} />}\n <Box paddingX={Icon ? 1 : 0}>\n <Typography\n size={\n themeName === \"classic\" ? typographySize[transformedSize] : 100\n }\n color={color}\n weight={themeName === \"classic\" ? \"regular\" : \"medium\"}\n >\n {text}\n </Typography>\n </Box>\n </button>\n );\n },\n);\n\nChip.displayName = \"Chip\";\n\nexport default Chip;\n","import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/Chip/Chip.module.css\"; export default {\"chip\":\"_chip_1ndh3_1\",\"chipClassic\":\"_chipClassic_1ndh3_10\",\"chipCambio\":\"_chipCambio_1ndh3_15\",\"disabled\":\"_disabled_1ndh3_20\",\"deselectedChip\":\"_deselectedChip_1ndh3_25\",\"selectedChip\":\"_selectedChip_1ndh3_29\",\"deselectedChipCambio\":\"_deselectedChipCambio_1ndh3_34\",\"deselectedChipCambioOnDarkBackground\":\"_deselectedChipCambioOnDarkBackground_1ndh3_38\",\"selectedChipCambio\":\"_selectedChipCambio_1ndh3_42\",\"selectedChipCambioOnDarkBackground\":\"_selectedChipCambioOnDarkBackground_1ndh3_46\",\"icon\":\"_icon_1ndh3_50\",\"selectedIcon\":\"_selectedIcon_1ndh3_58\",\"sm\":\"_sm_1ndh3_62\",\"lg\":\"_lg_1ndh3_68\",\"forceFocus\":\"_forceFocus_1ndh3_75\"}"],"mappings":";;;;;;;;;;;;;;;AAAA,SAAgB,YAAY,eAAe;AAC3C,OAAO,gBAAgB;;;ACDiE,IAAO,sBAAQ,EAAC,QAAO,iBAAgB,eAAc,yBAAwB,cAAa,wBAAuB,YAAW,sBAAqB,kBAAiB,4BAA2B,gBAAe,0BAAyB,wBAAuB,kCAAiC,wCAAuC,kDAAiD,sBAAqB,gCAA+B,sCAAqC,gDAA+C,QAAO,kBAAiB,gBAAe,0BAAyB,MAAK,gBAAe,MAAK,gBAAe,cAAa,uBAAsB;;;ADiJ1tB,SASW,KATX;AAzIN,SAAS,gBAAgB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AACF,GAIwB;AACtB,MAAI,cAAc,YAAY,OAAO,kBAAkB;AACrD,QAAI,UAAU;AACZ,aAAO;AAAA,IACT,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF,OAAO;AACL,QAAI,UAAU;AACZ,aAAO;AAAA,IACT,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AACF;AAwDA,IAAM,OAAO;AAAA,EACX,CACE;AAAA,IACE,UAAU,eAAe;AAAA,IACzB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,OAAO;AAAA,IACP;AAAA,IACA,KAAK;AAAA,IACL;AAAA,IACA,MAAM;AAAA,IACN;AAAA,EACF,GACA,QACG;AACH,UAAM,EAAE,UAAU,IAAI,SAAS;AAC/B,UAAM,kBAAkB,cAAc,WAAW,OAAO;AACxD,UAAM,aAAa,cAAc;AACjC,UAAM,WAAW,CAAC,cAAc;AAEhC,UAAM,0BACJ,OAAO,oBACH,oBAAO,qBACP,oBAAO;AAEb,UAAM,4BACJ,OAAO,oBACH,oBAAO,uBACP,oBAAO;AAEb,UAAM,aAAa;AAAA,MACjB,oBAAO;AAAA,MACP,cAAc,YAAY,oBAAO,cAAc,oBAAO;AAAA,MACtD,oBAAO,eAAe;AAAA,MACtB;AAAA,QACE,CAAC,cAAc,YACX,oBAAO,eACP,uBAAuB,GAAG;AAAA,QAC9B,CAAC,cAAc,YACX,oBAAO,iBACP,yBAAyB,GAAG,CAAC;AAAA,QACjC,CAAC,oBAAO,QAAQ,GAAG;AAAA,QACnB,CAAC,oBAAO,UAAU,GAAG;AAAA,MACvB;AAAA,IACF;AACA,UAAM,aAAa,WAAW,oBAAO,MAAM;AAAA,MACzC,CAAC,oBAAO,YAAY,GAAG;AAAA,IACzB,CAAC;AACD,UAAM,iBAAiB;AAAA,MACrB,CAAC,IAAI,GAAG;AAAA,MACR,CAAC,IAAI,GAAG;AAAA,IACV;AAEA,UAAM,QAAQ;AAAA,MACZ,MAAM,gBAAgB,EAAE,WAAW,UAAU,GAAG,CAAC;AAAA,MACjD,CAAC,WAAW,UAAU,EAAE;AAAA,IAC1B;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,QACX;AAAA,QACA,eAAa;AAAA,QACb;AAAA,QACA,MAAK;AAAA,QACL,gBAAc;AAAA,QACd,SAAS;AAAA,QAER;AAAA,kBAAQ,oBAAC,QAAK,WAAW,YAAY;AAAA,UACtC,oBAAC,eAAI,UAAU,OAAO,IAAI,GACxB;AAAA,YAAC;AAAA;AAAA,cACC,MACE,cAAc,YAAY,eAAe,eAAe,IAAI;AAAA,cAE9D;AAAA,cACA,QAAQ,cAAc,YAAY,YAAY;AAAA,cAE7C;AAAA;AAAA,UACH,GACF;AAAA;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,KAAK,cAAc;AAEnB,IAAO,eAAQ;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["css-module:./Divider.module.css#css-module","../../src/Divider/Divider.tsx"],"sourcesContent":["import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/Divider/Divider.module.css\"; export default {\"divider\":\"_divider_1uaon_1\",\"dividerClassic\":\"_dividerClassic_1uaon_9\"}","import { useTheme } from \"../ThemeProvider/ThemeProvider\";\nimport styles from \"./Divider.module.css\";\nimport classNames from \"classnames\";\nimport colorStyles from \"../colors/colors.module.css\";\n\n/**\n * [Divider](https://cambly-syntax.vercel.app/?path=/docs/components-divider--docs) is a thin horizontal line to group content in lists and layouts.\n */\nexport default function Divider(): React.ReactElement {\n const { themeName } = useTheme();\n return (\n <hr\n className={\n themeName === \"classic\"\n ? classNames(styles.divider, styles.dividerClassic)\n : classNames(styles.divider, colorStyles.cambioGray370BackgroundColor)\n }\n />\n );\n}\n\nDivider.displayName = \"Divider\";\n"],"mappings":";;;;;;;;;AAA8F,IAAO,yBAAQ,EAAC,WAAU,oBAAmB,kBAAiB,0BAAyB;;;ACErL,OAAO,gBAAgB;AASnB;AAHW,SAAR,UAA+C;AACpD,QAAM,EAAE,UAAU,IAAI,SAAS;AAC/B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WACE,cAAc,YACV,WAAW,uBAAO,SAAS,uBAAO,cAAc,IAChD,WAAW,uBAAO,SAAS,sBAAY,4BAA4B;AAAA;AAAA,EAE3E;AAEJ;AAEA,QAAQ,cAAc;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/SelectList/SelectList.tsx","css-module:./SelectList.module.css#css-module"],"names":[],"mappings":"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","sourcesContent":["import React, {\n type ReactElement,\n type ReactNode,\n useId,\n useState,\n} from \"react\";\nimport Box from \"../Box/Box\";\nimport classNames from \"classnames\";\nimport {\n ColorBaseDestructive700,\n ColorBaseGray800,\n} from \"@cambly/syntax-design-tokens\";\nimport Typography from \"../Typography/Typography\";\nimport styles from \"./SelectList.module.css\";\nimport focusStyles from \"../Focus.module.css\";\nimport SelectOption from \"./SelectOption\";\nimport useFocusVisible from \"../useFocusVisible\";\nimport useIsHydrated from \"../useIsHydrated\";\nimport { useTheme } from \"../ThemeProvider/ThemeProvider\";\n\nconst iconSize = {\n sm: 20,\n md: 24,\n lg: 24,\n} as const;\n\n/**\n * [SelectList](https://cambly-syntax.vercel.app/?path=/docs/components-selectlist--docs) is a dropdown menu that allows users to select one option from a list.\n */\nexport default function SelectList({\n children,\n \"data-testid\": dataTestId,\n disabled: disabledProp = false,\n errorText,\n helperText,\n id,\n label,\n onChange,\n onClick,\n placeholderText,\n selectedValue = \"\",\n size = \"md\",\n}: {\n /**\n * One or more SelectList.Option components.\n */\n children: ReactNode;\n /**\n * Test id for the select element\n */\n \"data-testid\"?: string;\n /**\n * true if the select dropdown is disabled\n * @defaultValue false\n */\n disabled?: boolean;\n /**\n * Callback to be called when select is clicked\n */\n onClick?: React.MouseEventHandler<HTMLSelectElement>;\n /**\n * Text shown below select box if there is an input error.\n */\n errorText?: string;\n /**\n * Text shown below select box\n */\n helperText?: string;\n /**\n * Id of the select element\n */\n id?: string;\n /**\n * Text shown above select box\n */\n label: string;\n /**\n * The callback to be called when an option is selected\n */\n onChange: React.ChangeEventHandler<HTMLSelectElement>;\n /**\n * Text showing in select box if no option has been chosen.\n * We should always have a placeholder unless there is a default option selected\n */\n placeholderText?: string;\n /**\n * Value of the currently selected option\n */\n selectedValue?: string;\n /**\n * Size of the select box\n * * `sm`: 32px\n * * `md`: 40px\n * * `lg`: 48px\n *\n * @defaultValue \"md\"\n */\n size?: \"sm\" | \"md\" | \"lg\";\n}): ReactElement {\n const reactId = useId();\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated || disabledProp;\n const { themeName } = useTheme();\n const selectId = id ?? reactId;\n const { isFocusVisible } = useFocusVisible();\n const [isFocused, setIsFocused] = useState(false);\n\n return (\n <div\n className={classNames(styles.selectContainer, {\n [styles.opacityOverlay]: disabled,\n })}\n >\n {label && (\n <label htmlFor={selectId}>\n <Box paddingX={1}>\n <Typography size={100} color=\"gray700\">\n {label}\n </Typography>\n </Box>\n </label>\n )}\n <div className={styles.selectWrapper}>\n <select\n id={selectId}\n data-testid={dataTestId}\n disabled={disabled}\n className={classNames(\n styles.selectBox,\n themeName === \"classic\"\n ? styles.selectBoxClassic\n : styles.selectBoxCambio,\n themeName === \"classic\" && styles[size],\n {\n [styles.unselected]: !selectedValue && !errorText,\n [styles.selected]: selectedValue && !errorText,\n [themeName === \"classic\"\n ? styles.selectError\n : styles.selectErrorCambio]: errorText,\n [focusStyles.accessibilityOutlineFocus]:\n isFocused && isFocusVisible, // for focus keyboard\n [styles.selectMouseFocusStyling]: isFocused && !isFocusVisible, // for focus mouse\n },\n )}\n onChange={onChange}\n onClick={onClick}\n value={\n placeholderText && !selectedValue ? placeholderText : selectedValue\n }\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n >\n {placeholderText && (\n <option disabled value={placeholderText}>\n {placeholderText}\n </option>\n )}\n {children}\n </select>\n <div className={styles.arrowIcon}>\n <svg\n focusable=\"false\"\n aria-hidden=\"true\"\n viewBox=\"0 0 24 24\"\n width={themeName === \"classic\" ? iconSize[size] : 24}\n >\n <path\n fill={errorText ? ColorBaseDestructive700 : ColorBaseGray800}\n d=\"M15.88 9.29 12 13.17 8.12 9.29a.9959.9959 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41l4.59 4.59c.39.39 1.02.39 1.41 0l4.59-4.59c.39-.39.39-1.02 0-1.41-.39-.38-1.03-.39-1.42 0z\"\n />\n </svg>\n </div>\n </div>\n {(helperText || errorText) && (\n <Box paddingX={1}>\n <Typography\n size={100}\n color={errorText ? \"destructive-primary\" : \"gray700\"}\n >\n {errorText ? errorText : helperText}\n </Typography>\n </Box>\n )}\n </div>\n );\n}\n\nSelectList.Option = SelectOption;\n","import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/SelectList/SelectList.module.css\"; export default {\"selectContainer\":\"_selectContainer_dwmnw_1\",\"opacityOverlay\":\"_opacityOverlay_dwmnw_7\",\"selectWrapper\":\"_selectWrapper_dwmnw_11\",\"selectBox\":\"_selectBox_dwmnw_16\",\"selectBoxClassic\":\"_selectBoxClassic_dwmnw_32\",\"selectBoxCambio\":\"_selectBoxCambio_dwmnw_37\",\"selectMouseFocusStyling\":\"_selectMouseFocusStyling_dwmnw_46\",\"unselected\":\"_unselected_dwmnw_51\",\"selected\":\"_selected_dwmnw_55\",\"arrowIcon\":\"_arrowIcon_dwmnw_59\",\"sm\":\"_sm_dwmnw_73\",\"md\":\"_md_dwmnw_79\",\"lg\":\"_lg_dwmnw_85\",\"selectError\":\"_selectError_dwmnw_91\",\"selectErrorCambio\":\"_selectErrorCambio_dwmnw_97\"}"]}