@razorpay/blade 12.33.1 → 12.33.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/native/components/Accordion/AccordionButton.native.js +1 -1
- package/build/lib/native/components/Accordion/AccordionButton.native.js.map +1 -1
- package/build/lib/native/components/Accordion/AccordionItemHeader.js +2 -1
- package/build/lib/native/components/Accordion/AccordionItemHeader.js.map +1 -1
- package/build/lib/native/components/Accordion/commonStyles.js +1 -1
- package/build/lib/native/components/Accordion/commonStyles.js.map +1 -1
- package/build/lib/native/components/ActionList/ActionListItem.js +1 -1
- package/build/lib/native/components/ActionList/ActionListItem.js.map +1 -1
- package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js +1 -1
- package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
- package/build/lib/native/components/Button/BaseButton/BaseButton.js +1 -1
- package/build/lib/native/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/native/components/Button/BaseButton/buttonTokens.js +1 -1
- package/build/lib/native/components/Button/BaseButton/buttonTokens.js.map +1 -1
- package/build/lib/native/components/Dropdown/Dropdown.js +1 -1
- package/build/lib/native/components/Dropdown/Dropdown.js.map +1 -1
- package/build/lib/native/components/Dropdown/DropdownButton.js +1 -1
- package/build/lib/native/components/Dropdown/DropdownButton.js.map +1 -1
- package/build/lib/native/components/Dropdown/InputDropdownButton.native.js +7 -0
- package/build/lib/native/components/Dropdown/InputDropdownButton.native.js.map +1 -0
- package/build/lib/native/components/Dropdown/dropdownComponentIds.js +1 -1
- package/build/lib/native/components/Dropdown/dropdownComponentIds.js.map +1 -1
- package/build/lib/native/components/Dropdown/useDropdown.js.map +1 -1
- package/build/lib/native/components/Icons/ChevronUpDownIcon/ChevronUpDownIcon.js +12 -0
- package/build/lib/native/components/Icons/ChevronUpDownIcon/ChevronUpDownIcon.js.map +1 -0
- package/build/lib/native/components/Input/BaseInput/BaseInput.js +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/baseInputStyles.js +1 -1
- package/build/lib/native/components/Input/BaseInput/baseInputStyles.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/baseInputTokens.js +1 -1
- package/build/lib/native/components/Input/BaseInput/baseInputTokens.js.map +1 -1
- package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +2 -5
- package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
- package/build/lib/native/components/Input/SearchInput/SearchInput.js +12 -3
- package/build/lib/native/components/Input/SearchInput/SearchInput.js.map +1 -1
- package/build/lib/native/components/Input/TextInput/TextInput.js +11 -3
- package/build/lib/native/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/native/components/Typography/Text/Text.js +1 -1
- package/build/lib/native/components/Typography/Text/Text.js.map +1 -1
- package/build/lib/native/components/index.js +2 -0
- package/build/lib/native/components/index.js.map +1 -1
- package/build/lib/native/utils/useControlledDropdownInput/useControlledDropdownInput.js +14 -0
- package/build/lib/native/utils/useControlledDropdownInput/useControlledDropdownInput.js.map +1 -0
- package/build/lib/web/development/components/Accordion/AccordionItemHeader.js +18 -2
- package/build/lib/web/development/components/Accordion/AccordionItemHeader.js.map +1 -1
- package/build/lib/web/development/components/Accordion/StyledAccordionButton.web.js +4 -3
- package/build/lib/web/development/components/Accordion/StyledAccordionButton.web.js.map +1 -1
- package/build/lib/web/development/components/Accordion/commonStyles.js +1 -11
- package/build/lib/web/development/components/Accordion/commonStyles.js.map +1 -1
- package/build/lib/web/development/components/ActionList/ActionListItem.js +2 -1
- package/build/lib/web/development/components/ActionList/ActionListItem.js.map +1 -1
- package/build/lib/web/development/components/BaseHeaderFooter/BaseHeader.js +6 -3
- package/build/lib/web/development/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
- package/build/lib/web/development/components/Button/BaseButton/BaseButton.js +24 -3
- package/build/lib/web/development/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/web/development/components/Button/BaseButton/StyledBaseButton.web.js +14 -2
- package/build/lib/web/development/components/Button/BaseButton/StyledBaseButton.web.js.map +1 -1
- package/build/lib/web/development/components/Button/BaseButton/buttonTokens.js +19 -0
- package/build/lib/web/development/components/Button/BaseButton/buttonTokens.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/Dropdown.js +4 -1
- package/build/lib/web/development/components/Dropdown/Dropdown.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/DropdownButton.js +4 -1
- package/build/lib/web/development/components/Dropdown/DropdownButton.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/DropdownOverlay.web.js +4 -2
- package/build/lib/web/development/components/Dropdown/DropdownOverlay.web.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/InputDropdownButton.web.js +180 -0
- package/build/lib/web/development/components/Dropdown/InputDropdownButton.web.js.map +1 -0
- package/build/lib/web/development/components/Dropdown/dropdownComponentIds.js +2 -1
- package/build/lib/web/development/components/Dropdown/dropdownComponentIds.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/index.js +1 -0
- package/build/lib/web/development/components/Dropdown/index.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/useDropdown.js.map +1 -1
- package/build/lib/web/development/components/Icons/ChevronUpDownIcon/ChevronUpDownIcon.js +40 -0
- package/build/lib/web/development/components/Icons/ChevronUpDownIcon/ChevronUpDownIcon.js.map +1 -0
- package/build/lib/web/development/components/Icons/ChevronUpDownIcon/index.js +2 -0
- package/build/lib/web/development/components/Icons/ChevronUpDownIcon/index.js.map +1 -0
- package/build/lib/web/development/components/Icons/index.js +1 -0
- package/build/lib/web/development/components/Icons/index.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInput.js +10 -4
- package/build/lib/web/development/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js +32 -8
- package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/StyledBaseInput.web.js +2 -1
- package/build/lib/web/development/components/Input/BaseInput/StyledBaseInput.web.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/baseInputStyles.js +8 -4
- package/build/lib/web/development/components/Input/BaseInput/baseInputStyles.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/baseInputTokens.js +1 -1
- package/build/lib/web/development/components/Input/BaseInput/baseInputTokens.js.map +1 -1
- package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +25 -124
- package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
- package/build/lib/web/development/components/Input/PhoneNumberInput/CountrySelector.web.js +6 -4
- package/build/lib/web/development/components/Input/PhoneNumberInput/CountrySelector.web.js.map +1 -1
- package/build/lib/web/development/components/Input/SearchInput/SearchInput.js +97 -30
- package/build/lib/web/development/components/Input/SearchInput/SearchInput.js.map +1 -1
- package/build/lib/web/development/components/Input/TextInput/TextInput.js +123 -31
- package/build/lib/web/development/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/web/development/components/Typography/Text/Text.js +0 -1
- package/build/lib/web/development/components/Typography/Text/Text.js.map +1 -1
- package/build/lib/web/development/components/index.js +2 -0
- package/build/lib/web/development/components/index.js.map +1 -1
- package/build/lib/web/development/utils/useControlledDropdownInput/index.js +2 -0
- package/build/lib/web/development/utils/useControlledDropdownInput/index.js.map +1 -0
- package/build/lib/web/development/utils/useControlledDropdownInput/useControlledDropdownInput.js +108 -0
- package/build/lib/web/development/utils/useControlledDropdownInput/useControlledDropdownInput.js.map +1 -0
- package/build/lib/web/production/components/Accordion/AccordionItemHeader.js +18 -2
- package/build/lib/web/production/components/Accordion/AccordionItemHeader.js.map +1 -1
- package/build/lib/web/production/components/Accordion/StyledAccordionButton.web.js +4 -3
- package/build/lib/web/production/components/Accordion/StyledAccordionButton.web.js.map +1 -1
- package/build/lib/web/production/components/Accordion/commonStyles.js +1 -11
- package/build/lib/web/production/components/Accordion/commonStyles.js.map +1 -1
- package/build/lib/web/production/components/ActionList/ActionListItem.js +2 -1
- package/build/lib/web/production/components/ActionList/ActionListItem.js.map +1 -1
- package/build/lib/web/production/components/BaseHeaderFooter/BaseHeader.js +6 -3
- package/build/lib/web/production/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
- package/build/lib/web/production/components/Button/BaseButton/BaseButton.js +24 -3
- package/build/lib/web/production/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/web/production/components/Button/BaseButton/StyledBaseButton.web.js +14 -2
- package/build/lib/web/production/components/Button/BaseButton/StyledBaseButton.web.js.map +1 -1
- package/build/lib/web/production/components/Button/BaseButton/buttonTokens.js +19 -0
- package/build/lib/web/production/components/Button/BaseButton/buttonTokens.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/Dropdown.js +4 -1
- package/build/lib/web/production/components/Dropdown/Dropdown.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/DropdownButton.js +4 -1
- package/build/lib/web/production/components/Dropdown/DropdownButton.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/DropdownOverlay.web.js +4 -2
- package/build/lib/web/production/components/Dropdown/DropdownOverlay.web.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/InputDropdownButton.web.js +180 -0
- package/build/lib/web/production/components/Dropdown/InputDropdownButton.web.js.map +1 -0
- package/build/lib/web/production/components/Dropdown/dropdownComponentIds.js +2 -1
- package/build/lib/web/production/components/Dropdown/dropdownComponentIds.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/index.js +1 -0
- package/build/lib/web/production/components/Dropdown/index.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/useDropdown.js.map +1 -1
- package/build/lib/web/production/components/Icons/ChevronUpDownIcon/ChevronUpDownIcon.js +40 -0
- package/build/lib/web/production/components/Icons/ChevronUpDownIcon/ChevronUpDownIcon.js.map +1 -0
- package/build/lib/web/production/components/Icons/ChevronUpDownIcon/index.js +2 -0
- package/build/lib/web/production/components/Icons/ChevronUpDownIcon/index.js.map +1 -0
- package/build/lib/web/production/components/Icons/index.js +1 -0
- package/build/lib/web/production/components/Icons/index.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInput.js +10 -4
- package/build/lib/web/production/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js +32 -8
- package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js +2 -1
- package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/baseInputStyles.js +8 -4
- package/build/lib/web/production/components/Input/BaseInput/baseInputStyles.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/baseInputTokens.js +1 -1
- package/build/lib/web/production/components/Input/BaseInput/baseInputTokens.js.map +1 -1
- package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +25 -124
- package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
- package/build/lib/web/production/components/Input/PhoneNumberInput/CountrySelector.web.js +6 -4
- package/build/lib/web/production/components/Input/PhoneNumberInput/CountrySelector.web.js.map +1 -1
- package/build/lib/web/production/components/Input/SearchInput/SearchInput.js +97 -30
- package/build/lib/web/production/components/Input/SearchInput/SearchInput.js.map +1 -1
- package/build/lib/web/production/components/Input/TextInput/TextInput.js +123 -31
- package/build/lib/web/production/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/web/production/components/Typography/Text/Text.js +0 -1
- package/build/lib/web/production/components/Typography/Text/Text.js.map +1 -1
- package/build/lib/web/production/components/index.js +2 -0
- package/build/lib/web/production/components/index.js.map +1 -1
- package/build/lib/web/production/utils/useControlledDropdownInput/index.js +2 -0
- package/build/lib/web/production/utils/useControlledDropdownInput/index.js.map +1 -0
- package/build/lib/web/production/utils/useControlledDropdownInput/useControlledDropdownInput.js +108 -0
- package/build/lib/web/production/utils/useControlledDropdownInput/useControlledDropdownInput.js.map +1 -0
- package/build/types/components/index.d.ts +3098 -3001
- package/build/types/components/index.native.d.ts +2719 -2686
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseHeader.js","sources":["../../../../../../src/components/BaseHeaderFooter/BaseHeader.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport type { ReactDOMAttributes } from '@use-gesture/react/dist/declarations/src/types';\nimport { Divider } from '~components/Divider';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Heading, Text } from '~components/Typography';\nimport { IconButton } from '~components/Button/IconButton';\nimport { ChevronLeftIcon, CloseIcon } from '~components/Icons';\nimport type { DataAnalyticsAttribute, TestID } from '~utils/types';\nimport type { BoxProps } from '~components/Box';\nimport { Box } from '~components/Box';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getComponentId } from '~utils/isValidAllowedChildren';\nimport { isReactNative, makeSize } from '~utils';\nimport { metaAttribute } from '~utils/metaAttribute';\nimport { logger, throwBladeError } from '~utils/logger';\nimport { size as sizeToken } from '~tokens/global';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype BaseHeaderProps = {\n title?: string;\n subtitle?: string;\n /**\n * Leading part of the header placed at the left most side of the header\n */\n leading?: React.ReactNode;\n /**\n * Trailing part of the header placed at the right most side of the header\n */\n trailing?: React.ReactNode;\n /**\n * Placed adjacent to the title text\n */\n titleSuffix?: React.ReactNode;\n /**\n * @default true\n */\n showDivider?: boolean;\n /**\n * @default false\n */\n showBackButton?: boolean;\n\n /**\n * Slot for rendering any trailing interaction element into BaseHeader.\n *\n * E.g. Used in accordion to render CollapsibleChevronIcon\n */\n trailingInteractionElement?: React.ReactNode;\n\n /**\n * Decides size of the Header\n */\n size?: 'xlarge' | 'large' | 'medium';\n /**\n * @default true\n */\n showCloseButton?: boolean;\n\n /**\n * Disabled state of BaseHeader\n *\n * @default false\n */\n isDisabled?: boolean;\n\n paddingX?: BoxProps['paddingX'];\n marginY?: BoxProps['marginY'];\n marginTop?: BoxProps['marginTop'];\n marginBottom?: BoxProps['marginBottom'];\n onCloseButtonClick?: () => void;\n onBackButtonClick?: () => void;\n closeButtonRef?: React.MutableRefObject<any>;\n backButtonRef?: React.MutableRefObject<any>;\n metaComponentName?: string;\n /**\n * inner child of BottomSheetHeader. Meant to be used for AutoComplete only\n */\n children?: React.ReactElement | React.ReactElement[];\n /**\n * Background image of the header\n *\n * You can use this for adding gradients.\n */\n backgroundImage?: BoxProps['backgroundImage'];\n} & Pick<\n ReactDOMAttributes,\n | 'onClickCapture'\n | 'onKeyDown'\n | 'onKeyUp'\n | 'onLostPointerCapture'\n | 'onPointerCancel'\n | 'onPointerDown'\n | 'onPointerMove'\n | 'onPointerUp'\n> &\n TestID &\n DataAnalyticsAttribute;\n\ntype TrailingComponents = 'Button' | 'Badge' | 'Link' | 'Text' | 'Amount';\n\nconst commonCenterBoxProps: BoxProps = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n};\n\nconst centerBoxProps: { xlarge: BoxProps; large: BoxProps; medium: BoxProps } = {\n xlarge: {\n ...commonCenterBoxProps,\n height: '28px',\n },\n large: {\n ...commonCenterBoxProps,\n // We want to align title, icon, titleSuffix, trailing, closeButton to baseline\n // But we also want to keep them center aligned to each other\n // So we add a virtual Box around these slots with 28px and center align them to that box\n // We have done similar thing in figma as well (which is where this 28px comes from)\n height: '28px',\n },\n medium: {\n ...commonCenterBoxProps,\n height: '20px',\n },\n};\n\nconst absolutePositionedButton = {\n position: 'absolute',\n top: 'spacing.0',\n right: 'spacing.0',\n} as const;\n\nconst sizeTokensMapping = {\n xlarge: {\n title: 'small',\n type: 'heading',\n },\n large: {\n title: 'large',\n type: 'text',\n },\n medium: {\n title: 'medium',\n type: 'text',\n },\n} as const;\n\n// prop restriction map for corresponding sub components\nconst propRestrictionMap = {\n large: {\n Button: {\n size: 'xsmall',\n variant: 'tertiary',\n },\n IconButton: {\n size: 'large',\n },\n Badge: {\n size: 'medium',\n },\n Link: {\n size: 'medium',\n },\n Text: {\n size: 'medium',\n variant: 'body',\n },\n Amount: {\n type: 'body',\n size: 'medium',\n },\n },\n xlarge: {\n Button: {\n size: 'xsmall',\n variant: 'tertiary',\n },\n IconButton: {\n size: 'large',\n },\n Badge: {\n size: 'medium',\n },\n Link: {\n size: 'medium',\n },\n Text: {\n size: 'medium',\n variant: 'body',\n },\n Amount: {\n type: 'body',\n size: 'medium',\n },\n },\n medium: {\n Button: {\n size: 'xsmall',\n variant: 'tertiary',\n },\n IconButton: {\n size: 'large',\n },\n Badge: {\n size: 'small',\n },\n Link: {\n size: 'small',\n },\n Text: {\n size: 'small',\n variant: 'body',\n },\n Amount: {\n type: 'body',\n size: 'small',\n },\n },\n} as const;\n\nconst useTrailingRestriction = ({\n trailing,\n size,\n}: {\n size: NonNullable<BaseHeaderProps['size']>;\n trailing: BaseHeaderProps['trailing'];\n}): React.ReactNode => {\n const [\n validatedTrailingComponent,\n setValidatedTrailingComponent,\n ] = React.useState<React.ReactElement | null>(null);\n\n // validate and restrict sub component props in trailing prop\n React.useEffect(() => {\n if (React.isValidElement(trailing)) {\n const trailingComponentType = getComponentId(trailing) as TrailingComponents;\n const restrictedProps = propRestrictionMap[size][trailingComponentType];\n\n const allowedComponents = Object.keys(propRestrictionMap[size]);\n if (__DEV__) {\n if (!restrictedProps) {\n throwBladeError({\n message: `Only one of \\`${allowedComponents.join(\n ', ',\n )}\\` component is accepted as trailing`,\n moduleName: 'Header',\n });\n }\n }\n\n const restrictedPropKeys = Object.keys(propRestrictionMap[size][trailingComponentType]);\n for (const prop of restrictedPropKeys) {\n if (trailing?.props?.hasOwnProperty(prop)) {\n logger({\n message: `Do not pass \"${prop}\" to \"${trailingComponentType}\" while inside Header trailing, because we override it.`,\n moduleName: 'Header',\n type: 'warn',\n });\n }\n }\n setValidatedTrailingComponent(\n React.cloneElement(trailing as React.ReactElement, restrictedProps),\n );\n }\n }, [trailing, size]);\n\n return validatedTrailingComponent;\n};\n\nconst _BaseHeader = ({\n title,\n subtitle,\n leading,\n titleSuffix,\n trailing,\n showDivider = true,\n showBackButton = false,\n showCloseButton = true,\n onBackButtonClick,\n onCloseButtonClick,\n closeButtonRef,\n backButtonRef,\n testID,\n onClickCapture,\n onKeyDown,\n onKeyUp,\n onLostPointerCapture,\n onPointerCancel,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n metaComponentName,\n paddingX,\n marginY,\n marginBottom,\n marginTop,\n size = 'large',\n isDisabled,\n children,\n trailingInteractionElement,\n backgroundImage,\n ...rest\n}: BaseHeaderProps): React.ReactElement => {\n const validatedTrailingComponent = useTrailingRestriction({ trailing, size });\n const shouldWrapTitle = titleSuffix && trailing && showBackButton && showCloseButton;\n const hasOnlyChildren = children && !(title || subtitle || titleSuffix || leading);\n\n const webOnlyEventHandlers: Record<string, any> = isReactNative()\n ? {}\n : {\n onClickCapture,\n onKeyDown,\n onKeyUp,\n onLostPointerCapture,\n onPointerCancel,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n };\n\n return (\n <BaseBox\n {...metaAttribute({ name: metaComponentName, testID })}\n {...makeAnalyticsAttribute(rest)}\n backgroundImage={backgroundImage}\n >\n <BaseBox\n marginY={marginY ?? { base: 'spacing.5', m: 'spacing.6' }}\n paddingX={paddingX ?? { base: 'spacing.5', m: 'spacing.6' }}\n marginTop={marginTop}\n marginBottom={marginBottom}\n touchAction=\"none\"\n {...webOnlyEventHandlers}\n >\n <BaseBox position=\"relative\" display=\"flex\" flexDirection=\"row\" userSelect=\"none\">\n {showBackButton ? (\n <BaseBox overflow=\"visible\" marginRight=\"spacing.5\">\n <Box {...centerBoxProps[size]}>\n <IconButton\n ref={backButtonRef}\n size=\"large\"\n icon={ChevronLeftIcon}\n onClick={() => onBackButtonClick?.()}\n accessibilityLabel=\"Back\"\n />\n </Box>\n </BaseBox>\n ) : null}\n {hasOnlyChildren ? null : (\n <BaseBox\n paddingRight=\"spacing.5\"\n marginRight=\"auto\"\n flex=\"auto\"\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"flex-start\"\n >\n {leading ? (\n <BaseBox marginRight=\"spacing.3\" {...centerBoxProps[size]}>\n {leading}\n </BaseBox>\n ) : null}\n <BaseBox flex=\"auto\">\n <BaseBox\n // Explicitly setting maxWidth in React Native because text is not being wrapped properly when multiple fix width components are rendered in header\n // In web, flex containers seem to work a expected\n // @todo: resolve this if we figure out some better solution later\n maxWidth={isReactNative() && shouldWrapTitle ? '100px' : undefined}\n flexShrink={0}\n display=\"flex\"\n flexDirection=\"row\"\n >\n {title ? (\n sizeTokensMapping[size].type === 'heading' ? (\n <Heading\n as=\"h2\"\n marginTop={makeSize(sizeToken['1'])}\n size={sizeTokensMapping[size].title}\n weight=\"semibold\"\n color={\n isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.normal'\n }\n wordBreak=\"break-word\"\n >\n {title}\n </Heading>\n ) : (\n <Text\n size={sizeTokensMapping[size].title}\n marginTop={makeSize(sizeToken['1'])}\n weight=\"semibold\"\n color={\n isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.normal'\n }\n wordBreak=\"break-word\"\n >\n {title}\n </Text>\n )\n ) : null}\n {titleSuffix && (\n <BaseBox marginLeft=\"spacing.3\">\n <Box {...centerBoxProps[size]}>{titleSuffix}</Box>\n </BaseBox>\n )}\n </BaseBox>\n {subtitle ? (\n <Text\n variant=\"body\"\n size=\"small\"\n weight=\"regular\"\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.muted'}\n >\n {subtitle}\n </Text>\n ) : null}\n </BaseBox>\n </BaseBox>\n )}\n {validatedTrailingComponent ? (\n <BaseBox marginRight=\"spacing.5\">\n <Box {...centerBoxProps[size]}>{validatedTrailingComponent}</Box>\n </BaseBox>\n ) : null}\n {showCloseButton ? (\n <Box {...(hasOnlyChildren ? absolutePositionedButton : centerBoxProps[size])}>\n <IconButton\n ref={closeButtonRef}\n size=\"large\"\n icon={CloseIcon}\n accessibilityLabel=\"Close\"\n onClick={() => onCloseButtonClick?.()}\n />\n </Box>\n ) : null}\n {trailingInteractionElement && !children ? (\n <Box {...centerBoxProps[size]}>{trailingInteractionElement}</Box>\n ) : null}\n </BaseBox>\n <BaseBox\n display=\"flex\"\n width=\"100%\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n >\n <Box width=\"100%\">{children}</Box>\n {trailingInteractionElement && children ? (\n <Box alignSelf=\"flex-start\" {...centerBoxProps[size]}>\n {trailingInteractionElement}\n </Box>\n ) : null}\n </BaseBox>\n </BaseBox>\n {showDivider ? <Divider /> : null}\n </BaseBox>\n );\n};\n\nconst BaseHeader = assignWithoutSideEffects(_BaseHeader, {\n componentId: 'BaseHeader',\n});\n\nexport type { BaseHeaderProps };\nexport { BaseHeader };\n"],"names":["commonCenterBoxProps","display","alignItems","justifyContent","centerBoxProps","xlarge","_objectSpread","height","large","medium","absolutePositionedButton","position","top","right","sizeTokensMapping","title","type","propRestrictionMap","Button","size","variant","IconButton","Badge","Link","Text","Amount","useTrailingRestriction","_ref","trailing","_React$useState","React","useState","_React$useState2","_slicedToArray","validatedTrailingComponent","setValidatedTrailingComponent","useEffect","isValidElement","trailingComponentType","getComponentId","restrictedProps","allowedComponents","Object","keys","throwBladeError","message","concat","join","moduleName","restrictedPropKeys","_i","_restrictedPropKeys","length","_trailing$props","prop","props","hasOwnProperty","logger","cloneElement","_BaseHeader","_ref2","subtitle","leading","titleSuffix","_ref2$showDivider","showDivider","_ref2$showBackButton","showBackButton","_ref2$showCloseButton","showCloseButton","onBackButtonClick","onCloseButtonClick","closeButtonRef","backButtonRef","testID","onClickCapture","onKeyDown","onKeyUp","onLostPointerCapture","onPointerCancel","onPointerDown","onPointerMove","onPointerUp","metaComponentName","paddingX","marginY","marginBottom","marginTop","_ref2$size","isDisabled","children","trailingInteractionElement","backgroundImage","rest","_objectWithoutProperties","_excluded","shouldWrapTitle","hasOnlyChildren","webOnlyEventHandlers","isReactNative","_jsxs","BaseBox","metaAttribute","name","makeAnalyticsAttribute","base","m","touchAction","flexDirection","userSelect","_jsx","overflow","marginRight","Box","ref","icon","ChevronLeftIcon","onClick","accessibilityLabel","paddingRight","flex","maxWidth","undefined","flexShrink","Heading","as","makeSize","sizeToken","weight","color","wordBreak","marginLeft","CloseIcon","width","alignSelf","Divider","BaseHeader","assignWithoutSideEffects","componentId"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseHeader.js","sources":["../../../../../../src/components/BaseHeaderFooter/BaseHeader.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport type { ReactDOMAttributes } from '@use-gesture/react/dist/declarations/src/types';\nimport { Divider } from '~components/Divider';\nimport type { DividerProps } from '~components/Divider';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Heading, Text } from '~components/Typography';\nimport { IconButton } from '~components/Button/IconButton';\nimport { ChevronLeftIcon, CloseIcon } from '~components/Icons';\nimport type { DataAnalyticsAttribute, TestID } from '~utils/types';\nimport type { BoxProps } from '~components/Box';\nimport { Box } from '~components/Box';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getComponentId } from '~utils/isValidAllowedChildren';\nimport { isReactNative, makeSize } from '~utils';\nimport { metaAttribute } from '~utils/metaAttribute';\nimport { logger, throwBladeError } from '~utils/logger';\nimport { size as sizeToken } from '~tokens/global';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype BaseHeaderProps = {\n title?: string;\n subtitle?: string;\n /**\n * Leading part of the header placed at the left most side of the header\n */\n leading?: React.ReactNode;\n /**\n * Trailing part of the header placed at the right most side of the header\n */\n trailing?: React.ReactNode;\n /**\n * Placed adjacent to the title text\n */\n titleSuffix?: React.ReactNode;\n /**\n * @default true\n */\n showDivider?: boolean;\n /**\n * @default false\n */\n showBackButton?: boolean;\n\n /**\n * Slot for rendering any trailing interaction element into BaseHeader.\n *\n * E.g. Used in accordion to render CollapsibleChevronIcon\n */\n trailingInteractionElement?: React.ReactNode;\n\n /**\n * Decides size of the Header\n */\n size?: 'xlarge' | 'large' | 'medium';\n /**\n * @default true\n */\n showCloseButton?: boolean;\n\n /**\n * Disabled state of BaseHeader\n *\n * @default false\n */\n isDisabled?: boolean;\n\n paddingX?: BoxProps['paddingX'];\n marginY?: BoxProps['marginY'];\n marginTop?: BoxProps['marginTop'];\n marginBottom?: BoxProps['marginBottom'];\n alignItems?: BoxProps['alignItems'];\n dividerProps?: DividerProps;\n\n onCloseButtonClick?: () => void;\n onBackButtonClick?: () => void;\n closeButtonRef?: React.MutableRefObject<any>;\n backButtonRef?: React.MutableRefObject<any>;\n metaComponentName?: string;\n /**\n * inner child of BottomSheetHeader. Meant to be used for AutoComplete only\n */\n children?: React.ReactElement | React.ReactElement[];\n /**\n * Background image of the header\n *\n * You can use this for adding gradients.\n */\n backgroundImage?: BoxProps['backgroundImage'];\n} & Pick<\n ReactDOMAttributes,\n | 'onClickCapture'\n | 'onKeyDown'\n | 'onKeyUp'\n | 'onLostPointerCapture'\n | 'onPointerCancel'\n | 'onPointerDown'\n | 'onPointerMove'\n | 'onPointerUp'\n> &\n TestID &\n DataAnalyticsAttribute;\n\ntype TrailingComponents = 'Button' | 'Badge' | 'Link' | 'Text' | 'Amount';\n\nconst commonCenterBoxProps: BoxProps = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n};\n\nconst centerBoxProps: { xlarge: BoxProps; large: BoxProps; medium: BoxProps } = {\n xlarge: {\n ...commonCenterBoxProps,\n height: '28px',\n },\n large: {\n ...commonCenterBoxProps,\n // We want to align title, icon, titleSuffix, trailing, closeButton to baseline\n // But we also want to keep them center aligned to each other\n // So we add a virtual Box around these slots with 28px and center align them to that box\n // We have done similar thing in figma as well (which is where this 28px comes from)\n height: '28px',\n },\n medium: {\n ...commonCenterBoxProps,\n height: '20px',\n },\n};\n\nconst absolutePositionedButton = {\n position: 'absolute',\n top: 'spacing.0',\n right: 'spacing.0',\n} as const;\n\nconst sizeTokensMapping = {\n xlarge: {\n title: 'small',\n type: 'heading',\n },\n large: {\n title: 'large',\n type: 'text',\n },\n medium: {\n title: 'medium',\n type: 'text',\n },\n} as const;\n\n// prop restriction map for corresponding sub components\nconst propRestrictionMap = {\n large: {\n Button: {\n size: 'xsmall',\n variant: 'tertiary',\n },\n IconButton: {\n size: 'large',\n },\n Badge: {\n size: 'medium',\n },\n Link: {\n size: 'medium',\n },\n Text: {\n size: 'medium',\n variant: 'body',\n },\n Amount: {\n type: 'body',\n size: 'medium',\n },\n },\n xlarge: {\n Button: {\n size: 'xsmall',\n variant: 'tertiary',\n },\n IconButton: {\n size: 'large',\n },\n Badge: {\n size: 'medium',\n },\n Link: {\n size: 'medium',\n },\n Text: {\n size: 'medium',\n variant: 'body',\n },\n Amount: {\n type: 'body',\n size: 'medium',\n },\n },\n medium: {\n Button: {\n size: 'xsmall',\n variant: 'tertiary',\n },\n IconButton: {\n size: 'large',\n },\n Badge: {\n size: 'small',\n },\n Link: {\n size: 'small',\n },\n Text: {\n size: 'small',\n variant: 'body',\n },\n Amount: {\n type: 'body',\n size: 'small',\n },\n },\n} as const;\n\nconst useTrailingRestriction = ({\n trailing,\n size,\n}: {\n size: NonNullable<BaseHeaderProps['size']>;\n trailing: BaseHeaderProps['trailing'];\n}): React.ReactNode => {\n const [\n validatedTrailingComponent,\n setValidatedTrailingComponent,\n ] = React.useState<React.ReactElement | null>(null);\n\n // validate and restrict sub component props in trailing prop\n React.useEffect(() => {\n if (React.isValidElement(trailing)) {\n const trailingComponentType = getComponentId(trailing) as TrailingComponents;\n const restrictedProps = propRestrictionMap[size][trailingComponentType];\n\n const allowedComponents = Object.keys(propRestrictionMap[size]);\n if (__DEV__) {\n if (!restrictedProps) {\n throwBladeError({\n message: `Only one of \\`${allowedComponents.join(\n ', ',\n )}\\` component is accepted as trailing`,\n moduleName: 'Header',\n });\n }\n }\n\n const restrictedPropKeys = Object.keys(propRestrictionMap[size][trailingComponentType]);\n for (const prop of restrictedPropKeys) {\n if (trailing?.props?.hasOwnProperty(prop)) {\n logger({\n message: `Do not pass \"${prop}\" to \"${trailingComponentType}\" while inside Header trailing, because we override it.`,\n moduleName: 'Header',\n type: 'warn',\n });\n }\n }\n setValidatedTrailingComponent(\n React.cloneElement(trailing as React.ReactElement, restrictedProps),\n );\n }\n }, [trailing, size]);\n\n return validatedTrailingComponent;\n};\n\nconst _BaseHeader = ({\n title,\n subtitle,\n leading,\n titleSuffix,\n trailing,\n showDivider = true,\n showBackButton = false,\n showCloseButton = true,\n onBackButtonClick,\n onCloseButtonClick,\n closeButtonRef,\n backButtonRef,\n testID,\n onClickCapture,\n onKeyDown,\n onKeyUp,\n onLostPointerCapture,\n onPointerCancel,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n metaComponentName,\n paddingX,\n marginY,\n marginBottom,\n marginTop,\n size = 'large',\n isDisabled,\n children,\n trailingInteractionElement,\n backgroundImage,\n alignItems = 'flex-start',\n dividerProps,\n ...rest\n}: BaseHeaderProps): React.ReactElement => {\n const validatedTrailingComponent = useTrailingRestriction({ trailing, size });\n const shouldWrapTitle = titleSuffix && trailing && showBackButton && showCloseButton;\n const hasOnlyChildren = children && !(title || subtitle || titleSuffix || leading);\n\n const webOnlyEventHandlers: Record<string, any> = isReactNative()\n ? {}\n : {\n onClickCapture,\n onKeyDown,\n onKeyUp,\n onLostPointerCapture,\n onPointerCancel,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n };\n\n return (\n <BaseBox\n {...metaAttribute({ name: metaComponentName, testID })}\n {...makeAnalyticsAttribute(rest)}\n backgroundImage={backgroundImage}\n >\n <BaseBox\n marginY={marginY ?? { base: 'spacing.5', m: 'spacing.6' }}\n paddingX={paddingX ?? { base: 'spacing.5', m: 'spacing.6' }}\n marginTop={marginTop}\n marginBottom={marginBottom}\n touchAction=\"none\"\n {...webOnlyEventHandlers}\n >\n <BaseBox position=\"relative\" display=\"flex\" flexDirection=\"row\" userSelect=\"none\">\n {showBackButton ? (\n <BaseBox overflow=\"visible\" marginRight=\"spacing.5\">\n <Box {...centerBoxProps[size]}>\n <IconButton\n ref={backButtonRef}\n size=\"large\"\n icon={ChevronLeftIcon}\n onClick={() => onBackButtonClick?.()}\n accessibilityLabel=\"Back\"\n />\n </Box>\n </BaseBox>\n ) : null}\n {hasOnlyChildren ? null : (\n <BaseBox\n paddingRight=\"spacing.5\"\n marginRight=\"auto\"\n flex=\"auto\"\n display=\"flex\"\n flexDirection=\"row\"\n alignItems={alignItems}\n >\n {leading ? (\n <BaseBox marginRight=\"spacing.3\" {...centerBoxProps[size]}>\n {leading}\n </BaseBox>\n ) : null}\n <BaseBox flex=\"auto\">\n <BaseBox\n // Explicitly setting maxWidth in React Native because text is not being wrapped properly when multiple fix width components are rendered in header\n // In web, flex containers seem to work a expected\n // @todo: resolve this if we figure out some better solution later\n maxWidth={isReactNative() && shouldWrapTitle ? '100px' : undefined}\n flexShrink={0}\n display=\"flex\"\n flexDirection=\"row\"\n >\n {title ? (\n sizeTokensMapping[size].type === 'heading' ? (\n <Heading\n as=\"h2\"\n marginTop={makeSize(sizeToken['1'])}\n size={sizeTokensMapping[size].title}\n weight=\"semibold\"\n color={\n isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.normal'\n }\n wordBreak=\"break-word\"\n >\n {title}\n </Heading>\n ) : (\n <Text\n size={sizeTokensMapping[size].title}\n marginTop={makeSize(sizeToken['1'])}\n weight=\"semibold\"\n color={\n isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.normal'\n }\n wordBreak=\"break-word\"\n >\n {title}\n </Text>\n )\n ) : null}\n {titleSuffix && (\n <BaseBox marginLeft=\"spacing.3\">\n <Box {...centerBoxProps[size]}>{titleSuffix}</Box>\n </BaseBox>\n )}\n </BaseBox>\n {subtitle ? (\n <Text\n variant=\"body\"\n size=\"small\"\n weight=\"regular\"\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.muted'}\n >\n {subtitle}\n </Text>\n ) : null}\n </BaseBox>\n </BaseBox>\n )}\n {validatedTrailingComponent ? (\n <BaseBox marginRight=\"spacing.5\">\n <Box {...centerBoxProps[size]}>{validatedTrailingComponent}</Box>\n </BaseBox>\n ) : null}\n {showCloseButton ? (\n <Box {...(hasOnlyChildren ? absolutePositionedButton : centerBoxProps[size])}>\n <IconButton\n ref={closeButtonRef}\n size=\"large\"\n icon={CloseIcon}\n accessibilityLabel=\"Close\"\n onClick={() => onCloseButtonClick?.()}\n />\n </Box>\n ) : null}\n {trailingInteractionElement && !children ? (\n <Box {...centerBoxProps[size]}>{trailingInteractionElement}</Box>\n ) : null}\n </BaseBox>\n <BaseBox\n display=\"flex\"\n width=\"100%\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n >\n <Box width=\"100%\">{children}</Box>\n {trailingInteractionElement && children ? (\n <Box alignSelf=\"flex-start\" {...centerBoxProps[size]}>\n {trailingInteractionElement}\n </Box>\n ) : null}\n </BaseBox>\n </BaseBox>\n {showDivider ? <Divider {...dividerProps} /> : null}\n </BaseBox>\n );\n};\n\nconst BaseHeader = assignWithoutSideEffects(_BaseHeader, {\n componentId: 'BaseHeader',\n});\n\nexport type { BaseHeaderProps };\nexport { BaseHeader };\n"],"names":["commonCenterBoxProps","display","alignItems","justifyContent","centerBoxProps","xlarge","_objectSpread","height","large","medium","absolutePositionedButton","position","top","right","sizeTokensMapping","title","type","propRestrictionMap","Button","size","variant","IconButton","Badge","Link","Text","Amount","useTrailingRestriction","_ref","trailing","_React$useState","React","useState","_React$useState2","_slicedToArray","validatedTrailingComponent","setValidatedTrailingComponent","useEffect","isValidElement","trailingComponentType","getComponentId","restrictedProps","allowedComponents","Object","keys","throwBladeError","message","concat","join","moduleName","restrictedPropKeys","_i","_restrictedPropKeys","length","_trailing$props","prop","props","hasOwnProperty","logger","cloneElement","_BaseHeader","_ref2","subtitle","leading","titleSuffix","_ref2$showDivider","showDivider","_ref2$showBackButton","showBackButton","_ref2$showCloseButton","showCloseButton","onBackButtonClick","onCloseButtonClick","closeButtonRef","backButtonRef","testID","onClickCapture","onKeyDown","onKeyUp","onLostPointerCapture","onPointerCancel","onPointerDown","onPointerMove","onPointerUp","metaComponentName","paddingX","marginY","marginBottom","marginTop","_ref2$size","isDisabled","children","trailingInteractionElement","backgroundImage","_ref2$alignItems","dividerProps","rest","_objectWithoutProperties","_excluded","shouldWrapTitle","hasOnlyChildren","webOnlyEventHandlers","isReactNative","_jsxs","BaseBox","metaAttribute","name","makeAnalyticsAttribute","base","m","touchAction","flexDirection","userSelect","_jsx","overflow","marginRight","Box","ref","icon","ChevronLeftIcon","onClick","accessibilityLabel","paddingRight","flex","maxWidth","undefined","flexShrink","Heading","as","makeSize","sizeToken","weight","color","wordBreak","marginLeft","CloseIcon","width","alignSelf","Divider","BaseHeader","assignWithoutSideEffects","componentId"],"mappings":"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"}
|
|
@@ -67,6 +67,12 @@ var getBackgroundColorToken = function getBackgroundColorToken(_ref) {
|
|
|
67
67
|
if (color === 'white') {
|
|
68
68
|
return tokens.white[variant][_state];
|
|
69
69
|
}
|
|
70
|
+
if (color === 'transparent') {
|
|
71
|
+
if (variant !== 'tertiary') {
|
|
72
|
+
throw new Error("Transparent color can only be used with tertiary variant but received \"".concat(variant, "\""));
|
|
73
|
+
}
|
|
74
|
+
return tokens.transparent.tertiary[_state];
|
|
75
|
+
}
|
|
70
76
|
if (color && color !== 'primary') {
|
|
71
77
|
if (variant === 'tertiary') {
|
|
72
78
|
throw new Error("Tertiary variant can only be used with color: \"primary\" or \"white\" but received \"".concat(color, "\""));
|
|
@@ -85,6 +91,12 @@ var getTextColorToken = function getTextColorToken(_ref2) {
|
|
|
85
91
|
if (color === 'white') {
|
|
86
92
|
return tokens.white[variant][_state];
|
|
87
93
|
}
|
|
94
|
+
if (color === 'transparent') {
|
|
95
|
+
if (variant !== 'tertiary') {
|
|
96
|
+
throw new Error("Transparent color can only be used with tertiary variant but received \"".concat(variant, "\""));
|
|
97
|
+
}
|
|
98
|
+
return tokens.transparent.tertiary[_state];
|
|
99
|
+
}
|
|
88
100
|
if (color && color !== 'primary') {
|
|
89
101
|
if (variant === 'tertiary') {
|
|
90
102
|
throw new Error("Tertiary variant can only be used with color: \"primary\" or \"white\" but received \"".concat(color, "\""));
|
|
@@ -102,10 +114,10 @@ var getProps = function getProps(_ref3) {
|
|
|
102
114
|
variant = _ref3.variant,
|
|
103
115
|
color = _ref3.color,
|
|
104
116
|
hasIcon = _ref3.hasIcon;
|
|
105
|
-
if (variant === 'tertiary' && color !== 'primary' && color !== 'white') {
|
|
117
|
+
if (variant === 'tertiary' && color !== 'primary' && color !== 'white' && color !== 'transparent') {
|
|
106
118
|
throwBladeError({
|
|
107
119
|
moduleName: 'BaseButton',
|
|
108
|
-
message: "Tertiary variant can only be used with color: \"primary\" or \"white\" but received \"".concat(color, "\"")
|
|
120
|
+
message: "Tertiary variant can only be used with color: \"primary\" or \"white\" or \"transparent\" but received \"".concat(color, "\"")
|
|
109
121
|
});
|
|
110
122
|
}
|
|
111
123
|
var isIconOnly = hasIcon && (!childrenString || (childrenString === null || childrenString === void 0 ? void 0 : childrenString.trim().length) === 0);
|
|
@@ -159,6 +171,12 @@ var getProps = function getProps(_ref3) {
|
|
|
159
171
|
color: color,
|
|
160
172
|
state: 'hover'
|
|
161
173
|
})),
|
|
174
|
+
hoverIconColor: getIn(theme.colors, getTextColorToken({
|
|
175
|
+
property: 'icon',
|
|
176
|
+
variant: variant,
|
|
177
|
+
color: color,
|
|
178
|
+
state: 'hover'
|
|
179
|
+
})),
|
|
162
180
|
focusBackgroundColor: getIn(theme.colors, getBackgroundColorToken({
|
|
163
181
|
property: 'background',
|
|
164
182
|
variant: variant,
|
|
@@ -312,6 +330,7 @@ var _BaseButton = function _BaseButton(_ref5, ref) {
|
|
|
312
330
|
fontSize = _getProps.fontSize,
|
|
313
331
|
hoverBorderColor = _getProps.hoverBorderColor,
|
|
314
332
|
hoverBackgroundColor = _getProps.hoverBackgroundColor,
|
|
333
|
+
hoverIconColor = _getProps.hoverIconColor,
|
|
315
334
|
iconColor = _getProps.iconColor,
|
|
316
335
|
iconSize = _getProps.iconSize,
|
|
317
336
|
iconPadding = _getProps.iconPadding,
|
|
@@ -361,6 +380,7 @@ var _BaseButton = function _BaseButton(_ref5, ref) {
|
|
|
361
380
|
role: (_accessibilityProps$r = accessibilityProps === null || accessibilityProps === void 0 ? void 0 : accessibilityProps.role) !== null && _accessibilityProps$r !== void 0 ? _accessibilityProps$r : defaultRole
|
|
362
381
|
}))),
|
|
363
382
|
variant: variant,
|
|
383
|
+
color: color,
|
|
364
384
|
isLoading: isLoading,
|
|
365
385
|
disabled: disabled,
|
|
366
386
|
defaultBorderColor: defaultBorderColor,
|
|
@@ -406,6 +426,7 @@ var _BaseButton = function _BaseButton(_ref5, ref) {
|
|
|
406
426
|
height: height,
|
|
407
427
|
width: width,
|
|
408
428
|
isPressed: isPressed,
|
|
429
|
+
hoverIconColor: isDisabled ? getIn(theme.colors, iconColor) : hoverIconColor,
|
|
409
430
|
onMouseDown: function onMouseDown(event) {
|
|
410
431
|
handlePointerPressedIn();
|
|
411
432
|
_onMouseDown === null || _onMouseDown === void 0 ? void 0 : _onMouseDown(event);
|
|
@@ -434,7 +455,7 @@ var _BaseButton = function _BaseButton(_ref5, ref) {
|
|
|
434
455
|
children: /*#__PURE__*/jsx(BaseSpinner, {
|
|
435
456
|
accessibilityLabel: "Loading",
|
|
436
457
|
size: spinnerSize,
|
|
437
|
-
color: color
|
|
458
|
+
color: color === 'transparent' ? 'primary' : color
|
|
438
459
|
})
|
|
439
460
|
}) : null, /*#__PURE__*/jsxs(ButtonContent, {
|
|
440
461
|
display: "flex",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseButton.js","sources":["../../../../../../../src/components/Button/BaseButton/BaseButton.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport styled from 'styled-components';\nimport type { GestureResponderEvent } from 'react-native';\nimport StyledBaseButton from './StyledBaseButton';\nimport type { ButtonTypography } from './buttonTokens';\nimport {\n textColor,\n backgroundColor,\n buttonIconOnlySizeToIconSizeMap,\n typography as buttonTypography,\n minHeight as buttonMinHeight,\n buttonSizeToIconSizeMap,\n buttonSizeToSpinnerSizeMap,\n buttonIconPadding,\n buttonPadding,\n buttonIconOnlyHeightWidth,\n} from './buttonTokens';\nimport type { BaseButtonStyleProps, IconColor } from './types';\nimport AnimatedButtonContent from './AnimatedButtonContent';\nimport type { DotNotationToken } from '~utils/lodashButBetter/get';\nimport getIn from '~utils/lodashButBetter/get';\nimport type { BaseLinkProps } from '~components/Link/BaseLink';\nimport type { Theme } from '~components/BladeProvider';\nimport type { IconComponent } from '~components/Icons';\nimport type { Platform } from '~utils';\nimport { isReactNative } from '~utils';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { useButtonGroupContext } from '~components/ButtonGroup/ButtonGroupContext';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { BaseText } from '~components/Typography/BaseText';\nimport { useTheme } from '~components/BladeProvider';\nimport { announce } from '~components/LiveAnnouncer';\nimport { BaseSpinner } from '~components/Spinner/BaseSpinner';\nimport type { BaseBoxProps } from '~components/Box/BaseBox';\nimport BaseBox from '~components/Box/BaseBox';\nimport type {\n BladeElementRef,\n DataAnalyticsAttribute,\n StringChildrenType,\n TestID,\n} from '~utils/types';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { usePrevious } from '~utils/usePrevious';\nimport { makeSize } from '~utils/makeSize';\nimport { makeBorderSize } from '~utils/makeBorderSize';\nimport type { AccessibilityProps } from '~utils/makeAccessible';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { makeSpace } from '~utils/makeSpace';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStringFromReactText } from '~src/utils/getStringChildren';\nimport type { BladeCommonEvents } from '~components/types';\nimport { throwBladeError } from '~utils/logger';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype BaseButtonCommonProps = {\n href?: BaseLinkProps['href'];\n target?: BaseLinkProps['target'];\n rel?: BaseLinkProps['rel'];\n size?: 'xsmall' | 'small' | 'medium' | 'large';\n id?: string;\n tabIndex?: BaseBoxProps['tabIndex'];\n iconPosition?: 'left' | 'right';\n isDisabled?: boolean;\n isFullWidth?: boolean;\n onKeyDown?: Platform.Select<{\n native: (event: GestureResponderEvent) => void;\n web: (event: React.KeyboardEvent<HTMLButtonElement>) => void;\n }>;\n onClick?: Platform.Select<{\n native: (event: GestureResponderEvent) => void;\n web: (event: React.MouseEvent<HTMLButtonElement>) => void;\n }>;\n type?: 'button' | 'reset' | 'submit';\n isLoading?: boolean;\n accessibilityProps?: Partial<AccessibilityProps>;\n variant?: 'primary' | 'secondary' | 'tertiary';\n color?: 'primary' | 'white' | 'positive' | 'negative' | 'notice' | 'information' | 'neutral';\n} & TestID &\n StyledPropsBlade &\n BladeCommonEvents;\n\n/*\nMandatory children prop when icon is not provided\n*/\ntype BaseButtonWithoutIconProps = BaseButtonCommonProps & {\n icon?: undefined;\n children: StringChildrenType;\n} & DataAnalyticsAttribute;\n\n/*\n Optional children prop when icon is provided\n*/\ntype BaseButtonWithIconProps = BaseButtonCommonProps & {\n icon: IconComponent;\n children?: StringChildrenType;\n} & DataAnalyticsAttribute;\n\n/*\n With or without icon prop. We need at least an icon or a children prop present.\n*/\nexport type BaseButtonProps = BaseButtonWithIconProps | BaseButtonWithoutIconProps;\n\ntype BaseButtonColorTokenModifiers = {\n variant: NonNullable<BaseButtonProps['variant']>;\n state: 'default' | 'hover' | 'focus' | 'disabled';\n color: BaseButtonProps['color'];\n};\n\nconst getRenderElement = (href?: string): 'a' | 'button' | undefined => {\n if (isReactNative()) {\n return undefined; // as property doesn't work with react native\n }\n\n if (href) {\n return 'a';\n }\n\n return 'button';\n};\n\nexport const getBackgroundColorToken = ({\n property,\n variant,\n state,\n color,\n}: BaseButtonColorTokenModifiers & {\n property: 'background' | 'border';\n}): DotNotationToken<Theme['colors']> => {\n const _state = state === 'focus' || state === 'hover' ? 'highlighted' : state;\n const tokens = backgroundColor(property);\n\n if (color === 'white') {\n return tokens.white[variant][_state];\n }\n\n if (color && color !== 'primary') {\n if (variant === 'tertiary') {\n throw new Error(\n `Tertiary variant can only be used with color: \"primary\" or \"white\" but received \"${color}\"`,\n );\n }\n return tokens.color(color)[variant][_state];\n }\n\n return tokens.base[variant][_state];\n};\n\nexport const getTextColorToken = ({\n property,\n variant,\n state,\n color,\n}: BaseButtonColorTokenModifiers & {\n property: 'icon' | 'text';\n}): DotNotationToken<Theme['colors']> => {\n const tokens = textColor(property);\n const _state = state === 'focus' || state === 'hover' ? 'highlighted' : state;\n\n if (color === 'white') {\n return tokens.white[variant][_state];\n }\n\n if (color && color !== 'primary') {\n if (variant === 'tertiary') {\n throw new Error(\n `Tertiary variant can only be used with color: \"primary\" or \"white\" but received \"${color}\"`,\n );\n }\n return tokens.color(color)[variant][_state];\n }\n\n return tokens.base[variant][_state];\n};\n\nconst getProps = ({\n buttonTypographyTokens,\n childrenString,\n isDisabled,\n size,\n theme,\n variant,\n color,\n hasIcon,\n}: {\n buttonTypographyTokens: ButtonTypography;\n childrenString?: string;\n isDisabled: boolean;\n hasIcon: boolean;\n theme: Theme;\n size: NonNullable<BaseButtonProps['size']>;\n variant: NonNullable<BaseButtonProps['variant']>;\n color: BaseButtonProps['color'];\n}): BaseButtonStyleProps => {\n if (variant === 'tertiary' && color !== 'primary' && color !== 'white') {\n throwBladeError({\n moduleName: 'BaseButton',\n message: `Tertiary variant can only be used with color: \"primary\" or \"white\" but received \"${color}\"`,\n });\n }\n\n const isIconOnly = hasIcon && (!childrenString || childrenString?.trim().length === 0);\n const props: BaseButtonStyleProps = {\n iconSize: isIconOnly ? buttonIconOnlySizeToIconSizeMap[size] : buttonSizeToIconSizeMap[size],\n spinnerSize: buttonSizeToSpinnerSizeMap[size],\n fontSize: buttonTypographyTokens.fonts.size[size],\n lineHeight: buttonTypographyTokens.lineHeights[size],\n minHeight: makeSize(buttonMinHeight[size]),\n height: isIconOnly ? buttonIconOnlyHeightWidth[size] : undefined,\n width: isIconOnly ? buttonIconOnlyHeightWidth[size] : undefined,\n iconPadding:\n hasIcon && childrenString?.trim() ? `spacing.${buttonIconPadding[size]}` : undefined,\n iconColor: getTextColorToken({\n property: 'icon',\n variant,\n color,\n state: 'default',\n }) as IconColor,\n textColor: getTextColorToken({\n property: 'text',\n variant,\n color,\n state: 'default',\n }) as BaseTextProps['color'],\n buttonPaddingTop: isIconOnly ? makeSpace(0) : makeSpace(theme.spacing[buttonPadding[size].top]),\n buttonPaddingBottom: isIconOnly\n ? makeSpace(0)\n : makeSpace(theme.spacing[buttonPadding[size].bottom]),\n buttonPaddingLeft: isIconOnly\n ? makeSpace(0)\n : makeSpace(theme.spacing[buttonPadding[size].left]),\n buttonPaddingRight: isIconOnly\n ? makeSpace(0)\n : makeSpace(theme.spacing[buttonPadding[size].right]),\n text: childrenString?.trim(),\n defaultBackgroundColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'background', variant, color, state: 'default' }),\n ),\n defaultBorderColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'border', variant, color, state: 'default' }),\n ),\n hoverBackgroundColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'background', variant, color, state: 'hover' }),\n ),\n hoverBorderColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'border', variant, color, state: 'hover' }),\n ),\n focusBackgroundColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'background', variant, color, state: 'focus' }),\n ),\n focusBorderColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'border', variant, color, state: 'focus' }),\n ),\n focusRingColor: getIn(theme.colors, 'surface.border.primary.muted'),\n borderWidth: variant == 'secondary' ? makeBorderSize(theme.border.width.thin) : '0px',\n borderRadius: makeBorderSize(theme.border.radius.medium),\n motionDuration: 'duration.xquick',\n motionEasing: 'easing.standard',\n };\n\n if (isDisabled) {\n const disabledBackgroundColor = getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'background', variant, color, state: 'disabled' }),\n );\n const disabledBorderColor = getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'border', variant, color, state: 'disabled' }),\n );\n props.iconColor = getTextColorToken({\n property: 'icon',\n variant,\n color,\n state: 'disabled',\n }) as IconColor;\n props.textColor = getTextColorToken({\n property: 'text',\n variant,\n color,\n state: 'disabled',\n }) as BaseTextProps['color'];\n props.defaultBackgroundColor = disabledBackgroundColor;\n props.defaultBorderColor = disabledBorderColor;\n props.hoverBackgroundColor = disabledBackgroundColor;\n props.hoverBorderColor = disabledBorderColor;\n props.focusBackgroundColor = disabledBackgroundColor;\n props.focusBorderColor = disabledBorderColor;\n }\n\n return props;\n};\n\nconst ButtonContent = styled(BaseBox)<{ isHidden: boolean }>(({ isHidden }) => ({\n opacity: isHidden ? 0 : 1,\n}));\n\nconst _BaseButton: React.ForwardRefRenderFunction<BladeElementRef, BaseButtonProps> = (\n {\n href,\n target,\n rel,\n tabIndex,\n id,\n variant = 'primary',\n color = 'primary',\n size = 'medium',\n icon: Icon,\n iconPosition = 'left',\n isDisabled = false,\n isFullWidth = false,\n isLoading = false,\n onClick,\n onBlur,\n onKeyDown,\n type = 'button',\n children,\n testID,\n onFocus,\n onMouseLeave,\n onMouseMove,\n onMouseDown,\n onPointerDown,\n onPointerEnter,\n accessibilityProps,\n onTouchEnd,\n onTouchStart,\n ...rest\n },\n ref,\n) => {\n const { theme } = useTheme();\n const buttonGroupProps = useButtonGroupContext();\n const [isPressed, setIsPressed] = React.useState(false);\n const isLink = Boolean(href);\n const childrenString = getStringFromReactText(children);\n const isChildrenComponent = React.isValidElement(children);\n\n // Button cannot be disabled when its rendered as Link\n // button should be allowed to be disabled in any case...\n // either through button group or we should allow to disable an individual button\n const disabled = buttonGroupProps.isDisabled || isLoading || (isDisabled && !isLink);\n\n if (__DEV__) {\n if (!Icon && !childrenString?.trim()) {\n throwBladeError({\n message: 'At least one of icon or text is required to render a button.',\n moduleName: 'BaseButton',\n });\n }\n }\n\n const prevLoading = usePrevious(isLoading);\n\n React.useEffect(() => {\n if (isLoading) announce('Started loading');\n\n if (!isLoading && prevLoading) announce('Stopped loading');\n }, [isLoading, prevLoading]);\n\n const {\n defaultBorderColor,\n defaultBackgroundColor,\n minHeight,\n height,\n width,\n buttonPaddingTop,\n buttonPaddingBottom,\n buttonPaddingLeft,\n buttonPaddingRight,\n focusBorderColor,\n focusBackgroundColor,\n focusRingColor,\n fontSize,\n hoverBorderColor,\n hoverBackgroundColor,\n iconColor,\n iconSize,\n iconPadding,\n spinnerSize,\n lineHeight,\n text,\n textColor,\n borderWidth,\n borderRadius,\n motionDuration,\n motionEasing,\n } = getProps({\n buttonTypographyTokens: buttonTypography,\n childrenString,\n isDisabled: disabled,\n size: buttonGroupProps.size ?? size,\n variant: buttonGroupProps.variant ?? variant,\n theme,\n color: buttonGroupProps.color ?? color,\n hasIcon: Boolean(Icon),\n });\n\n const renderElement = React.useMemo(() => getRenderElement(href), [href]);\n const defaultRole = isLink ? 'link' : 'button';\n\n const handlePointerPressedIn = React.useCallback(() => {\n if (disabled) return;\n setIsPressed(true);\n }, [disabled]);\n\n const handlePointerPressedOut = React.useCallback(() => {\n if (disabled) return;\n setIsPressed(false);\n }, [disabled]);\n\n const handleKeyboardPressedIn = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (disabled) return;\n if (e.key === ' ' || e.key === 'Enter') {\n setIsPressed(true);\n }\n },\n [disabled],\n );\n\n const handleKeyboardPressedOut = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (disabled) return;\n if (e.key === ' ' || e.key === 'Enter') {\n setIsPressed(false);\n }\n },\n [disabled],\n );\n\n return (\n <StyledBaseButton\n ref={ref as any}\n id={id}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error\n // @ts-ignore: On React Native it will always be undefined but TS doesn't understand that\n as={renderElement}\n href={href}\n target={target}\n rel={rel}\n accessibilityProps={{\n ...makeAccessible({\n ...accessibilityProps,\n role: accessibilityProps?.role ?? defaultRole,\n }),\n }}\n variant={variant}\n isLoading={isLoading}\n disabled={disabled}\n defaultBorderColor={defaultBorderColor}\n minHeight={minHeight}\n buttonPaddingTop={buttonPaddingTop}\n buttonPaddingBottom={buttonPaddingBottom}\n buttonPaddingLeft={buttonPaddingLeft}\n buttonPaddingRight={buttonPaddingRight}\n defaultBackgroundColor={defaultBackgroundColor}\n focusBorderColor={focusBorderColor}\n focusBackgroundColor={focusBackgroundColor}\n focusRingColor={focusRingColor}\n hoverBorderColor={hoverBorderColor}\n hoverBackgroundColor={hoverBackgroundColor}\n isFullWidth={buttonGroupProps.isFullWidth ?? isFullWidth}\n onClick={onClick}\n onBlur={onBlur}\n onFocus={onFocus}\n onMouseLeave={onMouseLeave}\n onMouseMove={onMouseMove}\n tabIndex={tabIndex}\n onPointerDown={onPointerDown}\n onPointerEnter={onPointerEnter}\n // Setting type for web fails it on native typecheck and vice versa\n onKeyDown={(event: any) => {\n handleKeyboardPressedIn(event);\n onKeyDown?.(event);\n }}\n onTouchStart={(event: React.TouchEvent) => {\n handlePointerPressedIn();\n onTouchStart?.(event);\n }}\n onTouchEnd={(event: React.TouchEvent) => {\n handlePointerPressedOut();\n onTouchEnd?.(event);\n }}\n type={type}\n borderWidth={borderWidth}\n borderRadius={borderRadius}\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n height={height}\n width={width}\n isPressed={isPressed}\n onMouseDown={(event: React.MouseEvent) => {\n handlePointerPressedIn();\n onMouseDown?.(event);\n }}\n onMouseUp={handlePointerPressedOut}\n onMouseOut={handlePointerPressedOut}\n onKeyUp={handleKeyboardPressedOut}\n {...metaAttribute({ name: MetaConstants.Button, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n >\n <AnimatedButtonContent\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n isPressed={isPressed}\n >\n {isLoading ? (\n <BaseBox\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n position=\"absolute\"\n top=\"0px\"\n left=\"0px\"\n bottom=\"0px\"\n right=\"0px\"\n zIndex={1}\n >\n <BaseSpinner accessibilityLabel=\"Loading\" size={spinnerSize} color={color} />\n </BaseBox>\n ) : null}\n <ButtonContent\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flex={1}\n isHidden={isLoading}\n zIndex={1}\n >\n {Icon && iconPosition == 'left' ? (\n <BaseBox\n paddingRight={iconPadding}\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <Icon size={iconSize} color={iconColor} />\n </BaseBox>\n ) : null}\n {text ? (\n isChildrenComponent ? (\n children\n ) : (\n <BaseText\n lineHeight={lineHeight}\n fontSize={fontSize}\n // figma and web have different font-smoothing properties\n // which causes web version of button text to look much bolder\n // than figma version. To fix this we are changing font-weight from 600 to 500\n // https://forum.figma.com/t/why-does-a-font-weight-in-figma-seem-lighter-than-the-same-weight-in-the-browser/2207\n fontWeight=\"medium\"\n textAlign=\"center\"\n color={textColor}\n >\n {text}\n </BaseText>\n )\n ) : null}\n {Icon && iconPosition == 'right' ? (\n <BaseBox\n paddingLeft={iconPadding}\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <Icon size={iconSize} color={iconColor} />\n </BaseBox>\n ) : null}\n </ButtonContent>\n </AnimatedButtonContent>\n </StyledBaseButton>\n );\n};\n\nconst BaseButton = assignWithoutSideEffects(React.forwardRef(_BaseButton), {\n displayName: 'BaseButton',\n});\n\nexport default BaseButton;\n"],"names":["getRenderElement","href","isReactNative","undefined","getBackgroundColorToken","_ref","property","variant","state","color","_state","tokens","backgroundColor","white","Error","concat","base","getTextColorToken","_ref2","textColor","getProps","_ref3","buttonTypographyTokens","childrenString","isDisabled","size","theme","hasIcon","throwBladeError","moduleName","message","isIconOnly","trim","length","props","iconSize","buttonIconOnlySizeToIconSizeMap","buttonSizeToIconSizeMap","spinnerSize","buttonSizeToSpinnerSizeMap","fontSize","fonts","lineHeight","lineHeights","minHeight","makeSize","buttonMinHeight","height","buttonIconOnlyHeightWidth","width","iconPadding","buttonIconPadding","iconColor","buttonPaddingTop","makeSpace","spacing","buttonPadding","top","buttonPaddingBottom","bottom","buttonPaddingLeft","left","buttonPaddingRight","right","text","defaultBackgroundColor","getIn","colors","defaultBorderColor","hoverBackgroundColor","hoverBorderColor","focusBackgroundColor","focusBorderColor","focusRingColor","borderWidth","makeBorderSize","border","thin","borderRadius","radius","medium","motionDuration","motionEasing","disabledBackgroundColor","disabledBorderColor","ButtonContent","styled","BaseBox","withConfig","displayName","componentId","_ref4","isHidden","opacity","_BaseButton","_ref5","ref","_buttonGroupProps$siz","_buttonGroupProps$var","_buttonGroupProps$col","_accessibilityProps$r","_buttonGroupProps$isF","target","rel","tabIndex","id","_ref5$variant","_ref5$color","_ref5$size","Icon","icon","_ref5$iconPosition","iconPosition","_ref5$isDisabled","_ref5$isFullWidth","isFullWidth","_ref5$isLoading","isLoading","onClick","onBlur","onKeyDown","_ref5$type","type","children","testID","onFocus","onMouseLeave","onMouseMove","onMouseDown","onPointerDown","onPointerEnter","accessibilityProps","onTouchEnd","onTouchStart","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","buttonGroupProps","useButtonGroupContext","_React$useState","React","useState","_React$useState2","_slicedToArray","isPressed","setIsPressed","isLink","Boolean","getStringFromReactText","isChildrenComponent","isValidElement","disabled","prevLoading","usePrevious","useEffect","announce","_getProps","buttonTypography","renderElement","useMemo","defaultRole","handlePointerPressedIn","useCallback","handlePointerPressedOut","handleKeyboardPressedIn","e","key","handleKeyboardPressedOut","_jsx","StyledBaseButton","_objectSpread","as","makeAccessible","role","event","onMouseUp","onMouseOut","onKeyUp","metaAttribute","name","MetaConstants","Button","getStyledProps","makeAnalyticsAttribute","_jsxs","AnimatedButtonContent","display","justifyContent","alignItems","position","zIndex","BaseSpinner","accessibilityLabel","flexDirection","flex","paddingRight","BaseText","fontWeight","textAlign","paddingLeft","BaseButton","assignWithoutSideEffects","forwardRef"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseButton.js","sources":["../../../../../../../src/components/Button/BaseButton/BaseButton.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport styled from 'styled-components';\nimport type { GestureResponderEvent } from 'react-native';\nimport StyledBaseButton from './StyledBaseButton';\nimport type { ButtonTypography } from './buttonTokens';\nimport {\n textColor,\n backgroundColor,\n buttonIconOnlySizeToIconSizeMap,\n typography as buttonTypography,\n minHeight as buttonMinHeight,\n buttonSizeToIconSizeMap,\n buttonSizeToSpinnerSizeMap,\n buttonIconPadding,\n buttonPadding,\n buttonIconOnlyHeightWidth,\n} from './buttonTokens';\nimport type { BaseButtonStyleProps, IconColor } from './types';\nimport AnimatedButtonContent from './AnimatedButtonContent';\nimport type { DotNotationToken } from '~utils/lodashButBetter/get';\nimport getIn from '~utils/lodashButBetter/get';\nimport type { BaseLinkProps } from '~components/Link/BaseLink';\nimport type { Theme } from '~components/BladeProvider';\nimport type { IconComponent } from '~components/Icons';\nimport type { Platform } from '~utils';\nimport { isReactNative } from '~utils';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { useButtonGroupContext } from '~components/ButtonGroup/ButtonGroupContext';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { BaseText } from '~components/Typography/BaseText';\nimport { useTheme } from '~components/BladeProvider';\nimport { announce } from '~components/LiveAnnouncer';\nimport { BaseSpinner } from '~components/Spinner/BaseSpinner';\nimport type { BaseBoxProps } from '~components/Box/BaseBox';\nimport BaseBox from '~components/Box/BaseBox';\nimport type {\n BladeElementRef,\n DataAnalyticsAttribute,\n StringChildrenType,\n TestID,\n} from '~utils/types';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { usePrevious } from '~utils/usePrevious';\nimport { makeSize } from '~utils/makeSize';\nimport { makeBorderSize } from '~utils/makeBorderSize';\nimport type { AccessibilityProps } from '~utils/makeAccessible';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { makeSpace } from '~utils/makeSpace';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStringFromReactText } from '~src/utils/getStringChildren';\nimport type { BladeCommonEvents } from '~components/types';\nimport { throwBladeError } from '~utils/logger';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype BaseButtonCommonProps = {\n href?: BaseLinkProps['href'];\n target?: BaseLinkProps['target'];\n rel?: BaseLinkProps['rel'];\n size?: 'xsmall' | 'small' | 'medium' | 'large';\n id?: string;\n tabIndex?: BaseBoxProps['tabIndex'];\n iconPosition?: 'left' | 'right';\n isDisabled?: boolean;\n isFullWidth?: boolean;\n onKeyDown?: Platform.Select<{\n native: (event: GestureResponderEvent) => void;\n web: (event: React.KeyboardEvent<HTMLButtonElement>) => void;\n }>;\n onClick?: Platform.Select<{\n native: (event: GestureResponderEvent) => void;\n web: (event: React.MouseEvent<HTMLButtonElement>) => void;\n }>;\n type?: 'button' | 'reset' | 'submit';\n isLoading?: boolean;\n accessibilityProps?: Partial<AccessibilityProps>;\n variant?: 'primary' | 'secondary' | 'tertiary';\n color?:\n | 'primary'\n | 'white'\n | 'positive'\n | 'negative'\n | 'notice'\n | 'information'\n | 'neutral'\n | 'transparent';\n} & TestID &\n StyledPropsBlade &\n BladeCommonEvents;\n\n/*\nMandatory children prop when icon is not provided\n*/\ntype BaseButtonWithoutIconProps = BaseButtonCommonProps & {\n icon?: undefined;\n children: StringChildrenType;\n} & DataAnalyticsAttribute;\n\n/*\n Optional children prop when icon is provided\n*/\ntype BaseButtonWithIconProps = BaseButtonCommonProps & {\n icon: IconComponent;\n children?: StringChildrenType;\n} & DataAnalyticsAttribute;\n\n/*\n With or without icon prop. We need at least an icon or a children prop present.\n*/\nexport type BaseButtonProps = BaseButtonWithIconProps | BaseButtonWithoutIconProps;\n\ntype BaseButtonColorTokenModifiers = {\n variant: NonNullable<BaseButtonProps['variant']>;\n state: 'default' | 'hover' | 'focus' | 'disabled';\n color: BaseButtonProps['color'];\n};\n\nconst getRenderElement = (href?: string): 'a' | 'button' | undefined => {\n if (isReactNative()) {\n return undefined; // as property doesn't work with react native\n }\n\n if (href) {\n return 'a';\n }\n\n return 'button';\n};\n\nexport const getBackgroundColorToken = ({\n property,\n variant,\n state,\n color,\n}: BaseButtonColorTokenModifiers & {\n property: 'background' | 'border';\n}): DotNotationToken<Theme['colors']> => {\n const _state = state === 'focus' || state === 'hover' ? 'highlighted' : state;\n const tokens = backgroundColor(property);\n\n if (color === 'white') {\n return tokens.white[variant][_state];\n }\n\n if (color === 'transparent') {\n if (variant !== 'tertiary') {\n throw new Error(\n `Transparent color can only be used with tertiary variant but received \"${variant}\"`,\n );\n }\n return tokens.transparent.tertiary[_state];\n }\n\n if (color && color !== 'primary') {\n if (variant === 'tertiary') {\n throw new Error(\n `Tertiary variant can only be used with color: \"primary\" or \"white\" but received \"${color}\"`,\n );\n }\n return tokens.color(color)[variant][_state];\n }\n\n return tokens.base[variant][_state];\n};\n\nexport const getTextColorToken = ({\n property,\n variant,\n state,\n color,\n}: BaseButtonColorTokenModifiers & {\n property: 'icon' | 'text';\n}): DotNotationToken<Theme['colors']> => {\n const tokens = textColor(property);\n const _state = state === 'focus' || state === 'hover' ? 'highlighted' : state;\n\n if (color === 'white') {\n return tokens.white[variant][_state];\n }\n\n if (color === 'transparent') {\n if (variant !== 'tertiary') {\n throw new Error(\n `Transparent color can only be used with tertiary variant but received \"${variant}\"`,\n );\n }\n return tokens.transparent.tertiary[_state];\n }\n\n if (color && color !== 'primary') {\n if (variant === 'tertiary') {\n throw new Error(\n `Tertiary variant can only be used with color: \"primary\" or \"white\" but received \"${color}\"`,\n );\n }\n return tokens.color(color)[variant][_state];\n }\n\n return tokens.base[variant][_state];\n};\n\nconst getProps = ({\n buttonTypographyTokens,\n childrenString,\n isDisabled,\n size,\n theme,\n variant,\n color,\n hasIcon,\n}: {\n buttonTypographyTokens: ButtonTypography;\n childrenString?: string;\n isDisabled: boolean;\n hasIcon: boolean;\n theme: Theme;\n size: NonNullable<BaseButtonProps['size']>;\n variant: NonNullable<BaseButtonProps['variant']>;\n color: BaseButtonProps['color'];\n}): BaseButtonStyleProps => {\n if (\n variant === 'tertiary' &&\n color !== 'primary' &&\n color !== 'white' &&\n color !== 'transparent'\n ) {\n throwBladeError({\n moduleName: 'BaseButton',\n message: `Tertiary variant can only be used with color: \"primary\" or \"white\" or \"transparent\" but received \"${color}\"`,\n });\n }\n\n const isIconOnly = hasIcon && (!childrenString || childrenString?.trim().length === 0);\n const props: BaseButtonStyleProps = {\n iconSize: isIconOnly ? buttonIconOnlySizeToIconSizeMap[size] : buttonSizeToIconSizeMap[size],\n spinnerSize: buttonSizeToSpinnerSizeMap[size],\n fontSize: buttonTypographyTokens.fonts.size[size],\n lineHeight: buttonTypographyTokens.lineHeights[size],\n minHeight: makeSize(buttonMinHeight[size]),\n height: isIconOnly ? buttonIconOnlyHeightWidth[size] : undefined,\n width: isIconOnly ? buttonIconOnlyHeightWidth[size] : undefined,\n iconPadding:\n hasIcon && childrenString?.trim() ? `spacing.${buttonIconPadding[size]}` : undefined,\n iconColor: getTextColorToken({\n property: 'icon',\n variant,\n color,\n state: 'default',\n }) as IconColor,\n textColor: getTextColorToken({\n property: 'text',\n variant,\n color,\n state: 'default',\n }) as BaseTextProps['color'],\n buttonPaddingTop: isIconOnly ? makeSpace(0) : makeSpace(theme.spacing[buttonPadding[size].top]),\n buttonPaddingBottom: isIconOnly\n ? makeSpace(0)\n : makeSpace(theme.spacing[buttonPadding[size].bottom]),\n buttonPaddingLeft: isIconOnly\n ? makeSpace(0)\n : makeSpace(theme.spacing[buttonPadding[size].left]),\n buttonPaddingRight: isIconOnly\n ? makeSpace(0)\n : makeSpace(theme.spacing[buttonPadding[size].right]),\n text: childrenString?.trim(),\n defaultBackgroundColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'background', variant, color, state: 'default' }),\n ),\n defaultBorderColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'border', variant, color, state: 'default' }),\n ),\n hoverBackgroundColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'background', variant, color, state: 'hover' }),\n ),\n hoverBorderColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'border', variant, color, state: 'hover' }),\n ),\n hoverIconColor: getIn(\n theme.colors,\n getTextColorToken({\n property: 'icon',\n variant,\n color,\n state: 'hover',\n }),\n ),\n focusBackgroundColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'background', variant, color, state: 'focus' }),\n ),\n focusBorderColor: getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'border', variant, color, state: 'focus' }),\n ),\n focusRingColor: getIn(theme.colors, 'surface.border.primary.muted'),\n borderWidth: variant == 'secondary' ? makeBorderSize(theme.border.width.thin) : '0px',\n borderRadius: makeBorderSize(theme.border.radius.medium),\n motionDuration: 'duration.xquick',\n motionEasing: 'easing.standard',\n };\n\n if (isDisabled) {\n const disabledBackgroundColor = getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'background', variant, color, state: 'disabled' }),\n );\n const disabledBorderColor = getIn(\n theme.colors,\n getBackgroundColorToken({ property: 'border', variant, color, state: 'disabled' }),\n );\n props.iconColor = getTextColorToken({\n property: 'icon',\n variant,\n color,\n state: 'disabled',\n }) as IconColor;\n props.textColor = getTextColorToken({\n property: 'text',\n variant,\n color,\n state: 'disabled',\n }) as BaseTextProps['color'];\n props.defaultBackgroundColor = disabledBackgroundColor;\n props.defaultBorderColor = disabledBorderColor;\n props.hoverBackgroundColor = disabledBackgroundColor;\n props.hoverBorderColor = disabledBorderColor;\n props.focusBackgroundColor = disabledBackgroundColor;\n props.focusBorderColor = disabledBorderColor;\n }\n\n return props;\n};\n\nconst ButtonContent = styled(BaseBox)<{ isHidden: boolean }>(({ isHidden }) => ({\n opacity: isHidden ? 0 : 1,\n}));\n\nconst _BaseButton: React.ForwardRefRenderFunction<BladeElementRef, BaseButtonProps> = (\n {\n href,\n target,\n rel,\n tabIndex,\n id,\n variant = 'primary',\n color = 'primary',\n size = 'medium',\n icon: Icon,\n iconPosition = 'left',\n isDisabled = false,\n isFullWidth = false,\n isLoading = false,\n onClick,\n onBlur,\n onKeyDown,\n type = 'button',\n children,\n testID,\n onFocus,\n onMouseLeave,\n onMouseMove,\n onMouseDown,\n onPointerDown,\n onPointerEnter,\n accessibilityProps,\n onTouchEnd,\n onTouchStart,\n ...rest\n },\n ref,\n) => {\n const { theme } = useTheme();\n const buttonGroupProps = useButtonGroupContext();\n const [isPressed, setIsPressed] = React.useState(false);\n const isLink = Boolean(href);\n const childrenString = getStringFromReactText(children);\n const isChildrenComponent = React.isValidElement(children);\n\n // Button cannot be disabled when its rendered as Link\n // button should be allowed to be disabled in any case...\n // either through button group or we should allow to disable an individual button\n const disabled = buttonGroupProps.isDisabled || isLoading || (isDisabled && !isLink);\n\n if (__DEV__) {\n if (!Icon && !childrenString?.trim()) {\n throwBladeError({\n message: 'At least one of icon or text is required to render a button.',\n moduleName: 'BaseButton',\n });\n }\n }\n\n const prevLoading = usePrevious(isLoading);\n\n React.useEffect(() => {\n if (isLoading) announce('Started loading');\n\n if (!isLoading && prevLoading) announce('Stopped loading');\n }, [isLoading, prevLoading]);\n\n const {\n defaultBorderColor,\n defaultBackgroundColor,\n minHeight,\n height,\n width,\n buttonPaddingTop,\n buttonPaddingBottom,\n buttonPaddingLeft,\n buttonPaddingRight,\n focusBorderColor,\n focusBackgroundColor,\n focusRingColor,\n fontSize,\n hoverBorderColor,\n hoverBackgroundColor,\n hoverIconColor,\n iconColor,\n iconSize,\n iconPadding,\n spinnerSize,\n lineHeight,\n text,\n textColor,\n borderWidth,\n borderRadius,\n motionDuration,\n motionEasing,\n } = getProps({\n buttonTypographyTokens: buttonTypography,\n childrenString,\n isDisabled: disabled,\n size: buttonGroupProps.size ?? size,\n variant: buttonGroupProps.variant ?? variant,\n theme,\n color: buttonGroupProps.color ?? color,\n hasIcon: Boolean(Icon),\n });\n\n const renderElement = React.useMemo(() => getRenderElement(href), [href]);\n const defaultRole = isLink ? 'link' : 'button';\n\n const handlePointerPressedIn = React.useCallback(() => {\n if (disabled) return;\n setIsPressed(true);\n }, [disabled]);\n\n const handlePointerPressedOut = React.useCallback(() => {\n if (disabled) return;\n setIsPressed(false);\n }, [disabled]);\n\n const handleKeyboardPressedIn = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (disabled) return;\n if (e.key === ' ' || e.key === 'Enter') {\n setIsPressed(true);\n }\n },\n [disabled],\n );\n\n const handleKeyboardPressedOut = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (disabled) return;\n if (e.key === ' ' || e.key === 'Enter') {\n setIsPressed(false);\n }\n },\n [disabled],\n );\n\n return (\n <StyledBaseButton\n ref={ref as any}\n id={id}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error\n // @ts-ignore: On React Native it will always be undefined but TS doesn't understand that\n as={renderElement}\n href={href}\n target={target}\n rel={rel}\n accessibilityProps={{\n ...makeAccessible({\n ...accessibilityProps,\n role: accessibilityProps?.role ?? defaultRole,\n }),\n }}\n variant={variant}\n color={color}\n isLoading={isLoading}\n disabled={disabled}\n defaultBorderColor={defaultBorderColor}\n minHeight={minHeight}\n buttonPaddingTop={buttonPaddingTop}\n buttonPaddingBottom={buttonPaddingBottom}\n buttonPaddingLeft={buttonPaddingLeft}\n buttonPaddingRight={buttonPaddingRight}\n defaultBackgroundColor={defaultBackgroundColor}\n focusBorderColor={focusBorderColor}\n focusBackgroundColor={focusBackgroundColor}\n focusRingColor={focusRingColor}\n hoverBorderColor={hoverBorderColor}\n hoverBackgroundColor={hoverBackgroundColor}\n isFullWidth={buttonGroupProps.isFullWidth ?? isFullWidth}\n onClick={onClick}\n onBlur={onBlur}\n onFocus={onFocus}\n onMouseLeave={onMouseLeave}\n onMouseMove={onMouseMove}\n tabIndex={tabIndex}\n onPointerDown={onPointerDown}\n onPointerEnter={onPointerEnter}\n // Setting type for web fails it on native typecheck and vice versa\n onKeyDown={(event: any) => {\n handleKeyboardPressedIn(event);\n onKeyDown?.(event);\n }}\n onTouchStart={(event: React.TouchEvent) => {\n handlePointerPressedIn();\n onTouchStart?.(event);\n }}\n onTouchEnd={(event: React.TouchEvent) => {\n handlePointerPressedOut();\n onTouchEnd?.(event);\n }}\n type={type}\n borderWidth={borderWidth}\n borderRadius={borderRadius}\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n height={height}\n width={width}\n isPressed={isPressed}\n hoverIconColor={\n isDisabled\n ? getIn(theme.colors, iconColor as DotNotationToken<Theme['colors']>)\n : hoverIconColor\n }\n onMouseDown={(event: React.MouseEvent) => {\n handlePointerPressedIn();\n onMouseDown?.(event);\n }}\n onMouseUp={handlePointerPressedOut}\n onMouseOut={handlePointerPressedOut}\n onKeyUp={handleKeyboardPressedOut}\n {...metaAttribute({ name: MetaConstants.Button, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n >\n <AnimatedButtonContent\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n isPressed={isPressed}\n >\n {isLoading ? (\n <BaseBox\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n position=\"absolute\"\n top=\"0px\"\n left=\"0px\"\n bottom=\"0px\"\n right=\"0px\"\n zIndex={1}\n >\n <BaseSpinner\n accessibilityLabel=\"Loading\"\n size={spinnerSize}\n color={color === 'transparent' ? 'primary' : color}\n />\n </BaseBox>\n ) : null}\n <ButtonContent\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flex={1}\n isHidden={isLoading}\n zIndex={1}\n >\n {Icon && iconPosition == 'left' ? (\n <BaseBox\n paddingRight={iconPadding}\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <Icon size={iconSize} color={iconColor} />\n </BaseBox>\n ) : null}\n {text ? (\n isChildrenComponent ? (\n children\n ) : (\n <BaseText\n lineHeight={lineHeight}\n fontSize={fontSize}\n // figma and web have different font-smoothing properties\n // which causes web version of button text to look much bolder\n // than figma version. To fix this we are changing font-weight from 600 to 500\n // https://forum.figma.com/t/why-does-a-font-weight-in-figma-seem-lighter-than-the-same-weight-in-the-browser/2207\n fontWeight=\"medium\"\n textAlign=\"center\"\n color={textColor}\n >\n {text}\n </BaseText>\n )\n ) : null}\n {Icon && iconPosition == 'right' ? (\n <BaseBox\n paddingLeft={iconPadding}\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <Icon size={iconSize} color={iconColor} />\n </BaseBox>\n ) : null}\n </ButtonContent>\n </AnimatedButtonContent>\n </StyledBaseButton>\n );\n};\n\nconst BaseButton = assignWithoutSideEffects(React.forwardRef(_BaseButton), {\n displayName: 'BaseButton',\n});\n\nexport default BaseButton;\n"],"names":["getRenderElement","href","isReactNative","undefined","getBackgroundColorToken","_ref","property","variant","state","color","_state","tokens","backgroundColor","white","Error","concat","transparent","tertiary","base","getTextColorToken","_ref2","textColor","getProps","_ref3","buttonTypographyTokens","childrenString","isDisabled","size","theme","hasIcon","throwBladeError","moduleName","message","isIconOnly","trim","length","props","iconSize","buttonIconOnlySizeToIconSizeMap","buttonSizeToIconSizeMap","spinnerSize","buttonSizeToSpinnerSizeMap","fontSize","fonts","lineHeight","lineHeights","minHeight","makeSize","buttonMinHeight","height","buttonIconOnlyHeightWidth","width","iconPadding","buttonIconPadding","iconColor","buttonPaddingTop","makeSpace","spacing","buttonPadding","top","buttonPaddingBottom","bottom","buttonPaddingLeft","left","buttonPaddingRight","right","text","defaultBackgroundColor","getIn","colors","defaultBorderColor","hoverBackgroundColor","hoverBorderColor","hoverIconColor","focusBackgroundColor","focusBorderColor","focusRingColor","borderWidth","makeBorderSize","border","thin","borderRadius","radius","medium","motionDuration","motionEasing","disabledBackgroundColor","disabledBorderColor","ButtonContent","styled","BaseBox","withConfig","displayName","componentId","_ref4","isHidden","opacity","_BaseButton","_ref5","ref","_buttonGroupProps$siz","_buttonGroupProps$var","_buttonGroupProps$col","_accessibilityProps$r","_buttonGroupProps$isF","target","rel","tabIndex","id","_ref5$variant","_ref5$color","_ref5$size","Icon","icon","_ref5$iconPosition","iconPosition","_ref5$isDisabled","_ref5$isFullWidth","isFullWidth","_ref5$isLoading","isLoading","onClick","onBlur","onKeyDown","_ref5$type","type","children","testID","onFocus","onMouseLeave","onMouseMove","onMouseDown","onPointerDown","onPointerEnter","accessibilityProps","onTouchEnd","onTouchStart","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","buttonGroupProps","useButtonGroupContext","_React$useState","React","useState","_React$useState2","_slicedToArray","isPressed","setIsPressed","isLink","Boolean","getStringFromReactText","isChildrenComponent","isValidElement","disabled","prevLoading","usePrevious","useEffect","announce","_getProps","buttonTypography","renderElement","useMemo","defaultRole","handlePointerPressedIn","useCallback","handlePointerPressedOut","handleKeyboardPressedIn","e","key","handleKeyboardPressedOut","_jsx","StyledBaseButton","_objectSpread","as","makeAccessible","role","event","onMouseUp","onMouseOut","onKeyUp","metaAttribute","name","MetaConstants","Button","getStyledProps","makeAnalyticsAttribute","_jsxs","AnimatedButtonContent","display","justifyContent","alignItems","position","zIndex","BaseSpinner","accessibilityLabel","flexDirection","flex","paddingRight","BaseText","fontWeight","textAlign","paddingLeft","BaseButton","assignWithoutSideEffects","forwardRef"],"mappings":"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"}
|
|
@@ -28,15 +28,23 @@ var StyledBaseButton = /*#__PURE__*/styled.button.withConfig({
|
|
|
28
28
|
transitionTimingFunction: getIn(props.theme.motion, props.motionEasing),
|
|
29
29
|
transitionDuration: castWebType(makeMotionTime(getIn(props.theme.motion, props.motionDuration))),
|
|
30
30
|
position: 'relative',
|
|
31
|
-
'&:hover': _objectSpread({
|
|
31
|
+
'&:hover': _objectSpread(_objectSpread({
|
|
32
32
|
backgroundColor: props.hoverBackgroundColor
|
|
33
33
|
}, props.variant !== 'tertiary' && {
|
|
34
34
|
borderColor: props.hoverBorderColor
|
|
35
|
+
}), props.variant === 'tertiary' && props.color === 'transparent' && {
|
|
36
|
+
'&& [data-blade-component="svg-path"]': {
|
|
37
|
+
fill: props.hoverIconColor
|
|
38
|
+
}
|
|
35
39
|
}),
|
|
36
|
-
'&:active': _objectSpread({
|
|
40
|
+
'&:active': _objectSpread(_objectSpread({
|
|
37
41
|
backgroundColor: props.focusBackgroundColor
|
|
38
42
|
}, props.variant !== 'tertiary' && {
|
|
39
43
|
borderColor: props.focusBorderColor
|
|
44
|
+
}), props.variant === 'tertiary' && props.color === 'transparent' && {
|
|
45
|
+
'&& [data-blade-component="svg-path"]': {
|
|
46
|
+
fill: props.hoverIconColor
|
|
47
|
+
}
|
|
40
48
|
}),
|
|
41
49
|
'&:focus-visible': _objectSpread(_objectSpread({
|
|
42
50
|
backgroundColor: props.focusBackgroundColor
|
|
@@ -45,6 +53,10 @@ var StyledBaseButton = /*#__PURE__*/styled.button.withConfig({
|
|
|
45
53
|
}), {}, {
|
|
46
54
|
outline: "1px solid ".concat(props.theme.colors.surface.background.primary.subtle),
|
|
47
55
|
boxShadow: "0px 0px 0px 4px ".concat(props.focusRingColor)
|
|
56
|
+
}, props.variant === 'tertiary' && props.color === 'transparent' && {
|
|
57
|
+
'&& [data-blade-component="svg-path"]': {
|
|
58
|
+
fill: props.hoverIconColor
|
|
59
|
+
}
|
|
48
60
|
}),
|
|
49
61
|
'*': {
|
|
50
62
|
transitionProperty: 'color, fill, opacity',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StyledBaseButton.web.js","sources":["../../../../../../../src/components/Button/BaseButton/StyledBaseButton.web.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport getStyledBaseButtonStyles from './getStyledBaseButtonStyles';\nimport type { StyledBaseButtonProps } from './types';\nimport getIn from '~utils/lodashButBetter/get';\nimport { useStyledProps } from '~components/Box/styledProps';\nimport { makeMotionTime } from '~utils/makeMotionTime';\nimport { omitPropsFromHTML } from '~utils/omitPropsFromHTML';\nimport { castWebType } from '~utils';\n\nconst StyledBaseButton = styled.button\n .withConfig({\n shouldForwardProp: omitPropsFromHTML,\n displayName: 'StyledBaseButton',\n })\n .attrs((props: StyledBaseButtonProps) => ({\n ...props.accessibilityProps,\n }))<Omit<StyledBaseButtonProps, 'onClick'>>((props) => {\n const styledPropsCSSObject = useStyledProps(props);\n return {\n ...getStyledBaseButtonStyles(props),\n display: 'inline-flex',\n transitionProperty: 'background-color, border-color, box-shadow',\n transitionTimingFunction: getIn(props.theme.motion, props.motionEasing),\n transitionDuration: castWebType(\n makeMotionTime(getIn(props.theme.motion, props.motionDuration)),\n ),\n position: 'relative',\n '&:hover': {\n backgroundColor: props.hoverBackgroundColor,\n ...(props.variant !== 'tertiary' && {\n borderColor: props.hoverBorderColor,\n }),\n },\n '&:active': {\n backgroundColor: props.focusBackgroundColor,\n ...(props.variant !== 'tertiary' && {\n borderColor: props.focusBorderColor,\n }),\n },\n '&:focus-visible': {\n backgroundColor: props.focusBackgroundColor,\n ...(props.variant !== 'tertiary' && {\n borderColor: props.focusBorderColor,\n }),\n outline: `1px solid ${props.theme.colors.surface.background.primary.subtle}`,\n boxShadow: `0px 0px 0px 4px ${props.focusRingColor}`,\n },\n '*': {\n transitionProperty: 'color, fill, opacity',\n transitionDuration: castWebType(\n makeMotionTime(getIn(props.theme.motion, props.motionDuration)),\n ),\n transitionTimingFunction: getIn(props.theme.motion, props.motionEasing),\n },\n ...styledPropsCSSObject,\n };\n});\n\nexport default StyledBaseButton;\n"],"names":["StyledBaseButton","styled","button","withConfig","shouldForwardProp","omitPropsFromHTML","displayName","attrs","props","_objectSpread","accessibilityProps","componentId","styledPropsCSSObject","useStyledProps","getStyledBaseButtonStyles","display","transitionProperty","transitionTimingFunction","getIn","theme","motion","motionEasing","transitionDuration","castWebType","makeMotionTime","motionDuration","position","backgroundColor","hoverBackgroundColor","variant","borderColor","hoverBorderColor","focusBackgroundColor","focusBorderColor","outline","concat","colors","surface","background","primary","subtle","boxShadow","focusRingColor"],"mappings":";;;;;;;;;;;;;;AASA,IAAMA,gBAAgB,gBAAGC,MAAM,CAACC,MAAM,CACnCC,UAAU,CAAC;AACVC,EAAAA,iBAAiB,EAAEC,iBAAiB;AACpCC,EAAAA,WAAW,EAAE,kBAAA;AACf,CAAC,CAAC,CACDC,KAAK,CAAC,UAACC,KAA4B,EAAA;AAAA,EAAA,OAAAC,aAAA,CAAA,EAAA,EAC/BD,KAAK,CAACE,kBAAkB,CAAA,CAAA;AAAA,CAC3B,CAAC,CAAAP,UAAA,CAAA;EAAAG,WAAA,EAAA,uCAAA;EAAAK,WAAA,EAAA,aAAA;AAAA,CAAyC,CAAA,CAAA,UAACH,KAAK,EAAK;AACvD,EAAA,IAAMI,oBAAoB,GAAGC,cAAc,CAACL,KAAK,CAAC,CAAA;AAClD,EAAA,OAAAC,aAAA,CAAAA,aAAA,KACKK,mBAAyB,CAACN,KAAK,CAAC,CAAA,EAAA,EAAA,EAAA;AACnCO,IAAAA,OAAO,EAAE,aAAa;AACtBC,IAAAA,kBAAkB,EAAE,4CAA4C;AAChEC,IAAAA,wBAAwB,EAAEC,KAAK,CAACV,KAAK,CAACW,KAAK,CAACC,MAAM,EAAEZ,KAAK,CAACa,YAAY,CAAC;AACvEC,IAAAA,kBAAkB,EAAEC,WAAW,CAC7BC,cAAc,CAACN,KAAK,CAACV,KAAK,CAACW,KAAK,CAACC,MAAM,EAAEZ,KAAK,CAACiB,cAAc,CAAC,CAChE,CAAC;AACDC,IAAAA,QAAQ,EAAE,UAAU;
|
|
1
|
+
{"version":3,"file":"StyledBaseButton.web.js","sources":["../../../../../../../src/components/Button/BaseButton/StyledBaseButton.web.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport getStyledBaseButtonStyles from './getStyledBaseButtonStyles';\nimport type { StyledBaseButtonProps } from './types';\nimport getIn from '~utils/lodashButBetter/get';\nimport { useStyledProps } from '~components/Box/styledProps';\nimport { makeMotionTime } from '~utils/makeMotionTime';\nimport { omitPropsFromHTML } from '~utils/omitPropsFromHTML';\nimport { castWebType } from '~utils';\n\nconst StyledBaseButton = styled.button\n .withConfig({\n shouldForwardProp: omitPropsFromHTML,\n displayName: 'StyledBaseButton',\n })\n .attrs((props: StyledBaseButtonProps) => ({\n ...props.accessibilityProps,\n }))<Omit<StyledBaseButtonProps, 'onClick'>>((props) => {\n const styledPropsCSSObject = useStyledProps(props);\n return {\n ...getStyledBaseButtonStyles(props),\n display: 'inline-flex',\n transitionProperty: 'background-color, border-color, box-shadow',\n transitionTimingFunction: getIn(props.theme.motion, props.motionEasing),\n transitionDuration: castWebType(\n makeMotionTime(getIn(props.theme.motion, props.motionDuration)),\n ),\n position: 'relative',\n '&:hover': {\n backgroundColor: props.hoverBackgroundColor,\n ...(props.variant !== 'tertiary' && {\n borderColor: props.hoverBorderColor,\n }),\n ...(props.variant === 'tertiary' &&\n props.color === 'transparent' && {\n '&& [data-blade-component=\"svg-path\"]': {\n fill: props.hoverIconColor,\n },\n }),\n },\n '&:active': {\n backgroundColor: props.focusBackgroundColor,\n ...(props.variant !== 'tertiary' && {\n borderColor: props.focusBorderColor,\n }),\n ...(props.variant === 'tertiary' &&\n props.color === 'transparent' && {\n '&& [data-blade-component=\"svg-path\"]': {\n fill: props.hoverIconColor,\n },\n }),\n },\n '&:focus-visible': {\n backgroundColor: props.focusBackgroundColor,\n ...(props.variant !== 'tertiary' && {\n borderColor: props.focusBorderColor,\n }),\n outline: `1px solid ${props.theme.colors.surface.background.primary.subtle}`,\n boxShadow: `0px 0px 0px 4px ${props.focusRingColor}`,\n ...(props.variant === 'tertiary' &&\n props.color === 'transparent' && {\n '&& [data-blade-component=\"svg-path\"]': {\n fill: props.hoverIconColor,\n },\n }),\n },\n '*': {\n transitionProperty: 'color, fill, opacity',\n transitionDuration: castWebType(\n makeMotionTime(getIn(props.theme.motion, props.motionDuration)),\n ),\n transitionTimingFunction: getIn(props.theme.motion, props.motionEasing),\n },\n ...styledPropsCSSObject,\n };\n});\n\nexport default StyledBaseButton;\n"],"names":["StyledBaseButton","styled","button","withConfig","shouldForwardProp","omitPropsFromHTML","displayName","attrs","props","_objectSpread","accessibilityProps","componentId","styledPropsCSSObject","useStyledProps","getStyledBaseButtonStyles","display","transitionProperty","transitionTimingFunction","getIn","theme","motion","motionEasing","transitionDuration","castWebType","makeMotionTime","motionDuration","position","backgroundColor","hoverBackgroundColor","variant","borderColor","hoverBorderColor","color","fill","hoverIconColor","focusBackgroundColor","focusBorderColor","outline","concat","colors","surface","background","primary","subtle","boxShadow","focusRingColor"],"mappings":"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"}
|
|
@@ -23,6 +23,11 @@ var backgroundColor = function backgroundColor(property) {
|
|
|
23
23
|
"default": "interactive.".concat(property, ".gray.default"),
|
|
24
24
|
highlighted: "interactive.".concat(property, ".gray.highlighted"),
|
|
25
25
|
disabled: "interactive.".concat(property, ".gray.disabled")
|
|
26
|
+
},
|
|
27
|
+
transparent: {
|
|
28
|
+
"default": 'transparent',
|
|
29
|
+
highlighted: "interactive.".concat(property, ".gray.faded"),
|
|
30
|
+
disabled: "interactive.".concat(property, ".gray.disabled")
|
|
26
31
|
}
|
|
27
32
|
},
|
|
28
33
|
white: {
|
|
@@ -42,6 +47,13 @@ var backgroundColor = function backgroundColor(property) {
|
|
|
42
47
|
disabled: "interactive.background.staticWhite.disabled"
|
|
43
48
|
}
|
|
44
49
|
},
|
|
50
|
+
transparent: {
|
|
51
|
+
tertiary: {
|
|
52
|
+
"default": 'transparent',
|
|
53
|
+
highlighted: 'interactive.background.gray.faded',
|
|
54
|
+
disabled: "interactive.background.staticWhite.disabled"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
45
57
|
color: function color(_color) {
|
|
46
58
|
return {
|
|
47
59
|
primary: {
|
|
@@ -94,6 +106,13 @@ var textColor = function textColor(property) {
|
|
|
94
106
|
disabled: "interactive.".concat(property, ".staticWhite.disabled")
|
|
95
107
|
}
|
|
96
108
|
},
|
|
109
|
+
transparent: {
|
|
110
|
+
tertiary: {
|
|
111
|
+
"default": property === 'icon' ? 'interactive.icon.gray.muted' : 'surface.text.gray.normal',
|
|
112
|
+
highlighted: property === 'icon' ? 'interactive.icon.gray.subtle' : 'surface.text.gray.normal',
|
|
113
|
+
disabled: "interactive.".concat(property, ".gray.disabled")
|
|
114
|
+
}
|
|
115
|
+
},
|
|
97
116
|
color: function color(_color2) {
|
|
98
117
|
return {
|
|
99
118
|
primary: {
|