@razorpay/blade 11.7.0 → 11.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/build/lib/native/components/Button/BaseButton/AnimatedButtonContent.native.js +16 -0
  2. package/build/lib/native/components/Button/BaseButton/AnimatedButtonContent.native.js.map +1 -0
  3. package/build/lib/native/components/Button/BaseButton/BaseButton.js +7 -5
  4. package/build/lib/native/components/Button/BaseButton/BaseButton.js.map +1 -1
  5. package/build/lib/native/components/Button/BaseButton/StyledBaseButton.native.js +1 -1
  6. package/build/lib/native/components/Button/BaseButton/StyledBaseButton.native.js.map +1 -1
  7. package/build/lib/native/components/ButtonGroup/ButtonGroup.native.js +7 -0
  8. package/build/lib/native/components/ButtonGroup/ButtonGroup.native.js.map +1 -0
  9. package/build/lib/native/components/ButtonGroup/ButtonGroupContext.js +6 -0
  10. package/build/lib/native/components/ButtonGroup/ButtonGroupContext.js.map +1 -0
  11. package/build/lib/native/components/index.js +1 -0
  12. package/build/lib/native/components/index.js.map +1 -1
  13. package/build/lib/native/utils/metaAttribute/metaConstants.js +1 -1
  14. package/build/lib/native/utils/metaAttribute/metaConstants.js.map +1 -1
  15. package/build/lib/web/development/components/Button/BaseButton/AnimatedButtonContent.web.js +18 -0
  16. package/build/lib/web/development/components/Button/BaseButton/AnimatedButtonContent.web.js.map +1 -0
  17. package/build/lib/web/development/components/Button/BaseButton/BaseButton.js +116 -66
  18. package/build/lib/web/development/components/Button/BaseButton/BaseButton.js.map +1 -1
  19. package/build/lib/web/development/components/ButtonGroup/ButtonGroup.web.js +158 -0
  20. package/build/lib/web/development/components/ButtonGroup/ButtonGroup.web.js.map +1 -0
  21. package/build/lib/web/development/components/ButtonGroup/ButtonGroupContext.js +11 -0
  22. package/build/lib/web/development/components/ButtonGroup/ButtonGroupContext.js.map +1 -0
  23. package/build/lib/web/development/components/ButtonGroup/StyledButtonGroup.js +47 -0
  24. package/build/lib/web/development/components/ButtonGroup/StyledButtonGroup.js.map +1 -0
  25. package/build/lib/web/development/components/ButtonGroup/index.js +2 -0
  26. package/build/lib/web/development/components/ButtonGroup/index.js.map +1 -0
  27. package/build/lib/web/development/components/index.js +2 -0
  28. package/build/lib/web/development/components/index.js.map +1 -1
  29. package/build/lib/web/development/utils/metaAttribute/metaConstants.js +1 -0
  30. package/build/lib/web/development/utils/metaAttribute/metaConstants.js.map +1 -1
  31. package/build/lib/web/production/components/Button/BaseButton/AnimatedButtonContent.web.js +18 -0
  32. package/build/lib/web/production/components/Button/BaseButton/AnimatedButtonContent.web.js.map +1 -0
  33. package/build/lib/web/production/components/Button/BaseButton/BaseButton.js +116 -66
  34. package/build/lib/web/production/components/Button/BaseButton/BaseButton.js.map +1 -1
  35. package/build/lib/web/production/components/ButtonGroup/ButtonGroup.web.js +158 -0
  36. package/build/lib/web/production/components/ButtonGroup/ButtonGroup.web.js.map +1 -0
  37. package/build/lib/web/production/components/ButtonGroup/ButtonGroupContext.js +11 -0
  38. package/build/lib/web/production/components/ButtonGroup/ButtonGroupContext.js.map +1 -0
  39. package/build/lib/web/production/components/ButtonGroup/StyledButtonGroup.js +47 -0
  40. package/build/lib/web/production/components/ButtonGroup/StyledButtonGroup.js.map +1 -0
  41. package/build/lib/web/production/components/ButtonGroup/index.js +2 -0
  42. package/build/lib/web/production/components/ButtonGroup/index.js.map +1 -0
  43. package/build/lib/web/production/components/index.js +2 -0
  44. package/build/lib/web/production/components/index.js.map +1 -1
  45. package/build/lib/web/production/utils/metaAttribute/metaConstants.js +1 -0
  46. package/build/lib/web/production/utils/metaAttribute/metaConstants.js.map +1 -1
  47. package/build/types/components/index.d.ts +68 -1
  48. package/build/types/components/index.native.d.ts +42 -1
  49. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonGroup.web.js","sources":["../../../../../../src/components/ButtonGroup/ButtonGroup.web.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport React from 'react';\nimport styled from 'styled-components';\nimport type { ButtonGroupProps } from './types';\nimport { StyledButtonGroup } from './StyledButtonGroup';\nimport { ButtonGroupProvider } from './ButtonGroupContext';\nimport BaseBox from '~components/Box/BaseBox';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { makeBorderSize } from '~utils';\nimport type { DotNotationToken } from '~utils/lodashButBetter/get';\nimport getIn from '~utils/lodashButBetter/get';\nimport { getBackgroundColorToken } from '~components/Button/BaseButton/BaseButton';\nimport type { Theme } from '~components/BladeProvider';\nimport { throwBladeError } from '~utils/logger';\nimport { isValidAllowedChildren } from '~utils/isValidAllowedChildren';\n\nconst getDividerColorToken = ({\n color,\n variant,\n isDisabled,\n}: Pick<ButtonGroupProps, 'color' | 'isDisabled' | 'variant'>): DotNotationToken<\n Theme['colors']\n> => {\n if (variant === 'primary') {\n return 'surface.border.gray.subtle';\n }\n\n if (variant === 'secondary') {\n return getBackgroundColorToken({\n property: 'border',\n variant,\n color,\n state: isDisabled ? 'disabled' : 'default',\n });\n }\n\n return 'surface.border.gray.muted';\n};\n\nconst StyledDivider = styled(BaseBox)<Pick<ButtonGroupProps, 'color' | 'isDisabled' | 'variant'>>(\n ({ theme, color, variant, isDisabled }) => {\n return {\n borderWidth: 0,\n borderLeftStyle: 'solid',\n borderLeftWidth: makeBorderSize(theme.border.width.thin),\n alignSelf: 'stretch',\n color: getIn(theme.colors, getDividerColorToken({ color, variant, isDisabled })),\n };\n },\n);\n\nconst _ButtonGroup = ({\n children,\n isDisabled = false,\n size = 'medium',\n color = 'primary',\n variant = 'primary',\n isFullWidth = false,\n testID,\n ...styledProps\n}: ButtonGroupProps): React.ReactElement => {\n const contextValue = {\n isDisabled,\n size,\n color,\n variant,\n isFullWidth,\n };\n\n return (\n <ButtonGroupProvider value={contextValue}>\n <StyledButtonGroup\n color={color}\n variant={variant}\n isDisabled={isDisabled}\n isFullWidth={isFullWidth}\n {...metaAttribute({ name: MetaConstants.ButtonGroup, testID })}\n {...getStyledProps(styledProps)}\n role=\"group\"\n >\n {React.Children.map(children, (child, index) => {\n if (__DEV__) {\n // throw error if child is not a button or dropdown with button trigger\n /* eslint-disable no-restricted-properties */\n if (\n !isValidAllowedChildren(child, 'Button') &&\n !(\n isValidAllowedChildren(child, 'Dropdown') &&\n (child as ReactElement).props.children.some((c: ReactElement) =>\n isValidAllowedChildren(c, 'DropdownButton'),\n )\n )\n ) {\n throwBladeError({\n moduleName: 'ButtonGroup',\n message: `Only \"Button\" or \"Dropdown\" component with Button trigger are allowed as children.`,\n });\n }\n /* eslint-enable no-restricted-properties */\n }\n\n return (\n <>\n {child}\n {React.Children.count(children) - 1 !== index && (\n <StyledDivider variant={variant} color={color} isDisabled={isDisabled} />\n )}\n </>\n );\n })}\n </StyledButtonGroup>\n </ButtonGroupProvider>\n );\n};\n\n/**\n * ### ButtonGroup Component\n * \n * The ButtonGroup component is used to group related buttons together.\n * \n * ---\n * \n * #### Usage\n * \n * ```jsx\n const App = () => {\n return (\n <ButtonGroup>\n <Button icon={RefreshIcon}>Sync</Button>\n <Button icon={ShareIcon}>Share</Button>\n <Button icon={DownloadIcon}>Download</Button>\n </ButtonGroup>\n );\n }\n * ```\n *\n * ---\n *\n * Checkout {@link https://blade.razorpay.com/?path=/docs/components-buttongroup FileUpload Documentation}\n * \n */\nconst ButtonGroup = assignWithoutSideEffects(_ButtonGroup, {\n displayName: 'ButtonGroup',\n componentId: 'ButtonGroup',\n});\n\nexport { ButtonGroup };\nexport type { ButtonGroupProps };\n"],"names":["getDividerColorToken","_ref","color","variant","isDisabled","getBackgroundColorToken","property","state","StyledDivider","styled","BaseBox","withConfig","displayName","componentId","_ref2","theme","borderWidth","borderLeftStyle","borderLeftWidth","makeBorderSize","border","width","thin","alignSelf","getIn","colors","_ButtonGroup","_ref3","children","_ref3$isDisabled","_ref3$size","size","_ref3$color","_ref3$variant","_ref3$isFullWidth","isFullWidth","testID","styledProps","_objectWithoutProperties","_excluded","contextValue","_jsx","ButtonGroupProvider","value","StyledButtonGroup","_objectSpread","metaAttribute","name","MetaConstants","ButtonGroup","getStyledProps","role","React","Children","map","child","index","isValidAllowedChildren","props","some","c","throwBladeError","moduleName","message","_jsxs","_Fragment","count","assignWithoutSideEffects"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import React__default from 'react';
2
+
3
+ var ButtonGroupContext = /*#__PURE__*/React__default.createContext({});
4
+ var ButtonGroupProvider = ButtonGroupContext.Provider;
5
+ var useButtonGroupContext = function useButtonGroupContext() {
6
+ var context = React__default.useContext(ButtonGroupContext);
7
+ return context;
8
+ };
9
+
10
+ export { ButtonGroupProvider, useButtonGroupContext };
11
+ //# sourceMappingURL=ButtonGroupContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonGroupContext.js","sources":["../../../../../../src/components/ButtonGroup/ButtonGroupContext.tsx"],"sourcesContent":["import React from 'react';\nimport type { ButtonGroupContextType } from './types';\n\nconst ButtonGroupContext = React.createContext<ButtonGroupContextType>({});\nconst ButtonGroupProvider = ButtonGroupContext.Provider;\n\nconst useButtonGroupContext = (): ButtonGroupContextType => {\n const context = React.useContext(ButtonGroupContext);\n return context;\n};\n\nexport { useButtonGroupContext, ButtonGroupProvider };\n"],"names":["ButtonGroupContext","React","createContext","ButtonGroupProvider","Provider","useButtonGroupContext","context","useContext"],"mappings":";;AAGA,IAAMA,kBAAkB,gBAAGC,cAAK,CAACC,aAAa,CAAyB,EAAE,CAAC,CAAA;AAC1E,IAAMC,mBAAmB,GAAGH,kBAAkB,CAACI,SAAQ;AAEvD,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,GAAiC;AAC1D,EAAA,IAAMC,OAAO,GAAGL,cAAK,CAACM,UAAU,CAACP,kBAAkB,CAAC,CAAA;AACpD,EAAA,OAAOM,OAAO,CAAA;AAChB;;;;"}
@@ -0,0 +1,47 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import styled from 'styled-components';
3
+ import '../Box/BaseBox/index.js';
4
+ import '../../utils/index.js';
5
+ import { getBackgroundColorToken } from '../Button/BaseButton/BaseButton.js';
6
+ import getIn from '../../utils/lodashButBetter/get.js';
7
+ import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
8
+ import { makeBorderSize } from '../../utils/makeBorderSize/makeBorderSize.js';
9
+
10
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
11
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
12
+ var StyledButtonGroup = /*#__PURE__*/styled(BaseBox).withConfig({
13
+ displayName: "StyledButtonGroup",
14
+ componentId: "gr4xbj-0"
15
+ })(function (_ref) {
16
+ var theme = _ref.theme,
17
+ isDisabled = _ref.isDisabled,
18
+ _ref$variant = _ref.variant,
19
+ variant = _ref$variant === void 0 ? 'primary' : _ref$variant,
20
+ color = _ref.color,
21
+ isFullWidth = _ref.isFullWidth;
22
+ return _objectSpread(_objectSpread({
23
+ display: 'flex',
24
+ width: isFullWidth ? '100%' : 'fit-content',
25
+ overflow: 'hidden',
26
+ borderRadius: makeBorderSize(theme.border.radius.medium)
27
+ }, variant === 'secondary' && {
28
+ borderColor: getIn(theme.colors, getBackgroundColorToken({
29
+ property: 'border',
30
+ variant: variant,
31
+ color: color,
32
+ state: isDisabled ? 'disabled' : 'default'
33
+ })),
34
+ borderStyle: 'solid',
35
+ borderWidth: makeBorderSize(theme.border.width.thin)
36
+ }), {}, {
37
+ 'button[role="button"]': {
38
+ borderRadius: 0,
39
+ border: 'none',
40
+ width: 'max-content',
41
+ flex: isFullWidth ? 1 : 'auto'
42
+ }
43
+ });
44
+ });
45
+
46
+ export { StyledButtonGroup };
47
+ //# sourceMappingURL=StyledButtonGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StyledButtonGroup.js","sources":["../../../../../../src/components/ButtonGroup/StyledButtonGroup.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport type { StyledButtonGroupProps } from './types';\nimport BaseBox from '~components/Box/BaseBox';\nimport { makeBorderSize } from '~utils';\nimport { getBackgroundColorToken } from '~components/Button/BaseButton/BaseButton';\nimport getIn from '~utils/lodashButBetter/get';\n\nconst StyledButtonGroup = styled(BaseBox)<StyledButtonGroupProps>(\n ({ theme, isDisabled, variant = 'primary', color, isFullWidth }) => {\n return {\n display: 'flex',\n width: isFullWidth ? '100%' : 'fit-content',\n overflow: 'hidden',\n borderRadius: makeBorderSize(theme.border.radius.medium),\n\n ...(variant === 'secondary' && {\n borderColor: getIn(\n theme.colors,\n getBackgroundColorToken({\n property: 'border',\n variant,\n color,\n state: isDisabled ? 'disabled' : 'default',\n }),\n ),\n borderStyle: 'solid',\n borderWidth: makeBorderSize(theme.border.width.thin),\n }),\n\n 'button[role=\"button\"]': {\n borderRadius: 0,\n border: 'none',\n width: 'max-content',\n flex: isFullWidth ? 1 : 'auto',\n },\n };\n },\n);\n\nexport { StyledButtonGroup };\n"],"names":["StyledButtonGroup","styled","BaseBox","withConfig","displayName","componentId","_ref","theme","isDisabled","_ref$variant","variant","color","isFullWidth","_objectSpread","display","width","overflow","borderRadius","makeBorderSize","border","radius","medium","borderColor","getIn","colors","getBackgroundColorToken","property","state","borderStyle","borderWidth","thin","flex"],"mappings":";;;;;;;;;;;AAOA,IAAMA,iBAAiB,gBAAGC,MAAM,CAACC,OAAO,CAAC,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,mBAAA;EAAAC,WAAA,EAAA,UAAA;AAAA,CACvC,CAAA,CAAA,UAAAC,IAAA,EAAoE;AAAA,EAAA,IAAjEC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,UAAU,GAAAF,IAAA,CAAVE,UAAU;IAAAC,YAAA,GAAAH,IAAA,CAAEI,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,YAAA;IAAEE,KAAK,GAAAL,IAAA,CAALK,KAAK;IAAEC,WAAW,GAAAN,IAAA,CAAXM,WAAW,CAAA;EAC3D,OAAAC,aAAA,CAAAA,aAAA,CAAA;AACEC,IAAAA,OAAO,EAAE,MAAM;AACfC,IAAAA,KAAK,EAAEH,WAAW,GAAG,MAAM,GAAG,aAAa;AAC3CI,IAAAA,QAAQ,EAAE,QAAQ;IAClBC,YAAY,EAAEC,cAAc,CAACX,KAAK,CAACY,MAAM,CAACC,MAAM,CAACC,MAAM,CAAA;GAEnDX,EAAAA,OAAO,KAAK,WAAW,IAAI;IAC7BY,WAAW,EAAEC,KAAK,CAChBhB,KAAK,CAACiB,MAAM,EACZC,uBAAuB,CAAC;AACtBC,MAAAA,QAAQ,EAAE,QAAQ;AAClBhB,MAAAA,OAAO,EAAPA,OAAO;AACPC,MAAAA,KAAK,EAALA,KAAK;AACLgB,MAAAA,KAAK,EAAEnB,UAAU,GAAG,UAAU,GAAG,SAAA;AACnC,KAAC,CACH,CAAC;AACDoB,IAAAA,WAAW,EAAE,OAAO;IACpBC,WAAW,EAAEX,cAAc,CAACX,KAAK,CAACY,MAAM,CAACJ,KAAK,CAACe,IAAI,CAAA;GACpD,CAAA,EAAA,EAAA,EAAA;AAED,IAAA,uBAAuB,EAAE;AACvBb,MAAAA,YAAY,EAAE,CAAC;AACfE,MAAAA,MAAM,EAAE,MAAM;AACdJ,MAAAA,KAAK,EAAE,aAAa;AACpBgB,MAAAA,IAAI,EAAEnB,WAAW,GAAG,CAAC,GAAG,MAAA;AAC1B,KAAA;AAAC,GAAA,CAAA,CAAA;AAEL,CAAC;;;;"}
@@ -0,0 +1,2 @@
1
+ export { ButtonGroup } from './ButtonGroup.web.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -9,6 +9,7 @@ import './Breadcrumb/index.js';
9
9
  import './Box/index.js';
10
10
  import './Button/index.js';
11
11
  import './Button/IconButton/index.js';
12
+ import './ButtonGroup/index.js';
12
13
  import './Card/index.js';
13
14
  import './Carousel/index.js';
14
15
  import './Checkbox/index.js';
@@ -67,6 +68,7 @@ export { BreadcrumbItem } from './Breadcrumb/BreadcrumbItem.web.js';
67
68
  export { Box } from './Box/Box.js';
68
69
  export { default as Button } from './Button/Button/Button.js';
69
70
  export { IconButton } from './Button/IconButton/IconButton.js';
71
+ export { ButtonGroup } from './ButtonGroup/ButtonGroup.web.js';
70
72
  export { Card, CardBody, ComponentIds } from './Card/Card.js';
71
73
  export { CardHeader, CardHeaderAmount, CardHeaderBadge, CardHeaderCounter, CardHeaderIcon, CardHeaderIconButton, CardHeaderLeading, CardHeaderLink, CardHeaderText, CardHeaderTrailing } from './Card/CardHeader.js';
72
74
  export { CardFooter, CardFooterLeading, CardFooterTrailing } from './Card/CardFooter.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -15,6 +15,7 @@ var MetaConstants = {
15
15
  BaseBox: 'base-box',
16
16
  BaseText: 'base-text',
17
17
  Button: 'button',
18
+ ButtonGroup: 'button-group',
18
19
  Breadcrumb: 'breadcrumb',
19
20
  BreadcrumbItem: 'breadcrumb-item',
20
21
  Carousel: 'carousel',
@@ -1 +1 @@
1
- {"version":3,"file":"metaConstants.js","sources":["../../../../../../src/utils/metaAttribute/metaConstants.ts"],"sourcesContent":["export const MetaConstants = {\n Accordion: 'accordion',\n AccordionButton: 'accordion-button',\n AccordionItem: 'accordion-item',\n AccordionItemHeader: 'accordion-item-header',\n AccordionItemBody: 'accordion-item-body',\n ActionList: 'action-list',\n ActionListItem: 'action-list-item',\n ActionListSection: 'action-list-section',\n Alert: 'alert',\n Amount: 'amount',\n AutoComplete: 'autocomplete',\n Badge: 'badge',\n Box: 'box',\n BaseBox: 'base-box',\n BaseText: 'base-text',\n Button: 'button',\n Breadcrumb: 'breadcrumb',\n BreadcrumbItem: 'breadcrumb-item',\n Carousel: 'carousel',\n Checkbox: 'checkbox',\n CheckboxGroup: 'checkbox-group',\n CheckboxLabel: 'checkbox-label',\n Chip: 'chip',\n ChipGroup: 'chip-group',\n ChipLabel: 'chip-label',\n Code: 'code',\n Component: 'blade-component',\n Counter: 'counter',\n Display: 'display',\n Divider: 'divider',\n Drawer: 'drawer',\n Dropdown: 'dropdown',\n DropdownOverlay: 'dropdown-overlay',\n DropdownFooter: 'dropdown-footer',\n DropdownHeader: 'dropdown-header',\n FileUpload: 'file-upload',\n FileUploadItem: 'file-upload-item',\n FileUploadLabel: 'file-upload-label',\n Icon: 'icon',\n IconButton: 'icon-button',\n Indicator: 'indicator',\n Link: 'link',\n List: 'list',\n ListItem: 'list-item',\n ListItemCode: 'list-item-code',\n ListItemLink: 'list-item-link',\n ListItemText: 'list-item-text',\n OTPInput: 'otp-input',\n PasswordInput: 'password-input',\n TextArea: 'textarea',\n TextInput: 'textinput',\n Toast: 'toast',\n ToastContainer: 'toast-container',\n ProgressBar: 'progress-bar',\n Radio: 'radio',\n RadioGroup: 'radio-group',\n RadioLabel: 'radio-label',\n SkipNav: 'skipnav',\n Spinner: 'spinner',\n SelectInput: 'select-input',\n Tag: 'tag',\n Tooltip: 'tooltip',\n TooltipInteractiveWrapper: 'tooltip-interactive-wrapper',\n Tabs: 'tabs',\n TabList: 'tab-list',\n TabItem: 'tab-item',\n TabPanel: 'tab-panel',\n TabIndicator: 'tab-indicator',\n Table: 'table',\n TableBody: 'table-body',\n TableRow: 'table-row',\n TableCell: 'table-cell',\n TableHeader: 'table-header',\n TableHeaderRow: 'table-header-row',\n TableHeaderCell: 'table-header-cell',\n TableFooter: 'table-footer',\n TableFooterRow: 'table-footer-row',\n TableFooterCell: 'table-footer-cell',\n TableElement: 'table-element',\n TourPopover: 'tour-popover',\n TourMask: 'tour-mask',\n Popover: 'popover',\n PopoverInteractiveWrapper: 'popover-interactive-wrapper',\n BottomSheet: 'bottom-sheet',\n BottomSheetBody: 'bottom-sheet-body',\n BottomSheetHeader: 'bottom-sheet-header',\n BottomSheetFooter: 'bottom-sheet-footer',\n BottomSheetGrabHandle: 'bottomsheet-grab-handle',\n Card: 'card',\n CardBody: 'card-body',\n CardHeader: 'card-header',\n CardFooter: 'card-footer',\n Collapsible: 'collapsible',\n CollapsibleBody: 'collapsible-body',\n CollapsibleButton: 'collapsible-button',\n CollapsibleLink: 'collapsible-link',\n Modal: 'modal',\n ModalBody: 'modal-body',\n ModalHeader: 'modal-header',\n ModalFooter: 'modal-footer',\n ModalBackdrop: 'modal-backdrop',\n ModalScrollOverlay: 'modal-scroll-overlay',\n VisuallyHidden: 'visually-hidden',\n FormLabel: 'form-label',\n Switch: 'switch',\n SwitchLabel: 'switch-label',\n StyledBaseInput: 'styled-base-input',\n Skeleton: 'skeleton',\n} as const;\n"],"names":["MetaConstants","Accordion","AccordionButton","AccordionItem","AccordionItemHeader","AccordionItemBody","ActionList","ActionListItem","ActionListSection","Alert","Amount","AutoComplete","Badge","Box","BaseBox","BaseText","Button","Breadcrumb","BreadcrumbItem","Carousel","Checkbox","CheckboxGroup","CheckboxLabel","Chip","ChipGroup","ChipLabel","Code","Component","Counter","Display","Divider","Drawer","Dropdown","DropdownOverlay","DropdownFooter","DropdownHeader","FileUpload","FileUploadItem","FileUploadLabel","Icon","IconButton","Indicator","Link","List","ListItem","ListItemCode","ListItemLink","ListItemText","OTPInput","PasswordInput","TextArea","TextInput","Toast","ToastContainer","ProgressBar","Radio","RadioGroup","RadioLabel","SkipNav","Spinner","SelectInput","Tag","Tooltip","TooltipInteractiveWrapper","Tabs","TabList","TabItem","TabPanel","TabIndicator","Table","TableBody","TableRow","TableCell","TableHeader","TableHeaderRow","TableHeaderCell","TableFooter","TableFooterRow","TableFooterCell","TableElement","TourPopover","TourMask","Popover","PopoverInteractiveWrapper","BottomSheet","BottomSheetBody","BottomSheetHeader","BottomSheetFooter","BottomSheetGrabHandle","Card","CardBody","CardHeader","CardFooter","Collapsible","CollapsibleBody","CollapsibleButton","CollapsibleLink","Modal","ModalBody","ModalHeader","ModalFooter","ModalBackdrop","ModalScrollOverlay","VisuallyHidden","FormLabel","Switch","SwitchLabel","StyledBaseInput","Skeleton"],"mappings":"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"}
1
+ {"version":3,"file":"metaConstants.js","sources":["../../../../../../src/utils/metaAttribute/metaConstants.ts"],"sourcesContent":["export const MetaConstants = {\n Accordion: 'accordion',\n AccordionButton: 'accordion-button',\n AccordionItem: 'accordion-item',\n AccordionItemHeader: 'accordion-item-header',\n AccordionItemBody: 'accordion-item-body',\n ActionList: 'action-list',\n ActionListItem: 'action-list-item',\n ActionListSection: 'action-list-section',\n Alert: 'alert',\n Amount: 'amount',\n AutoComplete: 'autocomplete',\n Badge: 'badge',\n Box: 'box',\n BaseBox: 'base-box',\n BaseText: 'base-text',\n Button: 'button',\n ButtonGroup: 'button-group',\n Breadcrumb: 'breadcrumb',\n BreadcrumbItem: 'breadcrumb-item',\n Carousel: 'carousel',\n Checkbox: 'checkbox',\n CheckboxGroup: 'checkbox-group',\n CheckboxLabel: 'checkbox-label',\n Chip: 'chip',\n ChipGroup: 'chip-group',\n ChipLabel: 'chip-label',\n Code: 'code',\n Component: 'blade-component',\n Counter: 'counter',\n Display: 'display',\n Divider: 'divider',\n Drawer: 'drawer',\n Dropdown: 'dropdown',\n DropdownOverlay: 'dropdown-overlay',\n DropdownFooter: 'dropdown-footer',\n DropdownHeader: 'dropdown-header',\n FileUpload: 'file-upload',\n FileUploadItem: 'file-upload-item',\n FileUploadLabel: 'file-upload-label',\n Icon: 'icon',\n IconButton: 'icon-button',\n Indicator: 'indicator',\n Link: 'link',\n List: 'list',\n ListItem: 'list-item',\n ListItemCode: 'list-item-code',\n ListItemLink: 'list-item-link',\n ListItemText: 'list-item-text',\n OTPInput: 'otp-input',\n PasswordInput: 'password-input',\n TextArea: 'textarea',\n TextInput: 'textinput',\n Toast: 'toast',\n ToastContainer: 'toast-container',\n ProgressBar: 'progress-bar',\n Radio: 'radio',\n RadioGroup: 'radio-group',\n RadioLabel: 'radio-label',\n SkipNav: 'skipnav',\n Spinner: 'spinner',\n SelectInput: 'select-input',\n Tag: 'tag',\n Tooltip: 'tooltip',\n TooltipInteractiveWrapper: 'tooltip-interactive-wrapper',\n Tabs: 'tabs',\n TabList: 'tab-list',\n TabItem: 'tab-item',\n TabPanel: 'tab-panel',\n TabIndicator: 'tab-indicator',\n Table: 'table',\n TableBody: 'table-body',\n TableRow: 'table-row',\n TableCell: 'table-cell',\n TableHeader: 'table-header',\n TableHeaderRow: 'table-header-row',\n TableHeaderCell: 'table-header-cell',\n TableFooter: 'table-footer',\n TableFooterRow: 'table-footer-row',\n TableFooterCell: 'table-footer-cell',\n TableElement: 'table-element',\n TourPopover: 'tour-popover',\n TourMask: 'tour-mask',\n Popover: 'popover',\n PopoverInteractiveWrapper: 'popover-interactive-wrapper',\n BottomSheet: 'bottom-sheet',\n BottomSheetBody: 'bottom-sheet-body',\n BottomSheetHeader: 'bottom-sheet-header',\n BottomSheetFooter: 'bottom-sheet-footer',\n BottomSheetGrabHandle: 'bottomsheet-grab-handle',\n Card: 'card',\n CardBody: 'card-body',\n CardHeader: 'card-header',\n CardFooter: 'card-footer',\n Collapsible: 'collapsible',\n CollapsibleBody: 'collapsible-body',\n CollapsibleButton: 'collapsible-button',\n CollapsibleLink: 'collapsible-link',\n Modal: 'modal',\n ModalBody: 'modal-body',\n ModalHeader: 'modal-header',\n ModalFooter: 'modal-footer',\n ModalBackdrop: 'modal-backdrop',\n ModalScrollOverlay: 'modal-scroll-overlay',\n VisuallyHidden: 'visually-hidden',\n FormLabel: 'form-label',\n Switch: 'switch',\n SwitchLabel: 'switch-label',\n StyledBaseInput: 'styled-base-input',\n Skeleton: 'skeleton',\n} as const;\n"],"names":["MetaConstants","Accordion","AccordionButton","AccordionItem","AccordionItemHeader","AccordionItemBody","ActionList","ActionListItem","ActionListSection","Alert","Amount","AutoComplete","Badge","Box","BaseBox","BaseText","Button","ButtonGroup","Breadcrumb","BreadcrumbItem","Carousel","Checkbox","CheckboxGroup","CheckboxLabel","Chip","ChipGroup","ChipLabel","Code","Component","Counter","Display","Divider","Drawer","Dropdown","DropdownOverlay","DropdownFooter","DropdownHeader","FileUpload","FileUploadItem","FileUploadLabel","Icon","IconButton","Indicator","Link","List","ListItem","ListItemCode","ListItemLink","ListItemText","OTPInput","PasswordInput","TextArea","TextInput","Toast","ToastContainer","ProgressBar","Radio","RadioGroup","RadioLabel","SkipNav","Spinner","SelectInput","Tag","Tooltip","TooltipInteractiveWrapper","Tabs","TabList","TabItem","TabPanel","TabIndicator","Table","TableBody","TableRow","TableCell","TableHeader","TableHeaderRow","TableHeaderCell","TableFooter","TableFooterRow","TableFooterCell","TableElement","TourPopover","TourMask","Popover","PopoverInteractiveWrapper","BottomSheet","BottomSheetBody","BottomSheetHeader","BottomSheetFooter","BottomSheetGrabHandle","Card","CardBody","CardHeader","CardFooter","Collapsible","CollapsibleBody","CollapsibleButton","CollapsibleLink","Modal","ModalBody","ModalHeader","ModalFooter","ModalBackdrop","ModalScrollOverlay","VisuallyHidden","FormLabel","Switch","SwitchLabel","StyledBaseInput","Skeleton"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import styled from 'styled-components';
2
+ import getIn from '../../../utils/lodashButBetter/get.js';
3
+ import '../../Box/BaseBox/index.js';
4
+ import { BaseBox } from '../../Box/BaseBox/BaseBox.web.js';
5
+
6
+ var AnimatedButtonContent = /*#__PURE__*/styled(BaseBox).withConfig({
7
+ displayName: "AnimatedButtonContentweb__AnimatedButtonContent",
8
+ componentId: "sc-1fkx0t6-0"
9
+ })(function (props) {
10
+ return {
11
+ transform: "scale(".concat(props.isPressed ? '0.95' : '1', ")"),
12
+ transitionDuration: getIn(props.theme.motion, props.motionEasing),
13
+ transitionTimingFunction: getIn(props.theme.motion, props.motionDuration)
14
+ };
15
+ });
16
+
17
+ export { AnimatedButtonContent as default };
18
+ //# sourceMappingURL=AnimatedButtonContent.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnimatedButtonContent.web.js","sources":["../../../../../../../src/components/Button/BaseButton/AnimatedButtonContent.web.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport type { AnimatedButtonContentProps } from './types';\nimport getIn from '~utils/lodashButBetter/get';\nimport BaseBox from '~components/Box/BaseBox';\n\nconst AnimatedButtonContent = styled(BaseBox)<AnimatedButtonContentProps>((props) => {\n return {\n transform: `scale(${props.isPressed ? '0.95' : '1'})`,\n transitionDuration: getIn(props.theme.motion, props.motionEasing),\n transitionTimingFunction: getIn(props.theme.motion, props.motionDuration),\n };\n});\n\nexport default AnimatedButtonContent;\n"],"names":["AnimatedButtonContent","styled","BaseBox","withConfig","displayName","componentId","props","transform","concat","isPressed","transitionDuration","getIn","theme","motion","motionEasing","transitionTimingFunction","motionDuration"],"mappings":";;;;;AAKA,IAAMA,qBAAqB,gBAAGC,MAAM,CAACC,OAAO,CAAC,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,iDAAA;EAAAC,WAAA,EAAA,cAAA;AAAA,CAA6B,CAAA,CAAA,UAACC,KAAK,EAAK;EACnF,OAAO;IACLC,SAAS,EAAA,QAAA,CAAAC,MAAA,CAAWF,KAAK,CAACG,SAAS,GAAG,MAAM,GAAG,GAAG,EAAG,GAAA,CAAA;AACrDC,IAAAA,kBAAkB,EAAEC,KAAK,CAACL,KAAK,CAACM,KAAK,CAACC,MAAM,EAAEP,KAAK,CAACQ,YAAY,CAAC;IACjEC,wBAAwB,EAAEJ,KAAK,CAACL,KAAK,CAACM,KAAK,CAACC,MAAM,EAAEP,KAAK,CAACU,cAAc,CAAA;GACzE,CAAA;AACH,CAAC;;;;"}
@@ -1,11 +1,14 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
2
3
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
4
  import React__default from 'react';
4
5
  import styled from 'styled-components';
5
6
  import StyledBaseButton from './StyledBaseButton.web.js';
6
7
  import { backgroundColor, textColor, buttonIconOnlySizeToIconSizeMap, buttonSizeToIconSizeMap, buttonSizeToSpinnerSizeMap, minHeight, buttonIconPadding, buttonIconOnlyPadding, buttonPadding, typography } from './buttonTokens.js';
8
+ import AnimatedButtonContent from './AnimatedButtonContent.web.js';
7
9
  import getIn from '../../../utils/lodashButBetter/get.js';
8
10
  import '../../../utils/index.js';
11
+ import { useButtonGroupContext } from '../../ButtonGroup/ButtonGroupContext.js';
9
12
  import '../../Box/styledProps/index.js';
10
13
  import '../../Typography/BaseText/index.js';
11
14
  import '../../BladeProvider/index.js';
@@ -21,7 +24,7 @@ import '../../../utils/makeSpace/index.js';
21
24
  import '../../../utils/metaAttribute/index.js';
22
25
  import '../../../utils/getStringChildren/index.js';
23
26
  import '../../../utils/logger/index.js';
24
- import { jsxs, jsx } from 'react/jsx-runtime';
27
+ import { jsx, jsxs } from 'react/jsx-runtime';
25
28
  import { isReactNative } from '../../../utils/platform/isReactNative.js';
26
29
  import { throwBladeError } from '../../../utils/logger/logger.js';
27
30
  import { makeSize } from '../../../utils/makeSize/makeSize.js';
@@ -101,7 +104,7 @@ var getProps = function getProps(_ref3) {
101
104
  if (variant === 'tertiary' && color !== 'primary' && color !== 'white') {
102
105
  throwBladeError({
103
106
  moduleName: 'BaseButton',
104
- message: "Tertiary variant can only be used with color: \"default\" or \"white\" but received \"".concat(color, "\"")
107
+ message: "Tertiary variant can only be used with color: \"primary\" or \"white\" but received \"".concat(color, "\"")
105
108
  });
106
109
  }
107
110
  var isIconOnly = hasIcon && (!children || (children === null || children === void 0 ? void 0 : children.trim().length) === 0);
@@ -215,6 +218,7 @@ var ButtonContent = /*#__PURE__*/styled(BaseBox).withConfig({
215
218
  };
216
219
  });
217
220
  var _BaseButton = function _BaseButton(_ref5, ref) {
221
+ var _buttonGroupProps$isD, _buttonGroupProps$siz, _buttonGroupProps$var, _buttonGroupProps$col, _buttonGroupProps$isF;
218
222
  var href = _ref5.href,
219
223
  target = _ref5.target,
220
224
  rel = _ref5.rel,
@@ -235,7 +239,7 @@ var _BaseButton = function _BaseButton(_ref5, ref) {
235
239
  isLoading = _ref5$isLoading === void 0 ? false : _ref5$isLoading,
236
240
  onClick = _ref5.onClick,
237
241
  onBlur = _ref5.onBlur,
238
- onKeyDown = _ref5.onKeyDown,
242
+ _onKeyDown = _ref5.onKeyDown,
239
243
  _ref5$type = _ref5.type,
240
244
  type = _ref5$type === void 0 ? 'button' : _ref5$type,
241
245
  children = _ref5.children,
@@ -246,15 +250,20 @@ var _BaseButton = function _BaseButton(_ref5, ref) {
246
250
  onPointerDown = _ref5.onPointerDown,
247
251
  onPointerEnter = _ref5.onPointerEnter,
248
252
  accessibilityProps = _ref5.accessibilityProps,
249
- onTouchEnd = _ref5.onTouchEnd,
250
- onTouchStart = _ref5.onTouchStart,
253
+ _onTouchEnd = _ref5.onTouchEnd,
254
+ _onTouchStart = _ref5.onTouchStart,
251
255
  rest = _objectWithoutProperties(_ref5, _excluded);
252
256
  var _useTheme = useTheme(),
253
257
  theme = _useTheme.theme;
258
+ var buttonGroupProps = useButtonGroupContext();
259
+ var _React$useState = React__default.useState(false),
260
+ _React$useState2 = _slicedToArray(_React$useState, 2),
261
+ isPressed = _React$useState2[0],
262
+ setIsPressed = _React$useState2[1];
254
263
  var isLink = Boolean(href);
255
264
  var childrenString = getStringFromReactText(children);
256
265
  // Button cannot be disabled when its rendered as Link
257
- var disabled = isLoading || isDisabled && !isLink;
266
+ var disabled = (_buttonGroupProps$isD = buttonGroupProps.isDisabled) !== null && _buttonGroupProps$isD !== void 0 ? _buttonGroupProps$isD : isLoading || isDisabled && !isLink;
258
267
  if (false) {
259
268
  if (!Icon && !(childrenString !== null && childrenString !== void 0 && childrenString.trim())) {
260
269
  throwBladeError({
@@ -272,10 +281,10 @@ var _BaseButton = function _BaseButton(_ref5, ref) {
272
281
  buttonTypographyTokens: typography,
273
282
  children: childrenString,
274
283
  isDisabled: disabled,
275
- size: size,
276
- variant: variant,
284
+ size: (_buttonGroupProps$siz = buttonGroupProps.size) !== null && _buttonGroupProps$siz !== void 0 ? _buttonGroupProps$siz : size,
285
+ variant: (_buttonGroupProps$var = buttonGroupProps.variant) !== null && _buttonGroupProps$var !== void 0 ? _buttonGroupProps$var : variant,
277
286
  theme: theme,
278
- color: color,
287
+ color: (_buttonGroupProps$col = buttonGroupProps.color) !== null && _buttonGroupProps$col !== void 0 ? _buttonGroupProps$col : color,
279
288
  hasIcon: Boolean(Icon)
280
289
  }),
281
290
  defaultBorderColor = _getProps.defaultBorderColor,
@@ -306,7 +315,27 @@ var _BaseButton = function _BaseButton(_ref5, ref) {
306
315
  return getRenderElement(href);
307
316
  }, [href]);
308
317
  var defaultRel = target === '_blank' ? 'noreferrer noopener' : undefined;
309
- return /*#__PURE__*/jsxs(StyledBaseButton, _objectSpread(_objectSpread(_objectSpread({
318
+ var handlePointerPressedIn = React__default.useCallback(function () {
319
+ if (disabled) return;
320
+ setIsPressed(true);
321
+ }, [disabled]);
322
+ var handlePointerPressedOut = React__default.useCallback(function () {
323
+ if (disabled) return;
324
+ setIsPressed(false);
325
+ }, [disabled]);
326
+ var handleKeyboardPressedIn = React__default.useCallback(function (e) {
327
+ if (disabled) return;
328
+ if (e.key === ' ' || e.key === 'Enter') {
329
+ setIsPressed(true);
330
+ }
331
+ }, [disabled]);
332
+ var handleKeyboardPressedOut = React__default.useCallback(function (e) {
333
+ if (disabled) return;
334
+ if (e.key === ' ' || e.key === 'Enter') {
335
+ setIsPressed(false);
336
+ }
337
+ }, [disabled]);
338
+ return /*#__PURE__*/jsx(StyledBaseButton, _objectSpread(_objectSpread(_objectSpread({
310
339
  ref: ref
311
340
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error
312
341
  // @ts-ignore: On React Native it will always be undefined but TS doesn't understand that
@@ -333,86 +362,107 @@ var _BaseButton = function _BaseButton(_ref5, ref) {
333
362
  focusRingColor: focusRingColor,
334
363
  hoverBorderColor: hoverBorderColor,
335
364
  hoverBackgroundColor: hoverBackgroundColor,
336
- isFullWidth: isFullWidth,
365
+ isFullWidth: (_buttonGroupProps$isF = buttonGroupProps.isFullWidth) !== null && _buttonGroupProps$isF !== void 0 ? _buttonGroupProps$isF : isFullWidth,
337
366
  onClick: onClick,
338
367
  onBlur: onBlur,
339
368
  onFocus: onFocus,
340
369
  onMouseLeave: onMouseLeave,
341
370
  onMouseMove: onMouseMove,
342
371
  onPointerDown: onPointerDown,
343
- onPointerEnter: onPointerEnter,
344
- onKeyDown: onKeyDown,
345
- onTouchStart: onTouchStart,
346
- onTouchEnd: onTouchEnd,
372
+ onPointerEnter: onPointerEnter
373
+ // Setting type for web fails it on native typecheck and vice versa
374
+ ,
375
+ onKeyDown: function onKeyDown(event) {
376
+ handleKeyboardPressedIn(event);
377
+ _onKeyDown === null || _onKeyDown === void 0 ? void 0 : _onKeyDown(event);
378
+ },
379
+ onTouchStart: function onTouchStart(event) {
380
+ handlePointerPressedIn();
381
+ _onTouchStart === null || _onTouchStart === void 0 ? void 0 : _onTouchStart(event);
382
+ },
383
+ onTouchEnd: function onTouchEnd(event) {
384
+ handlePointerPressedOut();
385
+ _onTouchEnd === null || _onTouchEnd === void 0 ? void 0 : _onTouchEnd(event);
386
+ },
347
387
  type: type,
348
388
  borderWidth: borderWidth,
349
389
  borderRadius: borderRadius,
350
390
  motionDuration: motionDuration,
351
- motionEasing: motionEasing
391
+ motionEasing: motionEasing,
392
+ isPressed: isPressed,
393
+ onMouseDown: handlePointerPressedIn,
394
+ onMouseUp: handlePointerPressedOut,
395
+ onMouseOut: handlePointerPressedOut,
396
+ onKeyUp: handleKeyboardPressedOut
352
397
  }, metaAttribute({
353
398
  name: MetaConstants.Button,
354
399
  testID: testID
355
400
  })), getStyledProps(rest)), {}, {
356
- children: [isLoading ? /*#__PURE__*/jsx(BaseBox, {
357
- display: "flex",
358
- justifyContent: "center",
359
- alignItems: "center",
360
- position: "absolute",
361
- top: "0px",
362
- left: "0px",
363
- bottom: "0px",
364
- right: "0px",
365
- zIndex: 1,
366
- children: /*#__PURE__*/jsx(BaseSpinner, {
367
- accessibilityLabel: "Loading",
368
- size: spinnerSize,
369
- color: color
370
- })
371
- }) : null, /*#__PURE__*/jsxs(ButtonContent, {
372
- display: "flex",
373
- flexDirection: "row",
374
- alignItems: "center",
375
- justifyContent: "center",
376
- flex: 1,
377
- isHidden: isLoading,
378
- zIndex: 1,
379
- children: [Icon && iconPosition == 'left' ? /*#__PURE__*/jsx(BaseBox, {
380
- paddingRight: iconPadding,
401
+ children: /*#__PURE__*/jsxs(AnimatedButtonContent, {
402
+ motionDuration: motionDuration,
403
+ motionEasing: motionEasing,
404
+ isPressed: isPressed,
405
+ children: [isLoading ? /*#__PURE__*/jsx(BaseBox, {
381
406
  display: "flex",
382
407
  justifyContent: "center",
383
408
  alignItems: "center",
384
- children: /*#__PURE__*/jsx(Icon, {
385
- size: iconSize,
386
- color: iconColor
409
+ position: "absolute",
410
+ top: "0px",
411
+ left: "0px",
412
+ bottom: "0px",
413
+ right: "0px",
414
+ zIndex: 1,
415
+ children: /*#__PURE__*/jsx(BaseSpinner, {
416
+ accessibilityLabel: "Loading",
417
+ size: spinnerSize,
418
+ color: color
387
419
  })
388
- }) : null, text ? /*#__PURE__*/jsx(BaseText, {
389
- lineHeight: lineHeight,
390
- fontSize: fontSize
391
- // figma and web have different font-smoothing properties
392
- // which causes web version of button text to look much bolder
393
- // than figma version. To fix this we are changing font-weight from 600 to 500
394
- // https://forum.figma.com/t/why-does-a-font-weight-in-figma-seem-lighter-than-the-same-weight-in-the-browser/2207
395
- ,
396
- fontWeight: "medium",
397
- textAlign: "center",
398
- color: textColor,
399
- children: text
400
- }) : null, Icon && iconPosition == 'right' ? /*#__PURE__*/jsx(BaseBox, {
401
- paddingLeft: iconPadding,
420
+ }) : null, /*#__PURE__*/jsxs(ButtonContent, {
402
421
  display: "flex",
403
- justifyContent: "center",
422
+ flexDirection: "row",
404
423
  alignItems: "center",
405
- children: /*#__PURE__*/jsx(Icon, {
406
- size: iconSize,
407
- color: iconColor
408
- })
409
- }) : null]
410
- })]
424
+ justifyContent: "center",
425
+ flex: 1,
426
+ isHidden: isLoading,
427
+ zIndex: 1,
428
+ children: [Icon && iconPosition == 'left' ? /*#__PURE__*/jsx(BaseBox, {
429
+ paddingRight: iconPadding,
430
+ display: "flex",
431
+ justifyContent: "center",
432
+ alignItems: "center",
433
+ children: /*#__PURE__*/jsx(Icon, {
434
+ size: iconSize,
435
+ color: iconColor
436
+ })
437
+ }) : null, text ? /*#__PURE__*/jsx(BaseText, {
438
+ lineHeight: lineHeight,
439
+ fontSize: fontSize
440
+ // figma and web have different font-smoothing properties
441
+ // which causes web version of button text to look much bolder
442
+ // than figma version. To fix this we are changing font-weight from 600 to 500
443
+ // https://forum.figma.com/t/why-does-a-font-weight-in-figma-seem-lighter-than-the-same-weight-in-the-browser/2207
444
+ ,
445
+ fontWeight: "medium",
446
+ textAlign: "center",
447
+ color: textColor,
448
+ children: text
449
+ }) : null, Icon && iconPosition == 'right' ? /*#__PURE__*/jsx(BaseBox, {
450
+ paddingLeft: iconPadding,
451
+ display: "flex",
452
+ justifyContent: "center",
453
+ alignItems: "center",
454
+ children: /*#__PURE__*/jsx(Icon, {
455
+ size: iconSize,
456
+ color: iconColor
457
+ })
458
+ }) : null]
459
+ })]
460
+ })
411
461
  }));
412
462
  };
413
463
  var BaseButton = /*#__PURE__*/assignWithoutSideEffects( /*#__PURE__*/React__default.forwardRef(_BaseButton), {
414
464
  displayName: 'BaseButton'
415
465
  });
416
466
 
417
- export { BaseButton as default };
467
+ export { BaseButton as default, getBackgroundColorToken };
418
468
  //# sourceMappingURL=BaseButton.js.map