@cambly/syntax-core 10.3.0 → 10.5.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 (305) hide show
  1. package/dist/Avatar/Avatar.cjs +7 -5
  2. package/dist/Avatar/Avatar.d.ts +1 -1
  3. package/dist/Avatar/Avatar.js +5 -3
  4. package/dist/AvatarGroup/AvatarGroup.cjs +6 -4
  5. package/dist/AvatarGroup/AvatarGroup.js +4 -2
  6. package/dist/Badge/Badge.cjs +7 -5
  7. package/dist/Badge/Badge.d.ts +1 -1
  8. package/dist/Badge/Badge.js +5 -3
  9. package/dist/Box/Box.cjs +5 -3
  10. package/dist/Box/Box.js +3 -1
  11. package/dist/Button/Button.cjs +9 -7
  12. package/dist/Button/Button.js +8 -6
  13. package/dist/ButtonGroup/ButtonGroup.d.ts +1 -1
  14. package/dist/Card/Card.cjs +6 -4
  15. package/dist/Card/Card.js +4 -2
  16. package/dist/Checkbox/Checkbox.cjs +4 -4
  17. package/dist/Checkbox/Checkbox.d.ts +1 -1
  18. package/dist/Checkbox/Checkbox.js +3 -3
  19. package/dist/Chip/Chip.cjs +7 -5
  20. package/dist/Chip/Chip.css +14 -7
  21. package/dist/Chip/Chip.css.map +1 -1
  22. package/dist/Chip/Chip.d.ts +6 -0
  23. package/dist/Chip/Chip.js +6 -4
  24. package/dist/Dialog/Dialog.cjs +18 -0
  25. package/dist/Dialog/Dialog.cjs.map +1 -0
  26. package/dist/Dialog/Dialog.css +872 -0
  27. package/dist/Dialog/Dialog.css.map +1 -0
  28. package/dist/Dialog/Dialog.d.ts +35 -0
  29. package/dist/Dialog/Dialog.js +18 -0
  30. package/dist/Dialog/Dialog.js.map +1 -0
  31. package/dist/Dialog/ModalDialog.cjs +28 -0
  32. package/dist/Dialog/ModalDialog.cjs.map +1 -0
  33. package/dist/Dialog/ModalDialog.css +1886 -0
  34. package/dist/Dialog/ModalDialog.css.map +1 -0
  35. package/dist/Dialog/ModalDialog.d.ts +59 -0
  36. package/dist/Dialog/ModalDialog.js +28 -0
  37. package/dist/Dialog/ModalDialog.js.map +1 -0
  38. package/dist/Heading/Heading.cjs +3 -3
  39. package/dist/Heading/Heading.d.ts +2 -2
  40. package/dist/Heading/Heading.js +2 -2
  41. package/dist/IconButton/IconButton.cjs +3 -3
  42. package/dist/IconButton/IconButton.js +2 -2
  43. package/dist/LinkButton/LinkButton.cjs +4 -4
  44. package/dist/LinkButton/LinkButton.js +3 -3
  45. package/dist/Modal/Layer.cjs +6 -4
  46. package/dist/Modal/Layer.js +4 -2
  47. package/dist/Modal/Modal.cjs +10 -8
  48. package/dist/Modal/Modal.js +8 -6
  49. package/dist/Popover/Popover.cjs +30 -0
  50. package/dist/Popover/Popover.cjs.map +1 -0
  51. package/dist/Popover/Popover.css +1893 -0
  52. package/dist/Popover/Popover.css.map +1 -0
  53. package/dist/Popover/Popover.d.ts +70 -0
  54. package/dist/Popover/Popover.js +30 -0
  55. package/dist/Popover/Popover.js.map +1 -0
  56. package/dist/RadioButton/RadioButton.cjs +4 -4
  57. package/dist/RadioButton/RadioButton.d.ts +4 -2
  58. package/dist/RadioButton/RadioButton.js +3 -3
  59. package/dist/RichSelect/RichSelectBox.cjs +40 -0
  60. package/dist/RichSelect/RichSelectBox.cjs.map +1 -0
  61. package/dist/RichSelect/RichSelectBox.css +2121 -0
  62. package/dist/RichSelect/RichSelectBox.css.map +1 -0
  63. package/dist/RichSelect/RichSelectBox.d.ts +56 -0
  64. package/dist/RichSelect/RichSelectBox.js +40 -0
  65. package/dist/RichSelect/RichSelectBox.js.map +1 -0
  66. package/dist/RichSelect/RichSelectChip.cjs +18 -0
  67. package/dist/RichSelect/RichSelectChip.cjs.map +1 -0
  68. package/dist/RichSelect/RichSelectChip.css +1915 -0
  69. package/dist/RichSelect/RichSelectChip.css.map +1 -0
  70. package/dist/RichSelect/RichSelectChip.d.ts +8 -0
  71. package/dist/RichSelect/RichSelectChip.js +18 -0
  72. package/dist/RichSelect/RichSelectChip.js.map +1 -0
  73. package/dist/RichSelect/RichSelectItem.cjs +11 -0
  74. package/dist/RichSelect/RichSelectItem.cjs.map +1 -0
  75. package/dist/RichSelect/RichSelectItem.css +6 -0
  76. package/dist/RichSelect/RichSelectItem.css.map +1 -0
  77. package/dist/RichSelect/RichSelectItem.d.ts +20 -0
  78. package/dist/RichSelect/RichSelectItem.js +11 -0
  79. package/dist/RichSelect/RichSelectItem.js.map +1 -0
  80. package/dist/RichSelect/RichSelectList.cjs +48 -0
  81. package/dist/RichSelect/RichSelectList.cjs.map +1 -0
  82. package/dist/RichSelect/RichSelectList.css +2335 -0
  83. package/dist/RichSelect/RichSelectList.css.map +1 -0
  84. package/dist/RichSelect/RichSelectList.d.ts +78 -0
  85. package/dist/RichSelect/RichSelectList.js +48 -0
  86. package/dist/RichSelect/RichSelectList.js.map +1 -0
  87. package/dist/RichSelect/RichSelectRadioButton.cjs +16 -0
  88. package/dist/RichSelect/RichSelectRadioButton.cjs.map +1 -0
  89. package/dist/RichSelect/RichSelectRadioButton.css +324 -0
  90. package/dist/RichSelect/RichSelectRadioButton.css.map +1 -0
  91. package/dist/RichSelect/RichSelectRadioButton.d.ts +11 -0
  92. package/dist/RichSelect/RichSelectRadioButton.js +16 -0
  93. package/dist/RichSelect/RichSelectRadioButton.js.map +1 -0
  94. package/dist/RichSelect/RichSelectSection.cjs +14 -0
  95. package/dist/RichSelect/RichSelectSection.cjs.map +1 -0
  96. package/dist/RichSelect/RichSelectSection.css +601 -0
  97. package/dist/RichSelect/RichSelectSection.css.map +1 -0
  98. package/dist/RichSelect/RichSelectSection.d.ts +11 -0
  99. package/dist/RichSelect/RichSelectSection.js +14 -0
  100. package/dist/RichSelect/RichSelectSection.js.map +1 -0
  101. package/dist/SelectList/SelectList.cjs +5 -4
  102. package/dist/SelectList/SelectList.js +4 -3
  103. package/dist/TapArea/TapArea.cjs +2 -2
  104. package/dist/TapArea/TapArea.d.ts +11 -12
  105. package/dist/TapArea/TapArea.js +1 -1
  106. package/dist/TextArea/TextArea.cjs +7 -5
  107. package/dist/TextArea/TextArea.js +6 -4
  108. package/dist/TextField/TextField.cjs +7 -5
  109. package/dist/TextField/TextField.js +6 -4
  110. package/dist/Tooltip/Tooltip.cjs +22 -0
  111. package/dist/Tooltip/Tooltip.cjs.map +1 -0
  112. package/dist/Tooltip/Tooltip.css +941 -0
  113. package/dist/Tooltip/Tooltip.css.map +1 -0
  114. package/dist/Tooltip/Tooltip.d.ts +71 -0
  115. package/dist/Tooltip/Tooltip.js +22 -0
  116. package/dist/Tooltip/Tooltip.js.map +1 -0
  117. package/dist/Typography/Typography.cjs +2 -2
  118. package/dist/Typography/Typography.d.ts +13 -8
  119. package/dist/Typography/Typography.js +1 -1
  120. package/dist/__chunks/{GPS2XNQI.js → 2R4YCOYE.js} +10 -10
  121. package/dist/__chunks/2RCQTGOZ.cjs +39 -0
  122. package/dist/__chunks/2RCQTGOZ.cjs.map +1 -0
  123. package/dist/__chunks/3BBDCRDO.js +9 -0
  124. package/dist/__chunks/3BBDCRDO.js.map +1 -0
  125. package/dist/__chunks/{ERJ5XXDH.js → 3UQRZ3IQ.js} +4 -4
  126. package/dist/__chunks/4EXO6IHD.cjs +17 -0
  127. package/dist/__chunks/4EXO6IHD.cjs.map +1 -0
  128. package/dist/__chunks/4PLE46VU.cjs +63 -0
  129. package/dist/__chunks/4PLE46VU.cjs.map +1 -0
  130. package/dist/__chunks/55HJFY7V.js +268 -0
  131. package/dist/__chunks/55HJFY7V.js.map +1 -0
  132. package/dist/__chunks/{CY6YL5T4.cjs → 5SMR5MWY.cjs} +1 -1
  133. package/dist/__chunks/5TKLFG5Y.cjs +210 -0
  134. package/dist/__chunks/5TKLFG5Y.cjs.map +1 -0
  135. package/dist/__chunks/5WNFAQGY.cjs +7 -0
  136. package/dist/__chunks/5WNFAQGY.cjs.map +1 -0
  137. package/dist/__chunks/5ZDZZL2P.js +63 -0
  138. package/dist/__chunks/5ZDZZL2P.js.map +1 -0
  139. package/dist/__chunks/652STTPK.js +7 -0
  140. package/dist/__chunks/652STTPK.js.map +1 -0
  141. package/dist/__chunks/{XZYDKAQV.js → AGEHF4UW.js} +3 -3
  142. package/dist/__chunks/ARBLKS7D.js +17 -0
  143. package/dist/__chunks/ARBLKS7D.js.map +1 -0
  144. package/dist/__chunks/{F3ZST4RL.js → B2TFERTM.js} +8 -4
  145. package/dist/__chunks/B2TFERTM.js.map +1 -0
  146. package/dist/__chunks/{RZPCI2UU.cjs → DMCLLEN5.cjs} +9 -9
  147. package/dist/__chunks/DMCLLEN5.cjs.map +1 -0
  148. package/dist/__chunks/DNTOWEIQ.js +39 -0
  149. package/dist/__chunks/DNTOWEIQ.js.map +1 -0
  150. package/dist/__chunks/{2JWMSFS7.js → E4BJX2H5.js} +2 -2
  151. package/dist/__chunks/{PF7Q2EGN.cjs → EWCLQBKV.cjs} +8 -8
  152. package/dist/__chunks/{XBWCYGQ2.cjs → FMHIHCQS.cjs} +5 -5
  153. package/dist/__chunks/{C5IESDXE.cjs → FMSBGH2I.cjs} +8 -8
  154. package/dist/__chunks/FMSI35YS.cjs +52 -0
  155. package/dist/__chunks/FMSI35YS.cjs.map +1 -0
  156. package/dist/__chunks/{CEWOAFV2.cjs → FZ5HWA3S.cjs} +3 -3
  157. package/dist/__chunks/{XLVKNLN7.cjs → GOSWBV5D.cjs} +3 -3
  158. package/dist/__chunks/GYI2PBXY.cjs +52 -0
  159. package/dist/__chunks/GYI2PBXY.cjs.map +1 -0
  160. package/dist/__chunks/{G6TO2NCY.js → HEJ3LVZG.js} +2 -2
  161. package/dist/__chunks/{3VUMTAUX.js → HOGVXDTO.js} +4 -4
  162. package/dist/__chunks/{NHSTGALH.cjs → HR5QOB3U.cjs} +14 -14
  163. package/dist/__chunks/IJVFSOXU.cjs +84 -0
  164. package/dist/__chunks/IJVFSOXU.cjs.map +1 -0
  165. package/dist/__chunks/JHAV5OTQ.js +210 -0
  166. package/dist/__chunks/JHAV5OTQ.js.map +1 -0
  167. package/dist/__chunks/{37CQV3RS.js → JIXNBF5N.js} +34 -26
  168. package/dist/__chunks/JIXNBF5N.js.map +1 -0
  169. package/dist/__chunks/JKXOZUCV.js +52 -0
  170. package/dist/__chunks/JKXOZUCV.js.map +1 -0
  171. package/dist/__chunks/JQ6POHCA.js +82 -0
  172. package/dist/__chunks/JQ6POHCA.js.map +1 -0
  173. package/dist/__chunks/{GPWBSPBL.js → JUUIXL6A.js} +3 -3
  174. package/dist/__chunks/{FOTKCGZZ.js → JWFHLI33.js} +3 -3
  175. package/dist/__chunks/{GBJX7OPK.cjs → JYDZTZIK.cjs} +6 -6
  176. package/dist/__chunks/{IFJ2YOEG.cjs → K77KFPIV.cjs} +3 -3
  177. package/dist/__chunks/{YGVUSAB6.cjs → KCYZNZBO.cjs} +7 -7
  178. package/dist/__chunks/KMIZI5PW.js +7 -0
  179. package/dist/__chunks/KMIZI5PW.js.map +1 -0
  180. package/dist/__chunks/{REM5SMMZ.js → LCZ57HZU.js} +3 -3
  181. package/dist/__chunks/{N3EZP6VG.cjs → LDFTT3OI.cjs} +4 -4
  182. package/dist/__chunks/{EXYF6BLV.cjs → LMCK5YO5.cjs} +5 -4
  183. package/dist/__chunks/LMCK5YO5.cjs.map +1 -0
  184. package/dist/__chunks/M2T7D4DC.js +33 -0
  185. package/dist/__chunks/M2T7D4DC.js.map +1 -0
  186. package/dist/__chunks/M7BTHQDK.cjs +268 -0
  187. package/dist/__chunks/M7BTHQDK.cjs.map +1 -0
  188. package/dist/__chunks/NDJRETMM.cjs +33 -0
  189. package/dist/__chunks/NDJRETMM.cjs.map +1 -0
  190. package/dist/__chunks/{X74O4HUS.js → NRTSRS2D.js} +4 -3
  191. package/dist/__chunks/NRTSRS2D.js.map +1 -0
  192. package/dist/__chunks/{BSFWQWVJ.js → PEKXH4DM.js} +2 -2
  193. package/dist/__chunks/PJIXYQPE.js +164 -0
  194. package/dist/__chunks/PJIXYQPE.js.map +1 -0
  195. package/dist/__chunks/PTWXXDFF.js +7 -0
  196. package/dist/__chunks/PTWXXDFF.js.map +1 -0
  197. package/dist/__chunks/{CGUZFFJ2.cjs → PZYWUTMW.cjs} +33 -25
  198. package/dist/__chunks/PZYWUTMW.cjs.map +1 -0
  199. package/dist/__chunks/QJI4G5FP.cjs +82 -0
  200. package/dist/__chunks/QJI4G5FP.cjs.map +1 -0
  201. package/dist/__chunks/QNBZ64IE.cjs +143 -0
  202. package/dist/__chunks/QNBZ64IE.cjs.map +1 -0
  203. package/dist/__chunks/{CWNH5WDG.cjs → QQWCNTE4.cjs} +12 -9
  204. package/dist/__chunks/QQWCNTE4.cjs.map +1 -0
  205. package/dist/__chunks/{THEUR2KP.cjs → RAVU4WEO.cjs} +9 -9
  206. package/dist/__chunks/RFHPSEBF.cjs +30 -0
  207. package/dist/__chunks/RFHPSEBF.cjs.map +1 -0
  208. package/dist/__chunks/{CQ2HIJ62.js → STT27BTU.js} +2 -2
  209. package/dist/__chunks/SXTAJU6N.cjs +9 -0
  210. package/dist/__chunks/SXTAJU6N.cjs.map +1 -0
  211. package/dist/__chunks/{PYNS67IV.js → TJHCYMPV.js} +1 -1
  212. package/dist/__chunks/TPP3XWDC.cjs +159 -0
  213. package/dist/__chunks/TPP3XWDC.cjs.map +1 -0
  214. package/dist/__chunks/UYBMLRXR.js +159 -0
  215. package/dist/__chunks/UYBMLRXR.js.map +1 -0
  216. package/dist/__chunks/{BSWWGQAS.js → V3ZO4D37.js} +2 -2
  217. package/dist/__chunks/{UNIBFDXV.js → VBSJSA3B.js} +10 -7
  218. package/dist/__chunks/VBSJSA3B.js.map +1 -0
  219. package/dist/__chunks/VMARHE5B.cjs +7 -0
  220. package/dist/__chunks/VMARHE5B.cjs.map +1 -0
  221. package/dist/__chunks/VY7MJTPK.js +143 -0
  222. package/dist/__chunks/VY7MJTPK.js.map +1 -0
  223. package/dist/__chunks/{JMKXHLVZ.cjs → W7CSNF2M.cjs} +3 -3
  224. package/dist/__chunks/{MZWEO42B.js → WX2IEICF.js} +6 -6
  225. package/dist/__chunks/WX2IEICF.js.map +1 -0
  226. package/dist/__chunks/XFFSBU7E.js +84 -0
  227. package/dist/__chunks/XFFSBU7E.js.map +1 -0
  228. package/dist/__chunks/XKDASN7N.js +30 -0
  229. package/dist/__chunks/XKDASN7N.js.map +1 -0
  230. package/dist/__chunks/{TKYRBLSM.js → XT2JUTU3.js} +9 -9
  231. package/dist/__chunks/Y6L6EOCB.js +52 -0
  232. package/dist/__chunks/Y6L6EOCB.js.map +1 -0
  233. package/dist/__chunks/{3F5U7W73.cjs → YBP5BNDH.cjs} +3 -3
  234. package/dist/__chunks/ZDMSFZS3.cjs +7 -0
  235. package/dist/__chunks/ZDMSFZS3.cjs.map +1 -0
  236. package/dist/__chunks/ZG64UIHG.cjs +164 -0
  237. package/dist/__chunks/ZG64UIHG.cjs.map +1 -0
  238. package/dist/__chunks/{ARYAYAXH.cjs → ZX5KONS2.cjs} +8 -4
  239. package/dist/__chunks/ZX5KONS2.cjs.map +1 -0
  240. package/dist/index.cjs +63 -34
  241. package/dist/index.css +82 -7
  242. package/dist/index.css.map +1 -1
  243. package/dist/index.d.ts +13 -0
  244. package/dist/index.js +72 -43
  245. package/dist/react-aria-utils/OverlayVisibility.cjs +8 -0
  246. package/dist/react-aria-utils/OverlayVisibility.cjs.map +1 -0
  247. package/dist/react-aria-utils/OverlayVisibility.d.ts +21 -0
  248. package/dist/react-aria-utils/OverlayVisibility.js +8 -0
  249. package/dist/react-aria-utils/OverlayVisibility.js.map +1 -0
  250. package/dist/react-aria-utils/Triggerable.cjs +9 -0
  251. package/dist/react-aria-utils/Triggerable.cjs.map +1 -0
  252. package/dist/react-aria-utils/Triggerable.css +7 -0
  253. package/dist/react-aria-utils/Triggerable.css.map +1 -0
  254. package/dist/react-aria-utils/Triggerable.d.ts +14 -0
  255. package/dist/react-aria-utils/Triggerable.js +9 -0
  256. package/dist/react-aria-utils/Triggerable.js.map +1 -0
  257. package/dist/react-aria-utils/placement.cjs +8 -0
  258. package/dist/react-aria-utils/placement.cjs.map +1 -0
  259. package/dist/react-aria-utils/placement.d.ts +6 -0
  260. package/dist/react-aria-utils/placement.js +8 -0
  261. package/dist/react-aria-utils/placement.js.map +1 -0
  262. package/dist/react-aria-utils/useDomRefSyntheticEventBridge.cjs +8 -0
  263. package/dist/react-aria-utils/useDomRefSyntheticEventBridge.cjs.map +1 -0
  264. package/dist/react-aria-utils/useDomRefSyntheticEventBridge.d.ts +7 -0
  265. package/dist/react-aria-utils/useDomRefSyntheticEventBridge.js +8 -0
  266. package/dist/react-aria-utils/useDomRefSyntheticEventBridge.js.map +1 -0
  267. package/package.json +6 -2
  268. package/dist/__chunks/37CQV3RS.js.map +0 -1
  269. package/dist/__chunks/ARYAYAXH.cjs.map +0 -1
  270. package/dist/__chunks/CGUZFFJ2.cjs.map +0 -1
  271. package/dist/__chunks/CWNH5WDG.cjs.map +0 -1
  272. package/dist/__chunks/EXYF6BLV.cjs.map +0 -1
  273. package/dist/__chunks/F3ZST4RL.js.map +0 -1
  274. package/dist/__chunks/MZWEO42B.js.map +0 -1
  275. package/dist/__chunks/RZPCI2UU.cjs.map +0 -1
  276. package/dist/__chunks/UNIBFDXV.js.map +0 -1
  277. package/dist/__chunks/X74O4HUS.js.map +0 -1
  278. /package/dist/__chunks/{GPS2XNQI.js.map → 2R4YCOYE.js.map} +0 -0
  279. /package/dist/__chunks/{ERJ5XXDH.js.map → 3UQRZ3IQ.js.map} +0 -0
  280. /package/dist/__chunks/{CY6YL5T4.cjs.map → 5SMR5MWY.cjs.map} +0 -0
  281. /package/dist/__chunks/{XZYDKAQV.js.map → AGEHF4UW.js.map} +0 -0
  282. /package/dist/__chunks/{2JWMSFS7.js.map → E4BJX2H5.js.map} +0 -0
  283. /package/dist/__chunks/{PF7Q2EGN.cjs.map → EWCLQBKV.cjs.map} +0 -0
  284. /package/dist/__chunks/{XBWCYGQ2.cjs.map → FMHIHCQS.cjs.map} +0 -0
  285. /package/dist/__chunks/{C5IESDXE.cjs.map → FMSBGH2I.cjs.map} +0 -0
  286. /package/dist/__chunks/{CEWOAFV2.cjs.map → FZ5HWA3S.cjs.map} +0 -0
  287. /package/dist/__chunks/{XLVKNLN7.cjs.map → GOSWBV5D.cjs.map} +0 -0
  288. /package/dist/__chunks/{G6TO2NCY.js.map → HEJ3LVZG.js.map} +0 -0
  289. /package/dist/__chunks/{3VUMTAUX.js.map → HOGVXDTO.js.map} +0 -0
  290. /package/dist/__chunks/{NHSTGALH.cjs.map → HR5QOB3U.cjs.map} +0 -0
  291. /package/dist/__chunks/{GPWBSPBL.js.map → JUUIXL6A.js.map} +0 -0
  292. /package/dist/__chunks/{FOTKCGZZ.js.map → JWFHLI33.js.map} +0 -0
  293. /package/dist/__chunks/{GBJX7OPK.cjs.map → JYDZTZIK.cjs.map} +0 -0
  294. /package/dist/__chunks/{IFJ2YOEG.cjs.map → K77KFPIV.cjs.map} +0 -0
  295. /package/dist/__chunks/{YGVUSAB6.cjs.map → KCYZNZBO.cjs.map} +0 -0
  296. /package/dist/__chunks/{REM5SMMZ.js.map → LCZ57HZU.js.map} +0 -0
  297. /package/dist/__chunks/{N3EZP6VG.cjs.map → LDFTT3OI.cjs.map} +0 -0
  298. /package/dist/__chunks/{BSFWQWVJ.js.map → PEKXH4DM.js.map} +0 -0
  299. /package/dist/__chunks/{THEUR2KP.cjs.map → RAVU4WEO.cjs.map} +0 -0
  300. /package/dist/__chunks/{CQ2HIJ62.js.map → STT27BTU.js.map} +0 -0
  301. /package/dist/__chunks/{PYNS67IV.js.map → TJHCYMPV.js.map} +0 -0
  302. /package/dist/__chunks/{BSWWGQAS.js.map → V3ZO4D37.js.map} +0 -0
  303. /package/dist/__chunks/{JMKXHLVZ.cjs.map → W7CSNF2M.cjs.map} +0 -0
  304. /package/dist/__chunks/{TKYRBLSM.js.map → XT2JUTU3.js.map} +0 -0
  305. /package/dist/__chunks/{3F5U7W73.cjs.map → YBP5BNDH.cjs.map} +0 -0
@@ -0,0 +1,268 @@
1
+ import {
2
+ RichSelectBoxContext,
3
+ RichSelectBox_default,
4
+ convertSelection
5
+ } from "./JHAV5OTQ.js";
6
+ import {
7
+ Popover_default
8
+ } from "./VY7MJTPK.js";
9
+ import {
10
+ DialogContext
11
+ } from "./XFFSBU7E.js";
12
+ import {
13
+ TapArea_default
14
+ } from "./JIXNBF5N.js";
15
+ import {
16
+ ColorBaseDestructive700,
17
+ ColorBaseGray800
18
+ } from "./3BBDCRDO.js";
19
+ import {
20
+ RichSelectSection_default
21
+ } from "./JKXOZUCV.js";
22
+ import {
23
+ RichSelectRadioButton_default
24
+ } from "./DNTOWEIQ.js";
25
+ import {
26
+ RichSelectChip_default
27
+ } from "./M2T7D4DC.js";
28
+ import {
29
+ Box_default
30
+ } from "./TJHCYMPV.js";
31
+ import {
32
+ Typography_default
33
+ } from "./B2TFERTM.js";
34
+ import {
35
+ useIsHydrated
36
+ } from "./YJ7YDIGB.js";
37
+ import {
38
+ __objRest,
39
+ __spreadProps,
40
+ __spreadValues
41
+ } from "./LULBCTQR.js";
42
+
43
+ // src/RichSelect/RichSelectList.tsx
44
+ import {
45
+ useMemo,
46
+ useRef
47
+ } from "react";
48
+ import classNames from "classnames";
49
+ import {
50
+ Label as ReactAriaLabel,
51
+ Provider as ReactAriaProvider
52
+ } from "react-aria-components";
53
+ import { useControlledState } from "@react-stately/utils";
54
+ import { setInteractionModality } from "@react-aria/interactions";
55
+
56
+ // css-module:../SelectList/SelectList.module.css#css-module
57
+ var SelectList_module_default = { "selectContainer": "_selectContainer_3ifov_1", "opacityOverlay": "_opacityOverlay_3ifov_7", "outerTextContainer": "_outerTextContainer_3ifov_11", "selectWrapper": "_selectWrapper_3ifov_16", "selectBox": "_selectBox_3ifov_21", "selectMouseFocusStyling": "_selectMouseFocusStyling_3ifov_37", "unselected": "_unselected_3ifov_42", "selected": "_selected_3ifov_46", "arrowIcon": "_arrowIcon_3ifov_50", "sm": "_sm_3ifov_64", "md": "_md_3ifov_70", "lg": "_lg_3ifov_76", "selectError": "_selectError_3ifov_82" };
58
+
59
+ // src/RichSelect/RichSelectList.tsx
60
+ import { useField } from "react-aria";
61
+ import { jsx, jsxs } from "react/jsx-runtime";
62
+ var NOOP = () => void 0;
63
+ var iconSize = {
64
+ sm: 20,
65
+ md: 24,
66
+ lg: 24
67
+ };
68
+ function RichSelectList(props) {
69
+ const _a = props, {
70
+ autosave,
71
+ children,
72
+ "data-testid": dataTestId,
73
+ disabled: disabledProp = false,
74
+ errorText,
75
+ helperText,
76
+ label,
77
+ onChange,
78
+ onClick = NOOP,
79
+ placeholderText,
80
+ selectTextValue,
81
+ selectedValues: selectedValuesProp,
82
+ defaultSelectedValues: defaultSelectedValuesProp,
83
+ size = "md"
84
+ } = _a, richSelectBoxProps = __objRest(_a, [
85
+ "autosave",
86
+ "children",
87
+ "data-testid",
88
+ "disabled",
89
+ "errorText",
90
+ "helperText",
91
+ "label",
92
+ "onChange",
93
+ "onClick",
94
+ "placeholderText",
95
+ "selectTextValue",
96
+ "selectedValues",
97
+ "defaultSelectedValues",
98
+ "size"
99
+ ]);
100
+ const isHydrated = useIsHydrated();
101
+ const disabled = !isHydrated || disabledProp;
102
+ const overlayHandlerRef = useRef({});
103
+ const selectedKeysProp = useMemo(
104
+ () => convertSelection(selectedValuesProp),
105
+ [selectedValuesProp]
106
+ );
107
+ const defaultSelectedKeys = useMemo(
108
+ () => convertSelection(defaultSelectedValuesProp, /* @__PURE__ */ new Set()),
109
+ [defaultSelectedValuesProp]
110
+ );
111
+ const [selectedKeys, setSelectedKeys] = useControlledState(
112
+ selectedKeysProp,
113
+ // 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
114
+ defaultSelectedKeys,
115
+ (value) => {
116
+ var _a2, _b;
117
+ const _value = value === "all" ? "all" : [...value].map(String);
118
+ onChange(_value);
119
+ if (!autosave)
120
+ (_b = (_a2 = overlayHandlerRef.current).close) == null ? void 0 : _b.call(_a2);
121
+ }
122
+ );
123
+ const selectedTextValue = useMemo(() => {
124
+ var _a2;
125
+ if (selectTextValue)
126
+ return (_a2 = selectTextValue([...selectedKeys].map(String))) != null ? _a2 : placeholderText;
127
+ if (selectedKeys === "all")
128
+ return "all";
129
+ if (selectedKeys.size)
130
+ return `${selectedKeys.size} selected`;
131
+ return placeholderText;
132
+ }, [selectTextValue, selectedKeys, placeholderText]);
133
+ const fieldRef = useRef(null);
134
+ const { labelProps, fieldProps, descriptionProps, errorMessageProps } = useField({
135
+ label,
136
+ // this is the label for the select box
137
+ description: helperText,
138
+ errorMessage: errorText
139
+ });
140
+ return /* @__PURE__ */ jsx(
141
+ ReactAriaProvider,
142
+ {
143
+ values: [
144
+ [RichSelectBoxContext, { autoFocus: true }],
145
+ [DialogContext, { padding: autosave ? void 0 : 0 }]
146
+ // this is altering Popover's internal dialog padding to show the sticky save/close buttons. Ideally this could be avoided
147
+ ],
148
+ children: /* @__PURE__ */ jsxs(
149
+ "div",
150
+ {
151
+ className: classNames(SelectList_module_default.selectContainer, {
152
+ [SelectList_module_default.opacityOverlay]: disabled
153
+ }),
154
+ children: [
155
+ /* @__PURE__ */ jsx(
156
+ ReactAriaLabel,
157
+ __spreadProps(__spreadValues({
158
+ "data-testid": [dataTestId, "label"].filter(Boolean).join("-"),
159
+ className: classNames(
160
+ SelectList_module_default.selectContainer,
161
+ SelectList_module_default.outerTextContainer
162
+ )
163
+ }, labelProps), {
164
+ onClick: () => {
165
+ var _a2;
166
+ if (disabled)
167
+ return;
168
+ (_a2 = fieldRef.current) == null ? void 0 : _a2.focus();
169
+ setInteractionModality("keyboard");
170
+ },
171
+ children: /* @__PURE__ */ jsx(Typography_default, { size: 100, color: "gray700", children: label })
172
+ })
173
+ ),
174
+ /* @__PURE__ */ jsx(
175
+ Popover_default,
176
+ {
177
+ ref: overlayHandlerRef,
178
+ disabled,
179
+ accessibilityLabel: label,
180
+ content: (
181
+ // 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
182
+ /* @__PURE__ */ jsx(
183
+ Box_default,
184
+ {
185
+ padding: autosave ? void 0 : 5,
186
+ dangerouslySetInlineStyle: autosave ? void 0 : { __style: { paddingBottom: 0 } },
187
+ children: /* @__PURE__ */ jsx(
188
+ RichSelectBox_default,
189
+ __spreadProps(__spreadValues({
190
+ autosave,
191
+ selectedValues: selectedKeys,
192
+ defaultSelectedValues: defaultSelectedKeys,
193
+ onChange: (selected) => setSelectedKeys(new Set(selected)),
194
+ accessibilityLabel: label
195
+ }, richSelectBoxProps), {
196
+ children
197
+ })
198
+ )
199
+ }
200
+ )
201
+ ),
202
+ children: /* @__PURE__ */ jsx(
203
+ TapArea_default,
204
+ __spreadProps(__spreadValues({
205
+ "data-testid": dataTestId,
206
+ disabled,
207
+ onClick,
208
+ rounding: size === "lg" ? "lg" : "md"
209
+ }, fieldProps), {
210
+ ref: fieldRef,
211
+ children: /* @__PURE__ */ jsxs("div", { className: SelectList_module_default.selectWrapper, children: [
212
+ /* @__PURE__ */ jsx(
213
+ "div",
214
+ {
215
+ className: classNames(SelectList_module_default.selectBox, SelectList_module_default[size], {
216
+ [SelectList_module_default.unselected]: !errorText && selectedKeys !== "all" && !selectedKeys.size,
217
+ [SelectList_module_default.selected]: !errorText && (selectedKeys === "all" || selectedKeys.size),
218
+ [SelectList_module_default.selectError]: errorText
219
+ }),
220
+ children: selectedTextValue
221
+ }
222
+ ),
223
+ /* @__PURE__ */ jsx("div", { className: SelectList_module_default.arrowIcon, children: /* @__PURE__ */ jsx(
224
+ "svg",
225
+ {
226
+ focusable: "false",
227
+ "aria-hidden": "true",
228
+ viewBox: "0 0 24 24",
229
+ width: iconSize[size],
230
+ children: /* @__PURE__ */ jsx(
231
+ "path",
232
+ {
233
+ fill: errorText ? ColorBaseDestructive700 : ColorBaseGray800,
234
+ 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"
235
+ }
236
+ )
237
+ }
238
+ ) })
239
+ ] })
240
+ })
241
+ )
242
+ }
243
+ ),
244
+ (helperText || errorText) && /* @__PURE__ */ jsx("div", { className: SelectList_module_default.outerTextContainer, children: /* @__PURE__ */ jsx(
245
+ Typography_default,
246
+ __spreadProps(__spreadValues({
247
+ size: 100,
248
+ color: errorText ? "destructive-primary" : "gray700"
249
+ }, errorText ? errorMessageProps : descriptionProps), {
250
+ children: errorText ? errorText : helperText
251
+ })
252
+ ) })
253
+ ]
254
+ }
255
+ )
256
+ }
257
+ );
258
+ }
259
+ var RichSelectList_default = Object.assign(RichSelectList, {
260
+ Section: RichSelectSection_default,
261
+ Chip: RichSelectChip_default,
262
+ RadioButton: RichSelectRadioButton_default
263
+ });
264
+
265
+ export {
266
+ RichSelectList_default
267
+ };
268
+ //# sourceMappingURL=55HJFY7V.js.map
@@ -0,0 +1 @@
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} 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\";\n\nconst NOOP = () => undefined;\n\nconst iconSize = {\n sm: 20,\n md: 24,\n lg: 24,\n} as const;\n\nexport type RichSelectListProps = Omit<\n RichSelectBoxProps,\n \"accessibilityLabel\"\n> & {\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 /** 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?: 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 onChange,\n onClick = NOOP,\n placeholderText,\n selectTextValue,\n selectedValues: selectedValuesProp,\n defaultSelectedValues: defaultSelectedValuesProp,\n size = \"md\",\n ...richSelectBoxProps\n } = props;\n\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated || disabledProp;\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 selectTextValue([...selectedKeys].map(String)) ?? placeholderText;\n if (selectedKeys === \"all\") return \"all\";\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 >\n <ReactAriaLabel\n data-testid={[dataTestId, \"label\"].filter(Boolean).join(\"-\")}\n className={classNames(\n styles.selectContainer,\n styles.outerTextContainer,\n )}\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 <Typography size={100} color=\"gray700\">\n {label}\n </Typography>\n </ReactAriaLabel>\n <Popover\n ref={overlayHandlerRef}\n disabled={disabled}\n accessibilityLabel={label}\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 accessibilityLabel={label}\n {...richSelectBoxProps}\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(styles.selectBox, styles[size], {\n [styles.unselected]:\n !errorText && selectedKeys !== \"all\" && !selectedKeys.size,\n [styles.selected]:\n !errorText && (selectedKeys === \"all\" || selectedKeys.size),\n [styles.selectError]: errorText,\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 <div className={styles.outerTextContainer}>\n <Typography\n size={100}\n color={errorText ? \"destructive-primary\" : \"gray700\"}\n {...(errorText ? errorMessageProps : descriptionProps)}\n >\n {errorText ? errorText : helperText}\n </Typography>\n </div>\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_3ifov_1\",\"opacityOverlay\":\"_opacityOverlay_3ifov_7\",\"outerTextContainer\":\"_outerTextContainer_3ifov_11\",\"selectWrapper\":\"_selectWrapper_3ifov_16\",\"selectBox\":\"_selectBox_3ifov_21\",\"selectMouseFocusStyling\":\"_selectMouseFocusStyling_3ifov_37\",\"unselected\":\"_unselected_3ifov_42\",\"selected\":\"_selected_3ifov_46\",\"arrowIcon\":\"_arrowIcon_3ifov_50\",\"sm\":\"_sm_3ifov_64\",\"md\":\"_md_3ifov_70\",\"lg\":\"_lg_3ifov_76\",\"selectError\":\"_selectError_3ifov_82\"}"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA,EAEE;AAAA,EAEA;AAAA,OACK;AACP,OAAO,gBAAgB;AAQvB;AAAA,EACE,SAAS;AAAA,EACT,YAAY;AAAA,OACP;AACP,SAAS,0BAA0B;AACnC,SAAS,8BAA8B;;;ACnB6D,IAAO,4BAAQ,EAAC,mBAAkB,4BAA2B,kBAAiB,2BAA0B,sBAAqB,gCAA+B,iBAAgB,2BAA0B,aAAY,uBAAsB,2BAA0B,qCAAoC,cAAa,wBAAuB,YAAW,sBAAqB,aAAY,uBAAsB,MAAK,gBAAe,MAAK,gBAAe,MAAK,gBAAe,eAAc,wBAAuB;;;ADiCjlB,SAAS,gBAAgB;AAuJf,cAqCE,YArCF;AArJV,IAAM,OAAO,MAAM;AAEnB,IAAM,WAAW;AAAA,EACf,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AA2DA,SAAS,eAAe,OAA0C;AAChE,QAgBI,YAfF;AAAA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf,UAAU,eAAe;AAAA,IACzB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,IAChB,uBAAuB;AAAA,IACvB,OAAO;AAAA,EAnHX,IAqHM,IADC,+BACD,IADC;AAAA,IAdH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAIF,QAAM,aAAa,cAAc;AACjC,QAAM,WAAW,CAAC,cAAc;AAGhC,QAAM,oBAAoB,OAA0B,CAAC,CAAC;AAEtD,QAAM,mBAAmB;AAAA,IACvB,MAAM,iBAAiB,kBAAkB;AAAA,IACzC,CAAC,kBAAkB;AAAA,EACrB;AACA,QAAM,sBAAsB;AAAA,IAC1B,MAAM,iBAAiB,2BAA2B,oBAAI,IAAI,CAAC;AAAA,IAC3D,CAAC,yBAAyB;AAAA,EAC5B;AACA,QAAM,CAAC,cAAc,eAAe,IAAI;AAAA,IACtC;AAAA;AAAA,IACA;AAAA,IACA,CAAC,UAAU;AAxIf,UAAAA,KAAA;AAyIM,YAAM,SAAS,UAAU,QAAQ,QAAQ,CAAC,GAAG,KAAK,EAAE,IAAI,MAAM;AAC9D,eAAS,MAAM;AACf,UAAI,CAAC;AAAU,eAAAA,MAAA,kBAAkB,SAAQ,UAA1B,wBAAAA;AAAA,IACjB;AAAA,EACF;AAEA,QAAM,oBAAoB,QAAQ,MAAM;AA/I1C,QAAAA;AAgJI,QAAI;AACF,cAAOA,MAAA,gBAAgB,CAAC,GAAG,YAAY,EAAE,IAAI,MAAM,CAAC,MAA7C,OAAAA,MAAkD;AAC3D,QAAI,iBAAiB;AAAO,aAAO;AACnC,QAAI,aAAa;AAAM,aAAO,GAAG,aAAa;AAC9C,WAAO;AAAA,EACT,GAAG,CAAC,iBAAiB,cAAc,eAAe,CAAC;AAEnD,QAAM,WAAW,OAAuB,IAAI;AAC5C,QAAM,EAAE,YAAY,YAAY,kBAAkB,kBAAkB,IAClE,SAAS;AAAA,IACP;AAAA;AAAA,IACA,aAAa;AAAA,IACb,cAAc;AAAA,EAChB,CAAC;AAEH,SACE;AAAA,IAAC;AAAA;AAAA,MACC,QAAQ;AAAA,QACN,CAAC,sBAAsB,EAAE,WAAW,KAAK,CAAC;AAAA,QAC1C,CAAC,eAAe,EAAE,SAAS,WAAW,SAAY,EAAE,CAAC;AAAA;AAAA,MACvD;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACC,WAAW,WAAW,0BAAO,iBAAiB;AAAA,YAC5C,CAAC,0BAAO,cAAc,GAAG;AAAA,UAC3B,CAAC;AAAA,UAED;AAAA;AAAA,cAAC;AAAA;AAAA,gBACC,eAAa,CAAC,YAAY,OAAO,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,gBAC3D,WAAW;AAAA,kBACT,0BAAO;AAAA,kBACP,0BAAO;AAAA,gBACT;AAAA,iBACI,aANL;AAAA,gBAOC,SAAS,MAAM;AAlLzB,sBAAAA;AAmLY,sBAAI;AAAU;AACd,mBAAAA,MAAA,SAAS,YAAT,gBAAAA,IAAkB;AAClB,yCAAuB,UAAU;AAAA,gBACnC;AAAA,gBAEA,8BAAC,sBAAW,MAAM,KAAK,OAAM,WAC1B,iBACH;AAAA;AAAA,YACF;AAAA,YACA;AAAA,cAAC;AAAA;AAAA,gBACC,KAAK;AAAA,gBACL;AAAA,gBACA,oBAAoB;AAAA,gBACpB;AAAA;AAAA,kBAEE;AAAA,oBAAC;AAAA;AAAA,sBACC,SAAS,WAAW,SAAY;AAAA,sBAChC,2BACE,WAAW,SAAY,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE;AAAA,sBAGzD;AAAA,wBAAC;AAAA;AAAA,0BACC;AAAA,0BACA,gBAAgB;AAAA,0BAChB,uBAAuB;AAAA,0BACvB,UAAU,CAAC,aAAa,gBAAgB,IAAI,IAAI,QAAQ,CAAC;AAAA,0BACzD,oBAAoB;AAAA,2BAChB,qBANL;AAAA,0BAQE;AAAA;AAAA,sBACH;AAAA;AAAA,kBACF;AAAA;AAAA,gBAGF;AAAA,kBAAC;AAAA;AAAA,oBACC,eAAa;AAAA,oBACb;AAAA,oBACA;AAAA,oBACA,UAAU,SAAS,OAAO,OAAO;AAAA,qBAC7B,aALL;AAAA,oBAMC,KAAK;AAAA,oBAEL,+BAAC,SAAI,WAAW,0BAAO,eACrB;AAAA;AAAA,wBAAC;AAAA;AAAA,0BACC,WAAW,WAAW,0BAAO,WAAW,0BAAO,IAAI,GAAG;AAAA,4BACpD,CAAC,0BAAO,UAAU,GAChB,CAAC,aAAa,iBAAiB,SAAS,CAAC,aAAa;AAAA,4BACxD,CAAC,0BAAO,QAAQ,GACd,CAAC,cAAc,iBAAiB,SAAS,aAAa;AAAA,4BACxD,CAAC,0BAAO,WAAW,GAAG;AAAA,0BACxB,CAAC;AAAA,0BAEA;AAAA;AAAA,sBACH;AAAA,sBACA,oBAAC,SAAI,WAAW,0BAAO,WACrB;AAAA,wBAAC;AAAA;AAAA,0BACC,WAAU;AAAA,0BACV,eAAY;AAAA,0BACZ,SAAQ;AAAA,0BACR,OAAO,SAAS,IAAI;AAAA,0BAEpB;AAAA,4BAAC;AAAA;AAAA,8BACC,MACE,YAAY,0BAA0B;AAAA,8BAExC,GAAE;AAAA;AAAA,0BACJ;AAAA;AAAA,sBACF,GACF;AAAA,uBACF;AAAA;AAAA,gBACF;AAAA;AAAA,YACF;AAAA,aACE,cAAc,cACd,oBAAC,SAAI,WAAW,0BAAO,oBACrB;AAAA,cAAC;AAAA;AAAA,gBACC,MAAM;AAAA,gBACN,OAAO,YAAY,wBAAwB;AAAA,iBACtC,YAAY,oBAAoB,mBAHtC;AAAA,gBAKE,sBAAY,YAAY;AAAA;AAAA,YAC3B,GACF;AAAA;AAAA;AAAA,MAEJ;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,yBAAQ,OAAO,OAAO,gBAAgB;AAAA,EAC3C,SAAS;AAAA,EACT,MAAM;AAAA,EACN,aAAa;AACf,CAAC;","names":["_a"]}
@@ -226,4 +226,4 @@ var Box_default = Box;
226
226
 
227
227
 
228
228
  exports.Box_default = Box_default;
229
- //# sourceMappingURL=CY6YL5T4.cjs.map
229
+ //# sourceMappingURL=5SMR5MWY.cjs.map
@@ -0,0 +1,210 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _PBOQIXCBcjs = require('./PBOQIXCB.cjs');
4
+
5
+
6
+ var _RAVU4WEOcjs = require('./RAVU4WEO.cjs');
7
+
8
+
9
+ var _3TXXNWWAcjs = require('./3TXXNWWA.cjs');
10
+
11
+
12
+ var _FMSI35YScjs = require('./FMSI35YS.cjs');
13
+
14
+
15
+ var _2RCQTGOZcjs = require('./2RCQTGOZ.cjs');
16
+
17
+
18
+ var _NDJRETMMcjs = require('./NDJRETMM.cjs');
19
+
20
+
21
+
22
+ var _GYI2PBXYcjs = require('./GYI2PBXY.cjs');
23
+
24
+
25
+ var _5SMR5MWYcjs = require('./5SMR5MWY.cjs');
26
+
27
+ // src/RichSelect/RichSelectBox.tsx
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+ var _react = require('react');
36
+ var _reactariacomponents = require('react-aria-components');
37
+ var _utils = require('@react-stately/utils');
38
+ var _jsxruntime = require('react/jsx-runtime');
39
+ function isString(val) {
40
+ return typeof val === "string";
41
+ }
42
+ function isEqualSelection(set1, set2) {
43
+ if (set1 === set2)
44
+ return true;
45
+ if (!set1 && !set2)
46
+ return true;
47
+ if (!set1 || !set2)
48
+ return false;
49
+ if (isString(set1))
50
+ return set1 === set2;
51
+ if (isString(set2))
52
+ return false;
53
+ if (set1.size !== set2.size)
54
+ return false;
55
+ for (const item of set1) {
56
+ if (!set2.has(item))
57
+ return false;
58
+ }
59
+ return true;
60
+ }
61
+ function convertSelection(selection, defaultValue) {
62
+ if (!selection)
63
+ return defaultValue;
64
+ if (selection === "all")
65
+ return "all";
66
+ return new Set(selection);
67
+ }
68
+ var RichSelectBoxContext = _react.createContext.call(void 0, {});
69
+ var RichSelectBox = _react.forwardRef.call(void 0,
70
+ function RichSelectBox2(props, ref) {
71
+ const {
72
+ accessibilityLabel,
73
+ autosave,
74
+ children,
75
+ "data-testid": dataTestId,
76
+ multiple = false,
77
+ onChange,
78
+ primaryButtonText,
79
+ primaryButtonAccessibilityLabel,
80
+ secondaryButtonText,
81
+ secondaryButtonAccessibilityLabel,
82
+ selectedValues: selectedValuesProp,
83
+ defaultSelectedValues: defaultSelectedValuesProp
84
+ } = props;
85
+ const selectedKeysProp = _react.useMemo.call(void 0,
86
+ () => convertSelection(selectedValuesProp),
87
+ [selectedValuesProp]
88
+ );
89
+ const defaultSelectedKeys = _react.useMemo.call(void 0,
90
+ () => convertSelection(defaultSelectedValuesProp, /* @__PURE__ */ new Set()),
91
+ [defaultSelectedValuesProp]
92
+ );
93
+ const [selectedKeys, setSelectedKeys] = _utils.useControlledState.call(void 0,
94
+ selectedKeysProp,
95
+ // 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
96
+ defaultSelectedKeys,
97
+ (value) => {
98
+ if (isEqualSelection(value, selectedKeys))
99
+ return;
100
+ if (value === "all")
101
+ return onChange("all");
102
+ onChange([...value].map(String));
103
+ }
104
+ );
105
+ const [stagedKeys, setStagedKeys] = _react.useState.call(void 0,
106
+ selectedKeys
107
+ );
108
+ const saveChanges = () => setSelectedKeys(stagedKeys);
109
+ const clearChanges = () => setStagedKeys(/* @__PURE__ */ new Set());
110
+ const stageChanges = (selectedValues) => {
111
+ setStagedKeys(selectedValues);
112
+ if (autosave)
113
+ setSelectedKeys(selectedValues);
114
+ };
115
+ const [disabledKeysComposed, setDisabledKeysComposed] = _react.useState.call(void 0,
116
+ /* @__PURE__ */ new Set()
117
+ );
118
+ const disableKey = _react.useCallback.call(void 0, (key, _disabled) => {
119
+ setDisabledKeysComposed((keys) => {
120
+ if (keys.has(key) === _disabled)
121
+ return keys;
122
+ _disabled ? keys.add(key) : keys.delete(key);
123
+ return new Set(keys);
124
+ });
125
+ }, []);
126
+ const { autoFocus } = _react.useContext.call(void 0, RichSelectBoxContext);
127
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _GYI2PBXYcjs.RichSelectItemContext.Provider, { value: { disableKey }, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _5SMR5MWYcjs.Box_default, { children: [
128
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
129
+ _reactariacomponents.ListBox,
130
+ {
131
+ ref,
132
+ "aria-label": accessibilityLabel,
133
+ autoFocus,
134
+ selectionMode: multiple ? "multiple" : "single",
135
+ selectionBehavior: multiple ? "toggle" : "replace",
136
+ shouldFocusWrap: true,
137
+ orientation: "horizontal",
138
+ selectedKeys: stagedKeys,
139
+ onSelectionChange: stageChanges,
140
+ disabledKeys: disabledKeysComposed,
141
+ className: _GYI2PBXYcjs.RichSelect_module_default.richSelectBox,
142
+ children
143
+ }
144
+ ),
145
+ !autosave && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
146
+ _5SMR5MWYcjs.Box_default,
147
+ {
148
+ backgroundColor: "white",
149
+ display: "flex",
150
+ direction: "column",
151
+ gap: 5,
152
+ marginTop: 5,
153
+ justifyContent: "end",
154
+ position: "sticky",
155
+ dangerouslySetInlineStyle: {
156
+ __style: {
157
+ bottom: 0
158
+ }
159
+ },
160
+ children: [
161
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _5SMR5MWYcjs.Box_default, { flex: "grow", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _3TXXNWWAcjs.Divider, {}) }),
162
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
163
+ _5SMR5MWYcjs.Box_default,
164
+ {
165
+ paddingY: 5,
166
+ marginTop: -5,
167
+ display: "flex",
168
+ justifyContent: "end",
169
+ children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _PBOQIXCBcjs.ButtonGroup_default, { orientation: "horizontal", children: [
170
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
171
+ _RAVU4WEOcjs.Button_default,
172
+ {
173
+ onClick: clearChanges,
174
+ color: "secondary",
175
+ text: secondaryButtonText,
176
+ accessibilityLabel: secondaryButtonAccessibilityLabel,
177
+ "data-testid": [dataTestId, "secondary-button"].filter(Boolean).join("-")
178
+ }
179
+ ),
180
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
181
+ _RAVU4WEOcjs.Button_default,
182
+ {
183
+ onClick: saveChanges,
184
+ text: primaryButtonText,
185
+ accessibilityLabel: primaryButtonAccessibilityLabel,
186
+ color: "primary",
187
+ "data-testid": [dataTestId, "primary-button"].filter(Boolean).join("-")
188
+ }
189
+ )
190
+ ] })
191
+ }
192
+ )
193
+ ]
194
+ }
195
+ )
196
+ ] }) });
197
+ }
198
+ );
199
+ var RichSelectBox_default = Object.assign(RichSelectBox, {
200
+ Section: _FMSI35YScjs.RichSelectSection_default,
201
+ Chip: _NDJRETMMcjs.RichSelectChip_default,
202
+ RadioButton: _2RCQTGOZcjs.RichSelectRadioButton_default
203
+ });
204
+
205
+
206
+
207
+
208
+
209
+ exports.convertSelection = convertSelection; exports.RichSelectBoxContext = RichSelectBoxContext; exports.RichSelectBox_default = RichSelectBox_default;
210
+ //# sourceMappingURL=5TKLFG5Y.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/RichSelect/RichSelectBox.tsx"],"names":["RichSelectBox"],"mappings":"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","sourcesContent":["import React, {\n forwardRef,\n type ReactElement,\n useContext,\n useState,\n useCallback,\n createContext,\n useMemo,\n} from \"react\";\nimport { ListBox as ReactAriaListBox } from \"react-aria-components\";\nimport { type Key } from \"react-aria\";\nimport { type Selection } from \"react-stately\";\nimport { useControlledState } from \"@react-stately/utils\";\nimport { RichSelectItemContext } from \"./RichSelectItem\";\nimport ButtonGroup from \"../ButtonGroup/ButtonGroup\";\nimport Button from \"../Button/Button\";\nimport styles from \"./RichSelect.module.css\";\nimport Box from \"../Box/Box\";\nimport Divider from \"../Divider/Divider\";\nimport RichSelectSection from \"./RichSelectSection\";\nimport RichSelectChip from \"./RichSelectChip\";\nimport RichSelectRadioButton from \"./RichSelectRadioButton\";\n\ntype RichSelectChild =\n | ReactElement<typeof RichSelectChip>\n | ReactElement<typeof RichSelectRadioButton>\n | ReactElement<typeof RichSelectSection>;\n\nfunction isString(val: unknown): val is string {\n return typeof val === \"string\";\n}\n\nfunction isEqualSelection(set1?: Selection, set2?: Selection): boolean {\n if (set1 === set2) return true;\n if (!set1 && !set2) return true;\n if (!set1 || !set2) return false;\n if (isString(set1)) return set1 === set2;\n if (isString(set2)) return false;\n if (set1.size !== set2.size) return false;\n for (const item of set1) {\n if (!set2.has(item)) return false;\n }\n return true;\n}\n\nexport function convertSelection(\n selection: \"all\" | Iterable<Key> | undefined,\n defaultValue?: \"all\" | Set<Key>,\n): \"all\" | Set<Key> | undefined {\n if (!selection) return defaultValue;\n if (selection === \"all\") return \"all\";\n return new Set(selection);\n}\n\nexport type RichSelectBoxProps = {\n /** aria-label for the list box */\n accessibilityLabel: string;\n /** Automatically saves changes when true, shows save/clear buttons when not true */\n autosave?: boolean;\n /** Test id for the list box element */\n \"data-testid\"?: string;\n /** One or more RichSelectList.<Chip|RadioButton|Section|...> components. */\n children: RichSelectChild | RichSelectChild[];\n /** Default selected values */\n defaultSelectedValues?: Set<Key> | string[] | \"all\";\n /** Enables multiple selection (multiselect) */\n multiple?: boolean;\n /** The callback to be called when options are selected / committed */\n onChange: (selectedValues: string[] | \"all\") => void;\n /** Text for primary button (Save). Required: string must be translated */\n primaryButtonText: string;\n /** accessibilityLabel for primary Button component (Save). Required: string must be translated */\n primaryButtonAccessibilityLabel: string;\n /** Text for primary button (Clear). Required: string must be translated */\n secondaryButtonText: string;\n /** accessibilityLabel for secondary Button component (Clear). Required: string must be translated */\n secondaryButtonAccessibilityLabel: string;\n /** Value of the currently selected options */\n selectedValues?: Set<Key> | string[] | \"all\";\n};\n\ntype RichSelectBoxContextType = {\n /** Automatically focuses RichSelectBox on mount when enabled */\n autoFocus?: boolean;\n};\nexport const RichSelectBoxContext = createContext<RichSelectBoxContextType>({});\n\n/**\n * [RichSelectBox](https://cambly-syntax.vercel.app/?path=/docs/components-richselectbox--docs) is an element that allows users to select one or multiple options from a list.\n *\n * Example Usage:\n ```\n <RichSelectBox\n label=\"My Label\"\n multiple\n onChange={() => { ... }}\n primaryButtonText=\"Save\"\n primaryButtonAccessibilityLabel=\"Save\"\n secondaryButtonText=\"Clear\"\n secondaryButtonAccessibilityLabel=\"Clear\"\n >\n <RichSelectBox.Section label=\"Cities\">\n <RichSelectBox.Chip label=\"San Francisco\" value=\"sf\" />\n <RichSelectBox.Chip label=\"New York\" value=\"ny\" disabled />\n <RichSelectBox.Chip label=\"Tulsa\" value=\"tulsa\" />\n <RichSelectBox.Chip label=\"Chicago\" value=\"chicago\" disabled />\n </RichSelectBox.Section>\n </RichSelectBox>\n ```\n */\nconst RichSelectBox = forwardRef<HTMLDivElement, RichSelectBoxProps>(\n function RichSelectBox(props, ref): ReactElement {\n const {\n accessibilityLabel,\n autosave,\n children,\n \"data-testid\": dataTestId,\n multiple = false,\n onChange,\n primaryButtonText,\n primaryButtonAccessibilityLabel,\n secondaryButtonText,\n secondaryButtonAccessibilityLabel,\n selectedValues: selectedValuesProp,\n defaultSelectedValues: defaultSelectedValuesProp,\n } = props;\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 if (isEqualSelection(value, selectedKeys)) return;\n // Notify parent about the changes\n if (value === \"all\") return onChange(\"all\");\n onChange([...value].map(String));\n },\n );\n const [stagedKeys, setStagedKeys] = useState<Set<Key> | \"all\">(\n selectedKeys,\n );\n\n const saveChanges = () => setSelectedKeys(stagedKeys);\n const clearChanges = () => setStagedKeys(new Set());\n const stageChanges = (selectedValues: Selection) => {\n setStagedKeys(selectedValues);\n if (autosave) setSelectedKeys(selectedValues);\n };\n\n // inject method into context so children can disable themselves\n // by adding `disabled` attribute (through RichSelectItem)\n const [disabledKeysComposed, setDisabledKeysComposed] = useState<Set<Key>>(\n new Set(),\n );\n const disableKey = useCallback((key: Key, _disabled: boolean) => {\n setDisabledKeysComposed((keys) => {\n if (keys.has(key) === _disabled) return keys;\n _disabled ? keys.add(key) : keys.delete(key);\n return new Set(keys);\n });\n }, []);\n\n // higher level context for autoFocus behavior (parent sets when rendering RichSelectBox in overlay)\n const { autoFocus } = useContext(RichSelectBoxContext);\n\n return (\n <RichSelectItemContext.Provider value={{ disableKey }}>\n <Box>\n <ReactAriaListBox\n ref={ref}\n aria-label={accessibilityLabel}\n autoFocus={autoFocus}\n selectionMode={multiple ? \"multiple\" : \"single\"}\n selectionBehavior={multiple ? \"toggle\" : \"replace\"}\n shouldFocusWrap={true}\n orientation=\"horizontal\"\n selectedKeys={stagedKeys}\n onSelectionChange={stageChanges}\n disabledKeys={disabledKeysComposed}\n className={styles.richSelectBox}\n >\n {children}\n </ReactAriaListBox>\n {!autosave && (\n <Box\n backgroundColor=\"white\"\n display=\"flex\"\n direction=\"column\"\n gap={5}\n marginTop={5}\n justifyContent=\"end\"\n position=\"sticky\"\n dangerouslySetInlineStyle={{\n __style: {\n bottom: 0,\n },\n }}\n >\n <Box flex=\"grow\">\n <Divider />\n </Box>\n <Box\n paddingY={5}\n marginTop={-5}\n display=\"flex\"\n justifyContent=\"end\"\n >\n <ButtonGroup orientation=\"horizontal\">\n <Button\n onClick={clearChanges}\n color={\"secondary\"}\n text={secondaryButtonText}\n accessibilityLabel={secondaryButtonAccessibilityLabel}\n data-testid={[dataTestId, \"secondary-button\"]\n .filter(Boolean)\n .join(\"-\")}\n />\n <Button\n onClick={saveChanges}\n text={primaryButtonText}\n accessibilityLabel={primaryButtonAccessibilityLabel}\n color=\"primary\"\n data-testid={[dataTestId, \"primary-button\"]\n .filter(Boolean)\n .join(\"-\")}\n />\n </ButtonGroup>\n </Box>\n </Box>\n )}\n </Box>\n </RichSelectItemContext.Provider>\n );\n },\n);\n\nexport default Object.assign(RichSelectBox, {\n Section: RichSelectSection,\n Chip: RichSelectChip,\n RadioButton: RichSelectRadioButton,\n});\n"]}
@@ -0,0 +1,7 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// css-module:../Box/padding.module.css#css-module
2
+ var padding_module_default = { "paddingX0": "_paddingX0_1aqye_2", "paddingX1": "_paddingX1_1aqye_7", "paddingX2": "_paddingX2_1aqye_12", "paddingX3": "_paddingX3_1aqye_17", "paddingX4": "_paddingX4_1aqye_22", "paddingX5": "_paddingX5_1aqye_27", "paddingX6": "_paddingX6_1aqye_32", "paddingX7": "_paddingX7_1aqye_37", "paddingX8": "_paddingX8_1aqye_42", "paddingX9": "_paddingX9_1aqye_47", "paddingX10": "_paddingX10_1aqye_52", "paddingX11": "_paddingX11_1aqye_57", "paddingX12": "_paddingX12_1aqye_62", "paddingY0": "_paddingY0_1aqye_67", "paddingY1": "_paddingY1_1aqye_72", "paddingY2": "_paddingY2_1aqye_77", "paddingY3": "_paddingY3_1aqye_82", "paddingY4": "_paddingY4_1aqye_87", "paddingY5": "_paddingY5_1aqye_92", "paddingY6": "_paddingY6_1aqye_97", "paddingY7": "_paddingY7_1aqye_102", "paddingY8": "_paddingY8_1aqye_107", "paddingY9": "_paddingY9_1aqye_112", "paddingY10": "_paddingY10_1aqye_117", "paddingY11": "_paddingY11_1aqye_122", "paddingY12": "_paddingY12_1aqye_127", "paddingX0Small": "_paddingX0Small_1aqye_134", "paddingX1Small": "_paddingX1Small_1aqye_139", "paddingX2Small": "_paddingX2Small_1aqye_144", "paddingX3Small": "_paddingX3Small_1aqye_149", "paddingX4Small": "_paddingX4Small_1aqye_154", "paddingX5Small": "_paddingX5Small_1aqye_159", "paddingX6Small": "_paddingX6Small_1aqye_164", "paddingX7Small": "_paddingX7Small_1aqye_169", "paddingX8Small": "_paddingX8Small_1aqye_174", "paddingX9Small": "_paddingX9Small_1aqye_179", "paddingX10Small": "_paddingX10Small_1aqye_184", "paddingX11Small": "_paddingX11Small_1aqye_189", "paddingX12Small": "_paddingX12Small_1aqye_194", "paddingY0Small": "_paddingY0Small_1aqye_199", "paddingY1Small": "_paddingY1Small_1aqye_204", "paddingY2Small": "_paddingY2Small_1aqye_209", "paddingY3Small": "_paddingY3Small_1aqye_214", "paddingY4Small": "_paddingY4Small_1aqye_219", "paddingY5Small": "_paddingY5Small_1aqye_224", "paddingY6Small": "_paddingY6Small_1aqye_229", "paddingY7Small": "_paddingY7Small_1aqye_234", "paddingY8Small": "_paddingY8Small_1aqye_239", "paddingY9Small": "_paddingY9Small_1aqye_244", "paddingY10Small": "_paddingY10Small_1aqye_249", "paddingY11Small": "_paddingY11Small_1aqye_254", "paddingY12Small": "_paddingY12Small_1aqye_259", "paddingX0Large": "_paddingX0Large_1aqye_267", "paddingX1Large": "_paddingX1Large_1aqye_272", "paddingX2Large": "_paddingX2Large_1aqye_277", "paddingX3Large": "_paddingX3Large_1aqye_282", "paddingX4Large": "_paddingX4Large_1aqye_287", "paddingX5Large": "_paddingX5Large_1aqye_292", "paddingX6Large": "_paddingX6Large_1aqye_297", "paddingX7Large": "_paddingX7Large_1aqye_302", "paddingX8Large": "_paddingX8Large_1aqye_307", "paddingX9Large": "_paddingX9Large_1aqye_312", "paddingX10Large": "_paddingX10Large_1aqye_317", "paddingX11Large": "_paddingX11Large_1aqye_322", "paddingX12Large": "_paddingX12Large_1aqye_327", "paddingY0Large": "_paddingY0Large_1aqye_332", "paddingY1Large": "_paddingY1Large_1aqye_337", "paddingY2Large": "_paddingY2Large_1aqye_342", "paddingY3Large": "_paddingY3Large_1aqye_347", "paddingY4Large": "_paddingY4Large_1aqye_352", "paddingY5Large": "_paddingY5Large_1aqye_357", "paddingY6Large": "_paddingY6Large_1aqye_362", "paddingY7Large": "_paddingY7Large_1aqye_367", "paddingY8Large": "_paddingY8Large_1aqye_372", "paddingY9Large": "_paddingY9Large_1aqye_377", "paddingY10Large": "_paddingY10Large_1aqye_382", "paddingY11Large": "_paddingY11Large_1aqye_387", "paddingY12Large": "_paddingY12Large_1aqye_392" };
3
+
4
+
5
+
6
+ exports.padding_module_default = padding_module_default;
7
+ //# sourceMappingURL=5WNFAQGY.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["css-module:../Box/padding.module.css#css-module"],"names":[],"mappings":";AAA0F,IAAO,yBAAQ,EAAC,aAAY,sBAAqB,aAAY,sBAAqB,aAAY,uBAAsB,aAAY,uBAAsB,aAAY,uBAAsB,aAAY,uBAAsB,aAAY,uBAAsB,aAAY,uBAAsB,aAAY,uBAAsB,aAAY,uBAAsB,cAAa,wBAAuB,cAAa,wBAAuB,cAAa,wBAAuB,aAAY,uBAAsB,aAAY,uBAAsB,aAAY,uBAAsB,aAAY,uBAAsB,aAAY,uBAAsB,aAAY,uBAAsB,aAAY,uBAAsB,aAAY,wBAAuB,aAAY,wBAAuB,aAAY,wBAAuB,cAAa,yBAAwB,cAAa,yBAAwB,cAAa,yBAAwB,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,mBAAkB,8BAA6B,mBAAkB,8BAA6B,mBAAkB,8BAA6B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,mBAAkB,8BAA6B,mBAAkB,8BAA6B,mBAAkB,8BAA6B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,mBAAkB,8BAA6B,mBAAkB,8BAA6B,mBAAkB,8BAA6B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,mBAAkB,8BAA6B,mBAAkB,8BAA6B,mBAAkB,6BAA4B","sourcesContent":["import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/Box/padding.module.css\"; export default {\"paddingX0\":\"_paddingX0_1aqye_2\",\"paddingX1\":\"_paddingX1_1aqye_7\",\"paddingX2\":\"_paddingX2_1aqye_12\",\"paddingX3\":\"_paddingX3_1aqye_17\",\"paddingX4\":\"_paddingX4_1aqye_22\",\"paddingX5\":\"_paddingX5_1aqye_27\",\"paddingX6\":\"_paddingX6_1aqye_32\",\"paddingX7\":\"_paddingX7_1aqye_37\",\"paddingX8\":\"_paddingX8_1aqye_42\",\"paddingX9\":\"_paddingX9_1aqye_47\",\"paddingX10\":\"_paddingX10_1aqye_52\",\"paddingX11\":\"_paddingX11_1aqye_57\",\"paddingX12\":\"_paddingX12_1aqye_62\",\"paddingY0\":\"_paddingY0_1aqye_67\",\"paddingY1\":\"_paddingY1_1aqye_72\",\"paddingY2\":\"_paddingY2_1aqye_77\",\"paddingY3\":\"_paddingY3_1aqye_82\",\"paddingY4\":\"_paddingY4_1aqye_87\",\"paddingY5\":\"_paddingY5_1aqye_92\",\"paddingY6\":\"_paddingY6_1aqye_97\",\"paddingY7\":\"_paddingY7_1aqye_102\",\"paddingY8\":\"_paddingY8_1aqye_107\",\"paddingY9\":\"_paddingY9_1aqye_112\",\"paddingY10\":\"_paddingY10_1aqye_117\",\"paddingY11\":\"_paddingY11_1aqye_122\",\"paddingY12\":\"_paddingY12_1aqye_127\",\"paddingX0Small\":\"_paddingX0Small_1aqye_134\",\"paddingX1Small\":\"_paddingX1Small_1aqye_139\",\"paddingX2Small\":\"_paddingX2Small_1aqye_144\",\"paddingX3Small\":\"_paddingX3Small_1aqye_149\",\"paddingX4Small\":\"_paddingX4Small_1aqye_154\",\"paddingX5Small\":\"_paddingX5Small_1aqye_159\",\"paddingX6Small\":\"_paddingX6Small_1aqye_164\",\"paddingX7Small\":\"_paddingX7Small_1aqye_169\",\"paddingX8Small\":\"_paddingX8Small_1aqye_174\",\"paddingX9Small\":\"_paddingX9Small_1aqye_179\",\"paddingX10Small\":\"_paddingX10Small_1aqye_184\",\"paddingX11Small\":\"_paddingX11Small_1aqye_189\",\"paddingX12Small\":\"_paddingX12Small_1aqye_194\",\"paddingY0Small\":\"_paddingY0Small_1aqye_199\",\"paddingY1Small\":\"_paddingY1Small_1aqye_204\",\"paddingY2Small\":\"_paddingY2Small_1aqye_209\",\"paddingY3Small\":\"_paddingY3Small_1aqye_214\",\"paddingY4Small\":\"_paddingY4Small_1aqye_219\",\"paddingY5Small\":\"_paddingY5Small_1aqye_224\",\"paddingY6Small\":\"_paddingY6Small_1aqye_229\",\"paddingY7Small\":\"_paddingY7Small_1aqye_234\",\"paddingY8Small\":\"_paddingY8Small_1aqye_239\",\"paddingY9Small\":\"_paddingY9Small_1aqye_244\",\"paddingY10Small\":\"_paddingY10Small_1aqye_249\",\"paddingY11Small\":\"_paddingY11Small_1aqye_254\",\"paddingY12Small\":\"_paddingY12Small_1aqye_259\",\"paddingX0Large\":\"_paddingX0Large_1aqye_267\",\"paddingX1Large\":\"_paddingX1Large_1aqye_272\",\"paddingX2Large\":\"_paddingX2Large_1aqye_277\",\"paddingX3Large\":\"_paddingX3Large_1aqye_282\",\"paddingX4Large\":\"_paddingX4Large_1aqye_287\",\"paddingX5Large\":\"_paddingX5Large_1aqye_292\",\"paddingX6Large\":\"_paddingX6Large_1aqye_297\",\"paddingX7Large\":\"_paddingX7Large_1aqye_302\",\"paddingX8Large\":\"_paddingX8Large_1aqye_307\",\"paddingX9Large\":\"_paddingX9Large_1aqye_312\",\"paddingX10Large\":\"_paddingX10Large_1aqye_317\",\"paddingX11Large\":\"_paddingX11Large_1aqye_322\",\"paddingX12Large\":\"_paddingX12Large_1aqye_327\",\"paddingY0Large\":\"_paddingY0Large_1aqye_332\",\"paddingY1Large\":\"_paddingY1Large_1aqye_337\",\"paddingY2Large\":\"_paddingY2Large_1aqye_342\",\"paddingY3Large\":\"_paddingY3Large_1aqye_347\",\"paddingY4Large\":\"_paddingY4Large_1aqye_352\",\"paddingY5Large\":\"_paddingY5Large_1aqye_357\",\"paddingY6Large\":\"_paddingY6Large_1aqye_362\",\"paddingY7Large\":\"_paddingY7Large_1aqye_367\",\"paddingY8Large\":\"_paddingY8Large_1aqye_372\",\"paddingY9Large\":\"_paddingY9Large_1aqye_377\",\"paddingY10Large\":\"_paddingY10Large_1aqye_382\",\"paddingY11Large\":\"_paddingY11Large_1aqye_387\",\"paddingY12Large\":\"_paddingY12Large_1aqye_392\"}"]}
@@ -0,0 +1,63 @@
1
+ // src/react-aria-utils/useDomRefSyntheticEventBridge.ts
2
+ import { useEffect } from "react";
3
+ var createSyntheticEvent = (event) => {
4
+ let isDefaultPrevented = false;
5
+ let isPropagationStopped = false;
6
+ const preventDefault = () => {
7
+ isDefaultPrevented = true;
8
+ event.preventDefault();
9
+ };
10
+ const stopPropagation = () => {
11
+ isPropagationStopped = true;
12
+ event.stopPropagation();
13
+ };
14
+ return {
15
+ nativeEvent: event,
16
+ currentTarget: event.currentTarget,
17
+ target: event.target,
18
+ bubbles: event.bubbles,
19
+ cancelable: event.cancelable,
20
+ defaultPrevented: event.defaultPrevented,
21
+ eventPhase: event.eventPhase,
22
+ isTrusted: event.isTrusted,
23
+ preventDefault,
24
+ isDefaultPrevented: () => isDefaultPrevented,
25
+ stopPropagation,
26
+ isPropagationStopped: () => isPropagationStopped,
27
+ persist: () => void 0,
28
+ timeStamp: event.timeStamp,
29
+ type: event.type
30
+ };
31
+ };
32
+ var useDomRefSyntheticEventBridge = (props, ref, { enabled = true } = {}) => {
33
+ useEffect(() => {
34
+ if (!enabled)
35
+ return () => void 0;
36
+ if (!ref.current)
37
+ return () => void 0;
38
+ const element = ref.current;
39
+ const cleanups = Object.entries(props).map(
40
+ ([key, value]) => {
41
+ if (!key.startsWith("on"))
42
+ return;
43
+ if (typeof value !== "function")
44
+ return;
45
+ const endsWithCapture = key.endsWith("Capture");
46
+ const eventname = key.slice(2, endsWithCapture ? -7 : void 0).toLowerCase();
47
+ const handler = (evt) => {
48
+ const fn = value;
49
+ fn(createSyntheticEvent(evt));
50
+ };
51
+ const args = [eventname, handler, endsWithCapture];
52
+ element.addEventListener(...args);
53
+ return () => element.removeEventListener(...args);
54
+ }
55
+ );
56
+ return () => cleanups.forEach((cleanup) => cleanup == null ? void 0 : cleanup());
57
+ }, [enabled, props, ref]);
58
+ };
59
+
60
+ export {
61
+ useDomRefSyntheticEventBridge
62
+ };
63
+ //# sourceMappingURL=5ZDZZL2P.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/react-aria-utils/useDomRefSyntheticEventBridge.ts"],"sourcesContent":["import { type SyntheticEvent, useEffect } from \"react\";\n\nconst createSyntheticEvent = <T extends Element, E extends Event>(\n event: E,\n): SyntheticEvent<T, E> => {\n let isDefaultPrevented = false;\n let isPropagationStopped = false;\n const preventDefault = () => {\n isDefaultPrevented = true;\n event.preventDefault();\n };\n const stopPropagation = () => {\n isPropagationStopped = true;\n event.stopPropagation();\n };\n return {\n nativeEvent: event,\n currentTarget: event.currentTarget as EventTarget & T,\n target: event.target as EventTarget & T,\n bubbles: event.bubbles,\n cancelable: event.cancelable,\n defaultPrevented: event.defaultPrevented,\n eventPhase: event.eventPhase,\n isTrusted: event.isTrusted,\n preventDefault,\n isDefaultPrevented: () => isDefaultPrevented,\n stopPropagation,\n isPropagationStopped: () => isPropagationStopped,\n persist: () => undefined,\n timeStamp: event.timeStamp,\n type: event.type,\n };\n};\n\nexport const useDomRefSyntheticEventBridge = <T extends Element>(\n props: Record<string, unknown>,\n ref: React.RefObject<T>,\n { enabled = true }: { enabled?: boolean } = {},\n): void => {\n useEffect(() => {\n if (!enabled) return () => undefined;\n if (!ref.current) return () => undefined;\n const element = ref.current;\n\n const cleanups = Object.entries(props).map<(() => void) | undefined>(\n ([key, value]) => {\n if (!key.startsWith(\"on\")) return;\n if (typeof value !== \"function\") return;\n const endsWithCapture = key.endsWith(\"Capture\");\n const eventname = key\n .slice(2, endsWithCapture ? -7 : undefined)\n .toLowerCase();\n\n const handler = (evt: Event) => {\n const fn = value as (event: SyntheticEvent) => void;\n fn(createSyntheticEvent(evt));\n };\n\n const args: [\n eventname: string,\n handler: EventListenerOrEventListenerObject,\n useCapture?: boolean,\n ] = [eventname, handler, endsWithCapture];\n element.addEventListener(...args);\n return () => element.removeEventListener(...args);\n },\n );\n\n return () => cleanups.forEach((cleanup) => cleanup?.());\n }, [enabled, props, ref]);\n};\n"],"mappings":";AAAA,SAA8B,iBAAiB;AAE/C,IAAM,uBAAuB,CAC3B,UACyB;AACzB,MAAI,qBAAqB;AACzB,MAAI,uBAAuB;AAC3B,QAAM,iBAAiB,MAAM;AAC3B,yBAAqB;AACrB,UAAM,eAAe;AAAA,EACvB;AACA,QAAM,kBAAkB,MAAM;AAC5B,2BAAuB;AACvB,UAAM,gBAAgB;AAAA,EACxB;AACA,SAAO;AAAA,IACL,aAAa;AAAA,IACb,eAAe,MAAM;AAAA,IACrB,QAAQ,MAAM;AAAA,IACd,SAAS,MAAM;AAAA,IACf,YAAY,MAAM;AAAA,IAClB,kBAAkB,MAAM;AAAA,IACxB,YAAY,MAAM;AAAA,IAClB,WAAW,MAAM;AAAA,IACjB;AAAA,IACA,oBAAoB,MAAM;AAAA,IAC1B;AAAA,IACA,sBAAsB,MAAM;AAAA,IAC5B,SAAS,MAAM;AAAA,IACf,WAAW,MAAM;AAAA,IACjB,MAAM,MAAM;AAAA,EACd;AACF;AAEO,IAAM,gCAAgC,CAC3C,OACA,KACA,EAAE,UAAU,KAAK,IAA2B,CAAC,MACpC;AACT,YAAU,MAAM;AACd,QAAI,CAAC;AAAS,aAAO,MAAM;AAC3B,QAAI,CAAC,IAAI;AAAS,aAAO,MAAM;AAC/B,UAAM,UAAU,IAAI;AAEpB,UAAM,WAAW,OAAO,QAAQ,KAAK,EAAE;AAAA,MACrC,CAAC,CAAC,KAAK,KAAK,MAAM;AAChB,YAAI,CAAC,IAAI,WAAW,IAAI;AAAG;AAC3B,YAAI,OAAO,UAAU;AAAY;AACjC,cAAM,kBAAkB,IAAI,SAAS,SAAS;AAC9C,cAAM,YAAY,IACf,MAAM,GAAG,kBAAkB,KAAK,MAAS,EACzC,YAAY;AAEf,cAAM,UAAU,CAAC,QAAe;AAC9B,gBAAM,KAAK;AACX,aAAG,qBAAqB,GAAG,CAAC;AAAA,QAC9B;AAEA,cAAM,OAIF,CAAC,WAAW,SAAS,eAAe;AACxC,gBAAQ,iBAAiB,GAAG,IAAI;AAChC,eAAO,MAAM,QAAQ,oBAAoB,GAAG,IAAI;AAAA,MAClD;AAAA,IACF;AAEA,WAAO,MAAM,SAAS,QAAQ,CAAC,YAAY,oCAAW;AAAA,EACxD,GAAG,CAAC,SAAS,OAAO,GAAG,CAAC;AAC1B;","names":[]}