@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
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
import {
|
|
2
|
+
RichSelectBoxContext,
|
|
3
|
+
RichSelectBox_default,
|
|
4
|
+
convertSelection
|
|
5
|
+
} from "./JHAV5OTQ.js";
|
|
6
|
+
import {
|
|
7
|
+
Popover_default
|
|
8
|
+
} from "./VY7MJTPK.js";
|
|
9
|
+
import {
|
|
10
|
+
DialogContext
|
|
11
|
+
} from "./XFFSBU7E.js";
|
|
12
|
+
import {
|
|
13
|
+
TapArea_default
|
|
14
|
+
} from "./JIXNBF5N.js";
|
|
15
|
+
import {
|
|
16
|
+
ColorBaseDestructive700,
|
|
17
|
+
ColorBaseGray800
|
|
18
|
+
} from "./3BBDCRDO.js";
|
|
19
|
+
import {
|
|
20
|
+
RichSelectSection_default
|
|
21
|
+
} from "./JKXOZUCV.js";
|
|
22
|
+
import {
|
|
23
|
+
RichSelectRadioButton_default
|
|
24
|
+
} from "./DNTOWEIQ.js";
|
|
25
|
+
import {
|
|
26
|
+
RichSelectChip_default
|
|
27
|
+
} from "./M2T7D4DC.js";
|
|
28
|
+
import {
|
|
29
|
+
Box_default
|
|
30
|
+
} from "./TJHCYMPV.js";
|
|
31
|
+
import {
|
|
32
|
+
Typography_default
|
|
33
|
+
} from "./B2TFERTM.js";
|
|
34
|
+
import {
|
|
35
|
+
useIsHydrated
|
|
36
|
+
} from "./YJ7YDIGB.js";
|
|
37
|
+
import {
|
|
38
|
+
__objRest,
|
|
39
|
+
__spreadProps,
|
|
40
|
+
__spreadValues
|
|
41
|
+
} from "./LULBCTQR.js";
|
|
42
|
+
|
|
43
|
+
// src/RichSelect/RichSelectList.tsx
|
|
44
|
+
import {
|
|
45
|
+
useMemo,
|
|
46
|
+
useRef
|
|
47
|
+
} from "react";
|
|
48
|
+
import classNames from "classnames";
|
|
49
|
+
import {
|
|
50
|
+
Label as ReactAriaLabel,
|
|
51
|
+
Provider as ReactAriaProvider
|
|
52
|
+
} from "react-aria-components";
|
|
53
|
+
import { useControlledState } from "@react-stately/utils";
|
|
54
|
+
import { setInteractionModality } from "@react-aria/interactions";
|
|
55
|
+
|
|
56
|
+
// css-module:../SelectList/SelectList.module.css#css-module
|
|
57
|
+
var SelectList_module_default = { "selectContainer": "_selectContainer_3ifov_1", "opacityOverlay": "_opacityOverlay_3ifov_7", "outerTextContainer": "_outerTextContainer_3ifov_11", "selectWrapper": "_selectWrapper_3ifov_16", "selectBox": "_selectBox_3ifov_21", "selectMouseFocusStyling": "_selectMouseFocusStyling_3ifov_37", "unselected": "_unselected_3ifov_42", "selected": "_selected_3ifov_46", "arrowIcon": "_arrowIcon_3ifov_50", "sm": "_sm_3ifov_64", "md": "_md_3ifov_70", "lg": "_lg_3ifov_76", "selectError": "_selectError_3ifov_82" };
|
|
58
|
+
|
|
59
|
+
// src/RichSelect/RichSelectList.tsx
|
|
60
|
+
import { useField } from "react-aria";
|
|
61
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
62
|
+
var NOOP = () => void 0;
|
|
63
|
+
var iconSize = {
|
|
64
|
+
sm: 20,
|
|
65
|
+
md: 24,
|
|
66
|
+
lg: 24
|
|
67
|
+
};
|
|
68
|
+
function RichSelectList(props) {
|
|
69
|
+
const _a = props, {
|
|
70
|
+
autosave,
|
|
71
|
+
children,
|
|
72
|
+
"data-testid": dataTestId,
|
|
73
|
+
disabled: disabledProp = false,
|
|
74
|
+
errorText,
|
|
75
|
+
helperText,
|
|
76
|
+
label,
|
|
77
|
+
onChange,
|
|
78
|
+
onClick = NOOP,
|
|
79
|
+
placeholderText,
|
|
80
|
+
selectTextValue,
|
|
81
|
+
selectedValues: selectedValuesProp,
|
|
82
|
+
defaultSelectedValues: defaultSelectedValuesProp,
|
|
83
|
+
size = "md"
|
|
84
|
+
} = _a, richSelectBoxProps = __objRest(_a, [
|
|
85
|
+
"autosave",
|
|
86
|
+
"children",
|
|
87
|
+
"data-testid",
|
|
88
|
+
"disabled",
|
|
89
|
+
"errorText",
|
|
90
|
+
"helperText",
|
|
91
|
+
"label",
|
|
92
|
+
"onChange",
|
|
93
|
+
"onClick",
|
|
94
|
+
"placeholderText",
|
|
95
|
+
"selectTextValue",
|
|
96
|
+
"selectedValues",
|
|
97
|
+
"defaultSelectedValues",
|
|
98
|
+
"size"
|
|
99
|
+
]);
|
|
100
|
+
const isHydrated = useIsHydrated();
|
|
101
|
+
const disabled = !isHydrated || disabledProp;
|
|
102
|
+
const overlayHandlerRef = useRef({});
|
|
103
|
+
const selectedKeysProp = useMemo(
|
|
104
|
+
() => convertSelection(selectedValuesProp),
|
|
105
|
+
[selectedValuesProp]
|
|
106
|
+
);
|
|
107
|
+
const defaultSelectedKeys = useMemo(
|
|
108
|
+
() => convertSelection(defaultSelectedValuesProp, /* @__PURE__ */ new Set()),
|
|
109
|
+
[defaultSelectedValuesProp]
|
|
110
|
+
);
|
|
111
|
+
const [selectedKeys, setSelectedKeys] = useControlledState(
|
|
112
|
+
selectedKeysProp,
|
|
113
|
+
// eslint-disable-line @typescript-eslint/no-non-null-assertion -- there is a bug in the typedef for useControlledState from react-stately. Internally they rely on value (first arg) able to be undefined
|
|
114
|
+
defaultSelectedKeys,
|
|
115
|
+
(value) => {
|
|
116
|
+
var _a2, _b;
|
|
117
|
+
const _value = value === "all" ? "all" : [...value].map(String);
|
|
118
|
+
onChange(_value);
|
|
119
|
+
if (!autosave)
|
|
120
|
+
(_b = (_a2 = overlayHandlerRef.current).close) == null ? void 0 : _b.call(_a2);
|
|
121
|
+
}
|
|
122
|
+
);
|
|
123
|
+
const selectedTextValue = useMemo(() => {
|
|
124
|
+
var _a2;
|
|
125
|
+
if (selectTextValue)
|
|
126
|
+
return (_a2 = selectTextValue([...selectedKeys].map(String))) != null ? _a2 : placeholderText;
|
|
127
|
+
if (selectedKeys === "all")
|
|
128
|
+
return "all";
|
|
129
|
+
if (selectedKeys.size)
|
|
130
|
+
return `${selectedKeys.size} selected`;
|
|
131
|
+
return placeholderText;
|
|
132
|
+
}, [selectTextValue, selectedKeys, placeholderText]);
|
|
133
|
+
const fieldRef = useRef(null);
|
|
134
|
+
const { labelProps, fieldProps, descriptionProps, errorMessageProps } = useField({
|
|
135
|
+
label,
|
|
136
|
+
// this is the label for the select box
|
|
137
|
+
description: helperText,
|
|
138
|
+
errorMessage: errorText
|
|
139
|
+
});
|
|
140
|
+
return /* @__PURE__ */ jsx(
|
|
141
|
+
ReactAriaProvider,
|
|
142
|
+
{
|
|
143
|
+
values: [
|
|
144
|
+
[RichSelectBoxContext, { autoFocus: true }],
|
|
145
|
+
[DialogContext, { padding: autosave ? void 0 : 0 }]
|
|
146
|
+
// this is altering Popover's internal dialog padding to show the sticky save/close buttons. Ideally this could be avoided
|
|
147
|
+
],
|
|
148
|
+
children: /* @__PURE__ */ jsxs(
|
|
149
|
+
"div",
|
|
150
|
+
{
|
|
151
|
+
className: classNames(SelectList_module_default.selectContainer, {
|
|
152
|
+
[SelectList_module_default.opacityOverlay]: disabled
|
|
153
|
+
}),
|
|
154
|
+
children: [
|
|
155
|
+
/* @__PURE__ */ jsx(
|
|
156
|
+
ReactAriaLabel,
|
|
157
|
+
__spreadProps(__spreadValues({
|
|
158
|
+
"data-testid": [dataTestId, "label"].filter(Boolean).join("-"),
|
|
159
|
+
className: classNames(
|
|
160
|
+
SelectList_module_default.selectContainer,
|
|
161
|
+
SelectList_module_default.outerTextContainer
|
|
162
|
+
)
|
|
163
|
+
}, labelProps), {
|
|
164
|
+
onClick: () => {
|
|
165
|
+
var _a2;
|
|
166
|
+
if (disabled)
|
|
167
|
+
return;
|
|
168
|
+
(_a2 = fieldRef.current) == null ? void 0 : _a2.focus();
|
|
169
|
+
setInteractionModality("keyboard");
|
|
170
|
+
},
|
|
171
|
+
children: /* @__PURE__ */ jsx(Typography_default, { size: 100, color: "gray700", children: label })
|
|
172
|
+
})
|
|
173
|
+
),
|
|
174
|
+
/* @__PURE__ */ jsx(
|
|
175
|
+
Popover_default,
|
|
176
|
+
{
|
|
177
|
+
ref: overlayHandlerRef,
|
|
178
|
+
disabled,
|
|
179
|
+
accessibilityLabel: label,
|
|
180
|
+
content: (
|
|
181
|
+
// this Box wrapper is to reapply the padding that was stripped from popover's dialog to show the sticky save/close buttons. Ideally this could be avoided
|
|
182
|
+
/* @__PURE__ */ jsx(
|
|
183
|
+
Box_default,
|
|
184
|
+
{
|
|
185
|
+
padding: autosave ? void 0 : 5,
|
|
186
|
+
dangerouslySetInlineStyle: autosave ? void 0 : { __style: { paddingBottom: 0 } },
|
|
187
|
+
children: /* @__PURE__ */ jsx(
|
|
188
|
+
RichSelectBox_default,
|
|
189
|
+
__spreadProps(__spreadValues({
|
|
190
|
+
autosave,
|
|
191
|
+
selectedValues: selectedKeys,
|
|
192
|
+
defaultSelectedValues: defaultSelectedKeys,
|
|
193
|
+
onChange: (selected) => setSelectedKeys(new Set(selected)),
|
|
194
|
+
accessibilityLabel: label
|
|
195
|
+
}, richSelectBoxProps), {
|
|
196
|
+
children
|
|
197
|
+
})
|
|
198
|
+
)
|
|
199
|
+
}
|
|
200
|
+
)
|
|
201
|
+
),
|
|
202
|
+
children: /* @__PURE__ */ jsx(
|
|
203
|
+
TapArea_default,
|
|
204
|
+
__spreadProps(__spreadValues({
|
|
205
|
+
"data-testid": dataTestId,
|
|
206
|
+
disabled,
|
|
207
|
+
onClick,
|
|
208
|
+
rounding: size === "lg" ? "lg" : "md"
|
|
209
|
+
}, fieldProps), {
|
|
210
|
+
ref: fieldRef,
|
|
211
|
+
children: /* @__PURE__ */ jsxs("div", { className: SelectList_module_default.selectWrapper, children: [
|
|
212
|
+
/* @__PURE__ */ jsx(
|
|
213
|
+
"div",
|
|
214
|
+
{
|
|
215
|
+
className: classNames(SelectList_module_default.selectBox, SelectList_module_default[size], {
|
|
216
|
+
[SelectList_module_default.unselected]: !errorText && selectedKeys !== "all" && !selectedKeys.size,
|
|
217
|
+
[SelectList_module_default.selected]: !errorText && (selectedKeys === "all" || selectedKeys.size),
|
|
218
|
+
[SelectList_module_default.selectError]: errorText
|
|
219
|
+
}),
|
|
220
|
+
children: selectedTextValue
|
|
221
|
+
}
|
|
222
|
+
),
|
|
223
|
+
/* @__PURE__ */ jsx("div", { className: SelectList_module_default.arrowIcon, children: /* @__PURE__ */ jsx(
|
|
224
|
+
"svg",
|
|
225
|
+
{
|
|
226
|
+
focusable: "false",
|
|
227
|
+
"aria-hidden": "true",
|
|
228
|
+
viewBox: "0 0 24 24",
|
|
229
|
+
width: iconSize[size],
|
|
230
|
+
children: /* @__PURE__ */ jsx(
|
|
231
|
+
"path",
|
|
232
|
+
{
|
|
233
|
+
fill: errorText ? ColorBaseDestructive700 : ColorBaseGray800,
|
|
234
|
+
d: "M15.88 9.29 12 13.17 8.12 9.29a.9959.9959 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41l4.59 4.59c.39.39 1.02.39 1.41 0l4.59-4.59c.39-.39.39-1.02 0-1.41-.39-.38-1.03-.39-1.42 0z"
|
|
235
|
+
}
|
|
236
|
+
)
|
|
237
|
+
}
|
|
238
|
+
) })
|
|
239
|
+
] })
|
|
240
|
+
})
|
|
241
|
+
)
|
|
242
|
+
}
|
|
243
|
+
),
|
|
244
|
+
(helperText || errorText) && /* @__PURE__ */ jsx("div", { className: SelectList_module_default.outerTextContainer, children: /* @__PURE__ */ jsx(
|
|
245
|
+
Typography_default,
|
|
246
|
+
__spreadProps(__spreadValues({
|
|
247
|
+
size: 100,
|
|
248
|
+
color: errorText ? "destructive-primary" : "gray700"
|
|
249
|
+
}, errorText ? errorMessageProps : descriptionProps), {
|
|
250
|
+
children: errorText ? errorText : helperText
|
|
251
|
+
})
|
|
252
|
+
) })
|
|
253
|
+
]
|
|
254
|
+
}
|
|
255
|
+
)
|
|
256
|
+
}
|
|
257
|
+
);
|
|
258
|
+
}
|
|
259
|
+
var RichSelectList_default = Object.assign(RichSelectList, {
|
|
260
|
+
Section: RichSelectSection_default,
|
|
261
|
+
Chip: RichSelectChip_default,
|
|
262
|
+
RadioButton: RichSelectRadioButton_default
|
|
263
|
+
});
|
|
264
|
+
|
|
265
|
+
export {
|
|
266
|
+
RichSelectList_default
|
|
267
|
+
};
|
|
268
|
+
//# sourceMappingURL=55HJFY7V.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/RichSelect/RichSelectList.tsx","css-module:../SelectList/SelectList.module.css#css-module"],"sourcesContent":["import React, {\n type ReactElement,\n useMemo,\n type SyntheticEvent,\n useRef,\n} from \"react\";\nimport classNames from \"classnames\";\nimport {\n ColorBaseDestructive700,\n ColorBaseGray800,\n} from \"@cambly/syntax-design-tokens\";\nimport Typography from \"../Typography/Typography\";\nimport useIsHydrated from \"../useIsHydrated\";\nimport Popover from \"../Popover/Popover\";\nimport {\n Label as ReactAriaLabel,\n Provider as ReactAriaProvider,\n} from \"react-aria-components\";\nimport { useControlledState } from \"@react-stately/utils\";\nimport { setInteractionModality } from \"@react-aria/interactions\";\nimport { DialogContext } from \"../Dialog/Dialog\";\nimport styles from \"../SelectList/SelectList.module.css\";\nimport RichSelectBox, {\n RichSelectBoxContext,\n convertSelection,\n type RichSelectBoxProps,\n} from \"./RichSelectBox\";\nimport TapArea from \"../TapArea/TapArea\";\nimport { type OverlayHandlerRef } from \"../react-aria-utils/Triggerable\";\nimport Box from \"../Box/Box\";\nimport RichSelectSection from \"./RichSelectSection\";\nimport RichSelectChip from \"./RichSelectChip\";\nimport RichSelectRadioButton from \"./RichSelectRadioButton\";\nimport { useField } from \"react-aria\";\n\nconst NOOP = () => undefined;\n\nconst iconSize = {\n sm: 20,\n md: 24,\n lg: 24,\n} as const;\n\nexport type RichSelectListProps = Omit<\n RichSelectBoxProps,\n \"accessibilityLabel\"\n> & {\n /** Test id for the select element */\n \"data-testid\"?: string;\n /**\n * Disables the select dropdown entirely\n * @defaultValue false\n */\n disabled?: boolean;\n /** Callback to be called when select is clicked */\n onClick?: (event: SyntheticEvent<HTMLDivElement>) => void;\n /** Text shown below select box if there is an input error. */\n errorText?: string;\n /** Text shown below select box */\n helperText?: string;\n /** Text shown above select box */\n label: string;\n /**\n * Text showing in select box if no option has been chosen.\n * There should always have a placeholder unless there is a default option selected\n */\n placeholderText?: string;\n /** Use to render (override) text shown in the select box */\n selectTextValue?: (selectedValues?: string[]) => string | undefined;\n /**\n * Size of the select box\n *\n * @defaultValue \"md\"\n */\n size?: \"sm\" | \"md\" | \"lg\";\n};\n\n/**\n * [RichSelectList](https://cambly-syntax.vercel.app/?path=/docs/components-richselectlist--docs) is a dropdown menu that allows users to select one or multiple options from a list.\n *\n * Example Usage:\n ```\n <RichSelectList\n label=\"My Label\"\n multiple\n onChange={() => { ... }}\n primaryButtonText=\"Save\"\n primaryButtonAccessibilityLabel=\"Save\"\n secondaryButtonText=\"Clear\"\n secondaryButtonAccessibilityLabel=\"Clear\"\n >\n <RichSelectList.Section label=\"Cities\">\n <RichSelectList.Chip label=\"San Francisco\" value=\"sf\" />\n <RichSelectList.Chip label=\"New York\" value=\"ny\" disabled />\n <RichSelectList.Chip label=\"Tulsa\" value=\"tulsa\" />\n <RichSelectList.Chip label=\"Chicago\" value=\"chicago\" disabled />\n </RichSelectList.Section>\n </RichSelectList>\n ```\n */\nfunction RichSelectList(props: RichSelectListProps): ReactElement {\n const {\n autosave,\n children,\n \"data-testid\": dataTestId,\n disabled: disabledProp = false,\n errorText,\n helperText,\n label,\n onChange,\n onClick = NOOP,\n placeholderText,\n selectTextValue,\n selectedValues: selectedValuesProp,\n defaultSelectedValues: defaultSelectedValuesProp,\n size = \"md\",\n ...richSelectBoxProps\n } = props;\n\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated || disabledProp;\n\n // passed to popover, which attached open/close methods\n const overlayHandlerRef = useRef<OverlayHandlerRef>({});\n\n const selectedKeysProp = useMemo(\n () => convertSelection(selectedValuesProp),\n [selectedValuesProp],\n );\n const defaultSelectedKeys = useMemo(\n () => convertSelection(defaultSelectedValuesProp, new Set()),\n [defaultSelectedValuesProp],\n );\n const [selectedKeys, setSelectedKeys] = useControlledState(\n selectedKeysProp!, // eslint-disable-line @typescript-eslint/no-non-null-assertion -- there is a bug in the typedef for useControlledState from react-stately. Internally they rely on value (first arg) able to be undefined\n defaultSelectedKeys,\n (value) => {\n const _value = value === \"all\" ? \"all\" : [...value].map(String);\n onChange(_value);\n if (!autosave) overlayHandlerRef.current.close?.();\n },\n );\n\n const selectedTextValue = useMemo(() => {\n if (selectTextValue)\n return selectTextValue([...selectedKeys].map(String)) ?? placeholderText;\n if (selectedKeys === \"all\") return \"all\";\n if (selectedKeys.size) return `${selectedKeys.size} selected`;\n return placeholderText;\n }, [selectTextValue, selectedKeys, placeholderText]);\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const { labelProps, fieldProps, descriptionProps, errorMessageProps } =\n useField({\n label, // this is the label for the select box\n description: helperText,\n errorMessage: errorText,\n });\n\n return (\n <ReactAriaProvider\n values={[\n [RichSelectBoxContext, { autoFocus: true }],\n [DialogContext, { padding: autosave ? undefined : 0 }], // this is altering Popover's internal dialog padding to show the sticky save/close buttons. Ideally this could be avoided\n ]}\n >\n <div\n className={classNames(styles.selectContainer, {\n [styles.opacityOverlay]: disabled,\n })}\n >\n <ReactAriaLabel\n data-testid={[dataTestId, \"label\"].filter(Boolean).join(\"-\")}\n className={classNames(\n styles.selectContainer,\n styles.outerTextContainer,\n )}\n {...labelProps}\n onClick={() => {\n if (disabled) return;\n fieldRef.current?.focus();\n setInteractionModality(\"keyboard\"); // Show the focus ring so the user knows where focus went\n }}\n >\n <Typography size={100} color=\"gray700\">\n {label}\n </Typography>\n </ReactAriaLabel>\n <Popover\n ref={overlayHandlerRef}\n disabled={disabled}\n accessibilityLabel={label}\n content={\n // this Box wrapper is to reapply the padding that was stripped from popover's dialog to show the sticky save/close buttons. Ideally this could be avoided\n <Box\n padding={autosave ? undefined : 5}\n dangerouslySetInlineStyle={\n autosave ? undefined : { __style: { paddingBottom: 0 } }\n }\n >\n <RichSelectBox\n autosave={autosave}\n selectedValues={selectedKeys}\n defaultSelectedValues={defaultSelectedKeys}\n onChange={(selected) => setSelectedKeys(new Set(selected))}\n accessibilityLabel={label}\n {...richSelectBoxProps}\n >\n {children}\n </RichSelectBox>\n </Box>\n }\n >\n <TapArea\n data-testid={dataTestId}\n disabled={disabled}\n onClick={onClick}\n rounding={size === \"lg\" ? \"lg\" : \"md\"}\n {...fieldProps}\n ref={fieldRef}\n >\n <div className={styles.selectWrapper}>\n <div\n className={classNames(styles.selectBox, styles[size], {\n [styles.unselected]:\n !errorText && selectedKeys !== \"all\" && !selectedKeys.size,\n [styles.selected]:\n !errorText && (selectedKeys === \"all\" || selectedKeys.size),\n [styles.selectError]: errorText,\n })}\n >\n {selectedTextValue}\n </div>\n <div className={styles.arrowIcon}>\n <svg\n focusable=\"false\"\n aria-hidden=\"true\"\n viewBox=\"0 0 24 24\"\n width={iconSize[size]}\n >\n <path\n fill={\n errorText ? ColorBaseDestructive700 : ColorBaseGray800\n }\n d=\"M15.88 9.29 12 13.17 8.12 9.29a.9959.9959 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41l4.59 4.59c.39.39 1.02.39 1.41 0l4.59-4.59c.39-.39.39-1.02 0-1.41-.39-.38-1.03-.39-1.42 0z\"\n />\n </svg>\n </div>\n </div>\n </TapArea>\n </Popover>\n {(helperText || errorText) && (\n <div className={styles.outerTextContainer}>\n <Typography\n size={100}\n color={errorText ? \"destructive-primary\" : \"gray700\"}\n {...(errorText ? errorMessageProps : descriptionProps)}\n >\n {errorText ? errorText : helperText}\n </Typography>\n </div>\n )}\n </div>\n </ReactAriaProvider>\n );\n}\n\nexport default Object.assign(RichSelectList, {\n Section: RichSelectSection,\n Chip: RichSelectChip,\n RadioButton: RichSelectRadioButton,\n});\n","import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/SelectList/SelectList.module.css\"; export default {\"selectContainer\":\"_selectContainer_3ifov_1\",\"opacityOverlay\":\"_opacityOverlay_3ifov_7\",\"outerTextContainer\":\"_outerTextContainer_3ifov_11\",\"selectWrapper\":\"_selectWrapper_3ifov_16\",\"selectBox\":\"_selectBox_3ifov_21\",\"selectMouseFocusStyling\":\"_selectMouseFocusStyling_3ifov_37\",\"unselected\":\"_unselected_3ifov_42\",\"selected\":\"_selected_3ifov_46\",\"arrowIcon\":\"_arrowIcon_3ifov_50\",\"sm\":\"_sm_3ifov_64\",\"md\":\"_md_3ifov_70\",\"lg\":\"_lg_3ifov_76\",\"selectError\":\"_selectError_3ifov_82\"}"],"mappings":"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","names":["_a"]}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _PBOQIXCBcjs = require('./PBOQIXCB.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _RAVU4WEOcjs = require('./RAVU4WEO.cjs');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
var _3TXXNWWAcjs = require('./3TXXNWWA.cjs');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
var _FMSI35YScjs = require('./FMSI35YS.cjs');
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
var _2RCQTGOZcjs = require('./2RCQTGOZ.cjs');
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
var _NDJRETMMcjs = require('./NDJRETMM.cjs');
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
var _GYI2PBXYcjs = require('./GYI2PBXY.cjs');
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
var _5SMR5MWYcjs = require('./5SMR5MWY.cjs');
|
|
26
|
+
|
|
27
|
+
// src/RichSelect/RichSelectBox.tsx
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
var _react = require('react');
|
|
36
|
+
var _reactariacomponents = require('react-aria-components');
|
|
37
|
+
var _utils = require('@react-stately/utils');
|
|
38
|
+
var _jsxruntime = require('react/jsx-runtime');
|
|
39
|
+
function isString(val) {
|
|
40
|
+
return typeof val === "string";
|
|
41
|
+
}
|
|
42
|
+
function isEqualSelection(set1, set2) {
|
|
43
|
+
if (set1 === set2)
|
|
44
|
+
return true;
|
|
45
|
+
if (!set1 && !set2)
|
|
46
|
+
return true;
|
|
47
|
+
if (!set1 || !set2)
|
|
48
|
+
return false;
|
|
49
|
+
if (isString(set1))
|
|
50
|
+
return set1 === set2;
|
|
51
|
+
if (isString(set2))
|
|
52
|
+
return false;
|
|
53
|
+
if (set1.size !== set2.size)
|
|
54
|
+
return false;
|
|
55
|
+
for (const item of set1) {
|
|
56
|
+
if (!set2.has(item))
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
function convertSelection(selection, defaultValue) {
|
|
62
|
+
if (!selection)
|
|
63
|
+
return defaultValue;
|
|
64
|
+
if (selection === "all")
|
|
65
|
+
return "all";
|
|
66
|
+
return new Set(selection);
|
|
67
|
+
}
|
|
68
|
+
var RichSelectBoxContext = _react.createContext.call(void 0, {});
|
|
69
|
+
var RichSelectBox = _react.forwardRef.call(void 0,
|
|
70
|
+
function RichSelectBox2(props, ref) {
|
|
71
|
+
const {
|
|
72
|
+
accessibilityLabel,
|
|
73
|
+
autosave,
|
|
74
|
+
children,
|
|
75
|
+
"data-testid": dataTestId,
|
|
76
|
+
multiple = false,
|
|
77
|
+
onChange,
|
|
78
|
+
primaryButtonText,
|
|
79
|
+
primaryButtonAccessibilityLabel,
|
|
80
|
+
secondaryButtonText,
|
|
81
|
+
secondaryButtonAccessibilityLabel,
|
|
82
|
+
selectedValues: selectedValuesProp,
|
|
83
|
+
defaultSelectedValues: defaultSelectedValuesProp
|
|
84
|
+
} = props;
|
|
85
|
+
const selectedKeysProp = _react.useMemo.call(void 0,
|
|
86
|
+
() => convertSelection(selectedValuesProp),
|
|
87
|
+
[selectedValuesProp]
|
|
88
|
+
);
|
|
89
|
+
const defaultSelectedKeys = _react.useMemo.call(void 0,
|
|
90
|
+
() => convertSelection(defaultSelectedValuesProp, /* @__PURE__ */ new Set()),
|
|
91
|
+
[defaultSelectedValuesProp]
|
|
92
|
+
);
|
|
93
|
+
const [selectedKeys, setSelectedKeys] = _utils.useControlledState.call(void 0,
|
|
94
|
+
selectedKeysProp,
|
|
95
|
+
// eslint-disable-line @typescript-eslint/no-non-null-assertion -- there is a bug in the typedef for useControlledState from react-stately. Internally they rely on value (first arg) able to be undefined
|
|
96
|
+
defaultSelectedKeys,
|
|
97
|
+
(value) => {
|
|
98
|
+
if (isEqualSelection(value, selectedKeys))
|
|
99
|
+
return;
|
|
100
|
+
if (value === "all")
|
|
101
|
+
return onChange("all");
|
|
102
|
+
onChange([...value].map(String));
|
|
103
|
+
}
|
|
104
|
+
);
|
|
105
|
+
const [stagedKeys, setStagedKeys] = _react.useState.call(void 0,
|
|
106
|
+
selectedKeys
|
|
107
|
+
);
|
|
108
|
+
const saveChanges = () => setSelectedKeys(stagedKeys);
|
|
109
|
+
const clearChanges = () => setStagedKeys(/* @__PURE__ */ new Set());
|
|
110
|
+
const stageChanges = (selectedValues) => {
|
|
111
|
+
setStagedKeys(selectedValues);
|
|
112
|
+
if (autosave)
|
|
113
|
+
setSelectedKeys(selectedValues);
|
|
114
|
+
};
|
|
115
|
+
const [disabledKeysComposed, setDisabledKeysComposed] = _react.useState.call(void 0,
|
|
116
|
+
/* @__PURE__ */ new Set()
|
|
117
|
+
);
|
|
118
|
+
const disableKey = _react.useCallback.call(void 0, (key, _disabled) => {
|
|
119
|
+
setDisabledKeysComposed((keys) => {
|
|
120
|
+
if (keys.has(key) === _disabled)
|
|
121
|
+
return keys;
|
|
122
|
+
_disabled ? keys.add(key) : keys.delete(key);
|
|
123
|
+
return new Set(keys);
|
|
124
|
+
});
|
|
125
|
+
}, []);
|
|
126
|
+
const { autoFocus } = _react.useContext.call(void 0, RichSelectBoxContext);
|
|
127
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _GYI2PBXYcjs.RichSelectItemContext.Provider, { value: { disableKey }, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _5SMR5MWYcjs.Box_default, { children: [
|
|
128
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
129
|
+
_reactariacomponents.ListBox,
|
|
130
|
+
{
|
|
131
|
+
ref,
|
|
132
|
+
"aria-label": accessibilityLabel,
|
|
133
|
+
autoFocus,
|
|
134
|
+
selectionMode: multiple ? "multiple" : "single",
|
|
135
|
+
selectionBehavior: multiple ? "toggle" : "replace",
|
|
136
|
+
shouldFocusWrap: true,
|
|
137
|
+
orientation: "horizontal",
|
|
138
|
+
selectedKeys: stagedKeys,
|
|
139
|
+
onSelectionChange: stageChanges,
|
|
140
|
+
disabledKeys: disabledKeysComposed,
|
|
141
|
+
className: _GYI2PBXYcjs.RichSelect_module_default.richSelectBox,
|
|
142
|
+
children
|
|
143
|
+
}
|
|
144
|
+
),
|
|
145
|
+
!autosave && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
146
|
+
_5SMR5MWYcjs.Box_default,
|
|
147
|
+
{
|
|
148
|
+
backgroundColor: "white",
|
|
149
|
+
display: "flex",
|
|
150
|
+
direction: "column",
|
|
151
|
+
gap: 5,
|
|
152
|
+
marginTop: 5,
|
|
153
|
+
justifyContent: "end",
|
|
154
|
+
position: "sticky",
|
|
155
|
+
dangerouslySetInlineStyle: {
|
|
156
|
+
__style: {
|
|
157
|
+
bottom: 0
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
children: [
|
|
161
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _5SMR5MWYcjs.Box_default, { flex: "grow", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _3TXXNWWAcjs.Divider, {}) }),
|
|
162
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
163
|
+
_5SMR5MWYcjs.Box_default,
|
|
164
|
+
{
|
|
165
|
+
paddingY: 5,
|
|
166
|
+
marginTop: -5,
|
|
167
|
+
display: "flex",
|
|
168
|
+
justifyContent: "end",
|
|
169
|
+
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _PBOQIXCBcjs.ButtonGroup_default, { orientation: "horizontal", children: [
|
|
170
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
171
|
+
_RAVU4WEOcjs.Button_default,
|
|
172
|
+
{
|
|
173
|
+
onClick: clearChanges,
|
|
174
|
+
color: "secondary",
|
|
175
|
+
text: secondaryButtonText,
|
|
176
|
+
accessibilityLabel: secondaryButtonAccessibilityLabel,
|
|
177
|
+
"data-testid": [dataTestId, "secondary-button"].filter(Boolean).join("-")
|
|
178
|
+
}
|
|
179
|
+
),
|
|
180
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
181
|
+
_RAVU4WEOcjs.Button_default,
|
|
182
|
+
{
|
|
183
|
+
onClick: saveChanges,
|
|
184
|
+
text: primaryButtonText,
|
|
185
|
+
accessibilityLabel: primaryButtonAccessibilityLabel,
|
|
186
|
+
color: "primary",
|
|
187
|
+
"data-testid": [dataTestId, "primary-button"].filter(Boolean).join("-")
|
|
188
|
+
}
|
|
189
|
+
)
|
|
190
|
+
] })
|
|
191
|
+
}
|
|
192
|
+
)
|
|
193
|
+
]
|
|
194
|
+
}
|
|
195
|
+
)
|
|
196
|
+
] }) });
|
|
197
|
+
}
|
|
198
|
+
);
|
|
199
|
+
var RichSelectBox_default = Object.assign(RichSelectBox, {
|
|
200
|
+
Section: _FMSI35YScjs.RichSelectSection_default,
|
|
201
|
+
Chip: _NDJRETMMcjs.RichSelectChip_default,
|
|
202
|
+
RadioButton: _2RCQTGOZcjs.RichSelectRadioButton_default
|
|
203
|
+
});
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
exports.convertSelection = convertSelection; exports.RichSelectBoxContext = RichSelectBoxContext; exports.RichSelectBox_default = RichSelectBox_default;
|
|
210
|
+
//# sourceMappingURL=5TKLFG5Y.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/RichSelect/RichSelectBox.tsx"],"names":["RichSelectBox"],"mappings":"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","sourcesContent":["import React, {\n forwardRef,\n type ReactElement,\n useContext,\n useState,\n useCallback,\n createContext,\n useMemo,\n} from \"react\";\nimport { ListBox as ReactAriaListBox } from \"react-aria-components\";\nimport { type Key } from \"react-aria\";\nimport { type Selection } from \"react-stately\";\nimport { useControlledState } from \"@react-stately/utils\";\nimport { RichSelectItemContext } from \"./RichSelectItem\";\nimport ButtonGroup from \"../ButtonGroup/ButtonGroup\";\nimport Button from \"../Button/Button\";\nimport styles from \"./RichSelect.module.css\";\nimport Box from \"../Box/Box\";\nimport Divider from \"../Divider/Divider\";\nimport RichSelectSection from \"./RichSelectSection\";\nimport RichSelectChip from \"./RichSelectChip\";\nimport RichSelectRadioButton from \"./RichSelectRadioButton\";\n\ntype RichSelectChild =\n | ReactElement<typeof RichSelectChip>\n | ReactElement<typeof RichSelectRadioButton>\n | ReactElement<typeof RichSelectSection>;\n\nfunction isString(val: unknown): val is string {\n return typeof val === \"string\";\n}\n\nfunction isEqualSelection(set1?: Selection, set2?: Selection): boolean {\n if (set1 === set2) return true;\n if (!set1 && !set2) return true;\n if (!set1 || !set2) return false;\n if (isString(set1)) return set1 === set2;\n if (isString(set2)) return false;\n if (set1.size !== set2.size) return false;\n for (const item of set1) {\n if (!set2.has(item)) return false;\n }\n return true;\n}\n\nexport function convertSelection(\n selection: \"all\" | Iterable<Key> | undefined,\n defaultValue?: \"all\" | Set<Key>,\n): \"all\" | Set<Key> | undefined {\n if (!selection) return defaultValue;\n if (selection === \"all\") return \"all\";\n return new Set(selection);\n}\n\nexport type RichSelectBoxProps = {\n /** aria-label for the list box */\n accessibilityLabel: string;\n /** Automatically saves changes when true, shows save/clear buttons when not true */\n autosave?: boolean;\n /** Test id for the list box element */\n \"data-testid\"?: string;\n /** One or more RichSelectList.<Chip|RadioButton|Section|...> components. */\n children: RichSelectChild | RichSelectChild[];\n /** Default selected values */\n defaultSelectedValues?: Set<Key> | string[] | \"all\";\n /** Enables multiple selection (multiselect) */\n multiple?: boolean;\n /** The callback to be called when options are selected / committed */\n onChange: (selectedValues: string[] | \"all\") => void;\n /** Text for primary button (Save). Required: string must be translated */\n primaryButtonText: string;\n /** accessibilityLabel for primary Button component (Save). Required: string must be translated */\n primaryButtonAccessibilityLabel: string;\n /** Text for primary button (Clear). Required: string must be translated */\n secondaryButtonText: string;\n /** accessibilityLabel for secondary Button component (Clear). Required: string must be translated */\n secondaryButtonAccessibilityLabel: string;\n /** Value of the currently selected options */\n selectedValues?: Set<Key> | string[] | \"all\";\n};\n\ntype RichSelectBoxContextType = {\n /** Automatically focuses RichSelectBox on mount when enabled */\n autoFocus?: boolean;\n};\nexport const RichSelectBoxContext = createContext<RichSelectBoxContextType>({});\n\n/**\n * [RichSelectBox](https://cambly-syntax.vercel.app/?path=/docs/components-richselectbox--docs) is an element that allows users to select one or multiple options from a list.\n *\n * Example Usage:\n ```\n <RichSelectBox\n label=\"My Label\"\n multiple\n onChange={() => { ... }}\n primaryButtonText=\"Save\"\n primaryButtonAccessibilityLabel=\"Save\"\n secondaryButtonText=\"Clear\"\n secondaryButtonAccessibilityLabel=\"Clear\"\n >\n <RichSelectBox.Section label=\"Cities\">\n <RichSelectBox.Chip label=\"San Francisco\" value=\"sf\" />\n <RichSelectBox.Chip label=\"New York\" value=\"ny\" disabled />\n <RichSelectBox.Chip label=\"Tulsa\" value=\"tulsa\" />\n <RichSelectBox.Chip label=\"Chicago\" value=\"chicago\" disabled />\n </RichSelectBox.Section>\n </RichSelectBox>\n ```\n */\nconst RichSelectBox = forwardRef<HTMLDivElement, RichSelectBoxProps>(\n function RichSelectBox(props, ref): ReactElement {\n const {\n accessibilityLabel,\n autosave,\n children,\n \"data-testid\": dataTestId,\n multiple = false,\n onChange,\n primaryButtonText,\n primaryButtonAccessibilityLabel,\n secondaryButtonText,\n secondaryButtonAccessibilityLabel,\n selectedValues: selectedValuesProp,\n defaultSelectedValues: defaultSelectedValuesProp,\n } = props;\n\n const selectedKeysProp = useMemo(\n () => convertSelection(selectedValuesProp),\n [selectedValuesProp],\n );\n const defaultSelectedKeys = useMemo(\n () => convertSelection(defaultSelectedValuesProp, new Set()),\n [defaultSelectedValuesProp],\n );\n const [selectedKeys, setSelectedKeys] = useControlledState(\n selectedKeysProp!, // eslint-disable-line @typescript-eslint/no-non-null-assertion -- there is a bug in the typedef for useControlledState from react-stately. Internally they rely on value (first arg) able to be undefined\n defaultSelectedKeys,\n (value) => {\n if (isEqualSelection(value, selectedKeys)) return;\n // Notify parent about the changes\n if (value === \"all\") return onChange(\"all\");\n onChange([...value].map(String));\n },\n );\n const [stagedKeys, setStagedKeys] = useState<Set<Key> | \"all\">(\n selectedKeys,\n );\n\n const saveChanges = () => setSelectedKeys(stagedKeys);\n const clearChanges = () => setStagedKeys(new Set());\n const stageChanges = (selectedValues: Selection) => {\n setStagedKeys(selectedValues);\n if (autosave) setSelectedKeys(selectedValues);\n };\n\n // inject method into context so children can disable themselves\n // by adding `disabled` attribute (through RichSelectItem)\n const [disabledKeysComposed, setDisabledKeysComposed] = useState<Set<Key>>(\n new Set(),\n );\n const disableKey = useCallback((key: Key, _disabled: boolean) => {\n setDisabledKeysComposed((keys) => {\n if (keys.has(key) === _disabled) return keys;\n _disabled ? keys.add(key) : keys.delete(key);\n return new Set(keys);\n });\n }, []);\n\n // higher level context for autoFocus behavior (parent sets when rendering RichSelectBox in overlay)\n const { autoFocus } = useContext(RichSelectBoxContext);\n\n return (\n <RichSelectItemContext.Provider value={{ disableKey }}>\n <Box>\n <ReactAriaListBox\n ref={ref}\n aria-label={accessibilityLabel}\n autoFocus={autoFocus}\n selectionMode={multiple ? \"multiple\" : \"single\"}\n selectionBehavior={multiple ? \"toggle\" : \"replace\"}\n shouldFocusWrap={true}\n orientation=\"horizontal\"\n selectedKeys={stagedKeys}\n onSelectionChange={stageChanges}\n disabledKeys={disabledKeysComposed}\n className={styles.richSelectBox}\n >\n {children}\n </ReactAriaListBox>\n {!autosave && (\n <Box\n backgroundColor=\"white\"\n display=\"flex\"\n direction=\"column\"\n gap={5}\n marginTop={5}\n justifyContent=\"end\"\n position=\"sticky\"\n dangerouslySetInlineStyle={{\n __style: {\n bottom: 0,\n },\n }}\n >\n <Box flex=\"grow\">\n <Divider />\n </Box>\n <Box\n paddingY={5}\n marginTop={-5}\n display=\"flex\"\n justifyContent=\"end\"\n >\n <ButtonGroup orientation=\"horizontal\">\n <Button\n onClick={clearChanges}\n color={\"secondary\"}\n text={secondaryButtonText}\n accessibilityLabel={secondaryButtonAccessibilityLabel}\n data-testid={[dataTestId, \"secondary-button\"]\n .filter(Boolean)\n .join(\"-\")}\n />\n <Button\n onClick={saveChanges}\n text={primaryButtonText}\n accessibilityLabel={primaryButtonAccessibilityLabel}\n color=\"primary\"\n data-testid={[dataTestId, \"primary-button\"]\n .filter(Boolean)\n .join(\"-\")}\n />\n </ButtonGroup>\n </Box>\n </Box>\n )}\n </Box>\n </RichSelectItemContext.Provider>\n );\n },\n);\n\nexport default Object.assign(RichSelectBox, {\n Section: RichSelectSection,\n Chip: RichSelectChip,\n RadioButton: RichSelectRadioButton,\n});\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// css-module:../Box/padding.module.css#css-module
|
|
2
|
+
var padding_module_default = { "paddingX0": "_paddingX0_1aqye_2", "paddingX1": "_paddingX1_1aqye_7", "paddingX2": "_paddingX2_1aqye_12", "paddingX3": "_paddingX3_1aqye_17", "paddingX4": "_paddingX4_1aqye_22", "paddingX5": "_paddingX5_1aqye_27", "paddingX6": "_paddingX6_1aqye_32", "paddingX7": "_paddingX7_1aqye_37", "paddingX8": "_paddingX8_1aqye_42", "paddingX9": "_paddingX9_1aqye_47", "paddingX10": "_paddingX10_1aqye_52", "paddingX11": "_paddingX11_1aqye_57", "paddingX12": "_paddingX12_1aqye_62", "paddingY0": "_paddingY0_1aqye_67", "paddingY1": "_paddingY1_1aqye_72", "paddingY2": "_paddingY2_1aqye_77", "paddingY3": "_paddingY3_1aqye_82", "paddingY4": "_paddingY4_1aqye_87", "paddingY5": "_paddingY5_1aqye_92", "paddingY6": "_paddingY6_1aqye_97", "paddingY7": "_paddingY7_1aqye_102", "paddingY8": "_paddingY8_1aqye_107", "paddingY9": "_paddingY9_1aqye_112", "paddingY10": "_paddingY10_1aqye_117", "paddingY11": "_paddingY11_1aqye_122", "paddingY12": "_paddingY12_1aqye_127", "paddingX0Small": "_paddingX0Small_1aqye_134", "paddingX1Small": "_paddingX1Small_1aqye_139", "paddingX2Small": "_paddingX2Small_1aqye_144", "paddingX3Small": "_paddingX3Small_1aqye_149", "paddingX4Small": "_paddingX4Small_1aqye_154", "paddingX5Small": "_paddingX5Small_1aqye_159", "paddingX6Small": "_paddingX6Small_1aqye_164", "paddingX7Small": "_paddingX7Small_1aqye_169", "paddingX8Small": "_paddingX8Small_1aqye_174", "paddingX9Small": "_paddingX9Small_1aqye_179", "paddingX10Small": "_paddingX10Small_1aqye_184", "paddingX11Small": "_paddingX11Small_1aqye_189", "paddingX12Small": "_paddingX12Small_1aqye_194", "paddingY0Small": "_paddingY0Small_1aqye_199", "paddingY1Small": "_paddingY1Small_1aqye_204", "paddingY2Small": "_paddingY2Small_1aqye_209", "paddingY3Small": "_paddingY3Small_1aqye_214", "paddingY4Small": "_paddingY4Small_1aqye_219", "paddingY5Small": "_paddingY5Small_1aqye_224", "paddingY6Small": "_paddingY6Small_1aqye_229", "paddingY7Small": "_paddingY7Small_1aqye_234", "paddingY8Small": "_paddingY8Small_1aqye_239", "paddingY9Small": "_paddingY9Small_1aqye_244", "paddingY10Small": "_paddingY10Small_1aqye_249", "paddingY11Small": "_paddingY11Small_1aqye_254", "paddingY12Small": "_paddingY12Small_1aqye_259", "paddingX0Large": "_paddingX0Large_1aqye_267", "paddingX1Large": "_paddingX1Large_1aqye_272", "paddingX2Large": "_paddingX2Large_1aqye_277", "paddingX3Large": "_paddingX3Large_1aqye_282", "paddingX4Large": "_paddingX4Large_1aqye_287", "paddingX5Large": "_paddingX5Large_1aqye_292", "paddingX6Large": "_paddingX6Large_1aqye_297", "paddingX7Large": "_paddingX7Large_1aqye_302", "paddingX8Large": "_paddingX8Large_1aqye_307", "paddingX9Large": "_paddingX9Large_1aqye_312", "paddingX10Large": "_paddingX10Large_1aqye_317", "paddingX11Large": "_paddingX11Large_1aqye_322", "paddingX12Large": "_paddingX12Large_1aqye_327", "paddingY0Large": "_paddingY0Large_1aqye_332", "paddingY1Large": "_paddingY1Large_1aqye_337", "paddingY2Large": "_paddingY2Large_1aqye_342", "paddingY3Large": "_paddingY3Large_1aqye_347", "paddingY4Large": "_paddingY4Large_1aqye_352", "paddingY5Large": "_paddingY5Large_1aqye_357", "paddingY6Large": "_paddingY6Large_1aqye_362", "paddingY7Large": "_paddingY7Large_1aqye_367", "paddingY8Large": "_paddingY8Large_1aqye_372", "paddingY9Large": "_paddingY9Large_1aqye_377", "paddingY10Large": "_paddingY10Large_1aqye_382", "paddingY11Large": "_paddingY11Large_1aqye_387", "paddingY12Large": "_paddingY12Large_1aqye_392" };
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
exports.padding_module_default = padding_module_default;
|
|
7
|
+
//# sourceMappingURL=5WNFAQGY.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["css-module:../Box/padding.module.css#css-module"],"names":[],"mappings":";AAA0F,IAAO,yBAAQ,EAAC,aAAY,sBAAqB,aAAY,sBAAqB,aAAY,uBAAsB,aAAY,uBAAsB,aAAY,uBAAsB,aAAY,uBAAsB,aAAY,uBAAsB,aAAY,uBAAsB,aAAY,uBAAsB,aAAY,uBAAsB,cAAa,wBAAuB,cAAa,wBAAuB,cAAa,wBAAuB,aAAY,uBAAsB,aAAY,uBAAsB,aAAY,uBAAsB,aAAY,uBAAsB,aAAY,uBAAsB,aAAY,uBAAsB,aAAY,uBAAsB,aAAY,wBAAuB,aAAY,wBAAuB,aAAY,wBAAuB,cAAa,yBAAwB,cAAa,yBAAwB,cAAa,yBAAwB,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,mBAAkB,8BAA6B,mBAAkB,8BAA6B,mBAAkB,8BAA6B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,mBAAkB,8BAA6B,mBAAkB,8BAA6B,mBAAkB,8BAA6B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,mBAAkB,8BAA6B,mBAAkB,8BAA6B,mBAAkB,8BAA6B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,kBAAiB,6BAA4B,mBAAkB,8BAA6B,mBAAkB,8BAA6B,mBAAkB,6BAA4B","sourcesContent":["import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/Box/padding.module.css\"; export default {\"paddingX0\":\"_paddingX0_1aqye_2\",\"paddingX1\":\"_paddingX1_1aqye_7\",\"paddingX2\":\"_paddingX2_1aqye_12\",\"paddingX3\":\"_paddingX3_1aqye_17\",\"paddingX4\":\"_paddingX4_1aqye_22\",\"paddingX5\":\"_paddingX5_1aqye_27\",\"paddingX6\":\"_paddingX6_1aqye_32\",\"paddingX7\":\"_paddingX7_1aqye_37\",\"paddingX8\":\"_paddingX8_1aqye_42\",\"paddingX9\":\"_paddingX9_1aqye_47\",\"paddingX10\":\"_paddingX10_1aqye_52\",\"paddingX11\":\"_paddingX11_1aqye_57\",\"paddingX12\":\"_paddingX12_1aqye_62\",\"paddingY0\":\"_paddingY0_1aqye_67\",\"paddingY1\":\"_paddingY1_1aqye_72\",\"paddingY2\":\"_paddingY2_1aqye_77\",\"paddingY3\":\"_paddingY3_1aqye_82\",\"paddingY4\":\"_paddingY4_1aqye_87\",\"paddingY5\":\"_paddingY5_1aqye_92\",\"paddingY6\":\"_paddingY6_1aqye_97\",\"paddingY7\":\"_paddingY7_1aqye_102\",\"paddingY8\":\"_paddingY8_1aqye_107\",\"paddingY9\":\"_paddingY9_1aqye_112\",\"paddingY10\":\"_paddingY10_1aqye_117\",\"paddingY11\":\"_paddingY11_1aqye_122\",\"paddingY12\":\"_paddingY12_1aqye_127\",\"paddingX0Small\":\"_paddingX0Small_1aqye_134\",\"paddingX1Small\":\"_paddingX1Small_1aqye_139\",\"paddingX2Small\":\"_paddingX2Small_1aqye_144\",\"paddingX3Small\":\"_paddingX3Small_1aqye_149\",\"paddingX4Small\":\"_paddingX4Small_1aqye_154\",\"paddingX5Small\":\"_paddingX5Small_1aqye_159\",\"paddingX6Small\":\"_paddingX6Small_1aqye_164\",\"paddingX7Small\":\"_paddingX7Small_1aqye_169\",\"paddingX8Small\":\"_paddingX8Small_1aqye_174\",\"paddingX9Small\":\"_paddingX9Small_1aqye_179\",\"paddingX10Small\":\"_paddingX10Small_1aqye_184\",\"paddingX11Small\":\"_paddingX11Small_1aqye_189\",\"paddingX12Small\":\"_paddingX12Small_1aqye_194\",\"paddingY0Small\":\"_paddingY0Small_1aqye_199\",\"paddingY1Small\":\"_paddingY1Small_1aqye_204\",\"paddingY2Small\":\"_paddingY2Small_1aqye_209\",\"paddingY3Small\":\"_paddingY3Small_1aqye_214\",\"paddingY4Small\":\"_paddingY4Small_1aqye_219\",\"paddingY5Small\":\"_paddingY5Small_1aqye_224\",\"paddingY6Small\":\"_paddingY6Small_1aqye_229\",\"paddingY7Small\":\"_paddingY7Small_1aqye_234\",\"paddingY8Small\":\"_paddingY8Small_1aqye_239\",\"paddingY9Small\":\"_paddingY9Small_1aqye_244\",\"paddingY10Small\":\"_paddingY10Small_1aqye_249\",\"paddingY11Small\":\"_paddingY11Small_1aqye_254\",\"paddingY12Small\":\"_paddingY12Small_1aqye_259\",\"paddingX0Large\":\"_paddingX0Large_1aqye_267\",\"paddingX1Large\":\"_paddingX1Large_1aqye_272\",\"paddingX2Large\":\"_paddingX2Large_1aqye_277\",\"paddingX3Large\":\"_paddingX3Large_1aqye_282\",\"paddingX4Large\":\"_paddingX4Large_1aqye_287\",\"paddingX5Large\":\"_paddingX5Large_1aqye_292\",\"paddingX6Large\":\"_paddingX6Large_1aqye_297\",\"paddingX7Large\":\"_paddingX7Large_1aqye_302\",\"paddingX8Large\":\"_paddingX8Large_1aqye_307\",\"paddingX9Large\":\"_paddingX9Large_1aqye_312\",\"paddingX10Large\":\"_paddingX10Large_1aqye_317\",\"paddingX11Large\":\"_paddingX11Large_1aqye_322\",\"paddingX12Large\":\"_paddingX12Large_1aqye_327\",\"paddingY0Large\":\"_paddingY0Large_1aqye_332\",\"paddingY1Large\":\"_paddingY1Large_1aqye_337\",\"paddingY2Large\":\"_paddingY2Large_1aqye_342\",\"paddingY3Large\":\"_paddingY3Large_1aqye_347\",\"paddingY4Large\":\"_paddingY4Large_1aqye_352\",\"paddingY5Large\":\"_paddingY5Large_1aqye_357\",\"paddingY6Large\":\"_paddingY6Large_1aqye_362\",\"paddingY7Large\":\"_paddingY7Large_1aqye_367\",\"paddingY8Large\":\"_paddingY8Large_1aqye_372\",\"paddingY9Large\":\"_paddingY9Large_1aqye_377\",\"paddingY10Large\":\"_paddingY10Large_1aqye_382\",\"paddingY11Large\":\"_paddingY11Large_1aqye_387\",\"paddingY12Large\":\"_paddingY12Large_1aqye_392\"}"]}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// src/react-aria-utils/useDomRefSyntheticEventBridge.ts
|
|
2
|
+
import { useEffect } from "react";
|
|
3
|
+
var createSyntheticEvent = (event) => {
|
|
4
|
+
let isDefaultPrevented = false;
|
|
5
|
+
let isPropagationStopped = false;
|
|
6
|
+
const preventDefault = () => {
|
|
7
|
+
isDefaultPrevented = true;
|
|
8
|
+
event.preventDefault();
|
|
9
|
+
};
|
|
10
|
+
const stopPropagation = () => {
|
|
11
|
+
isPropagationStopped = true;
|
|
12
|
+
event.stopPropagation();
|
|
13
|
+
};
|
|
14
|
+
return {
|
|
15
|
+
nativeEvent: event,
|
|
16
|
+
currentTarget: event.currentTarget,
|
|
17
|
+
target: event.target,
|
|
18
|
+
bubbles: event.bubbles,
|
|
19
|
+
cancelable: event.cancelable,
|
|
20
|
+
defaultPrevented: event.defaultPrevented,
|
|
21
|
+
eventPhase: event.eventPhase,
|
|
22
|
+
isTrusted: event.isTrusted,
|
|
23
|
+
preventDefault,
|
|
24
|
+
isDefaultPrevented: () => isDefaultPrevented,
|
|
25
|
+
stopPropagation,
|
|
26
|
+
isPropagationStopped: () => isPropagationStopped,
|
|
27
|
+
persist: () => void 0,
|
|
28
|
+
timeStamp: event.timeStamp,
|
|
29
|
+
type: event.type
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
var useDomRefSyntheticEventBridge = (props, ref, { enabled = true } = {}) => {
|
|
33
|
+
useEffect(() => {
|
|
34
|
+
if (!enabled)
|
|
35
|
+
return () => void 0;
|
|
36
|
+
if (!ref.current)
|
|
37
|
+
return () => void 0;
|
|
38
|
+
const element = ref.current;
|
|
39
|
+
const cleanups = Object.entries(props).map(
|
|
40
|
+
([key, value]) => {
|
|
41
|
+
if (!key.startsWith("on"))
|
|
42
|
+
return;
|
|
43
|
+
if (typeof value !== "function")
|
|
44
|
+
return;
|
|
45
|
+
const endsWithCapture = key.endsWith("Capture");
|
|
46
|
+
const eventname = key.slice(2, endsWithCapture ? -7 : void 0).toLowerCase();
|
|
47
|
+
const handler = (evt) => {
|
|
48
|
+
const fn = value;
|
|
49
|
+
fn(createSyntheticEvent(evt));
|
|
50
|
+
};
|
|
51
|
+
const args = [eventname, handler, endsWithCapture];
|
|
52
|
+
element.addEventListener(...args);
|
|
53
|
+
return () => element.removeEventListener(...args);
|
|
54
|
+
}
|
|
55
|
+
);
|
|
56
|
+
return () => cleanups.forEach((cleanup) => cleanup == null ? void 0 : cleanup());
|
|
57
|
+
}, [enabled, props, ref]);
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
export {
|
|
61
|
+
useDomRefSyntheticEventBridge
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=5ZDZZL2P.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/react-aria-utils/useDomRefSyntheticEventBridge.ts"],"sourcesContent":["import { type SyntheticEvent, useEffect } from \"react\";\n\nconst createSyntheticEvent = <T extends Element, E extends Event>(\n event: E,\n): SyntheticEvent<T, E> => {\n let isDefaultPrevented = false;\n let isPropagationStopped = false;\n const preventDefault = () => {\n isDefaultPrevented = true;\n event.preventDefault();\n };\n const stopPropagation = () => {\n isPropagationStopped = true;\n event.stopPropagation();\n };\n return {\n nativeEvent: event,\n currentTarget: event.currentTarget as EventTarget & T,\n target: event.target as EventTarget & T,\n bubbles: event.bubbles,\n cancelable: event.cancelable,\n defaultPrevented: event.defaultPrevented,\n eventPhase: event.eventPhase,\n isTrusted: event.isTrusted,\n preventDefault,\n isDefaultPrevented: () => isDefaultPrevented,\n stopPropagation,\n isPropagationStopped: () => isPropagationStopped,\n persist: () => undefined,\n timeStamp: event.timeStamp,\n type: event.type,\n };\n};\n\nexport const useDomRefSyntheticEventBridge = <T extends Element>(\n props: Record<string, unknown>,\n ref: React.RefObject<T>,\n { enabled = true }: { enabled?: boolean } = {},\n): void => {\n useEffect(() => {\n if (!enabled) return () => undefined;\n if (!ref.current) return () => undefined;\n const element = ref.current;\n\n const cleanups = Object.entries(props).map<(() => void) | undefined>(\n ([key, value]) => {\n if (!key.startsWith(\"on\")) return;\n if (typeof value !== \"function\") return;\n const endsWithCapture = key.endsWith(\"Capture\");\n const eventname = key\n .slice(2, endsWithCapture ? -7 : undefined)\n .toLowerCase();\n\n const handler = (evt: Event) => {\n const fn = value as (event: SyntheticEvent) => void;\n fn(createSyntheticEvent(evt));\n };\n\n const args: [\n eventname: string,\n handler: EventListenerOrEventListenerObject,\n useCapture?: boolean,\n ] = [eventname, handler, endsWithCapture];\n element.addEventListener(...args);\n return () => element.removeEventListener(...args);\n },\n );\n\n return () => cleanups.forEach((cleanup) => cleanup?.());\n }, [enabled, props, ref]);\n};\n"],"mappings":";AAAA,SAA8B,iBAAiB;AAE/C,IAAM,uBAAuB,CAC3B,UACyB;AACzB,MAAI,qBAAqB;AACzB,MAAI,uBAAuB;AAC3B,QAAM,iBAAiB,MAAM;AAC3B,yBAAqB;AACrB,UAAM,eAAe;AAAA,EACvB;AACA,QAAM,kBAAkB,MAAM;AAC5B,2BAAuB;AACvB,UAAM,gBAAgB;AAAA,EACxB;AACA,SAAO;AAAA,IACL,aAAa;AAAA,IACb,eAAe,MAAM;AAAA,IACrB,QAAQ,MAAM;AAAA,IACd,SAAS,MAAM;AAAA,IACf,YAAY,MAAM;AAAA,IAClB,kBAAkB,MAAM;AAAA,IACxB,YAAY,MAAM;AAAA,IAClB,WAAW,MAAM;AAAA,IACjB;AAAA,IACA,oBAAoB,MAAM;AAAA,IAC1B;AAAA,IACA,sBAAsB,MAAM;AAAA,IAC5B,SAAS,MAAM;AAAA,IACf,WAAW,MAAM;AAAA,IACjB,MAAM,MAAM;AAAA,EACd;AACF;AAEO,IAAM,gCAAgC,CAC3C,OACA,KACA,EAAE,UAAU,KAAK,IAA2B,CAAC,MACpC;AACT,YAAU,MAAM;AACd,QAAI,CAAC;AAAS,aAAO,MAAM;AAC3B,QAAI,CAAC,IAAI;AAAS,aAAO,MAAM;AAC/B,UAAM,UAAU,IAAI;AAEpB,UAAM,WAAW,OAAO,QAAQ,KAAK,EAAE;AAAA,MACrC,CAAC,CAAC,KAAK,KAAK,MAAM;AAChB,YAAI,CAAC,IAAI,WAAW,IAAI;AAAG;AAC3B,YAAI,OAAO,UAAU;AAAY;AACjC,cAAM,kBAAkB,IAAI,SAAS,SAAS;AAC9C,cAAM,YAAY,IACf,MAAM,GAAG,kBAAkB,KAAK,MAAS,EACzC,YAAY;AAEf,cAAM,UAAU,CAAC,QAAe;AAC9B,gBAAM,KAAK;AACX,aAAG,qBAAqB,GAAG,CAAC;AAAA,QAC9B;AAEA,cAAM,OAIF,CAAC,WAAW,SAAS,eAAe;AACxC,gBAAQ,iBAAiB,GAAG,IAAI;AAChC,eAAO,MAAM,QAAQ,oBAAoB,GAAG,IAAI;AAAA,MAClD;AAAA,IACF;AAEA,WAAO,MAAM,SAAS,QAAQ,CAAC,YAAY,oCAAW;AAAA,EACxD,GAAG,CAAC,SAAS,OAAO,GAAG,CAAC;AAC1B;","names":[]}
|