@veeqo/ui 14.11.0-beta-3 → 14.11.0-beta-4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Action/utils.cjs +1 -1
- package/dist/components/Action/utils.cjs.map +1 -1
- package/dist/components/Action/utils.js +1 -1
- package/dist/components/Action/utils.js.map +1 -1
- package/dist/components/Button/Button.cjs +5 -9
- package/dist/components/Button/Button.cjs.map +1 -1
- package/dist/components/Button/Button.d.ts +3 -2
- package/dist/components/Button/Button.js +5 -9
- package/dist/components/Button/Button.js.map +1 -1
- package/package.json +1 -1
|
@@ -14,7 +14,7 @@ const getButtonVariantClasses = (variant) => [
|
|
|
14
14
|
].filter(Boolean);
|
|
15
15
|
const getAppearanceClasses = (appearance, props) => {
|
|
16
16
|
const hasIcon = !!props.iconSlot;
|
|
17
|
-
const isIconOnly = hasIcon &&
|
|
17
|
+
const isIconOnly = hasIcon && (props.children == null || props.children === '');
|
|
18
18
|
const iconClasses = [
|
|
19
19
|
hasIcon && !isIconOnly && button_module.icon,
|
|
20
20
|
isIconOnly && button_module.iconOnly,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.cjs","sources":["../../../src/components/Action/utils.ts"],"sourcesContent":["import React from 'react';\nimport { buildClassnames } from '../../utils';\nimport baseStyles from './styles/base.module.scss';\nimport buttonStyles from './styles/button.module.scss';\nimport linkStyles from './styles/link.module.scss';\nimport { ActionAppearance, ActionSize, ActionVariant } from './types';\n\ntype AppearanceClassProps = {\n className?: string;\n variant?: ActionVariant;\n disabled?: boolean;\n size?: ActionSize;\n dropdown?: boolean;\n iconSlot?: React.ReactNode;\n children?: React.ReactNode;\n};\n\nexport const getButtonVariantClasses = (variant?: ActionVariant) =>\n [\n (variant === 'primary' || variant === 'primaryDestructive') && buttonStyles['primary-variant'],\n (variant === 'destructive' || variant === 'primaryDestructive') &&\n buttonStyles['destructive-variant'],\n variant === 'flat' && buttonStyles['flat-variant'],\n ].filter(Boolean);\n\nexport const getAppearanceClasses = (appearance: ActionAppearance, props: AppearanceClassProps) => {\n const hasIcon = !!props.iconSlot;\n const isIconOnly = hasIcon &&
|
|
1
|
+
{"version":3,"file":"utils.cjs","sources":["../../../src/components/Action/utils.ts"],"sourcesContent":["import React from 'react';\nimport { buildClassnames } from '../../utils';\nimport baseStyles from './styles/base.module.scss';\nimport buttonStyles from './styles/button.module.scss';\nimport linkStyles from './styles/link.module.scss';\nimport { ActionAppearance, ActionSize, ActionVariant } from './types';\n\ntype AppearanceClassProps = {\n className?: string;\n variant?: ActionVariant;\n disabled?: boolean;\n size?: ActionSize;\n dropdown?: boolean;\n iconSlot?: React.ReactNode;\n children?: React.ReactNode;\n};\n\nexport const getButtonVariantClasses = (variant?: ActionVariant) =>\n [\n (variant === 'primary' || variant === 'primaryDestructive') && buttonStyles['primary-variant'],\n (variant === 'destructive' || variant === 'primaryDestructive') &&\n buttonStyles['destructive-variant'],\n variant === 'flat' && buttonStyles['flat-variant'],\n ].filter(Boolean);\n\nexport const getAppearanceClasses = (appearance: ActionAppearance, props: AppearanceClassProps) => {\n const hasIcon = !!props.iconSlot;\n const isIconOnly = hasIcon && (props.children == null || props.children === '');\n const iconClasses = [\n hasIcon && !isIconOnly && buttonStyles.icon,\n isIconOnly && buttonStyles.iconOnly,\n ];\n\n switch (appearance) {\n case 'button':\n return buildClassnames([\n props.className,\n baseStyles.reset,\n buttonStyles.base,\n ...iconClasses,\n props.disabled && buttonStyles.disabled,\n props.size && props.size !== 'base' && buttonStyles[`${props.size}-size`],\n props.dropdown && buttonStyles.dropdown,\n ...getButtonVariantClasses(props.variant),\n ]);\n case 'link':\n return buildClassnames([\n props.className,\n baseStyles.reset,\n linkStyles.base,\n !props.size && linkStyles['inherit-size'],\n props.size && props.size !== 'base' && linkStyles[`${props.size}-size`],\n ]);\n default:\n return buildClassnames([props.className, baseStyles.reset]);\n }\n};\n"],"names":["buttonStyles","buildClassnames","baseStyles","linkStyles"],"mappings":";;;;;;;;MAiBa,uBAAuB,GAAG,CAAC,OAAuB,KAC7D;AACE,IAAA,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,oBAAoB,KAAKA,aAAY,CAAC,iBAAiB,CAAC;AAC9F,IAAA,CAAC,OAAO,KAAK,aAAa,IAAI,OAAO,KAAK,oBAAoB;QAC5DA,aAAY,CAAC,qBAAqB,CAAC;AACrC,IAAA,OAAO,KAAK,MAAM,IAAIA,aAAY,CAAC,cAAc,CAAC;AACnD,CAAA,CAAC,MAAM,CAAC,OAAO;MAEL,oBAAoB,GAAG,CAAC,UAA4B,EAAE,KAA2B,KAAI;AAChG,IAAA,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ;AAChC,IAAA,MAAM,UAAU,GAAG,OAAO,KAAK,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,EAAE,CAAC;AAC/E,IAAA,MAAM,WAAW,GAAG;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,IAAIA,aAAY,CAAC,IAAI;QAC3C,UAAU,IAAIA,aAAY,CAAC,QAAQ;KACpC;AAED,IAAA,QAAQ,UAAU;AAChB,QAAA,KAAK,QAAQ;AACX,YAAA,OAAOC,+BAAe,CAAC;AACrB,gBAAA,KAAK,CAAC,SAAS;AACf,gBAAAC,WAAU,CAAC,KAAK;AAChB,gBAAAF,aAAY,CAAC,IAAI;AACjB,gBAAA,GAAG,WAAW;AACd,gBAAA,KAAK,CAAC,QAAQ,IAAIA,aAAY,CAAC,QAAQ;AACvC,gBAAA,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAIA,aAAY,CAAC,CAAA,EAAG,KAAK,CAAC,IAAI,OAAO,CAAC;AACzE,gBAAA,KAAK,CAAC,QAAQ,IAAIA,aAAY,CAAC,QAAQ;AACvC,gBAAA,GAAG,uBAAuB,CAAC,KAAK,CAAC,OAAO,CAAC;AAC1C,aAAA,CAAC;AACJ,QAAA,KAAK,MAAM;AACT,YAAA,OAAOC,+BAAe,CAAC;AACrB,gBAAA,KAAK,CAAC,SAAS;AACf,gBAAAC,WAAU,CAAC,KAAK;AAChB,gBAAAC,WAAU,CAAC,IAAI;AACf,gBAAA,CAAC,KAAK,CAAC,IAAI,IAAIA,WAAU,CAAC,cAAc,CAAC;AACzC,gBAAA,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAIA,WAAU,CAAC,CAAA,EAAG,KAAK,CAAC,IAAI,OAAO,CAAC;AACxE,aAAA,CAAC;AACJ,QAAA;AACE,YAAA,OAAOF,+BAAe,CAAC,CAAC,KAAK,CAAC,SAAS,EAAEC,WAAU,CAAC,KAAK,CAAC,CAAC;AAC9D;AACH;;;;;"}
|
|
@@ -12,7 +12,7 @@ const getButtonVariantClasses = (variant) => [
|
|
|
12
12
|
].filter(Boolean);
|
|
13
13
|
const getAppearanceClasses = (appearance, props) => {
|
|
14
14
|
const hasIcon = !!props.iconSlot;
|
|
15
|
-
const isIconOnly = hasIcon &&
|
|
15
|
+
const isIconOnly = hasIcon && (props.children == null || props.children === '');
|
|
16
16
|
const iconClasses = [
|
|
17
17
|
hasIcon && !isIconOnly && buttonStyles.icon,
|
|
18
18
|
isIconOnly && buttonStyles.iconOnly,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../src/components/Action/utils.ts"],"sourcesContent":["import React from 'react';\nimport { buildClassnames } from '../../utils';\nimport baseStyles from './styles/base.module.scss';\nimport buttonStyles from './styles/button.module.scss';\nimport linkStyles from './styles/link.module.scss';\nimport { ActionAppearance, ActionSize, ActionVariant } from './types';\n\ntype AppearanceClassProps = {\n className?: string;\n variant?: ActionVariant;\n disabled?: boolean;\n size?: ActionSize;\n dropdown?: boolean;\n iconSlot?: React.ReactNode;\n children?: React.ReactNode;\n};\n\nexport const getButtonVariantClasses = (variant?: ActionVariant) =>\n [\n (variant === 'primary' || variant === 'primaryDestructive') && buttonStyles['primary-variant'],\n (variant === 'destructive' || variant === 'primaryDestructive') &&\n buttonStyles['destructive-variant'],\n variant === 'flat' && buttonStyles['flat-variant'],\n ].filter(Boolean);\n\nexport const getAppearanceClasses = (appearance: ActionAppearance, props: AppearanceClassProps) => {\n const hasIcon = !!props.iconSlot;\n const isIconOnly = hasIcon &&
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../src/components/Action/utils.ts"],"sourcesContent":["import React from 'react';\nimport { buildClassnames } from '../../utils';\nimport baseStyles from './styles/base.module.scss';\nimport buttonStyles from './styles/button.module.scss';\nimport linkStyles from './styles/link.module.scss';\nimport { ActionAppearance, ActionSize, ActionVariant } from './types';\n\ntype AppearanceClassProps = {\n className?: string;\n variant?: ActionVariant;\n disabled?: boolean;\n size?: ActionSize;\n dropdown?: boolean;\n iconSlot?: React.ReactNode;\n children?: React.ReactNode;\n};\n\nexport const getButtonVariantClasses = (variant?: ActionVariant) =>\n [\n (variant === 'primary' || variant === 'primaryDestructive') && buttonStyles['primary-variant'],\n (variant === 'destructive' || variant === 'primaryDestructive') &&\n buttonStyles['destructive-variant'],\n variant === 'flat' && buttonStyles['flat-variant'],\n ].filter(Boolean);\n\nexport const getAppearanceClasses = (appearance: ActionAppearance, props: AppearanceClassProps) => {\n const hasIcon = !!props.iconSlot;\n const isIconOnly = hasIcon && (props.children == null || props.children === '');\n const iconClasses = [\n hasIcon && !isIconOnly && buttonStyles.icon,\n isIconOnly && buttonStyles.iconOnly,\n ];\n\n switch (appearance) {\n case 'button':\n return buildClassnames([\n props.className,\n baseStyles.reset,\n buttonStyles.base,\n ...iconClasses,\n props.disabled && buttonStyles.disabled,\n props.size && props.size !== 'base' && buttonStyles[`${props.size}-size`],\n props.dropdown && buttonStyles.dropdown,\n ...getButtonVariantClasses(props.variant),\n ]);\n case 'link':\n return buildClassnames([\n props.className,\n baseStyles.reset,\n linkStyles.base,\n !props.size && linkStyles['inherit-size'],\n props.size && props.size !== 'base' && linkStyles[`${props.size}-size`],\n ]);\n default:\n return buildClassnames([props.className, baseStyles.reset]);\n }\n};\n"],"names":[],"mappings":";;;;;;MAiBa,uBAAuB,GAAG,CAAC,OAAuB,KAC7D;AACE,IAAA,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,oBAAoB,KAAK,YAAY,CAAC,iBAAiB,CAAC;AAC9F,IAAA,CAAC,OAAO,KAAK,aAAa,IAAI,OAAO,KAAK,oBAAoB;QAC5D,YAAY,CAAC,qBAAqB,CAAC;AACrC,IAAA,OAAO,KAAK,MAAM,IAAI,YAAY,CAAC,cAAc,CAAC;AACnD,CAAA,CAAC,MAAM,CAAC,OAAO;MAEL,oBAAoB,GAAG,CAAC,UAA4B,EAAE,KAA2B,KAAI;AAChG,IAAA,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ;AAChC,IAAA,MAAM,UAAU,GAAG,OAAO,KAAK,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,EAAE,CAAC;AAC/E,IAAA,MAAM,WAAW,GAAG;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,IAAI,YAAY,CAAC,IAAI;QAC3C,UAAU,IAAI,YAAY,CAAC,QAAQ;KACpC;AAED,IAAA,QAAQ,UAAU;AAChB,QAAA,KAAK,QAAQ;AACX,YAAA,OAAO,eAAe,CAAC;AACrB,gBAAA,KAAK,CAAC,SAAS;AACf,gBAAA,UAAU,CAAC,KAAK;AAChB,gBAAA,YAAY,CAAC,IAAI;AACjB,gBAAA,GAAG,WAAW;AACd,gBAAA,KAAK,CAAC,QAAQ,IAAI,YAAY,CAAC,QAAQ;AACvC,gBAAA,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,YAAY,CAAC,CAAA,EAAG,KAAK,CAAC,IAAI,OAAO,CAAC;AACzE,gBAAA,KAAK,CAAC,QAAQ,IAAI,YAAY,CAAC,QAAQ;AACvC,gBAAA,GAAG,uBAAuB,CAAC,KAAK,CAAC,OAAO,CAAC;AAC1C,aAAA,CAAC;AACJ,QAAA,KAAK,MAAM;AACT,YAAA,OAAO,eAAe,CAAC;AACrB,gBAAA,KAAK,CAAC,SAAS;AACf,gBAAA,UAAU,CAAC,KAAK;AAChB,gBAAA,UAAU,CAAC,IAAI;AACf,gBAAA,CAAC,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,cAAc,CAAC;AACzC,gBAAA,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,UAAU,CAAC,CAAA,EAAG,KAAK,CAAC,IAAI,OAAO,CAAC;AACxE,aAAA,CAAC;AACJ,QAAA;AACE,YAAA,OAAO,eAAe,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;AAC9D;AACH;;;;"}
|
|
@@ -17,26 +17,22 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
|
17
17
|
* @deprecated Use the `Action` component instead.
|
|
18
18
|
* Button triggers actions such as submitting forms, opening dialogs, or deleting records.
|
|
19
19
|
*/
|
|
20
|
-
const ButtonBase = React.forwardRef(({ className, children, iconSlot, variant = 'default', size
|
|
21
|
-
if (variant === 'unstyled') {
|
|
22
|
-
return (React__default.default.createElement("button", { ...otherProps, ref: ref,
|
|
23
|
-
// eslint-disable-next-line react/button-has-type
|
|
24
|
-
type: type, className: utils.getAppearanceClasses('unstyled', { className }), disabled: disabled || loading, "aria-busy": loading || undefined }, children));
|
|
25
|
-
}
|
|
20
|
+
const ButtonBase = React.forwardRef(({ className, children, iconSlot, variant = 'default', size, dropdown = false, loading = false, disabled, type = 'button', ...otherProps }, ref) => {
|
|
26
21
|
const isLink = variant === 'link';
|
|
27
22
|
const appearance = isLink ? 'link' : 'button';
|
|
23
|
+
const resolvedSize = size === undefined && appearance === 'button' ? 'base' : size;
|
|
28
24
|
const classNames = utils.getAppearanceClasses(appearance, {
|
|
29
25
|
className,
|
|
30
|
-
|
|
26
|
+
...(!isLink && { variant: variant }),
|
|
31
27
|
disabled,
|
|
32
|
-
size,
|
|
28
|
+
size: resolvedSize,
|
|
33
29
|
dropdown,
|
|
34
30
|
iconSlot,
|
|
35
31
|
children,
|
|
36
32
|
});
|
|
37
33
|
return (React__default.default.createElement("button", { ...otherProps, ref: ref,
|
|
38
34
|
// eslint-disable-next-line react/button-has-type
|
|
39
|
-
type: type, className: classNames, disabled: disabled || loading, "aria-busy": loading || undefined }, isLink ? (React__default.default.createElement(React__default.default.Fragment, null,
|
|
35
|
+
type: type, className: variant === 'unstyled' ? utils.getAppearanceClasses('unstyled', { className }) : classNames, disabled: disabled || loading, "aria-busy": loading || undefined }, isLink ? (React__default.default.createElement(React__default.default.Fragment, null,
|
|
40
36
|
iconSlot,
|
|
41
37
|
children,
|
|
42
38
|
dropdown && React__default.default.createElement(DropdownIcon.DropdownIcon, null))) : (React__default.default.createElement(React__default.default.Fragment, null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.cjs","sources":["../../../src/components/Button/Button.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { withTokens } from '../../hoc/withTokens';\nimport { DropdownIcon } from '../../icons';\nimport { buildClassnames } from '../../utils';\nimport buttonStyles from '../Action/styles/button.module.scss';\nimport { getAppearanceClasses } from '../Action/utils';\nimport { Loader } from '../Loader';\nimport { ButtonProps } from './types';\n\n/**\n * @deprecated Use the `Action` component instead.\n * Button triggers actions such as submitting forms, opening dialogs, or deleting records.\n */\nexport const ButtonBase = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n children,\n iconSlot,\n variant = 'default',\n size
|
|
1
|
+
{"version":3,"file":"Button.cjs","sources":["../../../src/components/Button/Button.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { withTokens } from '../../hoc/withTokens';\nimport { DropdownIcon } from '../../icons';\nimport { buildClassnames } from '../../utils';\nimport buttonStyles from '../Action/styles/button.module.scss';\nimport { getAppearanceClasses } from '../Action/utils';\nimport { Loader } from '../Loader';\nimport { ButtonProps, ButtonVariant } from './types';\n\n/**\n * @deprecated Use the `Action` component instead.\n * Button triggers actions such as submitting forms, opening dialogs, or deleting records.\n */\nexport const ButtonBase = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n children,\n iconSlot,\n variant = 'default',\n size,\n dropdown = false,\n loading = false,\n disabled,\n type = 'button',\n ...otherProps\n }: ButtonProps,\n ref,\n ) => {\n const isLink = variant === 'link';\n\n const appearance = isLink ? 'link' : 'button';\n\n const resolvedSize = size === undefined && appearance === 'button' ? 'base' : size;\n\n const classNames = getAppearanceClasses(appearance, {\n className,\n ...(!isLink && { variant: variant as Exclude<ButtonVariant, 'link' | 'unstyled'> }),\n disabled,\n size: resolvedSize,\n dropdown,\n iconSlot,\n children,\n });\n\n return (\n <button\n {...otherProps}\n ref={ref}\n // eslint-disable-next-line react/button-has-type\n type={type}\n className={\n variant === 'unstyled' ? getAppearanceClasses('unstyled', { className }) : classNames\n }\n disabled={disabled || loading}\n aria-busy={loading || undefined}\n >\n {isLink ? (\n <>\n {iconSlot}\n {children}\n {dropdown && <DropdownIcon />}\n </>\n ) : (\n <>\n <span\n className={buildClassnames([\n buttonStyles.content,\n loading && buttonStyles.hideContent,\n ])}\n >\n {iconSlot}\n {children}\n {dropdown && <DropdownIcon />}\n </span>\n {loading && (\n <div className={buttonStyles.loadingWrapper} aria-hidden=\"true\">\n <Loader className={buttonStyles.loader} />\n </div>\n )}\n </>\n )}\n </button>\n );\n },\n);\n\nButtonBase.displayName = 'Button';\n\nexport const Button = withTokens(ButtonBase);\n"],"names":["forwardRef","getAppearanceClasses","React","DropdownIcon","buildClassnames","buttonStyles","Loader","withTokens"],"mappings":";;;;;;;;;;;;;;;AAUA;;;AAGG;AACI,MAAM,UAAU,GAAGA,gBAAU,CAClC,CACE,EACE,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,OAAO,GAAG,SAAS,EACnB,IAAI,EACJ,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,KAAK,EACf,QAAQ,EACR,IAAI,GAAG,QAAQ,EACf,GAAG,UAAU,EACD,EACd,GAAG,KACD;AACF,IAAA,MAAM,MAAM,GAAG,OAAO,KAAK,MAAM;IAEjC,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ;AAE7C,IAAA,MAAM,YAAY,GAAG,IAAI,KAAK,SAAS,IAAI,UAAU,KAAK,QAAQ,GAAG,MAAM,GAAG,IAAI;AAElF,IAAA,MAAM,UAAU,GAAGC,0BAAoB,CAAC,UAAU,EAAE;QAClD,SAAS;QACT,IAAI,CAAC,MAAM,IAAI,EAAE,OAAO,EAAE,OAAsD,EAAE,CAAC;QACnF,QAAQ;AACR,QAAA,IAAI,EAAE,YAAY;QAClB,QAAQ;QACR,QAAQ;QACR,QAAQ;AACT,KAAA,CAAC;AAEF,IAAA,QACEC,sBAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EAAA,GACM,UAAU,EACd,GAAG,EAAE,GAAG;;AAER,QAAA,IAAI,EAAE,IAAI,EACV,SAAS,EACP,OAAO,KAAK,UAAU,GAAGD,0BAAoB,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,CAAC,GAAG,UAAU,EAEvF,QAAQ,EAAE,QAAQ,IAAI,OAAO,EAAA,WAAA,EAClB,OAAO,IAAI,SAAS,EAAA,EAE9B,MAAM,IACLC,sBAAA,CAAA,aAAA,CAAAA,sBAAA,CAAA,QAAA,EAAA,IAAA;QACG,QAAQ;QACR,QAAQ;QACR,QAAQ,IAAIA,qCAACC,yBAAY,EAAA,IAAA,CAAG,CAC5B,KAEHD,sBAAA,CAAA,aAAA,CAAAA,sBAAA,CAAA,QAAA,EAAA,IAAA;QACEA,sBAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EACE,SAAS,EAAEE,+BAAe,CAAC;AACzB,gBAAAC,aAAY,CAAC,OAAO;gBACpB,OAAO,IAAIA,aAAY,CAAC,WAAW;aACpC,CAAC,EAAA;YAED,QAAQ;YACR,QAAQ;AACR,YAAA,QAAQ,IAAIH,sBAAA,CAAA,aAAA,CAACC,yBAAY,EAAA,IAAA,CAAG,CACxB;QACN,OAAO,KACND,sBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEG,aAAY,CAAC,cAAc,EAAA,aAAA,EAAc,MAAM,EAAA;AAC7D,YAAAH,sBAAA,CAAA,aAAA,CAACI,aAAM,EAAA,EAAC,SAAS,EAAED,aAAY,CAAC,MAAM,EAAA,CAAI,CACtC,CACP,CACA,CACJ,CACM;AAEb,CAAC;AAGH,UAAU,CAAC,WAAW,GAAG,QAAQ;MAEpB,MAAM,GAAGE,qBAAU,CAAC,UAAU;;;;;"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { ButtonVariant } from './types';
|
|
2
3
|
/**
|
|
3
4
|
* @deprecated Use the `Action` component instead.
|
|
4
5
|
* Button triggers actions such as submitting forms, opening dialogs, or deleting records.
|
|
5
6
|
*/
|
|
6
7
|
export declare const ButtonBase: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & import("../../hoc/withTokens").WithTokensProps & {
|
|
7
8
|
children?: React.ReactNode;
|
|
8
|
-
variant?:
|
|
9
|
+
variant?: ButtonVariant | undefined;
|
|
9
10
|
size?: import("./types").ButtonSize | undefined;
|
|
10
11
|
iconSlot?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined;
|
|
11
12
|
dropdown?: boolean | undefined;
|
|
@@ -13,7 +14,7 @@ export declare const ButtonBase: React.ForwardRefExoticComponent<React.ButtonHTM
|
|
|
13
14
|
} & React.RefAttributes<HTMLButtonElement>>;
|
|
14
15
|
export declare const Button: React.ForwardRefExoticComponent<Omit<React.ButtonHTMLAttributes<HTMLButtonElement> & import("../../hoc/withTokens").WithTokensProps & {
|
|
15
16
|
children?: React.ReactNode;
|
|
16
|
-
variant?:
|
|
17
|
+
variant?: ButtonVariant | undefined;
|
|
17
18
|
size?: import("./types").ButtonSize | undefined;
|
|
18
19
|
iconSlot?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined;
|
|
19
20
|
dropdown?: boolean | undefined;
|
|
@@ -11,26 +11,22 @@ import { Loader } from '../Loader/Loader.js';
|
|
|
11
11
|
* @deprecated Use the `Action` component instead.
|
|
12
12
|
* Button triggers actions such as submitting forms, opening dialogs, or deleting records.
|
|
13
13
|
*/
|
|
14
|
-
const ButtonBase = forwardRef(({ className, children, iconSlot, variant = 'default', size
|
|
15
|
-
if (variant === 'unstyled') {
|
|
16
|
-
return (React__default.createElement("button", { ...otherProps, ref: ref,
|
|
17
|
-
// eslint-disable-next-line react/button-has-type
|
|
18
|
-
type: type, className: getAppearanceClasses('unstyled', { className }), disabled: disabled || loading, "aria-busy": loading || undefined }, children));
|
|
19
|
-
}
|
|
14
|
+
const ButtonBase = forwardRef(({ className, children, iconSlot, variant = 'default', size, dropdown = false, loading = false, disabled, type = 'button', ...otherProps }, ref) => {
|
|
20
15
|
const isLink = variant === 'link';
|
|
21
16
|
const appearance = isLink ? 'link' : 'button';
|
|
17
|
+
const resolvedSize = size === undefined && appearance === 'button' ? 'base' : size;
|
|
22
18
|
const classNames = getAppearanceClasses(appearance, {
|
|
23
19
|
className,
|
|
24
|
-
|
|
20
|
+
...(!isLink && { variant: variant }),
|
|
25
21
|
disabled,
|
|
26
|
-
size,
|
|
22
|
+
size: resolvedSize,
|
|
27
23
|
dropdown,
|
|
28
24
|
iconSlot,
|
|
29
25
|
children,
|
|
30
26
|
});
|
|
31
27
|
return (React__default.createElement("button", { ...otherProps, ref: ref,
|
|
32
28
|
// eslint-disable-next-line react/button-has-type
|
|
33
|
-
type: type, className: classNames, disabled: disabled || loading, "aria-busy": loading || undefined }, isLink ? (React__default.createElement(React__default.Fragment, null,
|
|
29
|
+
type: type, className: variant === 'unstyled' ? getAppearanceClasses('unstyled', { className }) : classNames, disabled: disabled || loading, "aria-busy": loading || undefined }, isLink ? (React__default.createElement(React__default.Fragment, null,
|
|
34
30
|
iconSlot,
|
|
35
31
|
children,
|
|
36
32
|
dropdown && React__default.createElement(DropdownIcon, null))) : (React__default.createElement(React__default.Fragment, null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sources":["../../../src/components/Button/Button.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { withTokens } from '../../hoc/withTokens';\nimport { DropdownIcon } from '../../icons';\nimport { buildClassnames } from '../../utils';\nimport buttonStyles from '../Action/styles/button.module.scss';\nimport { getAppearanceClasses } from '../Action/utils';\nimport { Loader } from '../Loader';\nimport { ButtonProps } from './types';\n\n/**\n * @deprecated Use the `Action` component instead.\n * Button triggers actions such as submitting forms, opening dialogs, or deleting records.\n */\nexport const ButtonBase = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n children,\n iconSlot,\n variant = 'default',\n size
|
|
1
|
+
{"version":3,"file":"Button.js","sources":["../../../src/components/Button/Button.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { withTokens } from '../../hoc/withTokens';\nimport { DropdownIcon } from '../../icons';\nimport { buildClassnames } from '../../utils';\nimport buttonStyles from '../Action/styles/button.module.scss';\nimport { getAppearanceClasses } from '../Action/utils';\nimport { Loader } from '../Loader';\nimport { ButtonProps, ButtonVariant } from './types';\n\n/**\n * @deprecated Use the `Action` component instead.\n * Button triggers actions such as submitting forms, opening dialogs, or deleting records.\n */\nexport const ButtonBase = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n children,\n iconSlot,\n variant = 'default',\n size,\n dropdown = false,\n loading = false,\n disabled,\n type = 'button',\n ...otherProps\n }: ButtonProps,\n ref,\n ) => {\n const isLink = variant === 'link';\n\n const appearance = isLink ? 'link' : 'button';\n\n const resolvedSize = size === undefined && appearance === 'button' ? 'base' : size;\n\n const classNames = getAppearanceClasses(appearance, {\n className,\n ...(!isLink && { variant: variant as Exclude<ButtonVariant, 'link' | 'unstyled'> }),\n disabled,\n size: resolvedSize,\n dropdown,\n iconSlot,\n children,\n });\n\n return (\n <button\n {...otherProps}\n ref={ref}\n // eslint-disable-next-line react/button-has-type\n type={type}\n className={\n variant === 'unstyled' ? getAppearanceClasses('unstyled', { className }) : classNames\n }\n disabled={disabled || loading}\n aria-busy={loading || undefined}\n >\n {isLink ? (\n <>\n {iconSlot}\n {children}\n {dropdown && <DropdownIcon />}\n </>\n ) : (\n <>\n <span\n className={buildClassnames([\n buttonStyles.content,\n loading && buttonStyles.hideContent,\n ])}\n >\n {iconSlot}\n {children}\n {dropdown && <DropdownIcon />}\n </span>\n {loading && (\n <div className={buttonStyles.loadingWrapper} aria-hidden=\"true\">\n <Loader className={buttonStyles.loader} />\n </div>\n )}\n </>\n )}\n </button>\n );\n },\n);\n\nButtonBase.displayName = 'Button';\n\nexport const Button = withTokens(ButtonBase);\n"],"names":["React"],"mappings":";;;;;;;;;AAUA;;;AAGG;AACI,MAAM,UAAU,GAAG,UAAU,CAClC,CACE,EACE,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,OAAO,GAAG,SAAS,EACnB,IAAI,EACJ,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,KAAK,EACf,QAAQ,EACR,IAAI,GAAG,QAAQ,EACf,GAAG,UAAU,EACD,EACd,GAAG,KACD;AACF,IAAA,MAAM,MAAM,GAAG,OAAO,KAAK,MAAM;IAEjC,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ;AAE7C,IAAA,MAAM,YAAY,GAAG,IAAI,KAAK,SAAS,IAAI,UAAU,KAAK,QAAQ,GAAG,MAAM,GAAG,IAAI;AAElF,IAAA,MAAM,UAAU,GAAG,oBAAoB,CAAC,UAAU,EAAE;QAClD,SAAS;QACT,IAAI,CAAC,MAAM,IAAI,EAAE,OAAO,EAAE,OAAsD,EAAE,CAAC;QACnF,QAAQ;AACR,QAAA,IAAI,EAAE,YAAY;QAClB,QAAQ;QACR,QAAQ;QACR,QAAQ;AACT,KAAA,CAAC;AAEF,IAAA,QACEA,cAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EAAA,GACM,UAAU,EACd,GAAG,EAAE,GAAG;;AAER,QAAA,IAAI,EAAE,IAAI,EACV,SAAS,EACP,OAAO,KAAK,UAAU,GAAG,oBAAoB,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,CAAC,GAAG,UAAU,EAEvF,QAAQ,EAAE,QAAQ,IAAI,OAAO,EAAA,WAAA,EAClB,OAAO,IAAI,SAAS,EAAA,EAE9B,MAAM,IACLA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA;QACG,QAAQ;QACR,QAAQ;QACR,QAAQ,IAAIA,6BAAC,YAAY,EAAA,IAAA,CAAG,CAC5B,KAEHA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA;QACEA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EACE,SAAS,EAAE,eAAe,CAAC;AACzB,gBAAA,YAAY,CAAC,OAAO;gBACpB,OAAO,IAAI,YAAY,CAAC,WAAW;aACpC,CAAC,EAAA;YAED,QAAQ;YACR,QAAQ;AACR,YAAA,QAAQ,IAAIA,cAAA,CAAA,aAAA,CAAC,YAAY,EAAA,IAAA,CAAG,CACxB;QACN,OAAO,KACNA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,YAAY,CAAC,cAAc,EAAA,aAAA,EAAc,MAAM,EAAA;AAC7D,YAAAA,cAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAE,YAAY,CAAC,MAAM,EAAA,CAAI,CACtC,CACP,CACA,CACJ,CACM;AAEb,CAAC;AAGH,UAAU,CAAC,WAAW,GAAG,QAAQ;MAEpB,MAAM,GAAG,UAAU,CAAC,UAAU;;;;"}
|