@razorpay/blade 11.18.2 → 11.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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/DatePicker/DatePicker.native.js +7 -0
- package/build/lib/native/components/DatePicker/DatePicker.native.js.map +1 -0
- package/build/lib/native/components/index.js +1 -0
- package/build/lib/native/components/index.js.map +1 -1
- package/build/lib/native/tokens/global/size.js +1 -1
- package/build/lib/native/tokens/global/size.js.map +1 -1
- package/build/lib/native/utils/metaAttribute/metaConstants.js +1 -1
- package/build/lib/native/utils/metaAttribute/metaConstants.js.map +1 -1
- package/build/lib/web/development/components/BottomSheet/BottomSheetBody.web.js +6 -4
- package/build/lib/web/development/components/BottomSheet/BottomSheetBody.web.js.map +1 -1
- package/build/lib/web/development/components/Button/BaseButton/BaseButton.js +1 -1
- package/build/lib/web/development/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/web/development/components/Button/BaseButton/buttonTokens.js +2 -2
- package/build/lib/web/development/components/Button/BaseButton/buttonTokens.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/Calendar.web.js +182 -0
- package/build/lib/web/development/components/DatePicker/Calendar.web.js.map +1 -0
- package/build/lib/web/development/components/DatePicker/CalendarFooter.web.js +46 -0
- package/build/lib/web/development/components/DatePicker/CalendarFooter.web.js.map +1 -0
- package/build/lib/web/development/components/DatePicker/CalendarHeader.web.js +162 -0
- package/build/lib/web/development/components/DatePicker/CalendarHeader.web.js.map +1 -0
- package/build/lib/web/development/components/DatePicker/CalendarStyles.web.js +310 -0
- package/build/lib/web/development/components/DatePicker/CalendarStyles.web.js.map +1 -0
- package/build/lib/web/development/components/DatePicker/DateInput.web.js +185 -0
- package/build/lib/web/development/components/DatePicker/DateInput.web.js.map +1 -0
- package/build/lib/web/development/components/DatePicker/DatePicker.web.js +364 -0
- package/build/lib/web/development/components/DatePicker/DatePicker.web.js.map +1 -0
- package/build/lib/web/development/components/DatePicker/QuickSelection/PresetSideBar.web.js +86 -0
- package/build/lib/web/development/components/DatePicker/QuickSelection/PresetSideBar.web.js.map +1 -0
- package/build/lib/web/development/components/DatePicker/QuickSelection/QuickSelectionItem.web.js +43 -0
- package/build/lib/web/development/components/DatePicker/QuickSelection/QuickSelectionItem.web.js.map +1 -0
- package/build/lib/web/development/components/DatePicker/constants.js +22 -0
- package/build/lib/web/development/components/DatePicker/constants.js.map +1 -0
- package/build/lib/web/development/components/DatePicker/index.js +2 -0
- package/build/lib/web/development/components/DatePicker/index.js.map +1 -0
- package/build/lib/web/development/components/DatePicker/useControlledDates.js +75 -0
- package/build/lib/web/development/components/DatePicker/useControlledDates.js.map +1 -0
- package/build/lib/web/development/components/DatePicker/useDatesState.js +149 -0
- package/build/lib/web/development/components/DatePicker/useDatesState.js.map +1 -0
- package/build/lib/web/development/components/DatePicker/usePopup.js +90 -0
- package/build/lib/web/development/components/DatePicker/usePopup.js.map +1 -0
- package/build/lib/web/development/components/DatePicker/utils.js +39 -0
- package/build/lib/web/development/components/DatePicker/utils.js.map +1 -0
- package/build/lib/web/development/components/Input/PhoneNumberInput/PhoneNumberInput.web.js +3 -2
- package/build/lib/web/development/components/Input/PhoneNumberInput/PhoneNumberInput.web.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/tokens/global/size.js +2 -0
- package/build/lib/web/development/tokens/global/size.js.map +1 -1
- package/build/lib/web/development/utils/getFocusRingStyles/getFocusRingStyles.web.js +6 -3
- package/build/lib/web/development/utils/getFocusRingStyles/getFocusRingStyles.web.js.map +1 -1
- package/build/lib/web/development/utils/metaAttribute/metaConstants.js +2 -0
- package/build/lib/web/development/utils/metaAttribute/metaConstants.js.map +1 -1
- package/build/lib/web/production/components/BottomSheet/BottomSheetBody.web.js +6 -4
- package/build/lib/web/production/components/BottomSheet/BottomSheetBody.web.js.map +1 -1
- package/build/lib/web/production/components/Button/BaseButton/BaseButton.js +1 -1
- package/build/lib/web/production/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/web/production/components/Button/BaseButton/buttonTokens.js +2 -2
- package/build/lib/web/production/components/Button/BaseButton/buttonTokens.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/Calendar.web.js +182 -0
- package/build/lib/web/production/components/DatePicker/Calendar.web.js.map +1 -0
- package/build/lib/web/production/components/DatePicker/CalendarFooter.web.js +46 -0
- package/build/lib/web/production/components/DatePicker/CalendarFooter.web.js.map +1 -0
- package/build/lib/web/production/components/DatePicker/CalendarHeader.web.js +162 -0
- package/build/lib/web/production/components/DatePicker/CalendarHeader.web.js.map +1 -0
- package/build/lib/web/production/components/DatePicker/CalendarStyles.web.js +310 -0
- package/build/lib/web/production/components/DatePicker/CalendarStyles.web.js.map +1 -0
- package/build/lib/web/production/components/DatePicker/DateInput.web.js +185 -0
- package/build/lib/web/production/components/DatePicker/DateInput.web.js.map +1 -0
- package/build/lib/web/production/components/DatePicker/DatePicker.web.js +364 -0
- package/build/lib/web/production/components/DatePicker/DatePicker.web.js.map +1 -0
- package/build/lib/web/production/components/DatePicker/QuickSelection/PresetSideBar.web.js +86 -0
- package/build/lib/web/production/components/DatePicker/QuickSelection/PresetSideBar.web.js.map +1 -0
- package/build/lib/web/production/components/DatePicker/QuickSelection/QuickSelectionItem.web.js +43 -0
- package/build/lib/web/production/components/DatePicker/QuickSelection/QuickSelectionItem.web.js.map +1 -0
- package/build/lib/web/production/components/DatePicker/constants.js +22 -0
- package/build/lib/web/production/components/DatePicker/constants.js.map +1 -0
- package/build/lib/web/production/components/DatePicker/index.js +2 -0
- package/build/lib/web/production/components/DatePicker/index.js.map +1 -0
- package/build/lib/web/production/components/DatePicker/useControlledDates.js +75 -0
- package/build/lib/web/production/components/DatePicker/useControlledDates.js.map +1 -0
- package/build/lib/web/production/components/DatePicker/useDatesState.js +149 -0
- package/build/lib/web/production/components/DatePicker/useDatesState.js.map +1 -0
- package/build/lib/web/production/components/DatePicker/usePopup.js +90 -0
- package/build/lib/web/production/components/DatePicker/usePopup.js.map +1 -0
- package/build/lib/web/production/components/DatePicker/utils.js +39 -0
- package/build/lib/web/production/components/DatePicker/utils.js.map +1 -0
- package/build/lib/web/production/components/Input/PhoneNumberInput/PhoneNumberInput.web.js +3 -2
- package/build/lib/web/production/components/Input/PhoneNumberInput/PhoneNumberInput.web.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/tokens/global/size.js +2 -0
- package/build/lib/web/production/tokens/global/size.js.map +1 -1
- package/build/lib/web/production/utils/getFocusRingStyles/getFocusRingStyles.web.js +6 -3
- package/build/lib/web/production/utils/getFocusRingStyles/getFocusRingStyles.web.js.map +1 -1
- package/build/lib/web/production/utils/metaAttribute/metaConstants.js +2 -0
- package/build/lib/web/production/utils/metaAttribute/metaConstants.js.map +1 -1
- package/build/types/components/index.d.ts +1242 -527
- package/build/types/components/index.native.d.ts +550 -406
- package/build/types/tokens/index.d.ts +2 -0
- package/build/types/tokens/index.native.d.ts +2 -0
- package/package.json +7 -3
|
@@ -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 BaseBox from '~components/Box/BaseBox';\nimport type { BladeElementRef, StringChildrenType, TestID } 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';\n\ntype BaseButtonCommonProps = {\n href?: BaseLinkProps['href'];\n target?: BaseLinkProps['target'];\n rel?: BaseLinkProps['rel'];\n size?: 'xsmall' | 'small' | 'medium' | 'large';\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};\n\n/*\n Optional children prop when icon is provided\n*/\ntype BaseButtonWithIconProps = BaseButtonCommonProps & {\n icon: IconComponent;\n children?: StringChildrenType;\n};\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: size === 'xsmall' ? childrenString?.trim().toUpperCase() : 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.effective',\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 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 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 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 defaultRel = target === '_blank' ? 'noreferrer noopener' : undefined;\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 // 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 ?? defaultRel}\n accessibilityProps={{\n ...makeAccessible({\n role: isLink ? 'link' : 'button',\n ...accessibilityProps,\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 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={handlePointerPressedIn}\n onMouseUp={handlePointerPressedOut}\n onMouseOut={handlePointerPressedOut}\n onKeyUp={handleKeyboardPressedOut}\n {...metaAttribute({ name: MetaConstants.Button, testID })}\n {...getStyledProps(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","toUpperCase","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$isD","_buttonGroupProps$siz","_buttonGroupProps$var","_buttonGroupProps$col","_buttonGroupProps$isF","target","rel","_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","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","defaultRel","handlePointerPressedIn","useCallback","handlePointerPressedOut","handleKeyboardPressedIn","e","key","handleKeyboardPressedOut","_jsx","StyledBaseButton","_objectSpread","as","makeAccessible","role","event","onMouseDown","onMouseUp","onMouseOut","onKeyUp","metaAttribute","name","MetaConstants","Button","getStyledProps","_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 BaseBox from '~components/Box/BaseBox';\nimport type { BladeElementRef, StringChildrenType, TestID } 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';\n\ntype BaseButtonCommonProps = {\n href?: BaseLinkProps['href'];\n target?: BaseLinkProps['target'];\n rel?: BaseLinkProps['rel'];\n size?: 'xsmall' | 'small' | 'medium' | 'large';\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};\n\n/*\n Optional children prop when icon is provided\n*/\ntype BaseButtonWithIconProps = BaseButtonCommonProps & {\n icon: IconComponent;\n children?: StringChildrenType;\n};\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.effective',\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 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 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 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 defaultRel = target === '_blank' ? 'noreferrer noopener' : undefined;\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 // 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 ?? defaultRel}\n accessibilityProps={{\n ...makeAccessible({\n role: isLink ? 'link' : 'button',\n ...accessibilityProps,\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 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={handlePointerPressedIn}\n onMouseUp={handlePointerPressedOut}\n onMouseOut={handlePointerPressedOut}\n onKeyUp={handleKeyboardPressedOut}\n {...metaAttribute({ name: MetaConstants.Button, testID })}\n {...getStyledProps(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$isD","_buttonGroupProps$siz","_buttonGroupProps$var","_buttonGroupProps$col","_buttonGroupProps$isF","target","rel","_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","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","defaultRel","handlePointerPressedIn","useCallback","handlePointerPressedOut","handleKeyboardPressedIn","e","key","handleKeyboardPressedOut","_jsx","StyledBaseButton","_objectSpread","as","makeAccessible","role","event","onMouseDown","onMouseUp","onMouseOut","onKeyUp","metaAttribute","name","MetaConstants","Button","getStyledProps","_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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buttonTokens.js","sources":["../../../../../../../src/components/Button/BaseButton/buttonTokens.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport type { BaseButtonProps } from './BaseButton';\nimport type { Theme } from '~components/BladeProvider';\nimport type { IconSize } from '~components/Icons';\nimport type { SpinnerProps } from '~components/Spinner';\nimport type { Size } from '~tokens/global';\nimport { size } from '~tokens/global';\nimport type { FeedbackColors } from '~tokens/theme/theme';\nimport { makeSize } from '~utils';\n\nexport type ButtonMinHeight = Size[28] | Size[32] | Size[36] | Size[48];\n\nexport type ButtonTypography = {\n fonts: {\n size: Record<NonNullable<BaseButtonProps['size']>, keyof Theme['typography']['fonts']['size']>;\n };\n lineHeights: Record<\n NonNullable<BaseButtonProps['size']>,\n keyof Theme['typography']['lineHeights']\n >;\n};\n\nconst backgroundColor = (property: 'background' | 'border') => {\n const isBorder = property === 'border';\n return {\n base: {\n primary: {\n default: `interactive.${property}.primary.default`,\n highlighted: `interactive.${property}.primary.highlighted`,\n disabled: `interactive.${property}.primary.disabled`,\n },\n secondary: {\n default: isBorder ? 'interactive.border.primary.default' : 'transparent',\n highlighted: isBorder\n ? `interactive.border.primary.default`\n : `interactive.background.primary.faded`,\n disabled: isBorder ? `interactive.border.primary.disabled` : `transparent`,\n },\n tertiary: {\n default: `interactive.${property}.gray.default`,\n highlighted: `interactive.${property}.gray.highlighted`,\n disabled: `interactive.${property}.gray.disabled`,\n },\n },\n white: {\n primary: {\n default: `interactive.${property}.staticWhite.default`,\n highlighted: `interactive.${property}.staticWhite.highlighted`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n secondary: {\n default: isBorder ? 'interactive.border.staticWhite.highlighted' : 'transparent',\n highlighted: isBorder\n ? 'interactive.border.staticWhite.highlighted'\n : 'interactive.background.staticWhite.faded',\n disabled: isBorder ? `interactive.border.staticWhite.disabled` : 'transparent',\n },\n tertiary: {\n default: `interactive.background.staticWhite.faded`,\n highlighted: `interactive.background.staticWhite.fadedHighlighted`,\n disabled: `interactive.background.staticWhite.disabled`,\n },\n },\n color: (color: FeedbackColors) => {\n return {\n primary: {\n default: `interactive.${property}.${color}.default`,\n highlighted: `interactive.${property}.${color}.highlighted`,\n disabled: `interactive.${property}.${color}.disabled`,\n },\n secondary: {\n default: isBorder\n ? (`interactive.border.${color}.default` as const)\n : (`interactive.background.${color}.faded` as const),\n highlighted: isBorder\n ? (`interactive.border.${color}.default` as const)\n : (`interactive.background.${color}.fadedHighlighted` as const),\n disabled: `interactive.${property}.${color}.disabled`,\n },\n } as const;\n },\n } as const;\n};\n\nconst textColor = (property: 'icon' | 'text') => {\n return {\n base: {\n primary: {\n default: `interactive.${property}.onPrimary.normal`,\n highlighted: `interactive.${property}.onPrimary.normal`,\n disabled: `interactive.${property}.primary.disabled`,\n },\n secondary: {\n default: `interactive.${property}.primary.subtle`,\n highlighted: `interactive.${property}.primary.subtle`,\n disabled: `interactive.${property}.primary.disabled`,\n },\n tertiary: {\n default: `interactive.${property}.gray.normal`,\n highlighted: `interactive.${property}.gray.normal`,\n disabled: `interactive.${property}.gray.disabled`,\n },\n },\n white: {\n primary: {\n default: `interactive.${property}.staticBlack.muted`,\n highlighted: `interactive.${property}.staticBlack.muted`,\n disabled: `interactive.${property}.staticBlack.disabled`,\n },\n secondary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n tertiary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n },\n color: (color: FeedbackColors) => {\n return {\n primary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.${color}.disabled`,\n },\n secondary: {\n default: `interactive.${property}.${color}.normal`,\n highlighted: `interactive.${property}.${color}.normal`,\n disabled: `interactive.${property}.${color}.disabled`,\n },\n } as const;\n },\n } as const;\n};\n\nconst typography: ButtonTypography = {\n fonts: {\n size: {\n xsmall: 50,\n small: 50,\n medium: 100,\n large: 200,\n },\n },\n lineHeights: {\n xsmall: 75,\n small: 75,\n medium: 100,\n large: 200,\n },\n};\n\nconst minHeight: Record<NonNullable<BaseButtonProps['size']>, ButtonMinHeight> = {\n xsmall: size[28],\n small: size[32],\n medium: size[36],\n large: size[48],\n};\n\nconst buttonPadding: Record<\n NonNullable<BaseButtonProps['size']>,\n Record<'top' | 'bottom' | 'left' | 'right', keyof Theme['spacing']>\n> = {\n xsmall: {\n top: 0,\n bottom: 0,\n left: 3,\n right: 3,\n },\n small: {\n top: 0,\n bottom: 0,\n left: 4,\n right: 4,\n },\n medium: {\n top: 0,\n bottom: 0,\n left: 6,\n right: 6,\n },\n large: {\n top: 0,\n bottom: 0,\n left: 6,\n right: 6,\n },\n};\n\nconst buttonIconOnlyHeightWidth = {\n xsmall: makeSize(size['28']),\n small: makeSize(size['32']),\n medium: makeSize(size['36']),\n large: makeSize(size['48']),\n} as const;\n\nconst buttonSizeToIconSizeMap: Record<NonNullable<BaseButtonProps['size']>, IconSize> = {\n xsmall: 'small',\n small: 'small',\n medium: 'medium',\n large: 'medium',\n};\n\nconst buttonIconOnlySizeToIconSizeMap: Record<NonNullable<BaseButtonProps['size']>, IconSize> = {\n xsmall: 'small',\n small: 'small',\n medium: 'medium',\n large: 'medium',\n};\n\nconst buttonSizeToSpinnerSizeMap: Record<\n NonNullable<BaseButtonProps['size']>,\n SpinnerProps['size']\n> = {\n xsmall: 'medium',\n small: 'large',\n medium: 'large',\n large: 'xlarge',\n};\n\nconst buttonIconPadding: Record<NonNullable<BaseButtonProps['size']>, keyof Theme['spacing']> = {\n xsmall: 1,\n small: 2,\n medium: 3,\n large: 3,\n};\n\nexport {\n backgroundColor,\n textColor,\n typography,\n minHeight,\n buttonSizeToIconSizeMap,\n buttonIconOnlySizeToIconSizeMap,\n buttonSizeToSpinnerSizeMap,\n buttonIconPadding,\n buttonPadding,\n buttonIconOnlyHeightWidth,\n};\n"],"names":["backgroundColor","property","isBorder","base","primary","concat","highlighted","disabled","secondary","tertiary","white","color","textColor","typography","fonts","size","xsmall","small","medium","large","lineHeights","minHeight","buttonPadding","top","bottom","left","right","buttonIconOnlyHeightWidth","makeSize","buttonSizeToIconSizeMap","buttonIconOnlySizeToIconSizeMap","buttonSizeToSpinnerSizeMap","buttonIconPadding"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"buttonTokens.js","sources":["../../../../../../../src/components/Button/BaseButton/buttonTokens.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport type { BaseButtonProps } from './BaseButton';\nimport type { Theme } from '~components/BladeProvider';\nimport type { IconSize } from '~components/Icons';\nimport type { SpinnerProps } from '~components/Spinner';\nimport type { Size } from '~tokens/global';\nimport { size } from '~tokens/global';\nimport type { FeedbackColors } from '~tokens/theme/theme';\nimport { makeSize } from '~utils';\n\nexport type ButtonMinHeight = Size[28] | Size[32] | Size[36] | Size[48];\n\nexport type ButtonTypography = {\n fonts: {\n size: Record<NonNullable<BaseButtonProps['size']>, keyof Theme['typography']['fonts']['size']>;\n };\n lineHeights: Record<\n NonNullable<BaseButtonProps['size']>,\n keyof Theme['typography']['lineHeights']\n >;\n};\n\nconst backgroundColor = (property: 'background' | 'border') => {\n const isBorder = property === 'border';\n return {\n base: {\n primary: {\n default: `interactive.${property}.primary.default`,\n highlighted: `interactive.${property}.primary.highlighted`,\n disabled: `interactive.${property}.primary.disabled`,\n },\n secondary: {\n default: isBorder ? 'interactive.border.primary.default' : 'transparent',\n highlighted: isBorder\n ? `interactive.border.primary.default`\n : `interactive.background.primary.faded`,\n disabled: isBorder ? `interactive.border.primary.disabled` : `transparent`,\n },\n tertiary: {\n default: `interactive.${property}.gray.default`,\n highlighted: `interactive.${property}.gray.highlighted`,\n disabled: `interactive.${property}.gray.disabled`,\n },\n },\n white: {\n primary: {\n default: `interactive.${property}.staticWhite.default`,\n highlighted: `interactive.${property}.staticWhite.highlighted`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n secondary: {\n default: isBorder ? 'interactive.border.staticWhite.highlighted' : 'transparent',\n highlighted: isBorder\n ? 'interactive.border.staticWhite.highlighted'\n : 'interactive.background.staticWhite.faded',\n disabled: isBorder ? `interactive.border.staticWhite.disabled` : 'transparent',\n },\n tertiary: {\n default: `interactive.background.staticWhite.faded`,\n highlighted: `interactive.background.staticWhite.fadedHighlighted`,\n disabled: `interactive.background.staticWhite.disabled`,\n },\n },\n color: (color: FeedbackColors) => {\n return {\n primary: {\n default: `interactive.${property}.${color}.default`,\n highlighted: `interactive.${property}.${color}.highlighted`,\n disabled: `interactive.${property}.${color}.disabled`,\n },\n secondary: {\n default: isBorder\n ? (`interactive.border.${color}.default` as const)\n : (`interactive.background.${color}.faded` as const),\n highlighted: isBorder\n ? (`interactive.border.${color}.default` as const)\n : (`interactive.background.${color}.fadedHighlighted` as const),\n disabled: `interactive.${property}.${color}.disabled`,\n },\n } as const;\n },\n } as const;\n};\n\nconst textColor = (property: 'icon' | 'text') => {\n return {\n base: {\n primary: {\n default: `interactive.${property}.onPrimary.normal`,\n highlighted: `interactive.${property}.onPrimary.normal`,\n disabled: `interactive.${property}.primary.disabled`,\n },\n secondary: {\n default: `interactive.${property}.primary.subtle`,\n highlighted: `interactive.${property}.primary.subtle`,\n disabled: `interactive.${property}.primary.disabled`,\n },\n tertiary: {\n default: `interactive.${property}.gray.normal`,\n highlighted: `interactive.${property}.gray.normal`,\n disabled: `interactive.${property}.gray.disabled`,\n },\n },\n white: {\n primary: {\n default: `interactive.${property}.staticBlack.muted`,\n highlighted: `interactive.${property}.staticBlack.muted`,\n disabled: `interactive.${property}.staticBlack.disabled`,\n },\n secondary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n tertiary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n },\n color: (color: FeedbackColors) => {\n return {\n primary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.${color}.disabled`,\n },\n secondary: {\n default: `interactive.${property}.${color}.normal`,\n highlighted: `interactive.${property}.${color}.normal`,\n disabled: `interactive.${property}.${color}.disabled`,\n },\n } as const;\n },\n } as const;\n};\n\nconst typography: ButtonTypography = {\n fonts: {\n size: {\n xsmall: 50,\n small: 50,\n medium: 100,\n large: 200,\n },\n },\n lineHeights: {\n xsmall: 75,\n small: 75,\n medium: 100,\n large: 200,\n },\n};\n\nconst minHeight: Record<NonNullable<BaseButtonProps['size']>, ButtonMinHeight> = {\n xsmall: size[28],\n small: size[32],\n medium: size[36],\n large: size[48],\n};\n\nconst buttonPadding: Record<\n NonNullable<BaseButtonProps['size']>,\n Record<'top' | 'bottom' | 'left' | 'right', keyof Theme['spacing']>\n> = {\n xsmall: {\n top: 0,\n bottom: 0,\n left: 3,\n right: 3,\n },\n small: {\n top: 0,\n bottom: 0,\n left: 4,\n right: 4,\n },\n medium: {\n top: 0,\n bottom: 0,\n left: 6,\n right: 6,\n },\n large: {\n top: 0,\n bottom: 0,\n left: 6,\n right: 6,\n },\n};\n\nconst buttonIconOnlyHeightWidth = {\n xsmall: makeSize(size['28']),\n small: makeSize(size['32']),\n medium: makeSize(size['36']),\n large: makeSize(size['48']),\n} as const;\n\nconst buttonSizeToIconSizeMap: Record<NonNullable<BaseButtonProps['size']>, IconSize> = {\n xsmall: 'small',\n small: 'small',\n medium: 'medium',\n large: 'medium',\n};\n\nconst buttonIconOnlySizeToIconSizeMap: Record<NonNullable<BaseButtonProps['size']>, IconSize> = {\n xsmall: 'medium',\n small: 'medium',\n medium: 'medium',\n large: 'medium',\n};\n\nconst buttonSizeToSpinnerSizeMap: Record<\n NonNullable<BaseButtonProps['size']>,\n SpinnerProps['size']\n> = {\n xsmall: 'medium',\n small: 'large',\n medium: 'large',\n large: 'xlarge',\n};\n\nconst buttonIconPadding: Record<NonNullable<BaseButtonProps['size']>, keyof Theme['spacing']> = {\n xsmall: 1,\n small: 2,\n medium: 3,\n large: 3,\n};\n\nexport {\n backgroundColor,\n textColor,\n typography,\n minHeight,\n buttonSizeToIconSizeMap,\n buttonIconOnlySizeToIconSizeMap,\n buttonSizeToSpinnerSizeMap,\n buttonIconPadding,\n buttonPadding,\n buttonIconOnlyHeightWidth,\n};\n"],"names":["backgroundColor","property","isBorder","base","primary","concat","highlighted","disabled","secondary","tertiary","white","color","textColor","typography","fonts","size","xsmall","small","medium","large","lineHeights","minHeight","buttonPadding","top","bottom","left","right","buttonIconOnlyHeightWidth","makeSize","buttonSizeToIconSizeMap","buttonIconOnlySizeToIconSizeMap","buttonSizeToSpinnerSizeMap","buttonIconPadding"],"mappings":"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"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
3
|
+
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
4
|
+
import dayjs from 'dayjs';
|
|
5
|
+
import 'react';
|
|
6
|
+
import { useDatesContext, shiftTimezone, DatePicker } from '@mantine/dates';
|
|
7
|
+
import { CalendarHeader } from './CalendarHeader.web.js';
|
|
8
|
+
import { CalendarStyles, CalendarGradientStyles } from './CalendarStyles.web.js';
|
|
9
|
+
import { useUncontrolledDates } from './useControlledDates.js';
|
|
10
|
+
import { pickerToLevel, levelToPicker, classes } from './constants.js';
|
|
11
|
+
import { useControllableState } from '../../utils/useControllable.js';
|
|
12
|
+
import { useIsMobile } from '../../utils/useIsMobile.js';
|
|
13
|
+
import '../../utils/logger/index.js';
|
|
14
|
+
import '../../utils/metaAttribute/index.js';
|
|
15
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
16
|
+
import { throwBladeError } from '../../utils/logger/logger.js';
|
|
17
|
+
import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.web.js';
|
|
18
|
+
import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
|
|
19
|
+
|
|
20
|
+
var _excluded = ["firstDayOfWeek", "selectionType", "allowSingleDateInRange", "defaultPicker", "picker", "onPickerChange", "date", "defaultDate", "onDateChange", "onNext", "onPrevious", "presets"];
|
|
21
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
22
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
23
|
+
var Calendar = function Calendar(_ref) {
|
|
24
|
+
var _ref$firstDayOfWeek = _ref.firstDayOfWeek,
|
|
25
|
+
firstDayOfWeek = _ref$firstDayOfWeek === void 0 ? 0 : _ref$firstDayOfWeek,
|
|
26
|
+
selectionType = _ref.selectionType,
|
|
27
|
+
allowSingleDateInRange = _ref.allowSingleDateInRange,
|
|
28
|
+
_ref$defaultPicker = _ref.defaultPicker,
|
|
29
|
+
defaultPicker = _ref$defaultPicker === void 0 ? 'day' : _ref$defaultPicker,
|
|
30
|
+
picker = _ref.picker,
|
|
31
|
+
onPickerChange = _ref.onPickerChange,
|
|
32
|
+
date = _ref.date,
|
|
33
|
+
defaultDate = _ref.defaultDate,
|
|
34
|
+
onDateChange = _ref.onDateChange,
|
|
35
|
+
onNext = _ref.onNext,
|
|
36
|
+
onPrevious = _ref.onPrevious,
|
|
37
|
+
presets = _ref.presets,
|
|
38
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
39
|
+
var isRange = selectionType === 'range';
|
|
40
|
+
var _useControllableState = useControllableState({
|
|
41
|
+
defaultValue: pickerToLevel[defaultPicker],
|
|
42
|
+
value: pickerToLevel[picker],
|
|
43
|
+
onChange: function onChange(level) {
|
|
44
|
+
onPickerChange === null || onPickerChange === void 0 ? void 0 : onPickerChange(levelToPicker[level]);
|
|
45
|
+
}
|
|
46
|
+
}),
|
|
47
|
+
_useControllableState2 = _slicedToArray(_useControllableState, 2),
|
|
48
|
+
level = _useControllableState2[0],
|
|
49
|
+
setLevel = _useControllableState2[1];
|
|
50
|
+
if (true) {
|
|
51
|
+
if (isRange && level !== 'month') {
|
|
52
|
+
throwBladeError({
|
|
53
|
+
message: "Cannot use range DatePicker with pickerType: ".concat(levelToPicker[level], ", Only \"day\" is supported"),
|
|
54
|
+
moduleName: 'DatePicker'
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
var _useUncontrolledDates = useUncontrolledDates({
|
|
59
|
+
type: 'default',
|
|
60
|
+
value: date,
|
|
61
|
+
defaultValue: defaultDate,
|
|
62
|
+
onChange: onDateChange
|
|
63
|
+
}),
|
|
64
|
+
_useUncontrolledDates2 = _slicedToArray(_useUncontrolledDates, 2),
|
|
65
|
+
_date = _useUncontrolledDates2[0],
|
|
66
|
+
setDate = _useUncontrolledDates2[1];
|
|
67
|
+
var dateContext = useDatesContext();
|
|
68
|
+
var isMobile = useIsMobile();
|
|
69
|
+
var currentDate = _date !== null && _date !== void 0 ? _date : shiftTimezone('add', new Date(), dateContext.getTimezone());
|
|
70
|
+
var numberOfColumns = isMobile || !isRange ? 1 : 2;
|
|
71
|
+
var columnsToScroll = numberOfColumns;
|
|
72
|
+
var handleNextMonth = function handleNextMonth() {
|
|
73
|
+
var nextDate = dayjs(currentDate).add(columnsToScroll, 'month').toDate();
|
|
74
|
+
onNext === null || onNext === void 0 ? void 0 : onNext({
|
|
75
|
+
date: nextDate,
|
|
76
|
+
type: 'month'
|
|
77
|
+
});
|
|
78
|
+
setDate(nextDate);
|
|
79
|
+
};
|
|
80
|
+
var handlePreviousMonth = function handlePreviousMonth() {
|
|
81
|
+
var nextDate = dayjs(currentDate).subtract(columnsToScroll, 'month').toDate();
|
|
82
|
+
onPrevious === null || onPrevious === void 0 ? void 0 : onPrevious({
|
|
83
|
+
date: nextDate,
|
|
84
|
+
type: 'month'
|
|
85
|
+
});
|
|
86
|
+
setDate(nextDate);
|
|
87
|
+
};
|
|
88
|
+
var handleNextYear = function handleNextYear() {
|
|
89
|
+
var nextDate = dayjs(currentDate).add(columnsToScroll, 'year').toDate();
|
|
90
|
+
onNext === null || onNext === void 0 ? void 0 : onNext({
|
|
91
|
+
date: nextDate,
|
|
92
|
+
type: 'year'
|
|
93
|
+
});
|
|
94
|
+
setDate(nextDate);
|
|
95
|
+
};
|
|
96
|
+
var handlePreviousYear = function handlePreviousYear() {
|
|
97
|
+
var nextDate = dayjs(currentDate).subtract(columnsToScroll, 'year').toDate();
|
|
98
|
+
onPrevious === null || onPrevious === void 0 ? void 0 : onPrevious({
|
|
99
|
+
date: nextDate,
|
|
100
|
+
type: 'year'
|
|
101
|
+
});
|
|
102
|
+
setDate(nextDate);
|
|
103
|
+
};
|
|
104
|
+
var handleNextDecade = function handleNextDecade() {
|
|
105
|
+
var nextDate = dayjs(currentDate).add(10 * columnsToScroll, 'year').toDate();
|
|
106
|
+
onNext === null || onNext === void 0 ? void 0 : onNext({
|
|
107
|
+
date: nextDate,
|
|
108
|
+
type: 'decade'
|
|
109
|
+
});
|
|
110
|
+
setDate(nextDate);
|
|
111
|
+
};
|
|
112
|
+
var handlePreviousDecade = function handlePreviousDecade() {
|
|
113
|
+
var nextDate = dayjs(currentDate).subtract(10 * columnsToScroll, 'year').toDate();
|
|
114
|
+
onPrevious === null || onPrevious === void 0 ? void 0 : onPrevious({
|
|
115
|
+
date: nextDate,
|
|
116
|
+
type: 'decade'
|
|
117
|
+
});
|
|
118
|
+
setDate(nextDate);
|
|
119
|
+
};
|
|
120
|
+
return /*#__PURE__*/jsxs(CalendarStyles, _objectSpread(_objectSpread({
|
|
121
|
+
display: "flex",
|
|
122
|
+
flexDirection: "column",
|
|
123
|
+
gap: "spacing.7",
|
|
124
|
+
pickerType: levelToPicker[level]
|
|
125
|
+
}, metaAttribute({
|
|
126
|
+
name: MetaConstants.Calendar
|
|
127
|
+
})), {}, {
|
|
128
|
+
children: [/*#__PURE__*/jsx(CalendarHeader, {
|
|
129
|
+
isRange: isRange,
|
|
130
|
+
date: currentDate,
|
|
131
|
+
onLevelChange: function onLevelChange(level) {
|
|
132
|
+
return setLevel(function () {
|
|
133
|
+
return level;
|
|
134
|
+
});
|
|
135
|
+
},
|
|
136
|
+
pickerType: levelToPicker[level],
|
|
137
|
+
onNextMonth: handleNextMonth,
|
|
138
|
+
onPreviousMonth: handlePreviousMonth,
|
|
139
|
+
onNextDecade: handleNextDecade,
|
|
140
|
+
onPreviousDecade: handlePreviousDecade,
|
|
141
|
+
onNextYear: handleNextYear,
|
|
142
|
+
onPreviousYear: handlePreviousYear
|
|
143
|
+
}), /*#__PURE__*/jsx(CalendarGradientStyles, {
|
|
144
|
+
isRange: isRange,
|
|
145
|
+
date: currentDate,
|
|
146
|
+
children: /*#__PURE__*/jsx(DatePicker, _objectSpread({
|
|
147
|
+
withCellSpacing: false,
|
|
148
|
+
type: isRange ? 'range' : 'default',
|
|
149
|
+
date: _date,
|
|
150
|
+
locale: dateContext.locale,
|
|
151
|
+
level: level,
|
|
152
|
+
onDateChange: setDate,
|
|
153
|
+
onLevelChange: function onLevelChange(level) {
|
|
154
|
+
return setLevel(function () {
|
|
155
|
+
return level;
|
|
156
|
+
});
|
|
157
|
+
},
|
|
158
|
+
numberOfColumns: numberOfColumns,
|
|
159
|
+
weekdayFormat: "ddd",
|
|
160
|
+
firstDayOfWeek: firstDayOfWeek
|
|
161
|
+
// @ts-expect-error unable to narrow props based on `type`
|
|
162
|
+
,
|
|
163
|
+
allowSingleDateInRange: allowSingleDateInRange,
|
|
164
|
+
classNames: {
|
|
165
|
+
levelsGroup: classes.levelsGroup,
|
|
166
|
+
day: classes.dayCell,
|
|
167
|
+
monthsListControl: classes.monthsListControl,
|
|
168
|
+
yearsListControl: classes.yearsListControl,
|
|
169
|
+
calendarHeader: classes.calendarHeader,
|
|
170
|
+
monthRow: classes.row,
|
|
171
|
+
yearsListRow: classes.row,
|
|
172
|
+
monthsListRow: classes.row,
|
|
173
|
+
weekdaysRow: classes.row,
|
|
174
|
+
weekday: classes.weekday
|
|
175
|
+
}
|
|
176
|
+
}, props))
|
|
177
|
+
})]
|
|
178
|
+
}));
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
export { Calendar };
|
|
182
|
+
//# sourceMappingURL=Calendar.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Calendar.web.js","sources":["../../../../../../src/components/DatePicker/Calendar.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport dayjs from 'dayjs';\nimport React from 'react';\nimport type { CalendarLevel } from '@mantine/dates';\nimport { shiftTimezone, useDatesContext, DatePicker } from '@mantine/dates';\nimport type { CalendarProps, DateSelectionType, PickerType, DateValue } from './types';\nimport { CalendarHeader } from './CalendarHeader';\nimport { CalendarGradientStyles, CalendarStyles } from './CalendarStyles';\nimport { useUncontrolledDates } from './useControlledDates';\nimport { levelToPicker, pickerToLevel, classes } from './constants';\nimport { useControllableState } from '~utils/useControllable';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport { throwBladeError } from '~utils/logger';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\n\nconst Calendar = <Type extends DateSelectionType>({\n firstDayOfWeek = 0,\n selectionType,\n allowSingleDateInRange,\n defaultPicker = 'day',\n picker,\n onPickerChange,\n date,\n defaultDate,\n onDateChange,\n onNext,\n onPrevious,\n presets,\n ...props\n}: CalendarProps<Type> & {\n date?: Date;\n defaultDate?: Date;\n onDateChange?: (date: DateValue) => void;\n}): React.ReactElement => {\n const isRange = selectionType === 'range';\n\n const [level, setLevel] = useControllableState<CalendarLevel>({\n defaultValue: pickerToLevel[defaultPicker],\n value: pickerToLevel[picker!],\n onChange: (level) => {\n onPickerChange?.(levelToPicker[level]);\n },\n });\n\n if (__DEV__) {\n if (isRange && level !== 'month') {\n throwBladeError({\n message: `Cannot use range DatePicker with pickerType: ${levelToPicker[level]}, Only \"day\" is supported`,\n moduleName: 'DatePicker',\n });\n }\n }\n\n const [_date, setDate] = useUncontrolledDates({\n type: 'default',\n value: date,\n defaultValue: defaultDate,\n onChange: onDateChange,\n });\n\n const dateContext = useDatesContext();\n const isMobile = useIsMobile();\n const currentDate = _date ?? shiftTimezone('add', new Date(), dateContext.getTimezone());\n const numberOfColumns = isMobile || !isRange ? 1 : 2;\n const columnsToScroll = numberOfColumns;\n\n const handleNextMonth = () => {\n const nextDate = dayjs(currentDate).add(columnsToScroll, 'month').toDate();\n onNext?.({ date: nextDate, type: 'month' });\n setDate(nextDate);\n };\n\n const handlePreviousMonth = () => {\n const nextDate = dayjs(currentDate).subtract(columnsToScroll, 'month').toDate();\n onPrevious?.({ date: nextDate, type: 'month' });\n setDate(nextDate);\n };\n\n const handleNextYear = () => {\n const nextDate = dayjs(currentDate).add(columnsToScroll, 'year').toDate();\n onNext?.({ date: nextDate, type: 'year' });\n setDate(nextDate);\n };\n\n const handlePreviousYear = () => {\n const nextDate = dayjs(currentDate).subtract(columnsToScroll, 'year').toDate();\n onPrevious?.({ date: nextDate, type: 'year' });\n setDate(nextDate);\n };\n\n const handleNextDecade = () => {\n const nextDate = dayjs(currentDate)\n .add(10 * columnsToScroll, 'year')\n .toDate();\n onNext?.({ date: nextDate, type: 'decade' });\n setDate(nextDate);\n };\n\n const handlePreviousDecade = () => {\n const nextDate = dayjs(currentDate)\n .subtract(10 * columnsToScroll, 'year')\n .toDate();\n onPrevious?.({ date: nextDate, type: 'decade' });\n setDate(nextDate);\n };\n\n return (\n <CalendarStyles\n display=\"flex\"\n flexDirection=\"column\"\n gap=\"spacing.7\"\n pickerType={levelToPicker[level]}\n {...metaAttribute({ name: MetaConstants.Calendar })}\n >\n <CalendarHeader\n isRange={isRange}\n date={currentDate}\n onLevelChange={(level) => setLevel(() => level)}\n pickerType={levelToPicker[level] as PickerType}\n onNextMonth={handleNextMonth}\n onPreviousMonth={handlePreviousMonth}\n onNextDecade={handleNextDecade}\n onPreviousDecade={handlePreviousDecade}\n onNextYear={handleNextYear}\n onPreviousYear={handlePreviousYear}\n />\n <CalendarGradientStyles isRange={isRange} date={currentDate}>\n <DatePicker\n withCellSpacing={false}\n type={isRange ? 'range' : 'default'}\n date={_date}\n locale={dateContext.locale}\n level={level}\n onDateChange={setDate}\n onLevelChange={(level) => setLevel(() => level)}\n numberOfColumns={numberOfColumns}\n weekdayFormat=\"ddd\"\n firstDayOfWeek={firstDayOfWeek}\n // @ts-expect-error unable to narrow props based on `type`\n allowSingleDateInRange={allowSingleDateInRange}\n classNames={{\n levelsGroup: classes.levelsGroup,\n day: classes.dayCell,\n monthsListControl: classes.monthsListControl,\n yearsListControl: classes.yearsListControl,\n calendarHeader: classes.calendarHeader,\n monthRow: classes.row,\n yearsListRow: classes.row,\n monthsListRow: classes.row,\n weekdaysRow: classes.row,\n weekday: classes.weekday,\n }}\n {...props}\n />\n </CalendarGradientStyles>\n </CalendarStyles>\n );\n};\n\nexport { Calendar };\n"],"names":["Calendar","_ref","_ref$firstDayOfWeek","firstDayOfWeek","selectionType","allowSingleDateInRange","_ref$defaultPicker","defaultPicker","picker","onPickerChange","date","defaultDate","onDateChange","onNext","onPrevious","presets","props","_objectWithoutProperties","_excluded","isRange","_useControllableState","useControllableState","defaultValue","pickerToLevel","value","onChange","level","levelToPicker","_useControllableState2","_slicedToArray","setLevel","throwBladeError","message","concat","moduleName","_useUncontrolledDates","useUncontrolledDates","type","_useUncontrolledDates2","_date","setDate","dateContext","useDatesContext","isMobile","useIsMobile","currentDate","shiftTimezone","Date","getTimezone","numberOfColumns","columnsToScroll","handleNextMonth","nextDate","dayjs","add","toDate","handlePreviousMonth","subtract","handleNextYear","handlePreviousYear","handleNextDecade","handlePreviousDecade","_jsxs","CalendarStyles","_objectSpread","display","flexDirection","gap","pickerType","metaAttribute","name","MetaConstants","children","_jsx","CalendarHeader","onLevelChange","onNextMonth","onPreviousMonth","onNextDecade","onPreviousDecade","onNextYear","onPreviousYear","CalendarGradientStyles","DatePicker","withCellSpacing","locale","weekdayFormat","classNames","levelsGroup","classes","day","dayCell","monthsListControl","yearsListControl","calendarHeader","monthRow","row","yearsListRow","monthsListRow","weekdaysRow","weekday"],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import 'react';
|
|
2
|
+
import '../Box/BaseBox/index.js';
|
|
3
|
+
import '../Button/index.js';
|
|
4
|
+
import '../Divider/index.js';
|
|
5
|
+
import { useIsMobile } from '../../utils/useIsMobile.js';
|
|
6
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
7
|
+
import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
|
|
8
|
+
import { Divider } from '../Divider/Divider.js';
|
|
9
|
+
import Button from '../Button/Button/Button.js';
|
|
10
|
+
|
|
11
|
+
var CalendarFooter = function CalendarFooter(_ref) {
|
|
12
|
+
var onApply = _ref.onApply,
|
|
13
|
+
onCancel = _ref.onCancel;
|
|
14
|
+
var isMobile = useIsMobile();
|
|
15
|
+
return /*#__PURE__*/jsxs(BaseBox, {
|
|
16
|
+
display: "flex",
|
|
17
|
+
flexDirection: "column",
|
|
18
|
+
gap: "spacing.5",
|
|
19
|
+
children: [isMobile ? null : /*#__PURE__*/jsx(Divider, {}), /*#__PURE__*/jsxs(BaseBox, {
|
|
20
|
+
width: {
|
|
21
|
+
base: '100%',
|
|
22
|
+
m: 'auto'
|
|
23
|
+
},
|
|
24
|
+
marginLeft: "auto",
|
|
25
|
+
display: "flex",
|
|
26
|
+
flexDirection: "row",
|
|
27
|
+
gap: "spacing.4",
|
|
28
|
+
children: [/*#__PURE__*/jsx(Button, {
|
|
29
|
+
isFullWidth: isMobile,
|
|
30
|
+
variant: "tertiary",
|
|
31
|
+
size: "medium",
|
|
32
|
+
onClick: onCancel,
|
|
33
|
+
children: "Cancel"
|
|
34
|
+
}), /*#__PURE__*/jsx(Button, {
|
|
35
|
+
isFullWidth: isMobile,
|
|
36
|
+
variant: "primary",
|
|
37
|
+
size: "medium",
|
|
38
|
+
onClick: onApply,
|
|
39
|
+
children: "Apply"
|
|
40
|
+
})]
|
|
41
|
+
})]
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export { CalendarFooter };
|
|
46
|
+
//# sourceMappingURL=CalendarFooter.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CalendarFooter.web.js","sources":["../../../../../../src/components/DatePicker/CalendarFooter.web.tsx"],"sourcesContent":["import React from 'react';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Button } from '~components/Button';\nimport { Divider } from '~components/Divider';\nimport { useIsMobile } from '~utils/useIsMobile';\n\ntype CalendarFooterProps = {\n onApply: () => void;\n onCancel: () => void;\n};\nconst CalendarFooter = ({ onApply, onCancel }: CalendarFooterProps): React.ReactElement => {\n const isMobile = useIsMobile();\n\n return (\n <BaseBox display=\"flex\" flexDirection=\"column\" gap=\"spacing.5\">\n {isMobile ? null : <Divider />}\n <BaseBox\n width={{ base: '100%', m: 'auto' }}\n marginLeft=\"auto\"\n display=\"flex\"\n flexDirection=\"row\"\n gap=\"spacing.4\"\n >\n <Button isFullWidth={isMobile} variant=\"tertiary\" size=\"medium\" onClick={onCancel}>\n Cancel\n </Button>\n <Button isFullWidth={isMobile} variant=\"primary\" size=\"medium\" onClick={onApply}>\n Apply\n </Button>\n </BaseBox>\n </BaseBox>\n );\n};\n\nexport { CalendarFooter };\n"],"names":["CalendarFooter","_ref","onApply","onCancel","isMobile","useIsMobile","_jsxs","BaseBox","display","flexDirection","gap","children","_jsx","Divider","width","base","m","marginLeft","Button","isFullWidth","variant","size","onClick"],"mappings":";;;;;;;;;;AAUA,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA,EAAuE;AAAA,EAAA,IAAjEC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ,CAAA;AACzC,EAAA,IAAMC,QAAQ,GAAGC,WAAW,EAAE,CAAA;EAE9B,oBACEC,IAAA,CAACC,OAAO,EAAA;AAACC,IAAAA,OAAO,EAAC,MAAM;AAACC,IAAAA,aAAa,EAAC,QAAQ;AAACC,IAAAA,GAAG,EAAC,WAAW;AAAAC,IAAAA,QAAA,EAC3DP,CAAAA,QAAQ,GAAG,IAAI,gBAAGQ,GAAA,CAACC,OAAO,EAAE,EAAA,CAAC,eAC9BP,IAAA,CAACC,OAAO,EAAA;AACNO,MAAAA,KAAK,EAAE;AAAEC,QAAAA,IAAI,EAAE,MAAM;AAAEC,QAAAA,CAAC,EAAE,MAAA;OAAS;AACnCC,MAAAA,UAAU,EAAC,MAAM;AACjBT,MAAAA,OAAO,EAAC,MAAM;AACdC,MAAAA,aAAa,EAAC,KAAK;AACnBC,MAAAA,GAAG,EAAC,WAAW;MAAAC,QAAA,EAAA,cAEfC,GAAA,CAACM,MAAM,EAAA;AAACC,QAAAA,WAAW,EAAEf,QAAS;AAACgB,QAAAA,OAAO,EAAC,UAAU;AAACC,QAAAA,IAAI,EAAC,QAAQ;AAACC,QAAAA,OAAO,EAAEnB,QAAS;AAAAQ,QAAAA,QAAA,EAAC,QAAA;AAEnF,OAAQ,CAAC,eACTC,GAAA,CAACM,MAAM,EAAA;AAACC,QAAAA,WAAW,EAAEf,QAAS;AAACgB,QAAAA,OAAO,EAAC,SAAS;AAACC,QAAAA,IAAI,EAAC,QAAQ;AAACC,QAAAA,OAAO,EAAEpB,OAAQ;AAAAS,QAAAA,QAAA,EAAC,OAAA;AAEjF,OAAQ,CAAC,CAAA;AAAA,KACF,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAEd;;;;"}
|