@cambly/syntax-core 10.3.0 → 10.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Avatar/Avatar.cjs +7 -5
- package/dist/Avatar/Avatar.d.ts +1 -1
- package/dist/Avatar/Avatar.js +5 -3
- package/dist/AvatarGroup/AvatarGroup.cjs +6 -4
- package/dist/AvatarGroup/AvatarGroup.js +4 -2
- package/dist/Badge/Badge.cjs +7 -5
- package/dist/Badge/Badge.d.ts +1 -1
- package/dist/Badge/Badge.js +5 -3
- package/dist/Box/Box.cjs +5 -3
- package/dist/Box/Box.js +3 -1
- package/dist/Button/Button.cjs +9 -7
- package/dist/Button/Button.js +8 -6
- package/dist/ButtonGroup/ButtonGroup.d.ts +1 -1
- package/dist/Card/Card.cjs +6 -4
- package/dist/Card/Card.js +4 -2
- package/dist/Checkbox/Checkbox.cjs +4 -4
- package/dist/Checkbox/Checkbox.d.ts +1 -1
- package/dist/Checkbox/Checkbox.js +3 -3
- package/dist/Chip/Chip.cjs +7 -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 +6 -4
- package/dist/Dialog/Dialog.cjs +18 -0
- package/dist/Dialog/Dialog.cjs.map +1 -0
- package/dist/Dialog/Dialog.css +872 -0
- package/dist/Dialog/Dialog.css.map +1 -0
- package/dist/Dialog/Dialog.d.ts +35 -0
- package/dist/Dialog/Dialog.js +18 -0
- package/dist/Dialog/Dialog.js.map +1 -0
- package/dist/Dialog/ModalDialog.cjs +28 -0
- package/dist/Dialog/ModalDialog.cjs.map +1 -0
- package/dist/Dialog/ModalDialog.css +1886 -0
- package/dist/Dialog/ModalDialog.css.map +1 -0
- package/dist/Dialog/ModalDialog.d.ts +59 -0
- package/dist/Dialog/ModalDialog.js +28 -0
- package/dist/Dialog/ModalDialog.js.map +1 -0
- package/dist/Heading/Heading.cjs +3 -3
- package/dist/Heading/Heading.d.ts +2 -2
- package/dist/Heading/Heading.js +2 -2
- package/dist/IconButton/IconButton.cjs +3 -3
- package/dist/IconButton/IconButton.js +2 -2
- package/dist/LinkButton/LinkButton.cjs +4 -4
- package/dist/LinkButton/LinkButton.js +3 -3
- package/dist/Modal/Layer.cjs +6 -4
- package/dist/Modal/Layer.js +4 -2
- package/dist/Modal/Modal.cjs +10 -8
- package/dist/Modal/Modal.js +8 -6
- package/dist/Popover/Popover.cjs +30 -0
- package/dist/Popover/Popover.cjs.map +1 -0
- package/dist/Popover/Popover.css +1893 -0
- package/dist/Popover/Popover.css.map +1 -0
- package/dist/Popover/Popover.d.ts +70 -0
- package/dist/Popover/Popover.js +30 -0
- package/dist/Popover/Popover.js.map +1 -0
- package/dist/RadioButton/RadioButton.cjs +4 -4
- package/dist/RadioButton/RadioButton.d.ts +4 -2
- package/dist/RadioButton/RadioButton.js +3 -3
- package/dist/RichSelect/RichSelectBox.cjs +40 -0
- package/dist/RichSelect/RichSelectBox.cjs.map +1 -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/RichSelectBox.js.map +1 -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 +5 -4
- package/dist/SelectList/SelectList.js +4 -3
- 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 +7 -5
- package/dist/TextArea/TextArea.js +6 -4
- package/dist/TextField/TextField.cjs +7 -5
- package/dist/TextField/TextField.js +6 -4
- package/dist/Tooltip/Tooltip.cjs +22 -0
- package/dist/Tooltip/Tooltip.cjs.map +1 -0
- package/dist/Tooltip/Tooltip.css +941 -0
- package/dist/Tooltip/Tooltip.css.map +1 -0
- package/dist/Tooltip/Tooltip.d.ts +71 -0
- package/dist/Tooltip/Tooltip.js +22 -0
- package/dist/Tooltip/Tooltip.js.map +1 -0
- package/dist/Typography/Typography.cjs +2 -2
- package/dist/Typography/Typography.d.ts +13 -8
- package/dist/Typography/Typography.js +1 -1
- package/dist/__chunks/{GPS2XNQI.js → 2R4YCOYE.js} +10 -10
- package/dist/__chunks/2RCQTGOZ.cjs +39 -0
- package/dist/__chunks/2RCQTGOZ.cjs.map +1 -0
- package/dist/__chunks/3BBDCRDO.js +9 -0
- package/dist/__chunks/3BBDCRDO.js.map +1 -0
- package/dist/__chunks/{ERJ5XXDH.js → 3UQRZ3IQ.js} +4 -4
- package/dist/__chunks/4EXO6IHD.cjs +17 -0
- package/dist/__chunks/4EXO6IHD.cjs.map +1 -0
- package/dist/__chunks/4PLE46VU.cjs +63 -0
- package/dist/__chunks/4PLE46VU.cjs.map +1 -0
- package/dist/__chunks/55HJFY7V.js +268 -0
- package/dist/__chunks/55HJFY7V.js.map +1 -0
- package/dist/__chunks/{CY6YL5T4.cjs → 5SMR5MWY.cjs} +1 -1
- 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/5ZDZZL2P.js +63 -0
- package/dist/__chunks/5ZDZZL2P.js.map +1 -0
- package/dist/__chunks/652STTPK.js +7 -0
- package/dist/__chunks/652STTPK.js.map +1 -0
- package/dist/__chunks/{XZYDKAQV.js → AGEHF4UW.js} +3 -3
- package/dist/__chunks/ARBLKS7D.js +17 -0
- package/dist/__chunks/ARBLKS7D.js.map +1 -0
- package/dist/__chunks/{F3ZST4RL.js → B2TFERTM.js} +8 -4
- package/dist/__chunks/B2TFERTM.js.map +1 -0
- package/dist/__chunks/{RZPCI2UU.cjs → DMCLLEN5.cjs} +9 -9
- package/dist/__chunks/DMCLLEN5.cjs.map +1 -0
- package/dist/__chunks/DNTOWEIQ.js +39 -0
- package/dist/__chunks/DNTOWEIQ.js.map +1 -0
- package/dist/__chunks/{2JWMSFS7.js → E4BJX2H5.js} +2 -2
- package/dist/__chunks/{PF7Q2EGN.cjs → EWCLQBKV.cjs} +8 -8
- package/dist/__chunks/{XBWCYGQ2.cjs → FMHIHCQS.cjs} +5 -5
- package/dist/__chunks/{C5IESDXE.cjs → FMSBGH2I.cjs} +8 -8
- package/dist/__chunks/FMSI35YS.cjs +52 -0
- package/dist/__chunks/FMSI35YS.cjs.map +1 -0
- package/dist/__chunks/{CEWOAFV2.cjs → FZ5HWA3S.cjs} +3 -3
- package/dist/__chunks/{XLVKNLN7.cjs → GOSWBV5D.cjs} +3 -3
- package/dist/__chunks/GYI2PBXY.cjs +52 -0
- package/dist/__chunks/GYI2PBXY.cjs.map +1 -0
- package/dist/__chunks/{G6TO2NCY.js → HEJ3LVZG.js} +2 -2
- package/dist/__chunks/{3VUMTAUX.js → HOGVXDTO.js} +4 -4
- package/dist/__chunks/{NHSTGALH.cjs → HR5QOB3U.cjs} +14 -14
- package/dist/__chunks/IJVFSOXU.cjs +84 -0
- 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/JQ6POHCA.js +82 -0
- package/dist/__chunks/JQ6POHCA.js.map +1 -0
- package/dist/__chunks/{GPWBSPBL.js → JUUIXL6A.js} +3 -3
- package/dist/__chunks/{FOTKCGZZ.js → JWFHLI33.js} +3 -3
- package/dist/__chunks/{GBJX7OPK.cjs → JYDZTZIK.cjs} +6 -6
- package/dist/__chunks/{IFJ2YOEG.cjs → K77KFPIV.cjs} +3 -3
- package/dist/__chunks/{YGVUSAB6.cjs → KCYZNZBO.cjs} +7 -7
- package/dist/__chunks/KMIZI5PW.js +7 -0
- package/dist/__chunks/KMIZI5PW.js.map +1 -0
- package/dist/__chunks/{REM5SMMZ.js → LCZ57HZU.js} +3 -3
- package/dist/__chunks/{N3EZP6VG.cjs → LDFTT3OI.cjs} +4 -4
- package/dist/__chunks/{EXYF6BLV.cjs → LMCK5YO5.cjs} +5 -4
- package/dist/__chunks/LMCK5YO5.cjs.map +1 -0
- package/dist/__chunks/M2T7D4DC.js +33 -0
- package/dist/__chunks/M2T7D4DC.js.map +1 -0
- package/dist/__chunks/M7BTHQDK.cjs +268 -0
- package/dist/__chunks/M7BTHQDK.cjs.map +1 -0
- package/dist/__chunks/NDJRETMM.cjs +33 -0
- package/dist/__chunks/NDJRETMM.cjs.map +1 -0
- package/dist/__chunks/{X74O4HUS.js → NRTSRS2D.js} +4 -3
- package/dist/__chunks/NRTSRS2D.js.map +1 -0
- package/dist/__chunks/{BSFWQWVJ.js → PEKXH4DM.js} +2 -2
- package/dist/__chunks/PJIXYQPE.js +164 -0
- package/dist/__chunks/PJIXYQPE.js.map +1 -0
- 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/QJI4G5FP.cjs +82 -0
- 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/{CWNH5WDG.cjs → QQWCNTE4.cjs} +12 -9
- package/dist/__chunks/QQWCNTE4.cjs.map +1 -0
- package/dist/__chunks/{THEUR2KP.cjs → RAVU4WEO.cjs} +9 -9
- package/dist/__chunks/RFHPSEBF.cjs +30 -0
- package/dist/__chunks/RFHPSEBF.cjs.map +1 -0
- package/dist/__chunks/{CQ2HIJ62.js → STT27BTU.js} +2 -2
- package/dist/__chunks/SXTAJU6N.cjs +9 -0
- package/dist/__chunks/SXTAJU6N.cjs.map +1 -0
- package/dist/__chunks/{PYNS67IV.js → TJHCYMPV.js} +1 -1
- package/dist/__chunks/TPP3XWDC.cjs +159 -0
- package/dist/__chunks/TPP3XWDC.cjs.map +1 -0
- package/dist/__chunks/UYBMLRXR.js +159 -0
- package/dist/__chunks/UYBMLRXR.js.map +1 -0
- package/dist/__chunks/{BSWWGQAS.js → V3ZO4D37.js} +2 -2
- package/dist/__chunks/{UNIBFDXV.js → VBSJSA3B.js} +10 -7
- package/dist/__chunks/VBSJSA3B.js.map +1 -0
- package/dist/__chunks/VMARHE5B.cjs +7 -0
- 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/{JMKXHLVZ.cjs → W7CSNF2M.cjs} +3 -3
- package/dist/__chunks/{MZWEO42B.js → WX2IEICF.js} +6 -6
- package/dist/__chunks/WX2IEICF.js.map +1 -0
- package/dist/__chunks/XFFSBU7E.js +84 -0
- package/dist/__chunks/XFFSBU7E.js.map +1 -0
- package/dist/__chunks/XKDASN7N.js +30 -0
- package/dist/__chunks/XKDASN7N.js.map +1 -0
- package/dist/__chunks/{TKYRBLSM.js → XT2JUTU3.js} +9 -9
- package/dist/__chunks/Y6L6EOCB.js +52 -0
- package/dist/__chunks/Y6L6EOCB.js.map +1 -0
- package/dist/__chunks/{3F5U7W73.cjs → YBP5BNDH.cjs} +3 -3
- package/dist/__chunks/ZDMSFZS3.cjs +7 -0
- package/dist/__chunks/ZDMSFZS3.cjs.map +1 -0
- package/dist/__chunks/ZG64UIHG.cjs +164 -0
- package/dist/__chunks/ZG64UIHG.cjs.map +1 -0
- package/dist/__chunks/{ARYAYAXH.cjs → ZX5KONS2.cjs} +8 -4
- package/dist/__chunks/ZX5KONS2.cjs.map +1 -0
- package/dist/index.cjs +63 -34
- package/dist/index.css +82 -7
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +13 -0
- package/dist/index.js +72 -43
- package/dist/react-aria-utils/OverlayVisibility.cjs +8 -0
- package/dist/react-aria-utils/OverlayVisibility.cjs.map +1 -0
- package/dist/react-aria-utils/OverlayVisibility.d.ts +21 -0
- package/dist/react-aria-utils/OverlayVisibility.js +8 -0
- package/dist/react-aria-utils/OverlayVisibility.js.map +1 -0
- package/dist/react-aria-utils/Triggerable.cjs +9 -0
- package/dist/react-aria-utils/Triggerable.cjs.map +1 -0
- package/dist/react-aria-utils/Triggerable.css +7 -0
- package/dist/react-aria-utils/Triggerable.css.map +1 -0
- package/dist/react-aria-utils/Triggerable.d.ts +14 -0
- package/dist/react-aria-utils/Triggerable.js +9 -0
- package/dist/react-aria-utils/Triggerable.js.map +1 -0
- package/dist/react-aria-utils/placement.cjs +8 -0
- package/dist/react-aria-utils/placement.cjs.map +1 -0
- package/dist/react-aria-utils/placement.d.ts +6 -0
- package/dist/react-aria-utils/placement.js +8 -0
- package/dist/react-aria-utils/placement.js.map +1 -0
- package/dist/react-aria-utils/useDomRefSyntheticEventBridge.cjs +8 -0
- package/dist/react-aria-utils/useDomRefSyntheticEventBridge.cjs.map +1 -0
- package/dist/react-aria-utils/useDomRefSyntheticEventBridge.d.ts +7 -0
- package/dist/react-aria-utils/useDomRefSyntheticEventBridge.js +8 -0
- package/dist/react-aria-utils/useDomRefSyntheticEventBridge.js.map +1 -0
- package/package.json +6 -2
- package/dist/__chunks/37CQV3RS.js.map +0 -1
- package/dist/__chunks/ARYAYAXH.cjs.map +0 -1
- package/dist/__chunks/CGUZFFJ2.cjs.map +0 -1
- package/dist/__chunks/CWNH5WDG.cjs.map +0 -1
- package/dist/__chunks/EXYF6BLV.cjs.map +0 -1
- package/dist/__chunks/F3ZST4RL.js.map +0 -1
- package/dist/__chunks/MZWEO42B.js.map +0 -1
- package/dist/__chunks/RZPCI2UU.cjs.map +0 -1
- package/dist/__chunks/UNIBFDXV.js.map +0 -1
- package/dist/__chunks/X74O4HUS.js.map +0 -1
- /package/dist/__chunks/{GPS2XNQI.js.map → 2R4YCOYE.js.map} +0 -0
- /package/dist/__chunks/{ERJ5XXDH.js.map → 3UQRZ3IQ.js.map} +0 -0
- /package/dist/__chunks/{CY6YL5T4.cjs.map → 5SMR5MWY.cjs.map} +0 -0
- /package/dist/__chunks/{XZYDKAQV.js.map → AGEHF4UW.js.map} +0 -0
- /package/dist/__chunks/{2JWMSFS7.js.map → E4BJX2H5.js.map} +0 -0
- /package/dist/__chunks/{PF7Q2EGN.cjs.map → EWCLQBKV.cjs.map} +0 -0
- /package/dist/__chunks/{XBWCYGQ2.cjs.map → FMHIHCQS.cjs.map} +0 -0
- /package/dist/__chunks/{C5IESDXE.cjs.map → FMSBGH2I.cjs.map} +0 -0
- /package/dist/__chunks/{CEWOAFV2.cjs.map → FZ5HWA3S.cjs.map} +0 -0
- /package/dist/__chunks/{XLVKNLN7.cjs.map → GOSWBV5D.cjs.map} +0 -0
- /package/dist/__chunks/{G6TO2NCY.js.map → HEJ3LVZG.js.map} +0 -0
- /package/dist/__chunks/{3VUMTAUX.js.map → HOGVXDTO.js.map} +0 -0
- /package/dist/__chunks/{NHSTGALH.cjs.map → HR5QOB3U.cjs.map} +0 -0
- /package/dist/__chunks/{GPWBSPBL.js.map → JUUIXL6A.js.map} +0 -0
- /package/dist/__chunks/{FOTKCGZZ.js.map → JWFHLI33.js.map} +0 -0
- /package/dist/__chunks/{GBJX7OPK.cjs.map → JYDZTZIK.cjs.map} +0 -0
- /package/dist/__chunks/{IFJ2YOEG.cjs.map → K77KFPIV.cjs.map} +0 -0
- /package/dist/__chunks/{YGVUSAB6.cjs.map → KCYZNZBO.cjs.map} +0 -0
- /package/dist/__chunks/{REM5SMMZ.js.map → LCZ57HZU.js.map} +0 -0
- /package/dist/__chunks/{N3EZP6VG.cjs.map → LDFTT3OI.cjs.map} +0 -0
- /package/dist/__chunks/{BSFWQWVJ.js.map → PEKXH4DM.js.map} +0 -0
- /package/dist/__chunks/{THEUR2KP.cjs.map → RAVU4WEO.cjs.map} +0 -0
- /package/dist/__chunks/{CQ2HIJ62.js.map → STT27BTU.js.map} +0 -0
- /package/dist/__chunks/{PYNS67IV.js.map → TJHCYMPV.js.map} +0 -0
- /package/dist/__chunks/{BSWWGQAS.js.map → V3ZO4D37.js.map} +0 -0
- /package/dist/__chunks/{JMKXHLVZ.cjs.map → W7CSNF2M.cjs.map} +0 -0
- /package/dist/__chunks/{TKYRBLSM.js.map → XT2JUTU3.js.map} +0 -0
- /package/dist/__chunks/{3F5U7W73.cjs.map → YBP5BNDH.cjs.map} +0 -0
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _FZ5HWA3Scjs = require('./FZ5HWA3S.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _PBWG2BB5cjs = require('./PBWG2BB5.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _YBP5BNDHcjs = require('./YBP5BNDH.cjs');
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _SJFWRAOPcjs = require('./SJFWRAOP.cjs');
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var _5SMR5MWYcjs = require('./5SMR5MWY.cjs');
|
|
16
16
|
|
|
17
17
|
// src/Modal/Modal.tsx
|
|
18
18
|
var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames);
|
|
@@ -46,7 +46,7 @@ function Modal({
|
|
|
46
46
|
zIndex = 1,
|
|
47
47
|
"data-testid": dataTestId
|
|
48
48
|
}) {
|
|
49
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
49
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _YBP5BNDHcjs.Layer, { zIndex, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _PBWG2BB5cjs.StopScroll, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _SJFWRAOPcjs.FocusTrap, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
50
50
|
"div",
|
|
51
51
|
{
|
|
52
52
|
className: Modal_module_default.backdrop,
|
|
@@ -54,7 +54,7 @@ function Modal({
|
|
|
54
54
|
onClick: (e) => e.target === e.currentTarget && onDismiss(),
|
|
55
55
|
onKeyDown: (e) => e.key === "Escape" && onDismiss(),
|
|
56
56
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
57
|
-
|
|
57
|
+
_5SMR5MWYcjs.Box_default,
|
|
58
58
|
{
|
|
59
59
|
"data-testid": dataTestId,
|
|
60
60
|
backgroundColor: "white",
|
|
@@ -66,7 +66,7 @@ function Modal({
|
|
|
66
66
|
width: "100%",
|
|
67
67
|
dangerouslySetInlineStyle: { __style: { overflow: "hidden" } },
|
|
68
68
|
children: [
|
|
69
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
69
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _5SMR5MWYcjs.Box_default, { position: "relative", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
70
70
|
"button",
|
|
71
71
|
{
|
|
72
72
|
"aria-label": accessibilityCloseLabel,
|
|
@@ -78,12 +78,12 @@ function Modal({
|
|
|
78
78
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, XIcon, { color: image ? "#fff" : "#000" })
|
|
79
79
|
}
|
|
80
80
|
) }),
|
|
81
|
-
image && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
82
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
83
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
84
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
81
|
+
image && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _5SMR5MWYcjs.Box_default, { maxHeight: 200, children: image }),
|
|
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, _FZ5HWA3Scjs.Heading_default, { as: "h1", size: 500, children: header }),
|
|
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,
|
|
87
87
|
{
|
|
88
88
|
display: "flex",
|
|
89
89
|
direction: "column",
|
|
@@ -107,4 +107,4 @@ Modal.displayName = "Modal";
|
|
|
107
107
|
|
|
108
108
|
|
|
109
109
|
exports.Modal = Modal;
|
|
110
|
-
//# sourceMappingURL=
|
|
110
|
+
//# sourceMappingURL=HR5QOB3U.cjs.map
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
|
+
|
|
3
|
+
var _ZDMSFZS3cjs = require('./ZDMSFZS3.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _5WNFAQGYcjs = require('./5WNFAQGY.cjs');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
var _VMARHE5Bcjs = require('./VMARHE5B.cjs');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
var _7GJ2SD7Ocjs = require('./7GJ2SD7O.cjs');
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
var _NGUJFGACcjs = require('./NGUJFGAC.cjs');
|
|
16
|
+
|
|
17
|
+
// src/Dialog/Dialog.tsx
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
var _react = require('react'); var _react2 = _interopRequireDefault(_react);
|
|
22
|
+
|
|
23
|
+
// css-module:../elevation/elevation.module.css#css-module
|
|
24
|
+
var elevation_module_default = { "elevation400BoxShadow": "_elevation400BoxShadow_vw6sp_1" };
|
|
25
|
+
|
|
26
|
+
// css-module:./Dialog.module.css#css-module
|
|
27
|
+
var Dialog_module_default = { "dialog": "_dialog_1bme6_1" };
|
|
28
|
+
|
|
29
|
+
// src/Dialog/Dialog.tsx
|
|
30
|
+
var _reactariacomponents = require('react-aria-components');
|
|
31
|
+
var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames);
|
|
32
|
+
var _jsxruntime = require('react/jsx-runtime');
|
|
33
|
+
var sizeToRounding = {
|
|
34
|
+
sm: "lg",
|
|
35
|
+
md: "lg",
|
|
36
|
+
lg: "xl"
|
|
37
|
+
};
|
|
38
|
+
var sizeToPadding = {
|
|
39
|
+
sm: 4,
|
|
40
|
+
md: 5,
|
|
41
|
+
lg: 6
|
|
42
|
+
};
|
|
43
|
+
var DialogContext = _react2.default.createContext({});
|
|
44
|
+
var Dialog = _react.forwardRef.call(void 0, function Dialog2(props, ref) {
|
|
45
|
+
const {
|
|
46
|
+
"data-testid": dataTestId,
|
|
47
|
+
accessibilityLabel,
|
|
48
|
+
children,
|
|
49
|
+
size = "md"
|
|
50
|
+
} = props;
|
|
51
|
+
const { padding } = _react.useContext.call(void 0, DialogContext);
|
|
52
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
53
|
+
_reactariacomponents.Dialog,
|
|
54
|
+
{
|
|
55
|
+
ref,
|
|
56
|
+
"data-testid": dataTestId,
|
|
57
|
+
"aria-label": accessibilityLabel,
|
|
58
|
+
className: _classnames2.default.call(void 0, [
|
|
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,
|
|
65
|
+
_NGUJFGACcjs.colors_module_default.whiteBackgroundColor,
|
|
66
|
+
_5WNFAQGYcjs.padding_module_default[`paddingX${padding != null ? padding : sizeToPadding[size]}`],
|
|
67
|
+
_5WNFAQGYcjs.padding_module_default[`paddingY${padding != null ? padding : sizeToPadding[size]}`],
|
|
68
|
+
_7GJ2SD7Ocjs.rounding_module_default[`rounding${sizeToRounding[size]}`],
|
|
69
|
+
elevation_module_default.elevation400BoxShadow,
|
|
70
|
+
_ZDMSFZS3cjs.layout_module_default.fullMaxHeight,
|
|
71
|
+
_ZDMSFZS3cjs.layout_module_default.visibilityVisible,
|
|
72
|
+
Dialog_module_default.dialog
|
|
73
|
+
]),
|
|
74
|
+
children
|
|
75
|
+
}
|
|
76
|
+
);
|
|
77
|
+
});
|
|
78
|
+
var Dialog_default = Dialog;
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
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\"}"]}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ButtonGroup_default
|
|
3
|
+
} from "./LJHH6KUW.js";
|
|
4
|
+
import {
|
|
5
|
+
Button_default
|
|
6
|
+
} from "./2R4YCOYE.js";
|
|
7
|
+
import {
|
|
8
|
+
Divider
|
|
9
|
+
} from "./6VWFOSQZ.js";
|
|
10
|
+
import {
|
|
11
|
+
RichSelectSection_default
|
|
12
|
+
} from "./JKXOZUCV.js";
|
|
13
|
+
import {
|
|
14
|
+
RichSelectRadioButton_default
|
|
15
|
+
} from "./DNTOWEIQ.js";
|
|
16
|
+
import {
|
|
17
|
+
RichSelectChip_default
|
|
18
|
+
} from "./M2T7D4DC.js";
|
|
19
|
+
import {
|
|
20
|
+
RichSelectItemContext,
|
|
21
|
+
RichSelect_module_default
|
|
22
|
+
} from "./Y6L6EOCB.js";
|
|
23
|
+
import {
|
|
24
|
+
Box_default
|
|
25
|
+
} from "./TJHCYMPV.js";
|
|
26
|
+
|
|
27
|
+
// src/RichSelect/RichSelectBox.tsx
|
|
28
|
+
import {
|
|
29
|
+
forwardRef,
|
|
30
|
+
useContext,
|
|
31
|
+
useState,
|
|
32
|
+
useCallback,
|
|
33
|
+
createContext,
|
|
34
|
+
useMemo
|
|
35
|
+
} from "react";
|
|
36
|
+
import { ListBox as ReactAriaListBox } from "react-aria-components";
|
|
37
|
+
import { useControlledState } from "@react-stately/utils";
|
|
38
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
39
|
+
function isString(val) {
|
|
40
|
+
return typeof val === "string";
|
|
41
|
+
}
|
|
42
|
+
function isEqualSelection(set1, set2) {
|
|
43
|
+
if (set1 === set2)
|
|
44
|
+
return true;
|
|
45
|
+
if (!set1 && !set2)
|
|
46
|
+
return true;
|
|
47
|
+
if (!set1 || !set2)
|
|
48
|
+
return false;
|
|
49
|
+
if (isString(set1))
|
|
50
|
+
return set1 === set2;
|
|
51
|
+
if (isString(set2))
|
|
52
|
+
return false;
|
|
53
|
+
if (set1.size !== set2.size)
|
|
54
|
+
return false;
|
|
55
|
+
for (const item of set1) {
|
|
56
|
+
if (!set2.has(item))
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
function convertSelection(selection, defaultValue) {
|
|
62
|
+
if (!selection)
|
|
63
|
+
return defaultValue;
|
|
64
|
+
if (selection === "all")
|
|
65
|
+
return "all";
|
|
66
|
+
return new Set(selection);
|
|
67
|
+
}
|
|
68
|
+
var RichSelectBoxContext = createContext({});
|
|
69
|
+
var RichSelectBox = forwardRef(
|
|
70
|
+
function RichSelectBox2(props, ref) {
|
|
71
|
+
const {
|
|
72
|
+
accessibilityLabel,
|
|
73
|
+
autosave,
|
|
74
|
+
children,
|
|
75
|
+
"data-testid": dataTestId,
|
|
76
|
+
multiple = false,
|
|
77
|
+
onChange,
|
|
78
|
+
primaryButtonText,
|
|
79
|
+
primaryButtonAccessibilityLabel,
|
|
80
|
+
secondaryButtonText,
|
|
81
|
+
secondaryButtonAccessibilityLabel,
|
|
82
|
+
selectedValues: selectedValuesProp,
|
|
83
|
+
defaultSelectedValues: defaultSelectedValuesProp
|
|
84
|
+
} = props;
|
|
85
|
+
const selectedKeysProp = useMemo(
|
|
86
|
+
() => convertSelection(selectedValuesProp),
|
|
87
|
+
[selectedValuesProp]
|
|
88
|
+
);
|
|
89
|
+
const defaultSelectedKeys = useMemo(
|
|
90
|
+
() => convertSelection(defaultSelectedValuesProp, /* @__PURE__ */ new Set()),
|
|
91
|
+
[defaultSelectedValuesProp]
|
|
92
|
+
);
|
|
93
|
+
const [selectedKeys, setSelectedKeys] = useControlledState(
|
|
94
|
+
selectedKeysProp,
|
|
95
|
+
// eslint-disable-line @typescript-eslint/no-non-null-assertion -- there is a bug in the typedef for useControlledState from react-stately. Internally they rely on value (first arg) able to be undefined
|
|
96
|
+
defaultSelectedKeys,
|
|
97
|
+
(value) => {
|
|
98
|
+
if (isEqualSelection(value, selectedKeys))
|
|
99
|
+
return;
|
|
100
|
+
if (value === "all")
|
|
101
|
+
return onChange("all");
|
|
102
|
+
onChange([...value].map(String));
|
|
103
|
+
}
|
|
104
|
+
);
|
|
105
|
+
const [stagedKeys, setStagedKeys] = useState(
|
|
106
|
+
selectedKeys
|
|
107
|
+
);
|
|
108
|
+
const saveChanges = () => setSelectedKeys(stagedKeys);
|
|
109
|
+
const clearChanges = () => setStagedKeys(/* @__PURE__ */ new Set());
|
|
110
|
+
const stageChanges = (selectedValues) => {
|
|
111
|
+
setStagedKeys(selectedValues);
|
|
112
|
+
if (autosave)
|
|
113
|
+
setSelectedKeys(selectedValues);
|
|
114
|
+
};
|
|
115
|
+
const [disabledKeysComposed, setDisabledKeysComposed] = useState(
|
|
116
|
+
/* @__PURE__ */ new Set()
|
|
117
|
+
);
|
|
118
|
+
const disableKey = useCallback((key, _disabled) => {
|
|
119
|
+
setDisabledKeysComposed((keys) => {
|
|
120
|
+
if (keys.has(key) === _disabled)
|
|
121
|
+
return keys;
|
|
122
|
+
_disabled ? keys.add(key) : keys.delete(key);
|
|
123
|
+
return new Set(keys);
|
|
124
|
+
});
|
|
125
|
+
}, []);
|
|
126
|
+
const { autoFocus } = useContext(RichSelectBoxContext);
|
|
127
|
+
return /* @__PURE__ */ jsx(RichSelectItemContext.Provider, { value: { disableKey }, children: /* @__PURE__ */ jsxs(Box_default, { children: [
|
|
128
|
+
/* @__PURE__ */ jsx(
|
|
129
|
+
ReactAriaListBox,
|
|
130
|
+
{
|
|
131
|
+
ref,
|
|
132
|
+
"aria-label": accessibilityLabel,
|
|
133
|
+
autoFocus,
|
|
134
|
+
selectionMode: multiple ? "multiple" : "single",
|
|
135
|
+
selectionBehavior: multiple ? "toggle" : "replace",
|
|
136
|
+
shouldFocusWrap: true,
|
|
137
|
+
orientation: "horizontal",
|
|
138
|
+
selectedKeys: stagedKeys,
|
|
139
|
+
onSelectionChange: stageChanges,
|
|
140
|
+
disabledKeys: disabledKeysComposed,
|
|
141
|
+
className: RichSelect_module_default.richSelectBox,
|
|
142
|
+
children
|
|
143
|
+
}
|
|
144
|
+
),
|
|
145
|
+
!autosave && /* @__PURE__ */ jsxs(
|
|
146
|
+
Box_default,
|
|
147
|
+
{
|
|
148
|
+
backgroundColor: "white",
|
|
149
|
+
display: "flex",
|
|
150
|
+
direction: "column",
|
|
151
|
+
gap: 5,
|
|
152
|
+
marginTop: 5,
|
|
153
|
+
justifyContent: "end",
|
|
154
|
+
position: "sticky",
|
|
155
|
+
dangerouslySetInlineStyle: {
|
|
156
|
+
__style: {
|
|
157
|
+
bottom: 0
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
children: [
|
|
161
|
+
/* @__PURE__ */ jsx(Box_default, { flex: "grow", children: /* @__PURE__ */ jsx(Divider, {}) }),
|
|
162
|
+
/* @__PURE__ */ jsx(
|
|
163
|
+
Box_default,
|
|
164
|
+
{
|
|
165
|
+
paddingY: 5,
|
|
166
|
+
marginTop: -5,
|
|
167
|
+
display: "flex",
|
|
168
|
+
justifyContent: "end",
|
|
169
|
+
children: /* @__PURE__ */ jsxs(ButtonGroup_default, { orientation: "horizontal", children: [
|
|
170
|
+
/* @__PURE__ */ jsx(
|
|
171
|
+
Button_default,
|
|
172
|
+
{
|
|
173
|
+
onClick: clearChanges,
|
|
174
|
+
color: "secondary",
|
|
175
|
+
text: secondaryButtonText,
|
|
176
|
+
accessibilityLabel: secondaryButtonAccessibilityLabel,
|
|
177
|
+
"data-testid": [dataTestId, "secondary-button"].filter(Boolean).join("-")
|
|
178
|
+
}
|
|
179
|
+
),
|
|
180
|
+
/* @__PURE__ */ jsx(
|
|
181
|
+
Button_default,
|
|
182
|
+
{
|
|
183
|
+
onClick: saveChanges,
|
|
184
|
+
text: primaryButtonText,
|
|
185
|
+
accessibilityLabel: primaryButtonAccessibilityLabel,
|
|
186
|
+
color: "primary",
|
|
187
|
+
"data-testid": [dataTestId, "primary-button"].filter(Boolean).join("-")
|
|
188
|
+
}
|
|
189
|
+
)
|
|
190
|
+
] })
|
|
191
|
+
}
|
|
192
|
+
)
|
|
193
|
+
]
|
|
194
|
+
}
|
|
195
|
+
)
|
|
196
|
+
] }) });
|
|
197
|
+
}
|
|
198
|
+
);
|
|
199
|
+
var RichSelectBox_default = Object.assign(RichSelectBox, {
|
|
200
|
+
Section: RichSelectSection_default,
|
|
201
|
+
Chip: RichSelectChip_default,
|
|
202
|
+
RadioButton: RichSelectRadioButton_default
|
|
203
|
+
});
|
|
204
|
+
|
|
205
|
+
export {
|
|
206
|
+
convertSelection,
|
|
207
|
+
RichSelectBoxContext,
|
|
208
|
+
RichSelectBox_default
|
|
209
|
+
};
|
|
210
|
+
//# sourceMappingURL=JHAV5OTQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/RichSelect/RichSelectBox.tsx"],"sourcesContent":["import React, {\n forwardRef,\n type ReactElement,\n useContext,\n useState,\n useCallback,\n createContext,\n useMemo,\n} from \"react\";\nimport { ListBox as ReactAriaListBox } from \"react-aria-components\";\nimport { type Key } from \"react-aria\";\nimport { type Selection } from \"react-stately\";\nimport { useControlledState } from \"@react-stately/utils\";\nimport { RichSelectItemContext } from \"./RichSelectItem\";\nimport ButtonGroup from \"../ButtonGroup/ButtonGroup\";\nimport Button from \"../Button/Button\";\nimport styles from \"./RichSelect.module.css\";\nimport Box from \"../Box/Box\";\nimport Divider from \"../Divider/Divider\";\nimport RichSelectSection from \"./RichSelectSection\";\nimport RichSelectChip from \"./RichSelectChip\";\nimport RichSelectRadioButton from \"./RichSelectRadioButton\";\n\ntype RichSelectChild =\n | ReactElement<typeof RichSelectChip>\n | ReactElement<typeof RichSelectRadioButton>\n | ReactElement<typeof RichSelectSection>;\n\nfunction isString(val: unknown): val is string {\n return typeof val === \"string\";\n}\n\nfunction isEqualSelection(set1?: Selection, set2?: Selection): boolean {\n if (set1 === set2) return true;\n if (!set1 && !set2) return true;\n if (!set1 || !set2) return false;\n if (isString(set1)) return set1 === set2;\n if (isString(set2)) return false;\n if (set1.size !== set2.size) return false;\n for (const item of set1) {\n if (!set2.has(item)) return false;\n }\n return true;\n}\n\nexport function convertSelection(\n selection: \"all\" | Iterable<Key> | undefined,\n defaultValue?: \"all\" | Set<Key>,\n): \"all\" | Set<Key> | undefined {\n if (!selection) return defaultValue;\n if (selection === \"all\") return \"all\";\n return new Set(selection);\n}\n\nexport type RichSelectBoxProps = {\n /** aria-label for the list box */\n accessibilityLabel: string;\n /** Automatically saves changes when true, shows save/clear buttons when not true */\n autosave?: boolean;\n /** Test id for the list box element */\n \"data-testid\"?: string;\n /** One or more RichSelectList.<Chip|RadioButton|Section|...> components. */\n children: RichSelectChild | RichSelectChild[];\n /** Default selected values */\n defaultSelectedValues?: Set<Key> | string[] | \"all\";\n /** Enables multiple selection (multiselect) */\n multiple?: boolean;\n /** The callback to be called when options are selected / committed */\n onChange: (selectedValues: string[] | \"all\") => void;\n /** Text for primary button (Save). Required: string must be translated */\n primaryButtonText: string;\n /** accessibilityLabel for primary Button component (Save). Required: string must be translated */\n primaryButtonAccessibilityLabel: string;\n /** Text for primary button (Clear). Required: string must be translated */\n secondaryButtonText: string;\n /** accessibilityLabel for secondary Button component (Clear). Required: string must be translated */\n secondaryButtonAccessibilityLabel: string;\n /** Value of the currently selected options */\n selectedValues?: Set<Key> | string[] | \"all\";\n};\n\ntype RichSelectBoxContextType = {\n /** Automatically focuses RichSelectBox on mount when enabled */\n autoFocus?: boolean;\n};\nexport const RichSelectBoxContext = createContext<RichSelectBoxContextType>({});\n\n/**\n * [RichSelectBox](https://cambly-syntax.vercel.app/?path=/docs/components-richselectbox--docs) is an element that allows users to select one or multiple options from a list.\n *\n * Example Usage:\n ```\n <RichSelectBox\n label=\"My Label\"\n multiple\n onChange={() => { ... }}\n primaryButtonText=\"Save\"\n primaryButtonAccessibilityLabel=\"Save\"\n secondaryButtonText=\"Clear\"\n secondaryButtonAccessibilityLabel=\"Clear\"\n >\n <RichSelectBox.Section label=\"Cities\">\n <RichSelectBox.Chip label=\"San Francisco\" value=\"sf\" />\n <RichSelectBox.Chip label=\"New York\" value=\"ny\" disabled />\n <RichSelectBox.Chip label=\"Tulsa\" value=\"tulsa\" />\n <RichSelectBox.Chip label=\"Chicago\" value=\"chicago\" disabled />\n </RichSelectBox.Section>\n </RichSelectBox>\n ```\n */\nconst RichSelectBox = forwardRef<HTMLDivElement, RichSelectBoxProps>(\n function RichSelectBox(props, ref): ReactElement {\n const {\n accessibilityLabel,\n autosave,\n children,\n \"data-testid\": dataTestId,\n multiple = false,\n onChange,\n primaryButtonText,\n primaryButtonAccessibilityLabel,\n secondaryButtonText,\n secondaryButtonAccessibilityLabel,\n selectedValues: selectedValuesProp,\n defaultSelectedValues: defaultSelectedValuesProp,\n } = props;\n\n const selectedKeysProp = useMemo(\n () => convertSelection(selectedValuesProp),\n [selectedValuesProp],\n );\n const defaultSelectedKeys = useMemo(\n () => convertSelection(defaultSelectedValuesProp, new Set()),\n [defaultSelectedValuesProp],\n );\n const [selectedKeys, setSelectedKeys] = useControlledState(\n selectedKeysProp!, // eslint-disable-line @typescript-eslint/no-non-null-assertion -- there is a bug in the typedef for useControlledState from react-stately. Internally they rely on value (first arg) able to be undefined\n defaultSelectedKeys,\n (value) => {\n if (isEqualSelection(value, selectedKeys)) return;\n // Notify parent about the changes\n if (value === \"all\") return onChange(\"all\");\n onChange([...value].map(String));\n },\n );\n const [stagedKeys, setStagedKeys] = useState<Set<Key> | \"all\">(\n selectedKeys,\n );\n\n const saveChanges = () => setSelectedKeys(stagedKeys);\n const clearChanges = () => setStagedKeys(new Set());\n const stageChanges = (selectedValues: Selection) => {\n setStagedKeys(selectedValues);\n if (autosave) setSelectedKeys(selectedValues);\n };\n\n // inject method into context so children can disable themselves\n // by adding `disabled` attribute (through RichSelectItem)\n const [disabledKeysComposed, setDisabledKeysComposed] = useState<Set<Key>>(\n new Set(),\n );\n const disableKey = useCallback((key: Key, _disabled: boolean) => {\n setDisabledKeysComposed((keys) => {\n if (keys.has(key) === _disabled) return keys;\n _disabled ? keys.add(key) : keys.delete(key);\n return new Set(keys);\n });\n }, []);\n\n // higher level context for autoFocus behavior (parent sets when rendering RichSelectBox in overlay)\n const { autoFocus } = useContext(RichSelectBoxContext);\n\n return (\n <RichSelectItemContext.Provider value={{ disableKey }}>\n <Box>\n <ReactAriaListBox\n ref={ref}\n aria-label={accessibilityLabel}\n autoFocus={autoFocus}\n selectionMode={multiple ? \"multiple\" : \"single\"}\n selectionBehavior={multiple ? \"toggle\" : \"replace\"}\n shouldFocusWrap={true}\n orientation=\"horizontal\"\n selectedKeys={stagedKeys}\n onSelectionChange={stageChanges}\n disabledKeys={disabledKeysComposed}\n className={styles.richSelectBox}\n >\n {children}\n </ReactAriaListBox>\n {!autosave && (\n <Box\n backgroundColor=\"white\"\n display=\"flex\"\n direction=\"column\"\n gap={5}\n marginTop={5}\n justifyContent=\"end\"\n position=\"sticky\"\n dangerouslySetInlineStyle={{\n __style: {\n bottom: 0,\n },\n }}\n >\n <Box flex=\"grow\">\n <Divider />\n </Box>\n <Box\n paddingY={5}\n marginTop={-5}\n display=\"flex\"\n justifyContent=\"end\"\n >\n <ButtonGroup orientation=\"horizontal\">\n <Button\n onClick={clearChanges}\n color={\"secondary\"}\n text={secondaryButtonText}\n accessibilityLabel={secondaryButtonAccessibilityLabel}\n data-testid={[dataTestId, \"secondary-button\"]\n .filter(Boolean)\n .join(\"-\")}\n />\n <Button\n onClick={saveChanges}\n text={primaryButtonText}\n accessibilityLabel={primaryButtonAccessibilityLabel}\n color=\"primary\"\n data-testid={[dataTestId, \"primary-button\"]\n .filter(Boolean)\n .join(\"-\")}\n />\n </ButtonGroup>\n </Box>\n </Box>\n )}\n </Box>\n </RichSelectItemContext.Provider>\n );\n },\n);\n\nexport default Object.assign(RichSelectBox, {\n Section: RichSelectSection,\n Chip: RichSelectChip,\n RadioButton: RichSelectRadioButton,\n});\n"],"mappings":"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","names":["RichSelectBox"]}
|
|
@@ -5,12 +5,16 @@ import {
|
|
|
5
5
|
useIsHydrated
|
|
6
6
|
} from "./YJ7YDIGB.js";
|
|
7
7
|
import {
|
|
8
|
+
__objRest,
|
|
8
9
|
__spreadProps,
|
|
9
10
|
__spreadValues
|
|
10
11
|
} from "./LULBCTQR.js";
|
|
11
12
|
|
|
12
13
|
// src/TapArea/TapArea.tsx
|
|
13
|
-
import {
|
|
14
|
+
import {
|
|
15
|
+
forwardRef,
|
|
16
|
+
useReducer
|
|
17
|
+
} from "react";
|
|
14
18
|
import classNames from "classnames";
|
|
15
19
|
|
|
16
20
|
// css-module:./TapArea.module.css#css-module
|
|
@@ -33,16 +37,26 @@ function reducer(state, action) {
|
|
|
33
37
|
}
|
|
34
38
|
}
|
|
35
39
|
var TapArea = forwardRef(
|
|
36
|
-
({
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
40
|
+
(_a, ref) => {
|
|
41
|
+
var _b = _a, {
|
|
42
|
+
children,
|
|
43
|
+
accessibilityLabel,
|
|
44
|
+
"data-testid": dataTestId,
|
|
45
|
+
disabled: disabledProp = false,
|
|
46
|
+
fullWidth = true,
|
|
47
|
+
onClick,
|
|
48
|
+
rounding = "none",
|
|
49
|
+
tabIndex = 0
|
|
50
|
+
} = _b, accessibilityProps = __objRest(_b, [
|
|
51
|
+
"children",
|
|
52
|
+
"accessibilityLabel",
|
|
53
|
+
"data-testid",
|
|
54
|
+
"disabled",
|
|
55
|
+
"fullWidth",
|
|
56
|
+
"onClick",
|
|
57
|
+
"rounding",
|
|
58
|
+
"tabIndex"
|
|
59
|
+
]);
|
|
46
60
|
const isHydrated = useIsHydrated();
|
|
47
61
|
const disabled = !isHydrated || disabledProp;
|
|
48
62
|
const [{ hovered, focussed }, dispatch] = useReducer(reducer, {
|
|
@@ -65,16 +79,18 @@ var TapArea = forwardRef(
|
|
|
65
79
|
}
|
|
66
80
|
};
|
|
67
81
|
const isHoveredOrFocussed = !disabled && (hovered || focussed);
|
|
82
|
+
const roundingClasses = rounding !== "none" && rounding_module_default[`rounding${rounding}`];
|
|
68
83
|
return /* @__PURE__ */ jsxs(
|
|
69
84
|
"div",
|
|
70
|
-
{
|
|
71
|
-
"aria-disabled": disabled,
|
|
72
|
-
"aria-label": accessibilityLabel,
|
|
85
|
+
__spreadProps(__spreadValues({}, accessibilityProps), {
|
|
86
|
+
"aria-disabled": disabled || accessibilityProps["aria-disabled"],
|
|
87
|
+
"aria-label": accessibilityLabel != null ? accessibilityLabel : accessibilityProps["aria-label"],
|
|
73
88
|
className: classNames(
|
|
74
89
|
TapArea_module_default.tapArea,
|
|
75
90
|
TapArea_module_default[`${disabled ? "disabled" : "enabled"}`],
|
|
76
91
|
fullWidth && TapArea_module_default.fullWidth,
|
|
77
|
-
isHoveredOrFocussed && TapArea_module_default.hoveredOrFocussed
|
|
92
|
+
isHoveredOrFocussed && TapArea_module_default.hoveredOrFocussed,
|
|
93
|
+
roundingClasses
|
|
78
94
|
),
|
|
79
95
|
"data-testid": dataTestId,
|
|
80
96
|
onClick: handleClick,
|
|
@@ -87,18 +103,10 @@ var TapArea = forwardRef(
|
|
|
87
103
|
role: "button",
|
|
88
104
|
tabIndex: disabled ? void 0 : tabIndex,
|
|
89
105
|
children: [
|
|
90
|
-
!disabled && (hovered || focussed) && /* @__PURE__ */ jsx(
|
|
91
|
-
"div",
|
|
92
|
-
{
|
|
93
|
-
className: classNames(
|
|
94
|
-
TapArea_module_default.overlay,
|
|
95
|
-
rounding !== "none" && rounding_module_default[`rounding${rounding}`]
|
|
96
|
-
)
|
|
97
|
-
}
|
|
98
|
-
),
|
|
106
|
+
!disabled && (hovered || focussed) && /* @__PURE__ */ jsx("div", { className: classNames(TapArea_module_default.overlay, roundingClasses) }),
|
|
99
107
|
children
|
|
100
108
|
]
|
|
101
|
-
}
|
|
109
|
+
})
|
|
102
110
|
);
|
|
103
111
|
}
|
|
104
112
|
);
|
|
@@ -108,4 +116,4 @@ var TapArea_default = TapArea;
|
|
|
108
116
|
export {
|
|
109
117
|
TapArea_default
|
|
110
118
|
};
|
|
111
|
-
//# sourceMappingURL=
|
|
119
|
+
//# sourceMappingURL=JIXNBF5N.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/TapArea/TapArea.tsx","css-module:./TapArea.module.css#css-module"],"sourcesContent":["import React, {\n type ReactNode,\n forwardRef,\n useReducer,\n type AriaAttributes,\n} from \"react\";\nimport classNames from \"classnames\";\nimport styles from \"./TapArea.module.css\";\nimport roundingStyles from \"../rounding.module.css\";\nimport useIsHydrated from \"../useIsHydrated\";\n\ntype TapAreaProps = AriaAttributes & {\n /**\n * The children to be rendered inside the tap area.\n */\n children?: ReactNode;\n /**\n * The label to be used for accessibility\n */\n accessibilityLabel?: string;\n /**\n * Test id for the tap area\n */\n \"data-testid\"?: string;\n /**\n * If `true`, the tap area will be disabled\n *\n * @defaultValue false\n */\n disabled?: boolean;\n /**\n * If `true`, the tap area will be full width\n */\n fullWidth?: boolean;\n /**\n * The callback to be called when the tap area is clicked\n */\n onClick: (event: React.SyntheticEvent<HTMLDivElement>) => void;\n /**\n * Border radius of the tap area.\n *\n * * `none`: 0px\n * * `sm`: 8px\n * * `md`: 12px\n * * `lg`: 16px\n * * `xl`: 32px\n * * `full`: 999px\n *\n * @defaultValue \"none\"\n */\n rounding?: \"xl\" | \"lg\" | \"md\" | \"sm\" | \"full\" | \"none\";\n /**\n * The tab index of the tap area\n */\n tabIndex?: 0 | -1;\n};\n\nfunction reducer(\n state: {\n hovered: boolean;\n focussed: boolean;\n },\n action: {\n type: \"BLUR\" | \"FOCUS\" | \"MOUSE_ENTER\" | \"MOUSE_LEAVE\";\n },\n) {\n switch (action.type) {\n case \"BLUR\":\n return { ...state, focussed: false };\n case \"FOCUS\":\n return { ...state, focussed: true };\n case \"MOUSE_ENTER\":\n return { ...state, hovered: true };\n case \"MOUSE_LEAVE\":\n return { ...state, hovered: false };\n default:\n return state;\n }\n}\n\n/**\n * [TapArea](https://cambly-syntax.vercel.app/?path=/docs/components-taparea--docs) allows components to be clickable and touchable in an accessible way.\n */\nconst TapArea = forwardRef<HTMLDivElement, TapAreaProps>(\n (\n {\n children,\n accessibilityLabel,\n \"data-testid\": dataTestId,\n disabled: disabledProp = false,\n fullWidth = true,\n onClick,\n rounding = \"none\",\n tabIndex = 0,\n ...accessibilityProps\n }: TapAreaProps,\n ref,\n ) => {\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated || disabledProp;\n const [{ hovered, focussed }, dispatch] = useReducer(reducer, {\n hovered: false,\n focussed: false,\n });\n\n const handleClick: React.MouseEventHandler<HTMLDivElement> = (event) => {\n if (disabled) {\n undefined;\n } else {\n event.currentTarget.blur();\n onClick(event);\n }\n };\n\n const handleKeyDown: React.KeyboardEventHandler<HTMLDivElement> = (\n event,\n ) => {\n if (disabled) return;\n if (event.key === \"Enter\" || event.key === \" \" || event.key === \"Space\") {\n event.preventDefault();\n onClick(event);\n }\n };\n\n const isHoveredOrFocussed = !disabled && (hovered || focussed);\n const roundingClasses =\n rounding !== \"none\" && roundingStyles[`rounding${rounding}`];\n\n return (\n <div\n {...accessibilityProps}\n aria-disabled={disabled || accessibilityProps[\"aria-disabled\"]}\n aria-label={accessibilityLabel ?? accessibilityProps[\"aria-label\"]}\n className={classNames(\n styles.tapArea,\n styles[`${disabled ? \"disabled\" : \"enabled\"}`],\n fullWidth && styles.fullWidth,\n isHoveredOrFocussed && styles.hoveredOrFocussed,\n roundingClasses,\n )}\n data-testid={dataTestId}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n onMouseEnter={() => dispatch({ type: \"MOUSE_ENTER\" })}\n onMouseLeave={() => dispatch({ type: \"MOUSE_LEAVE\" })}\n onFocus={() => dispatch({ type: \"FOCUS\" })}\n onBlur={() => dispatch({ type: \"BLUR\" })}\n ref={ref}\n role=\"button\"\n tabIndex={disabled ? undefined : tabIndex}\n >\n {!disabled && (hovered || focussed) && (\n <div className={classNames(styles.overlay, roundingClasses)} />\n )}\n {children}\n </div>\n );\n },\n);\n\nTapArea.displayName = \"TapArea\";\n\nexport default TapArea;\n","import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/TapArea/TapArea.module.css\"; export default {\"tapArea\":\"_tapArea_g6gkz_1\",\"fullWidth\":\"_fullWidth_g6gkz_5\",\"disabled\":\"_disabled_g6gkz_9\",\"enabled\":\"_enabled_g6gkz_16\",\"overlay\":\"_overlay_g6gkz_29\",\"hoveredOrFocussed\":\"_hoveredOrFocussed_g6gkz_39\"}"],"mappings":";;;;;;;;;;;;;AAAA;AAAA,EAEE;AAAA,EACA;AAAA,OAEK;AACP,OAAO,gBAAgB;;;ACNuE,IAAO,yBAAQ,EAAC,WAAU,oBAAmB,aAAY,sBAAqB,YAAW,qBAAoB,WAAU,qBAAoB,WAAU,qBAAoB,qBAAoB,8BAA6B;;;ADiIlT,SAuBI,KAvBJ;AAxEN,SAAS,QACP,OAIA,QAGA;AACA,UAAQ,OAAO,MAAM;AAAA,IACnB,KAAK;AACH,aAAO,iCAAK,QAAL,EAAY,UAAU,MAAM;AAAA,IACrC,KAAK;AACH,aAAO,iCAAK,QAAL,EAAY,UAAU,KAAK;AAAA,IACpC,KAAK;AACH,aAAO,iCAAK,QAAL,EAAY,SAAS,KAAK;AAAA,IACnC,KAAK;AACH,aAAO,iCAAK,QAAL,EAAY,SAAS,MAAM;AAAA,IACpC;AACE,aAAO;AAAA,EACX;AACF;AAKA,IAAM,UAAU;AAAA,EACd,CACE,IAWA,QACG;AAZH,iBACE;AAAA;AAAA,MACA;AAAA,MACA,eAAe;AAAA,MACf,UAAU,eAAe;AAAA,MACzB,YAAY;AAAA,MACZ;AAAA,MACA,WAAW;AAAA,MACX,WAAW;AAAA,IA7FjB,IAqFI,IASK,+BATL,IASK;AAAA,MARH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAKF,UAAM,aAAa,cAAc;AACjC,UAAM,WAAW,CAAC,cAAc;AAChC,UAAM,CAAC,EAAE,SAAS,SAAS,GAAG,QAAQ,IAAI,WAAW,SAAS;AAAA,MAC5D,SAAS;AAAA,MACT,UAAU;AAAA,IACZ,CAAC;AAED,UAAM,cAAuD,CAAC,UAAU;AACtE,UAAI,UAAU;AAAA,MAEd,OAAO;AACL,cAAM,cAAc,KAAK;AACzB,gBAAQ,KAAK;AAAA,MACf;AAAA,IACF;AAEA,UAAM,gBAA4D,CAChE,UACG;AACH,UAAI;AAAU;AACd,UAAI,MAAM,QAAQ,WAAW,MAAM,QAAQ,OAAO,MAAM,QAAQ,SAAS;AACvE,cAAM,eAAe;AACrB,gBAAQ,KAAK;AAAA,MACf;AAAA,IACF;AAEA,UAAM,sBAAsB,CAAC,aAAa,WAAW;AACrD,UAAM,kBACJ,aAAa,UAAU,wBAAe,WAAW,UAAU;AAE7D,WACE;AAAA,MAAC;AAAA,uCACK,qBADL;AAAA,QAEC,iBAAe,YAAY,mBAAmB,eAAe;AAAA,QAC7D,cAAY,kDAAsB,mBAAmB,YAAY;AAAA,QACjE,WAAW;AAAA,UACT,uBAAO;AAAA,UACP,uBAAO,GAAG,WAAW,aAAa,WAAW;AAAA,UAC7C,aAAa,uBAAO;AAAA,UACpB,uBAAuB,uBAAO;AAAA,UAC9B;AAAA,QACF;AAAA,QACA,eAAa;AAAA,QACb,SAAS;AAAA,QACT,WAAW;AAAA,QACX,cAAc,MAAM,SAAS,EAAE,MAAM,cAAc,CAAC;AAAA,QACpD,cAAc,MAAM,SAAS,EAAE,MAAM,cAAc,CAAC;AAAA,QACpD,SAAS,MAAM,SAAS,EAAE,MAAM,QAAQ,CAAC;AAAA,QACzC,QAAQ,MAAM,SAAS,EAAE,MAAM,OAAO,CAAC;AAAA,QACvC;AAAA,QACA,MAAK;AAAA,QACL,UAAU,WAAW,SAAY;AAAA,QAEhC;AAAA,WAAC,aAAa,WAAW,aACxB,oBAAC,SAAI,WAAW,WAAW,uBAAO,SAAS,eAAe,GAAG;AAAA,UAE9D;AAAA;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AAEA,QAAQ,cAAc;AAEtB,IAAO,kBAAQ;","names":[]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import {
|
|
2
|
+
layout_module_default
|
|
3
|
+
} from "./PTWXXDFF.js";
|
|
4
|
+
import {
|
|
5
|
+
Box_module_default
|
|
6
|
+
} from "./KMIZI5PW.js";
|
|
7
|
+
import {
|
|
8
|
+
Typography_default
|
|
9
|
+
} from "./B2TFERTM.js";
|
|
10
|
+
|
|
11
|
+
// src/RichSelect/RichSelectSection.tsx
|
|
12
|
+
import { forwardRef } from "react";
|
|
13
|
+
import {
|
|
14
|
+
Section as ReactAriaSection,
|
|
15
|
+
Header as ReactAriaHeader,
|
|
16
|
+
Collection as ReactAriaCollection
|
|
17
|
+
} from "react-aria-components";
|
|
18
|
+
import classNames from "classnames";
|
|
19
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
20
|
+
var RichSelectSection_default = forwardRef(
|
|
21
|
+
function RichSelectSection(props, ref) {
|
|
22
|
+
const {
|
|
23
|
+
"data-testid": dataTestId,
|
|
24
|
+
label,
|
|
25
|
+
children,
|
|
26
|
+
orientation = "horizontal"
|
|
27
|
+
} = props;
|
|
28
|
+
return /* @__PURE__ */ jsxs(
|
|
29
|
+
ReactAriaSection,
|
|
30
|
+
{
|
|
31
|
+
ref,
|
|
32
|
+
"data-testid": dataTestId,
|
|
33
|
+
className: classNames(
|
|
34
|
+
[Box_module_default.box, Box_module_default.flex, Box_module_default.flexWrap, Box_module_default.gap3],
|
|
35
|
+
{
|
|
36
|
+
[Box_module_default.row]: orientation === "horizontal",
|
|
37
|
+
[Box_module_default.column]: orientation === "vertical"
|
|
38
|
+
}
|
|
39
|
+
),
|
|
40
|
+
children: [
|
|
41
|
+
/* @__PURE__ */ jsx(ReactAriaHeader, { className: classNames(layout_module_default.fullWidth), children: /* @__PURE__ */ jsx(Typography_default, { children: label }) }),
|
|
42
|
+
/* @__PURE__ */ jsx(ReactAriaCollection, { children })
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
export {
|
|
50
|
+
RichSelectSection_default
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=JKXOZUCV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/RichSelect/RichSelectSection.tsx"],"sourcesContent":["import React, { forwardRef, type ReactElement } from \"react\";\nimport {\n Section as ReactAriaSection,\n Header as ReactAriaHeader,\n Collection as ReactAriaCollection,\n} from \"react-aria-components\";\nimport classNames from \"classnames\";\nimport boxStyles from \"../Box/Box.module.css\";\nimport layoutStyles from \"../layout.module.css\";\nimport Typography from \"../Typography/Typography\";\n\ntype RichSelectSectionProps = {\n \"data-testid\"?: string;\n label: string;\n children: ReactElement | ReactElement[];\n orientation?: \"horizontal\" | \"vertical\";\n};\n\nexport default forwardRef<HTMLDivElement, RichSelectSectionProps>(\n function RichSelectSection(props, ref): ReactElement {\n const {\n \"data-testid\": dataTestId,\n label,\n children,\n orientation = \"horizontal\",\n } = props;\n\n return (\n <ReactAriaSection\n ref={ref}\n data-testid={dataTestId}\n className={classNames(\n [boxStyles.box, boxStyles.flex, boxStyles.flexWrap, boxStyles.gap3],\n {\n [boxStyles.row]: orientation === \"horizontal\",\n [boxStyles.column]: orientation === \"vertical\",\n },\n )}\n >\n <ReactAriaHeader className={classNames(layoutStyles.fullWidth)}>\n <Typography>{label}</Typography>\n </ReactAriaHeader>\n <ReactAriaCollection>{children}</ReactAriaCollection>\n </ReactAriaSection>\n );\n },\n);\n"],"mappings":";;;;;;;;;;;AAAA,SAAgB,kBAAqC;AACrD;AAAA,EACE,WAAW;AAAA,EACX,UAAU;AAAA,EACV,cAAc;AAAA,OACT;AACP,OAAO,gBAAgB;AAsBjB,SAYI,KAZJ;AAVN,IAAO,4BAAQ;AAAA,EACb,SAAS,kBAAkB,OAAO,KAAmB;AACnD,UAAM;AAAA,MACJ,eAAe;AAAA,MACf;AAAA,MACA;AAAA,MACA,cAAc;AAAA,IAChB,IAAI;AAEJ,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,eAAa;AAAA,QACb,WAAW;AAAA,UACT,CAAC,mBAAU,KAAK,mBAAU,MAAM,mBAAU,UAAU,mBAAU,IAAI;AAAA,UAClE;AAAA,YACE,CAAC,mBAAU,GAAG,GAAG,gBAAgB;AAAA,YACjC,CAAC,mBAAU,MAAM,GAAG,gBAAgB;AAAA,UACtC;AAAA,QACF;AAAA,QAEA;AAAA,8BAAC,mBAAgB,WAAW,WAAW,sBAAa,SAAS,GAC3D,8BAAC,sBAAY,iBAAM,GACrB;AAAA,UACA,oBAAC,uBAAqB,UAAS;AAAA;AAAA;AAAA,IACjC;AAAA,EAEJ;AACF;","names":[]}
|