@cambly/syntax-core 20.6.0 → 21.0.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 (274) hide show
  1. package/dist/Avatar/Avatar.d.ts +1 -1
  2. package/dist/ButtonGroup/ButtonGroup.d.ts +1 -1
  3. package/dist/Checkbox/Checkbox.d.ts +1 -1
  4. package/dist/Heading/Heading.d.ts +1 -1
  5. package/dist/RadioButton/RadioButton.d.ts +1 -1
  6. package/dist/RichSelect/RichSelectBox.d.ts +1 -1
  7. package/dist/RichSelect/RichSelectList.d.ts +1 -1
  8. package/dist/RichSelect/RichSelectList.js +2 -2
  9. package/dist/RichSelect/RichSelectRadioButton.d.ts +1 -1
  10. package/dist/SelectList/SelectList.js +2 -2
  11. package/dist/TapArea/TapArea.d.ts +1 -1
  12. package/dist/Typography/Typography.d.ts +1 -1
  13. package/dist/WordConfetti/WordConfetti.js +1 -1
  14. package/dist/__chunks/{OPDVLDRQ.js → 5R4TON7U.js} +33 -28
  15. package/dist/__chunks/5R4TON7U.js.map +1 -0
  16. package/dist/__chunks/{VF2KL6JX.js → 5ZS464RE.js} +2 -2
  17. package/dist/__chunks/{BMTUKQRY.js → ITEYAPXX.js} +2 -2
  18. package/dist/__chunks/{RWJSEIJ6.js → LL2NUS3X.js} +1 -1
  19. package/dist/__chunks/{RWJSEIJ6.js.map → LL2NUS3X.js.map} +1 -1
  20. package/dist/index.js +4 -4
  21. package/package.json +7 -7
  22. package/dist/Avatar/Avatar.cjs +0 -16
  23. package/dist/Avatar/Avatar.cjs.map +0 -1
  24. package/dist/AvatarGroup/AvatarGroup.cjs +0 -17
  25. package/dist/AvatarGroup/AvatarGroup.cjs.map +0 -1
  26. package/dist/Badge/Badge.cjs +0 -17
  27. package/dist/Badge/Badge.cjs.map +0 -1
  28. package/dist/Box/Box.cjs +0 -14
  29. package/dist/Box/Box.cjs.map +0 -1
  30. package/dist/Button/Button.cjs +0 -25
  31. package/dist/Button/Button.cjs.map +0 -1
  32. package/dist/Button/constants/iconSize.cjs +0 -11
  33. package/dist/Button/constants/iconSize.cjs.map +0 -1
  34. package/dist/Button/constants/loadingIconSize.cjs +0 -9
  35. package/dist/Button/constants/loadingIconSize.cjs.map +0 -1
  36. package/dist/Button/constants/textVariant.cjs +0 -9
  37. package/dist/Button/constants/textVariant.cjs.map +0 -1
  38. package/dist/ButtonGroup/ButtonGroup.cjs +0 -9
  39. package/dist/ButtonGroup/ButtonGroup.cjs.map +0 -1
  40. package/dist/Card/Card.cjs +0 -15
  41. package/dist/Card/Card.cjs.map +0 -1
  42. package/dist/Checkbox/Checkbox.cjs +0 -16
  43. package/dist/Checkbox/Checkbox.cjs.map +0 -1
  44. package/dist/Chip/Chip.cjs +0 -18
  45. package/dist/Chip/Chip.cjs.map +0 -1
  46. package/dist/Dialog/Dialog.cjs +0 -19
  47. package/dist/Dialog/Dialog.cjs.map +0 -1
  48. package/dist/Dialog/ModalDialog.cjs +0 -32
  49. package/dist/Dialog/ModalDialog.cjs.map +0 -1
  50. package/dist/Divider/Divider.cjs +0 -11
  51. package/dist/Divider/Divider.cjs.map +0 -1
  52. package/dist/Heading/Heading.cjs +0 -13
  53. package/dist/Heading/Heading.cjs.map +0 -1
  54. package/dist/Icon/Icon.cjs +0 -11
  55. package/dist/Icon/Icon.cjs.map +0 -1
  56. package/dist/IconButton/IconButton.cjs +0 -22
  57. package/dist/IconButton/IconButton.cjs.map +0 -1
  58. package/dist/IconLinkButton/IconLinkButton.cjs +0 -17
  59. package/dist/IconLinkButton/IconLinkButton.cjs.map +0 -1
  60. package/dist/LinkButton/LinkButton.cjs +0 -21
  61. package/dist/LinkButton/LinkButton.cjs.map +0 -1
  62. package/dist/Modal/FocusTrap.cjs +0 -10
  63. package/dist/Modal/FocusTrap.cjs.map +0 -1
  64. package/dist/Modal/Layer.cjs +0 -15
  65. package/dist/Modal/Layer.cjs.map +0 -1
  66. package/dist/Modal/Modal.cjs +0 -29
  67. package/dist/Modal/Modal.cjs.map +0 -1
  68. package/dist/Modal/StopScroll.cjs +0 -9
  69. package/dist/Modal/StopScroll.cjs.map +0 -1
  70. package/dist/Popover/Popover.cjs +0 -34
  71. package/dist/Popover/Popover.cjs.map +0 -1
  72. package/dist/RadioButton/RadioButton.cjs +0 -20
  73. package/dist/RadioButton/RadioButton.cjs.map +0 -1
  74. package/dist/RichSelect/RichSelectBox.cjs +0 -42
  75. package/dist/RichSelect/RichSelectBox.cjs.map +0 -1
  76. package/dist/RichSelect/RichSelectChip.cjs +0 -20
  77. package/dist/RichSelect/RichSelectChip.cjs.map +0 -1
  78. package/dist/RichSelect/RichSelectItem.cjs +0 -12
  79. package/dist/RichSelect/RichSelectItem.cjs.map +0 -1
  80. package/dist/RichSelect/RichSelectList.cjs +0 -51
  81. package/dist/RichSelect/RichSelectList.cjs.map +0 -1
  82. package/dist/RichSelect/RichSelectRadioButton.cjs +0 -22
  83. package/dist/RichSelect/RichSelectRadioButton.cjs.map +0 -1
  84. package/dist/RichSelect/RichSelectSection.cjs +0 -16
  85. package/dist/RichSelect/RichSelectSection.cjs.map +0 -1
  86. package/dist/SelectList/SelectList.cjs +0 -22
  87. package/dist/SelectList/SelectList.cjs.map +0 -1
  88. package/dist/SelectList/SelectOption.cjs +0 -9
  89. package/dist/SelectList/SelectOption.cjs.map +0 -1
  90. package/dist/TabButton/TabButton.cjs +0 -22
  91. package/dist/TabButton/TabButton.cjs.map +0 -1
  92. package/dist/TabLink/TabLink.cjs +0 -20
  93. package/dist/TabLink/TabLink.cjs.map +0 -1
  94. package/dist/Tabs/TabInternal.cjs +0 -17
  95. package/dist/Tabs/TabInternal.cjs.map +0 -1
  96. package/dist/Tabs/Tabs.cjs +0 -16
  97. package/dist/Tabs/Tabs.cjs.map +0 -1
  98. package/dist/TapArea/TapArea.cjs +0 -11
  99. package/dist/TapArea/TapArea.cjs.map +0 -1
  100. package/dist/TextArea/TextArea.cjs +0 -19
  101. package/dist/TextArea/TextArea.cjs.map +0 -1
  102. package/dist/TextField/TextField.cjs +0 -20
  103. package/dist/TextField/TextField.cjs.map +0 -1
  104. package/dist/ThemeProvider/ThemeProvider.cjs +0 -9
  105. package/dist/ThemeProvider/ThemeProvider.cjs.map +0 -1
  106. package/dist/Tooltip/Tooltip.cjs +0 -24
  107. package/dist/Tooltip/Tooltip.cjs.map +0 -1
  108. package/dist/Typography/Typography.cjs +0 -12
  109. package/dist/Typography/Typography.cjs.map +0 -1
  110. package/dist/WordConfetti/WordConfetti.cjs +0 -17
  111. package/dist/WordConfetti/WordConfetti.cjs.map +0 -1
  112. package/dist/__chunks/2D3DOVVZ.cjs +0 -37
  113. package/dist/__chunks/2D3DOVVZ.cjs.map +0 -1
  114. package/dist/__chunks/2XIVACBM.cjs +0 -9
  115. package/dist/__chunks/2XIVACBM.cjs.map +0 -1
  116. package/dist/__chunks/36JMUQOL.cjs +0 -205
  117. package/dist/__chunks/36JMUQOL.cjs.map +0 -1
  118. package/dist/__chunks/3P2PWHOU.cjs +0 -14
  119. package/dist/__chunks/3P2PWHOU.cjs.map +0 -1
  120. package/dist/__chunks/3UEOKPM2.cjs +0 -136
  121. package/dist/__chunks/3UEOKPM2.cjs.map +0 -1
  122. package/dist/__chunks/3ULBWSHT.cjs +0 -169
  123. package/dist/__chunks/3ULBWSHT.cjs.map +0 -1
  124. package/dist/__chunks/4QUXUGJP.cjs +0 -47
  125. package/dist/__chunks/4QUXUGJP.cjs.map +0 -1
  126. package/dist/__chunks/4TYOP5XM.cjs +0 -64
  127. package/dist/__chunks/4TYOP5XM.cjs.map +0 -1
  128. package/dist/__chunks/4UT6BROB.cjs +0 -141
  129. package/dist/__chunks/4UT6BROB.cjs.map +0 -1
  130. package/dist/__chunks/5JUNB754.cjs +0 -15
  131. package/dist/__chunks/5JUNB754.cjs.map +0 -1
  132. package/dist/__chunks/67K5GWKL.cjs +0 -143
  133. package/dist/__chunks/67K5GWKL.cjs.map +0 -1
  134. package/dist/__chunks/6KSVCCCB.cjs +0 -38
  135. package/dist/__chunks/6KSVCCCB.cjs.map +0 -1
  136. package/dist/__chunks/7DGFMDT7.cjs +0 -9
  137. package/dist/__chunks/7DGFMDT7.cjs.map +0 -1
  138. package/dist/__chunks/7KH536I2.cjs +0 -32
  139. package/dist/__chunks/7KH536I2.cjs.map +0 -1
  140. package/dist/__chunks/A3B4YKGN.cjs +0 -28
  141. package/dist/__chunks/A3B4YKGN.cjs.map +0 -1
  142. package/dist/__chunks/AFOQ6JVB.cjs +0 -211
  143. package/dist/__chunks/AFOQ6JVB.cjs.map +0 -1
  144. package/dist/__chunks/AHM6QK6U.cjs +0 -133
  145. package/dist/__chunks/AHM6QK6U.cjs.map +0 -1
  146. package/dist/__chunks/AVJQ2E2G.cjs +0 -37
  147. package/dist/__chunks/AVJQ2E2G.cjs.map +0 -1
  148. package/dist/__chunks/B3JRSVBD.cjs +0 -35
  149. package/dist/__chunks/B3JRSVBD.cjs.map +0 -1
  150. package/dist/__chunks/BVNFNAUO.cjs +0 -149
  151. package/dist/__chunks/BVNFNAUO.cjs.map +0 -1
  152. package/dist/__chunks/CHDS4D44.cjs +0 -9
  153. package/dist/__chunks/CHDS4D44.cjs.map +0 -1
  154. package/dist/__chunks/DDWGNNLC.cjs +0 -101
  155. package/dist/__chunks/DDWGNNLC.cjs.map +0 -1
  156. package/dist/__chunks/DHXH7ZSG.cjs +0 -130
  157. package/dist/__chunks/DHXH7ZSG.cjs.map +0 -1
  158. package/dist/__chunks/E5P6WRJD.cjs +0 -32
  159. package/dist/__chunks/E5P6WRJD.cjs.map +0 -1
  160. package/dist/__chunks/F3SUJGZL.cjs +0 -56
  161. package/dist/__chunks/F3SUJGZL.cjs.map +0 -1
  162. package/dist/__chunks/FXLAQKAB.cjs +0 -67
  163. package/dist/__chunks/FXLAQKAB.cjs.map +0 -1
  164. package/dist/__chunks/FZLDJPVT.cjs +0 -65
  165. package/dist/__chunks/FZLDJPVT.cjs.map +0 -1
  166. package/dist/__chunks/GEXK47GR.cjs +0 -42
  167. package/dist/__chunks/GEXK47GR.cjs.map +0 -1
  168. package/dist/__chunks/GQUBAKFO.cjs +0 -139
  169. package/dist/__chunks/GQUBAKFO.cjs.map +0 -1
  170. package/dist/__chunks/HRTHCEIF.cjs +0 -37
  171. package/dist/__chunks/HRTHCEIF.cjs.map +0 -1
  172. package/dist/__chunks/HUIHS6RN.cjs +0 -19
  173. package/dist/__chunks/HUIHS6RN.cjs.map +0 -1
  174. package/dist/__chunks/IJHKE2Y3.cjs +0 -144
  175. package/dist/__chunks/IJHKE2Y3.cjs.map +0 -1
  176. package/dist/__chunks/IL22HCBF.cjs +0 -9
  177. package/dist/__chunks/IL22HCBF.cjs.map +0 -1
  178. package/dist/__chunks/J2QDHB6I.cjs +0 -34
  179. package/dist/__chunks/J2QDHB6I.cjs.map +0 -1
  180. package/dist/__chunks/J5XNUGR3.cjs +0 -76
  181. package/dist/__chunks/J5XNUGR3.cjs.map +0 -1
  182. package/dist/__chunks/JKEJPSO2.cjs +0 -289
  183. package/dist/__chunks/JKEJPSO2.cjs.map +0 -1
  184. package/dist/__chunks/JVGX637E.cjs +0 -26
  185. package/dist/__chunks/JVGX637E.cjs.map +0 -1
  186. package/dist/__chunks/K4AUV2VK.cjs +0 -16
  187. package/dist/__chunks/K4AUV2VK.cjs.map +0 -1
  188. package/dist/__chunks/KFNK5PLG.cjs +0 -122
  189. package/dist/__chunks/KFNK5PLG.cjs.map +0 -1
  190. package/dist/__chunks/LLFHCGRA.cjs +0 -19
  191. package/dist/__chunks/LLFHCGRA.cjs.map +0 -1
  192. package/dist/__chunks/MENEINOO.cjs +0 -91
  193. package/dist/__chunks/MENEINOO.cjs.map +0 -1
  194. package/dist/__chunks/MF7LLV7V.cjs +0 -9
  195. package/dist/__chunks/MF7LLV7V.cjs.map +0 -1
  196. package/dist/__chunks/NOELZTQX.cjs +0 -96
  197. package/dist/__chunks/NOELZTQX.cjs.map +0 -1
  198. package/dist/__chunks/O7M2NMNZ.cjs +0 -50
  199. package/dist/__chunks/O7M2NMNZ.cjs.map +0 -1
  200. package/dist/__chunks/OKT24L6D.cjs +0 -80
  201. package/dist/__chunks/OKT24L6D.cjs.map +0 -1
  202. package/dist/__chunks/OPDVLDRQ.js.map +0 -1
  203. package/dist/__chunks/PLUVW6AM.cjs +0 -9
  204. package/dist/__chunks/PLUVW6AM.cjs.map +0 -1
  205. package/dist/__chunks/PMNFDB6C.cjs +0 -121
  206. package/dist/__chunks/PMNFDB6C.cjs.map +0 -1
  207. package/dist/__chunks/QODNNCT2.cjs +0 -236
  208. package/dist/__chunks/QODNNCT2.cjs.map +0 -1
  209. package/dist/__chunks/QR3HKPXF.cjs +0 -84
  210. package/dist/__chunks/QR3HKPXF.cjs.map +0 -1
  211. package/dist/__chunks/R7BL4JYZ.cjs +0 -83
  212. package/dist/__chunks/R7BL4JYZ.cjs.map +0 -1
  213. package/dist/__chunks/RHJARLXB.cjs +0 -160
  214. package/dist/__chunks/RHJARLXB.cjs.map +0 -1
  215. package/dist/__chunks/RXQBNEFR.cjs +0 -47
  216. package/dist/__chunks/RXQBNEFR.cjs.map +0 -1
  217. package/dist/__chunks/RYUXG4AS.cjs +0 -53
  218. package/dist/__chunks/RYUXG4AS.cjs.map +0 -1
  219. package/dist/__chunks/TH4TA3JN.cjs +0 -9
  220. package/dist/__chunks/TH4TA3JN.cjs.map +0 -1
  221. package/dist/__chunks/THM3NAFO.cjs +0 -76
  222. package/dist/__chunks/THM3NAFO.cjs.map +0 -1
  223. package/dist/__chunks/TOAI3Z5M.cjs +0 -75
  224. package/dist/__chunks/TOAI3Z5M.cjs.map +0 -1
  225. package/dist/__chunks/UEY7FXLX.cjs +0 -22
  226. package/dist/__chunks/UEY7FXLX.cjs.map +0 -1
  227. package/dist/__chunks/UKQIAZA5.cjs +0 -9
  228. package/dist/__chunks/UKQIAZA5.cjs.map +0 -1
  229. package/dist/__chunks/VDLYCYDQ.cjs +0 -53
  230. package/dist/__chunks/VDLYCYDQ.cjs.map +0 -1
  231. package/dist/__chunks/VVRMCACE.cjs +0 -102
  232. package/dist/__chunks/VVRMCACE.cjs.map +0 -1
  233. package/dist/__chunks/WFVGNGEP.cjs +0 -2
  234. package/dist/__chunks/WFVGNGEP.cjs.map +0 -1
  235. package/dist/__chunks/WKADTHRK.cjs +0 -40
  236. package/dist/__chunks/WKADTHRK.cjs.map +0 -1
  237. package/dist/__chunks/X2SDR4SD.cjs +0 -39
  238. package/dist/__chunks/X2SDR4SD.cjs.map +0 -1
  239. package/dist/__chunks/XJVLA3PA.cjs +0 -13
  240. package/dist/__chunks/XJVLA3PA.cjs.map +0 -1
  241. package/dist/__chunks/XLUVINJW.cjs +0 -9
  242. package/dist/__chunks/XLUVINJW.cjs.map +0 -1
  243. package/dist/__chunks/XUDOYOWH.cjs +0 -117
  244. package/dist/__chunks/XUDOYOWH.cjs.map +0 -1
  245. package/dist/__chunks/YGFJ2STL.cjs +0 -104
  246. package/dist/__chunks/YGFJ2STL.cjs.map +0 -1
  247. package/dist/colors/allColors.cjs +0 -80
  248. package/dist/colors/allColors.cjs.map +0 -1
  249. package/dist/colors/backgroundColor.cjs +0 -11
  250. package/dist/colors/backgroundColor.cjs.map +0 -1
  251. package/dist/colors/border.cjs +0 -11
  252. package/dist/colors/border.cjs.map +0 -1
  253. package/dist/colors/foregroundColor.cjs +0 -11
  254. package/dist/colors/foregroundColor.cjs.map +0 -1
  255. package/dist/colors/textColors.cjs +0 -11
  256. package/dist/colors/textColors.cjs.map +0 -1
  257. package/dist/constants.cjs +0 -22
  258. package/dist/constants.cjs.map +0 -1
  259. package/dist/index.cjs +0 -166
  260. package/dist/index.cjs.map +0 -1
  261. package/dist/react-aria-utils/OverlayVisibility.cjs +0 -9
  262. package/dist/react-aria-utils/OverlayVisibility.cjs.map +0 -1
  263. package/dist/react-aria-utils/Triggerable.cjs +0 -10
  264. package/dist/react-aria-utils/Triggerable.cjs.map +0 -1
  265. package/dist/react-aria-utils/placement.cjs +0 -9
  266. package/dist/react-aria-utils/placement.cjs.map +0 -1
  267. package/dist/react-aria-utils/useDomRefSyntheticEventBridge.cjs +0 -9
  268. package/dist/react-aria-utils/useDomRefSyntheticEventBridge.cjs.map +0 -1
  269. package/dist/useFocusVisible.cjs +0 -9
  270. package/dist/useFocusVisible.cjs.map +0 -1
  271. package/dist/useIsHydrated.cjs +0 -9
  272. package/dist/useIsHydrated.cjs.map +0 -1
  273. /package/dist/__chunks/{VF2KL6JX.js.map → 5ZS464RE.js.map} +0 -0
  274. /package/dist/__chunks/{BMTUKQRY.js.map → ITEYAPXX.js.map} +0 -0
@@ -1,15 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client"
2
-
3
- // src/Button/constants/textVariant.ts
4
- var textVariant = {
5
- sm: 100,
6
- md: 200,
7
- lg: 300,
8
- xl: 500
9
- };
10
- var textVariant_default = textVariant;
11
-
12
-
13
-
14
- exports.textVariant_default = textVariant_default;
15
- //# sourceMappingURL=5JUNB754.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/Button/constants/textVariant.ts"],"names":[],"mappings":";;;AAAA,IAAM,cAAc;AAAA,EAClB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEA,IAAO,sBAAQ","sourcesContent":["const textVariant = {\n sm: 100,\n md: 200,\n lg: 300,\n xl: 500,\n} as const;\n\nexport default textVariant;\n"]}
@@ -1,143 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }"use client"
2
-
3
-
4
- var _JVGX637Ecjs = require('./JVGX637E.cjs');
5
-
6
-
7
-
8
-
9
- var _XJVLA3PAcjs = require('./XJVLA3PA.cjs');
10
-
11
-
12
- var _XLUVINJWcjs = require('./XLUVINJW.cjs');
13
-
14
-
15
- var _QODNNCT2cjs = require('./QODNNCT2.cjs');
16
-
17
-
18
- var _4TYOP5XMcjs = require('./4TYOP5XM.cjs');
19
-
20
-
21
- var _K4AUV2VKcjs = require('./K4AUV2VK.cjs');
22
-
23
-
24
- var _NOELZTQXcjs = require('./NOELZTQX.cjs');
25
-
26
- // src/SelectList/SelectList.tsx
27
-
28
-
29
-
30
- var _react = require('react');
31
- var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames);
32
-
33
- // css-module:./SelectList.module.css#css-module
34
- var SelectList_module_default = { "selectContainer": "_selectContainer_p5tv4_1", "opacityOverlay": "_opacityOverlay_p5tv4_7", "selectWrapper": "_selectWrapper_p5tv4_11", "selectBox": "_selectBox_p5tv4_16", "selectBoxCambio": "_selectBoxCambio_p5tv4_30", "selectMouseFocusStyling": "_selectMouseFocusStyling_p5tv4_38", "unselected": "_unselected_p5tv4_43", "selected": "_selected_p5tv4_47", "darkBackground": "_darkBackground_p5tv4_51", "arrowIcon": "_arrowIcon_p5tv4_63", "selectErrorCambio": "_selectErrorCambio_p5tv4_77", "selectColorwhite": "_selectColorwhite_p5tv4_83", "transparentInputError": "_transparentInputError_p5tv4_89", "transparenInputError": "_transparenInputError_p5tv4_94" };
35
-
36
- // src/SelectList/SelectList.tsx
37
- var _jsxruntime = require('react/jsx-runtime');
38
- function SelectList({
39
- children,
40
- "data-testid": dataTestId,
41
- disabled: disabledProp = false,
42
- errorText,
43
- helperText,
44
- id,
45
- label,
46
- on,
47
- onChange,
48
- onClick,
49
- placeholderText,
50
- selectedValue = ""
51
- }) {
52
- const reactId = _react.useId.call(void 0, );
53
- const isHydrated = _K4AUV2VKcjs.useIsHydrated.call(void 0, );
54
- const disabled = !isHydrated || disabledProp;
55
- const selectId = id != null ? id : reactId;
56
- const { isFocusVisible } = _NOELZTQXcjs.useFocusVisible.call(void 0, );
57
- const [isFocused, setIsFocused] = _react.useState.call(void 0, false);
58
- const textColor = on === "darkBackground" ? "white" : "gray900";
59
- const errorTextColor = on !== "darkBackground" ? "destructive-lightBackground" : "destructive-darkBackground";
60
- const handleKeyDown = (event) => {
61
- if (disabled || onClick == null)
62
- return;
63
- if (event.key === "Enter" || event.key === " " || event.key === "Space") {
64
- onClick(event);
65
- }
66
- };
67
- const getArrowIconColor = () => {
68
- if (errorText) {
69
- return _XJVLA3PAcjs.ColorBaseDestructive700;
70
- } else {
71
- if (on === "darkBackground") {
72
- return _XJVLA3PAcjs.ColorCambioWhite100;
73
- } else {
74
- return _XJVLA3PAcjs.ColorBaseGray700;
75
- }
76
- }
77
- };
78
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
79
- "div",
80
- {
81
- className: _classnames2.default.call(void 0, SelectList_module_default.selectContainer, {
82
- [SelectList_module_default.opacityOverlay]: disabled
83
- }),
84
- children: [
85
- label && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "label", { htmlFor: selectId, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _QODNNCT2cjs.Box_default, { paddingX: 1, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _4TYOP5XMcjs.Typography_default, { size: 100, color: textColor, children: label }) }) }),
86
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: SelectList_module_default.selectWrapper, children: [
87
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
88
- "select",
89
- {
90
- id: selectId,
91
- "data-testid": dataTestId,
92
- disabled,
93
- className: _classnames2.default.call(void 0, SelectList_module_default.selectBox, SelectList_module_default.selectBoxCambio, {
94
- [SelectList_module_default.unselected]: !selectedValue && !errorText,
95
- [SelectList_module_default.selected]: selectedValue && !errorText,
96
- [SelectList_module_default.selectErrorCambio]: errorText && on === "lightBackground",
97
- [SelectList_module_default.transparentInputError]: errorText && on === "darkBackground",
98
- [_XLUVINJWcjs.Focus_module_default.accessibilityOutlineFocus]: isFocused && isFocusVisible,
99
- // for focus keyboard
100
- [SelectList_module_default.selectMouseFocusStyling]: isFocused && !isFocusVisible,
101
- // for focus mouse
102
- [SelectList_module_default.darkBackground]: on === "darkBackground"
103
- }),
104
- onChange,
105
- onClick,
106
- onKeyDown: handleKeyDown,
107
- value: placeholderText && !selectedValue ? placeholderText : selectedValue,
108
- onFocus: () => setIsFocused(true),
109
- onBlur: () => setIsFocused(false),
110
- children: [
111
- placeholderText && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "option", { disabled: true, value: placeholderText, children: placeholderText }),
112
- children
113
- ]
114
- }
115
- ),
116
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: SelectList_module_default.arrowIcon, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
117
- "svg",
118
- {
119
- focusable: "false",
120
- "aria-hidden": "true",
121
- viewBox: "0 0 24 24",
122
- width: 24,
123
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
124
- "path",
125
- {
126
- fill: getArrowIconColor(),
127
- 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"
128
- }
129
- )
130
- }
131
- ) })
132
- ] }),
133
- (helperText || errorText) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _QODNNCT2cjs.Box_default, { paddingX: 1, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _4TYOP5XMcjs.Typography_default, { size: 100, color: errorText ? errorTextColor : textColor, children: errorText ? errorText : helperText }) })
134
- ]
135
- }
136
- );
137
- }
138
- SelectList.Option = _JVGX637Ecjs.SelectOption_default;
139
-
140
-
141
-
142
- exports.SelectList = SelectList;
143
- //# sourceMappingURL=67K5GWKL.cjs.map
@@ -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 ColorBaseGray700,\n ColorCambioWhite100,\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\";\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 on,\n onChange,\n onClick,\n placeholderText,\n selectedValue = \"\",\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 * Indicate whether the component renders on a light or dark background. Changes the color of the text\n *\n * @defaulValue `lightBackground`\n */\n on?: \"lightBackground\" | \"darkBackground\";\n /**\n * Callback to be called when select is clicked\n */\n onClick?: (event: React.SyntheticEvent<HTMLSelectElement>) => void;\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}): ReactElement {\n const reactId = useId();\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated || disabledProp;\n const selectId = id ?? reactId;\n const { isFocusVisible } = useFocusVisible();\n const [isFocused, setIsFocused] = useState(false);\n const textColor = on === \"darkBackground\" ? \"white\" : \"gray900\";\n const errorTextColor =\n on !== \"darkBackground\"\n ? \"destructive-lightBackground\"\n : \"destructive-darkBackground\";\n\n const handleKeyDown: React.KeyboardEventHandler<HTMLSelectElement> = (\n event,\n ) => {\n if (disabled || onClick == null) return;\n if (event.key === \"Enter\" || event.key === \" \" || event.key === \"Space\") {\n onClick(event);\n }\n };\n\n const getArrowIconColor = () => {\n if (errorText) {\n return ColorBaseDestructive700;\n } else {\n if (on === \"darkBackground\") {\n return ColorCambioWhite100;\n } else {\n return ColorBaseGray700;\n }\n }\n };\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={textColor}>\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(styles.selectBox, styles.selectBoxCambio, {\n [styles.unselected]: !selectedValue && !errorText,\n [styles.selected]: selectedValue && !errorText,\n [styles.selectErrorCambio]: errorText && on === \"lightBackground\",\n [styles.transparentInputError]:\n errorText && on === \"darkBackground\",\n [focusStyles.accessibilityOutlineFocus]:\n isFocused && isFocusVisible, // for focus keyboard\n [styles.selectMouseFocusStyling]: isFocused && !isFocusVisible, // for focus mouse\n [styles.darkBackground]: on === \"darkBackground\",\n })}\n onChange={onChange}\n onClick={onClick}\n onKeyDown={handleKeyDown}\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={24}\n >\n <path\n fill={getArrowIconColor()}\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 size={100} color={errorText ? errorTextColor : textColor}>\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_p5tv4_1\",\"opacityOverlay\":\"_opacityOverlay_p5tv4_7\",\"selectWrapper\":\"_selectWrapper_p5tv4_11\",\"selectBox\":\"_selectBox_p5tv4_16\",\"selectBoxCambio\":\"_selectBoxCambio_p5tv4_30\",\"selectMouseFocusStyling\":\"_selectMouseFocusStyling_p5tv4_38\",\"unselected\":\"_unselected_p5tv4_43\",\"selected\":\"_selected_p5tv4_47\",\"darkBackground\":\"_darkBackground_p5tv4_51\",\"arrowIcon\":\"_arrowIcon_p5tv4_63\",\"selectErrorCambio\":\"_selectErrorCambio_p5tv4_77\",\"selectColorwhite\":\"_selectColorwhite_p5tv4_83\",\"transparentInputError\":\"_transparentInputError_p5tv4_89\",\"transparenInputError\":\"_transparenInputError_p5tv4_94\"}"]}
@@ -1,38 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }"use client"
2
-
3
- // css-module:./ButtonGroup.module.css#css-module
4
- var ButtonGroup_module_default = { "buttonGroup": "_buttonGroup_6o6o0_1", "horizontal": "_horizontal_6o6o0_5", "vertical": "_vertical_6o6o0_9", "smallGap": "_smallGap_6o6o0_13", "mediumGap": "_mediumGap_6o6o0_17", "largeGap": "_largeGap_6o6o0_21", "orientationhorizontalSmall": "_orientationhorizontalSmall_6o6o0_27", "orientationverticalSmall": "_orientationverticalSmall_6o6o0_31", "orientationhorizontalLarge": "_orientationhorizontalLarge_6o6o0_38", "orientationverticalLarge": "_orientationverticalLarge_6o6o0_42" };
5
-
6
- // src/ButtonGroup/ButtonGroup.tsx
7
- var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames);
8
- var _jsxruntime = require('react/jsx-runtime');
9
- var gap = {
10
- sm: ButtonGroup_module_default.smallGap,
11
- md: ButtonGroup_module_default.mediumGap,
12
- lg: ButtonGroup_module_default.largeGap
13
- };
14
- var ButtonGroup = ({
15
- orientation = "horizontal",
16
- size = "md",
17
- children,
18
- smOrientation,
19
- lgOrientation
20
- }) => {
21
- const classnames = _classnames2.default.call(void 0,
22
- ButtonGroup_module_default.buttonGroup,
23
- gap[size],
24
- smOrientation != null && ButtonGroup_module_default[`orientation${smOrientation}Small`],
25
- lgOrientation != null && ButtonGroup_module_default[`orientation${lgOrientation}Large`],
26
- {
27
- [ButtonGroup_module_default.horizontal]: orientation === "horizontal",
28
- [ButtonGroup_module_default.vertical]: orientation === "vertical"
29
- }
30
- );
31
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: classnames, children });
32
- };
33
- var ButtonGroup_default = ButtonGroup;
34
-
35
-
36
-
37
- exports.ButtonGroup_default = ButtonGroup_default;
38
- //# sourceMappingURL=6KSVCCCB.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["css-module:./ButtonGroup.module.css#css-module","../../src/ButtonGroup/ButtonGroup.tsx"],"names":[],"mappings":";;;AAAsG,IAAO,6BAAQ,EAAC,eAAc,wBAAuB,cAAa,uBAAsB,YAAW,qBAAoB,YAAW,sBAAqB,aAAY,uBAAsB,YAAW,sBAAqB,8BAA6B,wCAAuC,4BAA2B,sCAAqC,8BAA6B,wCAAuC,4BAA2B,qCAAoC;;;ACGtkB,OAAO,gBAAgB;AA8Dd;AA5DT,IAAM,MAAM;AAAA,EACV,IAAI,2BAAO;AAAA,EACX,IAAI,2BAAO;AAAA,EACX,IAAI,2BAAO;AACb;AAKA,IAAM,cAAc,CAAC;AAAA,EACnB,cAAc;AAAA,EACd,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AACF,MAiCoB;AAClB,QAAM,aAAa;AAAA,IACjB,2BAAO;AAAA,IACP,IAAI,IAAI;AAAA,IACR,iBAAiB,QAAQ,2BAAO,cAAc,oBAAoB;AAAA,IAClE,iBAAiB,QAAQ,2BAAO,cAAc,oBAAoB;AAAA,IAClE;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","sourcesContent":["import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/ButtonGroup/ButtonGroup.module.css\"; export default {\"buttonGroup\":\"_buttonGroup_6o6o0_1\",\"horizontal\":\"_horizontal_6o6o0_5\",\"vertical\":\"_vertical_6o6o0_9\",\"smallGap\":\"_smallGap_6o6o0_13\",\"mediumGap\":\"_mediumGap_6o6o0_17\",\"largeGap\":\"_largeGap_6o6o0_21\",\"orientationhorizontalSmall\":\"_orientationhorizontalSmall_6o6o0_27\",\"orientationverticalSmall\":\"_orientationverticalSmall_6o6o0_31\",\"orientationhorizontalLarge\":\"_orientationhorizontalLarge_6o6o0_38\",\"orientationverticalLarge\":\"_orientationverticalLarge_6o6o0_42\"}","import { type ReactElement, type ReactNode } from \"react\";\nimport styles from \"./ButtonGroup.module.css\";\nimport { type Size } from \"../constants\";\nimport classNames from \"classnames\";\n\nconst gap = {\n sm: styles.smallGap,\n md: styles.mediumGap,\n lg: styles.largeGap,\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 smOrientation,\n lgOrientation,\n}: {\n /**\n * The orientation of the button group\n *\n * @defaultValue \"horizontal\"\n *\n * Responsive props:\n * `smOrientation`\n * `lgOrientation`\n */\n orientation?: \"horizontal\" | \"vertical\";\n /**\n * The size of the button group defines the spacing between each button\n *\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 /**\n * Bottom margin on sm (480px) or larger viewports.\n */\n smOrientation?: typeof orientation;\n /**\n * Bottom margin on lg (960px) or larger viewports.\n */\n lgOrientation?: typeof orientation;\n}): ReactElement => {\n const classnames = classNames(\n styles.buttonGroup,\n gap[size],\n smOrientation != null && styles[`orientation${smOrientation}Small`],\n lgOrientation != null && styles[`orientation${lgOrientation}Large`],\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"]}
@@ -1,9 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client"
2
-
3
- // css-module:../Tabs/Tabs.module.css#css-module
4
- var Tabs_module_default = { "tabContainerlightBackground": "_tabContainerlightBackground_b6c60_1", "tabContainerDarkBackground": "_tabContainerDarkBackground_b6c60_5", "tab": "_tab_b6c60_1", "selectedTabOnLightBackground": "_selectedTabOnLightBackground_b6c60_13", "selectedTabOnDarkBackground": "_selectedTabOnDarkBackground_b6c60_17", "unselectedTab": "_unselectedTab_b6c60_21", "link": "_link_b6c60_25" };
5
-
6
-
7
-
8
- exports.Tabs_module_default = Tabs_module_default;
9
- //# sourceMappingURL=7DGFMDT7.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["css-module:../Tabs/Tabs.module.css#css-module"],"names":[],"mappings":";;;AAAwF,IAAO,sBAAQ,EAAC,+BAA8B,wCAAuC,8BAA6B,uCAAsC,OAAM,gBAAe,gCAA+B,0CAAyC,+BAA8B,yCAAwC,iBAAgB,2BAA0B,QAAO,iBAAgB","sourcesContent":["import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/Tabs/Tabs.module.css\"; export default {\"tabContainerlightBackground\":\"_tabContainerlightBackground_b6c60_1\",\"tabContainerDarkBackground\":\"_tabContainerDarkBackground_b6c60_5\",\"tab\":\"_tab_b6c60_1\",\"selectedTabOnLightBackground\":\"_selectedTabOnLightBackground_b6c60_13\",\"selectedTabOnDarkBackground\":\"_selectedTabOnDarkBackground_b6c60_17\",\"unselectedTab\":\"_unselectedTab_b6c60_21\",\"link\":\"_link_b6c60_25\"}"]}
@@ -1,32 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client"
2
-
3
-
4
- var _QODNNCT2cjs = require('./QODNNCT2.cjs');
5
-
6
- // src/Modal/Layer.tsx
7
- var _reactdom = require('react-dom');
8
- var _jsxruntime = require('react/jsx-runtime');
9
- function Layer({
10
- children,
11
- zIndex = 1
12
- }) {
13
- return typeof document !== "undefined" ? _reactdom.createPortal.call(void 0,
14
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15
- _QODNNCT2cjs.Box_default,
16
- {
17
- "data-testid": "syntax-layer",
18
- position: "fixed",
19
- dangerouslySetInlineStyle: {
20
- __style: { zIndex, inset: 0 }
21
- },
22
- children
23
- }
24
- ),
25
- document.body
26
- ) : null;
27
- }
28
-
29
-
30
-
31
- exports.Layer = Layer;
32
- //# sourceMappingURL=7KH536I2.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/Modal/Layer.tsx"],"names":[],"mappings":";;;;;;AACA,SAAS,oBAAoB;AAYrB;AATO,SAAR,MAAuB;AAAA,EAC5B;AAAA,EACA,SAAS;AACX,GAGuB;AACrB,SAAO,OAAO,aAAa,cACvB;AAAA,IACE;AAAA,MAAC;AAAA;AAAA,QACC,eAAY;AAAA,QACZ,UAAS;AAAA,QACT,2BAA2B;AAAA,UACzB,SAAS,EAAE,QAAQ,OAAO,EAAE;AAAA,QAC9B;AAAA,QAEC;AAAA;AAAA,IACH;AAAA,IACA,SAAS;AAAA,EACX,IACA;AACN","sourcesContent":["import { type ReactElement, type ReactPortal } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport Box from \"../Box/Box\";\n\nexport default function Layer({\n children,\n zIndex = 1,\n}: {\n children: ReactElement;\n zIndex?: number;\n}): ReactPortal | null {\n return typeof document !== \"undefined\"\n ? createPortal(\n <Box\n data-testid=\"syntax-layer\"\n position=\"fixed\"\n dangerouslySetInlineStyle={{\n __style: { zIndex, inset: 0 },\n }}\n >\n {children}\n </Box>,\n document.body,\n )\n : null;\n}\n"]}
@@ -1,28 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }"use client"
2
-
3
-
4
- var _2XIVACBMcjs = require('./2XIVACBM.cjs');
5
-
6
- // css-module:./Divider.module.css#css-module
7
- var Divider_module_default = { "divider": "_divider_1uaon_1", "dividerClassic": "_dividerClassic_1uaon_9" };
8
-
9
- // src/Divider/Divider.tsx
10
- var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames);
11
- var _jsxruntime = require('react/jsx-runtime');
12
- function Divider() {
13
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14
- "hr",
15
- {
16
- className: _classnames2.default.call(void 0,
17
- Divider_module_default.divider,
18
- _2XIVACBMcjs.colors_module_default.cambioGray370BackgroundColor
19
- )
20
- }
21
- );
22
- }
23
- Divider.displayName = "Divider";
24
-
25
-
26
-
27
- exports.Divider = Divider;
28
- //# sourceMappingURL=A3B4YKGN.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["css-module:./Divider.module.css#css-module","../../src/Divider/Divider.tsx"],"names":[],"mappings":";;;;;;AAA8F,IAAO,yBAAQ,EAAC,WAAU,oBAAmB,kBAAiB,0BAAyB;;;ACCrL,OAAO,gBAAgB;AAQnB;AAFW,SAAR,UAA+C;AACpD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT,uBAAO;AAAA,QACP,sBAAY;AAAA,MACd;AAAA;AAAA,EACF;AAEJ;AAEA,QAAQ,cAAc","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 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 return (\n <hr\n className={classNames(\n styles.divider,\n colorStyles.cambioGray370BackgroundColor,\n )}\n />\n );\n}\n\nDivider.displayName = \"Divider\";\n"]}
@@ -1,211 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client"
2
-
3
-
4
- var _6KSVCCCBcjs = require('./6KSVCCCB.cjs');
5
-
6
-
7
- var _BVNFNAUOcjs = require('./BVNFNAUO.cjs');
8
-
9
-
10
- var _A3B4YKGNcjs = require('./A3B4YKGN.cjs');
11
-
12
-
13
- var _VDLYCYDQcjs = require('./VDLYCYDQ.cjs');
14
-
15
-
16
- var _WKADTHRKcjs = require('./WKADTHRK.cjs');
17
-
18
-
19
- var _J2QDHB6Icjs = require('./J2QDHB6I.cjs');
20
-
21
-
22
-
23
- var _RYUXG4AScjs = require('./RYUXG4AS.cjs');
24
-
25
-
26
- var _QODNNCT2cjs = require('./QODNNCT2.cjs');
27
-
28
- // src/RichSelect/RichSelectBox.tsx
29
-
30
-
31
-
32
-
33
-
34
-
35
-
36
- var _react = require('react');
37
- var _reactariacomponents = require('react-aria-components');
38
- var _utils = require('@react-stately/utils');
39
- var _jsxruntime = require('react/jsx-runtime');
40
- function isString(val) {
41
- return typeof val === "string";
42
- }
43
- function isEqualSelection(set1, set2) {
44
- if (set1 === set2)
45
- return true;
46
- if (!set1 && !set2)
47
- return true;
48
- if (!set1 || !set2)
49
- return false;
50
- if (isString(set1))
51
- return set1 === set2;
52
- if (isString(set2))
53
- return false;
54
- if (set1.size !== set2.size)
55
- return false;
56
- for (const item of set1) {
57
- if (!set2.has(item))
58
- return false;
59
- }
60
- return true;
61
- }
62
- function convertSelection(selection, defaultValue) {
63
- if (!selection)
64
- return defaultValue;
65
- if (selection === "all")
66
- return "all";
67
- return new Set(selection);
68
- }
69
- var RichSelectBoxContext = _react.createContext.call(void 0, {});
70
- var RichSelectBox = _react.forwardRef.call(void 0,
71
- function RichSelectBox2(props, ref) {
72
- const {
73
- accessibilityLabel,
74
- autosave,
75
- children,
76
- "data-testid": dataTestId,
77
- multiple = false,
78
- onChange,
79
- primaryButtonText,
80
- primaryButtonAccessibilityLabel,
81
- secondaryButtonText,
82
- secondaryButtonAccessibilityLabel,
83
- selectedValues: selectedValuesProp,
84
- defaultSelectedValues: defaultSelectedValuesProp
85
- } = props;
86
- const selectedKeysProp = _react.useMemo.call(void 0,
87
- () => convertSelection(selectedValuesProp),
88
- [selectedValuesProp]
89
- );
90
- const defaultSelectedKeys = _react.useMemo.call(void 0,
91
- () => convertSelection(defaultSelectedValuesProp, /* @__PURE__ */ new Set()),
92
- [defaultSelectedValuesProp]
93
- );
94
- const [selectedKeys, setSelectedKeys] = _utils.useControlledState.call(void 0,
95
- selectedKeysProp,
96
- // 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
97
- defaultSelectedKeys,
98
- (value) => {
99
- if (isEqualSelection(value, selectedKeys))
100
- return;
101
- if (value === "all")
102
- return onChange("all");
103
- onChange([...value].map(String));
104
- }
105
- );
106
- const [stagedKeys, setStagedKeys] = _react.useState.call(void 0,
107
- selectedKeys
108
- );
109
- const saveChanges = () => setSelectedKeys(stagedKeys);
110
- const clearChanges = () => setStagedKeys(/* @__PURE__ */ new Set());
111
- const stageChanges = (selectedValues) => {
112
- setStagedKeys(selectedValues);
113
- if (autosave)
114
- setSelectedKeys(selectedValues);
115
- };
116
- const [disabledKeysComposed, setDisabledKeysComposed] = _react.useState.call(void 0,
117
- /* @__PURE__ */ new Set()
118
- );
119
- const disableKey = _react.useCallback.call(void 0, (key, _disabled) => {
120
- setDisabledKeysComposed((keys) => {
121
- if (keys.has(key) === _disabled)
122
- return keys;
123
- _disabled ? keys.add(key) : keys.delete(key);
124
- return new Set(keys);
125
- });
126
- }, []);
127
- const { autoFocus } = _react.useContext.call(void 0, RichSelectBoxContext);
128
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _RYUXG4AScjs.RichSelectItemContext.Provider, { value: { disableKey }, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _QODNNCT2cjs.Box_default, { children: [
129
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
130
- _reactariacomponents.ListBox,
131
- {
132
- ref,
133
- "aria-label": accessibilityLabel,
134
- autoFocus,
135
- selectionMode: multiple ? "multiple" : "single",
136
- selectionBehavior: multiple ? "toggle" : "replace",
137
- shouldFocusWrap: true,
138
- orientation: "horizontal",
139
- selectedKeys: stagedKeys,
140
- onSelectionChange: stageChanges,
141
- disabledKeys: disabledKeysComposed,
142
- className: _RYUXG4AScjs.RichSelect_module_default.richSelectBox,
143
- children
144
- }
145
- ),
146
- !autosave && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
147
- _QODNNCT2cjs.Box_default,
148
- {
149
- backgroundColor: "white",
150
- display: "flex",
151
- direction: "column",
152
- gap: 5,
153
- marginTop: 5,
154
- justifyContent: "end",
155
- position: "sticky",
156
- dangerouslySetInlineStyle: {
157
- __style: {
158
- bottom: 0
159
- }
160
- },
161
- children: [
162
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _QODNNCT2cjs.Box_default, { flex: "grow", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _A3B4YKGNcjs.Divider, {}) }),
163
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
164
- _QODNNCT2cjs.Box_default,
165
- {
166
- paddingY: 5,
167
- marginTop: -5,
168
- display: "flex",
169
- justifyContent: "end",
170
- children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _6KSVCCCBcjs.ButtonGroup_default, { orientation: "horizontal", children: [
171
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
172
- _BVNFNAUOcjs.Button_default,
173
- {
174
- onClick: clearChanges,
175
- color: "secondary",
176
- text: secondaryButtonText,
177
- accessibilityLabel: secondaryButtonAccessibilityLabel,
178
- "data-testid": [dataTestId, "secondary-button"].filter(Boolean).join("-")
179
- }
180
- ),
181
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
182
- _BVNFNAUOcjs.Button_default,
183
- {
184
- onClick: saveChanges,
185
- text: primaryButtonText,
186
- accessibilityLabel: primaryButtonAccessibilityLabel,
187
- color: "primary",
188
- "data-testid": [dataTestId, "primary-button"].filter(Boolean).join("-")
189
- }
190
- )
191
- ] })
192
- }
193
- )
194
- ]
195
- }
196
- )
197
- ] }) });
198
- }
199
- );
200
- var RichSelectBox_default = Object.assign(RichSelectBox, {
201
- Section: _VDLYCYDQcjs.RichSelectSection_default,
202
- Chip: _J2QDHB6Icjs.RichSelectChip_default,
203
- RadioButton: _WKADTHRKcjs.RichSelectRadioButton_default
204
- });
205
-
206
-
207
-
208
-
209
-
210
- exports.convertSelection = convertSelection; exports.RichSelectBoxContext = RichSelectBoxContext; exports.RichSelectBox_default = RichSelectBox_default;
211
- //# sourceMappingURL=AFOQ6JVB.cjs.map
@@ -1 +0,0 @@
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"]}