@cambly/syntax-core 10.4.0 → 10.5.1
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.
- package/dist/Avatar/Avatar.cjs +3 -2
- package/dist/Avatar/Avatar.js +2 -1
- package/dist/AvatarGroup/AvatarGroup.cjs +3 -2
- package/dist/AvatarGroup/AvatarGroup.js +2 -1
- package/dist/Badge/Badge.cjs +6 -5
- package/dist/Badge/Badge.js +4 -3
- package/dist/Box/Box.cjs +3 -2
- package/dist/Box/Box.js +2 -1
- package/dist/Button/Button.cjs +6 -5
- package/dist/Button/Button.js +4 -3
- package/dist/Card/Card.cjs +3 -2
- package/dist/Card/Card.js +2 -1
- package/dist/Checkbox/Checkbox.cjs +3 -3
- package/dist/Checkbox/Checkbox.js +2 -2
- package/dist/Chip/Chip.cjs +6 -5
- package/dist/Chip/Chip.css +14 -7
- package/dist/Chip/Chip.css.map +1 -1
- package/dist/Chip/Chip.d.ts +6 -0
- package/dist/Chip/Chip.js +4 -3
- package/dist/Dialog/Dialog.cjs +10 -5
- package/dist/Dialog/Dialog.css +16 -5
- package/dist/Dialog/Dialog.css.map +1 -1
- package/dist/Dialog/Dialog.d.ts +9 -2
- package/dist/Dialog/Dialog.js +8 -3
- package/dist/Dialog/ModalDialog.cjs +9 -6
- package/dist/Dialog/ModalDialog.css +16 -5
- package/dist/Dialog/ModalDialog.css.map +1 -1
- package/dist/Dialog/ModalDialog.d.ts +2 -0
- package/dist/Dialog/ModalDialog.js +7 -4
- package/dist/Heading/Heading.cjs +3 -3
- package/dist/Heading/Heading.js +2 -2
- package/dist/LinkButton/LinkButton.cjs +3 -3
- package/dist/LinkButton/LinkButton.js +2 -2
- package/dist/Modal/Layer.cjs +3 -2
- package/dist/Modal/Layer.js +2 -1
- package/dist/Modal/Modal.cjs +8 -7
- package/dist/Modal/Modal.js +6 -5
- package/dist/Popover/Popover.cjs +11 -8
- package/dist/Popover/Popover.css +16 -12
- package/dist/Popover/Popover.css.map +1 -1
- package/dist/Popover/Popover.d.ts +4 -1
- package/dist/Popover/Popover.js +9 -6
- package/dist/RadioButton/RadioButton.cjs +3 -3
- package/dist/RadioButton/RadioButton.d.ts +3 -1
- package/dist/RadioButton/RadioButton.js +2 -2
- package/dist/RichSelect/RichSelectBox.cjs +40 -0
- package/dist/RichSelect/RichSelectBox.css +2121 -0
- package/dist/RichSelect/RichSelectBox.css.map +1 -0
- package/dist/RichSelect/RichSelectBox.d.ts +56 -0
- package/dist/RichSelect/RichSelectBox.js +40 -0
- package/dist/RichSelect/RichSelectChip.cjs +18 -0
- package/dist/RichSelect/RichSelectChip.cjs.map +1 -0
- package/dist/RichSelect/RichSelectChip.css +1915 -0
- package/dist/RichSelect/RichSelectChip.css.map +1 -0
- package/dist/RichSelect/RichSelectChip.d.ts +8 -0
- package/dist/RichSelect/RichSelectChip.js +18 -0
- package/dist/RichSelect/RichSelectChip.js.map +1 -0
- package/dist/RichSelect/RichSelectItem.cjs +11 -0
- package/dist/RichSelect/RichSelectItem.cjs.map +1 -0
- package/dist/RichSelect/RichSelectItem.css +6 -0
- package/dist/RichSelect/RichSelectItem.css.map +1 -0
- package/dist/RichSelect/RichSelectItem.d.ts +20 -0
- package/dist/RichSelect/RichSelectItem.js +11 -0
- package/dist/RichSelect/RichSelectItem.js.map +1 -0
- package/dist/RichSelect/RichSelectList.cjs +48 -0
- package/dist/RichSelect/RichSelectList.cjs.map +1 -0
- package/dist/RichSelect/RichSelectList.css +2335 -0
- package/dist/RichSelect/RichSelectList.css.map +1 -0
- package/dist/RichSelect/RichSelectList.d.ts +78 -0
- package/dist/RichSelect/RichSelectList.js +48 -0
- package/dist/RichSelect/RichSelectList.js.map +1 -0
- package/dist/RichSelect/RichSelectRadioButton.cjs +16 -0
- package/dist/RichSelect/RichSelectRadioButton.cjs.map +1 -0
- package/dist/RichSelect/RichSelectRadioButton.css +324 -0
- package/dist/RichSelect/RichSelectRadioButton.css.map +1 -0
- package/dist/RichSelect/RichSelectRadioButton.d.ts +11 -0
- package/dist/RichSelect/RichSelectRadioButton.js +16 -0
- package/dist/RichSelect/RichSelectRadioButton.js.map +1 -0
- package/dist/RichSelect/RichSelectSection.cjs +14 -0
- package/dist/RichSelect/RichSelectSection.cjs.map +1 -0
- package/dist/RichSelect/RichSelectSection.css +601 -0
- package/dist/RichSelect/RichSelectSection.css.map +1 -0
- package/dist/RichSelect/RichSelectSection.d.ts +11 -0
- package/dist/RichSelect/RichSelectSection.js +14 -0
- package/dist/RichSelect/RichSelectSection.js.map +1 -0
- package/dist/SelectList/SelectList.cjs +4 -3
- package/dist/SelectList/SelectList.js +3 -2
- package/dist/TapArea/TapArea.cjs +2 -2
- package/dist/TapArea/TapArea.d.ts +11 -12
- package/dist/TapArea/TapArea.js +1 -1
- package/dist/TextArea/TextArea.cjs +5 -4
- package/dist/TextArea/TextArea.js +4 -3
- package/dist/TextField/TextField.cjs +5 -4
- package/dist/TextField/TextField.js +4 -3
- package/dist/Tooltip/Tooltip.cjs +9 -7
- package/dist/Tooltip/Tooltip.js +7 -5
- package/dist/Typography/Typography.cjs +2 -2
- package/dist/Typography/Typography.d.ts +4 -0
- package/dist/Typography/Typography.js +1 -1
- package/dist/__chunks/{PF4QF5DX.js → 2R4YCOYE.js} +2 -2
- package/dist/__chunks/2RCQTGOZ.cjs +39 -0
- package/dist/__chunks/2RCQTGOZ.cjs.map +1 -0
- package/dist/__chunks/{TBYS7XPD.js → 3UQRZ3IQ.js} +2 -2
- package/dist/__chunks/5TKLFG5Y.cjs +210 -0
- package/dist/__chunks/5TKLFG5Y.cjs.map +1 -0
- package/dist/__chunks/5WNFAQGY.cjs +7 -0
- package/dist/__chunks/5WNFAQGY.cjs.map +1 -0
- package/dist/__chunks/652STTPK.js +7 -0
- package/dist/__chunks/652STTPK.js.map +1 -0
- package/dist/__chunks/{4G4SS7O3.js → B2TFERTM.js} +3 -1
- package/dist/__chunks/B2TFERTM.js.map +1 -0
- package/dist/__chunks/DNTOWEIQ.js +39 -0
- package/dist/__chunks/DNTOWEIQ.js.map +1 -0
- package/dist/__chunks/EDTR2ER5.js +270 -0
- package/dist/__chunks/EDTR2ER5.js.map +1 -0
- package/dist/__chunks/{EBNDJEOG.cjs → FMHIHCQS.cjs} +3 -3
- package/dist/__chunks/{WI7S7GOJ.cjs → FMSBGH2I.cjs} +5 -5
- package/dist/__chunks/FMSI35YS.cjs +52 -0
- package/dist/__chunks/FMSI35YS.cjs.map +1 -0
- package/dist/__chunks/FVUQWBMO.cjs +270 -0
- package/dist/__chunks/FVUQWBMO.cjs.map +1 -0
- package/dist/__chunks/{PYX4374T.cjs → FZ5HWA3S.cjs} +3 -3
- package/dist/__chunks/{XWGC5OYD.cjs → GOSWBV5D.cjs} +3 -3
- package/dist/__chunks/GYI2PBXY.cjs +52 -0
- package/dist/__chunks/GYI2PBXY.cjs.map +1 -0
- package/dist/__chunks/{XA2DZRGH.js → HPLOQ2U3.js} +6 -6
- package/dist/__chunks/HPLOQ2U3.js.map +1 -0
- package/dist/__chunks/{4DPEJJ42.cjs → HR5QOB3U.cjs} +6 -6
- package/dist/__chunks/{NGO7IQET.cjs → IJVFSOXU.cjs} +26 -14
- package/dist/__chunks/IJVFSOXU.cjs.map +1 -0
- package/dist/__chunks/JHAV5OTQ.js +210 -0
- package/dist/__chunks/JHAV5OTQ.js.map +1 -0
- package/dist/__chunks/{37CQV3RS.js → JIXNBF5N.js} +34 -26
- package/dist/__chunks/JIXNBF5N.js.map +1 -0
- package/dist/__chunks/JKXOZUCV.js +52 -0
- package/dist/__chunks/JKXOZUCV.js.map +1 -0
- package/dist/__chunks/{IRL2C3B2.js → JQ6POHCA.js} +19 -7
- package/dist/__chunks/JQ6POHCA.js.map +1 -0
- package/dist/__chunks/{QFKRTOQN.js → JUUIXL6A.js} +2 -2
- package/dist/__chunks/{22NHJVQS.js → JWFHLI33.js} +2 -2
- package/dist/__chunks/{FLFY7QSS.cjs → JYDZTZIK.cjs} +4 -4
- package/dist/__chunks/{YH4XW4LD.cjs → KCYZNZBO.cjs} +4 -4
- package/dist/__chunks/{J7CMFWIU.js → KMIZI5PW.js} +1 -5
- package/dist/__chunks/KMIZI5PW.js.map +1 -0
- package/dist/__chunks/{VFVXPW3G.js → LCZ57HZU.js} +2 -2
- package/dist/__chunks/{37N4BSEF.cjs → LMCK5YO5.cjs} +5 -4
- package/dist/__chunks/LMCK5YO5.cjs.map +1 -0
- package/dist/__chunks/{NGVAEAML.cjs → LOFR3Y32.cjs} +9 -9
- package/dist/__chunks/LOFR3Y32.cjs.map +1 -0
- package/dist/__chunks/M2T7D4DC.js +33 -0
- package/dist/__chunks/M2T7D4DC.js.map +1 -0
- package/dist/__chunks/NDJRETMM.cjs +33 -0
- package/dist/__chunks/NDJRETMM.cjs.map +1 -0
- package/dist/__chunks/{VDB3BQAP.js → NRTSRS2D.js} +4 -3
- package/dist/__chunks/NRTSRS2D.js.map +1 -0
- package/dist/__chunks/{N5GVRMI5.js → PEKXH4DM.js} +2 -2
- package/dist/__chunks/{ILJV2LMS.js → PJIXYQPE.js} +7 -5
- package/dist/__chunks/{ILJV2LMS.js.map → PJIXYQPE.js.map} +1 -1
- package/dist/__chunks/PTWXXDFF.js +7 -0
- package/dist/__chunks/PTWXXDFF.js.map +1 -0
- package/dist/__chunks/{CGUZFFJ2.cjs → PZYWUTMW.cjs} +33 -25
- package/dist/__chunks/PZYWUTMW.cjs.map +1 -0
- package/dist/__chunks/{6YHDE4TN.cjs → QJI4G5FP.cjs} +18 -6
- package/dist/__chunks/QJI4G5FP.cjs.map +1 -0
- package/dist/__chunks/QNBZ64IE.cjs +143 -0
- package/dist/__chunks/QNBZ64IE.cjs.map +1 -0
- package/dist/__chunks/{NWUWC7UT.cjs → QQWCNTE4.cjs} +10 -7
- package/dist/__chunks/QQWCNTE4.cjs.map +1 -0
- package/dist/__chunks/{CL5AJWO2.cjs → RAVU4WEO.cjs} +3 -3
- package/dist/__chunks/{AZYT2N4K.cjs → TPP3XWDC.cjs} +16 -14
- package/dist/__chunks/TPP3XWDC.cjs.map +1 -0
- package/dist/__chunks/{V54CIPAG.js → UYBMLRXR.js} +6 -4
- package/dist/__chunks/{V54CIPAG.js.map → UYBMLRXR.js.map} +1 -1
- package/dist/__chunks/{7FFKVJMD.js → V3ZO4D37.js} +2 -2
- package/dist/__chunks/{JX74GCUV.js → VBSJSA3B.js} +9 -6
- package/dist/__chunks/VBSJSA3B.js.map +1 -0
- package/dist/__chunks/{VLUKODJD.cjs → VMARHE5B.cjs} +3 -7
- package/dist/__chunks/VMARHE5B.cjs.map +1 -0
- package/dist/__chunks/VY7MJTPK.js +143 -0
- package/dist/__chunks/VY7MJTPK.js.map +1 -0
- package/dist/__chunks/W24KIAXI.js +9 -0
- package/dist/__chunks/W24KIAXI.js.map +1 -0
- package/dist/__chunks/{CPAXWLGZ.js → XFFSBU7E.js} +20 -8
- package/dist/__chunks/XFFSBU7E.js.map +1 -0
- package/dist/__chunks/{LSR5LFQO.js → XT2JUTU3.js} +5 -5
- package/dist/__chunks/Y6L6EOCB.js +52 -0
- package/dist/__chunks/Y6L6EOCB.js.map +1 -0
- package/dist/__chunks/ZDMSFZS3.cjs +7 -0
- package/dist/__chunks/ZDMSFZS3.cjs.map +1 -0
- package/dist/__chunks/{AS6O55Z6.cjs → ZG64UIHG.cjs} +13 -11
- package/dist/__chunks/ZG64UIHG.cjs.map +1 -0
- package/dist/__chunks/ZU4Y2KQG.cjs +9 -0
- package/dist/__chunks/ZU4Y2KQG.cjs.map +1 -0
- package/dist/__chunks/{UNZBENAE.cjs → ZX5KONS2.cjs} +3 -1
- package/dist/__chunks/ZX5KONS2.cjs.map +1 -0
- package/dist/index.cjs +45 -32
- package/dist/index.css +35 -18
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.js +54 -41
- package/dist/react-aria-utils/Triggerable.cjs +2 -2
- package/dist/react-aria-utils/Triggerable.d.ts +7 -2
- package/dist/react-aria-utils/Triggerable.js +1 -1
- package/package.json +1 -1
- package/dist/__chunks/37CQV3RS.js.map +0 -1
- package/dist/__chunks/37N4BSEF.cjs.map +0 -1
- package/dist/__chunks/4G4SS7O3.js.map +0 -1
- package/dist/__chunks/6YHDE4TN.cjs.map +0 -1
- package/dist/__chunks/AS6O55Z6.cjs.map +0 -1
- package/dist/__chunks/AZYT2N4K.cjs.map +0 -1
- package/dist/__chunks/CGUZFFJ2.cjs.map +0 -1
- package/dist/__chunks/CPAXWLGZ.js.map +0 -1
- package/dist/__chunks/D3WPZHGM.cjs +0 -137
- package/dist/__chunks/D3WPZHGM.cjs.map +0 -1
- package/dist/__chunks/IRL2C3B2.js.map +0 -1
- package/dist/__chunks/J7CMFWIU.js.map +0 -1
- package/dist/__chunks/JX74GCUV.js.map +0 -1
- package/dist/__chunks/NGO7IQET.cjs.map +0 -1
- package/dist/__chunks/NGVAEAML.cjs.map +0 -1
- package/dist/__chunks/NWUWC7UT.cjs.map +0 -1
- package/dist/__chunks/OQKBLXDS.js +0 -137
- package/dist/__chunks/OQKBLXDS.js.map +0 -1
- package/dist/__chunks/RKIOGDSG.js +0 -1
- package/dist/__chunks/UNZBENAE.cjs.map +0 -1
- package/dist/__chunks/VDB3BQAP.js.map +0 -1
- package/dist/__chunks/VLUKODJD.cjs.map +0 -1
- package/dist/__chunks/XA2DZRGH.js.map +0 -1
- package/dist/__chunks/YCKM5H43.cjs +0 -1
- /package/dist/{__chunks/YCKM5H43.cjs.map → RichSelect/RichSelectBox.cjs.map} +0 -0
- /package/dist/{__chunks/RKIOGDSG.js.map → RichSelect/RichSelectBox.js.map} +0 -0
- /package/dist/__chunks/{PF4QF5DX.js.map → 2R4YCOYE.js.map} +0 -0
- /package/dist/__chunks/{TBYS7XPD.js.map → 3UQRZ3IQ.js.map} +0 -0
- /package/dist/__chunks/{EBNDJEOG.cjs.map → FMHIHCQS.cjs.map} +0 -0
- /package/dist/__chunks/{WI7S7GOJ.cjs.map → FMSBGH2I.cjs.map} +0 -0
- /package/dist/__chunks/{PYX4374T.cjs.map → FZ5HWA3S.cjs.map} +0 -0
- /package/dist/__chunks/{XWGC5OYD.cjs.map → GOSWBV5D.cjs.map} +0 -0
- /package/dist/__chunks/{4DPEJJ42.cjs.map → HR5QOB3U.cjs.map} +0 -0
- /package/dist/__chunks/{QFKRTOQN.js.map → JUUIXL6A.js.map} +0 -0
- /package/dist/__chunks/{22NHJVQS.js.map → JWFHLI33.js.map} +0 -0
- /package/dist/__chunks/{FLFY7QSS.cjs.map → JYDZTZIK.cjs.map} +0 -0
- /package/dist/__chunks/{YH4XW4LD.cjs.map → KCYZNZBO.cjs.map} +0 -0
- /package/dist/__chunks/{VFVXPW3G.js.map → LCZ57HZU.js.map} +0 -0
- /package/dist/__chunks/{N5GVRMI5.js.map → PEKXH4DM.js.map} +0 -0
- /package/dist/__chunks/{CL5AJWO2.cjs.map → RAVU4WEO.cjs.map} +0 -0
- /package/dist/__chunks/{7FFKVJMD.js.map → V3ZO4D37.js.map} +0 -0
- /package/dist/__chunks/{LSR5LFQO.js.map → XT2JUTU3.js.map} +0 -0
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
var _5TKLFG5Ycjs = require('./5TKLFG5Y.cjs');
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
var _QNBZ64IEcjs = require('./QNBZ64IE.cjs');
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
var _IJVFSOXUcjs = require('./IJVFSOXU.cjs');
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
var _PZYWUTMWcjs = require('./PZYWUTMW.cjs');
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
var _ZU4Y2KQGcjs = require('./ZU4Y2KQG.cjs');
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
var _FMSI35YScjs = require('./FMSI35YS.cjs');
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
var _2RCQTGOZcjs = require('./2RCQTGOZ.cjs');
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
var _NDJRETMMcjs = require('./NDJRETMM.cjs');
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
var _5SMR5MWYcjs = require('./5SMR5MWY.cjs');
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
var _ZX5KONS2cjs = require('./ZX5KONS2.cjs');
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
var _FZRIE7EXcjs = require('./FZRIE7EX.cjs');
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
var _I64JGYX7cjs = require('./I64JGYX7.cjs');
|
|
42
|
+
|
|
43
|
+
// src/RichSelect/RichSelectList.tsx
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
var _react = require('react');
|
|
48
|
+
var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames);
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
var _reactariacomponents = require('react-aria-components');
|
|
53
|
+
var _utils = require('@react-stately/utils');
|
|
54
|
+
var _interactions = require('@react-aria/interactions');
|
|
55
|
+
|
|
56
|
+
// css-module:../SelectList/SelectList.module.css#css-module
|
|
57
|
+
var SelectList_module_default = { "selectContainer": "_selectContainer_3ifov_1", "opacityOverlay": "_opacityOverlay_3ifov_7", "outerTextContainer": "_outerTextContainer_3ifov_11", "selectWrapper": "_selectWrapper_3ifov_16", "selectBox": "_selectBox_3ifov_21", "selectMouseFocusStyling": "_selectMouseFocusStyling_3ifov_37", "unselected": "_unselected_3ifov_42", "selected": "_selected_3ifov_46", "arrowIcon": "_arrowIcon_3ifov_50", "sm": "_sm_3ifov_64", "md": "_md_3ifov_70", "lg": "_lg_3ifov_76", "selectError": "_selectError_3ifov_82" };
|
|
58
|
+
|
|
59
|
+
// src/RichSelect/RichSelectList.tsx
|
|
60
|
+
var _reactaria = require('react-aria');
|
|
61
|
+
var _jsxruntime = require('react/jsx-runtime');
|
|
62
|
+
var NOOP = () => void 0;
|
|
63
|
+
var iconSize = {
|
|
64
|
+
sm: 20,
|
|
65
|
+
md: 24,
|
|
66
|
+
lg: 24
|
|
67
|
+
};
|
|
68
|
+
function RichSelectList(props) {
|
|
69
|
+
const _a = props, {
|
|
70
|
+
autosave,
|
|
71
|
+
children,
|
|
72
|
+
"data-testid": dataTestId,
|
|
73
|
+
disabled: disabledProp = false,
|
|
74
|
+
errorText,
|
|
75
|
+
helperText,
|
|
76
|
+
label,
|
|
77
|
+
onChange,
|
|
78
|
+
onClick = NOOP,
|
|
79
|
+
placeholderText,
|
|
80
|
+
selectTextValue,
|
|
81
|
+
selectedValues: selectedValuesProp,
|
|
82
|
+
defaultSelectedValues: defaultSelectedValuesProp,
|
|
83
|
+
size = "md"
|
|
84
|
+
} = _a, richSelectBoxProps = _I64JGYX7cjs.__objRest.call(void 0, _a, [
|
|
85
|
+
"autosave",
|
|
86
|
+
"children",
|
|
87
|
+
"data-testid",
|
|
88
|
+
"disabled",
|
|
89
|
+
"errorText",
|
|
90
|
+
"helperText",
|
|
91
|
+
"label",
|
|
92
|
+
"onChange",
|
|
93
|
+
"onClick",
|
|
94
|
+
"placeholderText",
|
|
95
|
+
"selectTextValue",
|
|
96
|
+
"selectedValues",
|
|
97
|
+
"defaultSelectedValues",
|
|
98
|
+
"size"
|
|
99
|
+
]);
|
|
100
|
+
const isHydrated = _FZRIE7EXcjs.useIsHydrated.call(void 0, );
|
|
101
|
+
const disabled = !isHydrated || disabledProp;
|
|
102
|
+
const overlayHandlerRef = _react.useRef.call(void 0, {});
|
|
103
|
+
const selectedKeysProp = _react.useMemo.call(void 0,
|
|
104
|
+
() => _5TKLFG5Ycjs.convertSelection.call(void 0, selectedValuesProp),
|
|
105
|
+
[selectedValuesProp]
|
|
106
|
+
);
|
|
107
|
+
const defaultSelectedKeys = _react.useMemo.call(void 0,
|
|
108
|
+
() => _5TKLFG5Ycjs.convertSelection.call(void 0, defaultSelectedValuesProp, /* @__PURE__ */ new Set()),
|
|
109
|
+
[defaultSelectedValuesProp]
|
|
110
|
+
);
|
|
111
|
+
const [selectedKeys, setSelectedKeys] = _utils.useControlledState.call(void 0,
|
|
112
|
+
selectedKeysProp,
|
|
113
|
+
// eslint-disable-line @typescript-eslint/no-non-null-assertion -- there is a bug in the typedef for useControlledState from react-stately. Internally they rely on value (first arg) able to be undefined
|
|
114
|
+
defaultSelectedKeys,
|
|
115
|
+
(value) => {
|
|
116
|
+
var _a2, _b;
|
|
117
|
+
const _value = value === "all" ? "all" : [...value].map(String);
|
|
118
|
+
onChange(_value);
|
|
119
|
+
if (!autosave)
|
|
120
|
+
(_b = (_a2 = overlayHandlerRef.current).close) == null ? void 0 : _b.call(_a2);
|
|
121
|
+
}
|
|
122
|
+
);
|
|
123
|
+
const selectedTextValue = _react.useMemo.call(void 0, () => {
|
|
124
|
+
var _a2;
|
|
125
|
+
if (selectTextValue)
|
|
126
|
+
return (_a2 = selectTextValue(
|
|
127
|
+
selectedKeys === "all" ? "all" : [...selectedKeys].map(String)
|
|
128
|
+
)) != null ? _a2 : placeholderText;
|
|
129
|
+
if (selectedKeys === "all")
|
|
130
|
+
return "All selected";
|
|
131
|
+
if (selectedKeys.size)
|
|
132
|
+
return `${selectedKeys.size} selected`;
|
|
133
|
+
return placeholderText;
|
|
134
|
+
}, [selectTextValue, selectedKeys, placeholderText]);
|
|
135
|
+
const fieldRef = _react.useRef.call(void 0, null);
|
|
136
|
+
const { labelProps, fieldProps, descriptionProps, errorMessageProps } = _reactaria.useField.call(void 0, {
|
|
137
|
+
label,
|
|
138
|
+
// this is the label for the select box
|
|
139
|
+
description: helperText,
|
|
140
|
+
errorMessage: errorText
|
|
141
|
+
});
|
|
142
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
143
|
+
_reactariacomponents.Provider,
|
|
144
|
+
{
|
|
145
|
+
values: [
|
|
146
|
+
[_5TKLFG5Ycjs.RichSelectBoxContext, { autoFocus: true }],
|
|
147
|
+
[_IJVFSOXUcjs.DialogContext, { padding: autosave ? void 0 : 0 }]
|
|
148
|
+
// this is altering Popover's internal dialog padding to show the sticky save/close buttons. Ideally this could be avoided
|
|
149
|
+
],
|
|
150
|
+
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
151
|
+
"div",
|
|
152
|
+
{
|
|
153
|
+
className: _classnames2.default.call(void 0, SelectList_module_default.selectContainer, {
|
|
154
|
+
[SelectList_module_default.opacityOverlay]: disabled
|
|
155
|
+
}),
|
|
156
|
+
children: [
|
|
157
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
158
|
+
_reactariacomponents.Label,
|
|
159
|
+
_I64JGYX7cjs.__spreadProps.call(void 0, _I64JGYX7cjs.__spreadValues.call(void 0, {
|
|
160
|
+
"data-testid": [dataTestId, "label"].filter(Boolean).join("-"),
|
|
161
|
+
className: _classnames2.default.call(void 0,
|
|
162
|
+
SelectList_module_default.selectContainer,
|
|
163
|
+
SelectList_module_default.outerTextContainer
|
|
164
|
+
)
|
|
165
|
+
}, labelProps), {
|
|
166
|
+
onClick: () => {
|
|
167
|
+
var _a2;
|
|
168
|
+
if (disabled)
|
|
169
|
+
return;
|
|
170
|
+
(_a2 = fieldRef.current) == null ? void 0 : _a2.focus();
|
|
171
|
+
_interactions.setInteractionModality.call(void 0, "keyboard");
|
|
172
|
+
},
|
|
173
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _ZX5KONS2cjs.Typography_default, { size: 100, color: "gray700", children: label })
|
|
174
|
+
})
|
|
175
|
+
),
|
|
176
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
177
|
+
_QNBZ64IEcjs.Popover_default,
|
|
178
|
+
{
|
|
179
|
+
ref: overlayHandlerRef,
|
|
180
|
+
disabled,
|
|
181
|
+
accessibilityLabel: label,
|
|
182
|
+
content: (
|
|
183
|
+
// 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
|
|
184
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
185
|
+
_5SMR5MWYcjs.Box_default,
|
|
186
|
+
{
|
|
187
|
+
padding: autosave ? void 0 : 5,
|
|
188
|
+
dangerouslySetInlineStyle: autosave ? void 0 : { __style: { paddingBottom: 0 } },
|
|
189
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
190
|
+
_5TKLFG5Ycjs.RichSelectBox_default,
|
|
191
|
+
_I64JGYX7cjs.__spreadProps.call(void 0, _I64JGYX7cjs.__spreadValues.call(void 0, {
|
|
192
|
+
autosave,
|
|
193
|
+
selectedValues: selectedKeys,
|
|
194
|
+
defaultSelectedValues: defaultSelectedKeys,
|
|
195
|
+
onChange: (selected) => setSelectedKeys(new Set(selected)),
|
|
196
|
+
accessibilityLabel: label
|
|
197
|
+
}, richSelectBoxProps), {
|
|
198
|
+
children
|
|
199
|
+
})
|
|
200
|
+
)
|
|
201
|
+
}
|
|
202
|
+
)
|
|
203
|
+
),
|
|
204
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
205
|
+
_PZYWUTMWcjs.TapArea_default,
|
|
206
|
+
_I64JGYX7cjs.__spreadProps.call(void 0, _I64JGYX7cjs.__spreadValues.call(void 0, {
|
|
207
|
+
"data-testid": dataTestId,
|
|
208
|
+
disabled,
|
|
209
|
+
onClick,
|
|
210
|
+
rounding: size === "lg" ? "lg" : "md"
|
|
211
|
+
}, fieldProps), {
|
|
212
|
+
ref: fieldRef,
|
|
213
|
+
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: SelectList_module_default.selectWrapper, children: [
|
|
214
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
215
|
+
"div",
|
|
216
|
+
{
|
|
217
|
+
className: _classnames2.default.call(void 0, SelectList_module_default.selectBox, SelectList_module_default[size], {
|
|
218
|
+
[SelectList_module_default.unselected]: !errorText && selectedKeys !== "all" && !selectedKeys.size,
|
|
219
|
+
[SelectList_module_default.selected]: !errorText && (selectedKeys === "all" || selectedKeys.size),
|
|
220
|
+
[SelectList_module_default.selectError]: errorText
|
|
221
|
+
}),
|
|
222
|
+
children: selectedTextValue
|
|
223
|
+
}
|
|
224
|
+
),
|
|
225
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: SelectList_module_default.arrowIcon, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
226
|
+
"svg",
|
|
227
|
+
{
|
|
228
|
+
focusable: "false",
|
|
229
|
+
"aria-hidden": "true",
|
|
230
|
+
viewBox: "0 0 24 24",
|
|
231
|
+
width: iconSize[size],
|
|
232
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
233
|
+
"path",
|
|
234
|
+
{
|
|
235
|
+
fill: errorText ? _ZU4Y2KQGcjs.ColorBaseDestructive700 : _ZU4Y2KQGcjs.ColorBaseGray800,
|
|
236
|
+
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"
|
|
237
|
+
}
|
|
238
|
+
)
|
|
239
|
+
}
|
|
240
|
+
) })
|
|
241
|
+
] })
|
|
242
|
+
})
|
|
243
|
+
)
|
|
244
|
+
}
|
|
245
|
+
),
|
|
246
|
+
(helperText || errorText) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: SelectList_module_default.outerTextContainer, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
247
|
+
_ZX5KONS2cjs.Typography_default,
|
|
248
|
+
_I64JGYX7cjs.__spreadProps.call(void 0, _I64JGYX7cjs.__spreadValues.call(void 0, {
|
|
249
|
+
size: 100,
|
|
250
|
+
color: errorText ? "destructive-primary" : "gray700"
|
|
251
|
+
}, errorText ? errorMessageProps : descriptionProps), {
|
|
252
|
+
children: errorText ? errorText : helperText
|
|
253
|
+
})
|
|
254
|
+
) })
|
|
255
|
+
]
|
|
256
|
+
}
|
|
257
|
+
)
|
|
258
|
+
}
|
|
259
|
+
);
|
|
260
|
+
}
|
|
261
|
+
var RichSelectList_default = Object.assign(RichSelectList, {
|
|
262
|
+
Section: _FMSI35YScjs.RichSelectSection_default,
|
|
263
|
+
Chip: _NDJRETMMcjs.RichSelectChip_default,
|
|
264
|
+
RadioButton: _2RCQTGOZcjs.RichSelectRadioButton_default
|
|
265
|
+
});
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
exports.RichSelectList_default = RichSelectList_default;
|
|
270
|
+
//# sourceMappingURL=FVUQWBMO.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} from \"react\";\nimport classNames from \"classnames\";\nimport {\n ColorBaseDestructive700,\n ColorBaseGray800,\n} from \"@cambly/syntax-design-tokens\";\nimport Typography from \"../Typography/Typography\";\nimport useIsHydrated from \"../useIsHydrated\";\nimport Popover from \"../Popover/Popover\";\nimport {\n Label as ReactAriaLabel,\n Provider as ReactAriaProvider,\n} from \"react-aria-components\";\nimport { useControlledState } from \"@react-stately/utils\";\nimport { setInteractionModality } from \"@react-aria/interactions\";\nimport { DialogContext } from \"../Dialog/Dialog\";\nimport styles from \"../SelectList/SelectList.module.css\";\nimport RichSelectBox, {\n RichSelectBoxContext,\n convertSelection,\n type RichSelectBoxProps,\n} from \"./RichSelectBox\";\nimport TapArea from \"../TapArea/TapArea\";\nimport { type OverlayHandlerRef } from \"../react-aria-utils/Triggerable\";\nimport Box from \"../Box/Box\";\nimport RichSelectSection from \"./RichSelectSection\";\nimport RichSelectChip from \"./RichSelectChip\";\nimport RichSelectRadioButton from \"./RichSelectRadioButton\";\nimport { useField } from \"react-aria\";\n\nconst NOOP = () => undefined;\n\nconst iconSize = {\n sm: 20,\n md: 24,\n lg: 24,\n} as const;\n\nexport type RichSelectListProps = Omit<\n RichSelectBoxProps,\n \"accessibilityLabel\"\n> & {\n /** Test id for the select element */\n \"data-testid\"?: string;\n /**\n * Disables the select dropdown entirely\n * @defaultValue false\n */\n disabled?: boolean;\n /** Callback to be called when select is clicked */\n onClick?: (event: SyntheticEvent<HTMLDivElement>) => void;\n /** Text shown below select box if there is an input error. */\n errorText?: string;\n /** Text shown below select box */\n helperText?: string;\n /** Text shown above select box */\n label: string;\n /**\n * Text showing in select box if no option has been chosen.\n * There should always have a placeholder unless there is a default option selected\n */\n placeholderText?: string;\n /** Use to render (override) text shown in the select box */\n selectTextValue?: (selectedValues?: \"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 onChange,\n onClick = NOOP,\n placeholderText,\n selectTextValue,\n selectedValues: selectedValuesProp,\n defaultSelectedValues: defaultSelectedValuesProp,\n size = \"md\",\n ...richSelectBoxProps\n } = props;\n\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated || disabledProp;\n\n // passed to popover, which attached open/close methods\n const overlayHandlerRef = useRef<OverlayHandlerRef>({});\n\n const selectedKeysProp = useMemo(\n () => convertSelection(selectedValuesProp),\n [selectedValuesProp],\n );\n const defaultSelectedKeys = useMemo(\n () => convertSelection(defaultSelectedValuesProp, new Set()),\n [defaultSelectedValuesProp],\n );\n const [selectedKeys, setSelectedKeys] = useControlledState(\n selectedKeysProp!, // eslint-disable-line @typescript-eslint/no-non-null-assertion -- there is a bug in the typedef for useControlledState from react-stately. Internally they rely on value (first arg) able to be undefined\n defaultSelectedKeys,\n (value) => {\n const _value = value === \"all\" ? \"all\" : [...value].map(String);\n onChange(_value);\n if (!autosave) overlayHandlerRef.current.close?.();\n },\n );\n\n const selectedTextValue = useMemo(() => {\n if (selectTextValue)\n return (\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 <Typography size={100} color=\"gray700\">\n {label}\n </Typography>\n </ReactAriaLabel>\n <Popover\n ref={overlayHandlerRef}\n disabled={disabled}\n accessibilityLabel={label}\n content={\n // this Box wrapper is to reapply the padding that was stripped from popover's dialog to show the sticky save/close buttons. Ideally this could be avoided\n <Box\n padding={autosave ? undefined : 5}\n dangerouslySetInlineStyle={\n autosave ? undefined : { __style: { paddingBottom: 0 } }\n }\n >\n <RichSelectBox\n autosave={autosave}\n selectedValues={selectedKeys}\n defaultSelectedValues={defaultSelectedKeys}\n onChange={(selected) => setSelectedKeys(new Set(selected))}\n accessibilityLabel={label}\n {...richSelectBoxProps}\n >\n {children}\n </RichSelectBox>\n </Box>\n }\n >\n <TapArea\n data-testid={dataTestId}\n disabled={disabled}\n onClick={onClick}\n rounding={size === \"lg\" ? \"lg\" : \"md\"}\n {...fieldProps}\n ref={fieldRef}\n >\n <div className={styles.selectWrapper}>\n <div\n className={classNames(styles.selectBox, styles[size], {\n [styles.unselected]:\n !errorText && selectedKeys !== \"all\" && !selectedKeys.size,\n [styles.selected]:\n !errorText && (selectedKeys === \"all\" || selectedKeys.size),\n [styles.selectError]: errorText,\n })}\n >\n {selectedTextValue}\n </div>\n <div className={styles.arrowIcon}>\n <svg\n focusable=\"false\"\n aria-hidden=\"true\"\n viewBox=\"0 0 24 24\"\n width={iconSize[size]}\n >\n <path\n fill={\n errorText ? ColorBaseDestructive700 : ColorBaseGray800\n }\n d=\"M15.88 9.29 12 13.17 8.12 9.29a.9959.9959 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41l4.59 4.59c.39.39 1.02.39 1.41 0l4.59-4.59c.39-.39.39-1.02 0-1.41-.39-.38-1.03-.39-1.42 0z\"\n />\n </svg>\n </div>\n </div>\n </TapArea>\n </Popover>\n {(helperText || errorText) && (\n <div className={styles.outerTextContainer}>\n <Typography\n size={100}\n color={errorText ? \"destructive-primary\" : \"gray700\"}\n {...(errorText ? errorMessageProps : descriptionProps)}\n >\n {errorText ? errorText : helperText}\n </Typography>\n </div>\n )}\n </div>\n </ReactAriaProvider>\n );\n}\n\nexport default Object.assign(RichSelectList, {\n Section: RichSelectSection,\n Chip: RichSelectChip,\n RadioButton: RichSelectRadioButton,\n});\n","import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/SelectList/SelectList.module.css\"; export default {\"selectContainer\":\"_selectContainer_3ifov_1\",\"opacityOverlay\":\"_opacityOverlay_3ifov_7\",\"outerTextContainer\":\"_outerTextContainer_3ifov_11\",\"selectWrapper\":\"_selectWrapper_3ifov_16\",\"selectBox\":\"_selectBox_3ifov_21\",\"selectMouseFocusStyling\":\"_selectMouseFocusStyling_3ifov_37\",\"unselected\":\"_unselected_3ifov_42\",\"selected\":\"_selected_3ifov_46\",\"arrowIcon\":\"_arrowIcon_3ifov_50\",\"sm\":\"_sm_3ifov_64\",\"md\":\"_md_3ifov_70\",\"lg\":\"_lg_3ifov_76\",\"selectError\":\"_selectError_3ifov_82\"}"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _ZX5KONS2cjs = require('./ZX5KONS2.cjs');
|
|
4
4
|
|
|
5
5
|
// src/Heading/Heading.tsx
|
|
6
6
|
var _jsxruntime = require('react/jsx-runtime');
|
|
@@ -15,7 +15,7 @@ var Heading = ({
|
|
|
15
15
|
}) => {
|
|
16
16
|
const weight = [700, 800].includes(size) ? "heavy" : "bold";
|
|
17
17
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18
|
-
|
|
18
|
+
_ZX5KONS2cjs.Typography_default,
|
|
19
19
|
{
|
|
20
20
|
align,
|
|
21
21
|
as,
|
|
@@ -33,4 +33,4 @@ var Heading_default = Heading;
|
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
exports.Heading_default = Heading_default;
|
|
36
|
-
//# sourceMappingURL=
|
|
36
|
+
//# sourceMappingURL=FZ5HWA3S.cjs.map
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _LTM57QMYcjs = require('./LTM57QMY.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _ZX5KONS2cjs = require('./ZX5KONS2.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
var _FZRIE7EXcjs = require('./FZRIE7EX.cjs');
|
|
@@ -92,7 +92,7 @@ var Checkbox = ({
|
|
|
92
92
|
}
|
|
93
93
|
),
|
|
94
94
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
95
|
-
|
|
95
|
+
_ZX5KONS2cjs.Typography_default,
|
|
96
96
|
{
|
|
97
97
|
size: typographySize[size],
|
|
98
98
|
color: error ? "destructive-primary" : "gray800",
|
|
@@ -108,4 +108,4 @@ var Checkbox_default = Checkbox;
|
|
|
108
108
|
|
|
109
109
|
|
|
110
110
|
exports.Checkbox_default = Checkbox_default;
|
|
111
|
-
//# sourceMappingURL=
|
|
111
|
+
//# sourceMappingURL=GOSWBV5D.cjs.map
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _FZRIE7EXcjs = require('./FZRIE7EX.cjs');
|
|
4
|
+
|
|
5
|
+
// src/RichSelect/RichSelectItem.tsx
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
var _react = require('react');
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
var _reactariacomponents = require('react-aria-components');
|
|
15
|
+
|
|
16
|
+
// css-module:./RichSelect.module.css#css-module
|
|
17
|
+
var RichSelect_module_default = { "richSelectItem": "_richSelectItem_8ycz0_1", "richSelectBox": "_richSelectBox_8ycz0_2" };
|
|
18
|
+
|
|
19
|
+
// src/RichSelect/RichSelectItem.tsx
|
|
20
|
+
var _jsxruntime = require('react/jsx-runtime');
|
|
21
|
+
var RichSelectItemContext = _react.createContext.call(void 0, {});
|
|
22
|
+
var RichSelectItem_default = _react.forwardRef.call(void 0, function RichSelectItem(props, ref) {
|
|
23
|
+
const {
|
|
24
|
+
"data-testid": dataTestId,
|
|
25
|
+
value,
|
|
26
|
+
label,
|
|
27
|
+
disabled: disabledProp = false,
|
|
28
|
+
children
|
|
29
|
+
} = props;
|
|
30
|
+
const isHydrated = _FZRIE7EXcjs.useIsHydrated.call(void 0, );
|
|
31
|
+
const disabled = !isHydrated || disabledProp;
|
|
32
|
+
const { disableKey } = _react.useContext.call(void 0, RichSelectItemContext);
|
|
33
|
+
_react.useEffect.call(void 0, () => disableKey == null ? void 0 : disableKey(value, disabled), [disableKey, disabled, value]);
|
|
34
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
35
|
+
_reactariacomponents.ListBoxItem,
|
|
36
|
+
{
|
|
37
|
+
id: value,
|
|
38
|
+
textValue: label,
|
|
39
|
+
className: RichSelect_module_default.richSelectItem,
|
|
40
|
+
"data-testid": dataTestId,
|
|
41
|
+
ref,
|
|
42
|
+
children
|
|
43
|
+
}
|
|
44
|
+
);
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
exports.RichSelect_module_default = RichSelect_module_default; exports.RichSelectItemContext = RichSelectItemContext; exports.RichSelectItem_default = RichSelectItem_default;
|
|
52
|
+
//# sourceMappingURL=GYI2PBXY.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,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","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\"}"]}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SelectOption_default
|
|
3
3
|
} from "./HOUO3WV6.js";
|
|
4
|
+
import {
|
|
5
|
+
ColorBaseDestructive700,
|
|
6
|
+
ColorBaseGray800
|
|
7
|
+
} from "./W24KIAXI.js";
|
|
4
8
|
import {
|
|
5
9
|
Focus_module_default
|
|
6
10
|
} from "./2O6FDRTF.js";
|
|
7
11
|
import {
|
|
8
12
|
Typography_default
|
|
9
|
-
} from "./
|
|
13
|
+
} from "./B2TFERTM.js";
|
|
10
14
|
import {
|
|
11
15
|
useIsHydrated
|
|
12
16
|
} from "./YJ7YDIGB.js";
|
|
@@ -21,10 +25,6 @@ import {
|
|
|
21
25
|
} from "react";
|
|
22
26
|
import classNames from "classnames";
|
|
23
27
|
|
|
24
|
-
// ../syntax-design-tokens/dist/js/index.js
|
|
25
|
-
var ColorBaseDestructive700 = "#d32a4b";
|
|
26
|
-
var ColorBaseGray800 = "#353535";
|
|
27
|
-
|
|
28
28
|
// css-module:./SelectList.module.css#css-module
|
|
29
29
|
var SelectList_module_default = { "selectContainer": "_selectContainer_3ifov_1", "opacityOverlay": "_opacityOverlay_3ifov_7", "outerTextContainer": "_outerTextContainer_3ifov_11", "selectWrapper": "_selectWrapper_3ifov_16", "selectBox": "_selectBox_3ifov_21", "selectMouseFocusStyling": "_selectMouseFocusStyling_3ifov_37", "unselected": "_unselected_3ifov_42", "selected": "_selected_3ifov_46", "arrowIcon": "_arrowIcon_3ifov_50", "sm": "_sm_3ifov_64", "md": "_md_3ifov_70", "lg": "_lg_3ifov_76", "selectError": "_selectError_3ifov_82" };
|
|
30
30
|
|
|
@@ -124,4 +124,4 @@ SelectList.Option = SelectOption_default;
|
|
|
124
124
|
export {
|
|
125
125
|
SelectList
|
|
126
126
|
};
|
|
127
|
-
//# sourceMappingURL=
|
|
127
|
+
//# sourceMappingURL=HPLOQ2U3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/SelectList/SelectList.tsx","css-module:./SelectList.module.css#css-module"],"sourcesContent":["import React, {\n type ReactElement,\n type ReactNode,\n useId,\n useState,\n} from \"react\";\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\";\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 selectId = id ?? reactId;\n const { isFocusVisible } = useFocusVisible();\n const [isFocused, setIsFocused] = useState(false);\n\n return (\n <div\n className={classNames(styles.selectContainer, {\n [styles.opacityOverlay]: disabled,\n })}\n >\n {label && (\n <label htmlFor={selectId} className={styles.outerTextContainer}>\n <Typography size={100} color=\"gray700\">\n {label}\n </Typography>\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[size], {\n [styles.unselected]: !selectedValue && !errorText,\n [styles.selected]: selectedValue && !errorText,\n [styles.selectError]: errorText,\n [focusStyles.accessibilityOutlineFocus]:\n isFocused && isFocusVisible, // for focus keyboard\n [styles.selectMouseFocusStyling]: isFocused && !isFocusVisible, // for focus mouse\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={iconSize[size]}\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 <div className={styles.outerTextContainer}>\n <Typography\n size={100}\n color={errorText ? \"destructive-primary\" : \"gray700\"}\n >\n {errorText ? errorText : helperText}\n </Typography>\n </div>\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_3ifov_1\",\"opacityOverlay\":\"_opacityOverlay_3ifov_7\",\"outerTextContainer\":\"_outerTextContainer_3ifov_11\",\"selectWrapper\":\"_selectWrapper_3ifov_16\",\"selectBox\":\"_selectBox_3ifov_21\",\"selectMouseFocusStyling\":\"_selectMouseFocusStyling_3ifov_37\",\"unselected\":\"_unselected_3ifov_42\",\"selected\":\"_selected_3ifov_46\",\"arrowIcon\":\"_arrowIcon_3ifov_50\",\"sm\":\"_sm_3ifov_64\",\"md\":\"_md_3ifov_70\",\"lg\":\"_lg_3ifov_76\",\"selectError\":\"_selectError_3ifov_82\"}"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA,EAGE;AAAA,EACA;AAAA,OACK;AACP,OAAO,gBAAgB;;;ACN6E,IAAO,4BAAQ,EAAC,mBAAkB,4BAA2B,kBAAiB,2BAA0B,sBAAqB,gCAA+B,iBAAgB,2BAA0B,aAAY,uBAAsB,2BAA0B,qCAAoC,cAAa,wBAAuB,YAAW,sBAAqB,aAAY,uBAAsB,MAAK,gBAAe,MAAK,gBAAe,MAAK,gBAAe,eAAc,wBAAuB;;;ADgHvkB,cAMF,YANE;AA9FV,IAAM,WAAW;AAAA,EACf,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAKe,SAAR,WAA4B;AAAA,EACjC;AAAA,EACA,eAAe;AAAA,EACf,UAAU,eAAe;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,gBAAgB;AAAA,EAChB,OAAO;AACT,GAwDiB;AACf,QAAM,UAAU,MAAM;AACtB,QAAM,aAAa,cAAc;AACjC,QAAM,WAAW,CAAC,cAAc;AAChC,QAAM,WAAW,kBAAM;AACvB,QAAM,EAAE,eAAe,IAAI,gBAAgB;AAC3C,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAEhD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,WAAW,0BAAO,iBAAiB;AAAA,QAC5C,CAAC,0BAAO,cAAc,GAAG;AAAA,MAC3B,CAAC;AAAA,MAEA;AAAA,iBACC,oBAAC,WAAM,SAAS,UAAU,WAAW,0BAAO,oBAC1C,8BAAC,sBAAW,MAAM,KAAK,OAAM,WAC1B,iBACH,GACF;AAAA,QAEF,qBAAC,SAAI,WAAW,0BAAO,eACrB;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,IAAI;AAAA,cACJ,eAAa;AAAA,cACb;AAAA,cACA,WAAW,WAAW,0BAAO,WAAW,0BAAO,IAAI,GAAG;AAAA,gBACpD,CAAC,0BAAO,UAAU,GAAG,CAAC,iBAAiB,CAAC;AAAA,gBACxC,CAAC,0BAAO,QAAQ,GAAG,iBAAiB,CAAC;AAAA,gBACrC,CAAC,0BAAO,WAAW,GAAG;AAAA,gBACtB,CAAC,qBAAY,yBAAyB,GACpC,aAAa;AAAA;AAAA,gBACf,CAAC,0BAAO,uBAAuB,GAAG,aAAa,CAAC;AAAA;AAAA,cAClD,CAAC;AAAA,cACD;AAAA,cACA;AAAA,cACA,OACE,mBAAmB,CAAC,gBAAgB,kBAAkB;AAAA,cAExD,SAAS,MAAM,aAAa,IAAI;AAAA,cAChC,QAAQ,MAAM,aAAa,KAAK;AAAA,cAE/B;AAAA,mCACC,oBAAC,YAAO,UAAQ,MAAC,OAAO,iBACrB,2BACH;AAAA,gBAED;AAAA;AAAA;AAAA,UACH;AAAA,UACA,oBAAC,SAAI,WAAW,0BAAO,WACrB;AAAA,YAAC;AAAA;AAAA,cACC,WAAU;AAAA,cACV,eAAY;AAAA,cACZ,SAAQ;AAAA,cACR,OAAO,SAAS,IAAI;AAAA,cAEpB;AAAA,gBAAC;AAAA;AAAA,kBACC,MAAM,YAAY,0BAA0B;AAAA,kBAC5C,GAAE;AAAA;AAAA,cACJ;AAAA;AAAA,UACF,GACF;AAAA,WACF;AAAA,SACE,cAAc,cACd,oBAAC,SAAI,WAAW,0BAAO,oBACrB;AAAA,UAAC;AAAA;AAAA,YACC,MAAM;AAAA,YACN,OAAO,YAAY,wBAAwB;AAAA,YAE1C,sBAAY,YAAY;AAAA;AAAA,QAC3B,GACF;AAAA;AAAA;AAAA,EAEJ;AAEJ;AAEA,WAAW,SAAS;","names":[]}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var _PYX4374Tcjs = require('./PYX4374T.cjs');
|
|
3
|
+
var _FZ5HWA3Scjs = require('./FZ5HWA3S.cjs');
|
|
7
4
|
|
|
8
5
|
|
|
9
6
|
var _PBWG2BB5cjs = require('./PBWG2BB5.cjs');
|
|
@@ -12,6 +9,9 @@ var _PBWG2BB5cjs = require('./PBWG2BB5.cjs');
|
|
|
12
9
|
var _YBP5BNDHcjs = require('./YBP5BNDH.cjs');
|
|
13
10
|
|
|
14
11
|
|
|
12
|
+
var _SJFWRAOPcjs = require('./SJFWRAOP.cjs');
|
|
13
|
+
|
|
14
|
+
|
|
15
15
|
var _5SMR5MWYcjs = require('./5SMR5MWY.cjs');
|
|
16
16
|
|
|
17
17
|
// src/Modal/Modal.tsx
|
|
@@ -80,7 +80,7 @@ function Modal({
|
|
|
80
80
|
) }),
|
|
81
81
|
image && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _5SMR5MWYcjs.Box_default, { maxHeight: 200, children: image }),
|
|
82
82
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _5SMR5MWYcjs.Box_default, { display: "flex", gap: 3, direction: "column", padding: 9, children: [
|
|
83
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
83
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _FZ5HWA3Scjs.Heading_default, { as: "h1", size: 500, children: header }),
|
|
84
84
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _5SMR5MWYcjs.Box_default, { marginBottom: 4, children }),
|
|
85
85
|
footer && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
86
86
|
_5SMR5MWYcjs.Box_default,
|
|
@@ -107,4 +107,4 @@ Modal.displayName = "Modal";
|
|
|
107
107
|
|
|
108
108
|
|
|
109
109
|
exports.Modal = Modal;
|
|
110
|
-
//# sourceMappingURL=
|
|
110
|
+
//# sourceMappingURL=HR5QOB3U.cjs.map
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
2
|
|
|
3
|
+
var _ZDMSFZS3cjs = require('./ZDMSFZS3.cjs');
|
|
3
4
|
|
|
4
|
-
|
|
5
|
+
|
|
6
|
+
var _5WNFAQGYcjs = require('./5WNFAQGY.cjs');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
var _VMARHE5Bcjs = require('./VMARHE5B.cjs');
|
|
5
10
|
|
|
6
11
|
|
|
7
12
|
var _7GJ2SD7Ocjs = require('./7GJ2SD7O.cjs');
|
|
@@ -10,13 +15,16 @@ var _7GJ2SD7Ocjs = require('./7GJ2SD7O.cjs');
|
|
|
10
15
|
var _NGUJFGACcjs = require('./NGUJFGAC.cjs');
|
|
11
16
|
|
|
12
17
|
// src/Dialog/Dialog.tsx
|
|
13
|
-
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
var _react = require('react'); var _react2 = _interopRequireDefault(_react);
|
|
14
22
|
|
|
15
23
|
// css-module:../elevation/elevation.module.css#css-module
|
|
16
24
|
var elevation_module_default = { "elevation400BoxShadow": "_elevation400BoxShadow_vw6sp_1" };
|
|
17
25
|
|
|
18
26
|
// css-module:./Dialog.module.css#css-module
|
|
19
|
-
var Dialog_module_default = { "dialog": "
|
|
27
|
+
var Dialog_module_default = { "dialog": "_dialog_1bme6_1" };
|
|
20
28
|
|
|
21
29
|
// src/Dialog/Dialog.tsx
|
|
22
30
|
var _reactariacomponents = require('react-aria-components');
|
|
@@ -32,6 +40,7 @@ var sizeToPadding = {
|
|
|
32
40
|
md: 5,
|
|
33
41
|
lg: 6
|
|
34
42
|
};
|
|
43
|
+
var DialogContext = _react2.default.createContext({});
|
|
35
44
|
var Dialog = _react.forwardRef.call(void 0, function Dialog2(props, ref) {
|
|
36
45
|
const {
|
|
37
46
|
"data-testid": dataTestId,
|
|
@@ -39,6 +48,7 @@ var Dialog = _react.forwardRef.call(void 0, function Dialog2(props, ref) {
|
|
|
39
48
|
children,
|
|
40
49
|
size = "md"
|
|
41
50
|
} = props;
|
|
51
|
+
const { padding } = _react.useContext.call(void 0, DialogContext);
|
|
42
52
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
43
53
|
_reactariacomponents.Dialog,
|
|
44
54
|
{
|
|
@@ -46,20 +56,21 @@ var Dialog = _react.forwardRef.call(void 0, function Dialog2(props, ref) {
|
|
|
46
56
|
"data-testid": dataTestId,
|
|
47
57
|
"aria-label": accessibilityLabel,
|
|
48
58
|
className: _classnames2.default.call(void 0, [
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
59
|
+
_VMARHE5Bcjs.Box_module_default.box,
|
|
60
|
+
_VMARHE5Bcjs.Box_module_default.flex,
|
|
61
|
+
_VMARHE5Bcjs.Box_module_default.column,
|
|
62
|
+
_VMARHE5Bcjs.Box_module_default.gap4,
|
|
63
|
+
_VMARHE5Bcjs.Box_module_default.relative,
|
|
64
|
+
_VMARHE5Bcjs.Box_module_default.overflowauto,
|
|
55
65
|
_NGUJFGACcjs.colors_module_default.whiteBackgroundColor,
|
|
56
|
-
|
|
57
|
-
|
|
66
|
+
_5WNFAQGYcjs.padding_module_default[`paddingX${padding != null ? padding : sizeToPadding[size]}`],
|
|
67
|
+
_5WNFAQGYcjs.padding_module_default[`paddingY${padding != null ? padding : sizeToPadding[size]}`],
|
|
58
68
|
_7GJ2SD7Ocjs.rounding_module_default[`rounding${sizeToRounding[size]}`],
|
|
59
69
|
elevation_module_default.elevation400BoxShadow,
|
|
70
|
+
_ZDMSFZS3cjs.layout_module_default.fullMaxHeight,
|
|
71
|
+
_ZDMSFZS3cjs.layout_module_default.visibilityVisible,
|
|
60
72
|
Dialog_module_default.dialog
|
|
61
73
|
]),
|
|
62
|
-
style: { maxWidth: "100%", maxHeight: "100%" },
|
|
63
74
|
children
|
|
64
75
|
}
|
|
65
76
|
);
|
|
@@ -68,5 +79,6 @@ var Dialog_default = Dialog;
|
|
|
68
79
|
|
|
69
80
|
|
|
70
81
|
|
|
71
|
-
|
|
72
|
-
|
|
82
|
+
|
|
83
|
+
exports.DialogContext = DialogContext; exports.Dialog_default = Dialog_default;
|
|
84
|
+
//# sourceMappingURL=IJVFSOXU.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/Dialog/Dialog.tsx","css-module:../elevation/elevation.module.css#css-module","css-module:./Dialog.module.css#css-module"],"names":["Dialog"],"mappings":";;;;;;;;;;;;;;;;;AAAA,OAAO;AAAA,EAEL;AAAA,EAEA;AAAA,OAEK;;;ACN2F,IAAO,2BAAQ,EAAC,yBAAwB,iCAAgC;;;ACA9E,IAAO,wBAAQ,EAAC,UAAS,kBAAiB;;;AFctI,SAAS,UAAU,uBAAuB;AAC1C,OAAO,gBAAgB;AA4DnB;AA5CJ,IAAM,iBAAqD;AAAA,EACzD,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEA,IAAM,gBAA+C;AAAA,EACnD,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAMO,IAAM,gBAAgB,MAAM,cAAiC,CAAC,CAAC;AActE,IAAM,SAAS,WAAwC,SAASA,QAC9D,OACA,KACc;AACd,QAAM;AAAA,IACJ,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA,OAAO;AAAA,EACT,IAAI;AAEJ,QAAM,EAAE,QAAQ,IAAI,WAAW,aAAa;AAE5C,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,eAAa;AAAA,MAGb,cAAY;AAAA,MACZ,WAAW,WAAW;AAAA,QACpB,mBAAU;AAAA,QACV,mBAAU;AAAA,QACV,mBAAU;AAAA,QACV,mBAAU;AAAA,QACV,mBAAU;AAAA,QACV,mBAAU;AAAA,QACV,sBAAY;AAAA,QACZ,uBAAc,WAAW,4BAAW,cAAc,IAAI,GAAG;AAAA,QACzD,uBAAc,WAAW,4BAAW,cAAc,IAAI,GAAG;AAAA,QACzD,wBAAe,WAAW,eAAe,IAAI,GAAG;AAAA,QAChD,yBAAgB;AAAA,QAChB,sBAAa;AAAA,QACb,sBAAa;AAAA,QACb,sBAAO;AAAA,MACT,CAAC;AAAA,MAEA;AAAA;AAAA,EACH;AAEJ,CAAC;AAED,IAAO,iBAAQ","sourcesContent":["import React, {\n type ReactNode,\n forwardRef,\n type ReactElement,\n useContext,\n type ComponentProps,\n} from \"react\";\nimport colorStyles from \"../colors/colors.module.css\";\nimport elevationStyles from \"../elevation/elevation.module.css\";\nimport layoutStyles from \"../layout.module.css\";\nimport paddingStyles from \"../Box/padding.module.css\";\nimport roundingStyles from \"../rounding.module.css\";\nimport boxStyles from \"../Box/Box.module.css\";\nimport styles from \"./Dialog.module.css\";\nimport { Dialog as ReactAriaDialog } from \"react-aria-components\";\nimport classNames from \"classnames\";\nimport type Box from \"../Box/Box\";\n\ntype DialogSize = \"sm\" | \"md\" | \"lg\";\ntype DialogRounding = \"lg\" | \"xl\";\nexport type DialogProps = {\n /** Test id for the floating dialog */\n \"data-testid\"?: string;\n /** aria-label for the dialog */\n accessibilityLabel?: string;\n /** Content to be shown inside the dialog. */\n children?: ReactNode;\n /** Optional size of the dialog box */\n size?: DialogSize;\n};\n\nconst sizeToRounding: Record<DialogSize, DialogRounding> = {\n sm: \"lg\",\n md: \"lg\",\n lg: \"xl\",\n};\n\nconst sizeToPadding: Record<DialogSize, 4 | 5 | 6> = {\n sm: 4,\n md: 5,\n lg: 6,\n};\n\ntype DialogContextType = {\n /** padding of dialog content. overrides \\\"size\\\" prop's padding\" */\n padding?: ComponentProps<typeof Box>[\"padding\"];\n};\nexport const DialogContext = React.createContext<DialogContextType>({});\n\n/**\n * Dialog is a display component for showing content in Popovers, Modals, etc...\n *\n * Example Usage:\n ```\n <Dialog accessibilityLabel=\"Select some options\">\n <Box padding={2} maxWidth={400}>\n ... some content goes here\n </Box>\n </Dialog>\n ```\n */\nconst Dialog = forwardRef<HTMLDivElement, DialogProps>(function Dialog(\n props,\n ref,\n): ReactElement {\n const {\n \"data-testid\": dataTestId,\n accessibilityLabel,\n children,\n size = \"md\",\n } = props;\n\n const { padding } = useContext(DialogContext);\n\n return (\n <ReactAriaDialog\n ref={ref}\n data-testid={dataTestId}\n // first thing screen reader reads\n // e.g. \"<this was the label prop>, dialog, 4 items...\"\n aria-label={accessibilityLabel}\n className={classNames([\n boxStyles.box,\n boxStyles.flex,\n boxStyles.column,\n boxStyles.gap4,\n boxStyles.relative,\n boxStyles.overflowauto,\n colorStyles.whiteBackgroundColor,\n paddingStyles[`paddingX${padding ?? sizeToPadding[size]}`],\n paddingStyles[`paddingY${padding ?? sizeToPadding[size]}`],\n roundingStyles[`rounding${sizeToRounding[size]}`],\n elevationStyles.elevation400BoxShadow,\n layoutStyles.fullMaxHeight,\n layoutStyles.visibilityVisible,\n styles.dialog,\n ])}\n >\n {children}\n </ReactAriaDialog>\n );\n});\n\nexport default Dialog;\n","import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/elevation/elevation.module.css\"; export default {\"elevation400BoxShadow\":\"_elevation400BoxShadow_vw6sp_1\"}","import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/Dialog/Dialog.module.css\"; export default {\"dialog\":\"_dialog_1bme6_1\"}"]}
|