@cambly/syntax-core 9.7.0 → 9.8.0-beta.2
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.css +1784 -1
- package/dist/Avatar/Avatar.css.map +1 -1
- package/dist/Avatar/Avatar.d.ts +12 -6
- package/dist/Avatar/Avatar.js +6 -2
- package/dist/Avatar/Avatar.mjs +5 -1
- package/dist/AvatarGroup/AvatarGroup.css +1811 -0
- package/dist/AvatarGroup/AvatarGroup.css.map +1 -0
- package/dist/AvatarGroup/AvatarGroup.d.ts +24 -0
- package/dist/AvatarGroup/AvatarGroup.js +14 -0
- package/dist/AvatarGroup/AvatarGroup.js.map +1 -0
- package/dist/AvatarGroup/AvatarGroup.mjs +14 -0
- package/dist/AvatarGroup/AvatarGroup.mjs.map +1 -0
- package/dist/AvatarGroup/AvatarGroupAvatar.css +1811 -0
- package/dist/AvatarGroup/AvatarGroupAvatar.css.map +1 -0
- package/dist/AvatarGroup/AvatarGroupAvatar.d.ts +38 -0
- package/dist/AvatarGroup/AvatarGroupAvatar.js +13 -0
- package/dist/AvatarGroup/AvatarGroupAvatar.js.map +1 -0
- package/dist/AvatarGroup/AvatarGroupAvatar.mjs +13 -0
- package/dist/AvatarGroup/AvatarGroupAvatar.mjs.map +1 -0
- package/dist/Badge/Badge.css +7 -7
- package/dist/Badge/Badge.css.map +1 -1
- package/dist/Badge/Badge.js +6 -6
- package/dist/Badge/Badge.mjs +5 -5
- package/dist/Box/Box.css +5 -5
- package/dist/Box/Box.css.map +1 -1
- package/dist/Box/Box.js +4 -4
- package/dist/Box/Box.mjs +3 -3
- package/dist/Button/Button.css +28 -30
- package/dist/Button/Button.css.map +1 -1
- package/dist/Button/Button.js +11 -11
- package/dist/Button/Button.mjs +10 -10
- package/dist/Button/constants/iconSize.css +22 -24
- package/dist/Button/constants/iconSize.css.map +1 -1
- package/dist/Button/constants/iconSize.js +2 -2
- package/dist/Button/constants/iconSize.mjs +1 -1
- package/dist/ButtonGroup/ButtonGroup.css +1 -1
- package/dist/ButtonGroup/ButtonGroup.css.map +1 -1
- package/dist/ButtonGroup/ButtonGroup.d.ts +1 -1
- package/dist/ButtonGroup/ButtonGroup.js +2 -2
- package/dist/ButtonGroup/ButtonGroup.mjs +1 -1
- package/dist/Card/Card.css +5 -5
- package/dist/Card/Card.css.map +1 -1
- package/dist/Card/Card.js +5 -5
- package/dist/Card/Card.mjs +4 -4
- package/dist/Checkbox/Checkbox.css +4 -4
- package/dist/Checkbox/Checkbox.css.map +1 -1
- package/dist/Checkbox/Checkbox.d.ts +1 -1
- package/dist/Checkbox/Checkbox.js +5 -5
- package/dist/Checkbox/Checkbox.mjs +4 -4
- package/dist/Chip/Chip.css +7 -7
- package/dist/Chip/Chip.css.map +1 -1
- package/dist/Chip/Chip.js +6 -6
- package/dist/Chip/Chip.mjs +5 -5
- package/dist/Divider/Divider.css +1 -1
- package/dist/Divider/Divider.css.map +1 -1
- package/dist/Divider/Divider.js +2 -2
- package/dist/Divider/Divider.mjs +1 -1
- package/dist/Heading/Heading.css +2 -2
- package/dist/Heading/Heading.css.map +1 -1
- package/dist/Heading/Heading.d.ts +1 -1
- package/dist/Heading/Heading.js +4 -4
- package/dist/Heading/Heading.mjs +3 -3
- package/dist/IconButton/IconButton.css +2 -2
- package/dist/IconButton/IconButton.css.map +1 -1
- package/dist/IconButton/IconButton.js +5 -5
- package/dist/IconButton/IconButton.mjs +4 -4
- package/dist/LinkButton/LinkButton.css +25 -27
- package/dist/LinkButton/LinkButton.css.map +1 -1
- package/dist/LinkButton/LinkButton.js +9 -9
- package/dist/LinkButton/LinkButton.mjs +8 -8
- package/dist/MiniActionCard/MiniActionCard.css +19 -0
- package/dist/MiniActionCard/MiniActionCard.css.map +1 -0
- package/dist/MiniActionCard/MiniActionCard.d.ts +11 -0
- package/dist/MiniActionCard/MiniActionCard.js +8 -0
- package/dist/MiniActionCard/MiniActionCard.js.map +1 -0
- package/dist/MiniActionCard/MiniActionCard.mjs +8 -0
- package/dist/MiniActionCard/MiniActionCard.mjs.map +1 -0
- package/dist/Modal/Layer.css +5 -5
- package/dist/Modal/Layer.css.map +1 -1
- package/dist/Modal/Layer.js +5 -5
- package/dist/Modal/Layer.mjs +4 -4
- package/dist/Modal/Modal.css +7 -7
- package/dist/Modal/Modal.css.map +1 -1
- package/dist/Modal/Modal.js +8 -8
- package/dist/Modal/Modal.mjs +7 -7
- package/dist/RadioButton/RadioButton.css +4 -4
- package/dist/RadioButton/RadioButton.css.map +1 -1
- package/dist/RadioButton/RadioButton.d.ts +1 -1
- package/dist/RadioButton/RadioButton.js +5 -5
- package/dist/RadioButton/RadioButton.mjs +4 -4
- package/dist/SelectList/SelectList.css +4 -4
- package/dist/SelectList/SelectList.css.map +1 -1
- package/dist/SelectList/SelectList.js +5 -5
- package/dist/SelectList/SelectList.mjs +4 -4
- package/dist/TapArea/TapArea.css +2 -2
- package/dist/TapArea/TapArea.css.map +1 -1
- package/dist/TapArea/TapArea.js +3 -3
- package/dist/TapArea/TapArea.mjs +2 -2
- package/dist/TextField/TextField.css +7 -7
- package/dist/TextField/TextField.css.map +1 -1
- package/dist/TextField/TextField.js +6 -6
- package/dist/TextField/TextField.mjs +5 -5
- package/dist/Typography/Typography.css +2 -2
- package/dist/Typography/Typography.css.map +1 -1
- package/dist/Typography/Typography.d.ts +1 -1
- package/dist/Typography/Typography.js +3 -3
- package/dist/Typography/Typography.mjs +2 -2
- package/dist/__chunks/{FUBK3VZO.js → 25AVG5RK.js} +1 -1
- package/dist/__chunks/{FUBK3VZO.js.map → 25AVG5RK.js.map} +1 -1
- package/dist/__chunks/2AXWRBLG.mjs +34 -0
- package/dist/__chunks/2AXWRBLG.mjs.map +1 -0
- package/dist/__chunks/{4PWSK5GI.js → 37REMIOM.js} +1 -1
- package/dist/__chunks/37REMIOM.js.map +1 -0
- package/dist/__chunks/{BCWLWS7W.mjs → 3HUELEGR.mjs} +2 -2
- package/dist/__chunks/{BCWLWS7W.mjs.map → 3HUELEGR.mjs.map} +1 -1
- package/dist/__chunks/{HAZN2FCY.mjs → 3LM54GWV.mjs} +1 -1
- package/dist/__chunks/3LM54GWV.mjs.map +1 -0
- package/dist/__chunks/3MG27OMA.js +64 -0
- package/dist/__chunks/3MG27OMA.js.map +1 -0
- package/dist/__chunks/3N6HHI46.js +32 -0
- package/dist/__chunks/3N6HHI46.js.map +1 -0
- package/dist/__chunks/{PYNS67IV.js → 3OXEYQS2.js} +5 -5
- package/dist/__chunks/{PYNS67IV.js.map → 3OXEYQS2.js.map} +1 -1
- package/dist/__chunks/4EEVXYO7.js +216 -0
- package/dist/__chunks/4EEVXYO7.js.map +1 -0
- package/dist/__chunks/{UNIBFDXV.js → 4ONM4N5U.js} +5 -5
- package/dist/__chunks/{UNIBFDXV.js.map → 4ONM4N5U.js.map} +1 -1
- package/dist/__chunks/{CPBWDVD4.mjs → 4U36457H.mjs} +4 -4
- package/dist/__chunks/{CPBWDVD4.mjs.map → 4U36457H.mjs.map} +1 -1
- package/dist/__chunks/4VIJNV7V.mjs +216 -0
- package/dist/__chunks/4VIJNV7V.mjs.map +1 -0
- package/dist/__chunks/5C5EHJ47.js +34 -0
- package/dist/__chunks/5C5EHJ47.js.map +1 -0
- package/dist/__chunks/{R6CDK4GP.mjs → 5QXUIARJ.mjs} +3 -2
- package/dist/__chunks/5QXUIARJ.mjs.map +1 -0
- package/dist/__chunks/5VIJTDOF.mjs +120 -0
- package/dist/__chunks/5VIJTDOF.mjs.map +1 -0
- package/dist/__chunks/{3VUMTAUX.js → 5VV77UJJ.js} +5 -5
- package/dist/__chunks/{3VUMTAUX.js.map → 5VV77UJJ.js.map} +1 -1
- package/dist/__chunks/{SXTRSFG5.mjs → 6KRS5AXC.mjs} +1 -1
- package/dist/__chunks/6KRS5AXC.mjs.map +1 -0
- package/dist/__chunks/6LPXMM72.js +29 -0
- package/dist/__chunks/6LPXMM72.js.map +1 -0
- package/dist/__chunks/{MX7C572C.mjs → A2VHEPTR.mjs} +2 -2
- package/dist/__chunks/A4I7G22A.js +7 -0
- package/dist/__chunks/A4I7G22A.js.map +1 -0
- package/dist/__chunks/AR6OTJE4.mjs +120 -0
- package/dist/__chunks/AR6OTJE4.mjs.map +1 -0
- package/dist/__chunks/AXK2UBWP.js +120 -0
- package/dist/__chunks/AXK2UBWP.js.map +1 -0
- package/dist/__chunks/{CGGEM6XS.mjs → AYC7TUMS.mjs} +8 -8
- package/dist/__chunks/{CGGEM6XS.mjs.map → AYC7TUMS.mjs.map} +1 -1
- package/dist/__chunks/{LJHH6KUW.js → BBNBUAJV.js} +1 -1
- package/dist/__chunks/BBNBUAJV.js.map +1 -0
- package/dist/__chunks/{TKYRBLSM.js → BFZW2SIU.js} +14 -14
- package/dist/__chunks/{TKYRBLSM.js.map → BFZW2SIU.js.map} +1 -1
- package/dist/__chunks/BNRC45PX.js +15 -0
- package/dist/__chunks/BNRC45PX.js.map +1 -0
- package/dist/__chunks/{6VWFOSQZ.js → BXCLZFW3.js} +1 -1
- package/dist/__chunks/BXCLZFW3.js.map +1 -0
- package/dist/__chunks/C33AWSV6.js +61 -0
- package/dist/__chunks/C33AWSV6.js.map +1 -0
- package/dist/__chunks/CUVXZOBA.mjs +7 -0
- package/dist/__chunks/CUVXZOBA.mjs.map +1 -0
- package/dist/__chunks/CWODDNFV.mjs +66 -0
- package/dist/__chunks/CWODDNFV.mjs.map +1 -0
- package/dist/__chunks/{LZSDWT4M.mjs → D4JUFTND.mjs} +3 -3
- package/dist/__chunks/{LZSDWT4M.mjs.map → D4JUFTND.mjs.map} +1 -1
- package/dist/__chunks/{D24RSGYP.js → DOUZDU3A.js} +1 -1
- package/dist/__chunks/DOUZDU3A.js.map +1 -0
- package/dist/__chunks/{AGAHNSZM.js → DPOT7MLO.js} +6 -6
- package/dist/__chunks/{AGAHNSZM.js.map → DPOT7MLO.js.map} +1 -1
- package/dist/__chunks/EDT4HTWE.js +24 -0
- package/dist/__chunks/EDT4HTWE.js.map +1 -0
- package/dist/__chunks/{ERXGNP37.js → ESGV3EEU.js} +1 -1
- package/dist/__chunks/ESGV3EEU.js.map +1 -0
- package/dist/__chunks/F4HTASEF.mjs +24 -0
- package/dist/__chunks/{Q2TIB7ZC.mjs.map → F4HTASEF.mjs.map} +1 -1
- package/dist/__chunks/{JSEHOGL7.mjs → FLKYHNRX.mjs} +1 -1
- package/dist/__chunks/FLKYHNRX.mjs.map +1 -0
- package/dist/__chunks/FOSMT7QJ.js +34 -0
- package/dist/__chunks/FOSMT7QJ.js.map +1 -0
- package/dist/__chunks/FVU4BA3R.mjs +15 -0
- package/dist/__chunks/FVU4BA3R.mjs.map +1 -0
- package/dist/__chunks/FZO6U2EP.mjs +61 -0
- package/dist/__chunks/FZO6U2EP.mjs.map +1 -0
- package/dist/__chunks/GD77DL2Y.mjs +106 -0
- package/dist/__chunks/GD77DL2Y.mjs.map +1 -0
- package/dist/__chunks/{LKQ7PJ4S.mjs → HJYCSDLB.mjs} +3 -3
- package/dist/__chunks/HJYCSDLB.mjs.map +1 -0
- package/dist/__chunks/HPQ27RVD.js +7 -0
- package/dist/__chunks/HPQ27RVD.js.map +1 -0
- package/dist/__chunks/{GPS2XNQI.js → IAF6S5CX.js} +16 -20
- package/dist/__chunks/IAF6S5CX.js.map +1 -0
- package/dist/__chunks/IFTFN6UJ.mjs +96 -0
- package/dist/__chunks/IFTFN6UJ.mjs.map +1 -0
- package/dist/__chunks/IMA6TVID.js +14 -0
- package/dist/__chunks/IMA6TVID.js.map +1 -0
- package/dist/__chunks/{RRE7PRE5.mjs → JJQRVIE2.mjs} +3 -3
- package/dist/__chunks/{RRE7PRE5.mjs.map → JJQRVIE2.mjs.map} +1 -1
- package/dist/__chunks/{BJXYKZMK.mjs → JMKHYRFL.mjs} +3 -3
- package/dist/__chunks/JMKHYRFL.mjs.map +1 -0
- package/dist/__chunks/JQHT6NET.mjs +110 -0
- package/dist/__chunks/JQHT6NET.mjs.map +1 -0
- package/dist/__chunks/{DVVFHZBW.mjs → K3JR7BCX.mjs} +10 -14
- package/dist/__chunks/K3JR7BCX.mjs.map +1 -0
- package/dist/__chunks/K6XUX6LJ.mjs +34 -0
- package/dist/__chunks/K6XUX6LJ.mjs.map +1 -0
- package/dist/__chunks/{BSWWGQAS.js → KCIQ73YD.js} +6 -6
- package/dist/__chunks/{BSWWGQAS.js.map → KCIQ73YD.js.map} +1 -1
- package/dist/__chunks/{RSU3GDHB.mjs → KDEHEUYG.mjs} +3 -3
- package/dist/__chunks/{RSU3GDHB.mjs.map → KDEHEUYG.mjs.map} +1 -1
- package/dist/__chunks/KEVWT27Z.mjs +81 -0
- package/dist/__chunks/KEVWT27Z.mjs.map +1 -0
- package/dist/__chunks/KNBS7I65.mjs +34 -0
- package/dist/__chunks/KNBS7I65.mjs.map +1 -0
- package/dist/__chunks/KNDHXB3A.js +66 -0
- package/dist/__chunks/KNDHXB3A.js.map +1 -0
- package/dist/__chunks/KNTQWIRZ.mjs +64 -0
- package/dist/__chunks/KNTQWIRZ.mjs.map +1 -0
- package/dist/__chunks/LCM6DHNZ.mjs +120 -0
- package/dist/__chunks/{DVVFHZBW.mjs.map → LCM6DHNZ.mjs.map} +1 -1
- package/dist/__chunks/{FWVHWU47.mjs → LICJ6EW4.mjs} +1 -1
- package/dist/__chunks/LICJ6EW4.mjs.map +1 -0
- package/dist/__chunks/LJA4ANIH.js +120 -0
- package/dist/__chunks/LJA4ANIH.js.map +1 -0
- package/dist/__chunks/{37CQV3RS.js → LKIXWY5D.js} +3 -3
- package/dist/__chunks/{37CQV3RS.js.map → LKIXWY5D.js.map} +1 -1
- package/dist/__chunks/LTYTYJEN.mjs +20 -0
- package/dist/__chunks/{XN5AALLC.mjs.map → LTYTYJEN.mjs.map} +1 -1
- package/dist/__chunks/{RVT6EXR3.mjs → MF2FZIOI.mjs} +2 -2
- package/dist/__chunks/{WJDAVT5R.mjs → MQPPALTP.mjs} +1 -1
- package/dist/__chunks/MQPPALTP.mjs.map +1 -0
- package/dist/__chunks/MQYAYRG7.js +106 -0
- package/dist/__chunks/MQYAYRG7.js.map +1 -0
- package/dist/__chunks/MUJ5ZM2P.mjs +14 -0
- package/dist/__chunks/MUJ5ZM2P.mjs.map +1 -0
- package/dist/__chunks/NCGV4CPL.mjs +7 -0
- package/dist/__chunks/NCGV4CPL.mjs.map +1 -0
- package/dist/__chunks/NS7JP3FM.mjs +105 -0
- package/dist/__chunks/NS7JP3FM.mjs.map +1 -0
- package/dist/__chunks/{CQ2HIJ62.js → O24347EQ.js} +3 -3
- package/dist/__chunks/O7DAECUN.js +110 -0
- package/dist/__chunks/O7DAECUN.js.map +1 -0
- package/dist/__chunks/{BSFWQWVJ.js → OLOF45YI.js} +3 -3
- package/dist/__chunks/{2JWMSFS7.js → P4CNOF3E.js} +3 -3
- package/dist/__chunks/PLJUFTJY.js +120 -0
- package/dist/__chunks/PLJUFTJY.js.map +1 -0
- package/dist/__chunks/{OQ26OWU4.mjs → PN7GAGSA.mjs} +2 -2
- package/dist/__chunks/{OQ26OWU4.mjs.map → PN7GAGSA.mjs.map} +1 -1
- package/dist/__chunks/PR3BB3FG.js +96 -0
- package/dist/__chunks/PR3BB3FG.js.map +1 -0
- package/dist/__chunks/PRHHEVW3.mjs +14 -0
- package/dist/__chunks/PRHHEVW3.mjs.map +1 -0
- package/dist/__chunks/{F3ZST4RL.js → PTAZUBW6.js} +9 -9
- package/dist/__chunks/{F3ZST4RL.js.map → PTAZUBW6.js.map} +1 -1
- package/dist/__chunks/{3PCHHAIY.mjs → QQUTU6E5.mjs} +1 -1
- package/dist/__chunks/QQUTU6E5.mjs.map +1 -0
- package/dist/__chunks/QTRAGVT2.js +81 -0
- package/dist/__chunks/QTRAGVT2.js.map +1 -0
- package/dist/__chunks/QX4SPXNO.js +27 -0
- package/dist/__chunks/QX4SPXNO.js.map +1 -0
- package/dist/__chunks/R3JL4P3Q.js +72 -0
- package/dist/__chunks/R3JL4P3Q.js.map +1 -0
- package/dist/__chunks/{WCEOAOUO.mjs → RBVOI6NO.mjs} +3 -3
- package/dist/__chunks/{WCEOAOUO.mjs.map → RBVOI6NO.mjs.map} +1 -1
- package/dist/__chunks/{A7UVLRKG.mjs → RCT3DP22.mjs} +1 -1
- package/dist/__chunks/RCT3DP22.mjs.map +1 -0
- package/dist/__chunks/{MZEIZAZH.mjs → S2O3PM7G.mjs} +2 -2
- package/dist/__chunks/{TPMQI44L.js → S2OLRDIA.js} +1 -1
- package/dist/__chunks/S2OLRDIA.js.map +1 -0
- package/dist/__chunks/{XN5AALLC.mjs → SFLBYQCV.mjs} +2 -1
- package/dist/__chunks/SFLBYQCV.mjs.map +1 -0
- package/dist/__chunks/{Q2TIB7ZC.mjs → SSU3B5AR.mjs} +3 -2
- package/dist/__chunks/SSU3B5AR.mjs.map +1 -0
- package/dist/__chunks/{M6YFAP6P.mjs → SWA6IQLD.mjs} +1 -1
- package/dist/__chunks/{M6YFAP6P.mjs.map → SWA6IQLD.mjs.map} +1 -1
- package/dist/__chunks/TC3MWLLE.js +20 -0
- package/dist/__chunks/TC3MWLLE.js.map +1 -0
- package/dist/__chunks/{ERJ5XXDH.js → TCDLLMZO.js} +12 -12
- package/dist/__chunks/{ERJ5XXDH.js.map → TCDLLMZO.js.map} +1 -1
- package/dist/__chunks/TCXV6BXC.js +34 -0
- package/dist/__chunks/TCXV6BXC.js.map +1 -0
- package/dist/__chunks/{FOTKCGZZ.js → TQ4QQTSW.js} +6 -6
- package/dist/__chunks/TQ4QQTSW.js.map +1 -0
- package/dist/__chunks/USJPERI4.js +58 -0
- package/dist/__chunks/USJPERI4.js.map +1 -0
- package/dist/__chunks/{5R6HCJP6.mjs → V4YM6NMQ.mjs} +3 -3
- package/dist/__chunks/{5R6HCJP6.mjs.map → V4YM6NMQ.mjs.map} +1 -1
- package/dist/__chunks/VDPH7IK3.js +105 -0
- package/dist/__chunks/VDPH7IK3.js.map +1 -0
- package/dist/__chunks/{2O6FDRTF.js → VPGRPGP7.js} +1 -1
- package/dist/__chunks/VPGRPGP7.js.map +1 -0
- package/dist/__chunks/WIDP7NHD.mjs +72 -0
- package/dist/__chunks/WIDP7NHD.mjs.map +1 -0
- package/dist/__chunks/{X74O4HUS.js → WLELQDTJ.js} +5 -5
- package/dist/__chunks/{X74O4HUS.js.map → WLELQDTJ.js.map} +1 -1
- package/dist/__chunks/{2PHVTRWC.js → WO3NKGKN.js} +7 -7
- package/dist/__chunks/{2PHVTRWC.js.map → WO3NKGKN.js.map} +1 -1
- package/dist/__chunks/WOYU2W3H.js +53 -0
- package/dist/__chunks/WOYU2W3H.js.map +1 -0
- package/dist/__chunks/WPIBNMAN.mjs +53 -0
- package/dist/__chunks/WPIBNMAN.mjs.map +1 -0
- package/dist/__chunks/WSCARST6.mjs +58 -0
- package/dist/__chunks/WSCARST6.mjs.map +1 -0
- package/dist/__chunks/{HQVZUEWO.js → YKIJQZYO.js} +2 -1
- package/dist/__chunks/YKIJQZYO.js.map +1 -0
- package/dist/__chunks/YOICG7YI.mjs +31 -0
- package/dist/__chunks/YOICG7YI.mjs.map +1 -0
- package/dist/__chunks/{BWTLHCW3.mjs → YUPTQIXD.mjs} +3 -3
- package/dist/__chunks/{BWTLHCW3.mjs.map → YUPTQIXD.mjs.map} +1 -1
- package/dist/__chunks/Z6VJIDKQ.js +31 -0
- package/dist/__chunks/Z6VJIDKQ.js.map +1 -0
- package/dist/__chunks/ZCN7X7TS.js +14 -0
- package/dist/__chunks/ZCN7X7TS.js.map +1 -0
- package/dist/__chunks/ZHZ6U63Z.mjs +29 -0
- package/dist/__chunks/{R6CDK4GP.mjs.map → ZHZ6U63Z.mjs.map} +1 -1
- package/dist/colors/backgroundColor.css +1 -1
- package/dist/colors/backgroundColor.css.map +1 -1
- package/dist/colors/backgroundColor.js +3 -3
- package/dist/colors/backgroundColor.mjs +2 -2
- package/dist/colors/foregroundColor.css +1 -1
- package/dist/colors/foregroundColor.css.map +1 -1
- package/dist/colors/foregroundColor.js +3 -3
- package/dist/colors/foregroundColor.mjs +2 -2
- package/dist/colors/foregroundTypographyColor.js +2 -2
- package/dist/colors/foregroundTypographyColor.mjs +1 -1
- package/dist/index.css +288 -290
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +33 -28
- package/dist/index.mjs +32 -27
- package/package.json +16 -16
- package/LICENSE +0 -201
- package/dist/__chunks/2O6FDRTF.js.map +0 -1
- package/dist/__chunks/3PCHHAIY.mjs.map +0 -1
- package/dist/__chunks/4PWSK5GI.js.map +0 -1
- package/dist/__chunks/6VWFOSQZ.js.map +0 -1
- package/dist/__chunks/A7UVLRKG.mjs.map +0 -1
- package/dist/__chunks/BJXYKZMK.mjs.map +0 -1
- package/dist/__chunks/CATJI2RJ.js +0 -26
- package/dist/__chunks/CATJI2RJ.js.map +0 -1
- package/dist/__chunks/D24RSGYP.js.map +0 -1
- package/dist/__chunks/ERXGNP37.js.map +0 -1
- package/dist/__chunks/FOTKCGZZ.js.map +0 -1
- package/dist/__chunks/FWVHWU47.mjs.map +0 -1
- package/dist/__chunks/G4DDTGDI.js +0 -31
- package/dist/__chunks/G4DDTGDI.js.map +0 -1
- package/dist/__chunks/GPS2XNQI.js.map +0 -1
- package/dist/__chunks/HAZN2FCY.mjs.map +0 -1
- package/dist/__chunks/HQVZUEWO.js.map +0 -1
- package/dist/__chunks/JSEHOGL7.mjs.map +0 -1
- package/dist/__chunks/LJHH6KUW.js.map +0 -1
- package/dist/__chunks/LKQ7PJ4S.mjs.map +0 -1
- package/dist/__chunks/SXTRSFG5.mjs.map +0 -1
- package/dist/__chunks/TPMQI44L.js.map +0 -1
- package/dist/__chunks/WJDAVT5R.mjs.map +0 -1
- /package/dist/__chunks/{MX7C572C.mjs.map → A2VHEPTR.mjs.map} +0 -0
- /package/dist/__chunks/{RVT6EXR3.mjs.map → MF2FZIOI.mjs.map} +0 -0
- /package/dist/__chunks/{CQ2HIJ62.js.map → O24347EQ.js.map} +0 -0
- /package/dist/__chunks/{BSFWQWVJ.js.map → OLOF45YI.js.map} +0 -0
- /package/dist/__chunks/{2JWMSFS7.js.map → P4CNOF3E.js.map} +0 -0
- /package/dist/__chunks/{MZEIZAZH.mjs.map → S2O3PM7G.mjs.map} +0 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import {
|
|
2
|
+
textVariant_default
|
|
3
|
+
} from "./AMBZXKUQ.mjs";
|
|
4
|
+
import {
|
|
5
|
+
iconSize_default
|
|
6
|
+
} from "./FVU4BA3R.mjs";
|
|
7
|
+
import {
|
|
8
|
+
Typography_default
|
|
9
|
+
} from "./3HUELEGR.mjs";
|
|
10
|
+
import {
|
|
11
|
+
foregroundTypographyColor
|
|
12
|
+
} from "./SFLBYQCV.mjs";
|
|
13
|
+
import {
|
|
14
|
+
foregroundColor
|
|
15
|
+
} from "./SSU3B5AR.mjs";
|
|
16
|
+
import {
|
|
17
|
+
backgroundColor
|
|
18
|
+
} from "./5QXUIARJ.mjs";
|
|
19
|
+
|
|
20
|
+
// src/LinkButton/LinkButton.tsx
|
|
21
|
+
import { forwardRef } from "react";
|
|
22
|
+
import classNames from "classnames";
|
|
23
|
+
|
|
24
|
+
// css-module:../Button/Button.module.css#css-module
|
|
25
|
+
var Button_module_default = { "button": "_button_raa9c_1", "buttonGap": "_buttonGap_raa9c_10", "fullWidth": "_fullWidth_raa9c_51", "sm": "_sm_raa9c_55", "md": "_md_raa9c_61", "lg": "_lg_raa9c_67", "icon": "_icon_raa9c_73", "smIcon": "_smIcon_raa9c_77", "mdIcon": "_mdIcon_raa9c_84", "lgIcon": "_lgIcon_raa9c_91", "secondaryBorder": "_secondaryBorder_raa9c_98", "secondaryDestructiveBorder": "_secondaryDestructiveBorder_raa9c_102", "loading": "_loading_raa9c_116", "syntaxButtonLoadingRotate": "_syntaxButtonLoadingRotate_raa9c_1", "loadingCircle": "_loadingCircle_raa9c_120" };
|
|
26
|
+
|
|
27
|
+
// css-module:./LinkButton.module.css#css-module
|
|
28
|
+
var LinkButton_module_default = { "linkButton": "_linkButton_1qjrb_1", "fitContent": "_fitContent_1qjrb_11" };
|
|
29
|
+
|
|
30
|
+
// src/LinkButton/LinkButton.tsx
|
|
31
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
32
|
+
var LinkButton = forwardRef(
|
|
33
|
+
({
|
|
34
|
+
text,
|
|
35
|
+
href,
|
|
36
|
+
target,
|
|
37
|
+
rel,
|
|
38
|
+
"data-testid": dataTestId,
|
|
39
|
+
color = "primary",
|
|
40
|
+
size = "md",
|
|
41
|
+
fullWidth = false,
|
|
42
|
+
startIcon: StartIcon,
|
|
43
|
+
endIcon: EndIcon,
|
|
44
|
+
onClick
|
|
45
|
+
}, ref) => {
|
|
46
|
+
return /* @__PURE__ */ jsxs(
|
|
47
|
+
"a",
|
|
48
|
+
{
|
|
49
|
+
href,
|
|
50
|
+
"data-testid": dataTestId,
|
|
51
|
+
target,
|
|
52
|
+
ref,
|
|
53
|
+
rel,
|
|
54
|
+
className: classNames(
|
|
55
|
+
LinkButton_module_default.linkButton,
|
|
56
|
+
Button_module_default.button,
|
|
57
|
+
foregroundColor(color),
|
|
58
|
+
backgroundColor(color),
|
|
59
|
+
Button_module_default[size],
|
|
60
|
+
{
|
|
61
|
+
[Button_module_default.fullWidth]: fullWidth,
|
|
62
|
+
[LinkButton_module_default.fitContent]: !fullWidth,
|
|
63
|
+
[Button_module_default.buttonGap]: size === "lg" || size === "md",
|
|
64
|
+
[Button_module_default.secondaryBorder]: color === "secondary",
|
|
65
|
+
[Button_module_default.secondaryDestructiveBorder]: color === "destructive-secondary"
|
|
66
|
+
}
|
|
67
|
+
),
|
|
68
|
+
onClick,
|
|
69
|
+
children: [
|
|
70
|
+
StartIcon && /* @__PURE__ */ jsx(
|
|
71
|
+
StartIcon,
|
|
72
|
+
{
|
|
73
|
+
className: classNames(Button_module_default.icon, iconSize_default[size])
|
|
74
|
+
}
|
|
75
|
+
),
|
|
76
|
+
/* @__PURE__ */ jsx(
|
|
77
|
+
Typography_default,
|
|
78
|
+
{
|
|
79
|
+
color: foregroundTypographyColor(color),
|
|
80
|
+
size: textVariant_default[size],
|
|
81
|
+
children: /* @__PURE__ */ jsx("span", { style: { fontWeight: 500 }, children: text })
|
|
82
|
+
}
|
|
83
|
+
),
|
|
84
|
+
EndIcon && /* @__PURE__ */ jsx(EndIcon, { className: classNames(Button_module_default.icon, iconSize_default[size]) })
|
|
85
|
+
]
|
|
86
|
+
}
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
);
|
|
90
|
+
LinkButton.displayName = "LinkButton";
|
|
91
|
+
var LinkButton_default = LinkButton;
|
|
92
|
+
|
|
93
|
+
export {
|
|
94
|
+
LinkButton_default
|
|
95
|
+
};
|
|
96
|
+
//# sourceMappingURL=IFTFN6UJ.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/LinkButton/LinkButton.tsx","css-module:../Button/Button.module.css#css-module","css-module:./LinkButton.module.css#css-module"],"sourcesContent":["import { forwardRef, type HtmlHTMLAttributes } from \"react\";\nimport classNames from \"classnames\";\nimport backgroundColor from \"../colors/backgroundColor\";\nimport foregroundColor from \"../colors/foregroundColor\";\nimport foregroundTypographyColor from \"../colors/foregroundTypographyColor\";\nimport React from \"react\";\nimport { type Size } from \"../constants\";\nimport Typography from \"../Typography/Typography\";\n\nimport buttonStyles from \"../Button/Button.module.css\";\nimport iconSize from \"../Button/constants/iconSize\";\nimport textVariant from \"../Button/constants/textVariant\";\n\nimport styles from \"./LinkButton.module.css\";\n\ntype LinkButtonProps = {\n /**\n * Test id for the button\n */\n \"data-testid\"?: string;\n /**\n * The text to be displayed inside the button\n */\n text: string;\n /**\n * The link that the LinkButton should route to.\n *\n */\n href?: string;\n /**\n * The target attribute specifies where to open the linked document.\n *\n */\n target?: \"_blank\" | \"_self\" | \"_parent\" | \"_top\";\n /**\n * The rel attribute specifies the relationship between the document and the link.\n *\n */\n rel?: HtmlHTMLAttributes<HTMLAnchorElement>[\"rel\"];\n /**\n * The color of the button\n *\n * @defaultValue \"primary\"\n */\n color?:\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"destructive-primary\"\n | \"destructive-secondary\"\n | \"destructive-tertiary\"\n | \"branded\"\n | \"success\";\n /**\n * The size of the button\n *\n * * `sm`: 32px\n * * `md`: 40px\n * * `lg`: 48px\n *\n * @defaultValue \"md\"\n */\n size?: (typeof Size)[number];\n /**\n * If `true`, the button will take up the full width of its container\n *\n * @defaultValue false\n */\n fullWidth?: boolean;\n /**\n * The icon to be displayed at the start of the button. Please use a [Rounded Material Icon](https://material.io/resources/icons/?style=round)\n */\n startIcon?: React.ComponentType<{ className?: string }>;\n /**\n * The icon to be displayed at the end of the button. Please use a [Rounded Material Icon](https://material.io/resources/icons/?style=round)\n */\n endIcon?: React.ComponentType<{ className?: string }>;\n /**\n * An optional onClick event. This is used for certain wrapper's support (such as react-router-dom).\n */\n onClick?: React.MouseEventHandler<HTMLAnchorElement>;\n};\n\n/**\n * [LinkButton](https://cambly-syntax.vercel.app/?path=/docs/components-linkbutton--docs) is a \"variation\" of Button that should look identical to Button, but should be used to render links instead.\n */\nconst LinkButton = forwardRef<HTMLAnchorElement, LinkButtonProps>(\n (\n {\n text,\n href,\n target,\n rel,\n \"data-testid\": dataTestId,\n color = \"primary\",\n size = \"md\",\n fullWidth = false,\n startIcon: StartIcon,\n endIcon: EndIcon,\n onClick,\n }: LinkButtonProps,\n ref,\n ) => {\n return (\n <a\n href={href}\n data-testid={dataTestId}\n target={target}\n ref={ref}\n rel={rel}\n className={classNames(\n styles.linkButton,\n buttonStyles.button,\n foregroundColor(color),\n backgroundColor(color),\n buttonStyles[size],\n {\n [buttonStyles.fullWidth]: fullWidth,\n [styles.fitContent]: !fullWidth,\n [buttonStyles.buttonGap]: size === \"lg\" || size === \"md\",\n [buttonStyles.secondaryBorder]: color === \"secondary\",\n [buttonStyles.secondaryDestructiveBorder]:\n color === \"destructive-secondary\",\n },\n )}\n onClick={onClick}\n >\n {StartIcon && (\n <StartIcon\n className={classNames(buttonStyles.icon, iconSize[size])}\n />\n )}\n <Typography\n color={foregroundTypographyColor(color)}\n size={textVariant[size]}\n >\n <span style={{ fontWeight: 500 }}>{text}</span>\n </Typography>\n {EndIcon && (\n <EndIcon className={classNames(buttonStyles.icon, iconSize[size])} />\n )}\n </a>\n );\n },\n);\n\nLinkButton.displayName = \"LinkButton\";\n\nexport default LinkButton;\n","import \"/Users/christian/cambly/syntax/packages/syntax-core/src/Button/Button.module.css\"; export default {\"button\":\"_button_raa9c_1\",\"buttonGap\":\"_buttonGap_raa9c_10\",\"fullWidth\":\"_fullWidth_raa9c_51\",\"sm\":\"_sm_raa9c_55\",\"md\":\"_md_raa9c_61\",\"lg\":\"_lg_raa9c_67\",\"icon\":\"_icon_raa9c_73\",\"smIcon\":\"_smIcon_raa9c_77\",\"mdIcon\":\"_mdIcon_raa9c_84\",\"lgIcon\":\"_lgIcon_raa9c_91\",\"secondaryBorder\":\"_secondaryBorder_raa9c_98\",\"secondaryDestructiveBorder\":\"_secondaryDestructiveBorder_raa9c_102\",\"loading\":\"_loading_raa9c_116\",\"syntaxButtonLoadingRotate\":\"_syntaxButtonLoadingRotate_raa9c_1\",\"loadingCircle\":\"_loadingCircle_raa9c_120\"}","import \"/Users/christian/cambly/syntax/packages/syntax-core/src/LinkButton/LinkButton.module.css\"; export default {\"linkButton\":\"_linkButton_1qjrb_1\",\"fitContent\":\"_fitContent_1qjrb_11\"}"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,SAAS,kBAA2C;AACpD,OAAO,gBAAgB;;;ACDoE,IAAO,wBAAQ,EAAC,UAAS,mBAAkB,aAAY,uBAAsB,aAAY,uBAAsB,MAAK,gBAAe,MAAK,gBAAe,MAAK,gBAAe,QAAO,kBAAiB,UAAS,oBAAmB,UAAS,oBAAmB,UAAS,oBAAmB,mBAAkB,6BAA4B,8BAA6B,yCAAwC,WAAU,sBAAqB,6BAA4B,sCAAqC,iBAAgB,2BAA0B;;;ACA5gB,IAAO,4BAAQ,EAAC,cAAa,uBAAsB,cAAa,uBAAsB;;;AFwGnL,SAwBI,KAxBJ;AAlBN,IAAM,aAAa;AAAA,EACjB,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,SAAS;AAAA,IACT;AAAA,EACF,GACA,QACG;AACH,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,eAAa;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,QACA,WAAW;AAAA,UACT,0BAAO;AAAA,UACP,sBAAa;AAAA,UACb,gBAAgB,KAAK;AAAA,UACrB,gBAAgB,KAAK;AAAA,UACrB,sBAAa,IAAI;AAAA,UACjB;AAAA,YACE,CAAC,sBAAa,SAAS,GAAG;AAAA,YAC1B,CAAC,0BAAO,UAAU,GAAG,CAAC;AAAA,YACtB,CAAC,sBAAa,SAAS,GAAG,SAAS,QAAQ,SAAS;AAAA,YACpD,CAAC,sBAAa,eAAe,GAAG,UAAU;AAAA,YAC1C,CAAC,sBAAa,0BAA0B,GACtC,UAAU;AAAA,UACd;AAAA,QACF;AAAA,QACA;AAAA,QAEC;AAAA,uBACC;AAAA,YAAC;AAAA;AAAA,cACC,WAAW,WAAW,sBAAa,MAAM,iBAAS,IAAI,CAAC;AAAA;AAAA,UACzD;AAAA,UAEF;AAAA,YAAC;AAAA;AAAA,cACC,OAAO,0BAA0B,KAAK;AAAA,cACtC,MAAM,oBAAY,IAAI;AAAA,cAEtB,8BAAC,UAAK,OAAO,EAAE,YAAY,IAAI,GAAI,gBAAK;AAAA;AAAA,UAC1C;AAAA,UACC,WACC,oBAAC,WAAQ,WAAW,WAAW,sBAAa,MAAM,iBAAS,IAAI,CAAC,GAAG;AAAA;AAAA;AAAA,IAEvE;AAAA,EAEJ;AACF;AAEA,WAAW,cAAc;AAEzB,IAAO,qBAAQ;","names":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// css-module:./Divider.module.css#css-module
|
|
2
|
+
var Divider_module_default = { "divider": "_divider_1ddgq_1" };
|
|
3
|
+
|
|
4
|
+
// src/Divider/Divider.tsx
|
|
5
|
+
var _jsxruntime = require('react/jsx-runtime');
|
|
6
|
+
function Divider() {
|
|
7
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "hr", { className: Divider_module_default.divider });
|
|
8
|
+
}
|
|
9
|
+
Divider.displayName = "Divider";
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
exports.Divider = Divider;
|
|
14
|
+
//# sourceMappingURL=IMA6TVID.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["css-module:./Divider.module.css#css-module","../../src/Divider/Divider.tsx"],"names":[],"mappings":";AAA6F,IAAO,yBAAQ,EAAC,WAAU,mBAAkB;;;ACMhI;AADM,SAAR,UAA+C;AACpD,SAAO,oBAAC,QAAG,WAAW,uBAAO,SAAS;AACxC;AAEA,QAAQ,cAAc","sourcesContent":["import \"/Users/christian/cambly/syntax/packages/syntax-core/src/Divider/Divider.module.css\"; export default {\"divider\":\"_divider_1ddgq_1\"}","import styles from \"./Divider.module.css\";\n\n/**\n * [Divider](https://cambly-syntax.vercel.app/?path=/docs/components-divider--docs) is a thin horizontal line to group content in lists and layouts.\n */\nexport default function Divider(): React.ReactElement {\n return <hr className={styles.divider} />;\n}\n\nDivider.displayName = \"Divider\";\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Box_default
|
|
3
|
-
} from "./
|
|
3
|
+
} from "./HJYCSDLB.mjs";
|
|
4
4
|
import {
|
|
5
5
|
Typography_default
|
|
6
|
-
} from "./
|
|
6
|
+
} from "./3HUELEGR.mjs";
|
|
7
7
|
import {
|
|
8
8
|
useIsHydrated
|
|
9
9
|
} from "./XFKGXL73.mjs";
|
|
@@ -83,4 +83,4 @@ function TextField({
|
|
|
83
83
|
export {
|
|
84
84
|
TextField
|
|
85
85
|
};
|
|
86
|
-
//# sourceMappingURL=
|
|
86
|
+
//# sourceMappingURL=JJQRVIE2.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/TextField/TextField.tsx","css-module:./TextField.module.css#css-module"],"sourcesContent":["import React, {\n type ReactElement,\n type HTMLInputTypeAttribute,\n useId,\n} from \"react\";\nimport classNames from \"classnames\";\nimport styles from \"./TextField.module.css\";\nimport Box from \"../Box/Box\";\nimport Typography from \"../Typography/Typography\";\nimport useIsHydrated from \"../useIsHydrated\";\n\n/**\n * [TextField](https://cambly-syntax.vercel.app/?path=/docs/components-textfield--docs) is a component that allows users to enter text.\n */\nexport default function TextField({\n autoComplete,\n \"data-testid\": dataTestId,\n disabled: disabledProp = false,\n errorText = \"\",\n helperText = \"\",\n id,\n label,\n onChange,\n placeholder = \"\",\n size = \"md\",\n type = \"text\",\n value = \"\",\n}: {\n /**\n * The autocomplete attribute specifies whether or not an input field should have autocomplete enabled.\n *\n * Feel free to add new values from the [MDN docs](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) as needed\n */\n autoComplete?: \"current-password\" | \"new-password\" | \"off\" | \"on\" | \"email\";\n /**\n * A data-testid to make querying for the TextField easier.\n */\n \"data-testid\"?: string;\n /**\n * If true, the TextField will be disabled.\n *\n * @defaultValue false\n */\n disabled?: boolean;\n /**\n * Text shown below TextField if there is an input error.\n */\n errorText?: string;\n /**\n * Informative helper text shown below TextField\n */\n helperText?: string;\n /**\n * TextField id, if not provided, a unique id will be generated\n */\n id?: string;\n /**\n * TextField visible label\n */\n label: string;\n /**\n * The callback to be called the input changes\n */\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n /**\n * Optional TextField placeholder text\n */\n placeholder?: string;\n /**\n * Size of the TextField\n * * `sm`: 32px\n * * `md`: 40px\n * * `lg`: 48px\n *\n * @defaultValue \"md\"\n */\n size?: \"sm\" | \"md\" | \"lg\";\n /**\n * Input type of the TextField\n *\n * See [full list of input types](https://developer.mozilla.org/en-US/docs/Learn/Forms/HTML5_input_types)\n */\n type?: HTMLInputTypeAttribute;\n /**\n * Value of the TextField\n */\n value: string;\n}): ReactElement {\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated || disabledProp;\n const reactId = useId();\n const inputId = id ?? reactId;\n\n return (\n <Box\n display=\"flex\"\n direction=\"column\"\n gap={2}\n width=\"100%\"\n dangerouslySetInlineStyle={{\n __style: {\n opacity: disabled ? 0.5 : 1,\n },\n }}\n >\n {label && (\n <label className={styles.label} htmlFor={inputId}>\n <Box paddingX={1}>\n <Typography size={100} color=\"gray700\">\n {label}\n </Typography>\n </Box>\n </label>\n )}\n <input\n autoComplete={autoComplete}\n className={classNames(styles.textfield, styles[size], {\n [styles.inputError]: errorText,\n })}\n data-testid={dataTestId}\n disabled={disabled}\n id={inputId}\n type={type}\n onChange={onChange}\n placeholder={placeholder}\n value={value}\n />\n {(helperText || errorText) && (\n <Box paddingX={1}>\n <Typography\n size={100}\n color={errorText ? \"destructive-primary\" : \"gray700\"}\n >\n {errorText || helperText}\n </Typography>\n </Box>\n )}\n </Box>\n );\n}\n","import \"/
|
|
1
|
+
{"version":3,"sources":["../../src/TextField/TextField.tsx","css-module:./TextField.module.css#css-module"],"sourcesContent":["import React, {\n type ReactElement,\n type HTMLInputTypeAttribute,\n useId,\n} from \"react\";\nimport classNames from \"classnames\";\nimport styles from \"./TextField.module.css\";\nimport Box from \"../Box/Box\";\nimport Typography from \"../Typography/Typography\";\nimport useIsHydrated from \"../useIsHydrated\";\n\n/**\n * [TextField](https://cambly-syntax.vercel.app/?path=/docs/components-textfield--docs) is a component that allows users to enter text.\n */\nexport default function TextField({\n autoComplete,\n \"data-testid\": dataTestId,\n disabled: disabledProp = false,\n errorText = \"\",\n helperText = \"\",\n id,\n label,\n onChange,\n placeholder = \"\",\n size = \"md\",\n type = \"text\",\n value = \"\",\n}: {\n /**\n * The autocomplete attribute specifies whether or not an input field should have autocomplete enabled.\n *\n * Feel free to add new values from the [MDN docs](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) as needed\n */\n autoComplete?: \"current-password\" | \"new-password\" | \"off\" | \"on\" | \"email\";\n /**\n * A data-testid to make querying for the TextField easier.\n */\n \"data-testid\"?: string;\n /**\n * If true, the TextField will be disabled.\n *\n * @defaultValue false\n */\n disabled?: boolean;\n /**\n * Text shown below TextField if there is an input error.\n */\n errorText?: string;\n /**\n * Informative helper text shown below TextField\n */\n helperText?: string;\n /**\n * TextField id, if not provided, a unique id will be generated\n */\n id?: string;\n /**\n * TextField visible label\n */\n label: string;\n /**\n * The callback to be called the input changes\n */\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n /**\n * Optional TextField placeholder text\n */\n placeholder?: string;\n /**\n * Size of the TextField\n * * `sm`: 32px\n * * `md`: 40px\n * * `lg`: 48px\n *\n * @defaultValue \"md\"\n */\n size?: \"sm\" | \"md\" | \"lg\";\n /**\n * Input type of the TextField\n *\n * See [full list of input types](https://developer.mozilla.org/en-US/docs/Learn/Forms/HTML5_input_types)\n */\n type?: HTMLInputTypeAttribute;\n /**\n * Value of the TextField\n */\n value: string;\n}): ReactElement {\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated || disabledProp;\n const reactId = useId();\n const inputId = id ?? reactId;\n\n return (\n <Box\n display=\"flex\"\n direction=\"column\"\n gap={2}\n width=\"100%\"\n dangerouslySetInlineStyle={{\n __style: {\n opacity: disabled ? 0.5 : 1,\n },\n }}\n >\n {label && (\n <label className={styles.label} htmlFor={inputId}>\n <Box paddingX={1}>\n <Typography size={100} color=\"gray700\">\n {label}\n </Typography>\n </Box>\n </label>\n )}\n <input\n autoComplete={autoComplete}\n className={classNames(styles.textfield, styles[size], {\n [styles.inputError]: errorText,\n })}\n data-testid={dataTestId}\n disabled={disabled}\n id={inputId}\n type={type}\n onChange={onChange}\n placeholder={placeholder}\n value={value}\n />\n {(helperText || errorText) && (\n <Box paddingX={1}>\n <Typography\n size={100}\n color={errorText ? \"destructive-primary\" : \"gray700\"}\n >\n {errorText || helperText}\n </Typography>\n </Box>\n )}\n </Box>\n );\n}\n","import \"/Users/christian/cambly/syntax/packages/syntax-core/src/TextField/TextField.module.css\"; export default {\"textfield\":\"_textfield_cltsv_1\",\"label\":\"_label_cltsv_21\",\"sm\":\"_sm_cltsv_25\",\"md\":\"_md_cltsv_30\",\"lg\":\"_lg_cltsv_35\",\"inputError\":\"_inputError_cltsv_40\"}"],"mappings":";;;;;;;;;;;AAAA;AAAA,EAGE;AAAA,OACK;AACP,OAAO,gBAAgB;;;ACL0E,IAAO,2BAAQ,EAAC,aAAY,sBAAqB,SAAQ,mBAAkB,MAAK,gBAAe,MAAK,gBAAe,MAAK,gBAAe,cAAa,uBAAsB;;;AD8FvQ,SAcQ,KAdR;AAhFW,SAAR,UAA2B;AAAA,EAChC;AAAA,EACA,eAAe;AAAA,EACf,UAAU,eAAe;AAAA,EACzB,YAAY;AAAA,EACZ,aAAa;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AACV,GA4DiB;AACf,QAAM,aAAa,cAAc;AACjC,QAAM,WAAW,CAAC,cAAc;AAChC,QAAM,UAAU,MAAM;AACtB,QAAM,UAAU,kBAAM;AAEtB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,WAAU;AAAA,MACV,KAAK;AAAA,MACL,OAAM;AAAA,MACN,2BAA2B;AAAA,QACzB,SAAS;AAAA,UACP,SAAS,WAAW,MAAM;AAAA,QAC5B;AAAA,MACF;AAAA,MAEC;AAAA,iBACC,oBAAC,WAAM,WAAW,yBAAO,OAAO,SAAS,SACvC,8BAAC,eAAI,UAAU,GACb,8BAAC,sBAAW,MAAM,KAAK,OAAM,WAC1B,iBACH,GACF,GACF;AAAA,QAEF;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,WAAW,WAAW,yBAAO,WAAW,yBAAO,IAAI,GAAG;AAAA,cACpD,CAAC,yBAAO,UAAU,GAAG;AAAA,YACvB,CAAC;AAAA,YACD,eAAa;AAAA,YACb;AAAA,YACA,IAAI;AAAA,YACJ;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,QACF;AAAA,SACE,cAAc,cACd,oBAAC,eAAI,UAAU,GACb;AAAA,UAAC;AAAA;AAAA,YACC,MAAM;AAAA,YACN,OAAO,YAAY,wBAAwB;AAAA,YAE1C,uBAAa;AAAA;AAAA,QAChB,GACF;AAAA;AAAA;AAAA,EAEJ;AAEJ;","names":[]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Box_default
|
|
3
|
-
} from "./
|
|
3
|
+
} from "./HJYCSDLB.mjs";
|
|
4
4
|
import {
|
|
5
5
|
Typography_default
|
|
6
|
-
} from "./
|
|
6
|
+
} from "./3HUELEGR.mjs";
|
|
7
7
|
|
|
8
8
|
// css-module:./Badge.module.css#css-module
|
|
9
9
|
var Badge_module_default = { "icon": "_icon_1g9xb_1" };
|
|
@@ -50,4 +50,4 @@ var Badge_default = Badge;
|
|
|
50
50
|
export {
|
|
51
51
|
Badge_default
|
|
52
52
|
};
|
|
53
|
-
//# sourceMappingURL=
|
|
53
|
+
//# sourceMappingURL=JMKHYRFL.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["css-module:./Badge.module.css#css-module","../../src/Badge/Badge.tsx"],"sourcesContent":["import \"/Users/christian/cambly/syntax/packages/syntax-core/src/Badge/Badge.module.css\"; export default {\"icon\":\"_icon_1g9xb_1\"}","import Typography from \"../Typography/Typography\";\nimport Box from \"../Box/Box\";\nimport styles from \"./Badge.module.css\";\n\nconst BadgeColor = [\n \"gray200\",\n \"gray900\",\n \"destructive700\",\n \"orange700\",\n \"yellow700\",\n \"success700\",\n \"primary700\",\n \"purple700\",\n] as const;\n\nconst textColorForBackgroundColor = (\n color: (typeof BadgeColor)[number],\n): \"gray900\" | \"white\" => {\n switch (color) {\n case \"gray200\":\n case \"yellow700\":\n return \"gray900\";\n default:\n return \"white\";\n }\n};\n\n/**\n * [Badge](https://cambly-syntax.vercel.app/?path=/docs/components-badge--docs) is a component to display short text and give additional context to features and other components.\n */\nconst Badge = ({\n icon: Icon,\n text,\n color = \"primary700\",\n}: {\n /**\n * The icon to be displayed. Please use a [Material Icon](https://material.io/resources/icons/)\n */\n icon?: React.ComponentType<{ className?: string }>;\n /**\n * The text to display inside the badge\n */\n text: string;\n /**\n * The color of the badge\n *\n * @defaultValue \"primary700\"\n */\n color?: (typeof BadgeColor)[number];\n}): JSX.Element => (\n <Box\n display=\"inlineBlock\"\n paddingX={2}\n paddingY={1}\n rounding=\"full\"\n backgroundColor={color}\n >\n <Typography color={textColorForBackgroundColor(color)} size={100}>\n <Box display=\"flex\" gap={1} alignItems=\"center\" justifyContent=\"start\">\n {Icon && <Icon className={styles.icon} />}\n <Typography\n color={textColorForBackgroundColor(color)}\n size={100}\n weight=\"bold\"\n >\n {text}\n </Typography>\n </Box>\n </Typography>\n </Box>\n);\n\nexport default Badge;\n"],"mappings":";;;;;;;;AAAyF,IAAO,uBAAQ,EAAC,QAAO,gBAAe;;;AC0DzH,SACW,KADX;AA3CN,IAAM,8BAA8B,CAClC,UACwB;AACxB,UAAQ,OAAO;AAAA,IACb,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAKA,IAAM,QAAQ,CAAC;AAAA,EACb,MAAM;AAAA,EACN;AAAA,EACA,QAAQ;AACV,MAgBE;AAAA,EAAC;AAAA;AAAA,IACC,SAAQ;AAAA,IACR,UAAU;AAAA,IACV,UAAU;AAAA,IACV,UAAS;AAAA,IACT,iBAAiB;AAAA,IAEjB,8BAAC,sBAAW,OAAO,4BAA4B,KAAK,GAAG,MAAM,KAC3D,+BAAC,eAAI,SAAQ,QAAO,KAAK,GAAG,YAAW,UAAS,gBAAe,SAC5D;AAAA,cAAQ,oBAAC,QAAK,WAAW,qBAAO,MAAM;AAAA,MACvC;AAAA,QAAC;AAAA;AAAA,UACC,OAAO,4BAA4B,KAAK;AAAA,UACxC,MAAM;AAAA,UACN,QAAO;AAAA,UAEN;AAAA;AAAA,MACH;AAAA,OACF,GACF;AAAA;AACF;AAGF,IAAO,gBAAQ;","names":[]}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Heading_default
|
|
3
|
+
} from "./KNBS7I65.mjs";
|
|
4
|
+
import {
|
|
5
|
+
StopScroll
|
|
6
|
+
} from "./UCMB6MFN.mjs";
|
|
7
|
+
import {
|
|
8
|
+
Layer
|
|
9
|
+
} from "./YOICG7YI.mjs";
|
|
10
|
+
import {
|
|
11
|
+
Box_default
|
|
12
|
+
} from "./4VIJNV7V.mjs";
|
|
13
|
+
import {
|
|
14
|
+
FocusTrap
|
|
15
|
+
} from "./PGVLU6C3.mjs";
|
|
16
|
+
|
|
17
|
+
// src/Modal/Modal.tsx
|
|
18
|
+
import classnames from "classnames";
|
|
19
|
+
|
|
20
|
+
// css-module:./Modal.module.css#css-module
|
|
21
|
+
var Modal_module_default = { "backdrop": "_backdrop_30t3h_1", "closeButton": "_closeButton_30t3h_12", "closeButtonWithImage": "_closeButtonWithImage_30t3h_32" };
|
|
22
|
+
|
|
23
|
+
// src/Modal/Modal.tsx
|
|
24
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
25
|
+
function XIcon({ color = "#000" }) {
|
|
26
|
+
return /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "12", height: "12", fill: color, children: /* @__PURE__ */ jsx(
|
|
27
|
+
"path",
|
|
28
|
+
{
|
|
29
|
+
fill: "inherit",
|
|
30
|
+
d: "M11.25.758a.83.83 0 0 0-1.175 0L6 4.825 1.925.75A.83.83 0 1 0 .75 1.925L4.825 6 .75 10.075a.83.83 0 1 0 1.175 1.175L6 7.175l4.075 4.075a.83.83 0 1 0 1.175-1.175L7.175 6l4.075-4.075a.835.835 0 0 0 0-1.167Z"
|
|
31
|
+
}
|
|
32
|
+
) });
|
|
33
|
+
}
|
|
34
|
+
var sizeWidth = {
|
|
35
|
+
sm: 400,
|
|
36
|
+
lg: 600
|
|
37
|
+
};
|
|
38
|
+
function Modal({
|
|
39
|
+
header,
|
|
40
|
+
children,
|
|
41
|
+
image,
|
|
42
|
+
onDismiss,
|
|
43
|
+
footer,
|
|
44
|
+
accessibilityCloseLabel = "close modal",
|
|
45
|
+
size = "sm",
|
|
46
|
+
zIndex = 1,
|
|
47
|
+
"data-testid": dataTestId
|
|
48
|
+
}) {
|
|
49
|
+
return /* @__PURE__ */ jsx(Layer, { zIndex, children: /* @__PURE__ */ jsx(StopScroll, { children: /* @__PURE__ */ jsx(FocusTrap, { children: /* @__PURE__ */ jsx(
|
|
50
|
+
"div",
|
|
51
|
+
{
|
|
52
|
+
className: Modal_module_default.backdrop,
|
|
53
|
+
role: "presentation",
|
|
54
|
+
onClick: (e) => e.target === e.currentTarget && onDismiss(),
|
|
55
|
+
onKeyDown: (e) => e.key === "Escape" && onDismiss(),
|
|
56
|
+
children: /* @__PURE__ */ jsxs(
|
|
57
|
+
Box_default,
|
|
58
|
+
{
|
|
59
|
+
"data-testid": dataTestId,
|
|
60
|
+
backgroundColor: "white",
|
|
61
|
+
rounding: "xl",
|
|
62
|
+
display: "flex",
|
|
63
|
+
direction: "column",
|
|
64
|
+
minWidth: 240,
|
|
65
|
+
maxWidth: sizeWidth[size],
|
|
66
|
+
width: "100%",
|
|
67
|
+
dangerouslySetInlineStyle: { __style: { overflow: "hidden" } },
|
|
68
|
+
children: [
|
|
69
|
+
/* @__PURE__ */ jsx(Box_default, { position: "relative", children: /* @__PURE__ */ jsx(
|
|
70
|
+
"button",
|
|
71
|
+
{
|
|
72
|
+
"aria-label": accessibilityCloseLabel,
|
|
73
|
+
type: "button",
|
|
74
|
+
className: classnames(Modal_module_default.closeButton, {
|
|
75
|
+
[Modal_module_default.closeButtonWithImage]: !!image
|
|
76
|
+
}),
|
|
77
|
+
onClick: onDismiss,
|
|
78
|
+
children: /* @__PURE__ */ jsx(XIcon, { color: image ? "#fff" : "#000" })
|
|
79
|
+
}
|
|
80
|
+
) }),
|
|
81
|
+
image && /* @__PURE__ */ jsx(Box_default, { maxHeight: 200, children: image }),
|
|
82
|
+
/* @__PURE__ */ jsxs(Box_default, { display: "flex", gap: 3, direction: "column", padding: 9, children: [
|
|
83
|
+
/* @__PURE__ */ jsx(Heading_default, { as: "h1", size: 500, children: header }),
|
|
84
|
+
/* @__PURE__ */ jsx(Box_default, { marginBottom: 4, children }),
|
|
85
|
+
footer && /* @__PURE__ */ jsx(
|
|
86
|
+
Box_default,
|
|
87
|
+
{
|
|
88
|
+
display: "flex",
|
|
89
|
+
direction: "column",
|
|
90
|
+
gap: 3,
|
|
91
|
+
smDirection: "row",
|
|
92
|
+
smJustifyContent: "end",
|
|
93
|
+
lgDirection: "row",
|
|
94
|
+
lgJustifyContent: "end",
|
|
95
|
+
children: footer
|
|
96
|
+
}
|
|
97
|
+
)
|
|
98
|
+
] })
|
|
99
|
+
]
|
|
100
|
+
}
|
|
101
|
+
)
|
|
102
|
+
}
|
|
103
|
+
) }) }) });
|
|
104
|
+
}
|
|
105
|
+
Modal.displayName = "Modal";
|
|
106
|
+
|
|
107
|
+
export {
|
|
108
|
+
Modal
|
|
109
|
+
};
|
|
110
|
+
//# sourceMappingURL=JQHT6NET.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/Modal/Modal.tsx","css-module:./Modal.module.css#css-module"],"sourcesContent":["import { type ReactElement } from \"react\";\nimport classnames from \"classnames\";\n\nimport Heading from \"../Heading/Heading\";\nimport Box from \"../Box/Box\";\n\nimport FocusTrap from \"./FocusTrap\";\nimport StopScroll from \"./StopScroll\";\nimport Layer from \"./Layer\";\nimport styles from \"./Modal.module.css\";\n\nfunction XIcon({ color = \"#000\" }: { color?: string }) {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" fill={color}>\n <path\n fill=\"inherit\"\n d=\"M11.25.758a.83.83 0 0 0-1.175 0L6 4.825 1.925.75A.83.83 0 1 0 .75 1.925L4.825 6 .75 10.075a.83.83 0 1 0 1.175 1.175L6 7.175l4.075 4.075a.83.83 0 1 0 1.175-1.175L7.175 6l4.075-4.075a.835.835 0 0 0 0-1.167Z\"\n />\n </svg>\n );\n}\n\n// Note: Only sm + lg size currently. design thinks there should only be two sizes.\n// If there IS a md size at some point, we should use the \"size\" const.\nconst sizeWidth = {\n sm: 400,\n lg: 600,\n} as const;\n\n/**\n * [Modal](https://cambly-syntax.vercel.app/?path=/docs/components-modal--docs) is a dialog that appears on top of the main content and locks user interaction within the modal.\n *\n ```\n const [showModal, setShowModal] = useState(false)\n\n return (\n <>\n {showModal && <Modal\n header=\"header text\"\n onDismiss={() => setShowModal(false)}\n footer={\n <>\n <Button\n text=\"Cancel\"\n color=\"secondary\"\n onClick={() => {}}\n />\n <Button\n text=\"Confirm\"\n onClick={() => {}}\n />\n </>\n }\n >\n <Typography>\n Body text goes here!\n </Typography>\n </Modal> }\n </>\n )\n ```\n */\nexport default function Modal({\n header,\n children,\n image,\n onDismiss,\n footer,\n accessibilityCloseLabel = \"close modal\",\n size = \"sm\",\n zIndex = 1,\n \"data-testid\": dataTestId,\n}: {\n /**\n * The modal's main content. Should typically take in `Typography`'d text.\n */\n children: JSX.Element;\n /**\n * The header inside a modal as a string.\n */\n header: string;\n /**\n * What the X button (or clicking out of the modal area) does.\n * Typically used for closing the Modal\n */\n onDismiss: () => void;\n /**\n * The optional image rendered above the Modal.\n * Image size should be 400w x 200h.\n * If images aren't that sized, should ask design to give another image.\n */\n image?: JSX.Element;\n /**\n * The footer for the bottom area of the Modal. Typically used for rendering buttons.\n * * Use Syntax `Button` and pass it into footer.\n * * If one button, just pass it in. If two, wrap in a React fragment (`<> </>`)\n * * If two(2) buttons, put primary button _second_.\n *\n <>\n <Button\n text=\"Cancel\"\n color=\"secondary\"\n onClick={() => {}}\n />\n <Button\n text=\"Confirm\"\n onClick={() => {}}\n />\n </>\n */\n footer?: JSX.Element;\n /**\n * The accessibilty text on the close button.\n * (Sets the aria-label of the button)\n *\n *\n * @defaultValue close modal\n */\n accessibilityCloseLabel?: string;\n /**\n * The size of the card\n *\n * * `sm`: 400px\n * * `lg`: 600px\n *\n *\n * @defaultValue sm\n */\n size?: keyof typeof sizeWidth;\n /**\n * The z-index for the modal.\n * Typically used if there are other things on the page with higher z-index and you need this overlayed on top.\n *\n * @defaultValue 0\n */\n zIndex?: number;\n /**\n * Test id for the modal\n */\n \"data-testid\"?: string;\n}): ReactElement {\n return (\n <Layer zIndex={zIndex}>\n <StopScroll>\n <FocusTrap>\n <div\n className={styles.backdrop}\n role=\"presentation\"\n onClick={(e) => e.target === e.currentTarget && onDismiss()}\n onKeyDown={(e) => e.key === \"Escape\" && onDismiss()}\n >\n <Box\n data-testid={dataTestId}\n backgroundColor=\"white\"\n rounding=\"xl\"\n display=\"flex\"\n direction=\"column\"\n minWidth={240}\n maxWidth={sizeWidth[size]}\n width=\"100%\"\n dangerouslySetInlineStyle={{ __style: { overflow: \"hidden\" } }}\n >\n <Box position=\"relative\">\n <button\n aria-label={accessibilityCloseLabel}\n type=\"button\"\n className={classnames(styles.closeButton, {\n [styles.closeButtonWithImage]: !!image,\n })}\n onClick={onDismiss}\n >\n <XIcon color={image ? \"#fff\" : \"#000\"} />\n </button>\n </Box>\n {image && <Box maxHeight={200}>{image}</Box>}\n <Box display=\"flex\" gap={3} direction=\"column\" padding={9}>\n <Heading as=\"h1\" size={500}>\n {header}\n </Heading>\n <Box marginBottom={4}>{children}</Box>\n {footer && (\n <Box\n display=\"flex\"\n direction=\"column\"\n gap={3}\n smDirection=\"row\"\n smJustifyContent=\"end\"\n lgDirection=\"row\"\n lgJustifyContent=\"end\"\n >\n {footer}\n </Box>\n )}\n </Box>\n </Box>\n </div>\n </FocusTrap>\n </StopScroll>\n </Layer>\n );\n}\n\nModal.displayName = \"Modal\";\n","import \"/Users/christian/cambly/syntax/packages/syntax-core/src/Modal/Modal.module.css\"; export default {\"backdrop\":\"_backdrop_30t3h_1\",\"closeButton\":\"_closeButton_30t3h_12\",\"closeButtonWithImage\":\"_closeButtonWithImage_30t3h_32\"}"],"mappings":";;;;;;;;;;;;;;;;;AACA,OAAO,gBAAgB;;;ACDkE,IAAO,uBAAQ,EAAC,YAAW,qBAAoB,eAAc,yBAAwB,wBAAuB,iCAAgC;;;ADc/N,cAiKQ,YAjKR;AAHN,SAAS,MAAM,EAAE,QAAQ,OAAO,GAAuB;AACrD,SACE,oBAAC,SAAI,OAAM,8BAA6B,OAAM,MAAK,QAAO,MAAK,MAAM,OACnE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,GAAE;AAAA;AAAA,EACJ,GACF;AAEJ;AAIA,IAAM,YAAY;AAAA,EAChB,IAAI;AAAA,EACJ,IAAI;AACN;AAmCe,SAAR,MAAuB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,0BAA0B;AAAA,EAC1B,OAAO;AAAA,EACP,SAAS;AAAA,EACT,eAAe;AACjB,GAoEiB;AACf,SACE,oBAAC,SAAM,QACL,8BAAC,cACC,8BAAC,aACC;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,qBAAO;AAAA,MAClB,MAAK;AAAA,MACL,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,iBAAiB,UAAU;AAAA,MAC1D,WAAW,CAAC,MAAM,EAAE,QAAQ,YAAY,UAAU;AAAA,MAElD;AAAA,QAAC;AAAA;AAAA,UACC,eAAa;AAAA,UACb,iBAAgB;AAAA,UAChB,UAAS;AAAA,UACT,SAAQ;AAAA,UACR,WAAU;AAAA,UACV,UAAU;AAAA,UACV,UAAU,UAAU,IAAI;AAAA,UACxB,OAAM;AAAA,UACN,2BAA2B,EAAE,SAAS,EAAE,UAAU,SAAS,EAAE;AAAA,UAE7D;AAAA,gCAAC,eAAI,UAAS,YACZ;AAAA,cAAC;AAAA;AAAA,gBACC,cAAY;AAAA,gBACZ,MAAK;AAAA,gBACL,WAAW,WAAW,qBAAO,aAAa;AAAA,kBACxC,CAAC,qBAAO,oBAAoB,GAAG,CAAC,CAAC;AAAA,gBACnC,CAAC;AAAA,gBACD,SAAS;AAAA,gBAET,8BAAC,SAAM,OAAO,QAAQ,SAAS,QAAQ;AAAA;AAAA,YACzC,GACF;AAAA,YACC,SAAS,oBAAC,eAAI,WAAW,KAAM,iBAAM;AAAA,YACtC,qBAAC,eAAI,SAAQ,QAAO,KAAK,GAAG,WAAU,UAAS,SAAS,GACtD;AAAA,kCAAC,mBAAQ,IAAG,MAAK,MAAM,KACpB,kBACH;AAAA,cACA,oBAAC,eAAI,cAAc,GAAI,UAAS;AAAA,cAC/B,UACC;AAAA,gBAAC;AAAA;AAAA,kBACC,SAAQ;AAAA,kBACR,WAAU;AAAA,kBACV,KAAK;AAAA,kBACL,aAAY;AAAA,kBACZ,kBAAiB;AAAA,kBACjB,aAAY;AAAA,kBACZ,kBAAiB;AAAA,kBAEhB;AAAA;AAAA,cACH;AAAA,eAEJ;AAAA;AAAA;AAAA,MACF;AAAA;AAAA,EACF,GACF,GACF,GACF;AAEJ;AAEA,MAAM,cAAc;","names":[]}
|
|
@@ -6,25 +6,22 @@ import {
|
|
|
6
6
|
} from "./AMBZXKUQ.mjs";
|
|
7
7
|
import {
|
|
8
8
|
iconSize_default
|
|
9
|
-
} from "./
|
|
9
|
+
} from "./RCT3DP22.mjs";
|
|
10
10
|
import {
|
|
11
11
|
Box_default
|
|
12
|
-
} from "./
|
|
13
|
-
import {
|
|
14
|
-
Typography_default
|
|
15
|
-
} from "./BCWLWS7W.mjs";
|
|
16
|
-
import {
|
|
17
|
-
useIsHydrated
|
|
18
|
-
} from "./XFKGXL73.mjs";
|
|
12
|
+
} from "./4VIJNV7V.mjs";
|
|
19
13
|
import {
|
|
20
14
|
foregroundTypographyColor
|
|
21
|
-
} from "./
|
|
15
|
+
} from "./LTYTYJEN.mjs";
|
|
22
16
|
import {
|
|
23
17
|
foregroundColor
|
|
24
|
-
} from "./
|
|
18
|
+
} from "./F4HTASEF.mjs";
|
|
25
19
|
import {
|
|
26
20
|
backgroundColor
|
|
27
|
-
} from "./
|
|
21
|
+
} from "./ZHZ6U63Z.mjs";
|
|
22
|
+
import {
|
|
23
|
+
Typography_default
|
|
24
|
+
} from "./WIDP7NHD.mjs";
|
|
28
25
|
|
|
29
26
|
// src/Button/Button.tsx
|
|
30
27
|
import { forwardRef } from "react";
|
|
@@ -52,7 +49,6 @@ var Button = forwardRef(
|
|
|
52
49
|
tooltip,
|
|
53
50
|
type = "button"
|
|
54
51
|
}, ref) => {
|
|
55
|
-
const isHydrated = useIsHydrated();
|
|
56
52
|
return /* @__PURE__ */ jsxs(
|
|
57
53
|
"button",
|
|
58
54
|
{
|
|
@@ -61,7 +57,7 @@ var Button = forwardRef(
|
|
|
61
57
|
"aria-label": accessibilityLabel,
|
|
62
58
|
type,
|
|
63
59
|
title: tooltip,
|
|
64
|
-
disabled:
|
|
60
|
+
disabled: disabled || loading,
|
|
65
61
|
onClick,
|
|
66
62
|
className: classNames(
|
|
67
63
|
Button_module_default.button,
|
|
@@ -117,4 +113,4 @@ var Button_default = Button;
|
|
|
117
113
|
export {
|
|
118
114
|
Button_default
|
|
119
115
|
};
|
|
120
|
-
//# sourceMappingURL=
|
|
116
|
+
//# sourceMappingURL=K3JR7BCX.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/Button/Button.tsx","css-module:./Button.module.css#css-module"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport classNames from \"classnames\";\n\nimport backgroundColor from \"../colors//backgroundColor\";\nimport foregroundColor from \"../colors/foregroundColor\";\nimport foregroundTypographyColor from \"../colors/foregroundTypographyColor\";\nimport { type Size } from \"../constants\";\nimport Typography from \"../Typography/Typography\";\nimport Box from \"../Box/Box\";\n\nimport iconSize from \"./constants/iconSize\";\nimport textVariant from \"./constants/textVariant\";\nimport loadingIconSize from \"./constants/loadingIconSize\";\nimport styles from \"./Button.module.css\";\n\ntype ButtonProps = {\n /**\n * Test id for the button\n */\n \"data-testid\"?: string;\n /**\n * The text to be displayed inside the button\n */\n text: string;\n /**\n * The text to be displayed inside the button when it is in a loading state\n */\n loadingText?: string;\n /**\n * The color of the button\n *\n * @defaultValue \"primary\"\n */\n color?:\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"destructive-primary\"\n | \"destructive-secondary\"\n | \"destructive-tertiary\"\n | \"branded\"\n | \"success\";\n /**\n * The size of the button\n *\n * * `sm`: 32px\n * * `md`: 40px\n * * `lg`: 48px\n *\n * @defaultValue \"md\"\n */\n size?: (typeof Size)[number];\n /**\n * The label to be used for accessibility\n */\n accessibilityLabel?: string;\n /**\n * If `true`, the button will be disabled\n *\n * @defaultValue false\n */\n disabled?: boolean;\n /**\n * If `true`, the button will be in a loading state\n *\n * @defaultValue false\n */\n loading?: boolean;\n /**\n * If `true`, the button will take up the full width of its container\n *\n * @defaultValue false\n */\n fullWidth?: boolean;\n /**\n * The icon to be displayed at the start of the button. Please use a [Rounded Material Icon](https://material.io/resources/icons/?style=round)\n */\n startIcon?: React.ComponentType<{ className?: string }>;\n /**\n * The icon to be displayed at the end of the button. Please use a [Rounded Material Icon](https://material.io/resources/icons/?style=round)\n */\n endIcon?: React.ComponentType<{ className?: string }>;\n /**\n * The callback to be called when the button is clicked\n */\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n /**\n * The tooltip to be displayed when the user hovers over the button\n */\n tooltip?: string;\n /**\n * The type you want to set for the primitive <button/>\n */\n type?: \"button\" | \"submit\" | \"reset\";\n};\n\n/**\n * [Button](https://cambly-syntax.vercel.app/?path=/docs/components-button--docs) is used to trigger an action or event, such as submitting a form, opening a dialog, canceling an action, or performing a delete operation.\n */\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n \"data-testid\": dataTestId,\n text,\n loadingText,\n color = \"primary\",\n size = \"md\",\n accessibilityLabel,\n disabled = false,\n loading = false,\n fullWidth = false,\n startIcon: StartIcon,\n endIcon: EndIcon,\n onClick,\n tooltip,\n type = \"button\",\n }: ButtonProps,\n ref,\n ) => {\n return (\n <button\n data-testid={dataTestId}\n ref={ref}\n aria-label={accessibilityLabel}\n type={type}\n title={tooltip}\n disabled={disabled || loading}\n onClick={onClick}\n className={classNames(\n styles.button,\n foregroundColor(color),\n backgroundColor(color),\n styles[size],\n {\n [styles.fullWidth]: fullWidth,\n [styles.buttonGap]: size === \"lg\" || size === \"md\",\n [styles.secondaryBorder]: color === \"secondary\",\n [styles.secondaryDestructiveBorder]:\n color === \"destructive-secondary\",\n },\n )}\n >\n {!loading && StartIcon && (\n <StartIcon className={classNames(styles.icon, iconSize[size])} />\n )}\n {((loading && loadingText) || (!loading && text)) && (\n <Box paddingX={1}>\n <Typography\n size={textVariant[size]}\n color={foregroundTypographyColor(color)}\n >\n <span style={{ fontWeight: 500 }}>\n {loading ? loadingText : text}\n </span>\n </Typography>\n </Box>\n )}\n {!loading && EndIcon && (\n <EndIcon className={classNames(styles.icon, iconSize[size])} />\n )}\n {loading && (\n <svg\n className={classNames(styles.loading, foregroundColor(color))}\n viewBox=\"22 22 44 44\"\n width={loadingIconSize[size]}\n height={loadingIconSize[size]}\n >\n <circle\n className={styles.loadingCircle}\n cx=\"44\"\n cy=\"44\"\n r=\"20.2\"\n fill=\"none\"\n strokeWidth=\"3.6\"\n />\n </svg>\n )}\n </button>\n );\n },\n);\n\nButton.displayName = \"Button\";\n\nexport default Button;\n","import \"/Users/christian/cambly/syntax/packages/syntax-core/src/Button/Button.module.css\"; export default {\"button\":\"_button_1iunh_1\",\"buttonGap\":\"_buttonGap_1iunh_9\",\"fullWidth\":\"_fullWidth_1iunh_50\",\"sm\":\"_sm_1iunh_54\",\"md\":\"_md_1iunh_61\",\"lg\":\"_lg_1iunh_68\",\"icon\":\"_icon_1iunh_75\",\"smIcon\":\"_smIcon_1iunh_79\",\"mdIcon\":\"_mdIcon_1iunh_86\",\"lgIcon\":\"_lgIcon_1iunh_93\",\"secondaryBorder\":\"_secondaryBorder_1iunh_100\",\"secondaryDestructiveBorder\":\"_secondaryDestructiveBorder_1iunh_104\",\"loading\":\"_loading_1iunh_118\",\"syntaxButtonLoadingRotate\":\"_syntaxButtonLoadingRotate_1iunh_1\",\"loadingCircle\":\"_loadingCircle_1iunh_122\"}"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAgB,kBAAkB;AAClC,OAAO,gBAAgB;;;ACDoE,IAAO,wBAAQ,EAAC,UAAS,mBAAkB,aAAY,sBAAqB,aAAY,uBAAsB,MAAK,gBAAe,MAAK,gBAAe,MAAK,gBAAe,QAAO,kBAAiB,UAAS,oBAAmB,UAAS,oBAAmB,UAAS,oBAAmB,mBAAkB,8BAA6B,8BAA6B,yCAAwC,WAAU,sBAAqB,6BAA4B,sCAAqC,iBAAgB,2BAA0B;;;ADwHzmB,SAuBI,KAvBJ;AArBN,IAAM,SAAS;AAAA,EACb,CACE;AAAA,IACE,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,OAAO;AAAA,IACP;AAAA,IACA,WAAW;AAAA,IACX,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA,OAAO;AAAA,EACT,GACA,QACG;AACH,WACE;AAAA,MAAC;AAAA;AAAA,QACC,eAAa;AAAA,QACb;AAAA,QACA,cAAY;AAAA,QACZ;AAAA,QACA,OAAO;AAAA,QACP,UAAU,YAAY;AAAA,QACtB;AAAA,QACA,WAAW;AAAA,UACT,sBAAO;AAAA,UACP,gBAAgB,KAAK;AAAA,UACrB,gBAAgB,KAAK;AAAA,UACrB,sBAAO,IAAI;AAAA,UACX;AAAA,YACE,CAAC,sBAAO,SAAS,GAAG;AAAA,YACpB,CAAC,sBAAO,SAAS,GAAG,SAAS,QAAQ,SAAS;AAAA,YAC9C,CAAC,sBAAO,eAAe,GAAG,UAAU;AAAA,YACpC,CAAC,sBAAO,0BAA0B,GAChC,UAAU;AAAA,UACd;AAAA,QACF;AAAA,QAEC;AAAA,WAAC,WAAW,aACX,oBAAC,aAAU,WAAW,WAAW,sBAAO,MAAM,iBAAS,IAAI,CAAC,GAAG;AAAA,WAE9D,WAAW,eAAiB,CAAC,WAAW,SACzC,oBAAC,eAAI,UAAU,GACb;AAAA,YAAC;AAAA;AAAA,cACC,MAAM,oBAAY,IAAI;AAAA,cACtB,OAAO,0BAA0B,KAAK;AAAA,cAEtC,8BAAC,UAAK,OAAO,EAAE,YAAY,IAAI,GAC5B,oBAAU,cAAc,MAC3B;AAAA;AAAA,UACF,GACF;AAAA,UAED,CAAC,WAAW,WACX,oBAAC,WAAQ,WAAW,WAAW,sBAAO,MAAM,iBAAS,IAAI,CAAC,GAAG;AAAA,UAE9D,WACC;AAAA,YAAC;AAAA;AAAA,cACC,WAAW,WAAW,sBAAO,SAAS,gBAAgB,KAAK,CAAC;AAAA,cAC5D,SAAQ;AAAA,cACR,OAAO,wBAAgB,IAAI;AAAA,cAC3B,QAAQ,wBAAgB,IAAI;AAAA,cAE5B;AAAA,gBAAC;AAAA;AAAA,kBACC,WAAW,sBAAO;AAAA,kBAClB,IAAG;AAAA,kBACH,IAAG;AAAA,kBACH,GAAE;AAAA,kBACF,MAAK;AAAA,kBACL,aAAY;AAAA;AAAA,cACd;AAAA;AAAA,UACF;AAAA;AAAA;AAAA,IAEJ;AAAA,EAEJ;AACF;AAEA,OAAO,cAAc;AAErB,IAAO,iBAAQ;","names":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AvatarGroupAvatar
|
|
3
|
+
} from "./FZO6U2EP.mjs";
|
|
4
|
+
import {
|
|
5
|
+
Box_default
|
|
6
|
+
} from "./HJYCSDLB.mjs";
|
|
7
|
+
|
|
8
|
+
// src/AvatarGroup/AvatarGroup.tsx
|
|
9
|
+
import { jsx } from "react/jsx-runtime";
|
|
10
|
+
function AvatarGroup({
|
|
11
|
+
children,
|
|
12
|
+
orientation = "standard"
|
|
13
|
+
}) {
|
|
14
|
+
return /* @__PURE__ */ jsx(
|
|
15
|
+
Box_default,
|
|
16
|
+
{
|
|
17
|
+
display: "flex",
|
|
18
|
+
alignItems: "center",
|
|
19
|
+
dangerouslySetInlineStyle: {
|
|
20
|
+
__style: {
|
|
21
|
+
flexDirection: orientation === "reverse" ? "row-reverse" : "row"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
children
|
|
25
|
+
}
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
AvatarGroup.displayName = "AvatarGroup";
|
|
29
|
+
AvatarGroup.Avatar = AvatarGroupAvatar;
|
|
30
|
+
|
|
31
|
+
export {
|
|
32
|
+
AvatarGroup
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=K6XUX6LJ.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/AvatarGroup/AvatarGroup.tsx"],"sourcesContent":["import Box from \"../Box/Box\";\nimport { type ReactNode } from \"react\";\nimport AvatarGroupAvatar from \"./AvatarGroupAvatar\";\n\n/**\n * [AvatarGroup](https://cambly-syntax.vercel.app/?path=/docs/components-avatargroup--docs) is a stack of avatars to represent a group of people\n */\n\nexport default function AvatarGroup({\n children,\n orientation = \"standard\",\n}: {\n /**\n * One or more.Avatar components.\n */\n children: ReactNode;\n /**\n * Direction of the avatar stack\n * standard - avatars stack from right to left\n * reverse - avatars stack from left to right\n */\n orientation?: \"standard\" | \"reverse\";\n}): JSX.Element {\n return (\n <Box\n display=\"flex\"\n alignItems=\"center\"\n dangerouslySetInlineStyle={{\n __style: {\n flexDirection: orientation === \"reverse\" ? \"row-reverse\" : \"row\",\n },\n }}\n >\n {children}\n </Box>\n );\n}\n\nAvatarGroup.displayName = \"AvatarGroup\";\nAvatarGroup.Avatar = AvatarGroupAvatar;\n"],"mappings":";;;;;;;;AAwBI;AAhBW,SAAR,YAA6B;AAAA,EAClC;AAAA,EACA,cAAc;AAChB,GAWgB;AACd,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,YAAW;AAAA,MACX,2BAA2B;AAAA,QACzB,SAAS;AAAA,UACP,eAAe,gBAAgB,YAAY,gBAAgB;AAAA,QAC7D;AAAA,MACF;AAAA,MAEC;AAAA;AAAA,EACH;AAEJ;AAEA,YAAY,cAAc;AAC1B,YAAY,SAAS;","names":[]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _VPGRPGP7js = require('./VPGRPGP7.js');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _PTAZUBW6js = require('./PTAZUBW6.js');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
var _YJ7YDIGBjs = require('./YJ7YDIGB.js');
|
|
@@ -45,12 +45,12 @@ var Checkbox = ({
|
|
|
45
45
|
const uncheckedStyling = _classnames2.default.call(void 0, checkboxStyling, Checkbox_module_default.uncheckedBox, {
|
|
46
46
|
[Checkbox_module_default.uncheckedBorder]: !error,
|
|
47
47
|
[Checkbox_module_default.uncheckedErrorBorder]: error,
|
|
48
|
-
[
|
|
48
|
+
[_VPGRPGP7js.Focus_module_default.accessibilityOutlineFocus]: isFocused && isFocusVisible
|
|
49
49
|
});
|
|
50
50
|
const checkedStyling = _classnames2.default.call(void 0, checkboxStyling, Checkbox_module_default.checkedBox, {
|
|
51
51
|
[Checkbox_module_default.checkedNonError]: !error,
|
|
52
52
|
[Checkbox_module_default.checkedError]: error,
|
|
53
|
-
[
|
|
53
|
+
[_VPGRPGP7js.Focus_module_default.accessibilityOutlineFocus]: isFocused && isFocusVisible
|
|
54
54
|
});
|
|
55
55
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
56
56
|
"label",
|
|
@@ -92,7 +92,7 @@ var Checkbox = ({
|
|
|
92
92
|
}
|
|
93
93
|
),
|
|
94
94
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
95
|
-
|
|
95
|
+
_PTAZUBW6js.Typography_default,
|
|
96
96
|
{
|
|
97
97
|
size: typographySize[size],
|
|
98
98
|
color: error ? "destructive-primary" : "gray800",
|
|
@@ -108,4 +108,4 @@ var Checkbox_default = Checkbox;
|
|
|
108
108
|
|
|
109
109
|
|
|
110
110
|
exports.Checkbox_default = Checkbox_default;
|
|
111
|
-
//# sourceMappingURL=
|
|
111
|
+
//# sourceMappingURL=KCIQ73YD.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Checkbox/Checkbox.tsx","css-module:./Checkbox.module.css#css-module"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,SAAmC,gBAAgB;AACnD,OAAO,gBAAgB;;;
|
|
1
|
+
{"version":3,"sources":["../../src/Checkbox/Checkbox.tsx","css-module:./Checkbox.module.css#css-module"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,SAAmC,gBAAgB;AACnD,OAAO,gBAAgB;;;ACDwE,IAAO,0BAAQ,EAAC,iBAAgB,0BAAyB,gBAAe,yBAAwB,YAAW,sBAAqB,YAAW,sBAAqB,kBAAiB,4BAA2B,iBAAgB,2BAA0B,gBAAe,0BAAyB,mBAAkB,6BAA4B,wBAAuB,kCAAiC,cAAa,wBAAuB,mBAAkB,6BAA4B,gBAAe,0BAAyB,MAAK,gBAAe,MAAK,eAAc;;;ADwFhoB,SAYQ,KAZR;AAhFJ,IAAM,iBAAiB;AAAA,EACrB,IAAI;AAAA,EACJ,IAAI;AACN;AAEA,IAAM,YAAY;AAAA,EAChB,IAAI;AAAA,EACJ,IAAI;AACN;AAKA,IAAM,WAAW,CAAC;AAAA,EAChB,UAAU;AAAA,EACV,eAAe;AAAA,EACf,UAAU,eAAe;AAAA,EACzB,OAAO;AAAA,EACP;AAAA,EACA,QAAQ;AAAA,EACR;AACF,MAwCoB;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,kBAAkB,WAAW,wBAAO,UAAU,wBAAO,IAAI,CAAC;AAChE,QAAM,mBAAmB,WAAW,iBAAiB,wBAAO,cAAc;AAAA,IACxE,CAAC,wBAAO,eAAe,GAAG,CAAC;AAAA,IAC3B,CAAC,wBAAO,oBAAoB,GAAG;AAAA,IAC/B,CAAC,qBAAY,yBAAyB,GAAG,aAAa;AAAA,EACxD,CAAC;AACD,QAAM,iBAAiB,WAAW,iBAAiB,wBAAO,YAAY;AAAA,IACpE,CAAC,wBAAO,eAAe,GAAG,CAAC;AAAA,IAC3B,CAAC,wBAAO,YAAY,GAAG;AAAA,IACvB,CAAC,qBAAY,yBAAyB,GAAG,aAAa;AAAA,EACxD,CAAC;AAED,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT,wBAAO;AAAA,QACP,wBAAO,SAAS,WAAW,aAAa,WAAW;AAAA,QACnD;AAAA,UACE,CAAC,wBAAO,QAAQ,GAAG;AAAA,QACrB;AAAA,MACF;AAAA,MAEA;AAAA,4BAAC,SAAI,WAAW,UAAU,iBAAiB,kBACxC,qBACC,oBAAC,SAAI,eAAY,QAAO,SAAQ,aAAY,OAAO,UAAU,IAAI,GAC/D;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,GAAE;AAAA;AAAA,QACH,GACH,GAEJ;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,eAAa;AAAA,YACb,MAAK;AAAA,YACL,WAAW;AAAA,cACT,wBAAO;AAAA,cACP,wBAAO,IAAI;AAAA,cACX,wBAAO,SAAS,WAAW,aAAa,WAAW;AAAA,YACrD;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,QACA;AAAA,UAAC;AAAA;AAAA,YACC,MAAM,eAAe,IAAI;AAAA,YACzB,OAAO,QAAQ,wBAAwB;AAAA,YAEtC;AAAA;AAAA,QACH;AAAA;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,mBAAQ","sourcesContent":["import React, { type ReactElement, useState } from \"react\";\nimport classNames from \"classnames\";\nimport useFocusVisible from \"../useFocusVisible\";\nimport styles from \"./Checkbox.module.css\";\nimport focusStyles from \"../Focus.module.css\";\nimport Typography from \"../Typography/Typography\";\nimport useIsHydrated from \"../useIsHydrated\";\n\nconst typographySize = {\n sm: 100,\n md: 200,\n} as const;\n\nconst iconWidth = {\n sm: 12,\n md: 20,\n};\n\n/**\n * [Checkbox](https://cambly-syntax.vercel.app/?path=/docs/components-checkbox--docs) is a clickable element that will show if an option has been selected or not.\n */\nconst Checkbox = ({\n checked = false,\n \"data-testid\": dataTestId,\n disabled: disabledProp = false,\n size = \"md\",\n label,\n error = false,\n onChange,\n}: {\n /**\n * Whether or not the box has been clicked\n *\n * @defaultValue false\n */\n checked: boolean;\n /**\n * Test id for the checkbox\n */\n \"data-testid\"?: string;\n /**\n * The callback to be called when the checkbox value changes\n */\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n /**\n * Whether or not the box is disabled\n *\n * @defaultValue false\n */\n disabled?: boolean;\n /**\n * The size of the checkbox and icon\n *\n * * `sm`: 16px\n * * `md`: 24px\n *\n * @defaultValue \"md\"\n */\n size?: \"sm\" | \"md\";\n /**\n * The text accompanying the checkbox\n */\n label: string;\n /**\n * Whether or not there is an error with the input\n *\n * @defaultValue false\n */\n error?: 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 checkboxStyling = classNames(styles.checkbox, styles[size]);\n const uncheckedStyling = classNames(checkboxStyling, styles.uncheckedBox, {\n [styles.uncheckedBorder]: !error,\n [styles.uncheckedErrorBorder]: error,\n [focusStyles.accessibilityOutlineFocus]: isFocused && isFocusVisible,\n });\n const checkedStyling = classNames(checkboxStyling, styles.checkedBox, {\n [styles.checkedNonError]: !error,\n [styles.checkedError]: error,\n [focusStyles.accessibilityOutlineFocus]: isFocused && isFocusVisible,\n });\n\n return (\n <label\n className={classNames(\n styles.mainContainer,\n styles[`cursor${disabled ? \"Disabled\" : \"Enabled\"}`],\n {\n [styles.disabled]: disabled,\n },\n )}\n >\n <div className={checked ? checkedStyling : uncheckedStyling}>\n {checked && (\n <svg aria-hidden=\"true\" viewBox=\"0 0 24 24\" width={iconWidth[size]}>\n <path\n fill=\"#fff\"\n d=\"m9 16.2-3.5-3.5a.9839.9839 0 0 0-1.4 0c-.39.39-.39 1.01 0 1.4l4.19 4.19c.39.39 1.02.39 1.41 0L20.3 7.7c.39-.39.39-1.01 0-1.4a.9839.9839 0 0 0-1.4 0L9 16.2z\"\n ></path>\n </svg>\n )}\n </div>\n <input\n data-testid={dataTestId}\n type=\"checkbox\"\n className={classNames(\n styles.inputOverlay,\n styles[size],\n styles[`cursor${disabled ? \"Disabled\" : \"Enabled\"}`],\n )}\n checked={checked}\n onChange={onChange}\n disabled={disabled}\n onFocus={() => {\n setIsFocused(true);\n }}\n onBlur={() => {\n setIsFocused(false);\n }}\n />\n <Typography\n size={typographySize[size]}\n color={error ? \"destructive-primary\" : \"gray800\"}\n >\n {label}\n </Typography>\n </label>\n );\n};\n\nexport default Checkbox;\n","import \"/Users/christian/cambly/syntax/packages/syntax-core/src/Checkbox/Checkbox.module.css\"; export default {\"mainContainer\":\"_mainContainer_an7al_1\",\"inputOverlay\":\"_inputOverlay_an7al_9\",\"checkbox\":\"_checkbox_an7al_17\",\"disabled\":\"_disabled_an7al_25\",\"cursorDisabled\":\"_cursorDisabled_an7al_29\",\"cursorEnabled\":\"_cursorEnabled_an7al_33\",\"uncheckedBox\":\"_uncheckedBox_an7al_37\",\"uncheckedBorder\":\"_uncheckedBorder_an7al_41\",\"uncheckedErrorBorder\":\"_uncheckedErrorBorder_an7al_45\",\"checkedBox\":\"_checkedBox_an7al_49\",\"checkedNonError\":\"_checkedNonError_an7al_53\",\"checkedError\":\"_checkedError_an7al_57\",\"sm\":\"_sm_an7al_61\",\"md\":\"_md_an7al_67\"}"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Box_default
|
|
3
|
-
} from "./
|
|
3
|
+
} from "./HJYCSDLB.mjs";
|
|
4
4
|
import {
|
|
5
5
|
Typography_default
|
|
6
|
-
} from "./
|
|
6
|
+
} from "./3HUELEGR.mjs";
|
|
7
7
|
import {
|
|
8
8
|
useIsHydrated
|
|
9
9
|
} from "./XFKGXL73.mjs";
|
|
@@ -70,4 +70,4 @@ var Chip_default = Chip;
|
|
|
70
70
|
export {
|
|
71
71
|
Chip_default
|
|
72
72
|
};
|
|
73
|
-
//# sourceMappingURL=
|
|
73
|
+
//# sourceMappingURL=KDEHEUYG.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Chip/Chip.tsx","css-module:./Chip.module.css#css-module"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport classnames from \"classnames\";\nimport Typography from \"../Typography/Typography\";\nimport Box from \"../Box/Box\";\nimport styles from \"./Chip.module.css\";\nimport useIsHydrated from \"../useIsHydrated\";\n\ntype ChipProps = {\n /**\n * Sets the initial status of this chip component.\n * * `true` will display a grey chip.\n * * `false` will display a premium800 color chip.\n *\n * @defaultValue \"false\"\n */\n selected?: boolean;\n /**\n * Test id for the button\n */\n \"data-testid\"?: string;\n /**\n * Size of the chip.\n *\n * * `sm`: 32px\n * * `lg`: 48px\n *\n * @defaultValue sm\n */\n size?: \"sm\" | \"lg\";\n /**\n * The text to be displayed on the chip\n */\n text: string;\n /**\n * The callback to be called when the chip is clicked\n */\n onChange: React.MouseEventHandler<HTMLButtonElement>;\n /**\n * The icon to be displayed.\n */\n icon?: React.ComponentType<{ className?: string }>;\n};\n/**\n * [Chip](https://cambly-syntax.vercel.app/?path=/docs/components-chip--docs) is used to show status (selected/not selected) like a toggle button.\n */\nconst Chip = forwardRef<HTMLButtonElement, ChipProps>(\n (\n {\n selected = false,\n \"data-testid\": dataTestId,\n size = \"sm\",\n text,\n onChange,\n icon: Icon,\n }: ChipProps,\n ref,\n ) => {\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated;\n\n const chipStyles = classnames(styles.chip, styles[size], {\n [styles.selectedChip]: selected,\n [styles.disabled]: disabled,\n });\n const iconStyles = classnames(styles.icon, {\n [styles.selectedIcon]: selected,\n });\n const typographySize = {\n [\"sm\"]: 200,\n [\"lg\"]: 300,\n } as const;\n return (\n <button\n className={chipStyles}\n disabled={disabled}\n data-testid={dataTestId}\n ref={ref}\n type=\"button\"\n aria-pressed={selected}\n onClick={onChange}\n >\n {Icon && <Icon className={iconStyles} />}\n <Box paddingX={Icon ? 1 : 0}>\n <Typography\n size={typographySize[size]}\n color={selected ? \"white\" : \"gray900\"}\n >\n {text}\n </Typography>\n </Box>\n </button>\n );\n },\n);\n\nChip.displayName = \"Chip\";\n\nexport default Chip;\n","import \"/
|
|
1
|
+
{"version":3,"sources":["../../src/Chip/Chip.tsx","css-module:./Chip.module.css#css-module"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport classnames from \"classnames\";\nimport Typography from \"../Typography/Typography\";\nimport Box from \"../Box/Box\";\nimport styles from \"./Chip.module.css\";\nimport useIsHydrated from \"../useIsHydrated\";\n\ntype ChipProps = {\n /**\n * Sets the initial status of this chip component.\n * * `true` will display a grey chip.\n * * `false` will display a premium800 color chip.\n *\n * @defaultValue \"false\"\n */\n selected?: boolean;\n /**\n * Test id for the button\n */\n \"data-testid\"?: string;\n /**\n * Size of the chip.\n *\n * * `sm`: 32px\n * * `lg`: 48px\n *\n * @defaultValue sm\n */\n size?: \"sm\" | \"lg\";\n /**\n * The text to be displayed on the chip\n */\n text: string;\n /**\n * The callback to be called when the chip is clicked\n */\n onChange: React.MouseEventHandler<HTMLButtonElement>;\n /**\n * The icon to be displayed.\n */\n icon?: React.ComponentType<{ className?: string }>;\n};\n/**\n * [Chip](https://cambly-syntax.vercel.app/?path=/docs/components-chip--docs) is used to show status (selected/not selected) like a toggle button.\n */\nconst Chip = forwardRef<HTMLButtonElement, ChipProps>(\n (\n {\n selected = false,\n \"data-testid\": dataTestId,\n size = \"sm\",\n text,\n onChange,\n icon: Icon,\n }: ChipProps,\n ref,\n ) => {\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated;\n\n const chipStyles = classnames(styles.chip, styles[size], {\n [styles.selectedChip]: selected,\n [styles.disabled]: disabled,\n });\n const iconStyles = classnames(styles.icon, {\n [styles.selectedIcon]: selected,\n });\n const typographySize = {\n [\"sm\"]: 200,\n [\"lg\"]: 300,\n } as const;\n return (\n <button\n className={chipStyles}\n disabled={disabled}\n data-testid={dataTestId}\n ref={ref}\n type=\"button\"\n aria-pressed={selected}\n onClick={onChange}\n >\n {Icon && <Icon className={iconStyles} />}\n <Box paddingX={Icon ? 1 : 0}>\n <Typography\n size={typographySize[size]}\n color={selected ? \"white\" : \"gray900\"}\n >\n {text}\n </Typography>\n </Box>\n </button>\n );\n },\n);\n\nChip.displayName = \"Chip\";\n\nexport default Chip;\n","import \"/Users/christian/cambly/syntax/packages/syntax-core/src/Chip/Chip.module.css\"; export default {\"chip\":\"_chip_nvvgx_1\",\"disabled\":\"_disabled_nvvgx_12\",\"selectedChip\":\"_selectedChip_nvvgx_17\",\"icon\":\"_icon_nvvgx_22\",\"selectedIcon\":\"_selectedIcon_nvvgx_30\",\"sm\":\"_sm_nvvgx_34\",\"lg\":\"_lg_nvvgx_40\"}"],"mappings":";;;;;;;;;;;AAAA,SAAgB,kBAAkB;AAClC,OAAO,gBAAgB;;;ACDgE,IAAO,sBAAQ,EAAC,QAAO,iBAAgB,YAAW,sBAAqB,gBAAe,0BAAyB,QAAO,kBAAiB,gBAAe,0BAAyB,MAAK,gBAAe,MAAK,eAAc;;;ADwEvS,SASW,KATX;AA3BN,IAAM,OAAO;AAAA,EACX,CACE;AAAA,IACE,WAAW;AAAA,IACX,eAAe;AAAA,IACf,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA,MAAM;AAAA,EACR,GACA,QACG;AACH,UAAM,aAAa,cAAc;AACjC,UAAM,WAAW,CAAC;AAElB,UAAM,aAAa,WAAW,oBAAO,MAAM,oBAAO,IAAI,GAAG;AAAA,MACvD,CAAC,oBAAO,YAAY,GAAG;AAAA,MACvB,CAAC,oBAAO,QAAQ,GAAG;AAAA,IACrB,CAAC;AACD,UAAM,aAAa,WAAW,oBAAO,MAAM;AAAA,MACzC,CAAC,oBAAO,YAAY,GAAG;AAAA,IACzB,CAAC;AACD,UAAM,iBAAiB;AAAA,MACrB,CAAC,IAAI,GAAG;AAAA,MACR,CAAC,IAAI,GAAG;AAAA,IACV;AACA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,QACX;AAAA,QACA,eAAa;AAAA,QACb;AAAA,QACA,MAAK;AAAA,QACL,gBAAc;AAAA,QACd,SAAS;AAAA,QAER;AAAA,kBAAQ,oBAAC,QAAK,WAAW,YAAY;AAAA,UACtC,oBAAC,eAAI,UAAU,OAAO,IAAI,GACxB;AAAA,YAAC;AAAA;AAAA,cACC,MAAM,eAAe,IAAI;AAAA,cACzB,OAAO,WAAW,UAAU;AAAA,cAE3B;AAAA;AAAA,UACH,GACF;AAAA;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,KAAK,cAAc;AAEnB,IAAO,eAAQ;","names":[]}
|