@cambly/syntax-core 10.4.0 → 10.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Avatar/Avatar.cjs +3 -2
- package/dist/Avatar/Avatar.js +2 -1
- package/dist/AvatarGroup/AvatarGroup.cjs +3 -2
- package/dist/AvatarGroup/AvatarGroup.js +2 -1
- package/dist/Badge/Badge.cjs +6 -5
- package/dist/Badge/Badge.js +4 -3
- package/dist/Box/Box.cjs +3 -2
- package/dist/Box/Box.js +2 -1
- package/dist/Button/Button.cjs +6 -5
- package/dist/Button/Button.js +4 -3
- package/dist/Card/Card.cjs +3 -2
- package/dist/Card/Card.js +2 -1
- package/dist/Checkbox/Checkbox.cjs +3 -3
- package/dist/Checkbox/Checkbox.js +2 -2
- package/dist/Chip/Chip.cjs +6 -5
- package/dist/Chip/Chip.css +14 -7
- package/dist/Chip/Chip.css.map +1 -1
- package/dist/Chip/Chip.d.ts +6 -0
- package/dist/Chip/Chip.js +4 -3
- package/dist/Dialog/Dialog.cjs +10 -5
- package/dist/Dialog/Dialog.css +16 -5
- package/dist/Dialog/Dialog.css.map +1 -1
- package/dist/Dialog/Dialog.d.ts +9 -2
- package/dist/Dialog/Dialog.js +8 -3
- package/dist/Dialog/ModalDialog.cjs +9 -6
- package/dist/Dialog/ModalDialog.css +16 -5
- package/dist/Dialog/ModalDialog.css.map +1 -1
- package/dist/Dialog/ModalDialog.d.ts +2 -0
- package/dist/Dialog/ModalDialog.js +7 -4
- package/dist/Heading/Heading.cjs +3 -3
- package/dist/Heading/Heading.js +2 -2
- package/dist/LinkButton/LinkButton.cjs +3 -3
- package/dist/LinkButton/LinkButton.js +2 -2
- package/dist/Modal/Layer.cjs +3 -2
- package/dist/Modal/Layer.js +2 -1
- package/dist/Modal/Modal.cjs +8 -7
- package/dist/Modal/Modal.js +6 -5
- package/dist/Popover/Popover.cjs +11 -8
- package/dist/Popover/Popover.css +16 -12
- package/dist/Popover/Popover.css.map +1 -1
- package/dist/Popover/Popover.d.ts +4 -1
- package/dist/Popover/Popover.js +9 -6
- package/dist/RadioButton/RadioButton.cjs +3 -3
- package/dist/RadioButton/RadioButton.d.ts +3 -1
- package/dist/RadioButton/RadioButton.js +2 -2
- package/dist/RichSelect/RichSelectBox.cjs +40 -0
- package/dist/RichSelect/RichSelectBox.css +2121 -0
- package/dist/RichSelect/RichSelectBox.css.map +1 -0
- package/dist/RichSelect/RichSelectBox.d.ts +56 -0
- package/dist/RichSelect/RichSelectBox.js +40 -0
- package/dist/RichSelect/RichSelectChip.cjs +18 -0
- package/dist/RichSelect/RichSelectChip.cjs.map +1 -0
- package/dist/RichSelect/RichSelectChip.css +1915 -0
- package/dist/RichSelect/RichSelectChip.css.map +1 -0
- package/dist/RichSelect/RichSelectChip.d.ts +8 -0
- package/dist/RichSelect/RichSelectChip.js +18 -0
- package/dist/RichSelect/RichSelectChip.js.map +1 -0
- package/dist/RichSelect/RichSelectItem.cjs +11 -0
- package/dist/RichSelect/RichSelectItem.cjs.map +1 -0
- package/dist/RichSelect/RichSelectItem.css +6 -0
- package/dist/RichSelect/RichSelectItem.css.map +1 -0
- package/dist/RichSelect/RichSelectItem.d.ts +20 -0
- package/dist/RichSelect/RichSelectItem.js +11 -0
- package/dist/RichSelect/RichSelectItem.js.map +1 -0
- package/dist/RichSelect/RichSelectList.cjs +48 -0
- package/dist/RichSelect/RichSelectList.cjs.map +1 -0
- package/dist/RichSelect/RichSelectList.css +2335 -0
- package/dist/RichSelect/RichSelectList.css.map +1 -0
- package/dist/RichSelect/RichSelectList.d.ts +78 -0
- package/dist/RichSelect/RichSelectList.js +48 -0
- package/dist/RichSelect/RichSelectList.js.map +1 -0
- package/dist/RichSelect/RichSelectRadioButton.cjs +16 -0
- package/dist/RichSelect/RichSelectRadioButton.cjs.map +1 -0
- package/dist/RichSelect/RichSelectRadioButton.css +324 -0
- package/dist/RichSelect/RichSelectRadioButton.css.map +1 -0
- package/dist/RichSelect/RichSelectRadioButton.d.ts +11 -0
- package/dist/RichSelect/RichSelectRadioButton.js +16 -0
- package/dist/RichSelect/RichSelectRadioButton.js.map +1 -0
- package/dist/RichSelect/RichSelectSection.cjs +14 -0
- package/dist/RichSelect/RichSelectSection.cjs.map +1 -0
- package/dist/RichSelect/RichSelectSection.css +601 -0
- package/dist/RichSelect/RichSelectSection.css.map +1 -0
- package/dist/RichSelect/RichSelectSection.d.ts +11 -0
- package/dist/RichSelect/RichSelectSection.js +14 -0
- package/dist/RichSelect/RichSelectSection.js.map +1 -0
- package/dist/SelectList/SelectList.cjs +4 -3
- package/dist/SelectList/SelectList.js +3 -2
- package/dist/TapArea/TapArea.cjs +2 -2
- package/dist/TapArea/TapArea.d.ts +11 -12
- package/dist/TapArea/TapArea.js +1 -1
- package/dist/TextArea/TextArea.cjs +5 -4
- package/dist/TextArea/TextArea.js +4 -3
- package/dist/TextField/TextField.cjs +5 -4
- package/dist/TextField/TextField.js +4 -3
- package/dist/Tooltip/Tooltip.cjs +9 -7
- package/dist/Tooltip/Tooltip.js +7 -5
- package/dist/Typography/Typography.cjs +2 -2
- package/dist/Typography/Typography.d.ts +4 -0
- package/dist/Typography/Typography.js +1 -1
- package/dist/__chunks/{PF4QF5DX.js → 2R4YCOYE.js} +2 -2
- package/dist/__chunks/2RCQTGOZ.cjs +39 -0
- package/dist/__chunks/2RCQTGOZ.cjs.map +1 -0
- package/dist/__chunks/{TBYS7XPD.js → 3UQRZ3IQ.js} +2 -2
- package/dist/__chunks/5TKLFG5Y.cjs +210 -0
- package/dist/__chunks/5TKLFG5Y.cjs.map +1 -0
- package/dist/__chunks/5WNFAQGY.cjs +7 -0
- package/dist/__chunks/5WNFAQGY.cjs.map +1 -0
- package/dist/__chunks/652STTPK.js +7 -0
- package/dist/__chunks/652STTPK.js.map +1 -0
- package/dist/__chunks/{4G4SS7O3.js → B2TFERTM.js} +3 -1
- package/dist/__chunks/B2TFERTM.js.map +1 -0
- package/dist/__chunks/DNTOWEIQ.js +39 -0
- package/dist/__chunks/DNTOWEIQ.js.map +1 -0
- package/dist/__chunks/EDTR2ER5.js +270 -0
- package/dist/__chunks/EDTR2ER5.js.map +1 -0
- package/dist/__chunks/{EBNDJEOG.cjs → FMHIHCQS.cjs} +3 -3
- package/dist/__chunks/{WI7S7GOJ.cjs → FMSBGH2I.cjs} +5 -5
- package/dist/__chunks/FMSI35YS.cjs +52 -0
- package/dist/__chunks/FMSI35YS.cjs.map +1 -0
- package/dist/__chunks/FVUQWBMO.cjs +270 -0
- package/dist/__chunks/FVUQWBMO.cjs.map +1 -0
- package/dist/__chunks/{PYX4374T.cjs → FZ5HWA3S.cjs} +3 -3
- package/dist/__chunks/{XWGC5OYD.cjs → GOSWBV5D.cjs} +3 -3
- package/dist/__chunks/GYI2PBXY.cjs +52 -0
- package/dist/__chunks/GYI2PBXY.cjs.map +1 -0
- package/dist/__chunks/{XA2DZRGH.js → HPLOQ2U3.js} +6 -6
- package/dist/__chunks/HPLOQ2U3.js.map +1 -0
- package/dist/__chunks/{4DPEJJ42.cjs → HR5QOB3U.cjs} +6 -6
- package/dist/__chunks/{NGO7IQET.cjs → IJVFSOXU.cjs} +26 -14
- package/dist/__chunks/IJVFSOXU.cjs.map +1 -0
- package/dist/__chunks/JHAV5OTQ.js +210 -0
- package/dist/__chunks/JHAV5OTQ.js.map +1 -0
- package/dist/__chunks/{37CQV3RS.js → JIXNBF5N.js} +34 -26
- package/dist/__chunks/JIXNBF5N.js.map +1 -0
- package/dist/__chunks/JKXOZUCV.js +52 -0
- package/dist/__chunks/JKXOZUCV.js.map +1 -0
- package/dist/__chunks/{IRL2C3B2.js → JQ6POHCA.js} +19 -7
- package/dist/__chunks/JQ6POHCA.js.map +1 -0
- package/dist/__chunks/{QFKRTOQN.js → JUUIXL6A.js} +2 -2
- package/dist/__chunks/{22NHJVQS.js → JWFHLI33.js} +2 -2
- package/dist/__chunks/{FLFY7QSS.cjs → JYDZTZIK.cjs} +4 -4
- package/dist/__chunks/{YH4XW4LD.cjs → KCYZNZBO.cjs} +4 -4
- package/dist/__chunks/{J7CMFWIU.js → KMIZI5PW.js} +1 -5
- package/dist/__chunks/KMIZI5PW.js.map +1 -0
- package/dist/__chunks/{VFVXPW3G.js → LCZ57HZU.js} +2 -2
- package/dist/__chunks/{37N4BSEF.cjs → LMCK5YO5.cjs} +5 -4
- package/dist/__chunks/LMCK5YO5.cjs.map +1 -0
- package/dist/__chunks/{NGVAEAML.cjs → LOFR3Y32.cjs} +9 -9
- package/dist/__chunks/LOFR3Y32.cjs.map +1 -0
- package/dist/__chunks/M2T7D4DC.js +33 -0
- package/dist/__chunks/M2T7D4DC.js.map +1 -0
- package/dist/__chunks/NDJRETMM.cjs +33 -0
- package/dist/__chunks/NDJRETMM.cjs.map +1 -0
- package/dist/__chunks/{VDB3BQAP.js → NRTSRS2D.js} +4 -3
- package/dist/__chunks/NRTSRS2D.js.map +1 -0
- package/dist/__chunks/{N5GVRMI5.js → PEKXH4DM.js} +2 -2
- package/dist/__chunks/{ILJV2LMS.js → PJIXYQPE.js} +7 -5
- package/dist/__chunks/{ILJV2LMS.js.map → PJIXYQPE.js.map} +1 -1
- package/dist/__chunks/PTWXXDFF.js +7 -0
- package/dist/__chunks/PTWXXDFF.js.map +1 -0
- package/dist/__chunks/{CGUZFFJ2.cjs → PZYWUTMW.cjs} +33 -25
- package/dist/__chunks/PZYWUTMW.cjs.map +1 -0
- package/dist/__chunks/{6YHDE4TN.cjs → QJI4G5FP.cjs} +18 -6
- package/dist/__chunks/QJI4G5FP.cjs.map +1 -0
- package/dist/__chunks/QNBZ64IE.cjs +143 -0
- package/dist/__chunks/QNBZ64IE.cjs.map +1 -0
- package/dist/__chunks/{NWUWC7UT.cjs → QQWCNTE4.cjs} +10 -7
- package/dist/__chunks/QQWCNTE4.cjs.map +1 -0
- package/dist/__chunks/{CL5AJWO2.cjs → RAVU4WEO.cjs} +3 -3
- package/dist/__chunks/{AZYT2N4K.cjs → TPP3XWDC.cjs} +16 -14
- package/dist/__chunks/TPP3XWDC.cjs.map +1 -0
- package/dist/__chunks/{V54CIPAG.js → UYBMLRXR.js} +6 -4
- package/dist/__chunks/{V54CIPAG.js.map → UYBMLRXR.js.map} +1 -1
- package/dist/__chunks/{7FFKVJMD.js → V3ZO4D37.js} +2 -2
- package/dist/__chunks/{JX74GCUV.js → VBSJSA3B.js} +9 -6
- package/dist/__chunks/VBSJSA3B.js.map +1 -0
- package/dist/__chunks/{VLUKODJD.cjs → VMARHE5B.cjs} +3 -7
- package/dist/__chunks/VMARHE5B.cjs.map +1 -0
- package/dist/__chunks/VY7MJTPK.js +143 -0
- package/dist/__chunks/VY7MJTPK.js.map +1 -0
- package/dist/__chunks/W24KIAXI.js +9 -0
- package/dist/__chunks/W24KIAXI.js.map +1 -0
- package/dist/__chunks/{CPAXWLGZ.js → XFFSBU7E.js} +20 -8
- package/dist/__chunks/XFFSBU7E.js.map +1 -0
- package/dist/__chunks/{LSR5LFQO.js → XT2JUTU3.js} +5 -5
- package/dist/__chunks/Y6L6EOCB.js +52 -0
- package/dist/__chunks/Y6L6EOCB.js.map +1 -0
- package/dist/__chunks/ZDMSFZS3.cjs +7 -0
- package/dist/__chunks/ZDMSFZS3.cjs.map +1 -0
- package/dist/__chunks/{AS6O55Z6.cjs → ZG64UIHG.cjs} +13 -11
- package/dist/__chunks/ZG64UIHG.cjs.map +1 -0
- package/dist/__chunks/ZU4Y2KQG.cjs +9 -0
- package/dist/__chunks/ZU4Y2KQG.cjs.map +1 -0
- package/dist/__chunks/{UNZBENAE.cjs → ZX5KONS2.cjs} +3 -1
- package/dist/__chunks/ZX5KONS2.cjs.map +1 -0
- package/dist/index.cjs +45 -32
- package/dist/index.css +35 -18
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.js +54 -41
- package/dist/react-aria-utils/Triggerable.cjs +2 -2
- package/dist/react-aria-utils/Triggerable.d.ts +7 -2
- package/dist/react-aria-utils/Triggerable.js +1 -1
- package/package.json +1 -1
- package/dist/__chunks/37CQV3RS.js.map +0 -1
- package/dist/__chunks/37N4BSEF.cjs.map +0 -1
- package/dist/__chunks/4G4SS7O3.js.map +0 -1
- package/dist/__chunks/6YHDE4TN.cjs.map +0 -1
- package/dist/__chunks/AS6O55Z6.cjs.map +0 -1
- package/dist/__chunks/AZYT2N4K.cjs.map +0 -1
- package/dist/__chunks/CGUZFFJ2.cjs.map +0 -1
- package/dist/__chunks/CPAXWLGZ.js.map +0 -1
- package/dist/__chunks/D3WPZHGM.cjs +0 -137
- package/dist/__chunks/D3WPZHGM.cjs.map +0 -1
- package/dist/__chunks/IRL2C3B2.js.map +0 -1
- package/dist/__chunks/J7CMFWIU.js.map +0 -1
- package/dist/__chunks/JX74GCUV.js.map +0 -1
- package/dist/__chunks/NGO7IQET.cjs.map +0 -1
- package/dist/__chunks/NGVAEAML.cjs.map +0 -1
- package/dist/__chunks/NWUWC7UT.cjs.map +0 -1
- package/dist/__chunks/OQKBLXDS.js +0 -137
- package/dist/__chunks/OQKBLXDS.js.map +0 -1
- package/dist/__chunks/RKIOGDSG.js +0 -1
- package/dist/__chunks/UNZBENAE.cjs.map +0 -1
- package/dist/__chunks/VDB3BQAP.js.map +0 -1
- package/dist/__chunks/VLUKODJD.cjs.map +0 -1
- package/dist/__chunks/XA2DZRGH.js.map +0 -1
- package/dist/__chunks/YCKM5H43.cjs +0 -1
- /package/dist/{__chunks/YCKM5H43.cjs.map → RichSelect/RichSelectBox.cjs.map} +0 -0
- /package/dist/{__chunks/RKIOGDSG.js.map → RichSelect/RichSelectBox.js.map} +0 -0
- /package/dist/__chunks/{PF4QF5DX.js.map → 2R4YCOYE.js.map} +0 -0
- /package/dist/__chunks/{TBYS7XPD.js.map → 3UQRZ3IQ.js.map} +0 -0
- /package/dist/__chunks/{EBNDJEOG.cjs.map → FMHIHCQS.cjs.map} +0 -0
- /package/dist/__chunks/{WI7S7GOJ.cjs.map → FMSBGH2I.cjs.map} +0 -0
- /package/dist/__chunks/{PYX4374T.cjs.map → FZ5HWA3S.cjs.map} +0 -0
- /package/dist/__chunks/{XWGC5OYD.cjs.map → GOSWBV5D.cjs.map} +0 -0
- /package/dist/__chunks/{4DPEJJ42.cjs.map → HR5QOB3U.cjs.map} +0 -0
- /package/dist/__chunks/{QFKRTOQN.js.map → JUUIXL6A.js.map} +0 -0
- /package/dist/__chunks/{22NHJVQS.js.map → JWFHLI33.js.map} +0 -0
- /package/dist/__chunks/{FLFY7QSS.cjs.map → JYDZTZIK.cjs.map} +0 -0
- /package/dist/__chunks/{YH4XW4LD.cjs.map → KCYZNZBO.cjs.map} +0 -0
- /package/dist/__chunks/{VFVXPW3G.js.map → LCZ57HZU.js.map} +0 -0
- /package/dist/__chunks/{N5GVRMI5.js.map → PEKXH4DM.js.map} +0 -0
- /package/dist/__chunks/{CL5AJWO2.cjs.map → RAVU4WEO.cjs.map} +0 -0
- /package/dist/__chunks/{7FFKVJMD.js.map → V3ZO4D37.js.map} +0 -0
- /package/dist/__chunks/{LSR5LFQO.js.map → XT2JUTU3.js.map} +0 -0
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./TJHCYMPV.js";
|
|
4
4
|
import {
|
|
5
5
|
Typography_default
|
|
6
|
-
} from "./
|
|
6
|
+
} from "./B2TFERTM.js";
|
|
7
7
|
import {
|
|
8
8
|
useIsHydrated
|
|
9
9
|
} from "./YJ7YDIGB.js";
|
|
@@ -88,4 +88,4 @@ function TextField({
|
|
|
88
88
|
export {
|
|
89
89
|
TextField
|
|
90
90
|
};
|
|
91
|
-
//# sourceMappingURL=
|
|
91
|
+
//# sourceMappingURL=LCZ57HZU.js.map
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _LTM57QMYcjs = require('./LTM57QMY.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _ZX5KONS2cjs = require('./ZX5KONS2.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
var _FZRIE7EXcjs = require('./FZRIE7EX.cjs');
|
|
@@ -23,6 +23,7 @@ var _jsxruntime = require('react/jsx-runtime');
|
|
|
23
23
|
var RadioButton = ({
|
|
24
24
|
checked = false,
|
|
25
25
|
"data-testid": dataTestId,
|
|
26
|
+
dangerouslyForceFocusStyles = false,
|
|
26
27
|
disabled: disabledProp = false,
|
|
27
28
|
error = false,
|
|
28
29
|
id,
|
|
@@ -39,7 +40,7 @@ var RadioButton = ({
|
|
|
39
40
|
const sharedStyles = _classnames2.default.call(void 0, RadioButton_module_default.background, RadioButton_module_default[size], {
|
|
40
41
|
[RadioButton_module_default.errorBorderColor]: error,
|
|
41
42
|
[RadioButton_module_default.borderColor]: !error,
|
|
42
|
-
[_LTM57QMYcjs.Focus_module_default.accessibilityOutlineFocus]: isFocused && isFocusVisible
|
|
43
|
+
[_LTM57QMYcjs.Focus_module_default.accessibilityOutlineFocus]: isFocused && isFocusVisible || dangerouslyForceFocusStyles
|
|
43
44
|
});
|
|
44
45
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
45
46
|
"label",
|
|
@@ -91,7 +92,7 @@ var RadioButton = ({
|
|
|
91
92
|
}
|
|
92
93
|
),
|
|
93
94
|
label && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
94
|
-
|
|
95
|
+
_ZX5KONS2cjs.Typography_default,
|
|
95
96
|
{
|
|
96
97
|
size: size === "md" ? 200 : 100,
|
|
97
98
|
color: error ? "destructive-primary" : "gray800",
|
|
@@ -107,4 +108,4 @@ var RadioButton_default = RadioButton;
|
|
|
107
108
|
|
|
108
109
|
|
|
109
110
|
exports.RadioButton_default = RadioButton_default;
|
|
110
|
-
//# sourceMappingURL=
|
|
111
|
+
//# sourceMappingURL=LMCK5YO5.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/RadioButton/RadioButton.tsx","css-module:./RadioButton.module.css#css-module"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,SAAmC,gBAAgB;AACnD,OAAO,gBAAgB;;;ACD+E,IAAO,6BAAQ,EAAC,sBAAqB,+BAA8B,YAAW,qBAAoB,kBAAiB,4BAA2B,iBAAgB,2BAA0B,UAAS,oBAAmB,UAAS,oBAAmB,sBAAqB,gCAA+B,cAAa,wBAAuB,cAAa,wBAAuB,cAAa,wBAAuB,MAAK,gBAAe,MAAK,gBAAe,iBAAgB,2BAA0B,mBAAkB,6BAA4B,mBAAkB,6BAA4B,oBAAmB,8BAA6B,eAAc,wBAAuB;;;AD4FrvB,SAYI,KAZJ;AAhFJ,IAAM,cAAc,CAAC;AAAA,EACnB,UAAU;AAAA,EACV,eAAe;AAAA,EACf,8BAA8B;AAAA,EAC9B,UAAU,eAAe;AAAA,EACzB,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AACF,MAsDoB;AAClB,QAAM,aAAa,cAAc;AACjC,QAAM,WAAW,CAAC,cAAc;AAChC,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAChD,QAAM,EAAE,eAAe,IAAI,gBAAgB;AAE3C,QAAM,eAAe,WAAW,2BAAO,YAAY,2BAAO,IAAI,GAAG;AAAA,IAC/D,CAAC,2BAAO,gBAAgB,GAAG;AAAA,IAC3B,CAAC,2BAAO,WAAW,GAAG,CAAC;AAAA,IACvB,CAAC,qBAAY,yBAAyB,GACnC,aAAa,kBAAmB;AAAA,EACrC,CAAC;AAED,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT,2BAAO;AAAA,QACP,2BAAO,SAAS,WAAW,aAAa,WAAW;AAAA,QACnD;AAAA,UACE,CAAC,2BAAO,QAAQ,GAAG;AAAA,UACnB,CAAC,2BAAO,MAAM,GAAG,SAAS;AAAA,UAC1B,CAAC,2BAAO,MAAM,GAAG,SAAS;AAAA,QAC5B;AAAA,MACF;AAAA,MAEC;AAAA,kBACC;AAAA,UAAC;AAAA;AAAA,YACC,WAAW,WAAW,cAAc;AAAA,cAClC,CAAC,2BAAO,eAAe,GAAG,SAAS;AAAA,cACnC,CAAC,2BAAO,eAAe,GAAG,SAAS;AAAA,YACrC,CAAC;AAAA;AAAA,QACH,IAEA,oBAAC,SAAI,WAAW,WAAW,cAAc,2BAAO,aAAa,GAAG;AAAA,QAElE;AAAA,UAAC;AAAA;AAAA,YACC,eAAa;AAAA,YACb,MAAK;AAAA,YACL;AAAA,YACA;AAAA,YACA,WAAW;AAAA,cACT,2BAAO;AAAA,cACP,2BAAO,SAAS,WAAW,aAAa,WAAW;AAAA,cACnD;AAAA,gBACE,CAAC,2BAAO,UAAU,GAAG,SAAS;AAAA,gBAC9B,CAAC,2BAAO,UAAU,GAAG,SAAS;AAAA,cAChC;AAAA,YACF;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,SAAS,MAAM;AACb,2BAAa,IAAI;AAAA,YACnB;AAAA,YACA,QAAQ,MAAM;AACZ,2BAAa,KAAK;AAAA,YACpB;AAAA;AAAA,QACF;AAAA,QACC,SACC;AAAA,UAAC;AAAA;AAAA,YACC,MAAM,SAAS,OAAO,MAAM;AAAA,YAC5B,OAAO,QAAQ,wBAAwB;AAAA,YAEtC;AAAA;AAAA,QACH;AAAA;AAAA;AAAA,EAEJ;AAEJ;AAEA,IAAO,sBAAQ","sourcesContent":["import React, { type ReactElement, useState } from \"react\";\nimport classnames from \"classnames\";\n\nimport styles from \"./RadioButton.module.css\";\nimport focusStyles from \"../Focus.module.css\";\nimport Typography from \"../Typography/Typography\";\nimport useFocusVisible from \"../useFocusVisible\";\nimport useIsHydrated from \"../useIsHydrated\";\n\n/**\n * [RadioButton](https://cambly-syntax.vercel.app/?path=/docs/components-radiobutton--docs) is a radio button with accompanying text\n */\nconst RadioButton = ({\n checked = false,\n \"data-testid\": dataTestId,\n dangerouslyForceFocusStyles = false,\n disabled: disabledProp = false,\n error = false,\n id,\n label,\n name,\n onChange,\n size = \"md\",\n value,\n}: {\n /**\n * Whether or not the radio button is checked\n *\n * @defaultValue false\n */\n checked?: boolean;\n /**\n * Test id for the radio button\n */\n \"data-testid\"?: string;\n /**\n * Whether or not the radio button is disabled\n *\n * @defaultValue false\n */\n disabled?: boolean;\n /**\n * Whether to show error color schema\n *\n * @defaultValue false\n */\n error?: boolean;\n /**\n * Id for the the radio button\n */\n id?: string;\n /**\n * Value to show end user\n */\n label: string;\n /**\n * The name of the grouping the radio buttons are in\n */\n name: string;\n /**\n * The callback to be called when the radio button is clicked\n */\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n /**\n * Size of the components\n *\n * * `sm`: 16px\n * * `md`: 24px\n *\n * @defaultValue \"md\"\n */\n size?: \"sm\" | \"md\";\n /**\n * Value of the selected radio option\n */\n value: string | number;\n /** forces focus ring styling */\n dangerouslyForceFocusStyles?: boolean;\n}): ReactElement => {\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated || disabledProp;\n const [isFocused, setIsFocused] = useState(false);\n const { isFocusVisible } = useFocusVisible();\n\n const sharedStyles = classnames(styles.background, styles[size], {\n [styles.errorBorderColor]: error,\n [styles.borderColor]: !error,\n [focusStyles.accessibilityOutlineFocus]:\n (isFocused && isFocusVisible) || dangerouslyForceFocusStyles,\n });\n\n return (\n <label\n className={classnames(\n styles.radioBaseContainer,\n styles[`cursor${disabled ? \"Disabled\" : \"Enabled\"}`],\n {\n [styles.disabled]: disabled,\n [styles.smBase]: size === \"sm\",\n [styles.mdBase]: size === \"md\",\n },\n )}\n >\n {checked ? (\n <div\n className={classnames(sharedStyles, {\n [styles.mdCheckedBorder]: size === \"md\",\n [styles.smCheckedBorder]: size === \"sm\",\n })}\n />\n ) : (\n <div className={classnames(sharedStyles, styles.neutralBorder)} />\n )}\n <input\n data-testid={dataTestId}\n type=\"radio\"\n id={id}\n name={name}\n className={classnames(\n styles.radioStyleOverride,\n styles[`cursor${disabled ? \"Disabled\" : \"Enabled\"}`],\n {\n [styles.smOverride]: size === \"sm\",\n [styles.mdOverride]: size === \"md\",\n },\n )}\n checked={checked}\n onChange={onChange}\n disabled={disabled}\n value={value}\n onFocus={() => {\n setIsFocused(true);\n }}\n onBlur={() => {\n setIsFocused(false);\n }}\n />\n {label && (\n <Typography\n size={size === \"md\" ? 200 : 100}\n color={error ? \"destructive-primary\" : \"gray800\"}\n >\n {label}\n </Typography>\n )}\n </label>\n );\n};\n\nexport default RadioButton;\n","import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/RadioButton/RadioButton.module.css\"; export default {\"radioBaseContainer\":\"_radioBaseContainer_6h2zg_1\",\"disabled\":\"_disabled_6h2zg_9\",\"cursorDisabled\":\"_cursorDisabled_6h2zg_13\",\"cursorEnabled\":\"_cursorEnabled_6h2zg_17\",\"smBase\":\"_smBase_6h2zg_21\",\"mdBase\":\"_mdBase_6h2zg_25\",\"radioStyleOverride\":\"_radioStyleOverride_6h2zg_29\",\"smOverride\":\"_smOverride_6h2zg_34\",\"mdOverride\":\"_mdOverride_6h2zg_39\",\"background\":\"_background_6h2zg_44\",\"sm\":\"_sm_6h2zg_21\",\"md\":\"_md_6h2zg_25\",\"neutralBorder\":\"_neutralBorder_6h2zg_61\",\"smCheckedBorder\":\"_smCheckedBorder_6h2zg_65\",\"mdCheckedBorder\":\"_mdCheckedBorder_6h2zg_69\",\"errorBorderColor\":\"_errorBorderColor_6h2zg_73\",\"borderColor\":\"_borderColor_6h2zg_77\"}"]}
|
|
@@ -3,10 +3,14 @@
|
|
|
3
3
|
var _GKECCWR3cjs = require('./GKECCWR3.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
+
|
|
7
|
+
var _ZU4Y2KQGcjs = require('./ZU4Y2KQG.cjs');
|
|
8
|
+
|
|
9
|
+
|
|
6
10
|
var _LTM57QMYcjs = require('./LTM57QMY.cjs');
|
|
7
11
|
|
|
8
12
|
|
|
9
|
-
var
|
|
13
|
+
var _ZX5KONS2cjs = require('./ZX5KONS2.cjs');
|
|
10
14
|
|
|
11
15
|
|
|
12
16
|
var _FZRIE7EXcjs = require('./FZRIE7EX.cjs');
|
|
@@ -21,10 +25,6 @@ var _GVEA7SLQcjs = require('./GVEA7SLQ.cjs');
|
|
|
21
25
|
var _react = require('react');
|
|
22
26
|
var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames);
|
|
23
27
|
|
|
24
|
-
// ../syntax-design-tokens/dist/js/index.js
|
|
25
|
-
var ColorBaseDestructive700 = "#d32a4b";
|
|
26
|
-
var ColorBaseGray800 = "#353535";
|
|
27
|
-
|
|
28
28
|
// css-module:./SelectList.module.css#css-module
|
|
29
29
|
var SelectList_module_default = { "selectContainer": "_selectContainer_3ifov_1", "opacityOverlay": "_opacityOverlay_3ifov_7", "outerTextContainer": "_outerTextContainer_3ifov_11", "selectWrapper": "_selectWrapper_3ifov_16", "selectBox": "_selectBox_3ifov_21", "selectMouseFocusStyling": "_selectMouseFocusStyling_3ifov_37", "unselected": "_unselected_3ifov_42", "selected": "_selected_3ifov_46", "arrowIcon": "_arrowIcon_3ifov_50", "sm": "_sm_3ifov_64", "md": "_md_3ifov_70", "lg": "_lg_3ifov_76", "selectError": "_selectError_3ifov_82" };
|
|
30
30
|
|
|
@@ -62,7 +62,7 @@ function SelectList({
|
|
|
62
62
|
[SelectList_module_default.opacityOverlay]: disabled
|
|
63
63
|
}),
|
|
64
64
|
children: [
|
|
65
|
-
label && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "label", { htmlFor: selectId, className: SelectList_module_default.outerTextContainer, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
65
|
+
label && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "label", { htmlFor: selectId, className: SelectList_module_default.outerTextContainer, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _ZX5KONS2cjs.Typography_default, { size: 100, color: "gray700", children: label }) }),
|
|
66
66
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: SelectList_module_default.selectWrapper, children: [
|
|
67
67
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
68
68
|
"select",
|
|
@@ -100,7 +100,7 @@ function SelectList({
|
|
|
100
100
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
101
101
|
"path",
|
|
102
102
|
{
|
|
103
|
-
fill: errorText ? ColorBaseDestructive700 : ColorBaseGray800,
|
|
103
|
+
fill: errorText ? _ZU4Y2KQGcjs.ColorBaseDestructive700 : _ZU4Y2KQGcjs.ColorBaseGray800,
|
|
104
104
|
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"
|
|
105
105
|
}
|
|
106
106
|
)
|
|
@@ -108,7 +108,7 @@ function SelectList({
|
|
|
108
108
|
) })
|
|
109
109
|
] }),
|
|
110
110
|
(helperText || errorText) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: SelectList_module_default.outerTextContainer, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
111
|
-
|
|
111
|
+
_ZX5KONS2cjs.Typography_default,
|
|
112
112
|
{
|
|
113
113
|
size: 100,
|
|
114
114
|
color: errorText ? "destructive-primary" : "gray700",
|
|
@@ -124,4 +124,4 @@ SelectList.Option = _GKECCWR3cjs.SelectOption_default;
|
|
|
124
124
|
|
|
125
125
|
|
|
126
126
|
exports.SelectList = SelectList;
|
|
127
|
-
//# sourceMappingURL=
|
|
127
|
+
//# sourceMappingURL=LOFR3Y32.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/SelectList/SelectList.tsx","css-module:./SelectList.module.css#css-module"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA,EAGE;AAAA,EACA;AAAA,OACK;AACP,OAAO,gBAAgB;;;ACN6E,IAAO,4BAAQ,EAAC,mBAAkB,4BAA2B,kBAAiB,2BAA0B,sBAAqB,gCAA+B,iBAAgB,2BAA0B,aAAY,uBAAsB,2BAA0B,qCAAoC,cAAa,wBAAuB,YAAW,sBAAqB,aAAY,uBAAsB,MAAK,gBAAe,MAAK,gBAAe,MAAK,gBAAe,eAAc,wBAAuB;;;ADgHvkB,cAMF,YANE;AA9FV,IAAM,WAAW;AAAA,EACf,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAKe,SAAR,WAA4B;AAAA,EACjC;AAAA,EACA,eAAe;AAAA,EACf,UAAU,eAAe;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,gBAAgB;AAAA,EAChB,OAAO;AACT,GAwDiB;AACf,QAAM,UAAU,MAAM;AACtB,QAAM,aAAa,cAAc;AACjC,QAAM,WAAW,CAAC,cAAc;AAChC,QAAM,WAAW,kBAAM;AACvB,QAAM,EAAE,eAAe,IAAI,gBAAgB;AAC3C,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAEhD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,WAAW,0BAAO,iBAAiB;AAAA,QAC5C,CAAC,0BAAO,cAAc,GAAG;AAAA,MAC3B,CAAC;AAAA,MAEA;AAAA,iBACC,oBAAC,WAAM,SAAS,UAAU,WAAW,0BAAO,oBAC1C,8BAAC,sBAAW,MAAM,KAAK,OAAM,WAC1B,iBACH,GACF;AAAA,QAEF,qBAAC,SAAI,WAAW,0BAAO,eACrB;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,IAAI;AAAA,cACJ,eAAa;AAAA,cACb;AAAA,cACA,WAAW,WAAW,0BAAO,WAAW,0BAAO,IAAI,GAAG;AAAA,gBACpD,CAAC,0BAAO,UAAU,GAAG,CAAC,iBAAiB,CAAC;AAAA,gBACxC,CAAC,0BAAO,QAAQ,GAAG,iBAAiB,CAAC;AAAA,gBACrC,CAAC,0BAAO,WAAW,GAAG;AAAA,gBACtB,CAAC,qBAAY,yBAAyB,GACpC,aAAa;AAAA;AAAA,gBACf,CAAC,0BAAO,uBAAuB,GAAG,aAAa,CAAC;AAAA;AAAA,cAClD,CAAC;AAAA,cACD;AAAA,cACA;AAAA,cACA,OACE,mBAAmB,CAAC,gBAAgB,kBAAkB;AAAA,cAExD,SAAS,MAAM,aAAa,IAAI;AAAA,cAChC,QAAQ,MAAM,aAAa,KAAK;AAAA,cAE/B;AAAA,mCACC,oBAAC,YAAO,UAAQ,MAAC,OAAO,iBACrB,2BACH;AAAA,gBAED;AAAA;AAAA;AAAA,UACH;AAAA,UACA,oBAAC,SAAI,WAAW,0BAAO,WACrB;AAAA,YAAC;AAAA;AAAA,cACC,WAAU;AAAA,cACV,eAAY;AAAA,cACZ,SAAQ;AAAA,cACR,OAAO,SAAS,IAAI;AAAA,cAEpB;AAAA,gBAAC;AAAA;AAAA,kBACC,MAAM,YAAY,0BAA0B;AAAA,kBAC5C,GAAE;AAAA;AAAA,cACJ;AAAA;AAAA,UACF,GACF;AAAA,WACF;AAAA,SACE,cAAc,cACd,oBAAC,SAAI,WAAW,0BAAO,oBACrB;AAAA,UAAC;AAAA;AAAA,YACC,MAAM;AAAA,YACN,OAAO,YAAY,wBAAwB;AAAA,YAE1C,sBAAY,YAAY;AAAA;AAAA,QAC3B,GACF;AAAA;AAAA;AAAA,EAEJ;AAEJ;AAEA,WAAW,SAAS","sourcesContent":["import React, {\n type ReactElement,\n type ReactNode,\n useId,\n useState,\n} from \"react\";\nimport classNames from \"classnames\";\nimport {\n ColorBaseDestructive700,\n ColorBaseGray800,\n} from \"@cambly/syntax-design-tokens\";\nimport Typography from \"../Typography/Typography\";\nimport styles from \"./SelectList.module.css\";\nimport focusStyles from \"../Focus.module.css\";\nimport SelectOption from \"./SelectOption\";\nimport useFocusVisible from \"../useFocusVisible\";\nimport useIsHydrated from \"../useIsHydrated\";\n\nconst iconSize = {\n sm: 20,\n md: 24,\n lg: 24,\n} as const;\n\n/**\n * [SelectList](https://cambly-syntax.vercel.app/?path=/docs/components-selectlist--docs) is a dropdown menu that allows users to select one option from a list.\n */\nexport default function SelectList({\n children,\n \"data-testid\": dataTestId,\n disabled: disabledProp = false,\n errorText,\n helperText,\n id,\n label,\n onChange,\n onClick,\n placeholderText,\n selectedValue = \"\",\n size = \"md\",\n}: {\n /**\n * One or more SelectList.Option components.\n */\n children: ReactNode;\n /**\n * Test id for the select element\n */\n \"data-testid\"?: string;\n /**\n * true if the select dropdown is disabled\n * @defaultValue false\n */\n disabled?: boolean;\n /**\n * Callback to be called when select is clicked\n */\n onClick?: React.MouseEventHandler<HTMLSelectElement>;\n /**\n * Text shown below select box if there is an input error.\n */\n errorText?: string;\n /**\n * Text shown below select box\n */\n helperText?: string;\n /**\n * Id of the select element\n */\n id?: string;\n /**\n * Text shown above select box\n */\n label: string;\n /**\n * The callback to be called when an option is selected\n */\n onChange: React.ChangeEventHandler<HTMLSelectElement>;\n /**\n * Text showing in select box if no option has been chosen.\n * We should always have a placeholder unless there is a default option selected\n */\n placeholderText?: string;\n /**\n * Value of the currently selected option\n */\n selectedValue?: string;\n /**\n * Size of the select box\n * * `sm`: 32px\n * * `md`: 40px\n * * `lg`: 48px\n *\n * @defaultValue \"md\"\n */\n size?: \"sm\" | \"md\" | \"lg\";\n}): ReactElement {\n const reactId = useId();\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated || disabledProp;\n const selectId = id ?? reactId;\n const { isFocusVisible } = useFocusVisible();\n const [isFocused, setIsFocused] = useState(false);\n\n return (\n <div\n className={classNames(styles.selectContainer, {\n [styles.opacityOverlay]: disabled,\n })}\n >\n {label && (\n <label htmlFor={selectId} className={styles.outerTextContainer}>\n <Typography size={100} color=\"gray700\">\n {label}\n </Typography>\n </label>\n )}\n <div className={styles.selectWrapper}>\n <select\n id={selectId}\n data-testid={dataTestId}\n disabled={disabled}\n className={classNames(styles.selectBox, styles[size], {\n [styles.unselected]: !selectedValue && !errorText,\n [styles.selected]: selectedValue && !errorText,\n [styles.selectError]: errorText,\n [focusStyles.accessibilityOutlineFocus]:\n isFocused && isFocusVisible, // for focus keyboard\n [styles.selectMouseFocusStyling]: isFocused && !isFocusVisible, // for focus mouse\n })}\n onChange={onChange}\n onClick={onClick}\n value={\n placeholderText && !selectedValue ? placeholderText : selectedValue\n }\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n >\n {placeholderText && (\n <option disabled value={placeholderText}>\n {placeholderText}\n </option>\n )}\n {children}\n </select>\n <div className={styles.arrowIcon}>\n <svg\n focusable=\"false\"\n aria-hidden=\"true\"\n viewBox=\"0 0 24 24\"\n width={iconSize[size]}\n >\n <path\n fill={errorText ? ColorBaseDestructive700 : ColorBaseGray800}\n d=\"M15.88 9.29 12 13.17 8.12 9.29a.9959.9959 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41l4.59 4.59c.39.39 1.02.39 1.41 0l4.59-4.59c.39-.39.39-1.02 0-1.41-.39-.38-1.03-.39-1.42 0z\"\n />\n </svg>\n </div>\n </div>\n {(helperText || errorText) && (\n <div className={styles.outerTextContainer}>\n <Typography\n size={100}\n color={errorText ? \"destructive-primary\" : \"gray700\"}\n >\n {errorText ? errorText : helperText}\n </Typography>\n </div>\n )}\n </div>\n );\n}\n\nSelectList.Option = SelectOption;\n","import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/SelectList/SelectList.module.css\"; export default {\"selectContainer\":\"_selectContainer_3ifov_1\",\"opacityOverlay\":\"_opacityOverlay_3ifov_7\",\"outerTextContainer\":\"_outerTextContainer_3ifov_11\",\"selectWrapper\":\"_selectWrapper_3ifov_16\",\"selectBox\":\"_selectBox_3ifov_21\",\"selectMouseFocusStyling\":\"_selectMouseFocusStyling_3ifov_37\",\"unselected\":\"_unselected_3ifov_42\",\"selected\":\"_selected_3ifov_46\",\"arrowIcon\":\"_arrowIcon_3ifov_50\",\"sm\":\"_sm_3ifov_64\",\"md\":\"_md_3ifov_70\",\"lg\":\"_lg_3ifov_76\",\"selectError\":\"_selectError_3ifov_82\"}"]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Chip_default
|
|
3
|
+
} from "./VBSJSA3B.js";
|
|
4
|
+
import {
|
|
5
|
+
RichSelectItem_default
|
|
6
|
+
} from "./Y6L6EOCB.js";
|
|
7
|
+
import {
|
|
8
|
+
__spreadProps,
|
|
9
|
+
__spreadValues
|
|
10
|
+
} from "./LULBCTQR.js";
|
|
11
|
+
|
|
12
|
+
// src/RichSelect/RichSelectChip.tsx
|
|
13
|
+
import { forwardRef } from "react";
|
|
14
|
+
import { jsx } from "react/jsx-runtime";
|
|
15
|
+
var RichSelectChip_default = forwardRef(
|
|
16
|
+
function RichSelectChip(props, ref) {
|
|
17
|
+
return /* @__PURE__ */ jsx(RichSelectItem_default, __spreadProps(__spreadValues({}, props), { ref, children: ({ isSelected, isFocusVisible, isDisabled }) => /* @__PURE__ */ jsx(
|
|
18
|
+
Chip_default,
|
|
19
|
+
{
|
|
20
|
+
text: props.label,
|
|
21
|
+
selected: isSelected,
|
|
22
|
+
disabled: isDisabled,
|
|
23
|
+
dangerouslyForceFocusStyles: isFocusVisible,
|
|
24
|
+
onChange: () => void 0
|
|
25
|
+
}
|
|
26
|
+
) }));
|
|
27
|
+
}
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
export {
|
|
31
|
+
RichSelectChip_default
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=M2T7D4DC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/RichSelect/RichSelectChip.tsx"],"sourcesContent":["import React, { type ForwardedRef, forwardRef, type ReactElement } from \"react\";\nimport Chip from \"../Chip/Chip\";\nimport RichSelectItem, { type RichSelectItemProps } from \"./RichSelectItem\";\n\ntype RichSelectChipProps = RichSelectItemProps;\n\nexport default forwardRef<HTMLDivElement, RichSelectChipProps>(\n function RichSelectChip(\n props: RichSelectChipProps,\n ref: ForwardedRef<HTMLDivElement>,\n ): ReactElement {\n return (\n <RichSelectItem {...props} ref={ref}>\n {({ isSelected, isFocusVisible, isDisabled }) => (\n <Chip\n text={props.label}\n selected={isSelected}\n disabled={isDisabled}\n dangerouslyForceFocusStyles={isFocusVisible}\n onChange={() => undefined}\n />\n )}\n </RichSelectItem>\n );\n },\n);\n"],"mappings":";;;;;;;;;;;;AAAA,SAAmC,kBAAqC;AAc9D;AARV,IAAO,yBAAQ;AAAA,EACb,SAAS,eACP,OACA,KACc;AACd,WACE,oBAAC,yDAAmB,QAAnB,EAA0B,KACxB,WAAC,EAAE,YAAY,gBAAgB,WAAW,MACzC;AAAA,MAAC;AAAA;AAAA,QACC,MAAM,MAAM;AAAA,QACZ,UAAU;AAAA,QACV,UAAU;AAAA,QACV,6BAA6B;AAAA,QAC7B,UAAU,MAAM;AAAA;AAAA,IAClB,IAEJ;AAAA,EAEJ;AACF;","names":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _QQWCNTE4cjs = require('./QQWCNTE4.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _GYI2PBXYcjs = require('./GYI2PBXY.cjs');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
var _I64JGYX7cjs = require('./I64JGYX7.cjs');
|
|
11
|
+
|
|
12
|
+
// src/RichSelect/RichSelectChip.tsx
|
|
13
|
+
var _react = require('react');
|
|
14
|
+
var _jsxruntime = require('react/jsx-runtime');
|
|
15
|
+
var RichSelectChip_default = _react.forwardRef.call(void 0,
|
|
16
|
+
function RichSelectChip(props, ref) {
|
|
17
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _GYI2PBXYcjs.RichSelectItem_default, _I64JGYX7cjs.__spreadProps.call(void 0, _I64JGYX7cjs.__spreadValues.call(void 0, {}, props), { ref, children: ({ isSelected, isFocusVisible, isDisabled }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18
|
+
_QQWCNTE4cjs.Chip_default,
|
|
19
|
+
{
|
|
20
|
+
text: props.label,
|
|
21
|
+
selected: isSelected,
|
|
22
|
+
disabled: isDisabled,
|
|
23
|
+
dangerouslyForceFocusStyles: isFocusVisible,
|
|
24
|
+
onChange: () => void 0
|
|
25
|
+
}
|
|
26
|
+
) }));
|
|
27
|
+
}
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
exports.RichSelectChip_default = RichSelectChip_default;
|
|
33
|
+
//# sourceMappingURL=NDJRETMM.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/RichSelect/RichSelectChip.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,SAAmC,kBAAqC;AAc9D;AARV,IAAO,yBAAQ;AAAA,EACb,SAAS,eACP,OACA,KACc;AACd,WACE,oBAAC,yDAAmB,QAAnB,EAA0B,KACxB,WAAC,EAAE,YAAY,gBAAgB,WAAW,MACzC;AAAA,MAAC;AAAA;AAAA,QACC,MAAM,MAAM;AAAA,QACZ,UAAU;AAAA,QACV,UAAU;AAAA,QACV,6BAA6B;AAAA,QAC7B,UAAU,MAAM;AAAA;AAAA,IAClB,IAEJ;AAAA,EAEJ;AACF","sourcesContent":["import React, { type ForwardedRef, forwardRef, type ReactElement } from \"react\";\nimport Chip from \"../Chip/Chip\";\nimport RichSelectItem, { type RichSelectItemProps } from \"./RichSelectItem\";\n\ntype RichSelectChipProps = RichSelectItemProps;\n\nexport default forwardRef<HTMLDivElement, RichSelectChipProps>(\n function RichSelectChip(\n props: RichSelectChipProps,\n ref: ForwardedRef<HTMLDivElement>,\n ): ReactElement {\n return (\n <RichSelectItem {...props} ref={ref}>\n {({ isSelected, isFocusVisible, isDisabled }) => (\n <Chip\n text={props.label}\n selected={isSelected}\n disabled={isDisabled}\n dangerouslyForceFocusStyles={isFocusVisible}\n onChange={() => undefined}\n />\n )}\n </RichSelectItem>\n );\n },\n);\n"]}
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./2O6FDRTF.js";
|
|
4
4
|
import {
|
|
5
5
|
Typography_default
|
|
6
|
-
} from "./
|
|
6
|
+
} from "./B2TFERTM.js";
|
|
7
7
|
import {
|
|
8
8
|
useIsHydrated
|
|
9
9
|
} from "./YJ7YDIGB.js";
|
|
@@ -23,6 +23,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
23
23
|
var RadioButton = ({
|
|
24
24
|
checked = false,
|
|
25
25
|
"data-testid": dataTestId,
|
|
26
|
+
dangerouslyForceFocusStyles = false,
|
|
26
27
|
disabled: disabledProp = false,
|
|
27
28
|
error = false,
|
|
28
29
|
id,
|
|
@@ -39,7 +40,7 @@ var RadioButton = ({
|
|
|
39
40
|
const sharedStyles = classnames(RadioButton_module_default.background, RadioButton_module_default[size], {
|
|
40
41
|
[RadioButton_module_default.errorBorderColor]: error,
|
|
41
42
|
[RadioButton_module_default.borderColor]: !error,
|
|
42
|
-
[Focus_module_default.accessibilityOutlineFocus]: isFocused && isFocusVisible
|
|
43
|
+
[Focus_module_default.accessibilityOutlineFocus]: isFocused && isFocusVisible || dangerouslyForceFocusStyles
|
|
43
44
|
});
|
|
44
45
|
return /* @__PURE__ */ jsxs(
|
|
45
46
|
"label",
|
|
@@ -107,4 +108,4 @@ var RadioButton_default = RadioButton;
|
|
|
107
108
|
export {
|
|
108
109
|
RadioButton_default
|
|
109
110
|
};
|
|
110
|
-
//# sourceMappingURL=
|
|
111
|
+
//# sourceMappingURL=NRTSRS2D.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/RadioButton/RadioButton.tsx","css-module:./RadioButton.module.css#css-module"],"sourcesContent":["import React, { type ReactElement, useState } from \"react\";\nimport classnames from \"classnames\";\n\nimport styles from \"./RadioButton.module.css\";\nimport focusStyles from \"../Focus.module.css\";\nimport Typography from \"../Typography/Typography\";\nimport useFocusVisible from \"../useFocusVisible\";\nimport useIsHydrated from \"../useIsHydrated\";\n\n/**\n * [RadioButton](https://cambly-syntax.vercel.app/?path=/docs/components-radiobutton--docs) is a radio button with accompanying text\n */\nconst RadioButton = ({\n checked = false,\n \"data-testid\": dataTestId,\n dangerouslyForceFocusStyles = false,\n disabled: disabledProp = false,\n error = false,\n id,\n label,\n name,\n onChange,\n size = \"md\",\n value,\n}: {\n /**\n * Whether or not the radio button is checked\n *\n * @defaultValue false\n */\n checked?: boolean;\n /**\n * Test id for the radio button\n */\n \"data-testid\"?: string;\n /**\n * Whether or not the radio button is disabled\n *\n * @defaultValue false\n */\n disabled?: boolean;\n /**\n * Whether to show error color schema\n *\n * @defaultValue false\n */\n error?: boolean;\n /**\n * Id for the the radio button\n */\n id?: string;\n /**\n * Value to show end user\n */\n label: string;\n /**\n * The name of the grouping the radio buttons are in\n */\n name: string;\n /**\n * The callback to be called when the radio button is clicked\n */\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n /**\n * Size of the components\n *\n * * `sm`: 16px\n * * `md`: 24px\n *\n * @defaultValue \"md\"\n */\n size?: \"sm\" | \"md\";\n /**\n * Value of the selected radio option\n */\n value: string | number;\n /** forces focus ring styling */\n dangerouslyForceFocusStyles?: boolean;\n}): ReactElement => {\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated || disabledProp;\n const [isFocused, setIsFocused] = useState(false);\n const { isFocusVisible } = useFocusVisible();\n\n const sharedStyles = classnames(styles.background, styles[size], {\n [styles.errorBorderColor]: error,\n [styles.borderColor]: !error,\n [focusStyles.accessibilityOutlineFocus]:\n (isFocused && isFocusVisible) || dangerouslyForceFocusStyles,\n });\n\n return (\n <label\n className={classnames(\n styles.radioBaseContainer,\n styles[`cursor${disabled ? \"Disabled\" : \"Enabled\"}`],\n {\n [styles.disabled]: disabled,\n [styles.smBase]: size === \"sm\",\n [styles.mdBase]: size === \"md\",\n },\n )}\n >\n {checked ? (\n <div\n className={classnames(sharedStyles, {\n [styles.mdCheckedBorder]: size === \"md\",\n [styles.smCheckedBorder]: size === \"sm\",\n })}\n />\n ) : (\n <div className={classnames(sharedStyles, styles.neutralBorder)} />\n )}\n <input\n data-testid={dataTestId}\n type=\"radio\"\n id={id}\n name={name}\n className={classnames(\n styles.radioStyleOverride,\n styles[`cursor${disabled ? \"Disabled\" : \"Enabled\"}`],\n {\n [styles.smOverride]: size === \"sm\",\n [styles.mdOverride]: size === \"md\",\n },\n )}\n checked={checked}\n onChange={onChange}\n disabled={disabled}\n value={value}\n onFocus={() => {\n setIsFocused(true);\n }}\n onBlur={() => {\n setIsFocused(false);\n }}\n />\n {label && (\n <Typography\n size={size === \"md\" ? 200 : 100}\n color={error ? \"destructive-primary\" : \"gray800\"}\n >\n {label}\n </Typography>\n )}\n </label>\n );\n};\n\nexport default RadioButton;\n","import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/RadioButton/RadioButton.module.css\"; export default {\"radioBaseContainer\":\"_radioBaseContainer_6h2zg_1\",\"disabled\":\"_disabled_6h2zg_9\",\"cursorDisabled\":\"_cursorDisabled_6h2zg_13\",\"cursorEnabled\":\"_cursorEnabled_6h2zg_17\",\"smBase\":\"_smBase_6h2zg_21\",\"mdBase\":\"_mdBase_6h2zg_25\",\"radioStyleOverride\":\"_radioStyleOverride_6h2zg_29\",\"smOverride\":\"_smOverride_6h2zg_34\",\"mdOverride\":\"_mdOverride_6h2zg_39\",\"background\":\"_background_6h2zg_44\",\"sm\":\"_sm_6h2zg_21\",\"md\":\"_md_6h2zg_25\",\"neutralBorder\":\"_neutralBorder_6h2zg_61\",\"smCheckedBorder\":\"_smCheckedBorder_6h2zg_65\",\"mdCheckedBorder\":\"_mdCheckedBorder_6h2zg_69\",\"errorBorderColor\":\"_errorBorderColor_6h2zg_73\",\"borderColor\":\"_borderColor_6h2zg_77\"}"],"mappings":";;;;;;;;;;;;;;AAAA,SAAmC,gBAAgB;AACnD,OAAO,gBAAgB;;;ACD+E,IAAO,6BAAQ,EAAC,sBAAqB,+BAA8B,YAAW,qBAAoB,kBAAiB,4BAA2B,iBAAgB,2BAA0B,UAAS,oBAAmB,UAAS,oBAAmB,sBAAqB,gCAA+B,cAAa,wBAAuB,cAAa,wBAAuB,cAAa,wBAAuB,MAAK,gBAAe,MAAK,gBAAe,iBAAgB,2BAA0B,mBAAkB,6BAA4B,mBAAkB,6BAA4B,oBAAmB,8BAA6B,eAAc,wBAAuB;;;AD4FrvB,SAYI,KAZJ;AAhFJ,IAAM,cAAc,CAAC;AAAA,EACnB,UAAU;AAAA,EACV,eAAe;AAAA,EACf,8BAA8B;AAAA,EAC9B,UAAU,eAAe;AAAA,EACzB,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AACF,MAsDoB;AAClB,QAAM,aAAa,cAAc;AACjC,QAAM,WAAW,CAAC,cAAc;AAChC,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAChD,QAAM,EAAE,eAAe,IAAI,gBAAgB;AAE3C,QAAM,eAAe,WAAW,2BAAO,YAAY,2BAAO,IAAI,GAAG;AAAA,IAC/D,CAAC,2BAAO,gBAAgB,GAAG;AAAA,IAC3B,CAAC,2BAAO,WAAW,GAAG,CAAC;AAAA,IACvB,CAAC,qBAAY,yBAAyB,GACnC,aAAa,kBAAmB;AAAA,EACrC,CAAC;AAED,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT,2BAAO;AAAA,QACP,2BAAO,SAAS,WAAW,aAAa,WAAW;AAAA,QACnD;AAAA,UACE,CAAC,2BAAO,QAAQ,GAAG;AAAA,UACnB,CAAC,2BAAO,MAAM,GAAG,SAAS;AAAA,UAC1B,CAAC,2BAAO,MAAM,GAAG,SAAS;AAAA,QAC5B;AAAA,MACF;AAAA,MAEC;AAAA,kBACC;AAAA,UAAC;AAAA;AAAA,YACC,WAAW,WAAW,cAAc;AAAA,cAClC,CAAC,2BAAO,eAAe,GAAG,SAAS;AAAA,cACnC,CAAC,2BAAO,eAAe,GAAG,SAAS;AAAA,YACrC,CAAC;AAAA;AAAA,QACH,IAEA,oBAAC,SAAI,WAAW,WAAW,cAAc,2BAAO,aAAa,GAAG;AAAA,QAElE;AAAA,UAAC;AAAA;AAAA,YACC,eAAa;AAAA,YACb,MAAK;AAAA,YACL;AAAA,YACA;AAAA,YACA,WAAW;AAAA,cACT,2BAAO;AAAA,cACP,2BAAO,SAAS,WAAW,aAAa,WAAW;AAAA,cACnD;AAAA,gBACE,CAAC,2BAAO,UAAU,GAAG,SAAS;AAAA,gBAC9B,CAAC,2BAAO,UAAU,GAAG,SAAS;AAAA,cAChC;AAAA,YACF;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,SAAS,MAAM;AACb,2BAAa,IAAI;AAAA,YACnB;AAAA,YACA,QAAQ,MAAM;AACZ,2BAAa,KAAK;AAAA,YACpB;AAAA;AAAA,QACF;AAAA,QACC,SACC;AAAA,UAAC;AAAA;AAAA,YACC,MAAM,SAAS,OAAO,MAAM;AAAA,YAC5B,OAAO,QAAQ,wBAAwB;AAAA,YAEtC;AAAA;AAAA,QACH;AAAA;AAAA;AAAA,EAEJ;AAEJ;AAEA,IAAO,sBAAQ;","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Typography_default
|
|
3
|
-
} from "./
|
|
3
|
+
} from "./B2TFERTM.js";
|
|
4
4
|
|
|
5
5
|
// src/Heading/Heading.tsx
|
|
6
6
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -33,4 +33,4 @@ var Heading_default = Heading;
|
|
|
33
33
|
export {
|
|
34
34
|
Heading_default
|
|
35
35
|
};
|
|
36
|
-
//# sourceMappingURL=
|
|
36
|
+
//# sourceMappingURL=PEKXH4DM.js.map
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
|
-
Box_module_default,
|
|
3
2
|
padding_module_default
|
|
4
|
-
} from "./
|
|
3
|
+
} from "./652STTPK.js";
|
|
4
|
+
import {
|
|
5
|
+
Box_module_default
|
|
6
|
+
} from "./KMIZI5PW.js";
|
|
5
7
|
import {
|
|
6
8
|
rounding_module_default
|
|
7
9
|
} from "./TPMQI44L.js";
|
|
8
10
|
import {
|
|
9
11
|
Typography_default
|
|
10
|
-
} from "./
|
|
12
|
+
} from "./B2TFERTM.js";
|
|
11
13
|
import {
|
|
12
14
|
colors_module_default
|
|
13
15
|
} from "./ERXGNP37.js";
|
|
@@ -16,7 +18,7 @@ import {
|
|
|
16
18
|
} from "./ARBLKS7D.js";
|
|
17
19
|
import {
|
|
18
20
|
Triggerable_default
|
|
19
|
-
} from "./
|
|
21
|
+
} from "./JQ6POHCA.js";
|
|
20
22
|
import {
|
|
21
23
|
OverlayVisibility
|
|
22
24
|
} from "./XKDASN7N.js";
|
|
@@ -159,4 +161,4 @@ export {
|
|
|
159
161
|
AriaTooltip,
|
|
160
162
|
Tooltip_default
|
|
161
163
|
};
|
|
162
|
-
//# sourceMappingURL=
|
|
164
|
+
//# sourceMappingURL=PJIXYQPE.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Tooltip/Tooltip.tsx","css-module:./Tooltip.module.css#css-module"],"sourcesContent":["import React, { forwardRef, type ReactNode, type ReactElement } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport {\n composeRenderProps,\n OverlayArrow as ReactAriaOverlayArrow,\n type OverlayArrowProps as ReactAriaOverlayArrowProps,\n Tooltip as ReactAriaTooltip,\n TooltipTrigger as ReactAriaTooltipTrigger,\n type TooltipProps as ReactAriaTooltipProps,\n} from \"react-aria-components\";\n\nimport Triggerable from \"../react-aria-utils/Triggerable\";\nimport Typography from \"../Typography/Typography\";\nimport OverlayVisibility from \"../react-aria-utils/OverlayVisibility\";\nimport classNames from \"classnames\";\nimport boxStyles from \"../Box/Box.module.css\";\nimport paddingStyles from \"../Box/padding.module.css\";\nimport roundingStyles from \"../rounding.module.css\";\nimport colorStyles from \"../colors/colors.module.css\";\nimport styles from \"./Tooltip.module.css\";\nimport {\n type Placement,\n syntaxToReactAriaPlacement,\n} from \"../react-aria-utils/placement\";\n\nfunction TooltipArrow(props: ReactAriaOverlayArrowProps): ReactElement {\n return (\n <ReactAriaOverlayArrow {...props}>\n {({ placement }) => {\n if (placement === \"center\") return null;\n if (placement === \"left\") return null;\n if (placement === \"right\") return null;\n return (\n <div\n className={classNames([\n boxStyles.block,\n styles[`arrowPlacement${placement}`],\n ])}\n >\n <svg\n className={classNames([boxStyles.block])}\n width={40}\n height={5}\n viewBox=\"0 0 40 5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M17 0L22 5H12L17 0Z\" fill=\"currentColor\" />\n </svg>\n </div>\n );\n }}\n </ReactAriaOverlayArrow>\n );\n}\n\n/**\n * AriaTooltip: This component extends Tooltip from react-aria-components\n * It applies syntax styles and adds aadditional props:\n * - onContentChangeVisibility\n */\nexport const AriaTooltip = forwardRef<\n HTMLDivElement,\n ReactAriaTooltipProps & {\n /** Optional handler for change of visibility for overlaid content, for analytics timing */\n onChangeContentVisibility?: (visible: boolean) => void;\n }\n>(function AriaTooltip(\n { children: childrenProp, onChangeContentVisibility, ...otherProps },\n ref,\n): ReactElement {\n const className = classNames([\n boxStyles.box,\n colorStyles.gray900Color,\n colorStyles.gray900BackgroundColor,\n paddingStyles.paddingY2,\n paddingStyles.paddingX3,\n roundingStyles.roundingsm,\n styles.tooltip,\n ]);\n return (\n <ReactAriaTooltip\n ref={ref}\n {...mergeProps(\n {\n className,\n offset: 8,\n crossOffset: 0,\n },\n otherProps,\n )}\n >\n {composeRenderProps(\n childrenProp,\n (children, { isEntering, isExiting }) => (\n <>\n <TooltipArrow />\n <Typography size={100} color=\"white\">\n {children}\n </Typography>\n <OverlayVisibility\n isEntering={isEntering}\n isExiting={isExiting}\n onChange={onChangeContentVisibility}\n />\n </>\n ),\n )}\n </ReactAriaTooltip>\n );\n});\n\ntype TooltipProps = {\n /**\n * Test id for the floating tooltip\n */\n \"data-testid\"?: string;\n /**\n * How long a user hovers before tooltip shows (in ms)\n * @defaultValue 0\n */\n delay?: number;\n /** Optional boolean to disable tooltip trigger behavior */\n disabled?: boolean;\n /** Optional aria-label for the tooltip (content element) */\n accessibilityLabel?: string;\n /** Required trigger element */\n children: ReactElement;\n /** Content to be shown inside the tooltip. */\n content: ReactNode;\n /** If set to true the tooltip will render initially open */\n initialOpen?: boolean;\n /** Optional handler for change of visibility for popover content, for analytics timing */\n onChangeContentVisibility?: (visible: boolean) => void;\n /** Optional handler for change of visibility for popover content, for control */\n onOpenChange?: (open: boolean) => void;\n /** Optional boolean to control open state of tooltip externally */\n open?: boolean;\n /**\n * Location of the tooltip content relative to anchor element\n * @defaultValue \"top-end\"\n */\n placement?: Placement;\n};\n/**\n * [Tooltip](https://cambly-syntax.vercel.app/?path=/docs/components-tooltip--docs) displays contextual information on hover or focus.\n *\n * Tooltip content is hidden by default and shown on hover or focus.\n * The content is hidden again when the user mouses out of the trigger element or blurs the trigger element or presses Escape\n *\n * Example Usage:\n ```\n <Tooltip\n delay={200}\n placement=\"bottom-start\"\n initialOpen\n content={(\n <Box padding={2}>\n ... some content goes here\n </Box>\n )}\n >\n <Button text=\"Trigger me\" />\n </Tooltip>\n ```\n */\nconst Tooltip = forwardRef<HTMLDivElement, TooltipProps>(function Tooltip(\n props,\n ref,\n): ReactElement {\n const {\n accessibilityLabel,\n \"data-testid\": dataTestId,\n delay = 0,\n disabled = false,\n children,\n content,\n initialOpen,\n onChangeContentVisibility,\n onOpenChange,\n open,\n placement = \"top\",\n } = props;\n\n return (\n <ReactAriaTooltipTrigger\n defaultOpen={initialOpen}\n delay={delay}\n closeDelay={500}\n isDisabled={disabled}\n isOpen={open}\n onOpenChange={onOpenChange}\n >\n {/* transfer focus handlers to child element if it is focusable */}\n <Triggerable>{children}</Triggerable>\n <AriaTooltip\n ref={ref}\n placement={syntaxToReactAriaPlacement(placement)}\n aria-label={accessibilityLabel}\n data-testid={dataTestId}\n onChangeContentVisibility={onChangeContentVisibility}\n >\n {content}\n </AriaTooltip>\n </ReactAriaTooltipTrigger>\n );\n});\n\nexport default Tooltip;\n","import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/Tooltip/Tooltip.module.css\"; export default {\"tooltip\":\"_tooltip_11pyp_1\",\"arrowPlacementtop\":\"_arrowPlacementtop_11pyp_5\",\"arrowPlacementbottom\":\"_arrowPlacementbottom_11pyp_10\"}"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/Tooltip/Tooltip.tsx","css-module:./Tooltip.module.css#css-module"],"sourcesContent":["import React, { forwardRef, type ReactNode, type ReactElement } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport {\n composeRenderProps,\n OverlayArrow as ReactAriaOverlayArrow,\n type OverlayArrowProps as ReactAriaOverlayArrowProps,\n Tooltip as ReactAriaTooltip,\n TooltipTrigger as ReactAriaTooltipTrigger,\n type TooltipProps as ReactAriaTooltipProps,\n} from \"react-aria-components\";\n\nimport Triggerable from \"../react-aria-utils/Triggerable\";\nimport Typography from \"../Typography/Typography\";\nimport OverlayVisibility from \"../react-aria-utils/OverlayVisibility\";\nimport classNames from \"classnames\";\nimport boxStyles from \"../Box/Box.module.css\";\nimport paddingStyles from \"../Box/padding.module.css\";\nimport roundingStyles from \"../rounding.module.css\";\nimport colorStyles from \"../colors/colors.module.css\";\nimport styles from \"./Tooltip.module.css\";\nimport {\n type Placement,\n syntaxToReactAriaPlacement,\n} from \"../react-aria-utils/placement\";\n\nfunction TooltipArrow(props: ReactAriaOverlayArrowProps): ReactElement {\n return (\n <ReactAriaOverlayArrow {...props}>\n {({ placement }) => {\n if (placement === \"center\") return null;\n if (placement === \"left\") return null;\n if (placement === \"right\") return null;\n return (\n <div\n className={classNames([\n boxStyles.block,\n styles[`arrowPlacement${placement}`],\n ])}\n >\n <svg\n className={classNames([boxStyles.block])}\n width={40}\n height={5}\n viewBox=\"0 0 40 5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M17 0L22 5H12L17 0Z\" fill=\"currentColor\" />\n </svg>\n </div>\n );\n }}\n </ReactAriaOverlayArrow>\n );\n}\n\n/**\n * AriaTooltip: This component extends Tooltip from react-aria-components\n * It applies syntax styles and adds aadditional props:\n * - onContentChangeVisibility\n */\nexport const AriaTooltip = forwardRef<\n HTMLDivElement,\n ReactAriaTooltipProps & {\n /** Optional handler for change of visibility for overlaid content, for analytics timing */\n onChangeContentVisibility?: (visible: boolean) => void;\n }\n>(function AriaTooltip(\n { children: childrenProp, onChangeContentVisibility, ...otherProps },\n ref,\n): ReactElement {\n const className = classNames([\n boxStyles.box,\n colorStyles.gray900Color,\n colorStyles.gray900BackgroundColor,\n paddingStyles.paddingY2,\n paddingStyles.paddingX3,\n roundingStyles.roundingsm,\n styles.tooltip,\n ]);\n return (\n <ReactAriaTooltip\n ref={ref}\n {...mergeProps(\n {\n className,\n offset: 8,\n crossOffset: 0,\n },\n otherProps,\n )}\n >\n {composeRenderProps(\n childrenProp,\n (children, { isEntering, isExiting }) => (\n <>\n <TooltipArrow />\n <Typography size={100} color=\"white\">\n {children}\n </Typography>\n <OverlayVisibility\n isEntering={isEntering}\n isExiting={isExiting}\n onChange={onChangeContentVisibility}\n />\n </>\n ),\n )}\n </ReactAriaTooltip>\n );\n});\n\ntype TooltipProps = {\n /**\n * Test id for the floating tooltip\n */\n \"data-testid\"?: string;\n /**\n * How long a user hovers before tooltip shows (in ms)\n * @defaultValue 0\n */\n delay?: number;\n /** Optional boolean to disable tooltip trigger behavior */\n disabled?: boolean;\n /** Optional aria-label for the tooltip (content element) */\n accessibilityLabel?: string;\n /** Required trigger element */\n children: ReactElement;\n /** Content to be shown inside the tooltip. */\n content: ReactNode;\n /** If set to true the tooltip will render initially open */\n initialOpen?: boolean;\n /** Optional handler for change of visibility for popover content, for analytics timing */\n onChangeContentVisibility?: (visible: boolean) => void;\n /** Optional handler for change of visibility for popover content, for control */\n onOpenChange?: (open: boolean) => void;\n /** Optional boolean to control open state of tooltip externally */\n open?: boolean;\n /**\n * Location of the tooltip content relative to anchor element\n * @defaultValue \"top-end\"\n */\n placement?: Placement;\n};\n/**\n * [Tooltip](https://cambly-syntax.vercel.app/?path=/docs/components-tooltip--docs) displays contextual information on hover or focus.\n *\n * Tooltip content is hidden by default and shown on hover or focus.\n * The content is hidden again when the user mouses out of the trigger element or blurs the trigger element or presses Escape\n *\n * Example Usage:\n ```\n <Tooltip\n delay={200}\n placement=\"bottom-start\"\n initialOpen\n content={(\n <Box padding={2}>\n ... some content goes here\n </Box>\n )}\n >\n <Button text=\"Trigger me\" />\n </Tooltip>\n ```\n */\nconst Tooltip = forwardRef<HTMLDivElement, TooltipProps>(function Tooltip(\n props,\n ref,\n): ReactElement {\n const {\n accessibilityLabel,\n \"data-testid\": dataTestId,\n delay = 0,\n disabled = false,\n children,\n content,\n initialOpen,\n onChangeContentVisibility,\n onOpenChange,\n open,\n placement = \"top\",\n } = props;\n\n return (\n <ReactAriaTooltipTrigger\n defaultOpen={initialOpen}\n delay={delay}\n closeDelay={500}\n isDisabled={disabled}\n isOpen={open}\n onOpenChange={onOpenChange}\n >\n {/* transfer focus handlers to child element if it is focusable */}\n <Triggerable>{children}</Triggerable>\n <AriaTooltip\n ref={ref}\n placement={syntaxToReactAriaPlacement(placement)}\n aria-label={accessibilityLabel}\n data-testid={dataTestId}\n onChangeContentVisibility={onChangeContentVisibility}\n >\n {content}\n </AriaTooltip>\n </ReactAriaTooltipTrigger>\n );\n});\n\nexport default Tooltip;\n","import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/Tooltip/Tooltip.module.css\"; export default {\"tooltip\":\"_tooltip_11pyp_1\",\"arrowPlacementtop\":\"_arrowPlacementtop_11pyp_5\",\"arrowPlacementbottom\":\"_arrowPlacementbottom_11pyp_10\"}"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAgB,kBAAqD;AACrE,SAAS,kBAAkB;AAC3B;AAAA,EACE;AAAA,EACA,gBAAgB;AAAA,EAEhB,WAAW;AAAA,EACX,kBAAkB;AAAA,OAEb;AAKP,OAAO,gBAAgB;;;ACduE,IAAO,yBAAQ,EAAC,WAAU,oBAAmB,qBAAoB,8BAA6B,wBAAuB,iCAAgC;;;AD8CrO,SAgDJ,UAhDI,KAgDJ,YAhDI;AArBd,SAAS,aAAa,OAAiD;AACrE,SACE,oBAAC,wDAA0B,QAA1B,EACE,WAAC,EAAE,UAAU,MAAM;AAClB,QAAI,cAAc;AAAU,aAAO;AACnC,QAAI,cAAc;AAAQ,aAAO;AACjC,QAAI,cAAc;AAAS,aAAO;AAClC,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,WAAW;AAAA,UACpB,mBAAU;AAAA,UACV,uBAAO,iBAAiB,WAAW;AAAA,QACrC,CAAC;AAAA,QAED;AAAA,UAAC;AAAA;AAAA,YACC,WAAW,WAAW,CAAC,mBAAU,KAAK,CAAC;AAAA,YACvC,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,SAAQ;AAAA,YACR,OAAM;AAAA,YAEN,8BAAC,UAAK,GAAE,uBAAsB,MAAK,gBAAe;AAAA;AAAA,QACpD;AAAA;AAAA,IACF;AAAA,EAEJ,IACF;AAEJ;AAOO,IAAM,cAAc,WAMzB,SAASA,aACT,IACA,KACc;AAFd,eAAE,YAAU,cAAc,0BAnE5B,IAmEE,IAAwD,uBAAxD,IAAwD,CAAtD,YAAwB;AAG1B,QAAM,YAAY,WAAW;AAAA,IAC3B,mBAAU;AAAA,IACV,sBAAY;AAAA,IACZ,sBAAY;AAAA,IACZ,uBAAc;AAAA,IACd,uBAAc;AAAA,IACd,wBAAe;AAAA,IACf,uBAAO;AAAA,EACT,CAAC;AACD,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,OACI;AAAA,MACF;AAAA,QACE;AAAA,QACA,QAAQ;AAAA,QACR,aAAa;AAAA,MACf;AAAA,MACA;AAAA,IACF,IATD;AAAA,MAWE;AAAA,QACC;AAAA,QACA,CAAC,UAAU,EAAE,YAAY,UAAU,MACjC,iCACE;AAAA,8BAAC,gBAAa;AAAA,UACd,oBAAC,sBAAW,MAAM,KAAK,OAAM,SAC1B,UACH;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA;AAAA,cACA,UAAU;AAAA;AAAA,UACZ;AAAA,WACF;AAAA,MAEJ;AAAA;AAAA,EACF;AAEJ,CAAC;AAwDD,IAAM,UAAU,WAAyC,SAASC,SAChE,OACA,KACc;AACd,QAAM;AAAA,IACJ;AAAA,IACA,eAAe;AAAA,IACf,QAAQ;AAAA,IACR,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,EACd,IAAI;AAEJ,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAa;AAAA,MACb;AAAA,MACA,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR;AAAA,MAGA;AAAA,4BAAC,uBAAa,UAAS;AAAA,QACvB;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,WAAW,2BAA2B,SAAS;AAAA,YAC/C,cAAY;AAAA,YACZ,eAAa;AAAA,YACb;AAAA,YAEC;AAAA;AAAA,QACH;AAAA;AAAA;AAAA,EACF;AAEJ,CAAC;AAED,IAAO,kBAAQ;","names":["AriaTooltip","Tooltip"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// css-module:../layout.module.css#css-module
|
|
2
|
+
var layout_module_default = { "fullWidth": "_fullWidth_1ey57_1", "fullMaxWidth": "_fullMaxWidth_1ey57_5", "fullMaxHeight": "_fullMaxHeight_1ey57_9", "visibilityVisible": "_visibilityVisible_1ey57_13" };
|
|
3
|
+
|
|
4
|
+
export {
|
|
5
|
+
layout_module_default
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=PTWXXDFF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["css-module:../layout.module.css#css-module"],"sourcesContent":["import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/layout.module.css\"; export default {\"fullWidth\":\"_fullWidth_1ey57_1\",\"fullMaxWidth\":\"_fullMaxWidth_1ey57_5\",\"fullMaxHeight\":\"_fullMaxHeight_1ey57_9\",\"visibilityVisible\":\"_visibilityVisible_1ey57_13\"}"],"mappings":";AAAqF,IAAO,wBAAQ,EAAC,aAAY,sBAAqB,gBAAe,yBAAwB,iBAAgB,0BAAyB,qBAAoB,8BAA6B;","names":[]}
|
|
@@ -7,9 +7,13 @@ var _FZRIE7EXcjs = require('./FZRIE7EX.cjs');
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
|
+
|
|
10
11
|
var _I64JGYX7cjs = require('./I64JGYX7.cjs');
|
|
11
12
|
|
|
12
13
|
// src/TapArea/TapArea.tsx
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
13
17
|
var _react = require('react');
|
|
14
18
|
var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames);
|
|
15
19
|
|
|
@@ -33,16 +37,26 @@ function reducer(state, action) {
|
|
|
33
37
|
}
|
|
34
38
|
}
|
|
35
39
|
var TapArea = _react.forwardRef.call(void 0,
|
|
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 = _I64JGYX7cjs.__objRest.call(void 0, _b, [
|
|
51
|
+
"children",
|
|
52
|
+
"accessibilityLabel",
|
|
53
|
+
"data-testid",
|
|
54
|
+
"disabled",
|
|
55
|
+
"fullWidth",
|
|
56
|
+
"onClick",
|
|
57
|
+
"rounding",
|
|
58
|
+
"tabIndex"
|
|
59
|
+
]);
|
|
46
60
|
const isHydrated = _FZRIE7EXcjs.useIsHydrated.call(void 0, );
|
|
47
61
|
const disabled = !isHydrated || disabledProp;
|
|
48
62
|
const [{ hovered, focussed }, dispatch] = _react.useReducer.call(void 0, reducer, {
|
|
@@ -65,16 +79,18 @@ var TapArea = _react.forwardRef.call(void 0,
|
|
|
65
79
|
}
|
|
66
80
|
};
|
|
67
81
|
const isHoveredOrFocussed = !disabled && (hovered || focussed);
|
|
82
|
+
const roundingClasses = rounding !== "none" && _7GJ2SD7Ocjs.rounding_module_default[`rounding${rounding}`];
|
|
68
83
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
69
84
|
"div",
|
|
70
|
-
{
|
|
71
|
-
"aria-disabled": disabled,
|
|
72
|
-
"aria-label": accessibilityLabel,
|
|
85
|
+
_I64JGYX7cjs.__spreadProps.call(void 0, _I64JGYX7cjs.__spreadValues.call(void 0, {}, accessibilityProps), {
|
|
86
|
+
"aria-disabled": disabled || accessibilityProps["aria-disabled"],
|
|
87
|
+
"aria-label": accessibilityLabel != null ? accessibilityLabel : accessibilityProps["aria-label"],
|
|
73
88
|
className: _classnames2.default.call(void 0,
|
|
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 = _react.forwardRef.call(void 0,
|
|
|
87
103
|
role: "button",
|
|
88
104
|
tabIndex: disabled ? void 0 : tabIndex,
|
|
89
105
|
children: [
|
|
90
|
-
!disabled && (hovered || focussed) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
91
|
-
"div",
|
|
92
|
-
{
|
|
93
|
-
className: _classnames2.default.call(void 0,
|
|
94
|
-
TapArea_module_default.overlay,
|
|
95
|
-
rounding !== "none" && _7GJ2SD7Ocjs.rounding_module_default[`rounding${rounding}`]
|
|
96
|
-
)
|
|
97
|
-
}
|
|
98
|
-
),
|
|
106
|
+
!disabled && (hovered || focussed) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _classnames2.default.call(void 0, 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
|
|
|
109
117
|
|
|
110
118
|
exports.TapArea_default = TapArea_default;
|
|
111
|
-
//# sourceMappingURL=
|
|
119
|
+
//# sourceMappingURL=PZYWUTMW.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/TapArea/TapArea.tsx","css-module:./TapArea.module.css#css-module"],"names":[],"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","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\"}"]}
|
|
@@ -10,8 +10,12 @@ var _I64JGYX7cjs = require('./I64JGYX7.cjs');
|
|
|
10
10
|
// src/react-aria-utils/Triggerable.tsx
|
|
11
11
|
|
|
12
12
|
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
13
16
|
var _react = require('react'); var _react2 = _interopRequireDefault(_react);
|
|
14
17
|
var _reactaria = require('react-aria');
|
|
18
|
+
var _reactariacomponents = require('react-aria-components');
|
|
15
19
|
var _utils = require('@react-aria/utils');
|
|
16
20
|
var _focus = require('@react-aria/focus');
|
|
17
21
|
|
|
@@ -26,20 +30,28 @@ function cloneWithRef(children, parentRef) {
|
|
|
26
30
|
});
|
|
27
31
|
}
|
|
28
32
|
var Triggerable = _react.forwardRef.call(void 0, function Triggerable2(props, forwardedRef) {
|
|
29
|
-
const { children } = props;
|
|
30
|
-
const wrapperDomRef =
|
|
33
|
+
const { children, disabled: isDisabled } = props;
|
|
34
|
+
const wrapperDomRef = _react.useRef.call(void 0, null);
|
|
31
35
|
const childRef = _utils.useObjectRef.call(void 0, null);
|
|
32
36
|
const hasTabbableChild = _focus.useHasTabbableChild.call(void 0, wrapperDomRef);
|
|
33
37
|
const focusableRef = hasTabbableChild ? childRef : wrapperDomRef;
|
|
34
|
-
const { focusableProps } = _reactaria.useFocusable.call(void 0, {}, focusableRef);
|
|
35
|
-
const { buttonProps } = _reactaria.useButton.call(void 0,
|
|
36
|
-
|
|
38
|
+
const { focusableProps } = _reactaria.useFocusable.call(void 0, { isDisabled }, focusableRef);
|
|
39
|
+
const { buttonProps } = _reactaria.useButton.call(void 0,
|
|
40
|
+
{ elementType: "span", isDisabled },
|
|
41
|
+
focusableRef
|
|
42
|
+
);
|
|
43
|
+
const { hoverProps } = _reactaria.useHover.call(void 0, { isDisabled });
|
|
37
44
|
const _a = focusableProps, { onFocus, onBlur, onKeyDown, onKeyUp } = _a, otherFocusableProps = _I64JGYX7cjs.__objRest.call(void 0, _a, ["onFocus", "onBlur", "onKeyDown", "onKeyUp"]);
|
|
38
45
|
const focusableHandlerProps = { onFocus, onBlur, onKeyDown, onKeyUp };
|
|
39
46
|
const child = children ? cloneWithRef(children, childRef) : children;
|
|
40
47
|
_4PLE46VUcjs.useDomRefSyntheticEventBridge.call(void 0, focusableHandlerProps, childRef, {
|
|
41
48
|
enabled: hasTabbableChild
|
|
42
49
|
});
|
|
50
|
+
const overlayTriggerState = _react.useContext.call(void 0, _reactariacomponents.OverlayTriggerStateContext);
|
|
51
|
+
_react.useImperativeHandle.call(void 0, forwardedRef, () => ({
|
|
52
|
+
open: () => overlayTriggerState.open(),
|
|
53
|
+
close: () => overlayTriggerState.close()
|
|
54
|
+
}));
|
|
43
55
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
44
56
|
"span",
|
|
45
57
|
_I64JGYX7cjs.__spreadProps.call(void 0, _I64JGYX7cjs.__spreadValues.call(void 0, {
|
|
@@ -67,4 +79,4 @@ var Triggerable_default = Triggerable;
|
|
|
67
79
|
|
|
68
80
|
|
|
69
81
|
exports.Triggerable_default = Triggerable_default;
|
|
70
|
-
//# sourceMappingURL=
|
|
82
|
+
//# sourceMappingURL=QJI4G5FP.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/react-aria-utils/Triggerable.tsx","css-module:./Triggerable.module.css#css-module"],"names":["Triggerable"],"mappings":";;;;;;;;;;AAAA,OAAO;AAAA,EACL;AAAA,EACA;AAAA,EAIA;AAAA,EACA;AAAA,OACK;AACP,SAAS,YAAY,WAAW,cAAc,gBAAgB;AAC9D,SAAS,kCAAkC;AAC3C,SAAS,cAAc,iBAAiB;AACxC,SAAS,2BAA2B;;;ACZuE,IAAO,6BAAQ,EAAC,WAAU,mBAAkB;;;ADiEnJ;AA3CJ,SAAS,aAAgB,UAAkC,WAAmB;AAE5E,SAAO,MAAM,aAAa,UAAU;AAAA,IAClC,KAAK,SAAS,MAAM,UAAa,WAAW,SAAS,GAAG,IAAI;AAAA,EAC9D,CAAC;AACH;AAEA,IAAM,cAAc,WAMlB,SAASA,aAAY,OAAO,cAAc;AAC1C,QAAM,EAAE,UAAU,UAAU,WAAW,IAAI;AAC3C,QAAM,gBAAgB,OAAoB,IAAI;AAC9C,QAAM,WAAW,aAA0B,IAAI;AAC/C,QAAM,mBAAmB,oBAAoB,aAAa;AAC1D,QAAM,eAAe,mBAAmB,WAAW;AACnD,QAAM,EAAE,eAAe,IAAI,aAAa,EAAE,WAAW,GAAG,YAAY;AACpE,QAAM,EAAE,YAAY,IAAI;AAAA,IACtB,EAAE,aAAa,QAAQ,WAAW;AAAA,IAClC;AAAA,EACF;AACA,QAAM,EAAE,WAAW,IAAI,SAAS,EAAE,WAAW,CAAC;AAE9C,QACE,qBADM,WAAS,QAAQ,WAAW,QAhDtC,IAiDI,IAD8C,gCAC9C,IAD8C,CAAxC,WAAS,UAAQ,aAAW;AAEpC,QAAM,wBAAwB,EAAE,SAAS,QAAQ,WAAW,QAAQ;AAEpE,QAAM,QAAQ,WAAW,aAAa,UAAU,QAAQ,IAAI;AAC5D,gCAA8B,uBAAuB,UAAU;AAAA,IAC7D,SAAS;AAAA,EACX,CAAC;AAED,QAAM,sBAAsB,WAAW,0BAA0B;AAEjE,sBAAoB,cAAc,OAAO;AAAA,IACvC,MAAM,MAAM,oBAAoB,KAAK;AAAA,IACrC,OAAO,MAAM,oBAAoB,MAAM;AAAA,EACzC,EAAE;AAEF,SACE;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,OACD;AAAA,MACF;AAAA,MACA,mBAAmB,CAAC,IAAI;AAAA,MACxB;AAAA,MACA;AAAA,MACA;AAAA,QACE,WAAW,2BAAO;AAAA,QAClB,OAAO;AAAA,UACL,SAAS;AAAA,UACT,eAAe;AAAA,QACjB;AAAA,MACF;AAAA,IACF,IAdD;AAAA,MAeC,UAAU,mBAAmB,SAAY;AAAA,MAExC;AAAA;AAAA,EACH;AAEJ,CAAC;AAED,IAAO,sBAAQ","sourcesContent":["import React, {\n forwardRef,\n useImperativeHandle,\n type ReactElement,\n type Ref,\n type RefAttributes,\n useContext,\n useRef,\n} from \"react\";\nimport { mergeProps, useButton, useFocusable, useHover } from \"react-aria\";\nimport { OverlayTriggerStateContext } from \"react-aria-components\";\nimport { useObjectRef, mergeRefs } from \"@react-aria/utils\";\nimport { useHasTabbableChild } from \"@react-aria/focus\";\nimport { useDomRefSyntheticEventBridge } from \"./useDomRefSyntheticEventBridge\";\nimport styles from \"./Triggerable.module.css\";\n\nexport type OverlayHandlerRef = {\n open?: () => void;\n close?: () => void;\n};\n\ntype ReactElementWithRef<T = unknown> = ReactElement & RefAttributes<T>;\nfunction cloneWithRef<T>(children: ReactElementWithRef<T>, parentRef: Ref<T>) {\n // No need for the isValidElement check since children is already typed as a ReactElement\n return React.cloneElement(children, {\n ref: children.ref ? mergeRefs<T>(parentRef, children.ref) : parentRef,\n });\n}\n\nconst Triggerable = forwardRef<\n OverlayHandlerRef,\n {\n children?: ReactElement | (ReactElement & { ref?: Ref<Element> });\n disabled?: boolean;\n }\n>(function Triggerable(props, forwardedRef) {\n const { children, disabled: isDisabled } = props;\n const wrapperDomRef = useRef<HTMLElement>(null);\n const childRef = useObjectRef<HTMLElement>(null);\n const hasTabbableChild = useHasTabbableChild(wrapperDomRef);\n const focusableRef = hasTabbableChild ? childRef : wrapperDomRef;\n const { focusableProps } = useFocusable({ isDisabled }, focusableRef);\n const { buttonProps } = useButton(\n { elementType: \"span\", isDisabled },\n focusableRef,\n );\n const { hoverProps } = useHover({ isDisabled });\n // focus handlers are attached to tabbable child if present\n const { onFocus, onBlur, onKeyDown, onKeyUp, ...otherFocusableProps } =\n focusableProps;\n const focusableHandlerProps = { onFocus, onBlur, onKeyDown, onKeyUp };\n // attach focus handlers to tabbable child if present\n const child = children ? cloneWithRef(children, childRef) : children;\n useDomRefSyntheticEventBridge(focusableHandlerProps, childRef, {\n enabled: hasTabbableChild,\n });\n\n const overlayTriggerState = useContext(OverlayTriggerStateContext);\n // Expose open and close methods from any overlay context to parent component\n useImperativeHandle(forwardedRef, () => ({\n open: () => overlayTriggerState.open(),\n close: () => overlayTriggerState.close(),\n }));\n\n return (\n <span\n ref={wrapperDomRef}\n {...mergeProps(\n buttonProps,\n hasTabbableChild ? {} : focusableHandlerProps,\n otherFocusableProps,\n hoverProps,\n {\n className: styles.trigger,\n style: {\n display: \"inline-block\",\n verticalAlign: \"text-top\",\n },\n },\n )}\n tabIndex={hasTabbableChild ? undefined : 0}\n >\n {child}\n </span>\n );\n});\n\nexport default Triggerable;\n","import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/react-aria-utils/Triggerable.module.css\"; export default {\"trigger\":\"_trigger_1efnf_1\"}"]}
|