@veeqo/ui 14.6.0 → 14.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/components/Button/Button.cjs +30 -16
  2. package/dist/components/Button/Button.cjs.map +1 -1
  3. package/dist/components/Button/Button.d.ts +8 -0
  4. package/dist/components/Button/Button.js +30 -16
  5. package/dist/components/Button/Button.js.map +1 -1
  6. package/dist/components/Button/Button.module.scss.cjs +9 -0
  7. package/dist/components/Button/Button.module.scss.cjs.map +1 -0
  8. package/dist/components/Button/Button.module.scss.js +7 -0
  9. package/dist/components/Button/Button.module.scss.js.map +1 -0
  10. package/dist/components/Button/types.d.ts +9 -1
  11. package/dist/components/DimensionsInput/DimensionsInput.d.ts +1 -0
  12. package/dist/components/Pagination/styled.d.ts +5 -0
  13. package/dist/components/PhoneInput/index.d.ts +1 -0
  14. package/dist/components/Search/Search.d.ts +1 -0
  15. package/dist/components/Search/styled.d.ts +1 -0
  16. package/dist/components/Select/Select.cjs +20 -3
  17. package/dist/components/Select/Select.cjs.map +1 -1
  18. package/dist/components/Select/Select.d.ts +11 -0
  19. package/dist/components/Select/Select.js +20 -3
  20. package/dist/components/Select/Select.js.map +1 -1
  21. package/dist/components/Select/Select.module.scss.cjs +9 -0
  22. package/dist/components/Select/Select.module.scss.cjs.map +1 -0
  23. package/dist/components/Select/Select.module.scss.js +7 -0
  24. package/dist/components/Select/Select.module.scss.js.map +1 -0
  25. package/dist/components/TextField/TextField.cjs +23 -6
  26. package/dist/components/TextField/TextField.cjs.map +1 -1
  27. package/dist/components/TextField/TextField.d.ts +1 -0
  28. package/dist/components/TextField/TextField.js +23 -6
  29. package/dist/components/TextField/TextField.js.map +1 -1
  30. package/dist/components/TextField/TextField.module.scss.cjs +9 -0
  31. package/dist/components/TextField/TextField.module.scss.cjs.map +1 -0
  32. package/dist/components/TextField/TextField.module.scss.js +7 -0
  33. package/dist/components/TextField/TextField.module.scss.js.map +1 -0
  34. package/dist/components/TextField/index.d.ts +1 -0
  35. package/dist/components/TextField/types.d.ts +12 -1
  36. package/dist/components/VideoModal/styled.d.ts +4 -0
  37. package/dist/hoc/withLabels/withLabels.cjs +3 -3
  38. package/dist/hoc/withLabels/withLabels.cjs.map +1 -1
  39. package/dist/hoc/withLabels/withLabels.js +3 -3
  40. package/dist/hoc/withLabels/withLabels.js.map +1 -1
  41. package/dist/theme/index.js +1 -1
  42. package/package.json +1 -1
  43. package/dist/components/Button/components/styled.cjs +0 -72
  44. package/dist/components/Button/components/styled.cjs.map +0 -1
  45. package/dist/components/Button/components/styled.d.ts +0 -20
  46. package/dist/components/Button/components/styled.js +0 -58
  47. package/dist/components/Button/components/styled.js.map +0 -1
  48. package/dist/components/Select/styled.cjs +0 -16
  49. package/dist/components/Select/styled.cjs.map +0 -1
  50. package/dist/components/Select/styled.d.ts +0 -2
  51. package/dist/components/Select/styled.js +0 -9
  52. package/dist/components/Select/styled.js.map +0 -1
  53. package/dist/components/TextField/styled.cjs +0 -16
  54. package/dist/components/TextField/styled.cjs.map +0 -1
  55. package/dist/components/TextField/styled.d.ts +0 -2
  56. package/dist/components/TextField/styled.js +0 -9
  57. package/dist/components/TextField/styled.js.map +0 -1
@@ -3,38 +3,52 @@
3
3
  var React = require('react');
4
4
  var Loader = require('../Loader/Loader.cjs');
5
5
  var withTokens = require('../../hoc/withTokens/withTokens.cjs');
6
- var styled = require('./components/styled.cjs');
6
+ var buildClassnames = require('../../utils/buildClassnames.cjs');
7
+ require('uid/secure');
8
+ var assignCssVars = require('../../utils/assignCssVars.cjs');
7
9
  var DropdownIcon = require('../../icons/custom/components/DropdownIcon.cjs');
10
+ var Button_module = require('./Button.module.scss.cjs');
8
11
 
9
12
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
10
13
 
11
14
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
12
15
 
13
- const variantMap = {
14
- default: styled.DefaultButton,
15
- primary: styled.PrimaryButton,
16
- destructive: styled.DefaultDestructiveButton,
17
- primaryDestructive: styled.PrimaryDestructiveButton,
18
- flat: styled.FlatButton,
19
- link: styled.LinkButton,
20
- unstyled: styled.UnstyledButton,
21
- };
16
+ /* eslint-disable react/button-has-type */
22
17
  /**
23
18
  * @deprecated Use the `Action` component instead
24
19
  */
25
- const ButtonBase = React.forwardRef(({ className, children, iconSlot, variant = 'default', size = 'base', dropdown = false, loading = false, contentStyles, ...otherProps }, ref) => {
20
+ const ButtonBase = React.forwardRef(({ className, children, iconSlot, variant = 'default', size = 'base', dropdown = false, loading = false, contentStyles, as, ...otherProps }, ref) => {
21
+ const Element = as || 'button';
26
22
  if (variant === 'unstyled') {
27
- return (React__default.default.createElement(styled.UnstyledButton, { ref: ref, className: className, ...otherProps }, children));
23
+ return (React__default.default.createElement(Element, { ref: ref, className: buildClassnames.buildClassnames([Button_module['unstyled-variant'], className]), ...otherProps }, children));
28
24
  }
29
- const VariantButton = variantMap[variant];
30
25
  const hasChildren = children !== undefined;
31
26
  const hasIcon = !!iconSlot;
32
- return (React__default.default.createElement(VariantButton, { ref: ref, className: className, size: size, hasText: hasChildren, hasIcon: hasIcon, hasDropdown: dropdown, ...otherProps },
33
- (hasChildren || hasIcon) && (React__default.default.createElement(styled.MainContent, { "$loading": loading, hasText: !!children, size: children || size === 'sm' ? 'base' : 'md', style: contentStyles },
27
+ const iconSize = hasChildren || size === 'sm' ? 'var(--sizes-base)' : 'var(--sizes-md)';
28
+ const mainContentStyle = { ...assignCssVars.assignCssVars({ buttonIconSize: iconSize }), ...contentStyles };
29
+ if (variant === 'link') {
30
+ return (React__default.default.createElement(Element, { ref: ref, className: buildClassnames.buildClassnames([Button_module['link-variant'], hasChildren && Button_module.hasText, className]), ...otherProps },
31
+ (hasChildren || hasIcon) && (React__default.default.createElement("span", { className: buildClassnames.buildClassnames([Button_module.mainContent, loading && Button_module.loading]), style: mainContentStyle },
32
+ iconSlot && iconSlot,
33
+ children !== undefined && children,
34
+ dropdown && React__default.default.createElement(DropdownIcon.DropdownIcon, null))),
35
+ loading && (React__default.default.createElement("div", { className: Button_module.loadingWrapper },
36
+ React__default.default.createElement(Loader.Loader, null)))));
37
+ }
38
+ return (React__default.default.createElement(Element, { ref: ref, className: buildClassnames.buildClassnames([
39
+ Button_module.base,
40
+ Button_module[`${variant}-variant`],
41
+ Button_module[`${size}-size`],
42
+ hasIcon && Button_module.hasIcon,
43
+ hasChildren && Button_module.hasText,
44
+ dropdown && Button_module.hasDropdown,
45
+ className,
46
+ ]), ...otherProps },
47
+ (hasChildren || hasIcon) && (React__default.default.createElement("span", { className: buildClassnames.buildClassnames([Button_module.mainContent, loading && Button_module.loading]), style: mainContentStyle },
34
48
  iconSlot && iconSlot,
35
49
  children !== undefined && children,
36
50
  dropdown && React__default.default.createElement(DropdownIcon.DropdownIcon, null))),
37
- loading && (React__default.default.createElement(styled.LoadingWrapper, null,
51
+ loading && (React__default.default.createElement("div", { className: Button_module.loadingWrapper },
38
52
  React__default.default.createElement(Loader.Loader, null)))));
39
53
  });
40
54
  const Button = withTokens.withTokens(ButtonBase);
@@ -1 +1 @@
1
- {"version":3,"file":"Button.cjs","sources":["../../../src/components/Button/Button.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { ButtonProps } from './types';\nimport { Loader } from '../Loader';\nimport { withTokens } from '../../hoc/withTokens';\n\nimport {\n DefaultButton,\n DefaultDestructiveButton,\n PrimaryButton,\n PrimaryDestructiveButton,\n FlatButton,\n LinkButton,\n UnstyledButton,\n LoadingWrapper,\n MainContent,\n} from './components/styled';\nimport { DropdownIcon } from '../../icons';\n\nconst variantMap = {\n default: DefaultButton,\n primary: PrimaryButton,\n destructive: DefaultDestructiveButton,\n primaryDestructive: PrimaryDestructiveButton,\n flat: FlatButton,\n link: LinkButton,\n unstyled: UnstyledButton,\n};\n\n/**\n * @deprecated Use the `Action` component instead\n */\nexport const ButtonBase = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n children,\n iconSlot,\n variant = 'default',\n size = 'base',\n dropdown = false,\n loading = false,\n contentStyles,\n ...otherProps\n }: ButtonProps,\n ref,\n ) => {\n if (variant === 'unstyled') {\n return (\n <UnstyledButton ref={ref} className={className} {...otherProps}>\n {children}\n </UnstyledButton>\n );\n }\n\n const VariantButton = variantMap[variant];\n\n const hasChildren = children !== undefined;\n const hasIcon = !!iconSlot;\n return (\n <VariantButton\n ref={ref}\n className={className}\n size={size}\n hasText={hasChildren}\n hasIcon={hasIcon}\n hasDropdown={dropdown}\n {...otherProps}\n >\n {(hasChildren || hasIcon) && (\n <MainContent\n $loading={loading}\n hasText={!!children}\n size={children || size === 'sm' ? 'base' : 'md'}\n style={contentStyles}\n >\n {iconSlot && iconSlot}\n {children !== undefined && children}\n {dropdown && <DropdownIcon />}\n </MainContent>\n )}\n\n {loading && (\n <LoadingWrapper>\n <Loader />\n </LoadingWrapper>\n )}\n </VariantButton>\n );\n },\n);\n\nexport const Button = withTokens(ButtonBase);\n"],"names":["DefaultButton","PrimaryButton","DefaultDestructiveButton","PrimaryDestructiveButton","FlatButton","LinkButton","UnstyledButton","forwardRef","React","MainContent","DropdownIcon","LoadingWrapper","Loader","withTokens"],"mappings":";;;;;;;;;;;;AAmBA,MAAM,UAAU,GAAG;AACjB,IAAA,OAAO,EAAEA,oBAAa;AACtB,IAAA,OAAO,EAAEC,oBAAa;AACtB,IAAA,WAAW,EAAEC,+BAAwB;AACrC,IAAA,kBAAkB,EAAEC,+BAAwB;AAC5C,IAAA,IAAI,EAAEC,iBAAU;AAChB,IAAA,IAAI,EAAEC,iBAAU;AAChB,IAAA,QAAQ,EAAEC,qBAAc;CACzB;AAED;;AAEG;AACI,MAAM,UAAU,GAAGC,gBAAU,CAClC,CACE,EACE,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,MAAM,EACb,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,KAAK,EACf,aAAa,EACb,GAAG,UAAU,EACD,EACd,GAAG,KACD;IACF,IAAI,OAAO,KAAK,UAAU,EAAE;AAC1B,QAAA,QACEC,sBAAA,CAAA,aAAA,CAACF,qBAAc,EAAA,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAA,GAAM,UAAU,IAC3D,QAAQ,CACM;AAEpB,IAAA;AAED,IAAA,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC;AAEzC,IAAA,MAAM,WAAW,GAAG,QAAQ,KAAK,SAAS;AAC1C,IAAA,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ;AAC1B,IAAA,QACEE,sBAAA,CAAA,aAAA,CAAC,aAAa,EAAA,EACZ,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,QAAQ,EAAA,GACjB,UAAU,EAAA;AAEb,QAAA,CAAC,WAAW,IAAI,OAAO,MACtBA,sBAAA,CAAA,aAAA,CAACC,kBAAW,EAAA,EAAA,UAAA,EACA,OAAO,EACjB,OAAO,EAAE,CAAC,CAAC,QAAQ,EACnB,IAAI,EAAE,QAAQ,IAAI,IAAI,KAAK,IAAI,GAAG,MAAM,GAAG,IAAI,EAC/C,KAAK,EAAE,aAAa,EAAA;AAEnB,YAAA,QAAQ,IAAI,QAAQ;YACpB,QAAQ,KAAK,SAAS,IAAI,QAAQ;AAClC,YAAA,QAAQ,IAAID,sBAAA,CAAA,aAAA,CAACE,yBAAY,EAAA,IAAA,CAAG,CACjB,CACf;QAEA,OAAO,KACNF,sBAAA,CAAA,aAAA,CAACG,qBAAc,EAAA,IAAA;AACb,YAAAH,sBAAA,CAAA,aAAA,CAACI,aAAM,EAAA,IAAA,CAAG,CACK,CAClB,CACa;AAEpB,CAAC;MAGU,MAAM,GAAGC,qBAAU,CAAC,UAAU;;;;;"}
1
+ {"version":3,"file":"Button.cjs","sources":["../../../src/components/Button/Button.tsx"],"sourcesContent":["import React, { forwardRef, ElementType } from 'react';\n\nimport { ButtonProps } from './types';\nimport { Loader } from '../Loader';\nimport { withTokens } from '../../hoc/withTokens';\nimport { buildClassnames, assignCssVars } from '../../utils';\nimport { DropdownIcon } from '../../icons';\n\nimport styles from './Button.module.scss';\n\n/* eslint-disable react/button-has-type */\n\n/**\n * @deprecated Use the `Action` component instead\n */\nexport const ButtonBase = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n children,\n iconSlot,\n variant = 'default',\n size = 'base',\n dropdown = false,\n loading = false,\n contentStyles,\n as,\n ...otherProps\n }: ButtonProps,\n ref,\n ) => {\n const Element: ElementType = as || 'button';\n\n if (variant === 'unstyled') {\n return (\n <Element\n ref={ref}\n className={buildClassnames([styles['unstyled-variant'], className])}\n {...otherProps}\n >\n {children}\n </Element>\n );\n }\n\n const hasChildren = children !== undefined;\n const hasIcon = !!iconSlot;\n const iconSize = hasChildren || size === 'sm' ? 'var(--sizes-base)' : 'var(--sizes-md)';\n const mainContentStyle = { ...assignCssVars({ buttonIconSize: iconSize }), ...contentStyles };\n\n if (variant === 'link') {\n return (\n <Element\n ref={ref}\n className={buildClassnames([styles['link-variant'], hasChildren && styles.hasText, className])}\n {...otherProps}\n >\n {(hasChildren || hasIcon) && (\n <span className={buildClassnames([styles.mainContent, loading && styles.loading])} style={mainContentStyle}>\n {iconSlot && iconSlot}\n {children !== undefined && children}\n {dropdown && <DropdownIcon />}\n </span>\n )}\n\n {loading && (\n <div className={styles.loadingWrapper}>\n <Loader />\n </div>\n )}\n </Element>\n );\n }\n\n return (\n <Element\n ref={ref}\n className={buildClassnames([\n styles.base,\n styles[`${variant}-variant`],\n styles[`${size}-size`],\n hasIcon && styles.hasIcon,\n hasChildren && styles.hasText,\n dropdown && styles.hasDropdown,\n className,\n ])}\n {...otherProps}\n >\n {(hasChildren || hasIcon) && (\n <span className={buildClassnames([styles.mainContent, loading && styles.loading])} style={mainContentStyle}>\n {iconSlot && iconSlot}\n {children !== undefined && children}\n {dropdown && <DropdownIcon />}\n </span>\n )}\n\n {loading && (\n <div className={styles.loadingWrapper}>\n <Loader />\n </div>\n )}\n </Element>\n );\n },\n);\n\nexport const Button = withTokens(ButtonBase);\n"],"names":["forwardRef","React","buildClassnames","styles","assignCssVars","DropdownIcon","Loader","withTokens"],"mappings":"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"}
@@ -10,6 +10,10 @@ export declare const ButtonBase: React.ForwardRefExoticComponent<React.ButtonHTM
10
10
  dropdown?: boolean | undefined;
11
11
  loading?: boolean | undefined;
12
12
  contentStyles?: React.CSSProperties | undefined;
13
+ as?: React.ElementType | undefined;
14
+ href?: string | undefined;
15
+ target?: string | undefined;
16
+ rel?: string | undefined;
13
17
  } & React.RefAttributes<HTMLButtonElement>>;
14
18
  export declare const Button: React.ForwardRefExoticComponent<Omit<React.ButtonHTMLAttributes<HTMLButtonElement> & import("../../hoc/withTokens").WithTokensProps & {
15
19
  children?: React.ReactNode;
@@ -19,4 +23,8 @@ export declare const Button: React.ForwardRefExoticComponent<Omit<React.ButtonHT
19
23
  dropdown?: boolean | undefined;
20
24
  loading?: boolean | undefined;
21
25
  contentStyles?: React.CSSProperties | undefined;
26
+ as?: React.ElementType | undefined;
27
+ href?: string | undefined;
28
+ target?: string | undefined;
29
+ rel?: string | undefined;
22
30
  } & React.RefAttributes<HTMLButtonElement>, "ref"> & import("../../hoc/withTokens").WithTokensProps & React.RefAttributes<HTMLButtonElement>>;
@@ -1,34 +1,48 @@
1
1
  import React__default, { forwardRef } from 'react';
2
2
  import { Loader } from '../Loader/Loader.js';
3
3
  import { withTokens } from '../../hoc/withTokens/withTokens.js';
4
- import { UnstyledButton, LinkButton, FlatButton, PrimaryDestructiveButton, DefaultDestructiveButton, PrimaryButton, DefaultButton, MainContent, LoadingWrapper } from './components/styled.js';
4
+ import { buildClassnames } from '../../utils/buildClassnames.js';
5
+ import 'uid/secure';
6
+ import { assignCssVars } from '../../utils/assignCssVars.js';
5
7
  import { DropdownIcon } from '../../icons/custom/components/DropdownIcon.js';
8
+ import styles from './Button.module.scss.js';
6
9
 
7
- const variantMap = {
8
- default: DefaultButton,
9
- primary: PrimaryButton,
10
- destructive: DefaultDestructiveButton,
11
- primaryDestructive: PrimaryDestructiveButton,
12
- flat: FlatButton,
13
- link: LinkButton,
14
- unstyled: UnstyledButton,
15
- };
10
+ /* eslint-disable react/button-has-type */
16
11
  /**
17
12
  * @deprecated Use the `Action` component instead
18
13
  */
19
- const ButtonBase = forwardRef(({ className, children, iconSlot, variant = 'default', size = 'base', dropdown = false, loading = false, contentStyles, ...otherProps }, ref) => {
14
+ const ButtonBase = forwardRef(({ className, children, iconSlot, variant = 'default', size = 'base', dropdown = false, loading = false, contentStyles, as, ...otherProps }, ref) => {
15
+ const Element = as || 'button';
20
16
  if (variant === 'unstyled') {
21
- return (React__default.createElement(UnstyledButton, { ref: ref, className: className, ...otherProps }, children));
17
+ return (React__default.createElement(Element, { ref: ref, className: buildClassnames([styles['unstyled-variant'], className]), ...otherProps }, children));
22
18
  }
23
- const VariantButton = variantMap[variant];
24
19
  const hasChildren = children !== undefined;
25
20
  const hasIcon = !!iconSlot;
26
- return (React__default.createElement(VariantButton, { ref: ref, className: className, size: size, hasText: hasChildren, hasIcon: hasIcon, hasDropdown: dropdown, ...otherProps },
27
- (hasChildren || hasIcon) && (React__default.createElement(MainContent, { "$loading": loading, hasText: !!children, size: children || size === 'sm' ? 'base' : 'md', style: contentStyles },
21
+ const iconSize = hasChildren || size === 'sm' ? 'var(--sizes-base)' : 'var(--sizes-md)';
22
+ const mainContentStyle = { ...assignCssVars({ buttonIconSize: iconSize }), ...contentStyles };
23
+ if (variant === 'link') {
24
+ return (React__default.createElement(Element, { ref: ref, className: buildClassnames([styles['link-variant'], hasChildren && styles.hasText, className]), ...otherProps },
25
+ (hasChildren || hasIcon) && (React__default.createElement("span", { className: buildClassnames([styles.mainContent, loading && styles.loading]), style: mainContentStyle },
26
+ iconSlot && iconSlot,
27
+ children !== undefined && children,
28
+ dropdown && React__default.createElement(DropdownIcon, null))),
29
+ loading && (React__default.createElement("div", { className: styles.loadingWrapper },
30
+ React__default.createElement(Loader, null)))));
31
+ }
32
+ return (React__default.createElement(Element, { ref: ref, className: buildClassnames([
33
+ styles.base,
34
+ styles[`${variant}-variant`],
35
+ styles[`${size}-size`],
36
+ hasIcon && styles.hasIcon,
37
+ hasChildren && styles.hasText,
38
+ dropdown && styles.hasDropdown,
39
+ className,
40
+ ]), ...otherProps },
41
+ (hasChildren || hasIcon) && (React__default.createElement("span", { className: buildClassnames([styles.mainContent, loading && styles.loading]), style: mainContentStyle },
28
42
  iconSlot && iconSlot,
29
43
  children !== undefined && children,
30
44
  dropdown && React__default.createElement(DropdownIcon, null))),
31
- loading && (React__default.createElement(LoadingWrapper, null,
45
+ loading && (React__default.createElement("div", { className: styles.loadingWrapper },
32
46
  React__default.createElement(Loader, null)))));
33
47
  });
34
48
  const Button = withTokens(ButtonBase);
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sources":["../../../src/components/Button/Button.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { ButtonProps } from './types';\nimport { Loader } from '../Loader';\nimport { withTokens } from '../../hoc/withTokens';\n\nimport {\n DefaultButton,\n DefaultDestructiveButton,\n PrimaryButton,\n PrimaryDestructiveButton,\n FlatButton,\n LinkButton,\n UnstyledButton,\n LoadingWrapper,\n MainContent,\n} from './components/styled';\nimport { DropdownIcon } from '../../icons';\n\nconst variantMap = {\n default: DefaultButton,\n primary: PrimaryButton,\n destructive: DefaultDestructiveButton,\n primaryDestructive: PrimaryDestructiveButton,\n flat: FlatButton,\n link: LinkButton,\n unstyled: UnstyledButton,\n};\n\n/**\n * @deprecated Use the `Action` component instead\n */\nexport const ButtonBase = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n children,\n iconSlot,\n variant = 'default',\n size = 'base',\n dropdown = false,\n loading = false,\n contentStyles,\n ...otherProps\n }: ButtonProps,\n ref,\n ) => {\n if (variant === 'unstyled') {\n return (\n <UnstyledButton ref={ref} className={className} {...otherProps}>\n {children}\n </UnstyledButton>\n );\n }\n\n const VariantButton = variantMap[variant];\n\n const hasChildren = children !== undefined;\n const hasIcon = !!iconSlot;\n return (\n <VariantButton\n ref={ref}\n className={className}\n size={size}\n hasText={hasChildren}\n hasIcon={hasIcon}\n hasDropdown={dropdown}\n {...otherProps}\n >\n {(hasChildren || hasIcon) && (\n <MainContent\n $loading={loading}\n hasText={!!children}\n size={children || size === 'sm' ? 'base' : 'md'}\n style={contentStyles}\n >\n {iconSlot && iconSlot}\n {children !== undefined && children}\n {dropdown && <DropdownIcon />}\n </MainContent>\n )}\n\n {loading && (\n <LoadingWrapper>\n <Loader />\n </LoadingWrapper>\n )}\n </VariantButton>\n );\n },\n);\n\nexport const Button = withTokens(ButtonBase);\n"],"names":["React"],"mappings":";;;;;;AAmBA,MAAM,UAAU,GAAG;AACjB,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,WAAW,EAAE,wBAAwB;AACrC,IAAA,kBAAkB,EAAE,wBAAwB;AAC5C,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,QAAQ,EAAE,cAAc;CACzB;AAED;;AAEG;AACI,MAAM,UAAU,GAAG,UAAU,CAClC,CACE,EACE,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,MAAM,EACb,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,KAAK,EACf,aAAa,EACb,GAAG,UAAU,EACD,EACd,GAAG,KACD;IACF,IAAI,OAAO,KAAK,UAAU,EAAE;AAC1B,QAAA,QACEA,cAAA,CAAA,aAAA,CAAC,cAAc,EAAA,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAA,GAAM,UAAU,IAC3D,QAAQ,CACM;AAEpB,IAAA;AAED,IAAA,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC;AAEzC,IAAA,MAAM,WAAW,GAAG,QAAQ,KAAK,SAAS;AAC1C,IAAA,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ;AAC1B,IAAA,QACEA,cAAA,CAAA,aAAA,CAAC,aAAa,EAAA,EACZ,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,QAAQ,EAAA,GACjB,UAAU,EAAA;AAEb,QAAA,CAAC,WAAW,IAAI,OAAO,MACtBA,cAAA,CAAA,aAAA,CAAC,WAAW,EAAA,EAAA,UAAA,EACA,OAAO,EACjB,OAAO,EAAE,CAAC,CAAC,QAAQ,EACnB,IAAI,EAAE,QAAQ,IAAI,IAAI,KAAK,IAAI,GAAG,MAAM,GAAG,IAAI,EAC/C,KAAK,EAAE,aAAa,EAAA;AAEnB,YAAA,QAAQ,IAAI,QAAQ;YACpB,QAAQ,KAAK,SAAS,IAAI,QAAQ;AAClC,YAAA,QAAQ,IAAIA,cAAA,CAAA,aAAA,CAAC,YAAY,EAAA,IAAA,CAAG,CACjB,CACf;QAEA,OAAO,KACNA,cAAA,CAAA,aAAA,CAAC,cAAc,EAAA,IAAA;AACb,YAAAA,cAAA,CAAA,aAAA,CAAC,MAAM,EAAA,IAAA,CAAG,CACK,CAClB,CACa;AAEpB,CAAC;MAGU,MAAM,GAAG,UAAU,CAAC,UAAU;;;;"}
1
+ {"version":3,"file":"Button.js","sources":["../../../src/components/Button/Button.tsx"],"sourcesContent":["import React, { forwardRef, ElementType } from 'react';\n\nimport { ButtonProps } from './types';\nimport { Loader } from '../Loader';\nimport { withTokens } from '../../hoc/withTokens';\nimport { buildClassnames, assignCssVars } from '../../utils';\nimport { DropdownIcon } from '../../icons';\n\nimport styles from './Button.module.scss';\n\n/* eslint-disable react/button-has-type */\n\n/**\n * @deprecated Use the `Action` component instead\n */\nexport const ButtonBase = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n children,\n iconSlot,\n variant = 'default',\n size = 'base',\n dropdown = false,\n loading = false,\n contentStyles,\n as,\n ...otherProps\n }: ButtonProps,\n ref,\n ) => {\n const Element: ElementType = as || 'button';\n\n if (variant === 'unstyled') {\n return (\n <Element\n ref={ref}\n className={buildClassnames([styles['unstyled-variant'], className])}\n {...otherProps}\n >\n {children}\n </Element>\n );\n }\n\n const hasChildren = children !== undefined;\n const hasIcon = !!iconSlot;\n const iconSize = hasChildren || size === 'sm' ? 'var(--sizes-base)' : 'var(--sizes-md)';\n const mainContentStyle = { ...assignCssVars({ buttonIconSize: iconSize }), ...contentStyles };\n\n if (variant === 'link') {\n return (\n <Element\n ref={ref}\n className={buildClassnames([styles['link-variant'], hasChildren && styles.hasText, className])}\n {...otherProps}\n >\n {(hasChildren || hasIcon) && (\n <span className={buildClassnames([styles.mainContent, loading && styles.loading])} style={mainContentStyle}>\n {iconSlot && iconSlot}\n {children !== undefined && children}\n {dropdown && <DropdownIcon />}\n </span>\n )}\n\n {loading && (\n <div className={styles.loadingWrapper}>\n <Loader />\n </div>\n )}\n </Element>\n );\n }\n\n return (\n <Element\n ref={ref}\n className={buildClassnames([\n styles.base,\n styles[`${variant}-variant`],\n styles[`${size}-size`],\n hasIcon && styles.hasIcon,\n hasChildren && styles.hasText,\n dropdown && styles.hasDropdown,\n className,\n ])}\n {...otherProps}\n >\n {(hasChildren || hasIcon) && (\n <span className={buildClassnames([styles.mainContent, loading && styles.loading])} style={mainContentStyle}>\n {iconSlot && iconSlot}\n {children !== undefined && children}\n {dropdown && <DropdownIcon />}\n </span>\n )}\n\n {loading && (\n <div className={styles.loadingWrapper}>\n <Loader />\n </div>\n )}\n </Element>\n );\n },\n);\n\nexport const Button = withTokens(ButtonBase);\n"],"names":["React"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var ___$insertStyle = require('../../_virtual/____insertStyle.cjs');
4
+
5
+ ___$insertStyle("._heading-xxl_1cokg_1 {\n font-family: var(--text-heading-xxl-font-family);\n font-style: var(--text-heading-xxl-font-style);\n font-weight: var(--text-heading-xxl-font-weight);\n font-size: var(--text-heading-xxl-font-size);\n line-height: var(--text-heading-xxl-line-height);\n color: var(--text-heading-xxl-color);\n text-decoration: var(--text-heading-xxl-text-decoration);\n letter-spacing: var(--text-heading-xxl-letter-spacing);\n}\n\n._heading-xl_1cokg_12 {\n font-family: var(--text-heading-xl-font-family);\n font-style: var(--text-heading-xl-font-style);\n font-weight: var(--text-heading-xl-font-weight);\n font-size: var(--text-heading-xl-font-size);\n line-height: var(--text-heading-xl-line-height);\n color: var(--text-heading-xl-color);\n text-decoration: var(--text-heading-xl-text-decoration);\n letter-spacing: var(--text-heading-xl-letter-spacing);\n}\n\n._heading-large_1cokg_23 {\n font-family: var(--text-heading-large-font-family);\n font-style: var(--text-heading-large-font-style);\n font-weight: var(--text-heading-large-font-weight);\n font-size: var(--text-heading-large-font-size);\n line-height: var(--text-heading-large-line-height);\n color: var(--text-heading-large-color);\n text-decoration: var(--text-heading-large-text-decoration);\n letter-spacing: var(--text-heading-large-letter-spacing);\n}\n\n._heading-medium_1cokg_34 {\n font-family: var(--text-heading-medium-font-family);\n font-style: var(--text-heading-medium-font-style);\n font-weight: var(--text-heading-medium-font-weight);\n font-size: var(--text-heading-medium-font-size);\n line-height: var(--text-heading-medium-line-height);\n color: var(--text-heading-medium-color);\n text-decoration: var(--text-heading-medium-text-decoration);\n letter-spacing: var(--text-heading-medium-letter-spacing);\n}\n\n._heading-small_1cokg_45 {\n font-family: var(--text-heading-small-font-family);\n font-style: var(--text-heading-small-font-style);\n font-weight: var(--text-heading-small-font-weight);\n font-size: var(--text-heading-small-font-size);\n line-height: var(--text-heading-small-line-height);\n color: var(--text-heading-small-color);\n text-decoration: var(--text-heading-small-text-decoration);\n letter-spacing: var(--text-heading-small-letter-spacing);\n}\n\n._heading-table_1cokg_56 {\n font-family: var(--text-heading-table-font-family);\n font-style: var(--text-heading-table-font-style);\n font-weight: var(--text-heading-table-font-weight);\n font-size: var(--text-heading-table-font-size);\n line-height: var(--text-heading-table-line-height);\n color: var(--text-heading-table-color);\n text-decoration: var(--text-heading-table-text-decoration);\n letter-spacing: var(--text-heading-table-letter-spacing);\n}\n\n._subheading-large_1cokg_67 {\n font-family: var(--text-subheading-large-font-family);\n font-style: var(--text-subheading-large-font-style);\n font-weight: var(--text-subheading-large-font-weight);\n font-size: var(--text-subheading-large-font-size);\n line-height: var(--text-subheading-large-line-height);\n color: var(--text-subheading-large-color);\n text-decoration: var(--text-subheading-large-text-decoration);\n letter-spacing: var(--text-subheading-large-letter-spacing);\n}\n\n._subheading-medium_1cokg_78 {\n font-family: var(--text-subheading-medium-font-family);\n font-style: var(--text-subheading-medium-font-style);\n font-weight: var(--text-subheading-medium-font-weight);\n font-size: var(--text-subheading-medium-font-size);\n line-height: var(--text-subheading-medium-line-height);\n color: var(--text-subheading-medium-color);\n text-decoration: var(--text-subheading-medium-text-decoration);\n letter-spacing: var(--text-subheading-medium-letter-spacing);\n}\n\n._subheading-small_1cokg_89 {\n font-family: var(--text-subheading-small-font-family);\n font-style: var(--text-subheading-small-font-style);\n font-weight: var(--text-subheading-small-font-weight);\n font-size: var(--text-subheading-small-font-size);\n line-height: var(--text-subheading-small-line-height);\n color: var(--text-subheading-small-color);\n text-decoration: var(--text-subheading-small-text-decoration);\n letter-spacing: var(--text-subheading-small-letter-spacing);\n}\n\n._subheading-small-bold_1cokg_100 {\n font-family: var(--text-subheading-small-bold-font-family);\n font-style: var(--text-subheading-small-bold-font-style);\n font-weight: var(--text-subheading-small-bold-font-weight);\n font-size: var(--text-subheading-small-bold-font-size);\n line-height: var(--text-subheading-small-bold-line-height);\n color: var(--text-subheading-small-bold-color);\n text-decoration: var(--text-subheading-small-bold-text-decoration);\n letter-spacing: var(--text-subheading-small-bold-letter-spacing);\n}\n\n._body_1cokg_111 {\n font-family: var(--text-body-font-family);\n font-style: var(--text-body-font-style);\n font-weight: var(--text-body-font-weight);\n font-size: var(--text-body-font-size);\n line-height: var(--text-body-line-height);\n color: var(--text-body-color);\n text-decoration: var(--text-body-text-decoration);\n letter-spacing: var(--text-body-letter-spacing);\n}\n\n._body-small_1cokg_122 {\n font-family: var(--text-body-small-font-family);\n font-style: var(--text-body-small-font-style);\n font-weight: var(--text-body-small-font-weight);\n font-size: var(--text-body-small-font-size);\n line-height: var(--text-body-small-line-height);\n color: var(--text-body-small-color);\n text-decoration: var(--text-body-small-text-decoration);\n letter-spacing: var(--text-body-small-letter-spacing);\n}\n\n._body-bold_1cokg_133 {\n font-family: var(--text-body-bold-font-family);\n font-style: var(--text-body-bold-font-style);\n font-weight: var(--text-body-bold-font-weight);\n font-size: var(--text-body-bold-font-size);\n line-height: var(--text-body-bold-line-height);\n color: var(--text-body-bold-color);\n text-decoration: var(--text-body-bold-text-decoration);\n letter-spacing: var(--text-body-bold-letter-spacing);\n}\n\n._body-bold-dark_1cokg_144 {\n font-family: var(--text-body-bold-dark-font-family);\n font-style: var(--text-body-bold-dark-font-style);\n font-weight: var(--text-body-bold-dark-font-weight);\n font-size: var(--text-body-bold-dark-font-size);\n line-height: var(--text-body-bold-dark-line-height);\n color: var(--text-body-bold-dark-color);\n text-decoration: var(--text-body-bold-dark-text-decoration);\n letter-spacing: var(--text-body-bold-dark-letter-spacing);\n}\n\n._body-small-bold_1cokg_155 {\n font-family: var(--text-body-small-bold-font-family);\n font-style: var(--text-body-small-bold-font-style);\n font-weight: var(--text-body-small-bold-font-weight);\n font-size: var(--text-body-small-bold-font-size);\n line-height: var(--text-body-small-bold-line-height);\n color: var(--text-body-small-bold-color);\n text-decoration: var(--text-body-small-bold-text-decoration);\n letter-spacing: var(--text-body-small-bold-letter-spacing);\n}\n\n._button_1cokg_166 {\n font-family: var(--text-button-font-family);\n font-style: var(--text-button-font-style);\n font-weight: var(--text-button-font-weight);\n font-size: var(--text-button-font-size);\n line-height: var(--text-button-line-height);\n color: var(--text-button-color);\n text-decoration: var(--text-button-text-decoration);\n letter-spacing: var(--text-button-letter-spacing);\n}\n\n._button-small_1cokg_177 {\n font-family: var(--text-button-small-font-family);\n font-style: var(--text-button-small-font-style);\n font-weight: var(--text-button-small-font-weight);\n font-size: var(--text-button-small-font-size);\n line-height: var(--text-button-small-line-height);\n color: var(--text-button-small-color);\n text-decoration: var(--text-button-small-text-decoration);\n letter-spacing: var(--text-button-small-letter-spacing);\n}\n\n._link-large_1cokg_188 {\n font-family: var(--text-link-large-font-family);\n font-style: var(--text-link-large-font-style);\n font-weight: var(--text-link-large-font-weight);\n font-size: var(--text-link-large-font-size);\n line-height: var(--text-link-large-line-height);\n color: var(--text-link-large-color);\n text-decoration: var(--text-link-large-text-decoration);\n letter-spacing: var(--text-link-large-letter-spacing);\n}\n\n._link-medium_1cokg_199 {\n font-family: var(--text-link-medium-font-family);\n font-style: var(--text-link-medium-font-style);\n font-weight: var(--text-link-medium-font-weight);\n font-size: var(--text-link-medium-font-size);\n line-height: var(--text-link-medium-line-height);\n color: var(--text-link-medium-color);\n text-decoration: var(--text-link-medium-text-decoration);\n letter-spacing: var(--text-link-medium-letter-spacing);\n}\n\n._link_1cokg_188 {\n font-family: var(--text-link-font-family);\n font-style: var(--text-link-font-style);\n font-weight: var(--text-link-font-weight);\n font-size: var(--text-link-font-size);\n line-height: var(--text-link-line-height);\n color: var(--text-link-color);\n text-decoration: var(--text-link-text-decoration);\n letter-spacing: var(--text-link-letter-spacing);\n}\n\n._link-small_1cokg_221 {\n font-family: var(--text-link-small-font-family);\n font-style: var(--text-link-small-font-style);\n font-weight: var(--text-link-small-font-weight);\n font-size: var(--text-link-small-font-size);\n line-height: var(--text-link-small-line-height);\n color: var(--text-link-small-color);\n text-decoration: var(--text-link-small-text-decoration);\n letter-spacing: var(--text-link-small-letter-spacing);\n}\n\n._input-label_1cokg_232 {\n font-family: var(--text-input-label-font-family);\n font-style: var(--text-input-label-font-style);\n font-weight: var(--text-input-label-font-weight);\n font-size: var(--text-input-label-font-size);\n line-height: var(--text-input-label-line-height);\n color: var(--text-input-label-color);\n text-decoration: var(--text-input-label-text-decoration);\n letter-spacing: var(--text-input-label-letter-spacing);\n}\n\n._input-label-small_1cokg_243 {\n font-family: var(--text-input-label-small-font-family);\n font-style: var(--text-input-label-small-font-style);\n font-weight: var(--text-input-label-small-font-weight);\n font-size: var(--text-input-label-small-font-size);\n line-height: var(--text-input-label-small-line-height);\n color: var(--text-input-label-small-color);\n text-decoration: var(--text-input-label-small-text-decoration);\n letter-spacing: var(--text-input-label-small-letter-spacing);\n}\n\n._hint-text_1cokg_254 {\n font-family: var(--text-hint-text-font-family);\n font-style: var(--text-hint-text-font-style);\n font-weight: var(--text-hint-text-font-weight);\n font-size: var(--text-hint-text-font-size);\n line-height: var(--text-hint-text-line-height);\n color: var(--text-hint-text-color);\n text-decoration: var(--text-hint-text-text-decoration);\n letter-spacing: var(--text-hint-text-letter-spacing);\n}\n\n._placeholder_1cokg_265 {\n font-family: var(--text-placeholder-font-family);\n font-style: var(--text-placeholder-font-style);\n font-weight: var(--text-placeholder-font-weight);\n font-size: var(--text-placeholder-font-size);\n line-height: var(--text-placeholder-line-height);\n color: var(--text-placeholder-color);\n text-decoration: var(--text-placeholder-text-decoration);\n letter-spacing: var(--text-placeholder-letter-spacing);\n}\n\n._placeholder-small_1cokg_276 {\n font-family: var(--text-placeholder-small-font-family);\n font-style: var(--text-placeholder-small-font-style);\n font-weight: var(--text-placeholder-small-font-weight);\n font-size: var(--text-placeholder-small-font-size);\n line-height: var(--text-placeholder-small-line-height);\n color: var(--text-placeholder-small-color);\n text-decoration: var(--text-placeholder-small-text-decoration);\n letter-spacing: var(--text-placeholder-small-letter-spacing);\n}\n\n._placeholder-code_1cokg_287 {\n font-family: var(--text-placeholder-code-font-family);\n font-style: var(--text-placeholder-code-font-style);\n font-weight: var(--text-placeholder-code-font-weight);\n font-size: var(--text-placeholder-code-font-size);\n line-height: var(--text-placeholder-code-line-height);\n color: var(--text-placeholder-code-color);\n text-decoration: var(--text-placeholder-code-text-decoration);\n letter-spacing: var(--text-placeholder-code-letter-spacing);\n}\n\n._placeholder-code-small_1cokg_298 {\n font-family: var(--text-placeholder-code-small-font-family);\n font-style: var(--text-placeholder-code-small-font-style);\n font-weight: var(--text-placeholder-code-small-font-weight);\n font-size: var(--text-placeholder-code-small-font-size);\n line-height: var(--text-placeholder-code-small-line-height);\n color: var(--text-placeholder-code-small-color);\n text-decoration: var(--text-placeholder-code-small-text-decoration);\n letter-spacing: var(--text-placeholder-code-small-letter-spacing);\n}\n\n._error_1cokg_309 {\n font-family: var(--text-error-font-family);\n font-style: var(--text-error-font-style);\n font-weight: var(--text-error-font-weight);\n font-size: var(--text-error-font-size);\n line-height: var(--text-error-line-height);\n color: var(--text-error-color);\n text-decoration: var(--text-error-text-decoration);\n letter-spacing: var(--text-error-letter-spacing);\n}\n\n._error-small_1cokg_320 {\n font-family: var(--text-error-small-font-family);\n font-style: var(--text-error-small-font-style);\n font-weight: var(--text-error-small-font-weight);\n font-size: var(--text-error-small-font-size);\n line-height: var(--text-error-small-line-height);\n color: var(--text-error-small-color);\n text-decoration: var(--text-error-small-text-decoration);\n letter-spacing: var(--text-error-small-letter-spacing);\n}\n\n._success-small_1cokg_331 {\n font-family: var(--text-success-small-font-family);\n font-style: var(--text-success-small-font-style);\n font-weight: var(--text-success-small-font-weight);\n font-size: var(--text-success-small-font-size);\n line-height: var(--text-success-small-line-height);\n color: var(--text-success-small-color);\n text-decoration: var(--text-success-small-text-decoration);\n letter-spacing: var(--text-success-small-letter-spacing);\n}\n\n._base_1cokg_342 {\n position: relative;\n box-sizing: border-box;\n appearance: none;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n font-family: var(--font-family);\n font-weight: 400;\n border: 1px solid;\n background-color: transparent;\n white-space: nowrap;\n}\n._base_1cokg_342:hover {\n cursor: pointer;\n}\n._base_1cokg_342:disabled {\n pointer-events: none;\n cursor: unset !important;\n}\n\n._base-size_1cokg_364 {\n --outline-width: var(--sizes-xs);\n height: var(--sizes-10);\n padding-left: var(--sizes-sm);\n padding-right: var(--sizes-sm);\n border-radius: var(--radius-md);\n font-size: var(--sizes-base);\n line-height: var(--sizes-base);\n}\n\n._base-size_1cokg_364._hasText_1cokg_374 {\n padding-left: var(--sizes-md);\n padding-right: var(--sizes-md);\n}\n\n._base-size_1cokg_364._hasText_1cokg_374._hasIcon_1cokg_379 {\n padding-left: var(--sizes-base);\n}\n\n._base-size_1cokg_364._hasText_1cokg_374._hasDropdown_1cokg_383 {\n padding-right: var(--sizes-base);\n}\n\n._sm-size_1cokg_387 {\n --outline-width: 2px;\n height: var(--sizes-lg);\n padding-left: var(--sizes-sm);\n padding-right: var(--sizes-sm);\n border-radius: var(--radius-base);\n font-size: var(--text-body-font-size);\n line-height: var(--text-body-font-size);\n}\n\n._sm-size_1cokg_387._hasText_1cokg_374 {\n padding-left: var(--sizes-base);\n padding-right: var(--sizes-base);\n}\n\n._sm-size_1cokg_387._hasText_1cokg_374._hasIcon_1cokg_379 {\n padding-left: var(--sizes-sm);\n}\n\n._sm-size_1cokg_387._hasText_1cokg_374._hasDropdown_1cokg_383 {\n padding-right: var(--sizes-sm);\n}\n\n._default-variant_1cokg_410 {\n border-color: var(--colors-neutral-grey-dark);\n background-color: white;\n box-shadow: 0 1px 3px rgba(55, 66, 77, 0.15);\n}\n._default-variant_1cokg_410:hover {\n background-color: var(--colors-neutral-grey-lightest);\n}\n._default-variant_1cokg_410:active {\n background-color: var(--colors-neutral-grey-lightest);\n border-color: var(--colors-secondary-blue-base);\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-blue-light);\n}\n._default-variant_1cokg_410:focus-visible {\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-blue-light);\n outline: 0;\n}\n._default-variant_1cokg_410:disabled {\n box-shadow: none !important;\n background-color: var(--colors-neutral-grey-base) !important;\n border-color: var(--colors-neutral-grey-base) !important;\n color: var(--colors-neutral-ink-light) !important;\n}\n\n._default-variant_1cokg_410._hasText_1cokg_374 {\n color: var(--colors-neutral-ink-base);\n}\n\n._default-variant_1cokg_410:not(._hasText_1cokg_374) {\n color: var(--colors-secondary-blue-base);\n}\n\n._destructive-variant_1cokg_442 {\n border-color: var(--colors-neutral-grey-dark);\n background-color: white;\n box-shadow: 0 1px 3px rgba(55, 66, 77, 0.15);\n color: var(--colors-secondary-red-base);\n}\n._destructive-variant_1cokg_442:hover {\n background-color: var(--colors-neutral-grey-lightest);\n color: var(--colors-secondary-red-dark);\n}\n._destructive-variant_1cokg_442:active {\n background-color: var(--colors-neutral-grey-lightest);\n border-color: var(--colors-secondary-red-base);\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-red-light);\n color: var(--colors-secondary-red-dark);\n}\n._destructive-variant_1cokg_442:focus-visible {\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-red-light);\n outline: 0;\n}\n._destructive-variant_1cokg_442:disabled {\n box-shadow: none !important;\n background-color: var(--colors-neutral-grey-base) !important;\n border-color: var(--colors-neutral-grey-base) !important;\n color: var(--colors-neutral-ink-light) !important;\n}\n\n._primary-variant_1cokg_469 {\n background-color: var(--theme-primary, var(--colors-secondary-blue-base));\n border-color: var(--theme-primary, var(--colors-secondary-blue-base));\n color: var(--theme-on-primary, white);\n box-shadow: 0 1px 3px rgba(55, 66, 77, 0.15);\n}\n._primary-variant_1cokg_469:hover {\n background-color: var(--theme-primary-hover, var(--colors-secondary-blue-dark));\n border-color: var(--theme-primary-hover, var(--colors-secondary-blue-dark));\n}\n._primary-variant_1cokg_469:active {\n background-color: var(--theme-primary-hover, var(--colors-secondary-blue-dark));\n border-color: var(--theme-primary-hover, var(--colors-secondary-blue-dark));\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-blue-light);\n}\n._primary-variant_1cokg_469:focus-visible {\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-blue-light);\n outline: 0;\n}\n._primary-variant_1cokg_469:disabled {\n box-shadow: none !important;\n background-color: var(--colors-neutral-grey-base) !important;\n border-color: var(--colors-neutral-grey-base) !important;\n color: var(--colors-neutral-ink-light) !important;\n}\n\n._primaryDestructive-variant_1cokg_495 {\n background-color: var(--colors-secondary-red-base);\n border-color: var(--colors-secondary-red-base);\n color: white;\n box-shadow: 0 1px 3px rgba(55, 66, 77, 0.15);\n}\n._primaryDestructive-variant_1cokg_495:hover {\n background-color: var(--colors-secondary-red-dark);\n border-color: var(--colors-secondary-red-dark);\n}\n._primaryDestructive-variant_1cokg_495:active {\n background-color: var(--colors-secondary-red-dark);\n border-color: var(--colors-secondary-red-dark);\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-red-light);\n}\n._primaryDestructive-variant_1cokg_495:focus-visible {\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-red-light);\n outline: 0;\n}\n._primaryDestructive-variant_1cokg_495:disabled {\n box-shadow: none !important;\n background-color: var(--colors-neutral-grey-base) !important;\n border-color: var(--colors-neutral-grey-base) !important;\n color: var(--colors-neutral-ink-light) !important;\n}\n\n._flat-variant_1cokg_521 {\n border-color: transparent;\n box-shadow: none;\n color: var(--colors-neutral-ink-base);\n}\n._flat-variant_1cokg_521:hover {\n background-color: var(--colors-neutral-grey-light);\n}\n._flat-variant_1cokg_521:active {\n background-color: var(--colors-neutral-grey-light);\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-blue-light);\n}\n._flat-variant_1cokg_521:focus-visible {\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-blue-light);\n outline: 0;\n}\n._flat-variant_1cokg_521:disabled {\n background-color: transparent;\n border-color: transparent;\n}\n\n._link-variant_1cokg_542 {\n appearance: none;\n border: 0;\n background-color: transparent;\n padding: 0;\n font: inherit;\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n font-family: var(--text-link-font-family);\n font-style: var(--text-link-font-style);\n font-weight: var(--text-link-font-weight);\n font-size: var(--text-link-font-size);\n line-height: var(--text-link-line-height);\n color: var(--text-link-color);\n text-decoration: var(--text-link-text-decoration);\n letter-spacing: var(--text-link-letter-spacing);\n letter-spacing: normal;\n color: var(--colors-secondary-blue-base);\n}\n._link-variant_1cokg_542:hover {\n cursor: pointer;\n color: var(--colors-secondary-blue-dark);\n}\n._link-variant_1cokg_542 > * + * {\n margin-left: var(--sizes-xs);\n}\n._link-variant_1cokg_542:focus-visible {\n outline: 0;\n box-shadow: 0 0 0 4px white, 0 0 0 8px var(--colors-secondary-blue-light);\n border-radius: 4px;\n}\n\n._unstyled-variant_1cokg_575 {\n appearance: none;\n border: 0;\n background-color: transparent;\n padding: 0;\n font: inherit;\n}\n._unstyled-variant_1cokg_575:hover {\n cursor: pointer;\n}\n\n._mainContent_1cokg_586 {\n display: inline-flex;\n align-items: center;\n gap: var(--sizes-xs);\n}\n._mainContent_1cokg_586 svg {\n width: var(--button-icon-size);\n height: var(--button-icon-size);\n}\n\n._hasText_1cokg_374 ._mainContent_1cokg_586 {\n gap: var(--sizes-sm);\n}\n\n._mainContent_1cokg_586._loading_1cokg_600 {\n opacity: 0;\n}\n\n._loadingWrapper_1cokg_604 {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-left: 0;\n}");
6
+ var styles = {"heading-xxl":"_heading-xxl_1cokg_1","heading-xl":"_heading-xl_1cokg_12","heading-large":"_heading-large_1cokg_23","heading-medium":"_heading-medium_1cokg_34","heading-small":"_heading-small_1cokg_45","heading-table":"_heading-table_1cokg_56","subheading-large":"_subheading-large_1cokg_67","subheading-medium":"_subheading-medium_1cokg_78","subheading-small":"_subheading-small_1cokg_89","subheading-small-bold":"_subheading-small-bold_1cokg_100","body":"_body_1cokg_111","body-small":"_body-small_1cokg_122","body-bold":"_body-bold_1cokg_133","body-bold-dark":"_body-bold-dark_1cokg_144","body-small-bold":"_body-small-bold_1cokg_155","button":"_button_1cokg_166","button-small":"_button-small_1cokg_177","link-large":"_link-large_1cokg_188","link-medium":"_link-medium_1cokg_199","link":"_link_1cokg_188","link-small":"_link-small_1cokg_221","input-label":"_input-label_1cokg_232","input-label-small":"_input-label-small_1cokg_243","hint-text":"_hint-text_1cokg_254","placeholder":"_placeholder_1cokg_265","placeholder-small":"_placeholder-small_1cokg_276","placeholder-code":"_placeholder-code_1cokg_287","placeholder-code-small":"_placeholder-code-small_1cokg_298","error":"_error_1cokg_309","error-small":"_error-small_1cokg_320","success-small":"_success-small_1cokg_331","base":"_base_1cokg_342","base-size":"_base-size_1cokg_364","hasText":"_hasText_1cokg_374","hasIcon":"_hasIcon_1cokg_379","hasDropdown":"_hasDropdown_1cokg_383","sm-size":"_sm-size_1cokg_387","default-variant":"_default-variant_1cokg_410","destructive-variant":"_destructive-variant_1cokg_442","primary-variant":"_primary-variant_1cokg_469","primaryDestructive-variant":"_primaryDestructive-variant_1cokg_495","flat-variant":"_flat-variant_1cokg_521","link-variant":"_link-variant_1cokg_542","unstyled-variant":"_unstyled-variant_1cokg_575","mainContent":"_mainContent_1cokg_586","loading":"_loading_1cokg_600","loadingWrapper":"_loadingWrapper_1cokg_604"};
7
+
8
+ module.exports = styles;
9
+ //# sourceMappingURL=Button.module.scss.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.module.scss.cjs","sources":["../../../src/components/Button/Button.module.scss"],"sourcesContent":["@use '../../theme/scss/text.module.scss' as text;\n\n// Base class (shared by default, primary, destructive, primaryDestructive, flat)\n\n.base {\n position: relative;\n box-sizing: border-box;\n appearance: none;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n font-family: var(--font-family);\n font-weight: 400;\n border: 1px solid;\n background-color: transparent;\n white-space: nowrap;\n\n &:hover {\n cursor: pointer;\n }\n\n &:disabled {\n pointer-events: none;\n cursor: unset !important;\n }\n}\n\n// Size classes\n\n.base-size {\n --outline-width: var(--sizes-xs);\n\n height: var(--sizes-10);\n padding-left: var(--sizes-sm);\n padding-right: var(--sizes-sm);\n border-radius: var(--radius-md);\n font-size: var(--sizes-base);\n line-height: var(--sizes-base);\n}\n\n.base-size.hasText {\n padding-left: var(--sizes-md);\n padding-right: var(--sizes-md);\n}\n\n.base-size.hasText.hasIcon {\n padding-left: var(--sizes-base);\n}\n\n.base-size.hasText.hasDropdown {\n padding-right: var(--sizes-base);\n}\n\n.sm-size {\n --outline-width: 2px;\n\n height: var(--sizes-lg);\n padding-left: var(--sizes-sm);\n padding-right: var(--sizes-sm);\n border-radius: var(--radius-base);\n font-size: var(--text-body-font-size);\n line-height: var(--text-body-font-size); // intentionally matches font-size for button height control\n}\n\n.sm-size.hasText {\n padding-left: var(--sizes-base);\n padding-right: var(--sizes-base);\n}\n\n.sm-size.hasText.hasIcon {\n padding-left: var(--sizes-sm);\n}\n\n.sm-size.hasText.hasDropdown {\n padding-right: var(--sizes-sm);\n}\n\n// Variant: default\n\n.default-variant {\n border-color: var(--colors-neutral-grey-dark);\n background-color: white;\n box-shadow: 0 1px 3px rgba(55, 66, 77, 0.15);\n\n &:hover {\n background-color: var(--colors-neutral-grey-lightest);\n }\n\n &:active {\n background-color: var(--colors-neutral-grey-lightest);\n border-color: var(--colors-secondary-blue-base);\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-blue-light);\n }\n\n &:focus-visible {\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-blue-light);\n outline: 0;\n }\n\n &:disabled {\n box-shadow: none !important;\n background-color: var(--colors-neutral-grey-base) !important;\n border-color: var(--colors-neutral-grey-base) !important;\n color: var(--colors-neutral-ink-light) !important;\n }\n}\n\n// Default variant conditional color based on hasText\n.default-variant.hasText {\n color: var(--colors-neutral-ink-base);\n}\n\n.default-variant:not(.hasText) {\n color: var(--colors-secondary-blue-base);\n}\n\n// Variant: destructive (extends default visually)\n\n.destructive-variant {\n border-color: var(--colors-neutral-grey-dark);\n background-color: white;\n box-shadow: 0 1px 3px rgba(55, 66, 77, 0.15);\n color: var(--colors-secondary-red-base);\n\n &:hover {\n background-color: var(--colors-neutral-grey-lightest);\n color: var(--colors-secondary-red-dark);\n }\n\n &:active {\n background-color: var(--colors-neutral-grey-lightest);\n border-color: var(--colors-secondary-red-base);\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-red-light);\n color: var(--colors-secondary-red-dark);\n }\n\n &:focus-visible {\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-red-light);\n outline: 0;\n }\n\n &:disabled {\n box-shadow: none !important;\n background-color: var(--colors-neutral-grey-base) !important;\n border-color: var(--colors-neutral-grey-base) !important;\n color: var(--colors-neutral-ink-light) !important;\n }\n}\n\n// Variant: primary\n\n.primary-variant {\n background-color: var(--theme-primary, var(--colors-secondary-blue-base));\n border-color: var(--theme-primary, var(--colors-secondary-blue-base));\n color: var(--theme-on-primary, white);\n box-shadow: 0 1px 3px rgba(55, 66, 77, 0.15);\n\n &:hover {\n background-color: var(--theme-primary-hover, var(--colors-secondary-blue-dark));\n border-color: var(--theme-primary-hover, var(--colors-secondary-blue-dark));\n }\n\n &:active {\n background-color: var(--theme-primary-hover, var(--colors-secondary-blue-dark));\n border-color: var(--theme-primary-hover, var(--colors-secondary-blue-dark));\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-blue-light);\n }\n\n &:focus-visible {\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-blue-light);\n outline: 0;\n }\n\n &:disabled {\n box-shadow: none !important;\n background-color: var(--colors-neutral-grey-base) !important;\n border-color: var(--colors-neutral-grey-base) !important;\n color: var(--colors-neutral-ink-light) !important;\n }\n}\n\n// Variant: primaryDestructive\n\n.primaryDestructive-variant {\n background-color: var(--colors-secondary-red-base);\n border-color: var(--colors-secondary-red-base);\n color: white;\n box-shadow: 0 1px 3px rgba(55, 66, 77, 0.15);\n\n &:hover {\n background-color: var(--colors-secondary-red-dark);\n border-color: var(--colors-secondary-red-dark);\n }\n\n &:active {\n background-color: var(--colors-secondary-red-dark);\n border-color: var(--colors-secondary-red-dark);\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-red-light);\n }\n\n &:focus-visible {\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-red-light);\n outline: 0;\n }\n\n &:disabled {\n box-shadow: none !important;\n background-color: var(--colors-neutral-grey-base) !important;\n border-color: var(--colors-neutral-grey-base) !important;\n color: var(--colors-neutral-ink-light) !important;\n }\n}\n\n// Variant: flat\n\n.flat-variant {\n border-color: transparent;\n box-shadow: none;\n color: var(--colors-neutral-ink-base);\n\n &:hover {\n background-color: var(--colors-neutral-grey-light);\n }\n\n &:active {\n background-color: var(--colors-neutral-grey-light);\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-blue-light);\n }\n\n &:focus-visible {\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-blue-light);\n outline: 0;\n }\n\n &:disabled {\n background-color: transparent;\n border-color: transparent;\n }\n}\n\n// Variant: link (standalone — does NOT use .base)\n\n.link-variant {\n appearance: none;\n border: 0;\n background-color: transparent;\n padding: 0;\n font: inherit;\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n\n @include text.link;\n\n // Override mixin's letter-spacing: the SC version never set it\n letter-spacing: normal;\n color: var(--colors-secondary-blue-base);\n\n &:hover {\n cursor: pointer;\n color: var(--colors-secondary-blue-dark);\n }\n\n & > * + * {\n margin-left: var(--sizes-xs);\n }\n\n &:focus-visible {\n outline: 0;\n box-shadow:\n 0 0 0 4px white,\n 0 0 0 8px var(--colors-secondary-blue-light);\n border-radius: 4px;\n }\n}\n\n// Variant: unstyled (standalone — does NOT use .base)\n\n.unstyled-variant {\n appearance: none;\n border: 0;\n background-color: transparent;\n padding: 0;\n font: inherit;\n\n &:hover {\n cursor: pointer;\n }\n}\n\n// Sub-elements\n\n.mainContent {\n display: inline-flex;\n align-items: center;\n gap: var(--sizes-xs);\n\n svg {\n width: var(--button-icon-size);\n height: var(--button-icon-size);\n }\n}\n\n.hasText .mainContent {\n gap: var(--sizes-sm);\n}\n\n.mainContent.loading {\n opacity: 0;\n}\n\n.loadingWrapper {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-left: 0;\n}\n"],"names":[],"mappings":";;;;AAGE,eAAA,CAAA,kqsBAAA;AACA,aAAA,CAAA,aAAA,CAAA,sBAAA,CAAA,YAAA,CAAA,sBAAA,CAAA,eAAA,CAAA,yBAAA,CAAA,gBAAA,CAAA,0BAAA,CAAA,eAAA,CAAA,yBAAA,CAAA,eAAA,CAAA,yBAAA,CAAA,kBAAA,CAAA,4BAAA,CAAA,mBAAA,CAAA,6BAAA,CAAA,kBAAA,CAAA,4BAAA,CAAA,uBAAA,CAAA,kCAAA,CAAA,MAAA,CAAA,iBAAA,CAAA,YAAA,CAAA,uBAAA,CAAA,WAAA,CAAA,sBAAA,CAAA,gBAAA,CAAA,2BAAA,CAAA,iBAAA,CAAA,4BAAA,CAAA,QAAA,CAAA,mBAAA,CAAA,cAAA,CAAA,yBAAA,CAAA,YAAA,CAAA,uBAAA,CAAA,aAAA,CAAA,wBAAA,CAAA,MAAA,CAAA,iBAAA,CAAA,YAAA,CAAA,uBAAA,CAAA,aAAA,CAAA,wBAAA,CAAA,mBAAA,CAAA,8BAAA,CAAA,WAAA,CAAA,sBAAA,CAAA,aAAA,CAAA,wBAAA,CAAA,mBAAA,CAAA,8BAAA,CAAA,kBAAA,CAAA,6BAAA,CAAA,wBAAA,CAAA,mCAAA,CAAA,OAAA,CAAA,kBAAA,CAAA,aAAA,CAAA,wBAAA,CAAA,eAAA,CAAA,0BAAA,CAAA,MAAA,CAAA,iBAAA,CAAA,WAAA,CAAA,sBAAA,CAAA,SAAA,CAAA,oBAAA,CAAA,SAAA,CAAA,oBAAA,CAAA,aAAA,CAAA,wBAAA,CAAA,SAAA,CAAA,oBAAA,CAAA,iBAAA,CAAA,4BAAA,CAAA,qBAAA,CAAA,gCAAA,CAAA,iBAAA,CAAA,4BAAA,CAAA,4BAAA,CAAA,uCAAA,CAAA,cAAA,CAAA,yBAAA,CAAA,cAAA,CAAA,yBAAA,CAAA,kBAAA,CAAA,6BAAA,CAAA,aAAA,CAAA,wBAAA,CAAA,SAAA,CAAA,oBAAA,CAAA,gBAAA,CAAA,2BAAA;;;;"}
@@ -0,0 +1,7 @@
1
+ import insertStyle from '../../_virtual/____insertStyle.js';
2
+
3
+ insertStyle("._heading-xxl_1cokg_1 {\n font-family: var(--text-heading-xxl-font-family);\n font-style: var(--text-heading-xxl-font-style);\n font-weight: var(--text-heading-xxl-font-weight);\n font-size: var(--text-heading-xxl-font-size);\n line-height: var(--text-heading-xxl-line-height);\n color: var(--text-heading-xxl-color);\n text-decoration: var(--text-heading-xxl-text-decoration);\n letter-spacing: var(--text-heading-xxl-letter-spacing);\n}\n\n._heading-xl_1cokg_12 {\n font-family: var(--text-heading-xl-font-family);\n font-style: var(--text-heading-xl-font-style);\n font-weight: var(--text-heading-xl-font-weight);\n font-size: var(--text-heading-xl-font-size);\n line-height: var(--text-heading-xl-line-height);\n color: var(--text-heading-xl-color);\n text-decoration: var(--text-heading-xl-text-decoration);\n letter-spacing: var(--text-heading-xl-letter-spacing);\n}\n\n._heading-large_1cokg_23 {\n font-family: var(--text-heading-large-font-family);\n font-style: var(--text-heading-large-font-style);\n font-weight: var(--text-heading-large-font-weight);\n font-size: var(--text-heading-large-font-size);\n line-height: var(--text-heading-large-line-height);\n color: var(--text-heading-large-color);\n text-decoration: var(--text-heading-large-text-decoration);\n letter-spacing: var(--text-heading-large-letter-spacing);\n}\n\n._heading-medium_1cokg_34 {\n font-family: var(--text-heading-medium-font-family);\n font-style: var(--text-heading-medium-font-style);\n font-weight: var(--text-heading-medium-font-weight);\n font-size: var(--text-heading-medium-font-size);\n line-height: var(--text-heading-medium-line-height);\n color: var(--text-heading-medium-color);\n text-decoration: var(--text-heading-medium-text-decoration);\n letter-spacing: var(--text-heading-medium-letter-spacing);\n}\n\n._heading-small_1cokg_45 {\n font-family: var(--text-heading-small-font-family);\n font-style: var(--text-heading-small-font-style);\n font-weight: var(--text-heading-small-font-weight);\n font-size: var(--text-heading-small-font-size);\n line-height: var(--text-heading-small-line-height);\n color: var(--text-heading-small-color);\n text-decoration: var(--text-heading-small-text-decoration);\n letter-spacing: var(--text-heading-small-letter-spacing);\n}\n\n._heading-table_1cokg_56 {\n font-family: var(--text-heading-table-font-family);\n font-style: var(--text-heading-table-font-style);\n font-weight: var(--text-heading-table-font-weight);\n font-size: var(--text-heading-table-font-size);\n line-height: var(--text-heading-table-line-height);\n color: var(--text-heading-table-color);\n text-decoration: var(--text-heading-table-text-decoration);\n letter-spacing: var(--text-heading-table-letter-spacing);\n}\n\n._subheading-large_1cokg_67 {\n font-family: var(--text-subheading-large-font-family);\n font-style: var(--text-subheading-large-font-style);\n font-weight: var(--text-subheading-large-font-weight);\n font-size: var(--text-subheading-large-font-size);\n line-height: var(--text-subheading-large-line-height);\n color: var(--text-subheading-large-color);\n text-decoration: var(--text-subheading-large-text-decoration);\n letter-spacing: var(--text-subheading-large-letter-spacing);\n}\n\n._subheading-medium_1cokg_78 {\n font-family: var(--text-subheading-medium-font-family);\n font-style: var(--text-subheading-medium-font-style);\n font-weight: var(--text-subheading-medium-font-weight);\n font-size: var(--text-subheading-medium-font-size);\n line-height: var(--text-subheading-medium-line-height);\n color: var(--text-subheading-medium-color);\n text-decoration: var(--text-subheading-medium-text-decoration);\n letter-spacing: var(--text-subheading-medium-letter-spacing);\n}\n\n._subheading-small_1cokg_89 {\n font-family: var(--text-subheading-small-font-family);\n font-style: var(--text-subheading-small-font-style);\n font-weight: var(--text-subheading-small-font-weight);\n font-size: var(--text-subheading-small-font-size);\n line-height: var(--text-subheading-small-line-height);\n color: var(--text-subheading-small-color);\n text-decoration: var(--text-subheading-small-text-decoration);\n letter-spacing: var(--text-subheading-small-letter-spacing);\n}\n\n._subheading-small-bold_1cokg_100 {\n font-family: var(--text-subheading-small-bold-font-family);\n font-style: var(--text-subheading-small-bold-font-style);\n font-weight: var(--text-subheading-small-bold-font-weight);\n font-size: var(--text-subheading-small-bold-font-size);\n line-height: var(--text-subheading-small-bold-line-height);\n color: var(--text-subheading-small-bold-color);\n text-decoration: var(--text-subheading-small-bold-text-decoration);\n letter-spacing: var(--text-subheading-small-bold-letter-spacing);\n}\n\n._body_1cokg_111 {\n font-family: var(--text-body-font-family);\n font-style: var(--text-body-font-style);\n font-weight: var(--text-body-font-weight);\n font-size: var(--text-body-font-size);\n line-height: var(--text-body-line-height);\n color: var(--text-body-color);\n text-decoration: var(--text-body-text-decoration);\n letter-spacing: var(--text-body-letter-spacing);\n}\n\n._body-small_1cokg_122 {\n font-family: var(--text-body-small-font-family);\n font-style: var(--text-body-small-font-style);\n font-weight: var(--text-body-small-font-weight);\n font-size: var(--text-body-small-font-size);\n line-height: var(--text-body-small-line-height);\n color: var(--text-body-small-color);\n text-decoration: var(--text-body-small-text-decoration);\n letter-spacing: var(--text-body-small-letter-spacing);\n}\n\n._body-bold_1cokg_133 {\n font-family: var(--text-body-bold-font-family);\n font-style: var(--text-body-bold-font-style);\n font-weight: var(--text-body-bold-font-weight);\n font-size: var(--text-body-bold-font-size);\n line-height: var(--text-body-bold-line-height);\n color: var(--text-body-bold-color);\n text-decoration: var(--text-body-bold-text-decoration);\n letter-spacing: var(--text-body-bold-letter-spacing);\n}\n\n._body-bold-dark_1cokg_144 {\n font-family: var(--text-body-bold-dark-font-family);\n font-style: var(--text-body-bold-dark-font-style);\n font-weight: var(--text-body-bold-dark-font-weight);\n font-size: var(--text-body-bold-dark-font-size);\n line-height: var(--text-body-bold-dark-line-height);\n color: var(--text-body-bold-dark-color);\n text-decoration: var(--text-body-bold-dark-text-decoration);\n letter-spacing: var(--text-body-bold-dark-letter-spacing);\n}\n\n._body-small-bold_1cokg_155 {\n font-family: var(--text-body-small-bold-font-family);\n font-style: var(--text-body-small-bold-font-style);\n font-weight: var(--text-body-small-bold-font-weight);\n font-size: var(--text-body-small-bold-font-size);\n line-height: var(--text-body-small-bold-line-height);\n color: var(--text-body-small-bold-color);\n text-decoration: var(--text-body-small-bold-text-decoration);\n letter-spacing: var(--text-body-small-bold-letter-spacing);\n}\n\n._button_1cokg_166 {\n font-family: var(--text-button-font-family);\n font-style: var(--text-button-font-style);\n font-weight: var(--text-button-font-weight);\n font-size: var(--text-button-font-size);\n line-height: var(--text-button-line-height);\n color: var(--text-button-color);\n text-decoration: var(--text-button-text-decoration);\n letter-spacing: var(--text-button-letter-spacing);\n}\n\n._button-small_1cokg_177 {\n font-family: var(--text-button-small-font-family);\n font-style: var(--text-button-small-font-style);\n font-weight: var(--text-button-small-font-weight);\n font-size: var(--text-button-small-font-size);\n line-height: var(--text-button-small-line-height);\n color: var(--text-button-small-color);\n text-decoration: var(--text-button-small-text-decoration);\n letter-spacing: var(--text-button-small-letter-spacing);\n}\n\n._link-large_1cokg_188 {\n font-family: var(--text-link-large-font-family);\n font-style: var(--text-link-large-font-style);\n font-weight: var(--text-link-large-font-weight);\n font-size: var(--text-link-large-font-size);\n line-height: var(--text-link-large-line-height);\n color: var(--text-link-large-color);\n text-decoration: var(--text-link-large-text-decoration);\n letter-spacing: var(--text-link-large-letter-spacing);\n}\n\n._link-medium_1cokg_199 {\n font-family: var(--text-link-medium-font-family);\n font-style: var(--text-link-medium-font-style);\n font-weight: var(--text-link-medium-font-weight);\n font-size: var(--text-link-medium-font-size);\n line-height: var(--text-link-medium-line-height);\n color: var(--text-link-medium-color);\n text-decoration: var(--text-link-medium-text-decoration);\n letter-spacing: var(--text-link-medium-letter-spacing);\n}\n\n._link_1cokg_188 {\n font-family: var(--text-link-font-family);\n font-style: var(--text-link-font-style);\n font-weight: var(--text-link-font-weight);\n font-size: var(--text-link-font-size);\n line-height: var(--text-link-line-height);\n color: var(--text-link-color);\n text-decoration: var(--text-link-text-decoration);\n letter-spacing: var(--text-link-letter-spacing);\n}\n\n._link-small_1cokg_221 {\n font-family: var(--text-link-small-font-family);\n font-style: var(--text-link-small-font-style);\n font-weight: var(--text-link-small-font-weight);\n font-size: var(--text-link-small-font-size);\n line-height: var(--text-link-small-line-height);\n color: var(--text-link-small-color);\n text-decoration: var(--text-link-small-text-decoration);\n letter-spacing: var(--text-link-small-letter-spacing);\n}\n\n._input-label_1cokg_232 {\n font-family: var(--text-input-label-font-family);\n font-style: var(--text-input-label-font-style);\n font-weight: var(--text-input-label-font-weight);\n font-size: var(--text-input-label-font-size);\n line-height: var(--text-input-label-line-height);\n color: var(--text-input-label-color);\n text-decoration: var(--text-input-label-text-decoration);\n letter-spacing: var(--text-input-label-letter-spacing);\n}\n\n._input-label-small_1cokg_243 {\n font-family: var(--text-input-label-small-font-family);\n font-style: var(--text-input-label-small-font-style);\n font-weight: var(--text-input-label-small-font-weight);\n font-size: var(--text-input-label-small-font-size);\n line-height: var(--text-input-label-small-line-height);\n color: var(--text-input-label-small-color);\n text-decoration: var(--text-input-label-small-text-decoration);\n letter-spacing: var(--text-input-label-small-letter-spacing);\n}\n\n._hint-text_1cokg_254 {\n font-family: var(--text-hint-text-font-family);\n font-style: var(--text-hint-text-font-style);\n font-weight: var(--text-hint-text-font-weight);\n font-size: var(--text-hint-text-font-size);\n line-height: var(--text-hint-text-line-height);\n color: var(--text-hint-text-color);\n text-decoration: var(--text-hint-text-text-decoration);\n letter-spacing: var(--text-hint-text-letter-spacing);\n}\n\n._placeholder_1cokg_265 {\n font-family: var(--text-placeholder-font-family);\n font-style: var(--text-placeholder-font-style);\n font-weight: var(--text-placeholder-font-weight);\n font-size: var(--text-placeholder-font-size);\n line-height: var(--text-placeholder-line-height);\n color: var(--text-placeholder-color);\n text-decoration: var(--text-placeholder-text-decoration);\n letter-spacing: var(--text-placeholder-letter-spacing);\n}\n\n._placeholder-small_1cokg_276 {\n font-family: var(--text-placeholder-small-font-family);\n font-style: var(--text-placeholder-small-font-style);\n font-weight: var(--text-placeholder-small-font-weight);\n font-size: var(--text-placeholder-small-font-size);\n line-height: var(--text-placeholder-small-line-height);\n color: var(--text-placeholder-small-color);\n text-decoration: var(--text-placeholder-small-text-decoration);\n letter-spacing: var(--text-placeholder-small-letter-spacing);\n}\n\n._placeholder-code_1cokg_287 {\n font-family: var(--text-placeholder-code-font-family);\n font-style: var(--text-placeholder-code-font-style);\n font-weight: var(--text-placeholder-code-font-weight);\n font-size: var(--text-placeholder-code-font-size);\n line-height: var(--text-placeholder-code-line-height);\n color: var(--text-placeholder-code-color);\n text-decoration: var(--text-placeholder-code-text-decoration);\n letter-spacing: var(--text-placeholder-code-letter-spacing);\n}\n\n._placeholder-code-small_1cokg_298 {\n font-family: var(--text-placeholder-code-small-font-family);\n font-style: var(--text-placeholder-code-small-font-style);\n font-weight: var(--text-placeholder-code-small-font-weight);\n font-size: var(--text-placeholder-code-small-font-size);\n line-height: var(--text-placeholder-code-small-line-height);\n color: var(--text-placeholder-code-small-color);\n text-decoration: var(--text-placeholder-code-small-text-decoration);\n letter-spacing: var(--text-placeholder-code-small-letter-spacing);\n}\n\n._error_1cokg_309 {\n font-family: var(--text-error-font-family);\n font-style: var(--text-error-font-style);\n font-weight: var(--text-error-font-weight);\n font-size: var(--text-error-font-size);\n line-height: var(--text-error-line-height);\n color: var(--text-error-color);\n text-decoration: var(--text-error-text-decoration);\n letter-spacing: var(--text-error-letter-spacing);\n}\n\n._error-small_1cokg_320 {\n font-family: var(--text-error-small-font-family);\n font-style: var(--text-error-small-font-style);\n font-weight: var(--text-error-small-font-weight);\n font-size: var(--text-error-small-font-size);\n line-height: var(--text-error-small-line-height);\n color: var(--text-error-small-color);\n text-decoration: var(--text-error-small-text-decoration);\n letter-spacing: var(--text-error-small-letter-spacing);\n}\n\n._success-small_1cokg_331 {\n font-family: var(--text-success-small-font-family);\n font-style: var(--text-success-small-font-style);\n font-weight: var(--text-success-small-font-weight);\n font-size: var(--text-success-small-font-size);\n line-height: var(--text-success-small-line-height);\n color: var(--text-success-small-color);\n text-decoration: var(--text-success-small-text-decoration);\n letter-spacing: var(--text-success-small-letter-spacing);\n}\n\n._base_1cokg_342 {\n position: relative;\n box-sizing: border-box;\n appearance: none;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n font-family: var(--font-family);\n font-weight: 400;\n border: 1px solid;\n background-color: transparent;\n white-space: nowrap;\n}\n._base_1cokg_342:hover {\n cursor: pointer;\n}\n._base_1cokg_342:disabled {\n pointer-events: none;\n cursor: unset !important;\n}\n\n._base-size_1cokg_364 {\n --outline-width: var(--sizes-xs);\n height: var(--sizes-10);\n padding-left: var(--sizes-sm);\n padding-right: var(--sizes-sm);\n border-radius: var(--radius-md);\n font-size: var(--sizes-base);\n line-height: var(--sizes-base);\n}\n\n._base-size_1cokg_364._hasText_1cokg_374 {\n padding-left: var(--sizes-md);\n padding-right: var(--sizes-md);\n}\n\n._base-size_1cokg_364._hasText_1cokg_374._hasIcon_1cokg_379 {\n padding-left: var(--sizes-base);\n}\n\n._base-size_1cokg_364._hasText_1cokg_374._hasDropdown_1cokg_383 {\n padding-right: var(--sizes-base);\n}\n\n._sm-size_1cokg_387 {\n --outline-width: 2px;\n height: var(--sizes-lg);\n padding-left: var(--sizes-sm);\n padding-right: var(--sizes-sm);\n border-radius: var(--radius-base);\n font-size: var(--text-body-font-size);\n line-height: var(--text-body-font-size);\n}\n\n._sm-size_1cokg_387._hasText_1cokg_374 {\n padding-left: var(--sizes-base);\n padding-right: var(--sizes-base);\n}\n\n._sm-size_1cokg_387._hasText_1cokg_374._hasIcon_1cokg_379 {\n padding-left: var(--sizes-sm);\n}\n\n._sm-size_1cokg_387._hasText_1cokg_374._hasDropdown_1cokg_383 {\n padding-right: var(--sizes-sm);\n}\n\n._default-variant_1cokg_410 {\n border-color: var(--colors-neutral-grey-dark);\n background-color: white;\n box-shadow: 0 1px 3px rgba(55, 66, 77, 0.15);\n}\n._default-variant_1cokg_410:hover {\n background-color: var(--colors-neutral-grey-lightest);\n}\n._default-variant_1cokg_410:active {\n background-color: var(--colors-neutral-grey-lightest);\n border-color: var(--colors-secondary-blue-base);\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-blue-light);\n}\n._default-variant_1cokg_410:focus-visible {\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-blue-light);\n outline: 0;\n}\n._default-variant_1cokg_410:disabled {\n box-shadow: none !important;\n background-color: var(--colors-neutral-grey-base) !important;\n border-color: var(--colors-neutral-grey-base) !important;\n color: var(--colors-neutral-ink-light) !important;\n}\n\n._default-variant_1cokg_410._hasText_1cokg_374 {\n color: var(--colors-neutral-ink-base);\n}\n\n._default-variant_1cokg_410:not(._hasText_1cokg_374) {\n color: var(--colors-secondary-blue-base);\n}\n\n._destructive-variant_1cokg_442 {\n border-color: var(--colors-neutral-grey-dark);\n background-color: white;\n box-shadow: 0 1px 3px rgba(55, 66, 77, 0.15);\n color: var(--colors-secondary-red-base);\n}\n._destructive-variant_1cokg_442:hover {\n background-color: var(--colors-neutral-grey-lightest);\n color: var(--colors-secondary-red-dark);\n}\n._destructive-variant_1cokg_442:active {\n background-color: var(--colors-neutral-grey-lightest);\n border-color: var(--colors-secondary-red-base);\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-red-light);\n color: var(--colors-secondary-red-dark);\n}\n._destructive-variant_1cokg_442:focus-visible {\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-red-light);\n outline: 0;\n}\n._destructive-variant_1cokg_442:disabled {\n box-shadow: none !important;\n background-color: var(--colors-neutral-grey-base) !important;\n border-color: var(--colors-neutral-grey-base) !important;\n color: var(--colors-neutral-ink-light) !important;\n}\n\n._primary-variant_1cokg_469 {\n background-color: var(--theme-primary, var(--colors-secondary-blue-base));\n border-color: var(--theme-primary, var(--colors-secondary-blue-base));\n color: var(--theme-on-primary, white);\n box-shadow: 0 1px 3px rgba(55, 66, 77, 0.15);\n}\n._primary-variant_1cokg_469:hover {\n background-color: var(--theme-primary-hover, var(--colors-secondary-blue-dark));\n border-color: var(--theme-primary-hover, var(--colors-secondary-blue-dark));\n}\n._primary-variant_1cokg_469:active {\n background-color: var(--theme-primary-hover, var(--colors-secondary-blue-dark));\n border-color: var(--theme-primary-hover, var(--colors-secondary-blue-dark));\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-blue-light);\n}\n._primary-variant_1cokg_469:focus-visible {\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-blue-light);\n outline: 0;\n}\n._primary-variant_1cokg_469:disabled {\n box-shadow: none !important;\n background-color: var(--colors-neutral-grey-base) !important;\n border-color: var(--colors-neutral-grey-base) !important;\n color: var(--colors-neutral-ink-light) !important;\n}\n\n._primaryDestructive-variant_1cokg_495 {\n background-color: var(--colors-secondary-red-base);\n border-color: var(--colors-secondary-red-base);\n color: white;\n box-shadow: 0 1px 3px rgba(55, 66, 77, 0.15);\n}\n._primaryDestructive-variant_1cokg_495:hover {\n background-color: var(--colors-secondary-red-dark);\n border-color: var(--colors-secondary-red-dark);\n}\n._primaryDestructive-variant_1cokg_495:active {\n background-color: var(--colors-secondary-red-dark);\n border-color: var(--colors-secondary-red-dark);\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-red-light);\n}\n._primaryDestructive-variant_1cokg_495:focus-visible {\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-red-light);\n outline: 0;\n}\n._primaryDestructive-variant_1cokg_495:disabled {\n box-shadow: none !important;\n background-color: var(--colors-neutral-grey-base) !important;\n border-color: var(--colors-neutral-grey-base) !important;\n color: var(--colors-neutral-ink-light) !important;\n}\n\n._flat-variant_1cokg_521 {\n border-color: transparent;\n box-shadow: none;\n color: var(--colors-neutral-ink-base);\n}\n._flat-variant_1cokg_521:hover {\n background-color: var(--colors-neutral-grey-light);\n}\n._flat-variant_1cokg_521:active {\n background-color: var(--colors-neutral-grey-light);\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-blue-light);\n}\n._flat-variant_1cokg_521:focus-visible {\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-blue-light);\n outline: 0;\n}\n._flat-variant_1cokg_521:disabled {\n background-color: transparent;\n border-color: transparent;\n}\n\n._link-variant_1cokg_542 {\n appearance: none;\n border: 0;\n background-color: transparent;\n padding: 0;\n font: inherit;\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n font-family: var(--text-link-font-family);\n font-style: var(--text-link-font-style);\n font-weight: var(--text-link-font-weight);\n font-size: var(--text-link-font-size);\n line-height: var(--text-link-line-height);\n color: var(--text-link-color);\n text-decoration: var(--text-link-text-decoration);\n letter-spacing: var(--text-link-letter-spacing);\n letter-spacing: normal;\n color: var(--colors-secondary-blue-base);\n}\n._link-variant_1cokg_542:hover {\n cursor: pointer;\n color: var(--colors-secondary-blue-dark);\n}\n._link-variant_1cokg_542 > * + * {\n margin-left: var(--sizes-xs);\n}\n._link-variant_1cokg_542:focus-visible {\n outline: 0;\n box-shadow: 0 0 0 4px white, 0 0 0 8px var(--colors-secondary-blue-light);\n border-radius: 4px;\n}\n\n._unstyled-variant_1cokg_575 {\n appearance: none;\n border: 0;\n background-color: transparent;\n padding: 0;\n font: inherit;\n}\n._unstyled-variant_1cokg_575:hover {\n cursor: pointer;\n}\n\n._mainContent_1cokg_586 {\n display: inline-flex;\n align-items: center;\n gap: var(--sizes-xs);\n}\n._mainContent_1cokg_586 svg {\n width: var(--button-icon-size);\n height: var(--button-icon-size);\n}\n\n._hasText_1cokg_374 ._mainContent_1cokg_586 {\n gap: var(--sizes-sm);\n}\n\n._mainContent_1cokg_586._loading_1cokg_600 {\n opacity: 0;\n}\n\n._loadingWrapper_1cokg_604 {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-left: 0;\n}");
4
+ var styles = {"heading-xxl":"_heading-xxl_1cokg_1","heading-xl":"_heading-xl_1cokg_12","heading-large":"_heading-large_1cokg_23","heading-medium":"_heading-medium_1cokg_34","heading-small":"_heading-small_1cokg_45","heading-table":"_heading-table_1cokg_56","subheading-large":"_subheading-large_1cokg_67","subheading-medium":"_subheading-medium_1cokg_78","subheading-small":"_subheading-small_1cokg_89","subheading-small-bold":"_subheading-small-bold_1cokg_100","body":"_body_1cokg_111","body-small":"_body-small_1cokg_122","body-bold":"_body-bold_1cokg_133","body-bold-dark":"_body-bold-dark_1cokg_144","body-small-bold":"_body-small-bold_1cokg_155","button":"_button_1cokg_166","button-small":"_button-small_1cokg_177","link-large":"_link-large_1cokg_188","link-medium":"_link-medium_1cokg_199","link":"_link_1cokg_188","link-small":"_link-small_1cokg_221","input-label":"_input-label_1cokg_232","input-label-small":"_input-label-small_1cokg_243","hint-text":"_hint-text_1cokg_254","placeholder":"_placeholder_1cokg_265","placeholder-small":"_placeholder-small_1cokg_276","placeholder-code":"_placeholder-code_1cokg_287","placeholder-code-small":"_placeholder-code-small_1cokg_298","error":"_error_1cokg_309","error-small":"_error-small_1cokg_320","success-small":"_success-small_1cokg_331","base":"_base_1cokg_342","base-size":"_base-size_1cokg_364","hasText":"_hasText_1cokg_374","hasIcon":"_hasIcon_1cokg_379","hasDropdown":"_hasDropdown_1cokg_383","sm-size":"_sm-size_1cokg_387","default-variant":"_default-variant_1cokg_410","destructive-variant":"_destructive-variant_1cokg_442","primary-variant":"_primary-variant_1cokg_469","primaryDestructive-variant":"_primaryDestructive-variant_1cokg_495","flat-variant":"_flat-variant_1cokg_521","link-variant":"_link-variant_1cokg_542","unstyled-variant":"_unstyled-variant_1cokg_575","mainContent":"_mainContent_1cokg_586","loading":"_loading_1cokg_600","loadingWrapper":"_loadingWrapper_1cokg_604"};
5
+
6
+ export { styles as default };
7
+ //# sourceMappingURL=Button.module.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.module.scss.js","sources":["../../../src/components/Button/Button.module.scss"],"sourcesContent":["@use '../../theme/scss/text.module.scss' as text;\n\n// Base class (shared by default, primary, destructive, primaryDestructive, flat)\n\n.base {\n position: relative;\n box-sizing: border-box;\n appearance: none;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n font-family: var(--font-family);\n font-weight: 400;\n border: 1px solid;\n background-color: transparent;\n white-space: nowrap;\n\n &:hover {\n cursor: pointer;\n }\n\n &:disabled {\n pointer-events: none;\n cursor: unset !important;\n }\n}\n\n// Size classes\n\n.base-size {\n --outline-width: var(--sizes-xs);\n\n height: var(--sizes-10);\n padding-left: var(--sizes-sm);\n padding-right: var(--sizes-sm);\n border-radius: var(--radius-md);\n font-size: var(--sizes-base);\n line-height: var(--sizes-base);\n}\n\n.base-size.hasText {\n padding-left: var(--sizes-md);\n padding-right: var(--sizes-md);\n}\n\n.base-size.hasText.hasIcon {\n padding-left: var(--sizes-base);\n}\n\n.base-size.hasText.hasDropdown {\n padding-right: var(--sizes-base);\n}\n\n.sm-size {\n --outline-width: 2px;\n\n height: var(--sizes-lg);\n padding-left: var(--sizes-sm);\n padding-right: var(--sizes-sm);\n border-radius: var(--radius-base);\n font-size: var(--text-body-font-size);\n line-height: var(--text-body-font-size); // intentionally matches font-size for button height control\n}\n\n.sm-size.hasText {\n padding-left: var(--sizes-base);\n padding-right: var(--sizes-base);\n}\n\n.sm-size.hasText.hasIcon {\n padding-left: var(--sizes-sm);\n}\n\n.sm-size.hasText.hasDropdown {\n padding-right: var(--sizes-sm);\n}\n\n// Variant: default\n\n.default-variant {\n border-color: var(--colors-neutral-grey-dark);\n background-color: white;\n box-shadow: 0 1px 3px rgba(55, 66, 77, 0.15);\n\n &:hover {\n background-color: var(--colors-neutral-grey-lightest);\n }\n\n &:active {\n background-color: var(--colors-neutral-grey-lightest);\n border-color: var(--colors-secondary-blue-base);\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-blue-light);\n }\n\n &:focus-visible {\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-blue-light);\n outline: 0;\n }\n\n &:disabled {\n box-shadow: none !important;\n background-color: var(--colors-neutral-grey-base) !important;\n border-color: var(--colors-neutral-grey-base) !important;\n color: var(--colors-neutral-ink-light) !important;\n }\n}\n\n// Default variant conditional color based on hasText\n.default-variant.hasText {\n color: var(--colors-neutral-ink-base);\n}\n\n.default-variant:not(.hasText) {\n color: var(--colors-secondary-blue-base);\n}\n\n// Variant: destructive (extends default visually)\n\n.destructive-variant {\n border-color: var(--colors-neutral-grey-dark);\n background-color: white;\n box-shadow: 0 1px 3px rgba(55, 66, 77, 0.15);\n color: var(--colors-secondary-red-base);\n\n &:hover {\n background-color: var(--colors-neutral-grey-lightest);\n color: var(--colors-secondary-red-dark);\n }\n\n &:active {\n background-color: var(--colors-neutral-grey-lightest);\n border-color: var(--colors-secondary-red-base);\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-red-light);\n color: var(--colors-secondary-red-dark);\n }\n\n &:focus-visible {\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-red-light);\n outline: 0;\n }\n\n &:disabled {\n box-shadow: none !important;\n background-color: var(--colors-neutral-grey-base) !important;\n border-color: var(--colors-neutral-grey-base) !important;\n color: var(--colors-neutral-ink-light) !important;\n }\n}\n\n// Variant: primary\n\n.primary-variant {\n background-color: var(--theme-primary, var(--colors-secondary-blue-base));\n border-color: var(--theme-primary, var(--colors-secondary-blue-base));\n color: var(--theme-on-primary, white);\n box-shadow: 0 1px 3px rgba(55, 66, 77, 0.15);\n\n &:hover {\n background-color: var(--theme-primary-hover, var(--colors-secondary-blue-dark));\n border-color: var(--theme-primary-hover, var(--colors-secondary-blue-dark));\n }\n\n &:active {\n background-color: var(--theme-primary-hover, var(--colors-secondary-blue-dark));\n border-color: var(--theme-primary-hover, var(--colors-secondary-blue-dark));\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-blue-light);\n }\n\n &:focus-visible {\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-blue-light);\n outline: 0;\n }\n\n &:disabled {\n box-shadow: none !important;\n background-color: var(--colors-neutral-grey-base) !important;\n border-color: var(--colors-neutral-grey-base) !important;\n color: var(--colors-neutral-ink-light) !important;\n }\n}\n\n// Variant: primaryDestructive\n\n.primaryDestructive-variant {\n background-color: var(--colors-secondary-red-base);\n border-color: var(--colors-secondary-red-base);\n color: white;\n box-shadow: 0 1px 3px rgba(55, 66, 77, 0.15);\n\n &:hover {\n background-color: var(--colors-secondary-red-dark);\n border-color: var(--colors-secondary-red-dark);\n }\n\n &:active {\n background-color: var(--colors-secondary-red-dark);\n border-color: var(--colors-secondary-red-dark);\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-red-light);\n }\n\n &:focus-visible {\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-red-light);\n outline: 0;\n }\n\n &:disabled {\n box-shadow: none !important;\n background-color: var(--colors-neutral-grey-base) !important;\n border-color: var(--colors-neutral-grey-base) !important;\n color: var(--colors-neutral-ink-light) !important;\n }\n}\n\n// Variant: flat\n\n.flat-variant {\n border-color: transparent;\n box-shadow: none;\n color: var(--colors-neutral-ink-base);\n\n &:hover {\n background-color: var(--colors-neutral-grey-light);\n }\n\n &:active {\n background-color: var(--colors-neutral-grey-light);\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-blue-light);\n }\n\n &:focus-visible {\n box-shadow: 0 0 0 var(--outline-width) var(--colors-secondary-blue-light);\n outline: 0;\n }\n\n &:disabled {\n background-color: transparent;\n border-color: transparent;\n }\n}\n\n// Variant: link (standalone — does NOT use .base)\n\n.link-variant {\n appearance: none;\n border: 0;\n background-color: transparent;\n padding: 0;\n font: inherit;\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n\n @include text.link;\n\n // Override mixin's letter-spacing: the SC version never set it\n letter-spacing: normal;\n color: var(--colors-secondary-blue-base);\n\n &:hover {\n cursor: pointer;\n color: var(--colors-secondary-blue-dark);\n }\n\n & > * + * {\n margin-left: var(--sizes-xs);\n }\n\n &:focus-visible {\n outline: 0;\n box-shadow:\n 0 0 0 4px white,\n 0 0 0 8px var(--colors-secondary-blue-light);\n border-radius: 4px;\n }\n}\n\n// Variant: unstyled (standalone — does NOT use .base)\n\n.unstyled-variant {\n appearance: none;\n border: 0;\n background-color: transparent;\n padding: 0;\n font: inherit;\n\n &:hover {\n cursor: pointer;\n }\n}\n\n// Sub-elements\n\n.mainContent {\n display: inline-flex;\n align-items: center;\n gap: var(--sizes-xs);\n\n svg {\n width: var(--button-icon-size);\n height: var(--button-icon-size);\n }\n}\n\n.hasText .mainContent {\n gap: var(--sizes-sm);\n}\n\n.mainContent.loading {\n opacity: 0;\n}\n\n.loadingWrapper {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-left: 0;\n}\n"],"names":["___$insertStyle"],"mappings":";;AAGEA,WAAA,CAAA,kqsBAAA;AACA,aAAA,CAAA,aAAA,CAAA,sBAAA,CAAA,YAAA,CAAA,sBAAA,CAAA,eAAA,CAAA,yBAAA,CAAA,gBAAA,CAAA,0BAAA,CAAA,eAAA,CAAA,yBAAA,CAAA,eAAA,CAAA,yBAAA,CAAA,kBAAA,CAAA,4BAAA,CAAA,mBAAA,CAAA,6BAAA,CAAA,kBAAA,CAAA,4BAAA,CAAA,uBAAA,CAAA,kCAAA,CAAA,MAAA,CAAA,iBAAA,CAAA,YAAA,CAAA,uBAAA,CAAA,WAAA,CAAA,sBAAA,CAAA,gBAAA,CAAA,2BAAA,CAAA,iBAAA,CAAA,4BAAA,CAAA,QAAA,CAAA,mBAAA,CAAA,cAAA,CAAA,yBAAA,CAAA,YAAA,CAAA,uBAAA,CAAA,aAAA,CAAA,wBAAA,CAAA,MAAA,CAAA,iBAAA,CAAA,YAAA,CAAA,uBAAA,CAAA,aAAA,CAAA,wBAAA,CAAA,mBAAA,CAAA,8BAAA,CAAA,WAAA,CAAA,sBAAA,CAAA,aAAA,CAAA,wBAAA,CAAA,mBAAA,CAAA,8BAAA,CAAA,kBAAA,CAAA,6BAAA,CAAA,wBAAA,CAAA,mCAAA,CAAA,OAAA,CAAA,kBAAA,CAAA,aAAA,CAAA,wBAAA,CAAA,eAAA,CAAA,0BAAA,CAAA,MAAA,CAAA,iBAAA,CAAA,WAAA,CAAA,sBAAA,CAAA,SAAA,CAAA,oBAAA,CAAA,SAAA,CAAA,oBAAA,CAAA,aAAA,CAAA,wBAAA,CAAA,SAAA,CAAA,oBAAA,CAAA,iBAAA,CAAA,4BAAA,CAAA,qBAAA,CAAA,gCAAA,CAAA,iBAAA,CAAA,4BAAA,CAAA,4BAAA,CAAA,uCAAA,CAAA,cAAA,CAAA,yBAAA,CAAA,cAAA,CAAA,yBAAA,CAAA,kBAAA,CAAA,6BAAA,CAAA,aAAA,CAAA,wBAAA,CAAA,SAAA,CAAA,oBAAA,CAAA,gBAAA,CAAA,2BAAA;;;;"}
@@ -1,4 +1,4 @@
1
- import { ReactNode, ButtonHTMLAttributes, ReactElement, CSSProperties } from 'react';
1
+ import { ReactNode, ButtonHTMLAttributes, ReactElement, CSSProperties, ElementType } from 'react';
2
2
  import { WithTokensProps } from '../../hoc/withTokens/withTokens';
3
3
  export type ButtonVariant = 'default' | 'destructive' | 'primary' | 'primaryDestructive' | 'flat' | 'link' | 'unstyled';
4
4
  /**
@@ -18,4 +18,12 @@ export type ButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & WithTokensPr
18
18
  loading?: boolean;
19
19
  /** Additional styles for mainContent */
20
20
  contentStyles?: CSSProperties;
21
+ /** Render as a different element type (e.g. 'a' for links) */
22
+ as?: ElementType;
23
+ /** URL when rendered as an anchor (use with as="a") */
24
+ href?: string;
25
+ /** Link target (use with as="a") */
26
+ target?: string;
27
+ /** Link rel attribute (use with as="a") */
28
+ rel?: string;
21
29
  };
@@ -296,6 +296,7 @@ export declare const DimensionsInput: React.ForwardRefExoticComponent<{
296
296
  type?: import("../TextField").TextFieldType | undefined;
297
297
  onChange?: ((value: string) => void) | undefined;
298
298
  hasError?: boolean | undefined;
299
+ disabledMessage?: React.ReactNode;
299
300
  size?: "base" | "sm" | undefined;
300
301
  multiline?: boolean | undefined;
301
302
  } & {
@@ -14,6 +14,10 @@ export declare const PaginationButton: import("styled-components").StyledCompone
14
14
  dropdown?: boolean | undefined;
15
15
  loading?: boolean | undefined;
16
16
  contentStyles?: import("react").CSSProperties | undefined;
17
+ as?: import("react").ElementType | undefined;
18
+ href?: string | undefined;
19
+ target?: string | undefined;
20
+ rel?: string | undefined;
17
21
  } & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("../../hoc/withTokens").WithTokensProps & import("react").RefAttributes<HTMLButtonElement>>, any, {}, never>;
18
22
  export declare const PageInput: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<Omit<{
19
23
  rel?: string | undefined;
@@ -312,6 +316,7 @@ export declare const PageInput: import("styled-components").StyledComponent<impo
312
316
  type?: import("../TextField").TextFieldType | undefined;
313
317
  onChange?: ((value: string) => void) | undefined;
314
318
  hasError?: boolean | undefined;
319
+ disabledMessage?: import("react").ReactNode;
315
320
  size?: "base" | "sm" | undefined;
316
321
  multiline?: boolean | undefined;
317
322
  } & import("react").RefAttributes<HTMLInputElement> & import("../../hoc/withLabels/withLabels").WithLabelsProps, "ref"> & import("react").RefAttributes<unknown>>, any, {}, never>;
@@ -296,6 +296,7 @@ export declare const PhoneInput: import("react").ForwardRefExoticComponent<{
296
296
  type?: import("..").TextFieldType | undefined;
297
297
  onChange?: ((value: string) => void) | undefined;
298
298
  hasError?: boolean | undefined;
299
+ disabledMessage?: import("react").ReactNode;
299
300
  size?: "base" | "sm" | undefined;
300
301
  multiline?: boolean | undefined;
301
302
  } & {
@@ -296,6 +296,7 @@ export declare const Search: React.ForwardRefExoticComponent<{
296
296
  type?: import("..").TextFieldType | undefined;
297
297
  onChange?: ((value: string) => void) | undefined;
298
298
  hasError?: boolean | undefined;
299
+ disabledMessage?: React.ReactNode;
299
300
  size?: "base" | "sm" | undefined;
300
301
  multiline?: boolean | undefined;
301
302
  } & {
@@ -297,6 +297,7 @@ declare const Input: import("styled-components").StyledComponent<import("react")
297
297
  type?: import("../TextField").TextFieldType | undefined;
298
298
  onChange?: ((value: string) => void) | undefined;
299
299
  hasError?: boolean | undefined;
300
+ disabledMessage?: import("react").ReactNode;
300
301
  size?: "base" | "sm" | undefined;
301
302
  multiline?: boolean | undefined;
302
303
  } & import("react").RefAttributes<HTMLInputElement> & import("../../hoc/withLabels/withLabels").WithLabelsProps, "ref"> & import("react").RefAttributes<unknown>>, any, {}, never>;
@@ -1,20 +1,37 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var styled = require('./styled.cjs');
5
4
  var withLabels = require('../../hoc/withLabels/withLabels.cjs');
5
+ var buildClassnames = require('../../utils/buildClassnames.cjs');
6
+ require('uid/secure');
7
+ var form_module = require('../../utils/forms/form.module.scss.cjs');
8
+ var Select_module = require('./Select.module.scss.cjs');
6
9
 
7
10
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
8
11
 
9
12
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
10
13
 
11
- const Select = withLabels.withLabels(React.forwardRef(({ className, options, value, onChange, size, disabled, hasError, ...otherProps }, ref) => {
14
+ const Select = withLabels.withLabels(React.forwardRef(({ className, options, value, onChange, size, disabled, disabledMessage, hasError, id, ...otherProps }, ref) => {
12
15
  const handleChange = React.useCallback((e) => {
13
16
  if (!onChange)
14
17
  return;
15
18
  onChange(e.currentTarget.value);
16
19
  }, [onChange]);
17
- return (React__default.default.createElement(styled.SelectInput, { className: className, compact: size === 'sm', value: value !== null && value !== void 0 ? value : undefined, onChange: handleChange, disabled: disabled, hasError: hasError, ref: ref, ...otherProps }, !!options &&
20
+ const getAriaDescribedBy = () => {
21
+ if (hasError && id)
22
+ return `${id}-error`;
23
+ if (disabledMessage && id)
24
+ return `${id}-disabled`;
25
+ return undefined;
26
+ };
27
+ return (React__default.default.createElement("select", { className: buildClassnames.buildClassnames([
28
+ form_module.base,
29
+ form_module.fullStyles,
30
+ Select_module.select,
31
+ size === 'sm' && form_module.compact,
32
+ hasError && form_module.error,
33
+ className,
34
+ ]), id: id, value: value !== null && value !== void 0 ? value : undefined, onChange: handleChange, disabled: disabled, "aria-describedby": getAriaDescribedBy(), ref: ref, ...otherProps }, !!options &&
18
35
  options.map((option) => (React__default.default.createElement("option", { key: option.label, value: option.value, disabled: option.disabled, hidden: option.hidden }, option.label)))));
19
36
  }));
20
37
  Select.displayName = 'Select';
@@ -1 +1 @@
1
- {"version":3,"file":"Select.cjs","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, { ChangeEvent, forwardRef, useCallback } from 'react';\n\nimport { SelectInput } from './styled';\nimport { withLabels } from '../../hoc';\n\nexport type SelectOption = {\n label: string;\n value: string;\n disabled?: boolean;\n hidden?: boolean;\n};\n\nexport interface SelectProps\n extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, 'size' | 'onChange'> {\n id?: string;\n className?: string;\n options: Array<SelectOption>;\n value?: string;\n size?: 'sm' | 'base';\n disabled?: boolean;\n hasError?: boolean;\n onChange?: (value: string) => void;\n}\n\nexport const Select = withLabels(\n forwardRef<HTMLSelectElement, SelectProps>(\n (\n { className, options, value, onChange, size, disabled, hasError, ...otherProps }: SelectProps,\n ref,\n ) => {\n const handleChange = useCallback(\n (e: ChangeEvent<HTMLSelectElement>) => {\n if (!onChange) return;\n onChange(e.currentTarget.value);\n },\n [onChange],\n );\n\n return (\n <SelectInput\n className={className}\n compact={size === 'sm'}\n value={value ?? undefined}\n onChange={handleChange}\n disabled={disabled}\n hasError={hasError}\n ref={ref}\n {...otherProps}\n >\n {!!options &&\n options.map((option) => (\n <option\n key={option.label}\n value={option.value}\n disabled={option.disabled}\n hidden={option.hidden}\n >\n {option.label}\n </option>\n ))}\n </SelectInput>\n );\n },\n ),\n);\n\nSelect.displayName = 'Select';\n"],"names":["withLabels","forwardRef","useCallback","React","SelectInput"],"mappings":";;;;;;;;;;AAwBO,MAAM,MAAM,GAAGA,qBAAU,CAC9BC,gBAAU,CACR,CACE,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAe,EAC7F,GAAG,KACD;AACF,IAAA,MAAM,YAAY,GAAGC,iBAAW,CAC9B,CAAC,CAAiC,KAAI;AACpC,QAAA,IAAI,CAAC,QAAQ;YAAE;AACf,QAAA,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;AACjC,IAAA,CAAC,EACD,CAAC,QAAQ,CAAC,CACX;IAED,QACEC,qCAACC,kBAAW,EAAA,EACV,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,IAAI,KAAK,IAAI,EACtB,KAAK,EAAE,KAAK,KAAA,IAAA,IAAL,KAAK,cAAL,KAAK,GAAI,SAAS,EACzB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,GAAG,EAAA,GACJ,UAAU,EAAA,EAEb,CAAC,CAAC,OAAO;AACR,QAAA,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,MACjBD,iDACE,GAAG,EAAE,MAAM,CAAC,KAAK,EACjB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAA,EAEpB,MAAM,CAAC,KAAK,CACN,CACV,CAAC,CACQ;AAElB,CAAC,CACF;AAGH,MAAM,CAAC,WAAW,GAAG,QAAQ;;;;"}
1
+ {"version":3,"file":"Select.cjs","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, { ChangeEvent, forwardRef, useCallback } from 'react';\n\nimport { withLabels } from '../../hoc';\nimport { buildClassnames } from '../../utils';\n\nimport formStyles from '../../utils/forms/form.module.scss';\nimport styles from './Select.module.scss';\n\nexport type SelectOption = {\n label: string;\n value: string;\n disabled?: boolean;\n hidden?: boolean;\n};\n\nexport interface SelectProps\n extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, 'size' | 'onChange'> {\n id?: string;\n className?: string;\n /** Array of options to render in the select dropdown. */\n options: Array<SelectOption>;\n /** Currently selected value. */\n value?: string;\n /** Component size variant. Defaults to `'base'`. */\n size?: 'sm' | 'base';\n /** Disables the select element. */\n disabled?: boolean;\n /**\n * When provided, links the select to the disabled message element via `aria-describedby`.\n * Passed through from `withLabels` — the HOC renders the visible message and sets `disabled`.\n */\n disabledMessage?: React.ReactNode;\n /** When true, applies error styling. Used with `withLabels` to display an error message. */\n hasError?: boolean;\n /** Callback fired with the new value on change. */\n onChange?: (value: string) => void;\n}\n\nexport const Select = withLabels(\n forwardRef<HTMLSelectElement, SelectProps>(\n (\n {\n className,\n options,\n value,\n onChange,\n size,\n disabled,\n disabledMessage,\n hasError,\n id,\n ...otherProps\n }: SelectProps,\n ref,\n ) => {\n const handleChange = useCallback(\n (e: ChangeEvent<HTMLSelectElement>) => {\n if (!onChange) return;\n onChange(e.currentTarget.value);\n },\n [onChange],\n );\n\n const getAriaDescribedBy = () => {\n if (hasError && id) return `${id}-error`;\n if (disabledMessage && id) return `${id}-disabled`;\n return undefined;\n };\n\n return (\n <select\n className={buildClassnames([\n formStyles.base,\n formStyles.fullStyles,\n styles.select,\n size === 'sm' && formStyles.compact,\n hasError && formStyles.error,\n className,\n ])}\n id={id}\n value={value ?? undefined}\n onChange={handleChange}\n disabled={disabled}\n aria-describedby={getAriaDescribedBy()}\n ref={ref}\n {...otherProps}\n >\n {!!options &&\n options.map((option) => (\n <option\n key={option.label}\n value={option.value}\n disabled={option.disabled}\n hidden={option.hidden}\n >\n {option.label}\n </option>\n ))}\n </select>\n );\n },\n ),\n);\n\nSelect.displayName = 'Select';\n"],"names":["withLabels","forwardRef","useCallback","React","buildClassnames","formStyles","styles"],"mappings":";;;;;;;;;;;;;AAsCO,MAAM,MAAM,GAAGA,qBAAU,CAC9BC,gBAAU,CACR,CACE,EACE,SAAS,EACT,OAAO,EACP,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,EAAE,EACF,GAAG,UAAU,EACD,EACd,GAAG,KACD;AACF,IAAA,MAAM,YAAY,GAAGC,iBAAW,CAC9B,CAAC,CAAiC,KAAI;AACpC,QAAA,IAAI,CAAC,QAAQ;YAAE;AACf,QAAA,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;AACjC,IAAA,CAAC,EACD,CAAC,QAAQ,CAAC,CACX;IAED,MAAM,kBAAkB,GAAG,MAAK;QAC9B,IAAI,QAAQ,IAAI,EAAE;YAAE,OAAO,CAAA,EAAG,EAAE,CAAA,MAAA,CAAQ;QACxC,IAAI,eAAe,IAAI,EAAE;YAAE,OAAO,CAAA,EAAG,EAAE,CAAA,SAAA,CAAW;AAClD,QAAA,OAAO,SAAS;AAClB,IAAA,CAAC;AAED,IAAA,QACEC,sBAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EACE,SAAS,EAAEC,+BAAe,CAAC;AACzB,YAAAC,WAAU,CAAC,IAAI;AACf,YAAAA,WAAU,CAAC,UAAU;AACrB,YAAAC,aAAM,CAAC,MAAM;AACb,YAAA,IAAI,KAAK,IAAI,IAAID,WAAU,CAAC,OAAO;YACnC,QAAQ,IAAIA,WAAU,CAAC,KAAK;YAC5B,SAAS;AACV,SAAA,CAAC,EACF,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,MAAA,GAAL,KAAK,GAAI,SAAS,EACzB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,QAAQ,EAAA,kBAAA,EACA,kBAAkB,EAAE,EACtC,GAAG,EAAE,GAAG,EAAA,GACJ,UAAU,EAAA,EAEb,CAAC,CAAC,OAAO;AACR,QAAA,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,MACjBF,iDACE,GAAG,EAAE,MAAM,CAAC,KAAK,EACjB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAA,EAEpB,MAAM,CAAC,KAAK,CACN,CACV,CAAC,CACG;AAEb,CAAC,CACF;AAGH,MAAM,CAAC,WAAW,GAAG,QAAQ;;;;"}
@@ -8,11 +8,22 @@ export type SelectOption = {
8
8
  export interface SelectProps extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, 'size' | 'onChange'> {
9
9
  id?: string;
10
10
  className?: string;
11
+ /** Array of options to render in the select dropdown. */
11
12
  options: Array<SelectOption>;
13
+ /** Currently selected value. */
12
14
  value?: string;
15
+ /** Component size variant. Defaults to `'base'`. */
13
16
  size?: 'sm' | 'base';
17
+ /** Disables the select element. */
14
18
  disabled?: boolean;
19
+ /**
20
+ * When provided, links the select to the disabled message element via `aria-describedby`.
21
+ * Passed through from `withLabels` — the HOC renders the visible message and sets `disabled`.
22
+ */
23
+ disabledMessage?: React.ReactNode;
24
+ /** When true, applies error styling. Used with `withLabels` to display an error message. */
15
25
  hasError?: boolean;
26
+ /** Callback fired with the new value on change. */
16
27
  onChange?: (value: string) => void;
17
28
  }
18
29
  export declare const Select: React.ForwardRefExoticComponent<Omit<SelectProps & React.RefAttributes<HTMLSelectElement> & import("../../hoc/withLabels/withLabels").WithLabelsProps, "ref"> & React.RefAttributes<unknown>>;