@cambly/syntax-core 10.13.0 → 10.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Button/Button.cjs +4 -4
- package/dist/Button/Button.d.ts +7 -1
- package/dist/Button/Button.js +3 -3
- package/dist/Chip/Chip.cjs +2 -2
- package/dist/Chip/Chip.css +20 -14
- package/dist/Chip/Chip.css.map +1 -1
- package/dist/Chip/Chip.d.ts +6 -0
- package/dist/Chip/Chip.js +1 -1
- package/dist/Dialog/ModalDialog.cjs +5 -5
- package/dist/Dialog/ModalDialog.css +18 -22
- package/dist/Dialog/ModalDialog.css.map +1 -1
- package/dist/Dialog/ModalDialog.js +4 -4
- package/dist/IconButton/IconButton.cjs +4 -4
- package/dist/IconButton/IconButton.css +18 -22
- package/dist/IconButton/IconButton.css.map +1 -1
- package/dist/IconButton/IconButton.d.ts +6 -0
- package/dist/IconButton/IconButton.js +3 -3
- package/dist/LinkButton/LinkButton.cjs +4 -4
- package/dist/LinkButton/LinkButton.d.ts +6 -0
- package/dist/LinkButton/LinkButton.js +3 -3
- package/dist/Popover/Popover.cjs +6 -6
- package/dist/Popover/Popover.css +18 -22
- package/dist/Popover/Popover.css.map +1 -1
- package/dist/Popover/Popover.js +5 -5
- package/dist/RichSelect/RichSelectBox.cjs +7 -7
- package/dist/RichSelect/RichSelectBox.css +20 -14
- package/dist/RichSelect/RichSelectBox.css.map +1 -1
- package/dist/RichSelect/RichSelectBox.js +6 -6
- package/dist/RichSelect/RichSelectChip.cjs +3 -3
- package/dist/RichSelect/RichSelectChip.css +20 -14
- package/dist/RichSelect/RichSelectChip.css.map +1 -1
- package/dist/RichSelect/RichSelectChip.js +2 -2
- package/dist/RichSelect/RichSelectList.cjs +12 -12
- package/dist/RichSelect/RichSelectList.css +57 -54
- package/dist/RichSelect/RichSelectList.css.map +1 -1
- package/dist/RichSelect/RichSelectList.d.ts +1 -1
- package/dist/RichSelect/RichSelectList.js +11 -11
- package/dist/SelectList/SelectList.cjs +3 -3
- package/dist/SelectList/SelectList.css +19 -18
- package/dist/SelectList/SelectList.css.map +1 -1
- package/dist/SelectList/SelectList.js +2 -2
- package/dist/__chunks/{DSMWIJEY.cjs → 3P4HISCU.cjs} +3 -3
- package/dist/__chunks/{TIG3BSZG.js → 4FB7KTL3.js} +2 -2
- package/dist/__chunks/{OLWEXK5F.cjs → 4TWU6PQA.cjs} +6 -6
- package/dist/__chunks/{JGXQJLCD.js → 53RQSOUJ.js} +6 -5
- package/dist/__chunks/53RQSOUJ.js.map +1 -0
- package/dist/__chunks/{4JXNDR7B.cjs → 5T5R6ZMD.cjs} +6 -5
- package/dist/__chunks/5T5R6ZMD.cjs.map +1 -0
- package/dist/__chunks/{EE5VI7K5.js → AVW5DTQH.js} +1 -1
- package/dist/__chunks/{EE5VI7K5.js.map → AVW5DTQH.js.map} +1 -1
- package/dist/__chunks/{H6JCVQBU.cjs → C2JXAQM4.cjs} +1 -1
- package/dist/__chunks/{H6JCVQBU.cjs.map → C2JXAQM4.cjs.map} +1 -1
- package/dist/__chunks/{ZLBPIQ2I.js → E7G4CMBM.js} +2 -2
- package/dist/__chunks/{BXUTWPRU.cjs → EVDDEHP3.cjs} +3 -3
- package/dist/__chunks/{PRE7WZF5.js → GHPZTFQK.js} +2 -2
- package/dist/__chunks/HCM63U3J.cjs +64 -0
- package/dist/__chunks/HCM63U3J.cjs.map +1 -0
- package/dist/__chunks/{7P7YX4X2.cjs → IMYS42TL.cjs} +8 -8
- package/dist/__chunks/IMYS42TL.cjs.map +1 -0
- package/dist/__chunks/JGYZV3JA.js +64 -0
- package/dist/__chunks/JGYZV3JA.js.map +1 -0
- package/dist/__chunks/{G7GMDR6I.js → KCZFPTFK.js} +3 -3
- package/dist/__chunks/{G7GMDR6I.js.map → KCZFPTFK.js.map} +1 -1
- package/dist/__chunks/{L3CUWPPD.js → M2ABILBX.js} +8 -8
- package/dist/__chunks/M2ABILBX.js.map +1 -0
- package/dist/__chunks/{GRYQKIWR.cjs → MUNI4VXL.cjs} +31 -5
- package/dist/__chunks/MUNI4VXL.cjs.map +1 -0
- package/dist/__chunks/{YGM4Z46I.js → NKWR4CYF.js} +6 -5
- package/dist/__chunks/NKWR4CYF.js.map +1 -0
- package/dist/__chunks/OFW6A65B.js +82 -0
- package/dist/__chunks/OFW6A65B.js.map +1 -0
- package/dist/__chunks/{SFJT2TM2.cjs → OXXXLEUD.cjs} +6 -5
- package/dist/__chunks/OXXXLEUD.cjs.map +1 -0
- package/dist/__chunks/{L4RR2XJT.js → PX3OQSL4.js} +3 -3
- package/dist/__chunks/QWMAWIWI.cjs +82 -0
- package/dist/__chunks/QWMAWIWI.cjs.map +1 -0
- package/dist/__chunks/{RZCA77DH.cjs → SI257QZE.cjs} +4 -4
- package/dist/__chunks/SI257QZE.cjs.map +1 -0
- package/dist/__chunks/{HZ7TRVX2.cjs → VOLO4QB4.cjs} +34 -25
- package/dist/__chunks/VOLO4QB4.cjs.map +1 -0
- package/dist/__chunks/{2ZUWZKPV.js → YKGFFSWB.js} +32 -6
- package/dist/__chunks/YKGFFSWB.js.map +1 -0
- package/dist/__chunks/{XSHPEZBA.cjs → ZDDA4AKB.cjs} +3 -3
- package/dist/__chunks/{NUDTHTSM.js → ZM7GAFGB.js} +28 -19
- package/dist/__chunks/ZM7GAFGB.js.map +1 -0
- package/dist/colors/backgroundColor.cjs +2 -2
- package/dist/colors/backgroundColor.d.ts +1 -1
- package/dist/colors/backgroundColor.js +1 -1
- package/dist/colors/foregroundColor.cjs +2 -2
- package/dist/colors/foregroundColor.d.ts +1 -1
- package/dist/colors/foregroundColor.js +1 -1
- package/dist/index.cjs +14 -14
- package/dist/index.css +57 -54
- package/dist/index.css.map +1 -1
- package/dist/index.js +13 -13
- package/package.json +4 -4
- package/dist/__chunks/2ZUWZKPV.js.map +0 -1
- package/dist/__chunks/4JXNDR7B.cjs.map +0 -1
- package/dist/__chunks/7P7YX4X2.cjs.map +0 -1
- package/dist/__chunks/A4O4F3KK.cjs +0 -57
- package/dist/__chunks/A4O4F3KK.cjs.map +0 -1
- package/dist/__chunks/GRYQKIWR.cjs.map +0 -1
- package/dist/__chunks/HZ7TRVX2.cjs.map +0 -1
- package/dist/__chunks/JGXQJLCD.js.map +0 -1
- package/dist/__chunks/JVOQF4CG.js +0 -44
- package/dist/__chunks/JVOQF4CG.js.map +0 -1
- package/dist/__chunks/L3CUWPPD.js.map +0 -1
- package/dist/__chunks/NUDTHTSM.js.map +0 -1
- package/dist/__chunks/RKEF7WKZ.cjs +0 -44
- package/dist/__chunks/RKEF7WKZ.cjs.map +0 -1
- package/dist/__chunks/RZCA77DH.cjs.map +0 -1
- package/dist/__chunks/SFJT2TM2.cjs.map +0 -1
- package/dist/__chunks/Y2OAIOQE.js +0 -57
- package/dist/__chunks/Y2OAIOQE.js.map +0 -1
- package/dist/__chunks/YGM4Z46I.js.map +0 -1
- /package/dist/__chunks/{DSMWIJEY.cjs.map → 3P4HISCU.cjs.map} +0 -0
- /package/dist/__chunks/{TIG3BSZG.js.map → 4FB7KTL3.js.map} +0 -0
- /package/dist/__chunks/{OLWEXK5F.cjs.map → 4TWU6PQA.cjs.map} +0 -0
- /package/dist/__chunks/{ZLBPIQ2I.js.map → E7G4CMBM.js.map} +0 -0
- /package/dist/__chunks/{BXUTWPRU.cjs.map → EVDDEHP3.cjs.map} +0 -0
- /package/dist/__chunks/{PRE7WZF5.js.map → GHPZTFQK.js.map} +0 -0
- /package/dist/__chunks/{L4RR2XJT.js.map → PX3OQSL4.js.map} +0 -0
- /package/dist/__chunks/{XSHPEZBA.cjs.map → ZDDA4AKB.cjs.map} +0 -0
|
@@ -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\";\nimport { type Size } from \"../constants\";\nimport Typography from \"../Typography/Typography\";\nimport Box from \"../Box/Box\";\nimport iconSize from \"./constants/iconSize\";\nimport textVariant from \"./constants/textVariant\";\nimport loadingIconSize from \"./constants/loadingIconSize\";\nimport styles from \"./Button.module.css\";\nimport useIsHydrated from \"../useIsHydrated\";\nimport { useTheme } from \"../ThemeProvider/ThemeProvider\";\nimport { classicColor, cambioColor } from \"./constants/color\";\nimport {\n classicBackgroundColor,\n cambioBackgroundColor,\n} from \"../colors/backgroundColor\";\nimport {\n classicForegroundColor,\n cambioForegroundColor,\n} from \"../colors/foregroundColor\";\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 * Classic only:\n * * `inverse`\n * * `success`\n *\n * Cambio only:\n * * `success-primary`\n * * `success-secondary`\n * * `success-tertiary`\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 | \"success-primary\"\n | \"success-secondary\"\n | \"success-tertiary\"\n | \"inverse\";\n /**\n * The size of the button\n *\n * Classic:\n * * `sm`: 32px\n * * `md`: 40px\n * * `lg`: 48px\n *\n * Cambio:\n * * `sm`: 32px\n * * `md`: 48px\n * * `lg`: 64px\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 * Note: startIcon is not supported in the Cambio theme\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 * Note: endIcon is not supported in the Cambio theme\n */\n endIcon?: React.ComponentType<{ className?: string }>;\n /**\n * Indicate whether the button renders on a light or dark background. Changes the color of the button (Cambio only)\n *\n * @defaulValue `lightBackground`\n */\n on?: \"lightBackground\" | \"darkBackground\";\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 on = \"lightBackground\",\n onClick,\n tooltip,\n type = \"button\",\n }: ButtonProps,\n ref,\n ) => {\n const isHydrated = useIsHydrated();\n const { themeName } = useTheme();\n\n const foregroundColorClass =\n themeName === \"classic\"\n ? classicForegroundColor(classicColor(color))\n : cambioForegroundColor(cambioColor(color), on);\n\n const backgroundColorClass =\n themeName === \"classic\"\n ? classicBackgroundColor(classicColor(color))\n : cambioBackgroundColor(cambioColor(color), on);\n\n return (\n <button\n data-testid={dataTestId}\n ref={ref}\n aria-label={accessibilityLabel}\n type={type}\n title={tooltip}\n disabled={!isHydrated || disabled || loading}\n onClick={onClick}\n className={classNames(\n styles.button,\n foregroundColorClass,\n backgroundColorClass,\n themeName === \"classic\" ? styles[size] : styles[`${size}Cambio`],\n {\n [styles.fullWidth]: fullWidth,\n [styles.buttonGap]:\n themeName === \"classic\" && (size === \"lg\" || size === \"md\"),\n [styles.secondaryBorder]:\n themeName === \"classic\" && color === \"secondary\",\n [styles.secondaryDestructiveBorder]:\n themeName === \"classic\" && color === \"destructive-secondary\",\n },\n )}\n >\n {!loading && StartIcon && themeName === \"classic\" && (\n <StartIcon className={classNames(styles.icon, iconSize[size])} />\n )}\n {((loading && loadingText) || (!loading && text)) && (\n <Box paddingX={1}>\n <Typography\n size={\n themeName === \"classic\" ? textVariant[size] : textVariant[size]\n }\n >\n <span\n // Temporary - until we have cambio colors on Typogrphay\n className={foregroundColorClass}\n style={{ fontWeight: 500 }}\n >\n {loading ? loadingText : text}\n </span>\n </Typography>\n </Box>\n )}\n {!loading && EndIcon && themeName === \"classic\" && (\n <EndIcon className={classNames(styles.icon, iconSize[size])} />\n )}\n {loading && (\n <svg\n className={classNames(styles.loading, foregroundColorClass)}\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 \"/home/runner/work/syntax/syntax/packages/syntax-core/src/Button/Button.module.css\"; export default {\"button\":\"_button_ddq3j_1\",\"buttonGap\":\"_buttonGap_ddq3j_9\",\"fullWidth\":\"_fullWidth_ddq3j_50\",\"sm\":\"_sm_ddq3j_54\",\"md\":\"_md_ddq3j_61\",\"lg\":\"_lg_ddq3j_68\",\"smCambio\":\"_smCambio_ddq3j_75\",\"mdCambio\":\"_mdCambio_ddq3j_82\",\"lgCambio\":\"_lgCambio_ddq3j_89\",\"icon\":\"_icon_ddq3j_96\",\"smIcon\":\"_smIcon_ddq3j_100\",\"mdIcon\":\"_mdIcon_ddq3j_107\",\"lgIcon\":\"_lgIcon_ddq3j_114\",\"secondaryBorder\":\"_secondaryBorder_ddq3j_121\",\"secondaryDestructiveBorder\":\"_secondaryDestructiveBorder_ddq3j_125\",\"loading\":\"_loading_ddq3j_139\",\"syntaxButtonLoadingRotate\":\"_syntaxButtonLoadingRotate_ddq3j_1\",\"loadingCircle\":\"_loadingCircle_ddq3j_143\"}"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAgB,kBAAkB;AAClC,OAAO,gBAAgB;;;ACDqE,IAAO,wBAAQ,EAAC,UAAS,mBAAkB,aAAY,sBAAqB,aAAY,uBAAsB,MAAK,gBAAe,MAAK,gBAAe,MAAK,gBAAe,YAAW,sBAAqB,YAAW,sBAAqB,YAAW,sBAAqB,QAAO,kBAAiB,UAAS,qBAAoB,UAAS,qBAAoB,UAAS,qBAAoB,mBAAkB,8BAA6B,8BAA6B,yCAAwC,WAAU,sBAAqB,6BAA4B,sCAAqC,iBAAgB,2BAA0B;;;ADuK7sB,SAyBI,KAzBJ;AAnCN,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,KAAK;AAAA,IACL;AAAA,IACA;AAAA,IACA,OAAO;AAAA,EACT,GACA,QACG;AACH,UAAM,aAAa,cAAc;AACjC,UAAM,EAAE,UAAU,IAAI,SAAS;AAE/B,UAAM,uBACJ,cAAc,YACV,uBAAuB,aAAa,KAAK,CAAC,IAC1C,sBAAsB,YAAY,KAAK,GAAG,EAAE;AAElD,UAAM,uBACJ,cAAc,YACV,uBAAuB,aAAa,KAAK,CAAC,IAC1C,sBAAsB,YAAY,KAAK,GAAG,EAAE;AAElD,WACE;AAAA,MAAC;AAAA;AAAA,QACC,eAAa;AAAA,QACb;AAAA,QACA,cAAY;AAAA,QACZ;AAAA,QACA,OAAO;AAAA,QACP,UAAU,CAAC,cAAc,YAAY;AAAA,QACrC;AAAA,QACA,WAAW;AAAA,UACT,sBAAO;AAAA,UACP;AAAA,UACA;AAAA,UACA,cAAc,YAAY,sBAAO,IAAI,IAAI,sBAAO,GAAG,YAAY;AAAA,UAC/D;AAAA,YACE,CAAC,sBAAO,SAAS,GAAG;AAAA,YACpB,CAAC,sBAAO,SAAS,GACf,cAAc,cAAc,SAAS,QAAQ,SAAS;AAAA,YACxD,CAAC,sBAAO,eAAe,GACrB,cAAc,aAAa,UAAU;AAAA,YACvC,CAAC,sBAAO,0BAA0B,GAChC,cAAc,aAAa,UAAU;AAAA,UACzC;AAAA,QACF;AAAA,QAEC;AAAA,WAAC,WAAW,aAAa,cAAc,aACtC,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,MACE,cAAc,YAAY,oBAAY,IAAI,IAAI,oBAAY,IAAI;AAAA,cAGhE;AAAA,gBAAC;AAAA;AAAA,kBAEC,WAAW;AAAA,kBACX,OAAO,EAAE,YAAY,IAAI;AAAA,kBAExB,oBAAU,cAAc;AAAA;AAAA,cAC3B;AAAA;AAAA,UACF,GACF;AAAA,UAED,CAAC,WAAW,WAAW,cAAc,aACpC,oBAAC,WAAQ,WAAW,WAAW,sBAAO,MAAM,iBAAS,IAAI,CAAC,GAAG;AAAA,UAE9D,WACC;AAAA,YAAC;AAAA;AAAA,cACC,WAAW,WAAW,sBAAO,SAAS,oBAAoB;AAAA,cAC1D,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,82 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
import {
|
|
3
|
+
colors_module_default
|
|
4
|
+
} from "./FMQVMNVR.js";
|
|
5
|
+
|
|
6
|
+
// src/colors/backgroundColor.ts
|
|
7
|
+
function classicBackgroundColor(color) {
|
|
8
|
+
switch (color) {
|
|
9
|
+
case "secondary":
|
|
10
|
+
return colors_module_default.primary100BackgroundColor;
|
|
11
|
+
case "destructive-primary":
|
|
12
|
+
return colors_module_default.destructive700BackgroundColor;
|
|
13
|
+
case "destructive-secondary":
|
|
14
|
+
return colors_module_default.destructive100BackgroundColor;
|
|
15
|
+
case "success":
|
|
16
|
+
return colors_module_default.success700BackgroundColor;
|
|
17
|
+
case "tertiary":
|
|
18
|
+
case "destructive-tertiary":
|
|
19
|
+
return colors_module_default.whiteBackgroundColor;
|
|
20
|
+
case "branded":
|
|
21
|
+
return colors_module_default.yellow700BackgroundColor;
|
|
22
|
+
case "inverse":
|
|
23
|
+
return colors_module_default.gray60BackgroundColor;
|
|
24
|
+
default:
|
|
25
|
+
return colors_module_default.primary700BackgroundColor;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function cambioBackgroundColor(color, on) {
|
|
29
|
+
if (on === "lightBackground") {
|
|
30
|
+
switch (color) {
|
|
31
|
+
case "primary":
|
|
32
|
+
return colors_module_default.cambioBlackBackgroundColor;
|
|
33
|
+
case "secondary":
|
|
34
|
+
return colors_module_default.cambioGray370BackgroundColor;
|
|
35
|
+
case "tertiary":
|
|
36
|
+
case "success-tertiary":
|
|
37
|
+
case "destructive-tertiary":
|
|
38
|
+
return colors_module_default.cambioTransparentFullBackgroundColor;
|
|
39
|
+
case "success-primary":
|
|
40
|
+
return colors_module_default.cambioSuccess700BackgroundColor;
|
|
41
|
+
case "success-secondary":
|
|
42
|
+
return colors_module_default.cambioSuccess370BackgroundColor;
|
|
43
|
+
case "destructive-primary":
|
|
44
|
+
return colors_module_default.cambioDestructive700BackgroundColor;
|
|
45
|
+
case "destructive-secondary":
|
|
46
|
+
return colors_module_default.cambioDestructive370BackgroundColor;
|
|
47
|
+
case "branded":
|
|
48
|
+
return colors_module_default.cambioYellow700BackgroundColor;
|
|
49
|
+
default:
|
|
50
|
+
return colors_module_default.cambioBlackBackgroundColor;
|
|
51
|
+
}
|
|
52
|
+
} else {
|
|
53
|
+
switch (color) {
|
|
54
|
+
case "primary":
|
|
55
|
+
return colors_module_default.cambioGray200BackgroundColor;
|
|
56
|
+
case "secondary":
|
|
57
|
+
return colors_module_default.cambioGray870BackgroundColor;
|
|
58
|
+
case "tertiary":
|
|
59
|
+
case "success-tertiary":
|
|
60
|
+
case "destructive-tertiary":
|
|
61
|
+
return colors_module_default.cambioTransparentFullBackgroundColor;
|
|
62
|
+
case "success-primary":
|
|
63
|
+
return colors_module_default.cambioSuccess300BackgroundColor;
|
|
64
|
+
case "success-secondary":
|
|
65
|
+
return colors_module_default.cambioSuccess770BackgroundColor;
|
|
66
|
+
case "destructive-primary":
|
|
67
|
+
return colors_module_default.cambioDestructive300BackgroundColor;
|
|
68
|
+
case "destructive-secondary":
|
|
69
|
+
return colors_module_default.cambioDestructive770BackgroundColor;
|
|
70
|
+
case "branded":
|
|
71
|
+
return colors_module_default.cambioYellow700BackgroundColor;
|
|
72
|
+
default:
|
|
73
|
+
return colors_module_default.cambioWhiteBackgroundColor;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export {
|
|
79
|
+
classicBackgroundColor,
|
|
80
|
+
cambioBackgroundColor
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=OFW6A65B.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/colors/backgroundColor.ts"],"sourcesContent":["import { type CambioColor, type Color } from \"../constants\";\nimport styles from \"./colors.module.css\";\n\nexport function classicBackgroundColor(color: (typeof Color)[number]): string {\n switch (color) {\n case \"secondary\":\n return styles.primary100BackgroundColor;\n case \"destructive-primary\":\n return styles.destructive700BackgroundColor;\n case \"destructive-secondary\":\n return styles.destructive100BackgroundColor;\n case \"success\":\n return styles.success700BackgroundColor;\n case \"tertiary\":\n case \"destructive-tertiary\":\n return styles.whiteBackgroundColor;\n case \"branded\":\n return styles.yellow700BackgroundColor;\n case \"inverse\":\n return styles.gray60BackgroundColor;\n default:\n return styles.primary700BackgroundColor;\n }\n}\n\nexport function cambioBackgroundColor(\n color: (typeof CambioColor)[number],\n on: \"lightBackground\" | \"darkBackground\",\n): string {\n if (on === \"lightBackground\") {\n switch (color) {\n case \"primary\":\n return styles.cambioBlackBackgroundColor;\n case \"secondary\":\n return styles.cambioGray370BackgroundColor;\n case \"tertiary\":\n case \"success-tertiary\":\n case \"destructive-tertiary\":\n return styles.cambioTransparentFullBackgroundColor;\n case \"success-primary\":\n return styles.cambioSuccess700BackgroundColor;\n case \"success-secondary\":\n return styles.cambioSuccess370BackgroundColor;\n case \"destructive-primary\":\n return styles.cambioDestructive700BackgroundColor;\n case \"destructive-secondary\":\n return styles.cambioDestructive370BackgroundColor;\n case \"branded\":\n return styles.cambioYellow700BackgroundColor;\n default:\n return styles.cambioBlackBackgroundColor;\n }\n } else {\n switch (color) {\n case \"primary\":\n return styles.cambioGray200BackgroundColor;\n case \"secondary\":\n return styles.cambioGray870BackgroundColor;\n case \"tertiary\":\n case \"success-tertiary\":\n case \"destructive-tertiary\":\n return styles.cambioTransparentFullBackgroundColor;\n case \"success-primary\":\n return styles.cambioSuccess300BackgroundColor;\n case \"success-secondary\":\n return styles.cambioSuccess770BackgroundColor;\n case \"destructive-primary\":\n return styles.cambioDestructive300BackgroundColor;\n case \"destructive-secondary\":\n return styles.cambioDestructive770BackgroundColor;\n case \"branded\":\n return styles.cambioYellow700BackgroundColor;\n default:\n return styles.cambioWhiteBackgroundColor;\n }\n }\n}\n"],"mappings":";;;;;;AAGO,SAAS,uBAAuB,OAAuC;AAC5E,UAAQ,OAAO;AAAA,IACb,KAAK;AACH,aAAO,sBAAO;AAAA,IAChB,KAAK;AACH,aAAO,sBAAO;AAAA,IAChB,KAAK;AACH,aAAO,sBAAO;AAAA,IAChB,KAAK;AACH,aAAO,sBAAO;AAAA,IAChB,KAAK;AAAA,IACL,KAAK;AACH,aAAO,sBAAO;AAAA,IAChB,KAAK;AACH,aAAO,sBAAO;AAAA,IAChB,KAAK;AACH,aAAO,sBAAO;AAAA,IAChB;AACE,aAAO,sBAAO;AAAA,EAClB;AACF;AAEO,SAAS,sBACd,OACA,IACQ;AACR,MAAI,OAAO,mBAAmB;AAC5B,YAAQ,OAAO;AAAA,MACb,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB;AACE,eAAO,sBAAO;AAAA,IAClB;AAAA,EACF,OAAO;AACL,YAAQ,OAAO;AAAA,MACb,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB;AACE,eAAO,sBAAO;AAAA,IAClB;AAAA,EACF;AACF;","names":[]}
|
|
@@ -15,11 +15,11 @@ var _HWQUS53Mcjs = require('./HWQUS53M.cjs');
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _HCM63U3Jcjs = require('./HCM63U3J.cjs');
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _QWMAWIWIcjs = require('./QWMAWIWI.cjs');
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
var _WGRHH5TFcjs = require('./WGRHH5TF.cjs');
|
|
@@ -48,11 +48,12 @@ var LinkButton = _react.forwardRef.call(void 0,
|
|
|
48
48
|
fullWidth = false,
|
|
49
49
|
startIcon: StartIcon,
|
|
50
50
|
endIcon: EndIcon,
|
|
51
|
+
on = "lightBackground",
|
|
51
52
|
onClick
|
|
52
53
|
}, ref) => {
|
|
53
54
|
const { themeName } = _6W5WRS53cjs.useTheme.call(void 0, );
|
|
54
|
-
const foregroundColorClass = themeName === "classic" ?
|
|
55
|
-
const backgroundColorClass = themeName === "classic" ?
|
|
55
|
+
const foregroundColorClass = themeName === "classic" ? _HCM63U3Jcjs.classicForegroundColor.call(void 0, _HWQUS53Mcjs.classicColor.call(void 0, color)) : _HCM63U3Jcjs.cambioForegroundColor.call(void 0, _HWQUS53Mcjs.cambioColor.call(void 0, color), on);
|
|
56
|
+
const backgroundColorClass = themeName === "classic" ? _QWMAWIWIcjs.classicBackgroundColor.call(void 0, _HWQUS53Mcjs.classicColor.call(void 0, color)) : _QWMAWIWIcjs.cambioBackgroundColor.call(void 0, _HWQUS53Mcjs.cambioColor.call(void 0, color), on);
|
|
56
57
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
57
58
|
"a",
|
|
58
59
|
{
|
|
@@ -122,4 +123,4 @@ var LinkButton_default = LinkButton;
|
|
|
122
123
|
|
|
123
124
|
|
|
124
125
|
exports.LinkButton_default = LinkButton_default;
|
|
125
|
-
//# sourceMappingURL=
|
|
126
|
+
//# sourceMappingURL=OXXXLEUD.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/LinkButton/LinkButton.tsx","css-module:./LinkButton.module.css#css-module"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,kBAA2C;AACpD,OAAO,gBAAgB;;;ACD6E,IAAO,4BAAQ,EAAC,cAAa,uBAAsB,cAAa,uBAAsB;;;ADsJpL,SA4BI,KA5BJ;AA/BN,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,KAAK;AAAA,IACL;AAAA,EACF,GACA,QACG;AACH,UAAM,EAAE,UAAU,IAAI,SAAS;AAE/B,UAAM,uBACJ,cAAc,YACV,uBAAuB,aAAa,KAAK,CAAC,IAC1C,sBAAsB,YAAY,KAAK,GAAG,EAAE;AAElD,UAAM,uBACJ,cAAc,YACV,uBAAuB,aAAa,KAAK,CAAC,IAC1C,sBAAsB,YAAY,KAAK,GAAG,EAAE;AAElD,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;AAAA,UACA;AAAA,UACA,cAAc,YACV,sBAAa,IAAI,IACjB,sBAAa,GAAG,YAAY;AAAA,UAChC;AAAA,YACE,CAAC,sBAAa,SAAS,GAAG;AAAA,YAC1B,CAAC,0BAAO,UAAU,GAAG,CAAC;AAAA,YACtB,CAAC,sBAAa,SAAS,GACrB,cAAc,cAAc,SAAS,QAAQ,SAAS;AAAA,YACxD,CAAC,sBAAa,eAAe,GAC3B,cAAc,aAAa,UAAU;AAAA,YACvC,CAAC,sBAAa,0BAA0B,GACtC,cAAc,aAAa,UAAU;AAAA,UACzC;AAAA,QACF;AAAA,QACA;AAAA,QAEC;AAAA,uBAAa,cAAc,aAC1B;AAAA,YAAC;AAAA;AAAA,cACC,WAAW;AAAA,gBACT,sBAAa;AAAA,gBACb,iBAAS,IAAI;AAAA,gBACb;AAAA,cACF;AAAA;AAAA,UACF;AAAA,UAEF;AAAA,YAAC;AAAA;AAAA,cACC,MAAM,cAAc,YAAY,oBAAY,IAAI,IAAI,oBAAY,IAAI;AAAA,cAEpE;AAAA,gBAAC;AAAA;AAAA,kBAEC,WAAW;AAAA,kBACX,OAAO,EAAE,YAAY,IAAI;AAAA,kBAExB;AAAA;AAAA,cACH;AAAA;AAAA,UACF;AAAA,UACC,WAAW,cAAc,aACxB;AAAA,YAAC;AAAA;AAAA,cACC,WAAW;AAAA,gBACT,sBAAa;AAAA,gBACb,iBAAS,IAAI;AAAA,gBACb;AAAA,cACF;AAAA;AAAA,UACF;AAAA;AAAA;AAAA,IAEJ;AAAA,EAEJ;AACF;AAEA,WAAW,cAAc;AAEzB,IAAO,qBAAQ","sourcesContent":["import { forwardRef, type HtmlHTMLAttributes } from \"react\";\nimport classNames from \"classnames\";\nimport React from \"react\";\nimport { type Size } from \"../constants\";\nimport Typography from \"../Typography/Typography\";\nimport buttonStyles from \"../Button/Button.module.css\";\nimport iconSize from \"../Button/constants/iconSize\";\nimport textVariant from \"../Button/constants/textVariant\";\nimport styles from \"./LinkButton.module.css\";\n\nimport { classicColor, cambioColor } from \"../Button/constants/color\";\nimport {\n classicBackgroundColor,\n cambioBackgroundColor,\n} from \"../colors//backgroundColor\";\nimport {\n classicForegroundColor,\n cambioForegroundColor,\n} from \"../colors/foregroundColor\";\nimport { useTheme } from \"../ThemeProvider/ThemeProvider\";\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 * Classic only:\n * * `inverse`\n * * `success`\n *\n * Cambio only:\n * * `success-primary`\n * * `success-secondary`\n * * `success-tertiary`\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 | \"success-primary\"\n | \"success-secondary\"\n | \"success-tertiary\"\n | \"inverse\";\n /**\n * The size of the button\n *\n * Classic:\n * * `sm`: 32px\n * * `md`: 40px\n * * `lg`: 48px\n *\n * Cambio:\n * * `sm`: 32px\n * * `md`: 48px\n * * `lg`: 64px\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 * Note: startIcon is not supported in the Cambio theme\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 * Note: endIcon is not supported in the Cambio theme\n */\n endIcon?: React.ComponentType<{ className?: string }>;\n /**\n * Indicate whether the button renders on a light or dark background. Changes the color of the button (Cambio only)\n *\n * @defaulValue `lightBackground`\n */\n on?: \"lightBackground\" | \"darkBackground\";\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 on = \"lightBackground\",\n onClick,\n }: LinkButtonProps,\n ref,\n ) => {\n const { themeName } = useTheme();\n\n const foregroundColorClass =\n themeName === \"classic\"\n ? classicForegroundColor(classicColor(color))\n : cambioForegroundColor(cambioColor(color), on);\n\n const backgroundColorClass =\n themeName === \"classic\"\n ? classicBackgroundColor(classicColor(color))\n : cambioBackgroundColor(cambioColor(color), on);\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 foregroundColorClass,\n backgroundColorClass,\n themeName === \"classic\"\n ? buttonStyles[size]\n : buttonStyles[`${size}Cambio`],\n {\n [buttonStyles.fullWidth]: fullWidth,\n [styles.fitContent]: !fullWidth,\n [buttonStyles.buttonGap]:\n themeName === \"classic\" && (size === \"lg\" || size === \"md\"),\n [buttonStyles.secondaryBorder]:\n themeName === \"classic\" && color === \"secondary\",\n [buttonStyles.secondaryDestructiveBorder]:\n themeName === \"classic\" && color === \"destructive-secondary\",\n },\n )}\n onClick={onClick}\n >\n {StartIcon && themeName === \"classic\" && (\n <StartIcon\n className={classNames(\n buttonStyles.icon,\n iconSize[size],\n foregroundColorClass,\n )}\n />\n )}\n <Typography\n size={themeName === \"classic\" ? textVariant[size] : textVariant[size]}\n >\n <span\n // Temporary - until we have cambio colors on Typogrphay\n className={foregroundColorClass}\n style={{ fontWeight: 500 }}\n >\n {text}\n </span>\n </Typography>\n {EndIcon && themeName === \"classic\" && (\n <EndIcon\n className={classNames(\n buttonStyles.icon,\n iconSize[size],\n foregroundColorClass,\n )}\n />\n )}\n </a>\n );\n },\n);\n\nLinkButton.displayName = \"LinkButton\";\n\nexport default LinkButton;\n","import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/LinkButton/LinkButton.module.css\"; export default {\"linkButton\":\"_linkButton_1qjrb_1\",\"fitContent\":\"_fitContent_1qjrb_11\"}"]}
|
|
@@ -4,13 +4,13 @@ import {
|
|
|
4
4
|
} from "./JZ2Q7R2R.js";
|
|
5
5
|
import {
|
|
6
6
|
Button_default
|
|
7
|
-
} from "./
|
|
7
|
+
} from "./NKWR4CYF.js";
|
|
8
8
|
import {
|
|
9
9
|
Divider
|
|
10
10
|
} from "./FWQWL53Q.js";
|
|
11
11
|
import {
|
|
12
12
|
RichSelectChip_default
|
|
13
|
-
} from "./
|
|
13
|
+
} from "./4FB7KTL3.js";
|
|
14
14
|
import {
|
|
15
15
|
RichSelectSection_default
|
|
16
16
|
} from "./53I23AHM.js";
|
|
@@ -208,4 +208,4 @@ export {
|
|
|
208
208
|
RichSelectBoxContext,
|
|
209
209
|
RichSelectBox_default
|
|
210
210
|
};
|
|
211
|
-
//# sourceMappingURL=
|
|
211
|
+
//# sourceMappingURL=PX3OQSL4.js.map
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client"
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _VKB7KOAHcjs = require('./VKB7KOAH.cjs');
|
|
5
|
+
|
|
6
|
+
// src/colors/backgroundColor.ts
|
|
7
|
+
function classicBackgroundColor(color) {
|
|
8
|
+
switch (color) {
|
|
9
|
+
case "secondary":
|
|
10
|
+
return _VKB7KOAHcjs.colors_module_default.primary100BackgroundColor;
|
|
11
|
+
case "destructive-primary":
|
|
12
|
+
return _VKB7KOAHcjs.colors_module_default.destructive700BackgroundColor;
|
|
13
|
+
case "destructive-secondary":
|
|
14
|
+
return _VKB7KOAHcjs.colors_module_default.destructive100BackgroundColor;
|
|
15
|
+
case "success":
|
|
16
|
+
return _VKB7KOAHcjs.colors_module_default.success700BackgroundColor;
|
|
17
|
+
case "tertiary":
|
|
18
|
+
case "destructive-tertiary":
|
|
19
|
+
return _VKB7KOAHcjs.colors_module_default.whiteBackgroundColor;
|
|
20
|
+
case "branded":
|
|
21
|
+
return _VKB7KOAHcjs.colors_module_default.yellow700BackgroundColor;
|
|
22
|
+
case "inverse":
|
|
23
|
+
return _VKB7KOAHcjs.colors_module_default.gray60BackgroundColor;
|
|
24
|
+
default:
|
|
25
|
+
return _VKB7KOAHcjs.colors_module_default.primary700BackgroundColor;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function cambioBackgroundColor(color, on) {
|
|
29
|
+
if (on === "lightBackground") {
|
|
30
|
+
switch (color) {
|
|
31
|
+
case "primary":
|
|
32
|
+
return _VKB7KOAHcjs.colors_module_default.cambioBlackBackgroundColor;
|
|
33
|
+
case "secondary":
|
|
34
|
+
return _VKB7KOAHcjs.colors_module_default.cambioGray370BackgroundColor;
|
|
35
|
+
case "tertiary":
|
|
36
|
+
case "success-tertiary":
|
|
37
|
+
case "destructive-tertiary":
|
|
38
|
+
return _VKB7KOAHcjs.colors_module_default.cambioTransparentFullBackgroundColor;
|
|
39
|
+
case "success-primary":
|
|
40
|
+
return _VKB7KOAHcjs.colors_module_default.cambioSuccess700BackgroundColor;
|
|
41
|
+
case "success-secondary":
|
|
42
|
+
return _VKB7KOAHcjs.colors_module_default.cambioSuccess370BackgroundColor;
|
|
43
|
+
case "destructive-primary":
|
|
44
|
+
return _VKB7KOAHcjs.colors_module_default.cambioDestructive700BackgroundColor;
|
|
45
|
+
case "destructive-secondary":
|
|
46
|
+
return _VKB7KOAHcjs.colors_module_default.cambioDestructive370BackgroundColor;
|
|
47
|
+
case "branded":
|
|
48
|
+
return _VKB7KOAHcjs.colors_module_default.cambioYellow700BackgroundColor;
|
|
49
|
+
default:
|
|
50
|
+
return _VKB7KOAHcjs.colors_module_default.cambioBlackBackgroundColor;
|
|
51
|
+
}
|
|
52
|
+
} else {
|
|
53
|
+
switch (color) {
|
|
54
|
+
case "primary":
|
|
55
|
+
return _VKB7KOAHcjs.colors_module_default.cambioGray200BackgroundColor;
|
|
56
|
+
case "secondary":
|
|
57
|
+
return _VKB7KOAHcjs.colors_module_default.cambioGray870BackgroundColor;
|
|
58
|
+
case "tertiary":
|
|
59
|
+
case "success-tertiary":
|
|
60
|
+
case "destructive-tertiary":
|
|
61
|
+
return _VKB7KOAHcjs.colors_module_default.cambioTransparentFullBackgroundColor;
|
|
62
|
+
case "success-primary":
|
|
63
|
+
return _VKB7KOAHcjs.colors_module_default.cambioSuccess300BackgroundColor;
|
|
64
|
+
case "success-secondary":
|
|
65
|
+
return _VKB7KOAHcjs.colors_module_default.cambioSuccess770BackgroundColor;
|
|
66
|
+
case "destructive-primary":
|
|
67
|
+
return _VKB7KOAHcjs.colors_module_default.cambioDestructive300BackgroundColor;
|
|
68
|
+
case "destructive-secondary":
|
|
69
|
+
return _VKB7KOAHcjs.colors_module_default.cambioDestructive770BackgroundColor;
|
|
70
|
+
case "branded":
|
|
71
|
+
return _VKB7KOAHcjs.colors_module_default.cambioYellow700BackgroundColor;
|
|
72
|
+
default:
|
|
73
|
+
return _VKB7KOAHcjs.colors_module_default.cambioWhiteBackgroundColor;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
exports.classicBackgroundColor = classicBackgroundColor; exports.cambioBackgroundColor = cambioBackgroundColor;
|
|
82
|
+
//# sourceMappingURL=QWMAWIWI.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/colors/backgroundColor.ts"],"names":[],"mappings":";;;;;;AAGO,SAAS,uBAAuB,OAAuC;AAC5E,UAAQ,OAAO;AAAA,IACb,KAAK;AACH,aAAO,sBAAO;AAAA,IAChB,KAAK;AACH,aAAO,sBAAO;AAAA,IAChB,KAAK;AACH,aAAO,sBAAO;AAAA,IAChB,KAAK;AACH,aAAO,sBAAO;AAAA,IAChB,KAAK;AAAA,IACL,KAAK;AACH,aAAO,sBAAO;AAAA,IAChB,KAAK;AACH,aAAO,sBAAO;AAAA,IAChB,KAAK;AACH,aAAO,sBAAO;AAAA,IAChB;AACE,aAAO,sBAAO;AAAA,EAClB;AACF;AAEO,SAAS,sBACd,OACA,IACQ;AACR,MAAI,OAAO,mBAAmB;AAC5B,YAAQ,OAAO;AAAA,MACb,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB;AACE,eAAO,sBAAO;AAAA,IAClB;AAAA,EACF,OAAO;AACL,YAAQ,OAAO;AAAA,MACb,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB,KAAK;AACH,eAAO,sBAAO;AAAA,MAChB;AACE,eAAO,sBAAO;AAAA,IAClB;AAAA,EACF;AACF","sourcesContent":["import { type CambioColor, type Color } from \"../constants\";\nimport styles from \"./colors.module.css\";\n\nexport function classicBackgroundColor(color: (typeof Color)[number]): string {\n switch (color) {\n case \"secondary\":\n return styles.primary100BackgroundColor;\n case \"destructive-primary\":\n return styles.destructive700BackgroundColor;\n case \"destructive-secondary\":\n return styles.destructive100BackgroundColor;\n case \"success\":\n return styles.success700BackgroundColor;\n case \"tertiary\":\n case \"destructive-tertiary\":\n return styles.whiteBackgroundColor;\n case \"branded\":\n return styles.yellow700BackgroundColor;\n case \"inverse\":\n return styles.gray60BackgroundColor;\n default:\n return styles.primary700BackgroundColor;\n }\n}\n\nexport function cambioBackgroundColor(\n color: (typeof CambioColor)[number],\n on: \"lightBackground\" | \"darkBackground\",\n): string {\n if (on === \"lightBackground\") {\n switch (color) {\n case \"primary\":\n return styles.cambioBlackBackgroundColor;\n case \"secondary\":\n return styles.cambioGray370BackgroundColor;\n case \"tertiary\":\n case \"success-tertiary\":\n case \"destructive-tertiary\":\n return styles.cambioTransparentFullBackgroundColor;\n case \"success-primary\":\n return styles.cambioSuccess700BackgroundColor;\n case \"success-secondary\":\n return styles.cambioSuccess370BackgroundColor;\n case \"destructive-primary\":\n return styles.cambioDestructive700BackgroundColor;\n case \"destructive-secondary\":\n return styles.cambioDestructive370BackgroundColor;\n case \"branded\":\n return styles.cambioYellow700BackgroundColor;\n default:\n return styles.cambioBlackBackgroundColor;\n }\n } else {\n switch (color) {\n case \"primary\":\n return styles.cambioGray200BackgroundColor;\n case \"secondary\":\n return styles.cambioGray870BackgroundColor;\n case \"tertiary\":\n case \"success-tertiary\":\n case \"destructive-tertiary\":\n return styles.cambioTransparentFullBackgroundColor;\n case \"success-primary\":\n return styles.cambioSuccess300BackgroundColor;\n case \"success-secondary\":\n return styles.cambioSuccess770BackgroundColor;\n case \"destructive-primary\":\n return styles.cambioDestructive300BackgroundColor;\n case \"destructive-secondary\":\n return styles.cambioDestructive770BackgroundColor;\n case \"branded\":\n return styles.cambioYellow700BackgroundColor;\n default:\n return styles.cambioWhiteBackgroundColor;\n }\n }\n}\n"]}
|
|
@@ -5,7 +5,7 @@ var _4UJE5GMHcjs = require('./4UJE5GMH.cjs');
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _C2JXAQM4cjs = require('./C2JXAQM4.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
var _XLUVINJWcjs = require('./XLUVINJW.cjs');
|
|
@@ -33,7 +33,7 @@ var _react = require('react');
|
|
|
33
33
|
var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames);
|
|
34
34
|
|
|
35
35
|
// css-module:./SelectList.module.css#css-module
|
|
36
|
-
var SelectList_module_default = { "selectContainer": "
|
|
36
|
+
var SelectList_module_default = { "selectContainer": "_selectContainer_hzvfu_1", "selectContainerCambio": "_selectContainerCambio_hzvfu_7", "opacityOverlay": "_opacityOverlay_hzvfu_11", "labelCambio": "_labelCambio_hzvfu_15", "selectWrapper": "_selectWrapper_hzvfu_26", "selectBox": "_selectBox_hzvfu_31", "selectBoxClassic": "_selectBoxClassic_hzvfu_47", "selectBoxCambio": "_selectBoxCambio_hzvfu_52", "selectMouseFocusStyling": "_selectMouseFocusStyling_hzvfu_61", "unselected": "_unselected_hzvfu_66", "selected": "_selected_hzvfu_70", "arrowIcon": "_arrowIcon_hzvfu_74", "sm": "_sm_hzvfu_88", "md": "_md_hzvfu_94", "lg": "_lg_hzvfu_100", "selectError": "_selectError_hzvfu_106", "selectErrorCambio": "_selectErrorCambio_hzvfu_112" };
|
|
37
37
|
|
|
38
38
|
// src/SelectList/SelectList.tsx
|
|
39
39
|
var _jsxruntime = require('react/jsx-runtime');
|
|
@@ -121,7 +121,7 @@ function SelectList({
|
|
|
121
121
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
122
122
|
"path",
|
|
123
123
|
{
|
|
124
|
-
fill: errorText ?
|
|
124
|
+
fill: errorText ? _C2JXAQM4cjs.ColorBaseDestructive700 : _C2JXAQM4cjs.ColorBaseGray800,
|
|
125
125
|
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"
|
|
126
126
|
}
|
|
127
127
|
)
|
|
@@ -145,4 +145,4 @@ SelectList.Option = _4UJE5GMHcjs.SelectOption_default;
|
|
|
145
145
|
|
|
146
146
|
|
|
147
147
|
exports.SelectList = SelectList;
|
|
148
|
-
//# sourceMappingURL=
|
|
148
|
+
//# sourceMappingURL=SI257QZE.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/SelectList/SelectList.tsx","css-module:./SelectList.module.css#css-module"],"names":[],"mappings":"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","sourcesContent":["import React, {\n type ReactElement,\n type ReactNode,\n useId,\n useState,\n} from \"react\";\nimport Box from \"../Box/Box\";\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\";\nimport { useTheme } from \"../ThemeProvider/ThemeProvider\";\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 { themeName } = useTheme();\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 [styles.selectContainerCambio]: themeName === \"cambio\",\n })}\n >\n {label && (\n <label\n htmlFor={selectId}\n className={classNames(themeName === \"cambio\" && styles.labelCambio)}\n >\n <Box paddingX={themeName === \"classic\" ? 1 : 3}>\n <Typography size={100} color=\"gray700\">\n {label}\n </Typography>\n </Box>\n </label>\n )}\n <div className={styles.selectWrapper}>\n <select\n id={selectId}\n data-testid={dataTestId}\n disabled={disabled}\n className={classNames(\n styles.selectBox,\n themeName === \"classic\"\n ? styles.selectBoxClassic\n : styles.selectBoxCambio,\n themeName === \"classic\" && styles[size],\n {\n [styles.unselected]: !selectedValue && !errorText,\n [styles.selected]: selectedValue && !errorText,\n [themeName === \"classic\"\n ? styles.selectError\n : styles.selectErrorCambio]: errorText,\n [focusStyles.accessibilityOutlineFocus]:\n isFocused && isFocusVisible, // for focus keyboard\n [styles.selectMouseFocusStyling]: isFocused && !isFocusVisible, // for focus mouse\n },\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={themeName === \"classic\" ? iconSize[size] : 24}\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 <Box paddingX={themeName === \"classic\" ? 1 : 0}>\n <Typography\n size={100}\n color={errorText ? \"destructive-primary\" : \"gray700\"}\n >\n {errorText ? errorText : helperText}\n </Typography>\n </Box>\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_hzvfu_1\",\"selectContainerCambio\":\"_selectContainerCambio_hzvfu_7\",\"opacityOverlay\":\"_opacityOverlay_hzvfu_11\",\"labelCambio\":\"_labelCambio_hzvfu_15\",\"selectWrapper\":\"_selectWrapper_hzvfu_26\",\"selectBox\":\"_selectBox_hzvfu_31\",\"selectBoxClassic\":\"_selectBoxClassic_hzvfu_47\",\"selectBoxCambio\":\"_selectBoxCambio_hzvfu_52\",\"selectMouseFocusStyling\":\"_selectMouseFocusStyling_hzvfu_61\",\"unselected\":\"_unselected_hzvfu_66\",\"selected\":\"_selected_hzvfu_70\",\"arrowIcon\":\"_arrowIcon_hzvfu_74\",\"sm\":\"_sm_hzvfu_88\",\"md\":\"_md_hzvfu_94\",\"lg\":\"_lg_hzvfu_100\",\"selectError\":\"_selectError_hzvfu_106\",\"selectErrorCambio\":\"_selectErrorCambio_hzvfu_112\"}"]}
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _4TWU6PQAcjs = require('./4TWU6PQA.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _ZDDA4AKBcjs = require('./ZDDA4AKB.cjs');
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _EVDDEHP3cjs = require('./EVDDEHP3.cjs');
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
var _VL5ONCQDcjs = require('./VL5ONCQD.cjs');
|
|
@@ -19,7 +19,7 @@ var _UKLQ64N7cjs = require('./UKLQ64N7.cjs');
|
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _C2JXAQM4cjs = require('./C2JXAQM4.cjs');
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
var _NFDOY7GEcjs = require('./NFDOY7GE.cjs');
|
|
@@ -34,6 +34,9 @@ var _27K33DEMcjs = require('./27K33DEM.cjs');
|
|
|
34
34
|
var _WGRHH5TFcjs = require('./WGRHH5TF.cjs');
|
|
35
35
|
|
|
36
36
|
|
|
37
|
+
var _6W5WRS53cjs = require('./6W5WRS53.cjs');
|
|
38
|
+
|
|
39
|
+
|
|
37
40
|
var _K4AUV2VKcjs = require('./K4AUV2VK.cjs');
|
|
38
41
|
|
|
39
42
|
|
|
@@ -56,7 +59,7 @@ var _utils = require('@react-stately/utils');
|
|
|
56
59
|
var _interactions = require('@react-aria/interactions');
|
|
57
60
|
|
|
58
61
|
// css-module:../SelectList/SelectList.module.css#css-module
|
|
59
|
-
var SelectList_module_default = { "selectContainer": "
|
|
62
|
+
var SelectList_module_default = { "selectContainer": "_selectContainer_hzvfu_1", "selectContainerCambio": "_selectContainerCambio_hzvfu_7", "opacityOverlay": "_opacityOverlay_hzvfu_11", "labelCambio": "_labelCambio_hzvfu_15", "selectWrapper": "_selectWrapper_hzvfu_26", "selectBox": "_selectBox_hzvfu_31", "selectBoxClassic": "_selectBoxClassic_hzvfu_47", "selectBoxCambio": "_selectBoxCambio_hzvfu_52", "selectMouseFocusStyling": "_selectMouseFocusStyling_hzvfu_61", "unselected": "_unselected_hzvfu_66", "selected": "_selected_hzvfu_70", "arrowIcon": "_arrowIcon_hzvfu_74", "sm": "_sm_hzvfu_88", "md": "_md_hzvfu_94", "lg": "_lg_hzvfu_100", "selectError": "_selectError_hzvfu_106", "selectErrorCambio": "_selectErrorCambio_hzvfu_112" };
|
|
60
63
|
|
|
61
64
|
// src/RichSelect/RichSelectList.tsx
|
|
62
65
|
var _reactaria = require('react-aria');
|
|
@@ -105,13 +108,14 @@ function RichSelectList(props) {
|
|
|
105
108
|
const inputId = id != null ? id : reactId;
|
|
106
109
|
const isHydrated = _K4AUV2VKcjs.useIsHydrated.call(void 0, );
|
|
107
110
|
const disabled = !isHydrated || disabledProp;
|
|
111
|
+
const { themeName } = _6W5WRS53cjs.useTheme.call(void 0, );
|
|
108
112
|
const overlayHandlerRef = _react.useRef.call(void 0, {});
|
|
109
113
|
const selectedKeysProp = _react.useMemo.call(void 0,
|
|
110
|
-
() =>
|
|
114
|
+
() => _4TWU6PQAcjs.convertSelection.call(void 0, selectedValuesProp),
|
|
111
115
|
[selectedValuesProp]
|
|
112
116
|
);
|
|
113
117
|
const defaultSelectedKeys = _react.useMemo.call(void 0,
|
|
114
|
-
() =>
|
|
118
|
+
() => _4TWU6PQAcjs.convertSelection.call(void 0, defaultSelectedValuesProp, /* @__PURE__ */ new Set()),
|
|
115
119
|
[defaultSelectedValuesProp]
|
|
116
120
|
);
|
|
117
121
|
const [selectedKeys, setSelectedKeys] = _utils.useControlledState.call(void 0,
|
|
@@ -149,7 +153,7 @@ function RichSelectList(props) {
|
|
|
149
153
|
_reactariacomponents.Provider,
|
|
150
154
|
{
|
|
151
155
|
values: [
|
|
152
|
-
[
|
|
156
|
+
[_4TWU6PQAcjs.RichSelectBoxContext, { autoFocus: true }],
|
|
153
157
|
[_VL5ONCQDcjs.DialogContext, { padding: autosave ? void 0 : 0 }]
|
|
154
158
|
// this is altering Popover's internal dialog padding to show the sticky save/close buttons. Ideally this could be avoided
|
|
155
159
|
],
|
|
@@ -157,16 +161,16 @@ function RichSelectList(props) {
|
|
|
157
161
|
"div",
|
|
158
162
|
{
|
|
159
163
|
className: _classnames2.default.call(void 0, SelectList_module_default.selectContainer, {
|
|
160
|
-
[SelectList_module_default.opacityOverlay]: disabled
|
|
164
|
+
[SelectList_module_default.opacityOverlay]: disabled,
|
|
165
|
+
[SelectList_module_default.selectContainerCambio]: themeName === "cambio"
|
|
161
166
|
}),
|
|
162
167
|
children: [
|
|
163
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
168
|
+
label && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
164
169
|
_reactariacomponents.Label,
|
|
165
170
|
_X2SDR4SDcjs.__spreadProps.call(void 0, _X2SDR4SDcjs.__spreadValues.call(void 0, {
|
|
166
171
|
"data-testid": [dataTestId, "label"].filter(Boolean).join("-"),
|
|
167
172
|
className: _classnames2.default.call(void 0,
|
|
168
|
-
SelectList_module_default.
|
|
169
|
-
SelectList_module_default.outerTextContainer
|
|
173
|
+
themeName === "cambio" && SelectList_module_default.labelCambio
|
|
170
174
|
)
|
|
171
175
|
}, labelProps), {
|
|
172
176
|
onClick: () => {
|
|
@@ -176,11 +180,11 @@ function RichSelectList(props) {
|
|
|
176
180
|
(_a2 = fieldRef.current) == null ? void 0 : _a2.focus();
|
|
177
181
|
_interactions.setInteractionModality.call(void 0, "keyboard");
|
|
178
182
|
},
|
|
179
|
-
children:
|
|
183
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _27K33DEMcjs.Box_default, { paddingX: themeName === "classic" ? 1 : 3, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _WGRHH5TFcjs.Typography_default, { size: 100, color: "gray700", children: label }) })
|
|
180
184
|
})
|
|
181
|
-
),
|
|
185
|
+
) }),
|
|
182
186
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
183
|
-
|
|
187
|
+
_EVDDEHP3cjs.Popover_default,
|
|
184
188
|
{
|
|
185
189
|
ref: overlayHandlerRef,
|
|
186
190
|
disabled,
|
|
@@ -192,7 +196,7 @@ function RichSelectList(props) {
|
|
|
192
196
|
padding: autosave ? void 0 : 5,
|
|
193
197
|
dangerouslySetInlineStyle: autosave ? void 0 : { __style: { paddingBottom: 0 } },
|
|
194
198
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
195
|
-
|
|
199
|
+
_4TWU6PQAcjs.RichSelectBox_default,
|
|
196
200
|
_X2SDR4SDcjs.__spreadProps.call(void 0, _X2SDR4SDcjs.__spreadValues.call(void 0, {
|
|
197
201
|
autosave,
|
|
198
202
|
selectedValues: selectedKeys,
|
|
@@ -219,11 +223,16 @@ function RichSelectList(props) {
|
|
|
219
223
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
220
224
|
"div",
|
|
221
225
|
{
|
|
222
|
-
className: _classnames2.default.call(void 0,
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
[
|
|
226
|
-
|
|
226
|
+
className: _classnames2.default.call(void 0,
|
|
227
|
+
SelectList_module_default.selectBox,
|
|
228
|
+
themeName === "classic" ? SelectList_module_default.selectBoxClassic : SelectList_module_default.selectBoxCambio,
|
|
229
|
+
themeName === "classic" && SelectList_module_default[size],
|
|
230
|
+
{
|
|
231
|
+
[SelectList_module_default.unselected]: !errorText && selectedKeys !== "all" && !selectedKeys.size,
|
|
232
|
+
[SelectList_module_default.selected]: !errorText && (selectedKeys === "all" || selectedKeys.size),
|
|
233
|
+
[themeName === "classic" ? SelectList_module_default.selectError : SelectList_module_default.selectErrorCambio]: errorText
|
|
234
|
+
}
|
|
235
|
+
),
|
|
227
236
|
children: selectedTextValue
|
|
228
237
|
}
|
|
229
238
|
),
|
|
@@ -237,7 +246,7 @@ function RichSelectList(props) {
|
|
|
237
246
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
238
247
|
"path",
|
|
239
248
|
{
|
|
240
|
-
fill: errorText ?
|
|
249
|
+
fill: errorText ? _C2JXAQM4cjs.ColorBaseDestructive700 : _C2JXAQM4cjs.ColorBaseGray800,
|
|
241
250
|
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"
|
|
242
251
|
}
|
|
243
252
|
)
|
|
@@ -248,7 +257,7 @@ function RichSelectList(props) {
|
|
|
248
257
|
)
|
|
249
258
|
}
|
|
250
259
|
),
|
|
251
|
-
(helperText || errorText) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
260
|
+
(helperText || errorText) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _27K33DEMcjs.Box_default, { paddingX: themeName === "classic" ? 1 : 0, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
252
261
|
_WGRHH5TFcjs.Typography_default,
|
|
253
262
|
_X2SDR4SDcjs.__spreadProps.call(void 0, _X2SDR4SDcjs.__spreadValues.call(void 0, {
|
|
254
263
|
size: 100,
|
|
@@ -265,11 +274,11 @@ function RichSelectList(props) {
|
|
|
265
274
|
}
|
|
266
275
|
var RichSelectList_default = Object.assign(RichSelectList, {
|
|
267
276
|
Section: _NFDOY7GEcjs.RichSelectSection_default,
|
|
268
|
-
Chip:
|
|
277
|
+
Chip: _ZDDA4AKBcjs.RichSelectChip_default,
|
|
269
278
|
RadioButton: _I5HC6BIKcjs.RichSelectRadioButton_default
|
|
270
279
|
});
|
|
271
280
|
|
|
272
281
|
|
|
273
282
|
|
|
274
283
|
exports.RichSelectList_default = RichSelectList_default;
|
|
275
|
-
//# sourceMappingURL=
|
|
284
|
+
//# sourceMappingURL=VOLO4QB4.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/RichSelect/RichSelectList.tsx","css-module:../SelectList/SelectList.module.css#css-module"],"names":["_a"],"mappings":"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","sourcesContent":["import React, {\n type ReactElement,\n useMemo,\n type SyntheticEvent,\n useRef,\n useId,\n} from \"react\";\nimport classNames from \"classnames\";\nimport {\n ColorBaseDestructive700,\n ColorBaseGray800,\n} from \"@cambly/syntax-design-tokens\";\nimport Typography from \"../Typography/Typography\";\nimport useIsHydrated from \"../useIsHydrated\";\nimport Popover from \"../Popover/Popover\";\nimport {\n Label as ReactAriaLabel,\n Provider as ReactAriaProvider,\n} from \"react-aria-components\";\nimport { useControlledState } from \"@react-stately/utils\";\nimport { setInteractionModality } from \"@react-aria/interactions\";\nimport { DialogContext } from \"../Dialog/Dialog\";\nimport styles from \"../SelectList/SelectList.module.css\";\nimport RichSelectBox, {\n RichSelectBoxContext,\n convertSelection,\n type RichSelectBoxProps,\n} from \"./RichSelectBox\";\nimport TapArea from \"../TapArea/TapArea\";\nimport { type OverlayHandlerRef } from \"../react-aria-utils/Triggerable\";\nimport Box from \"../Box/Box\";\nimport RichSelectSection from \"./RichSelectSection\";\nimport RichSelectChip from \"./RichSelectChip\";\nimport RichSelectRadioButton from \"./RichSelectRadioButton\";\nimport { useField } from \"react-aria\";\nimport { useTheme } from \"../ThemeProvider/ThemeProvider\";\n\nconst NOOP = () => undefined;\n\nconst iconSize = {\n sm: 20,\n md: 24,\n lg: 24,\n} as const;\n\nexport type RichSelectListProps = RichSelectBoxProps & {\n /** Test id for the select element */\n \"data-testid\"?: string;\n /**\n * Disables the select dropdown entirely\n * @defaultValue false\n */\n disabled?: boolean;\n /** Callback to be called when select is clicked */\n onClick?: (event: SyntheticEvent<HTMLDivElement>) => void;\n /** Text shown below select box if there is an input error. */\n errorText?: string;\n /** Text shown below select box */\n helperText?: string;\n /**\n * RichSelectList id, if not provided, a unique id will be generated\n */\n id?: string;\n /** Text shown above select box */\n label: string;\n /**\n * Text showing in select box if no option has been chosen.\n * There should always have a placeholder unless there is a default option selected\n */\n placeholderText?: string;\n /** Use to render (override) text shown in the select box */\n selectTextValue?: (selectedValues?: \"all\" | string[]) => string | undefined;\n /**\n * Size of the select box\n *\n * @defaultValue \"md\"\n */\n size?: \"sm\" | \"md\" | \"lg\";\n};\n\n/**\n * [RichSelectList](https://cambly-syntax.vercel.app/?path=/docs/components-richselectlist--docs) is a dropdown menu that allows users to select one or multiple options from a list.\n *\n * Example Usage:\n ```\n <RichSelectList\n label=\"My Label\"\n multiple\n onChange={() => { ... }}\n primaryButtonText=\"Save\"\n primaryButtonAccessibilityLabel=\"Save\"\n secondaryButtonText=\"Clear\"\n secondaryButtonAccessibilityLabel=\"Clear\"\n >\n <RichSelectList.Section label=\"Cities\">\n <RichSelectList.Chip label=\"San Francisco\" value=\"sf\" />\n <RichSelectList.Chip label=\"New York\" value=\"ny\" disabled />\n <RichSelectList.Chip label=\"Tulsa\" value=\"tulsa\" />\n <RichSelectList.Chip label=\"Chicago\" value=\"chicago\" disabled />\n </RichSelectList.Section>\n </RichSelectList>\n ```\n */\nfunction RichSelectList(props: RichSelectListProps): ReactElement {\n const {\n autosave,\n children,\n \"data-testid\": dataTestId,\n disabled: disabledProp = false,\n errorText,\n helperText,\n label,\n id,\n onChange,\n onClick = NOOP,\n placeholderText,\n selectTextValue,\n selectedValues: selectedValuesProp,\n defaultSelectedValues: defaultSelectedValuesProp,\n size = \"md\",\n ...richSelectBoxProps\n } = props;\n\n const reactId = useId();\n const inputId = id ?? reactId;\n const isHydrated = useIsHydrated();\n const disabled = !isHydrated || disabledProp;\n const { themeName } = useTheme();\n\n // passed to popover, which attached open/close methods\n const overlayHandlerRef = useRef<OverlayHandlerRef>({});\n\n const selectedKeysProp = useMemo(\n () => convertSelection(selectedValuesProp),\n [selectedValuesProp],\n );\n const defaultSelectedKeys = useMemo(\n () => convertSelection(defaultSelectedValuesProp, new Set()),\n [defaultSelectedValuesProp],\n );\n const [selectedKeys, setSelectedKeys] = useControlledState(\n selectedKeysProp!, // eslint-disable-line @typescript-eslint/no-non-null-assertion -- there is a bug in the typedef for useControlledState from react-stately. Internally they rely on value (first arg) able to be undefined\n defaultSelectedKeys,\n (value) => {\n const _value = value === \"all\" ? \"all\" : [...value].map(String);\n onChange(_value);\n if (!autosave) overlayHandlerRef.current.close?.();\n },\n );\n\n const selectedTextValue = useMemo(() => {\n if (selectTextValue)\n return (\n selectTextValue(\n selectedKeys === \"all\" ? \"all\" : [...selectedKeys].map(String),\n ) ?? placeholderText\n );\n if (selectedKeys === \"all\") return \"All selected\";\n if (selectedKeys.size) return `${selectedKeys.size} selected`;\n return placeholderText;\n }, [selectTextValue, selectedKeys, placeholderText]);\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const { labelProps, fieldProps, descriptionProps, errorMessageProps } =\n useField({\n label, // this is the label for the select box\n description: helperText,\n errorMessage: errorText,\n });\n\n return (\n <ReactAriaProvider\n values={[\n [RichSelectBoxContext, { autoFocus: true }],\n [DialogContext, { padding: autosave ? undefined : 0 }], // this is altering Popover's internal dialog padding to show the sticky save/close buttons. Ideally this could be avoided\n ]}\n >\n <div\n className={classNames(styles.selectContainer, {\n [styles.opacityOverlay]: disabled,\n [styles.selectContainerCambio]: themeName === \"cambio\",\n })}\n >\n {label && (\n <>\n <ReactAriaLabel\n data-testid={[dataTestId, \"label\"].filter(Boolean).join(\"-\")}\n className={classNames(\n themeName === \"cambio\" && styles.labelCambio,\n )}\n {...labelProps}\n onClick={() => {\n if (disabled) return;\n fieldRef.current?.focus();\n setInteractionModality(\"keyboard\"); // Show the focus ring so the user knows where focus went\n }}\n >\n <Box paddingX={themeName === \"classic\" ? 1 : 3}>\n <Typography size={100} color=\"gray700\">\n {label}\n </Typography>\n </Box>\n </ReactAriaLabel>\n </>\n )}\n <Popover\n ref={overlayHandlerRef}\n disabled={disabled}\n content={\n // this Box wrapper is to reapply the padding that was stripped from popover's dialog to show the sticky save/close buttons. Ideally this could be avoided\n <Box\n padding={autosave ? undefined : 5}\n dangerouslySetInlineStyle={\n autosave ? undefined : { __style: { paddingBottom: 0 } }\n }\n >\n <RichSelectBox\n autosave={autosave}\n selectedValues={selectedKeys}\n defaultSelectedValues={defaultSelectedKeys}\n onChange={(selected) => setSelectedKeys(new Set(selected))}\n {...richSelectBoxProps}\n accessibilityLabel={inputId}\n >\n {children}\n </RichSelectBox>\n </Box>\n }\n >\n <TapArea\n data-testid={dataTestId}\n disabled={disabled}\n onClick={onClick}\n rounding={size === \"lg\" ? \"lg\" : \"md\"}\n {...fieldProps}\n ref={fieldRef}\n >\n <div className={styles.selectWrapper}>\n <div\n className={classNames(\n styles.selectBox,\n themeName === \"classic\"\n ? styles.selectBoxClassic\n : styles.selectBoxCambio,\n themeName === \"classic\" && styles[size],\n {\n [styles.unselected]:\n !errorText &&\n selectedKeys !== \"all\" &&\n !selectedKeys.size,\n [styles.selected]:\n !errorText &&\n (selectedKeys === \"all\" || selectedKeys.size),\n [themeName === \"classic\"\n ? styles.selectError\n : styles.selectErrorCambio]: errorText,\n },\n )}\n >\n {selectedTextValue}\n </div>\n <div className={styles.arrowIcon}>\n <svg\n focusable=\"false\"\n aria-hidden=\"true\"\n viewBox=\"0 0 24 24\"\n width={iconSize[size]}\n >\n <path\n fill={\n errorText ? ColorBaseDestructive700 : ColorBaseGray800\n }\n d=\"M15.88 9.29 12 13.17 8.12 9.29a.9959.9959 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41l4.59 4.59c.39.39 1.02.39 1.41 0l4.59-4.59c.39-.39.39-1.02 0-1.41-.39-.38-1.03-.39-1.42 0z\"\n />\n </svg>\n </div>\n </div>\n </TapArea>\n </Popover>\n {(helperText || errorText) && (\n <Box paddingX={themeName === \"classic\" ? 1 : 0}>\n <Typography\n size={100}\n color={errorText ? \"destructive-primary\" : \"gray700\"}\n {...(errorText ? errorMessageProps : descriptionProps)}\n >\n {errorText ? errorText : helperText}\n </Typography>\n </Box>\n )}\n </div>\n </ReactAriaProvider>\n );\n}\n\nexport default Object.assign(RichSelectList, {\n Section: RichSelectSection,\n Chip: RichSelectChip,\n RadioButton: RichSelectRadioButton,\n});\n","import \"/home/runner/work/syntax/syntax/packages/syntax-core/src/SelectList/SelectList.module.css\"; export default {\"selectContainer\":\"_selectContainer_hzvfu_1\",\"selectContainerCambio\":\"_selectContainerCambio_hzvfu_7\",\"opacityOverlay\":\"_opacityOverlay_hzvfu_11\",\"labelCambio\":\"_labelCambio_hzvfu_15\",\"selectWrapper\":\"_selectWrapper_hzvfu_26\",\"selectBox\":\"_selectBox_hzvfu_31\",\"selectBoxClassic\":\"_selectBoxClassic_hzvfu_47\",\"selectBoxCambio\":\"_selectBoxCambio_hzvfu_52\",\"selectMouseFocusStyling\":\"_selectMouseFocusStyling_hzvfu_61\",\"unselected\":\"_unselected_hzvfu_66\",\"selected\":\"_selected_hzvfu_70\",\"arrowIcon\":\"_arrowIcon_hzvfu_74\",\"sm\":\"_sm_hzvfu_88\",\"md\":\"_md_hzvfu_94\",\"lg\":\"_lg_hzvfu_100\",\"selectError\":\"_selectError_hzvfu_106\",\"selectErrorCambio\":\"_selectErrorCambio_hzvfu_112\"}"]}
|