@cambly/syntax-core 10.12.0 → 10.13.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 (71) hide show
  1. package/dist/Avatar/Avatar.d.ts +1 -1
  2. package/dist/Badge/Badge.d.ts +1 -1
  3. package/dist/ButtonGroup/ButtonGroup.d.ts +1 -1
  4. package/dist/Checkbox/Checkbox.d.ts +1 -1
  5. package/dist/Heading/Heading.d.ts +2 -2
  6. package/dist/RadioButton/RadioButton.d.ts +1 -1
  7. package/dist/RichSelect/RichSelectBox.cjs +5 -5
  8. package/dist/RichSelect/RichSelectBox.css +5 -2
  9. package/dist/RichSelect/RichSelectBox.css.map +1 -1
  10. package/dist/RichSelect/RichSelectBox.d.ts +1 -1
  11. package/dist/RichSelect/RichSelectBox.js +4 -4
  12. package/dist/RichSelect/RichSelectChip.cjs +3 -3
  13. package/dist/RichSelect/RichSelectChip.css +5 -2
  14. package/dist/RichSelect/RichSelectChip.css.map +1 -1
  15. package/dist/RichSelect/RichSelectChip.js +2 -2
  16. package/dist/RichSelect/RichSelectItem.cjs +2 -2
  17. package/dist/RichSelect/RichSelectItem.css +5 -2
  18. package/dist/RichSelect/RichSelectItem.css.map +1 -1
  19. package/dist/RichSelect/RichSelectItem.js +1 -1
  20. package/dist/RichSelect/RichSelectList.cjs +7 -7
  21. package/dist/RichSelect/RichSelectList.css +25 -20
  22. package/dist/RichSelect/RichSelectList.css.map +1 -1
  23. package/dist/RichSelect/RichSelectList.d.ts +7 -3
  24. package/dist/RichSelect/RichSelectList.js +6 -6
  25. package/dist/RichSelect/RichSelectRadioButton.cjs +3 -3
  26. package/dist/RichSelect/RichSelectRadioButton.css +5 -2
  27. package/dist/RichSelect/RichSelectRadioButton.css.map +1 -1
  28. package/dist/RichSelect/RichSelectRadioButton.d.ts +1 -1
  29. package/dist/RichSelect/RichSelectRadioButton.js +2 -2
  30. package/dist/SelectList/SelectList.cjs +3 -3
  31. package/dist/SelectList/SelectList.css +20 -18
  32. package/dist/SelectList/SelectList.css.map +1 -1
  33. package/dist/SelectList/SelectList.js +2 -2
  34. package/dist/TapArea/TapArea.d.ts +1 -1
  35. package/dist/Typography/Typography.d.ts +5 -5
  36. package/dist/__chunks/{VE7WIAJC.js → EE5VI7K5.js} +1 -1
  37. package/dist/__chunks/{VE7WIAJC.js.map → EE5VI7K5.js.map} +1 -1
  38. package/dist/__chunks/{A6FGCIZM.js → G7GMDR6I.js} +3 -3
  39. package/dist/__chunks/{A6FGCIZM.js.map → G7GMDR6I.js.map} +1 -1
  40. package/dist/__chunks/{LISQ2P5F.cjs → H6JCVQBU.cjs} +1 -1
  41. package/dist/__chunks/{LISQ2P5F.cjs.map → H6JCVQBU.cjs.map} +1 -1
  42. package/dist/__chunks/{FBF2R2FE.cjs → HZ7TRVX2.cjs} +21 -17
  43. package/dist/__chunks/HZ7TRVX2.cjs.map +1 -0
  44. package/dist/__chunks/{VJ2AFMKO.cjs → I5HC6BIK.cjs} +3 -3
  45. package/dist/__chunks/{XF2RTSNO.js → L4RR2XJT.js} +4 -4
  46. package/dist/__chunks/{OFK6S6W2.js → NUDTHTSM.js} +15 -11
  47. package/dist/__chunks/NUDTHTSM.js.map +1 -0
  48. package/dist/__chunks/{3AAZZWKY.js → ODMJANSX.js} +2 -2
  49. package/dist/__chunks/{3AAZZWKY.js.map → ODMJANSX.js.map} +1 -1
  50. package/dist/__chunks/{TYEKVH5D.cjs → OLWEXK5F.cjs} +8 -8
  51. package/dist/__chunks/{3K37FYOT.cjs → RYUXG4AS.cjs} +2 -2
  52. package/dist/__chunks/RYUXG4AS.cjs.map +1 -0
  53. package/dist/__chunks/{EMWRSUWK.cjs → RZCA77DH.cjs} +4 -4
  54. package/dist/__chunks/{EMWRSUWK.cjs.map → RZCA77DH.cjs.map} +1 -1
  55. package/dist/__chunks/{CTBXXNZP.js → T5U2CKTE.js} +2 -2
  56. package/dist/__chunks/{QQSNF45I.js → TIG3BSZG.js} +2 -2
  57. package/dist/__chunks/{VJKUE3B4.cjs → XSHPEZBA.cjs} +3 -3
  58. package/dist/index.cjs +8 -8
  59. package/dist/index.css +25 -20
  60. package/dist/index.css.map +1 -1
  61. package/dist/index.js +7 -7
  62. package/package.json +1 -1
  63. package/dist/__chunks/3K37FYOT.cjs.map +0 -1
  64. package/dist/__chunks/FBF2R2FE.cjs.map +0 -1
  65. package/dist/__chunks/OFK6S6W2.js.map +0 -1
  66. /package/dist/__chunks/{VJ2AFMKO.cjs.map → I5HC6BIK.cjs.map} +0 -0
  67. /package/dist/__chunks/{XF2RTSNO.js.map → L4RR2XJT.js.map} +0 -0
  68. /package/dist/__chunks/{TYEKVH5D.cjs.map → OLWEXK5F.cjs.map} +0 -0
  69. /package/dist/__chunks/{CTBXXNZP.js.map → T5U2CKTE.js.map} +0 -0
  70. /package/dist/__chunks/{QQSNF45I.js.map → TIG3BSZG.js.map} +0 -0
  71. /package/dist/__chunks/{VJKUE3B4.cjs.map → XSHPEZBA.cjs.map} +0 -0
@@ -3,10 +3,10 @@
3
3
 
4
4
 
5
5
 
6
- var _TYEKVH5Dcjs = require('./TYEKVH5D.cjs');
6
+ var _OLWEXK5Fcjs = require('./OLWEXK5F.cjs');
7
7
 
8
8
 
9
- var _VJKUE3B4cjs = require('./VJKUE3B4.cjs');
9
+ var _XSHPEZBAcjs = require('./XSHPEZBA.cjs');
10
10
 
11
11
 
12
12
  var _BXUTWPRUcjs = require('./BXUTWPRU.cjs');
@@ -19,13 +19,13 @@ var _UKLQ64N7cjs = require('./UKLQ64N7.cjs');
19
19
 
20
20
 
21
21
 
22
- var _LISQ2P5Fcjs = require('./LISQ2P5F.cjs');
22
+ var _H6JCVQBUcjs = require('./H6JCVQBU.cjs');
23
23
 
24
24
 
25
25
  var _NFDOY7GEcjs = require('./NFDOY7GE.cjs');
26
26
 
27
27
 
28
- var _VJ2AFMKOcjs = require('./VJ2AFMKO.cjs');
28
+ var _I5HC6BIKcjs = require('./I5HC6BIK.cjs');
29
29
 
30
30
 
31
31
  var _27K33DEMcjs = require('./27K33DEM.cjs');
@@ -45,6 +45,7 @@ var _X2SDR4SDcjs = require('./X2SDR4SD.cjs');
45
45
 
46
46
 
47
47
 
48
+
48
49
  var _react = require('react');
49
50
  var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames);
50
51
 
@@ -55,7 +56,7 @@ var _utils = require('@react-stately/utils');
55
56
  var _interactions = require('@react-aria/interactions');
56
57
 
57
58
  // css-module:../SelectList/SelectList.module.css#css-module
58
- var SelectList_module_default = { "selectContainer": "_selectContainer_plzrz_1", "selectContainerCambio": "_selectContainerCambio_plzrz_7", "opacityOverlay": "_opacityOverlay_plzrz_11", "labelCambio": "_labelCambio_plzrz_15", "selectWrapper": "_selectWrapper_plzrz_26", "selectBox": "_selectBox_plzrz_31", "selectBoxClassic": "_selectBoxClassic_plzrz_45", "selectBoxCambio": "_selectBoxCambio_plzrz_50", "selectMouseFocusStyling": "_selectMouseFocusStyling_plzrz_58", "unselected": "_unselected_plzrz_63", "selected": "_selected_plzrz_67", "arrowIcon": "_arrowIcon_plzrz_71", "sm": "_sm_plzrz_85", "md": "_md_plzrz_91", "lg": "_lg_plzrz_97", "selectError": "_selectError_plzrz_103", "selectErrorCambio": "_selectErrorCambio_plzrz_109" };
59
+ var SelectList_module_default = { "selectContainer": "_selectContainer_1o5o7_1", "selectContainerCambio": "_selectContainerCambio_1o5o7_7", "opacityOverlay": "_opacityOverlay_1o5o7_11", "labelCambio": "_labelCambio_1o5o7_15", "selectWrapper": "_selectWrapper_1o5o7_26", "selectBox": "_selectBox_1o5o7_31", "selectBoxClassic": "_selectBoxClassic_1o5o7_47", "selectBoxCambio": "_selectBoxCambio_1o5o7_52", "selectMouseFocusStyling": "_selectMouseFocusStyling_1o5o7_60", "unselected": "_unselected_1o5o7_65", "selected": "_selected_1o5o7_69", "arrowIcon": "_arrowIcon_1o5o7_73", "sm": "_sm_1o5o7_87", "md": "_md_1o5o7_93", "lg": "_lg_1o5o7_99", "selectError": "_selectError_1o5o7_105", "selectErrorCambio": "_selectErrorCambio_1o5o7_111" };
59
60
 
60
61
  // src/RichSelect/RichSelectList.tsx
61
62
  var _reactaria = require('react-aria');
@@ -75,6 +76,7 @@ function RichSelectList(props) {
75
76
  errorText,
76
77
  helperText,
77
78
  label,
79
+ id,
78
80
  onChange,
79
81
  onClick = NOOP,
80
82
  placeholderText,
@@ -90,6 +92,7 @@ function RichSelectList(props) {
90
92
  "errorText",
91
93
  "helperText",
92
94
  "label",
95
+ "id",
93
96
  "onChange",
94
97
  "onClick",
95
98
  "placeholderText",
@@ -98,15 +101,17 @@ function RichSelectList(props) {
98
101
  "defaultSelectedValues",
99
102
  "size"
100
103
  ]);
104
+ const reactId = _react.useId.call(void 0, );
105
+ const inputId = id != null ? id : reactId;
101
106
  const isHydrated = _K4AUV2VKcjs.useIsHydrated.call(void 0, );
102
107
  const disabled = !isHydrated || disabledProp;
103
108
  const overlayHandlerRef = _react.useRef.call(void 0, {});
104
109
  const selectedKeysProp = _react.useMemo.call(void 0,
105
- () => _TYEKVH5Dcjs.convertSelection.call(void 0, selectedValuesProp),
110
+ () => _OLWEXK5Fcjs.convertSelection.call(void 0, selectedValuesProp),
106
111
  [selectedValuesProp]
107
112
  );
108
113
  const defaultSelectedKeys = _react.useMemo.call(void 0,
109
- () => _TYEKVH5Dcjs.convertSelection.call(void 0, defaultSelectedValuesProp, /* @__PURE__ */ new Set()),
114
+ () => _OLWEXK5Fcjs.convertSelection.call(void 0, defaultSelectedValuesProp, /* @__PURE__ */ new Set()),
110
115
  [defaultSelectedValuesProp]
111
116
  );
112
117
  const [selectedKeys, setSelectedKeys] = _utils.useControlledState.call(void 0,
@@ -144,7 +149,7 @@ function RichSelectList(props) {
144
149
  _reactariacomponents.Provider,
145
150
  {
146
151
  values: [
147
- [_TYEKVH5Dcjs.RichSelectBoxContext, { autoFocus: true }],
152
+ [_OLWEXK5Fcjs.RichSelectBoxContext, { autoFocus: true }],
148
153
  [_VL5ONCQDcjs.DialogContext, { padding: autosave ? void 0 : 0 }]
149
154
  // this is altering Popover's internal dialog padding to show the sticky save/close buttons. Ideally this could be avoided
150
155
  ],
@@ -171,7 +176,7 @@ function RichSelectList(props) {
171
176
  (_a2 = fieldRef.current) == null ? void 0 : _a2.focus();
172
177
  _interactions.setInteractionModality.call(void 0, "keyboard");
173
178
  },
174
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _WGRHH5TFcjs.Typography_default, { size: 100, color: "gray700", children: label })
179
+ children: label && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "label", { className: SelectList_module_default.label, htmlFor: id, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _27K33DEMcjs.Box_default, { paddingX: 1, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _WGRHH5TFcjs.Typography_default, { size: 100, color: "gray700", children: label }) }) })
175
180
  })
176
181
  ),
177
182
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -179,7 +184,6 @@ function RichSelectList(props) {
179
184
  {
180
185
  ref: overlayHandlerRef,
181
186
  disabled,
182
- accessibilityLabel: label,
183
187
  content: (
184
188
  // 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
185
189
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -188,14 +192,14 @@ function RichSelectList(props) {
188
192
  padding: autosave ? void 0 : 5,
189
193
  dangerouslySetInlineStyle: autosave ? void 0 : { __style: { paddingBottom: 0 } },
190
194
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
191
- _TYEKVH5Dcjs.RichSelectBox_default,
195
+ _OLWEXK5Fcjs.RichSelectBox_default,
192
196
  _X2SDR4SDcjs.__spreadProps.call(void 0, _X2SDR4SDcjs.__spreadValues.call(void 0, {
193
197
  autosave,
194
198
  selectedValues: selectedKeys,
195
199
  defaultSelectedValues: defaultSelectedKeys,
196
- onChange: (selected) => setSelectedKeys(new Set(selected)),
197
- accessibilityLabel: label
200
+ onChange: (selected) => setSelectedKeys(new Set(selected))
198
201
  }, richSelectBoxProps), {
202
+ accessibilityLabel: inputId,
199
203
  children
200
204
  })
201
205
  )
@@ -233,7 +237,7 @@ function RichSelectList(props) {
233
237
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
234
238
  "path",
235
239
  {
236
- fill: errorText ? _LISQ2P5Fcjs.ColorBaseDestructive700 : _LISQ2P5Fcjs.ColorBaseGray800,
240
+ fill: errorText ? _H6JCVQBUcjs.ColorBaseDestructive700 : _H6JCVQBUcjs.ColorBaseGray800,
237
241
  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"
238
242
  }
239
243
  )
@@ -261,11 +265,11 @@ function RichSelectList(props) {
261
265
  }
262
266
  var RichSelectList_default = Object.assign(RichSelectList, {
263
267
  Section: _NFDOY7GEcjs.RichSelectSection_default,
264
- Chip: _VJKUE3B4cjs.RichSelectChip_default,
265
- RadioButton: _VJ2AFMKOcjs.RichSelectRadioButton_default
268
+ Chip: _XSHPEZBAcjs.RichSelectChip_default,
269
+ RadioButton: _I5HC6BIKcjs.RichSelectRadioButton_default
266
270
  });
267
271
 
268
272
 
269
273
 
270
274
  exports.RichSelectList_default = RichSelectList_default;
271
- //# sourceMappingURL=FBF2R2FE.cjs.map
275
+ //# sourceMappingURL=HZ7TRVX2.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/RichSelect/RichSelectList.tsx","css-module:../SelectList/SelectList.module.css#css-module"],"names":["_a"],"mappings":"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","sourcesContent":["import React, {\n type ReactElement,\n useMemo,\n type SyntheticEvent,\n useRef,\n useId,\n} from \"react\";\nimport classNames from \"classnames\";\nimport {\n ColorBaseDestructive700,\n ColorBaseGray800,\n} from \"@cambly/syntax-design-tokens\";\nimport Typography from \"../Typography/Typography\";\nimport useIsHydrated from \"../useIsHydrated\";\nimport Popover from \"../Popover/Popover\";\nimport {\n Label as ReactAriaLabel,\n Provider as ReactAriaProvider,\n} from \"react-aria-components\";\nimport { useControlledState } from \"@react-stately/utils\";\nimport { setInteractionModality } from \"@react-aria/interactions\";\nimport { DialogContext } from \"../Dialog/Dialog\";\nimport styles from \"../SelectList/SelectList.module.css\";\nimport RichSelectBox, {\n RichSelectBoxContext,\n convertSelection,\n type RichSelectBoxProps,\n} from \"./RichSelectBox\";\nimport TapArea from \"../TapArea/TapArea\";\nimport { type OverlayHandlerRef } from \"../react-aria-utils/Triggerable\";\nimport Box from \"../Box/Box\";\nimport RichSelectSection from \"./RichSelectSection\";\nimport RichSelectChip from \"./RichSelectChip\";\nimport RichSelectRadioButton from \"./RichSelectRadioButton\";\nimport { useField } from \"react-aria\";\n\nconst NOOP = () => undefined;\n\nconst iconSize = {\n sm: 20,\n md: 24,\n lg: 24,\n} as const;\n\nexport type RichSelectListProps = RichSelectBoxProps & {\n /** Test id for the select element */\n \"data-testid\"?: string;\n /**\n * Disables the select dropdown entirely\n * @defaultValue false\n */\n disabled?: boolean;\n /** Callback to be called when select is clicked */\n onClick?: (event: SyntheticEvent<HTMLDivElement>) => void;\n /** Text shown below select box if there is an input error. */\n errorText?: string;\n /** Text shown below select box */\n helperText?: string;\n /**\n * RichSelectList id, if not provided, a unique id will be generated\n */\n id?: string;\n /** Text shown above select box */\n label?: string;\n /**\n * Text showing in select box if no option has been chosen.\n * There should always have a placeholder unless there is a default option selected\n */\n placeholderText?: string;\n /** Use to render (override) text shown in the select box */\n selectTextValue?: (selectedValues?: \"all\" | string[]) => string | undefined;\n /**\n * Size of the select box\n *\n * @defaultValue \"md\"\n */\n size?: \"sm\" | \"md\" | \"lg\";\n};\n\n/**\n * [RichSelectList](https://cambly-syntax.vercel.app/?path=/docs/components-richselectlist--docs) is a dropdown menu that allows users to select one or multiple options from a list.\n *\n * Example Usage:\n ```\n <RichSelectList\n label=\"My Label\"\n multiple\n onChange={() => { ... }}\n primaryButtonText=\"Save\"\n primaryButtonAccessibilityLabel=\"Save\"\n secondaryButtonText=\"Clear\"\n secondaryButtonAccessibilityLabel=\"Clear\"\n >\n <RichSelectList.Section label=\"Cities\">\n <RichSelectList.Chip label=\"San Francisco\" value=\"sf\" />\n <RichSelectList.Chip label=\"New York\" value=\"ny\" disabled />\n <RichSelectList.Chip label=\"Tulsa\" value=\"tulsa\" />\n <RichSelectList.Chip label=\"Chicago\" value=\"chicago\" disabled />\n </RichSelectList.Section>\n </RichSelectList>\n ```\n */\nfunction RichSelectList(props: RichSelectListProps): ReactElement {\n const {\n autosave,\n children,\n \"data-testid\": dataTestId,\n disabled: disabledProp = false,\n errorText,\n helperText,\n label,\n id,\n onChange,\n onClick = NOOP,\n placeholderText,\n selectTextValue,\n selectedValues: selectedValuesProp,\n defaultSelectedValues: defaultSelectedValuesProp,\n size = \"md\",\n ...richSelectBoxProps\n } = props;\n\n const reactId = useId();\n const inputId = id ?? reactId;\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated || disabledProp;\n\n // passed to popover, which attached open/close methods\n const overlayHandlerRef = useRef<OverlayHandlerRef>({});\n\n const selectedKeysProp = useMemo(\n () => convertSelection(selectedValuesProp),\n [selectedValuesProp],\n );\n const defaultSelectedKeys = useMemo(\n () => convertSelection(defaultSelectedValuesProp, new Set()),\n [defaultSelectedValuesProp],\n );\n const [selectedKeys, setSelectedKeys] = useControlledState(\n selectedKeysProp!, // eslint-disable-line @typescript-eslint/no-non-null-assertion -- there is a bug in the typedef for useControlledState from react-stately. Internally they rely on value (first arg) able to be undefined\n defaultSelectedKeys,\n (value) => {\n const _value = value === \"all\" ? \"all\" : [...value].map(String);\n onChange(_value);\n if (!autosave) overlayHandlerRef.current.close?.();\n },\n );\n\n const selectedTextValue = useMemo(() => {\n if (selectTextValue)\n return (\n selectTextValue(\n selectedKeys === \"all\" ? \"all\" : [...selectedKeys].map(String),\n ) ?? placeholderText\n );\n if (selectedKeys === \"all\") return \"All selected\";\n if (selectedKeys.size) return `${selectedKeys.size} selected`;\n return placeholderText;\n }, [selectTextValue, selectedKeys, placeholderText]);\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const { labelProps, fieldProps, descriptionProps, errorMessageProps } =\n useField({\n label, // this is the label for the select box\n description: helperText,\n errorMessage: errorText,\n });\n\n return (\n <ReactAriaProvider\n values={[\n [RichSelectBoxContext, { autoFocus: true }],\n [DialogContext, { padding: autosave ? undefined : 0 }], // this is altering Popover's internal dialog padding to show the sticky save/close buttons. Ideally this could be avoided\n ]}\n >\n <div\n className={classNames(styles.selectContainer, {\n [styles.opacityOverlay]: disabled,\n })}\n >\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 {label && (\n <label className={styles.label} htmlFor={id}>\n <Box paddingX={1}>\n <Typography size={100} color=\"gray700\">\n {label}\n </Typography>\n </Box>\n </label>\n )}\n </ReactAriaLabel>\n <Popover\n ref={overlayHandlerRef}\n disabled={disabled}\n content={\n // this Box wrapper is to reapply the padding that was stripped from popover's dialog to show the sticky save/close buttons. Ideally this could be avoided\n <Box\n padding={autosave ? undefined : 5}\n dangerouslySetInlineStyle={\n autosave ? undefined : { __style: { paddingBottom: 0 } }\n }\n >\n <RichSelectBox\n autosave={autosave}\n selectedValues={selectedKeys}\n defaultSelectedValues={defaultSelectedKeys}\n onChange={(selected) => setSelectedKeys(new Set(selected))}\n {...richSelectBoxProps}\n accessibilityLabel={inputId}\n >\n {children}\n </RichSelectBox>\n </Box>\n }\n >\n <TapArea\n data-testid={dataTestId}\n disabled={disabled}\n onClick={onClick}\n rounding={size === \"lg\" ? \"lg\" : \"md\"}\n {...fieldProps}\n ref={fieldRef}\n >\n <div className={styles.selectWrapper}>\n <div\n className={classNames(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_1o5o7_1\",\"selectContainerCambio\":\"_selectContainerCambio_1o5o7_7\",\"opacityOverlay\":\"_opacityOverlay_1o5o7_11\",\"labelCambio\":\"_labelCambio_1o5o7_15\",\"selectWrapper\":\"_selectWrapper_1o5o7_26\",\"selectBox\":\"_selectBox_1o5o7_31\",\"selectBoxClassic\":\"_selectBoxClassic_1o5o7_47\",\"selectBoxCambio\":\"_selectBoxCambio_1o5o7_52\",\"selectMouseFocusStyling\":\"_selectMouseFocusStyling_1o5o7_60\",\"unselected\":\"_unselected_1o5o7_65\",\"selected\":\"_selected_1o5o7_69\",\"arrowIcon\":\"_arrowIcon_1o5o7_73\",\"sm\":\"_sm_1o5o7_87\",\"md\":\"_md_1o5o7_93\",\"lg\":\"_lg_1o5o7_99\",\"selectError\":\"_selectError_1o5o7_105\",\"selectErrorCambio\":\"_selectErrorCambio_1o5o7_111\"}"]}
@@ -4,7 +4,7 @@
4
4
  var _GPW7ICYPcjs = require('./GPW7ICYP.cjs');
5
5
 
6
6
 
7
- var _3K37FYOTcjs = require('./3K37FYOT.cjs');
7
+ var _RYUXG4AScjs = require('./RYUXG4AS.cjs');
8
8
 
9
9
 
10
10
 
@@ -18,7 +18,7 @@ var NOOP = () => void 0;
18
18
  var RichSelectRadioButton_default = _react.forwardRef.call(void 0,
19
19
  function RichSelectRadioButton(props, ref) {
20
20
  const _a = props, { size, name } = _a, otherProps = _X2SDR4SDcjs.__objRest.call(void 0, _a, ["size", "name"]);
21
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _3K37FYOTcjs.RichSelectItem_default, _X2SDR4SDcjs.__spreadProps.call(void 0, _X2SDR4SDcjs.__spreadValues.call(void 0, {}, otherProps), { ref, children: ({ isSelected, isFocusVisible, isDisabled }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _RYUXG4AScjs.RichSelectItem_default, _X2SDR4SDcjs.__spreadProps.call(void 0, _X2SDR4SDcjs.__spreadValues.call(void 0, {}, otherProps), { ref, children: ({ isSelected, isFocusVisible, isDisabled }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22
22
  _GPW7ICYPcjs.RadioButton_default,
23
23
  {
24
24
  checked: isSelected,
@@ -37,4 +37,4 @@ var RichSelectRadioButton_default = _react.forwardRef.call(void 0,
37
37
 
38
38
 
39
39
  exports.RichSelectRadioButton_default = RichSelectRadioButton_default;
40
- //# sourceMappingURL=VJ2AFMKO.cjs.map
40
+ //# sourceMappingURL=I5HC6BIK.cjs.map
@@ -10,17 +10,17 @@ import {
10
10
  } from "./FWQWL53Q.js";
11
11
  import {
12
12
  RichSelectChip_default
13
- } from "./QQSNF45I.js";
13
+ } from "./TIG3BSZG.js";
14
14
  import {
15
15
  RichSelectSection_default
16
16
  } from "./53I23AHM.js";
17
17
  import {
18
18
  RichSelectRadioButton_default
19
- } from "./CTBXXNZP.js";
19
+ } from "./T5U2CKTE.js";
20
20
  import {
21
21
  RichSelectItemContext,
22
22
  RichSelect_module_default
23
- } from "./3AAZZWKY.js";
23
+ } from "./ODMJANSX.js";
24
24
  import {
25
25
  Box_default
26
26
  } from "./YGKZCJF5.js";
@@ -208,4 +208,4 @@ export {
208
208
  RichSelectBoxContext,
209
209
  RichSelectBox_default
210
210
  };
211
- //# sourceMappingURL=XF2RTSNO.js.map
211
+ //# sourceMappingURL=L4RR2XJT.js.map
@@ -3,10 +3,10 @@ import {
3
3
  RichSelectBoxContext,
4
4
  RichSelectBox_default,
5
5
  convertSelection
6
- } from "./XF2RTSNO.js";
6
+ } from "./L4RR2XJT.js";
7
7
  import {
8
8
  RichSelectChip_default
9
- } from "./QQSNF45I.js";
9
+ } from "./TIG3BSZG.js";
10
10
  import {
11
11
  Popover_default
12
12
  } from "./ZLBPIQ2I.js";
@@ -19,13 +19,13 @@ import {
19
19
  import {
20
20
  ColorBaseDestructive700,
21
21
  ColorBaseGray800
22
- } from "./VE7WIAJC.js";
22
+ } from "./EE5VI7K5.js";
23
23
  import {
24
24
  RichSelectSection_default
25
25
  } from "./53I23AHM.js";
26
26
  import {
27
27
  RichSelectRadioButton_default
28
- } from "./CTBXXNZP.js";
28
+ } from "./T5U2CKTE.js";
29
29
  import {
30
30
  Box_default
31
31
  } from "./YGKZCJF5.js";
@@ -44,7 +44,8 @@ import {
44
44
  // src/RichSelect/RichSelectList.tsx
45
45
  import {
46
46
  useMemo,
47
- useRef
47
+ useRef,
48
+ useId
48
49
  } from "react";
49
50
  import classNames from "classnames";
50
51
  import {
@@ -55,7 +56,7 @@ import { useControlledState } from "@react-stately/utils";
55
56
  import { setInteractionModality } from "@react-aria/interactions";
56
57
 
57
58
  // css-module:../SelectList/SelectList.module.css#css-module
58
- var SelectList_module_default = { "selectContainer": "_selectContainer_plzrz_1", "selectContainerCambio": "_selectContainerCambio_plzrz_7", "opacityOverlay": "_opacityOverlay_plzrz_11", "labelCambio": "_labelCambio_plzrz_15", "selectWrapper": "_selectWrapper_plzrz_26", "selectBox": "_selectBox_plzrz_31", "selectBoxClassic": "_selectBoxClassic_plzrz_45", "selectBoxCambio": "_selectBoxCambio_plzrz_50", "selectMouseFocusStyling": "_selectMouseFocusStyling_plzrz_58", "unselected": "_unselected_plzrz_63", "selected": "_selected_plzrz_67", "arrowIcon": "_arrowIcon_plzrz_71", "sm": "_sm_plzrz_85", "md": "_md_plzrz_91", "lg": "_lg_plzrz_97", "selectError": "_selectError_plzrz_103", "selectErrorCambio": "_selectErrorCambio_plzrz_109" };
59
+ var SelectList_module_default = { "selectContainer": "_selectContainer_1o5o7_1", "selectContainerCambio": "_selectContainerCambio_1o5o7_7", "opacityOverlay": "_opacityOverlay_1o5o7_11", "labelCambio": "_labelCambio_1o5o7_15", "selectWrapper": "_selectWrapper_1o5o7_26", "selectBox": "_selectBox_1o5o7_31", "selectBoxClassic": "_selectBoxClassic_1o5o7_47", "selectBoxCambio": "_selectBoxCambio_1o5o7_52", "selectMouseFocusStyling": "_selectMouseFocusStyling_1o5o7_60", "unselected": "_unselected_1o5o7_65", "selected": "_selected_1o5o7_69", "arrowIcon": "_arrowIcon_1o5o7_73", "sm": "_sm_1o5o7_87", "md": "_md_1o5o7_93", "lg": "_lg_1o5o7_99", "selectError": "_selectError_1o5o7_105", "selectErrorCambio": "_selectErrorCambio_1o5o7_111" };
59
60
 
60
61
  // src/RichSelect/RichSelectList.tsx
61
62
  import { useField } from "react-aria";
@@ -75,6 +76,7 @@ function RichSelectList(props) {
75
76
  errorText,
76
77
  helperText,
77
78
  label,
79
+ id,
78
80
  onChange,
79
81
  onClick = NOOP,
80
82
  placeholderText,
@@ -90,6 +92,7 @@ function RichSelectList(props) {
90
92
  "errorText",
91
93
  "helperText",
92
94
  "label",
95
+ "id",
93
96
  "onChange",
94
97
  "onClick",
95
98
  "placeholderText",
@@ -98,6 +101,8 @@ function RichSelectList(props) {
98
101
  "defaultSelectedValues",
99
102
  "size"
100
103
  ]);
104
+ const reactId = useId();
105
+ const inputId = id != null ? id : reactId;
101
106
  const isHydrated = useIsHydrated();
102
107
  const disabled = !isHydrated || disabledProp;
103
108
  const overlayHandlerRef = useRef({});
@@ -171,7 +176,7 @@ function RichSelectList(props) {
171
176
  (_a2 = fieldRef.current) == null ? void 0 : _a2.focus();
172
177
  setInteractionModality("keyboard");
173
178
  },
174
- children: /* @__PURE__ */ jsx(Typography_default, { size: 100, color: "gray700", children: label })
179
+ children: label && /* @__PURE__ */ jsx("label", { className: SelectList_module_default.label, htmlFor: id, children: /* @__PURE__ */ jsx(Box_default, { paddingX: 1, children: /* @__PURE__ */ jsx(Typography_default, { size: 100, color: "gray700", children: label }) }) })
175
180
  })
176
181
  ),
177
182
  /* @__PURE__ */ jsx(
@@ -179,7 +184,6 @@ function RichSelectList(props) {
179
184
  {
180
185
  ref: overlayHandlerRef,
181
186
  disabled,
182
- accessibilityLabel: label,
183
187
  content: (
184
188
  // 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
185
189
  /* @__PURE__ */ jsx(
@@ -193,9 +197,9 @@ function RichSelectList(props) {
193
197
  autosave,
194
198
  selectedValues: selectedKeys,
195
199
  defaultSelectedValues: defaultSelectedKeys,
196
- onChange: (selected) => setSelectedKeys(new Set(selected)),
197
- accessibilityLabel: label
200
+ onChange: (selected) => setSelectedKeys(new Set(selected))
198
201
  }, richSelectBoxProps), {
202
+ accessibilityLabel: inputId,
199
203
  children
200
204
  })
201
205
  )
@@ -268,4 +272,4 @@ var RichSelectList_default = Object.assign(RichSelectList, {
268
272
  export {
269
273
  RichSelectList_default
270
274
  };
271
- //# sourceMappingURL=OFK6S6W2.js.map
275
+ //# sourceMappingURL=NUDTHTSM.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 useId,\n} from \"react\";\nimport classNames from \"classnames\";\nimport {\n ColorBaseDestructive700,\n ColorBaseGray800,\n} from \"@cambly/syntax-design-tokens\";\nimport Typography from \"../Typography/Typography\";\nimport useIsHydrated from \"../useIsHydrated\";\nimport Popover from \"../Popover/Popover\";\nimport {\n Label as ReactAriaLabel,\n Provider as ReactAriaProvider,\n} from \"react-aria-components\";\nimport { useControlledState } from \"@react-stately/utils\";\nimport { setInteractionModality } from \"@react-aria/interactions\";\nimport { DialogContext } from \"../Dialog/Dialog\";\nimport styles from \"../SelectList/SelectList.module.css\";\nimport RichSelectBox, {\n RichSelectBoxContext,\n convertSelection,\n type RichSelectBoxProps,\n} from \"./RichSelectBox\";\nimport TapArea from \"../TapArea/TapArea\";\nimport { type OverlayHandlerRef } from \"../react-aria-utils/Triggerable\";\nimport Box from \"../Box/Box\";\nimport RichSelectSection from \"./RichSelectSection\";\nimport RichSelectChip from \"./RichSelectChip\";\nimport RichSelectRadioButton from \"./RichSelectRadioButton\";\nimport { useField } from \"react-aria\";\n\nconst NOOP = () => undefined;\n\nconst iconSize = {\n sm: 20,\n md: 24,\n lg: 24,\n} as const;\n\nexport type RichSelectListProps = RichSelectBoxProps & {\n /** Test id for the select element */\n \"data-testid\"?: string;\n /**\n * Disables the select dropdown entirely\n * @defaultValue false\n */\n disabled?: boolean;\n /** Callback to be called when select is clicked */\n onClick?: (event: SyntheticEvent<HTMLDivElement>) => void;\n /** Text shown below select box if there is an input error. */\n errorText?: string;\n /** Text shown below select box */\n helperText?: string;\n /**\n * RichSelectList id, if not provided, a unique id will be generated\n */\n id?: string;\n /** Text shown above select box */\n label?: string;\n /**\n * Text showing in select box if no option has been chosen.\n * There should always have a placeholder unless there is a default option selected\n */\n placeholderText?: string;\n /** Use to render (override) text shown in the select box */\n selectTextValue?: (selectedValues?: \"all\" | string[]) => string | undefined;\n /**\n * Size of the select box\n *\n * @defaultValue \"md\"\n */\n size?: \"sm\" | \"md\" | \"lg\";\n};\n\n/**\n * [RichSelectList](https://cambly-syntax.vercel.app/?path=/docs/components-richselectlist--docs) is a dropdown menu that allows users to select one or multiple options from a list.\n *\n * Example Usage:\n ```\n <RichSelectList\n label=\"My Label\"\n multiple\n onChange={() => { ... }}\n primaryButtonText=\"Save\"\n primaryButtonAccessibilityLabel=\"Save\"\n secondaryButtonText=\"Clear\"\n secondaryButtonAccessibilityLabel=\"Clear\"\n >\n <RichSelectList.Section label=\"Cities\">\n <RichSelectList.Chip label=\"San Francisco\" value=\"sf\" />\n <RichSelectList.Chip label=\"New York\" value=\"ny\" disabled />\n <RichSelectList.Chip label=\"Tulsa\" value=\"tulsa\" />\n <RichSelectList.Chip label=\"Chicago\" value=\"chicago\" disabled />\n </RichSelectList.Section>\n </RichSelectList>\n ```\n */\nfunction RichSelectList(props: RichSelectListProps): ReactElement {\n const {\n autosave,\n children,\n \"data-testid\": dataTestId,\n disabled: disabledProp = false,\n errorText,\n helperText,\n label,\n id,\n onChange,\n onClick = NOOP,\n placeholderText,\n selectTextValue,\n selectedValues: selectedValuesProp,\n defaultSelectedValues: defaultSelectedValuesProp,\n size = \"md\",\n ...richSelectBoxProps\n } = props;\n\n const reactId = useId();\n const inputId = id ?? reactId;\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated || disabledProp;\n\n // passed to popover, which attached open/close methods\n const overlayHandlerRef = useRef<OverlayHandlerRef>({});\n\n const selectedKeysProp = useMemo(\n () => convertSelection(selectedValuesProp),\n [selectedValuesProp],\n );\n const defaultSelectedKeys = useMemo(\n () => convertSelection(defaultSelectedValuesProp, new Set()),\n [defaultSelectedValuesProp],\n );\n const [selectedKeys, setSelectedKeys] = useControlledState(\n selectedKeysProp!, // eslint-disable-line @typescript-eslint/no-non-null-assertion -- there is a bug in the typedef for useControlledState from react-stately. Internally they rely on value (first arg) able to be undefined\n defaultSelectedKeys,\n (value) => {\n const _value = value === \"all\" ? \"all\" : [...value].map(String);\n onChange(_value);\n if (!autosave) overlayHandlerRef.current.close?.();\n },\n );\n\n const selectedTextValue = useMemo(() => {\n if (selectTextValue)\n return (\n selectTextValue(\n selectedKeys === \"all\" ? \"all\" : [...selectedKeys].map(String),\n ) ?? placeholderText\n );\n if (selectedKeys === \"all\") return \"All selected\";\n if (selectedKeys.size) return `${selectedKeys.size} selected`;\n return placeholderText;\n }, [selectTextValue, selectedKeys, placeholderText]);\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const { labelProps, fieldProps, descriptionProps, errorMessageProps } =\n useField({\n label, // this is the label for the select box\n description: helperText,\n errorMessage: errorText,\n });\n\n return (\n <ReactAriaProvider\n values={[\n [RichSelectBoxContext, { autoFocus: true }],\n [DialogContext, { padding: autosave ? undefined : 0 }], // this is altering Popover's internal dialog padding to show the sticky save/close buttons. Ideally this could be avoided\n ]}\n >\n <div\n className={classNames(styles.selectContainer, {\n [styles.opacityOverlay]: disabled,\n })}\n >\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 {label && (\n <label className={styles.label} htmlFor={id}>\n <Box paddingX={1}>\n <Typography size={100} color=\"gray700\">\n {label}\n </Typography>\n </Box>\n </label>\n )}\n </ReactAriaLabel>\n <Popover\n ref={overlayHandlerRef}\n disabled={disabled}\n content={\n // this Box wrapper is to reapply the padding that was stripped from popover's dialog to show the sticky save/close buttons. Ideally this could be avoided\n <Box\n padding={autosave ? undefined : 5}\n dangerouslySetInlineStyle={\n autosave ? undefined : { __style: { paddingBottom: 0 } }\n }\n >\n <RichSelectBox\n autosave={autosave}\n selectedValues={selectedKeys}\n defaultSelectedValues={defaultSelectedKeys}\n onChange={(selected) => setSelectedKeys(new Set(selected))}\n {...richSelectBoxProps}\n accessibilityLabel={inputId}\n >\n {children}\n </RichSelectBox>\n </Box>\n }\n >\n <TapArea\n data-testid={dataTestId}\n disabled={disabled}\n onClick={onClick}\n rounding={size === \"lg\" ? \"lg\" : \"md\"}\n {...fieldProps}\n ref={fieldRef}\n >\n <div className={styles.selectWrapper}>\n <div\n className={classNames(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_1o5o7_1\",\"selectContainerCambio\":\"_selectContainerCambio_1o5o7_7\",\"opacityOverlay\":\"_opacityOverlay_1o5o7_11\",\"labelCambio\":\"_labelCambio_1o5o7_15\",\"selectWrapper\":\"_selectWrapper_1o5o7_26\",\"selectBox\":\"_selectBox_1o5o7_31\",\"selectBoxClassic\":\"_selectBoxClassic_1o5o7_47\",\"selectBoxCambio\":\"_selectBoxCambio_1o5o7_52\",\"selectMouseFocusStyling\":\"_selectMouseFocusStyling_1o5o7_60\",\"unselected\":\"_unselected_1o5o7_65\",\"selected\":\"_selected_1o5o7_69\",\"arrowIcon\":\"_arrowIcon_1o5o7_73\",\"sm\":\"_sm_1o5o7_87\",\"md\":\"_md_1o5o7_93\",\"lg\":\"_lg_1o5o7_99\",\"selectError\":\"_selectError_1o5o7_105\",\"selectErrorCambio\":\"_selectErrorCambio_1o5o7_111\"}"],"mappings":"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","names":["_a"]}
@@ -15,7 +15,7 @@ import {
15
15
  } from "react-aria-components";
16
16
 
17
17
  // css-module:./RichSelect.module.css#css-module
18
- var RichSelect_module_default = { "richSelectItem": "_richSelectItem_8ycz0_1", "richSelectBox": "_richSelectBox_8ycz0_2" };
18
+ var RichSelect_module_default = { "richSelectItem": "_richSelectItem_dvxf4_1", "richSelectBox": "_richSelectBox_dvxf4_2", "label": "_label_dvxf4_6" };
19
19
 
20
20
  // src/RichSelect/RichSelectItem.tsx
21
21
  import { jsx } from "react/jsx-runtime";
@@ -50,4 +50,4 @@ export {
50
50
  RichSelectItemContext,
51
51
  RichSelectItem_default
52
52
  };
53
- //# sourceMappingURL=3AAZZWKY.js.map
53
+ //# sourceMappingURL=ODMJANSX.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/RichSelect/RichSelectItem.tsx","css-module:./RichSelect.module.css#css-module"],"sourcesContent":["import React, {\n forwardRef,\n type ReactElement,\n createContext,\n useEffect,\n useContext,\n} from \"react\";\nimport {\n ListBoxItem as ReactAriaListBoxItem,\n type ListBoxItemRenderProps,\n} from \"react-aria-components\";\nimport styles from \"./RichSelect.module.css\";\nimport { type Key } from \"react-aria\";\nimport useIsHydrated from \"../useIsHydrated\";\n\nexport type RichSelectItemProps = {\n \"data-testid\"?: string;\n value: string;\n label: string;\n name?: string;\n disabled?: boolean;\n};\n\nexport const RichSelectItemContext = createContext<{\n disableKey?: (key: Key, value: boolean) => void;\n}>({});\n\nexport default forwardRef<\n HTMLDivElement,\n RichSelectItemProps & {\n /** The children of the component. A function may be provided to alter the children based on component state. */\n children?:\n | string\n | ReactElement\n | ((values: ListBoxItemRenderProps) => ReactElement);\n }\n>(function RichSelectItem(props, ref): ReactElement {\n const {\n \"data-testid\": dataTestId,\n value,\n label,\n disabled: disabledProp = false,\n children,\n } = props;\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated || disabledProp;\n\n const { disableKey } = useContext(RichSelectItemContext);\n useEffect(() => disableKey?.(value, disabled), [disableKey, disabled, value]);\n return (\n <ReactAriaListBoxItem\n id={value}\n textValue={label}\n className={styles.richSelectItem}\n data-testid={dataTestId}\n ref={ref}\n >\n {children}\n </ReactAriaListBoxItem>\n );\n});\n","import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/RichSelect/RichSelect.module.css\"; export default {\"richSelectItem\":\"_richSelectItem_8ycz0_1\",\"richSelectBox\":\"_richSelectBox_8ycz0_2\"}"],"mappings":";;;;;;AAAA;AAAA,EACE;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE,eAAe;AAAA,OAEV;;;ACV6F,IAAO,4BAAQ,EAAC,kBAAiB,2BAA0B,iBAAgB,yBAAwB;;;ADkDnM;AA3BG,IAAM,wBAAwB,cAElC,CAAC,CAAC;AAEL,IAAO,yBAAQ,WASb,SAAS,eAAe,OAAO,KAAmB;AAClD,QAAM;AAAA,IACJ,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA,UAAU,eAAe;AAAA,IACzB;AAAA,EACF,IAAI;AACJ,QAAM,aAAa,cAAc;AACjC,QAAM,WAAW,CAAC,cAAc;AAEhC,QAAM,EAAE,WAAW,IAAI,WAAW,qBAAqB;AACvD,YAAU,MAAM,yCAAa,OAAO,WAAW,CAAC,YAAY,UAAU,KAAK,CAAC;AAC5E,SACE;AAAA,IAAC;AAAA;AAAA,MACC,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,WAAW,0BAAO;AAAA,MAClB,eAAa;AAAA,MACb;AAAA,MAEC;AAAA;AAAA,EACH;AAEJ,CAAC;","names":[]}
1
+ {"version":3,"sources":["../../src/RichSelect/RichSelectItem.tsx","css-module:./RichSelect.module.css#css-module"],"sourcesContent":["import React, {\n forwardRef,\n type ReactElement,\n createContext,\n useEffect,\n useContext,\n} from \"react\";\nimport {\n ListBoxItem as ReactAriaListBoxItem,\n type ListBoxItemRenderProps,\n} from \"react-aria-components\";\nimport styles from \"./RichSelect.module.css\";\nimport { type Key } from \"react-aria\";\nimport useIsHydrated from \"../useIsHydrated\";\n\nexport type RichSelectItemProps = {\n \"data-testid\"?: string;\n value: string;\n label: string;\n name?: string;\n disabled?: boolean;\n};\n\nexport const RichSelectItemContext = createContext<{\n disableKey?: (key: Key, value: boolean) => void;\n}>({});\n\nexport default forwardRef<\n HTMLDivElement,\n RichSelectItemProps & {\n /** The children of the component. A function may be provided to alter the children based on component state. */\n children?:\n | string\n | ReactElement\n | ((values: ListBoxItemRenderProps) => ReactElement);\n }\n>(function RichSelectItem(props, ref): ReactElement {\n const {\n \"data-testid\": dataTestId,\n value,\n label,\n disabled: disabledProp = false,\n children,\n } = props;\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated || disabledProp;\n\n const { disableKey } = useContext(RichSelectItemContext);\n useEffect(() => disableKey?.(value, disabled), [disableKey, disabled, value]);\n return (\n <ReactAriaListBoxItem\n id={value}\n textValue={label}\n className={styles.richSelectItem}\n data-testid={dataTestId}\n ref={ref}\n >\n {children}\n </ReactAriaListBoxItem>\n );\n});\n","import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/RichSelect/RichSelect.module.css\"; export default {\"richSelectItem\":\"_richSelectItem_dvxf4_1\",\"richSelectBox\":\"_richSelectBox_dvxf4_2\",\"label\":\"_label_dvxf4_6\"}"],"mappings":";;;;;;AAAA;AAAA,EACE;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE,eAAe;AAAA,OAEV;;;ACV6F,IAAO,4BAAQ,EAAC,kBAAiB,2BAA0B,iBAAgB,0BAAyB,SAAQ,iBAAgB;;;ADkD5N;AA3BG,IAAM,wBAAwB,cAElC,CAAC,CAAC;AAEL,IAAO,yBAAQ,WASb,SAAS,eAAe,OAAO,KAAmB;AAClD,QAAM;AAAA,IACJ,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA,UAAU,eAAe;AAAA,IACzB;AAAA,EACF,IAAI;AACJ,QAAM,aAAa,cAAc;AACjC,QAAM,WAAW,CAAC,cAAc;AAEhC,QAAM,EAAE,WAAW,IAAI,WAAW,qBAAqB;AACvD,YAAU,MAAM,yCAAa,OAAO,WAAW,CAAC,YAAY,UAAU,KAAK,CAAC;AAC5E,SACE;AAAA,IAAC;AAAA;AAAA,MACC,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,WAAW,0BAAO;AAAA,MAClB,eAAa;AAAA,MACb;AAAA,MAEC;AAAA;AAAA,EACH;AAEJ,CAAC;","names":[]}
@@ -10,17 +10,17 @@ var _4JXNDR7Bcjs = require('./4JXNDR7B.cjs');
10
10
  var _VDAYXRSAcjs = require('./VDAYXRSA.cjs');
11
11
 
12
12
 
13
- var _VJKUE3B4cjs = require('./VJKUE3B4.cjs');
13
+ var _XSHPEZBAcjs = require('./XSHPEZBA.cjs');
14
14
 
15
15
 
16
16
  var _NFDOY7GEcjs = require('./NFDOY7GE.cjs');
17
17
 
18
18
 
19
- var _VJ2AFMKOcjs = require('./VJ2AFMKO.cjs');
19
+ var _I5HC6BIKcjs = require('./I5HC6BIK.cjs');
20
20
 
21
21
 
22
22
 
23
- var _3K37FYOTcjs = require('./3K37FYOT.cjs');
23
+ var _RYUXG4AScjs = require('./RYUXG4AS.cjs');
24
24
 
25
25
 
26
26
  var _27K33DEMcjs = require('./27K33DEM.cjs');
@@ -125,7 +125,7 @@ var RichSelectBox = _react.forwardRef.call(void 0,
125
125
  });
126
126
  }, []);
127
127
  const { autoFocus } = _react.useContext.call(void 0, RichSelectBoxContext);
128
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _3K37FYOTcjs.RichSelectItemContext.Provider, { value: { disableKey }, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _27K33DEMcjs.Box_default, { children: [
128
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _RYUXG4AScjs.RichSelectItemContext.Provider, { value: { disableKey }, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _27K33DEMcjs.Box_default, { children: [
129
129
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
130
130
  _reactariacomponents.ListBox,
131
131
  {
@@ -139,7 +139,7 @@ var RichSelectBox = _react.forwardRef.call(void 0,
139
139
  selectedKeys: stagedKeys,
140
140
  onSelectionChange: stageChanges,
141
141
  disabledKeys: disabledKeysComposed,
142
- className: _3K37FYOTcjs.RichSelect_module_default.richSelectBox,
142
+ className: _RYUXG4AScjs.RichSelect_module_default.richSelectBox,
143
143
  children
144
144
  }
145
145
  ),
@@ -199,8 +199,8 @@ var RichSelectBox = _react.forwardRef.call(void 0,
199
199
  );
200
200
  var RichSelectBox_default = Object.assign(RichSelectBox, {
201
201
  Section: _NFDOY7GEcjs.RichSelectSection_default,
202
- Chip: _VJKUE3B4cjs.RichSelectChip_default,
203
- RadioButton: _VJ2AFMKOcjs.RichSelectRadioButton_default
202
+ Chip: _XSHPEZBAcjs.RichSelectChip_default,
203
+ RadioButton: _I5HC6BIKcjs.RichSelectRadioButton_default
204
204
  });
205
205
 
206
206
 
@@ -208,4 +208,4 @@ var RichSelectBox_default = Object.assign(RichSelectBox, {
208
208
 
209
209
 
210
210
  exports.convertSelection = convertSelection; exports.RichSelectBoxContext = RichSelectBoxContext; exports.RichSelectBox_default = RichSelectBox_default;
211
- //# sourceMappingURL=TYEKVH5D.cjs.map
211
+ //# sourceMappingURL=OLWEXK5F.cjs.map
@@ -15,7 +15,7 @@ var _react = require('react');
15
15
  var _reactariacomponents = require('react-aria-components');
16
16
 
17
17
  // css-module:./RichSelect.module.css#css-module
18
- var RichSelect_module_default = { "richSelectItem": "_richSelectItem_8ycz0_1", "richSelectBox": "_richSelectBox_8ycz0_2" };
18
+ var RichSelect_module_default = { "richSelectItem": "_richSelectItem_dvxf4_1", "richSelectBox": "_richSelectBox_dvxf4_2", "label": "_label_dvxf4_6" };
19
19
 
20
20
  // src/RichSelect/RichSelectItem.tsx
21
21
  var _jsxruntime = require('react/jsx-runtime');
@@ -50,4 +50,4 @@ var RichSelectItem_default = _react.forwardRef.call(void 0, function RichSelectI
50
50
 
51
51
 
52
52
  exports.RichSelect_module_default = RichSelect_module_default; exports.RichSelectItemContext = RichSelectItemContext; exports.RichSelectItem_default = RichSelectItem_default;
53
- //# sourceMappingURL=3K37FYOT.cjs.map
53
+ //# sourceMappingURL=RYUXG4AS.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/RichSelect/RichSelectItem.tsx","css-module:./RichSelect.module.css#css-module"],"names":[],"mappings":";;;;;;AAAA;AAAA,EACE;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE,eAAe;AAAA,OAEV;;;ACV6F,IAAO,4BAAQ,EAAC,kBAAiB,2BAA0B,iBAAgB,0BAAyB,SAAQ,iBAAgB;;;ADkD5N;AA3BG,IAAM,wBAAwB,cAElC,CAAC,CAAC;AAEL,IAAO,yBAAQ,WASb,SAAS,eAAe,OAAO,KAAmB;AAClD,QAAM;AAAA,IACJ,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA,UAAU,eAAe;AAAA,IACzB;AAAA,EACF,IAAI;AACJ,QAAM,aAAa,cAAc;AACjC,QAAM,WAAW,CAAC,cAAc;AAEhC,QAAM,EAAE,WAAW,IAAI,WAAW,qBAAqB;AACvD,YAAU,MAAM,yCAAa,OAAO,WAAW,CAAC,YAAY,UAAU,KAAK,CAAC;AAC5E,SACE;AAAA,IAAC;AAAA;AAAA,MACC,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,WAAW,0BAAO;AAAA,MAClB,eAAa;AAAA,MACb;AAAA,MAEC;AAAA;AAAA,EACH;AAEJ,CAAC","sourcesContent":["import React, {\n forwardRef,\n type ReactElement,\n createContext,\n useEffect,\n useContext,\n} from \"react\";\nimport {\n ListBoxItem as ReactAriaListBoxItem,\n type ListBoxItemRenderProps,\n} from \"react-aria-components\";\nimport styles from \"./RichSelect.module.css\";\nimport { type Key } from \"react-aria\";\nimport useIsHydrated from \"../useIsHydrated\";\n\nexport type RichSelectItemProps = {\n \"data-testid\"?: string;\n value: string;\n label: string;\n name?: string;\n disabled?: boolean;\n};\n\nexport const RichSelectItemContext = createContext<{\n disableKey?: (key: Key, value: boolean) => void;\n}>({});\n\nexport default forwardRef<\n HTMLDivElement,\n RichSelectItemProps & {\n /** The children of the component. A function may be provided to alter the children based on component state. */\n children?:\n | string\n | ReactElement\n | ((values: ListBoxItemRenderProps) => ReactElement);\n }\n>(function RichSelectItem(props, ref): ReactElement {\n const {\n \"data-testid\": dataTestId,\n value,\n label,\n disabled: disabledProp = false,\n children,\n } = props;\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated || disabledProp;\n\n const { disableKey } = useContext(RichSelectItemContext);\n useEffect(() => disableKey?.(value, disabled), [disableKey, disabled, value]);\n return (\n <ReactAriaListBoxItem\n id={value}\n textValue={label}\n className={styles.richSelectItem}\n data-testid={dataTestId}\n ref={ref}\n >\n {children}\n </ReactAriaListBoxItem>\n );\n});\n","import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/RichSelect/RichSelect.module.css\"; export default {\"richSelectItem\":\"_richSelectItem_dvxf4_1\",\"richSelectBox\":\"_richSelectBox_dvxf4_2\",\"label\":\"_label_dvxf4_6\"}"]}
@@ -5,7 +5,7 @@ var _4UJE5GMHcjs = require('./4UJE5GMH.cjs');
5
5
 
6
6
 
7
7
 
8
- var _LISQ2P5Fcjs = require('./LISQ2P5F.cjs');
8
+ var _H6JCVQBUcjs = require('./H6JCVQBU.cjs');
9
9
 
10
10
 
11
11
  var _XLUVINJWcjs = require('./XLUVINJW.cjs');
@@ -33,7 +33,7 @@ var _react = require('react');
33
33
  var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames);
34
34
 
35
35
  // css-module:./SelectList.module.css#css-module
36
- var SelectList_module_default = { "selectContainer": "_selectContainer_plzrz_1", "selectContainerCambio": "_selectContainerCambio_plzrz_7", "opacityOverlay": "_opacityOverlay_plzrz_11", "labelCambio": "_labelCambio_plzrz_15", "selectWrapper": "_selectWrapper_plzrz_26", "selectBox": "_selectBox_plzrz_31", "selectBoxClassic": "_selectBoxClassic_plzrz_45", "selectBoxCambio": "_selectBoxCambio_plzrz_50", "selectMouseFocusStyling": "_selectMouseFocusStyling_plzrz_58", "unselected": "_unselected_plzrz_63", "selected": "_selected_plzrz_67", "arrowIcon": "_arrowIcon_plzrz_71", "sm": "_sm_plzrz_85", "md": "_md_plzrz_91", "lg": "_lg_plzrz_97", "selectError": "_selectError_plzrz_103", "selectErrorCambio": "_selectErrorCambio_plzrz_109" };
36
+ var SelectList_module_default = { "selectContainer": "_selectContainer_1o5o7_1", "selectContainerCambio": "_selectContainerCambio_1o5o7_7", "opacityOverlay": "_opacityOverlay_1o5o7_11", "labelCambio": "_labelCambio_1o5o7_15", "selectWrapper": "_selectWrapper_1o5o7_26", "selectBox": "_selectBox_1o5o7_31", "selectBoxClassic": "_selectBoxClassic_1o5o7_47", "selectBoxCambio": "_selectBoxCambio_1o5o7_52", "selectMouseFocusStyling": "_selectMouseFocusStyling_1o5o7_60", "unselected": "_unselected_1o5o7_65", "selected": "_selected_1o5o7_69", "arrowIcon": "_arrowIcon_1o5o7_73", "sm": "_sm_1o5o7_87", "md": "_md_1o5o7_93", "lg": "_lg_1o5o7_99", "selectError": "_selectError_1o5o7_105", "selectErrorCambio": "_selectErrorCambio_1o5o7_111" };
37
37
 
38
38
  // src/SelectList/SelectList.tsx
39
39
  var _jsxruntime = require('react/jsx-runtime');
@@ -121,7 +121,7 @@ function SelectList({
121
121
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
122
122
  "path",
123
123
  {
124
- fill: errorText ? _LISQ2P5Fcjs.ColorBaseDestructive700 : _LISQ2P5Fcjs.ColorBaseGray800,
124
+ fill: errorText ? _H6JCVQBUcjs.ColorBaseDestructive700 : _H6JCVQBUcjs.ColorBaseGray800,
125
125
  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"
126
126
  }
127
127
  )
@@ -145,4 +145,4 @@ SelectList.Option = _4UJE5GMHcjs.SelectOption_default;
145
145
 
146
146
 
147
147
  exports.SelectList = SelectList;
148
- //# sourceMappingURL=EMWRSUWK.cjs.map
148
+ //# sourceMappingURL=RZCA77DH.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/SelectList/SelectList.tsx","css-module:./SelectList.module.css#css-module"],"names":[],"mappings":"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","sourcesContent":["import React, {\n type ReactElement,\n type ReactNode,\n useId,\n useState,\n} from \"react\";\nimport Box from \"../Box/Box\";\nimport classNames from \"classnames\";\nimport {\n ColorBaseDestructive700,\n ColorBaseGray800,\n} from \"@cambly/syntax-design-tokens\";\nimport Typography from \"../Typography/Typography\";\nimport styles from \"./SelectList.module.css\";\nimport focusStyles from \"../Focus.module.css\";\nimport SelectOption from \"./SelectOption\";\nimport useFocusVisible from \"../useFocusVisible\";\nimport useIsHydrated from \"../useIsHydrated\";\nimport { useTheme } from \"../ThemeProvider/ThemeProvider\";\n\nconst iconSize = {\n sm: 20,\n md: 24,\n lg: 24,\n} as const;\n\n/**\n * [SelectList](https://cambly-syntax.vercel.app/?path=/docs/components-selectlist--docs) is a dropdown menu that allows users to select one option from a list.\n */\nexport default function SelectList({\n children,\n \"data-testid\": dataTestId,\n disabled: disabledProp = false,\n errorText,\n helperText,\n id,\n label,\n onChange,\n onClick,\n placeholderText,\n selectedValue = \"\",\n size = \"md\",\n}: {\n /**\n * One or more SelectList.Option components.\n */\n children: ReactNode;\n /**\n * Test id for the select element\n */\n \"data-testid\"?: string;\n /**\n * true if the select dropdown is disabled\n * @defaultValue false\n */\n disabled?: boolean;\n /**\n * Callback to be called when select is clicked\n */\n onClick?: React.MouseEventHandler<HTMLSelectElement>;\n /**\n * Text shown below select box if there is an input error.\n */\n errorText?: string;\n /**\n * Text shown below select box\n */\n helperText?: string;\n /**\n * Id of the select element\n */\n id?: string;\n /**\n * Text shown above select box\n */\n label: string;\n /**\n * The callback to be called when an option is selected\n */\n onChange: React.ChangeEventHandler<HTMLSelectElement>;\n /**\n * Text showing in select box if no option has been chosen.\n * We should always have a placeholder unless there is a default option selected\n */\n placeholderText?: string;\n /**\n * Value of the currently selected option\n */\n selectedValue?: string;\n /**\n * Size of the select box\n * * `sm`: 32px\n * * `md`: 40px\n * * `lg`: 48px\n *\n * @defaultValue \"md\"\n */\n size?: \"sm\" | \"md\" | \"lg\";\n}): ReactElement {\n const reactId = useId();\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated || disabledProp;\n const { themeName } = useTheme();\n const selectId = id ?? reactId;\n const { isFocusVisible } = useFocusVisible();\n const [isFocused, setIsFocused] = useState(false);\n\n return (\n <div\n className={classNames(styles.selectContainer, {\n [styles.opacityOverlay]: disabled,\n [styles.selectContainerCambio]: themeName === \"cambio\",\n })}\n >\n {label && (\n <label\n htmlFor={selectId}\n className={classNames(themeName === \"cambio\" && styles.labelCambio)}\n >\n <Box paddingX={themeName === \"classic\" ? 1 : 3}>\n <Typography size={100} color=\"gray700\">\n {label}\n </Typography>\n </Box>\n </label>\n )}\n <div className={styles.selectWrapper}>\n <select\n id={selectId}\n data-testid={dataTestId}\n disabled={disabled}\n className={classNames(\n styles.selectBox,\n themeName === \"classic\"\n ? styles.selectBoxClassic\n : styles.selectBoxCambio,\n themeName === \"classic\" && styles[size],\n {\n [styles.unselected]: !selectedValue && !errorText,\n [styles.selected]: selectedValue && !errorText,\n [themeName === \"classic\"\n ? styles.selectError\n : styles.selectErrorCambio]: errorText,\n [focusStyles.accessibilityOutlineFocus]:\n isFocused && isFocusVisible, // for focus keyboard\n [styles.selectMouseFocusStyling]: isFocused && !isFocusVisible, // for focus mouse\n },\n )}\n onChange={onChange}\n onClick={onClick}\n value={\n placeholderText && !selectedValue ? placeholderText : selectedValue\n }\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n >\n {placeholderText && (\n <option disabled value={placeholderText}>\n {placeholderText}\n </option>\n )}\n {children}\n </select>\n <div className={styles.arrowIcon}>\n <svg\n focusable=\"false\"\n aria-hidden=\"true\"\n viewBox=\"0 0 24 24\"\n width={themeName === \"classic\" ? iconSize[size] : 24}\n >\n <path\n fill={errorText ? ColorBaseDestructive700 : ColorBaseGray800}\n d=\"M15.88 9.29 12 13.17 8.12 9.29a.9959.9959 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41l4.59 4.59c.39.39 1.02.39 1.41 0l4.59-4.59c.39-.39.39-1.02 0-1.41-.39-.38-1.03-.39-1.42 0z\"\n />\n </svg>\n </div>\n </div>\n {(helperText || errorText) && (\n <Box paddingX={themeName === \"classic\" ? 1 : 0}>\n <Typography\n size={100}\n color={errorText ? \"destructive-primary\" : \"gray700\"}\n >\n {errorText ? errorText : helperText}\n </Typography>\n </Box>\n )}\n </div>\n );\n}\n\nSelectList.Option = SelectOption;\n","import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/SelectList/SelectList.module.css\"; export default {\"selectContainer\":\"_selectContainer_plzrz_1\",\"selectContainerCambio\":\"_selectContainerCambio_plzrz_7\",\"opacityOverlay\":\"_opacityOverlay_plzrz_11\",\"labelCambio\":\"_labelCambio_plzrz_15\",\"selectWrapper\":\"_selectWrapper_plzrz_26\",\"selectBox\":\"_selectBox_plzrz_31\",\"selectBoxClassic\":\"_selectBoxClassic_plzrz_45\",\"selectBoxCambio\":\"_selectBoxCambio_plzrz_50\",\"selectMouseFocusStyling\":\"_selectMouseFocusStyling_plzrz_58\",\"unselected\":\"_unselected_plzrz_63\",\"selected\":\"_selected_plzrz_67\",\"arrowIcon\":\"_arrowIcon_plzrz_71\",\"sm\":\"_sm_plzrz_85\",\"md\":\"_md_plzrz_91\",\"lg\":\"_lg_plzrz_97\",\"selectError\":\"_selectError_plzrz_103\",\"selectErrorCambio\":\"_selectErrorCambio_plzrz_109\"}"]}
1
+ {"version":3,"sources":["../../src/SelectList/SelectList.tsx","css-module:./SelectList.module.css#css-module"],"names":[],"mappings":"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","sourcesContent":["import React, {\n type ReactElement,\n type ReactNode,\n useId,\n useState,\n} from \"react\";\nimport Box from \"../Box/Box\";\nimport classNames from \"classnames\";\nimport {\n ColorBaseDestructive700,\n ColorBaseGray800,\n} from \"@cambly/syntax-design-tokens\";\nimport Typography from \"../Typography/Typography\";\nimport styles from \"./SelectList.module.css\";\nimport focusStyles from \"../Focus.module.css\";\nimport SelectOption from \"./SelectOption\";\nimport useFocusVisible from \"../useFocusVisible\";\nimport useIsHydrated from \"../useIsHydrated\";\nimport { useTheme } from \"../ThemeProvider/ThemeProvider\";\n\nconst iconSize = {\n sm: 20,\n md: 24,\n lg: 24,\n} as const;\n\n/**\n * [SelectList](https://cambly-syntax.vercel.app/?path=/docs/components-selectlist--docs) is a dropdown menu that allows users to select one option from a list.\n */\nexport default function SelectList({\n children,\n \"data-testid\": dataTestId,\n disabled: disabledProp = false,\n errorText,\n helperText,\n id,\n label,\n onChange,\n onClick,\n placeholderText,\n selectedValue = \"\",\n size = \"md\",\n}: {\n /**\n * One or more SelectList.Option components.\n */\n children: ReactNode;\n /**\n * Test id for the select element\n */\n \"data-testid\"?: string;\n /**\n * true if the select dropdown is disabled\n * @defaultValue false\n */\n disabled?: boolean;\n /**\n * Callback to be called when select is clicked\n */\n onClick?: React.MouseEventHandler<HTMLSelectElement>;\n /**\n * Text shown below select box if there is an input error.\n */\n errorText?: string;\n /**\n * Text shown below select box\n */\n helperText?: string;\n /**\n * Id of the select element\n */\n id?: string;\n /**\n * Text shown above select box\n */\n label: string;\n /**\n * The callback to be called when an option is selected\n */\n onChange: React.ChangeEventHandler<HTMLSelectElement>;\n /**\n * Text showing in select box if no option has been chosen.\n * We should always have a placeholder unless there is a default option selected\n */\n placeholderText?: string;\n /**\n * Value of the currently selected option\n */\n selectedValue?: string;\n /**\n * Size of the select box\n * * `sm`: 32px\n * * `md`: 40px\n * * `lg`: 48px\n *\n * @defaultValue \"md\"\n */\n size?: \"sm\" | \"md\" | \"lg\";\n}): ReactElement {\n const reactId = useId();\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated || disabledProp;\n const { themeName } = useTheme();\n const selectId = id ?? reactId;\n const { isFocusVisible } = useFocusVisible();\n const [isFocused, setIsFocused] = useState(false);\n\n return (\n <div\n className={classNames(styles.selectContainer, {\n [styles.opacityOverlay]: disabled,\n [styles.selectContainerCambio]: themeName === \"cambio\",\n })}\n >\n {label && (\n <label\n htmlFor={selectId}\n className={classNames(themeName === \"cambio\" && styles.labelCambio)}\n >\n <Box paddingX={themeName === \"classic\" ? 1 : 3}>\n <Typography size={100} color=\"gray700\">\n {label}\n </Typography>\n </Box>\n </label>\n )}\n <div className={styles.selectWrapper}>\n <select\n id={selectId}\n data-testid={dataTestId}\n disabled={disabled}\n className={classNames(\n styles.selectBox,\n themeName === \"classic\"\n ? styles.selectBoxClassic\n : styles.selectBoxCambio,\n themeName === \"classic\" && styles[size],\n {\n [styles.unselected]: !selectedValue && !errorText,\n [styles.selected]: selectedValue && !errorText,\n [themeName === \"classic\"\n ? styles.selectError\n : styles.selectErrorCambio]: errorText,\n [focusStyles.accessibilityOutlineFocus]:\n isFocused && isFocusVisible, // for focus keyboard\n [styles.selectMouseFocusStyling]: isFocused && !isFocusVisible, // for focus mouse\n },\n )}\n onChange={onChange}\n onClick={onClick}\n value={\n placeholderText && !selectedValue ? placeholderText : selectedValue\n }\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n >\n {placeholderText && (\n <option disabled value={placeholderText}>\n {placeholderText}\n </option>\n )}\n {children}\n </select>\n <div className={styles.arrowIcon}>\n <svg\n focusable=\"false\"\n aria-hidden=\"true\"\n viewBox=\"0 0 24 24\"\n width={themeName === \"classic\" ? iconSize[size] : 24}\n >\n <path\n fill={errorText ? ColorBaseDestructive700 : ColorBaseGray800}\n d=\"M15.88 9.29 12 13.17 8.12 9.29a.9959.9959 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41l4.59 4.59c.39.39 1.02.39 1.41 0l4.59-4.59c.39-.39.39-1.02 0-1.41-.39-.38-1.03-.39-1.42 0z\"\n />\n </svg>\n </div>\n </div>\n {(helperText || errorText) && (\n <Box paddingX={themeName === \"classic\" ? 1 : 0}>\n <Typography\n size={100}\n color={errorText ? \"destructive-primary\" : \"gray700\"}\n >\n {errorText ? errorText : helperText}\n </Typography>\n </Box>\n )}\n </div>\n );\n}\n\nSelectList.Option = SelectOption;\n","import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/SelectList/SelectList.module.css\"; export default {\"selectContainer\":\"_selectContainer_1o5o7_1\",\"selectContainerCambio\":\"_selectContainerCambio_1o5o7_7\",\"opacityOverlay\":\"_opacityOverlay_1o5o7_11\",\"labelCambio\":\"_labelCambio_1o5o7_15\",\"selectWrapper\":\"_selectWrapper_1o5o7_26\",\"selectBox\":\"_selectBox_1o5o7_31\",\"selectBoxClassic\":\"_selectBoxClassic_1o5o7_47\",\"selectBoxCambio\":\"_selectBoxCambio_1o5o7_52\",\"selectMouseFocusStyling\":\"_selectMouseFocusStyling_1o5o7_60\",\"unselected\":\"_unselected_1o5o7_65\",\"selected\":\"_selected_1o5o7_69\",\"arrowIcon\":\"_arrowIcon_1o5o7_73\",\"sm\":\"_sm_1o5o7_87\",\"md\":\"_md_1o5o7_93\",\"lg\":\"_lg_1o5o7_99\",\"selectError\":\"_selectError_1o5o7_105\",\"selectErrorCambio\":\"_selectErrorCambio_1o5o7_111\"}"]}
@@ -4,7 +4,7 @@ import {
4
4
  } from "./3Y55NZKO.js";
5
5
  import {
6
6
  RichSelectItem_default
7
- } from "./3AAZZWKY.js";
7
+ } from "./ODMJANSX.js";
8
8
  import {
9
9
  __objRest,
10
10
  __spreadProps,
@@ -37,4 +37,4 @@ var RichSelectRadioButton_default = forwardRef(
37
37
  export {
38
38
  RichSelectRadioButton_default
39
39
  };
40
- //# sourceMappingURL=CTBXXNZP.js.map
40
+ //# sourceMappingURL=T5U2CKTE.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./2ZUWZKPV.js";
5
5
  import {
6
6
  RichSelectItem_default
7
- } from "./3AAZZWKY.js";
7
+ } from "./ODMJANSX.js";
8
8
  import {
9
9
  __spreadProps,
10
10
  __spreadValues
@@ -31,4 +31,4 @@ var RichSelectChip_default = forwardRef(
31
31
  export {
32
32
  RichSelectChip_default
33
33
  };
34
- //# sourceMappingURL=QQSNF45I.js.map
34
+ //# sourceMappingURL=TIG3BSZG.js.map