@razorpay/blade 12.1.1 → 12.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/native/components/ActionList/ActionList.js +1 -1
- package/build/lib/native/components/ActionList/ActionList.js.map +1 -1
- package/build/lib/native/components/ActionList/ActionListBox.native.js +1 -1
- package/build/lib/native/components/ActionList/ActionListBox.native.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/ActionList/styles/getBaseListBoxWrapperStyles.js +2 -2
- package/build/lib/native/components/ActionList/styles/getBaseListBoxWrapperStyles.js.map +1 -1
- package/build/lib/native/components/BaseMenu/BaseMenuItem/BaseMenuItem.js +5 -7
- package/build/lib/native/components/BaseMenu/BaseMenuItem/BaseMenuItem.js.map +1 -1
- package/build/lib/native/components/BaseMenu/BaseMenuItem/getBaseMenuItemStyles.js +2 -1
- package/build/lib/native/components/BaseMenu/BaseMenuItem/getBaseMenuItemStyles.js.map +1 -1
- package/build/lib/native/components/BaseMenu/BaseMenuItem/tokens.js +8 -0
- package/build/lib/native/components/BaseMenu/BaseMenuItem/tokens.js.map +1 -0
- package/build/lib/web/development/components/ActionList/ActionList.js +6 -7
- package/build/lib/web/development/components/ActionList/ActionList.js.map +1 -1
- package/build/lib/web/development/components/ActionList/ActionListBox.web.js +114 -3
- package/build/lib/web/development/components/ActionList/ActionListBox.web.js.map +1 -1
- package/build/lib/web/development/components/ActionList/ActionListItem.js +57 -60
- package/build/lib/web/development/components/ActionList/ActionListItem.js.map +1 -1
- package/build/lib/web/development/components/ActionList/styles/getBaseListBoxWrapperStyles.js +8 -4
- package/build/lib/web/development/components/ActionList/styles/getBaseListBoxWrapperStyles.js.map +1 -1
- package/build/lib/web/development/components/BaseMenu/BaseMenuItem/BaseMenuItem.js +6 -7
- package/build/lib/web/development/components/BaseMenu/BaseMenuItem/BaseMenuItem.js.map +1 -1
- package/build/lib/web/development/components/BaseMenu/BaseMenuItem/StyledMenuItemContainer.web.js +3 -2
- package/build/lib/web/development/components/BaseMenu/BaseMenuItem/StyledMenuItemContainer.web.js.map +1 -1
- package/build/lib/web/development/components/BaseMenu/BaseMenuItem/getBaseMenuItemStyles.js +3 -2
- package/build/lib/web/development/components/BaseMenu/BaseMenuItem/getBaseMenuItemStyles.js.map +1 -1
- package/build/lib/web/development/components/BaseMenu/BaseMenuItem/tokens.js +26 -0
- package/build/lib/web/development/components/BaseMenu/BaseMenuItem/tokens.js.map +1 -0
- package/build/lib/web/development/components/DatePicker/Calendar.web.js +4 -2
- package/build/lib/web/development/components/DatePicker/Calendar.web.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/CalendarHeader.web.js +45 -31
- package/build/lib/web/development/components/DatePicker/CalendarHeader.web.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/DateInput.web.js +6 -5
- package/build/lib/web/development/components/DatePicker/DateInput.web.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/DatePicker.web.js +32 -2
- package/build/lib/web/development/components/DatePicker/DatePicker.web.js.map +1 -1
- package/build/lib/web/production/components/ActionList/ActionList.js +6 -7
- package/build/lib/web/production/components/ActionList/ActionList.js.map +1 -1
- package/build/lib/web/production/components/ActionList/ActionListBox.web.js +114 -3
- package/build/lib/web/production/components/ActionList/ActionListBox.web.js.map +1 -1
- package/build/lib/web/production/components/ActionList/ActionListItem.js +57 -60
- package/build/lib/web/production/components/ActionList/ActionListItem.js.map +1 -1
- package/build/lib/web/production/components/ActionList/styles/getBaseListBoxWrapperStyles.js +8 -4
- package/build/lib/web/production/components/ActionList/styles/getBaseListBoxWrapperStyles.js.map +1 -1
- package/build/lib/web/production/components/BaseMenu/BaseMenuItem/BaseMenuItem.js +6 -7
- package/build/lib/web/production/components/BaseMenu/BaseMenuItem/BaseMenuItem.js.map +1 -1
- package/build/lib/web/production/components/BaseMenu/BaseMenuItem/StyledMenuItemContainer.web.js +3 -2
- package/build/lib/web/production/components/BaseMenu/BaseMenuItem/StyledMenuItemContainer.web.js.map +1 -1
- package/build/lib/web/production/components/BaseMenu/BaseMenuItem/getBaseMenuItemStyles.js +3 -2
- package/build/lib/web/production/components/BaseMenu/BaseMenuItem/getBaseMenuItemStyles.js.map +1 -1
- package/build/lib/web/production/components/BaseMenu/BaseMenuItem/tokens.js +26 -0
- package/build/lib/web/production/components/BaseMenu/BaseMenuItem/tokens.js.map +1 -0
- package/build/lib/web/production/components/DatePicker/Calendar.web.js +4 -2
- package/build/lib/web/production/components/DatePicker/Calendar.web.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/CalendarHeader.web.js +45 -31
- package/build/lib/web/production/components/DatePicker/CalendarHeader.web.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/DateInput.web.js +6 -5
- package/build/lib/web/production/components/DatePicker/DateInput.web.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/DatePicker.web.js +32 -2
- package/build/lib/web/production/components/DatePicker/DatePicker.web.js.map +1 -1
- package/build/types/components/index.d.ts +15 -2
- package/build/types/components/index.native.d.ts +12 -1
- package/package.json +4 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionListItem.js","sources":["../../../../../../src/components/ActionList/ActionListItem.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport React from 'react';\nimport styled from 'styled-components';\nimport type { TouchableOpacity } from 'react-native';\nimport { componentIds } from './componentIds';\nimport { validateActionListItemProps, getNormalTextColor } from './actionListUtils';\nimport { getActionListItemRole, getActionListSectionRole } from './getA11yRoles';\nimport { Divider } from '~components/Divider';\nimport BaseBox from '~components/Box/BaseBox';\nimport type { IconComponent } from '~components/Icons';\nimport { useDropdown } from '~components/Dropdown/useDropdown';\nimport type { FeedbackColors } from '~tokens/theme/theme';\nimport { Text } from '~components/Typography';\nimport type { Platform } from '~utils';\nimport { castWebType, isReactNative } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport type { DataAnalyticsAttribute, StringChildrenType, TestID } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { makeSize } from '~utils/makeSize';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { throwBladeError } from '~utils/logger';\nimport type { BadgeProps } from '~components/Badge';\nimport { Badge } from '~components/Badge';\nimport { Box } from '~components/Box';\nimport { dropdownComponentIds } from '~components/Dropdown/dropdownComponentIds';\nimport { BaseMenuItem, useBaseMenuItem } from '~components/BaseMenu';\nimport { Checkbox } from '~components/Checkbox';\nimport type { AvatarProps } from '~components/Avatar/types';\nimport { Avatar } from '~components/Avatar';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype ActionListItemProps = {\n title: string;\n description?: string;\n onClick?: (clickProps: {\n name: string;\n value?: boolean;\n event: Platform.Select<{\n web: React.MouseEvent;\n native: React.TouchEvent<TouchableOpacity>;\n }>;\n }) => void;\n /**\n * value that you get from `onChange` event on SelectInput or in form submissions.\n */\n value: string;\n /**\n * Link to open when item is clicked.\n */\n href?: string;\n /**\n * HTML target of the link\n */\n target?: string;\n /**\n * Item that goes on left-side of item.\n *\n * Valid elements - `<ActionListItemIcon />`, `<ActionListItemAsset />`\n *\n * Will be overriden in multiselect\n */\n leading?: React.ReactNode;\n /**\n * Item that goes on right-side of item.\n *\n * Valid elements - `<ActionListItemText />`, `<ActionListItemIcon />`\n */\n trailing?: React.ReactNode;\n /**\n * Item that goes immediately next to the title.\n *\n * Valid elements - `<ActionListItemBadge />`, `<ActionListItemBadgeGroup />`\n *\n */\n titleSuffix?: React.ReactElement;\n isDisabled?: boolean;\n intent?: Extract<FeedbackColors, 'negative'>;\n /**\n * Can be used in combination of `onClick` to highlight item as selected in Button Triggers.\n *\n * When trigger is SelectInput, Use `value` prop on SelectInput instead to make dropdown controlled.\n */\n isSelected?: boolean;\n /**\n * Internally passed from ActionList. No need to pass it explicitly\n *\n * @private\n */\n _index?: number;\n} & TestID &\n DataAnalyticsAttribute;\n\nconst StyledActionListSectionTitle = styled(BaseBox)((props) => ({\n // @TODO: replace this styled-component with new layout box when we have padding shorthand\n padding: makeSize(props.theme.spacing[3]),\n}));\n\ntype ActionListSectionProps = {\n title: string;\n children: React.ReactNode[] | React.ReactNode;\n /**\n * Internally used to hide the divider on final item in React Native.\n *\n * Should not be used by consumers (also won't work on web)\n *\n * @private\n */\n _hideDivider?: boolean;\n /**\n * Internally used to hide / show section in AutoComplete\n *\n * @private\n */\n _sectionChildValues?: string[];\n} & TestID &\n DataAnalyticsAttribute;\nconst _ActionListSection = ({\n title,\n children,\n testID,\n _hideDivider,\n _sectionChildValues,\n ...rest\n}: ActionListSectionProps): React.ReactElement => {\n const { hasAutoCompleteInBottomSheetHeader, dropdownTriggerer, filteredValues } = useDropdown();\n const hasAutoComplete =\n hasAutoCompleteInBottomSheetHeader ||\n dropdownTriggerer === dropdownComponentIds.triggers.AutoComplete;\n\n const isSectionVisible = React.useMemo(() => {\n if (hasAutoComplete) {\n const visibleActionListItemInSection = _sectionChildValues?.find((actionItemValue) =>\n filteredValues.includes(actionItemValue),\n );\n\n return Boolean(visibleActionListItemInSection);\n }\n\n return true;\n }, [_sectionChildValues, hasAutoComplete, filteredValues]);\n\n const showDividerInRN = !(_hideDivider && isReactNative());\n const showDividerInAutoComplete = hasAutoComplete\n ? isSectionVisible && filteredValues.length > 1\n : true;\n\n return (\n <BaseBox\n {...makeAccessible({\n role: getActionListSectionRole(),\n label: title,\n })}\n {...metaAttribute({ name: MetaConstants.ActionListSection, testID })}\n {...makeAnalyticsAttribute(rest as Record<string, unknown>)}\n >\n {/* We're announcing title as group label so we can hide this */}\n {isSectionVisible ? (\n <StyledActionListSectionTitle {...makeAccessible({ hidden: true })}>\n <Text color=\"surface.text.gray.muted\" size=\"small\" weight=\"semibold\">\n {title}\n </Text>\n </StyledActionListSectionTitle>\n ) : null}\n <BaseBox\n {...makeAccessible({\n // On web, we just wrap it in another listbox to announce item count properly for particular group.\n // On React Native, we ignore it since `menu` + `group` role will take care of accessibility\n role: isReactNative() ? undefined : 'listbox',\n })}\n >\n {children}\n </BaseBox>\n {showDividerInAutoComplete && showDividerInRN ? (\n <Divider marginX=\"spacing.3\" marginY=\"spacing.1\" />\n ) : null}\n </BaseBox>\n );\n};\n\nconst ActionListSection = assignWithoutSideEffects(_ActionListSection, {\n componentId: componentIds.ActionListSection,\n});\n\nconst _ActionListItemIcon = ({ icon }: { icon: IconComponent }): React.ReactElement => {\n const Icon = icon;\n const { color, isDisabled } = useBaseMenuItem();\n const iconState = isDisabled ? 'disabled' : 'muted';\n return (\n <Icon\n color={\n color === 'negative'\n ? 'feedback.icon.negative.intense'\n : `interactive.icon.gray.${iconState}`\n }\n size=\"medium\"\n />\n );\n};\n\nconst ActionListItemIcon = assignWithoutSideEffects(_ActionListItemIcon, {\n componentId: componentIds.ActionListItemIcon,\n});\n\nconst _ActionListItemBadgeGroup = ({\n children,\n}: {\n children: React.ReactElement[] | React.ReactElement;\n}): React.ReactElement => {\n return (\n <Box display=\"flex\" alignItems=\"center\" flexDirection=\"row\">\n {children}\n </Box>\n );\n};\n\nconst ActionListItemBadgeGroup = assignWithoutSideEffects(_ActionListItemBadgeGroup, {\n componentId: componentIds.ActionListItemBadgeGroup,\n});\n\nconst _ActionListItemAvatar = (avatarProps: Omit<AvatarProps, 'size' | ''>): React.ReactElement => {\n return <Avatar size=\"xsmall\" {...avatarProps} />;\n};\n\nconst ActionListItemAvatar = assignWithoutSideEffects(_ActionListItemAvatar, {\n componentId: componentIds.ActionListItemAvatar,\n});\n\nconst _ActionListItemBadge = (props: BadgeProps): React.ReactElement => {\n return <Badge size=\"medium\" marginLeft=\"spacing.3\" {...props} />;\n};\n\nconst ActionListItemBadge = assignWithoutSideEffects(_ActionListItemBadge, {\n componentId: componentIds.ActionListItemBadge,\n});\n\nconst _ActionListItemText = ({\n children,\n}: {\n children: StringChildrenType;\n}): React.ReactElement => {\n const { isDisabled } = useBaseMenuItem();\n\n return (\n <Text variant=\"caption\" color={getNormalTextColor(isDisabled, { isMuted: true })}>\n {children}\n </Text>\n );\n};\n\nconst ActionListItemText = assignWithoutSideEffects(_ActionListItemText, {\n componentId: componentIds.ActionListItemText,\n});\n\ntype ClickHandlerType = (e: React.MouseEvent<HTMLButtonElement>) => void;\n\nconst makeActionListItemClickable = (\n clickHandler: ClickHandlerType,\n): { onPress?: (e: React.TouchEvent<TouchableOpacity>) => void; onClick?: ClickHandlerType } => {\n if (isReactNative()) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error\n // @ts-ignore: ignoring ReactNative press type for the peace of mind\n return { onPress: clickHandler };\n }\n\n return {\n onClick: clickHandler,\n };\n};\n\n/**\n * ### ActionListItem\n *\n * Creates option inside `ActionList`.\n *\n * #### Usage\n *\n * ```jsx\n * <ActionList>\n * <ActionListItem\n * title=\"Home\"\n * value=\"home\"\n * leading={<ActionListItemIcon icon={HomeIcon} />}\n * trailing={<ActionListItemText>⌘ + S</ActionListItemText>}\n * />\n * </ActionList>\n * ```\n */\nconst _ActionListItem = (props: ActionListItemProps): React.ReactElement => {\n const {\n activeIndex,\n dropdownBaseId,\n onOptionClick,\n selectedIndices,\n setShouldIgnoreBlurAnimation,\n selectionType,\n dropdownTriggerer,\n isKeydownPressed,\n filteredValues,\n hasAutoCompleteInBottomSheetHeader,\n } = useDropdown();\n\n const hasAutoComplete =\n hasAutoCompleteInBottomSheetHeader ||\n dropdownTriggerer === dropdownComponentIds.triggers.AutoComplete;\n\n const renderOnWebAs = props.href ? 'a' : 'button';\n\n /**\n * In SelectInput, returns the isSelected according to selected indexes in the state\n *\n * In Other Triggers (Menu Usecase), returns `props.isSelected` since passing the\n * isSelected prop explicitly is the only way to select item in menu\n */\n const getIsSelected = (): boolean | undefined => {\n if (dropdownTriggerer === dropdownComponentIds.triggers.SelectInput || hasAutoComplete) {\n if (typeof props._index === 'number') {\n return selectedIndices.includes(props._index);\n }\n\n return undefined;\n }\n\n return props.isSelected;\n };\n\n const isSelected = getIsSelected();\n\n React.useEffect(() => {\n validateActionListItemProps({\n leading: props.leading,\n trailing: props.trailing,\n titleSuffix: props.titleSuffix,\n });\n }, [props.leading, props.trailing, props.titleSuffix]);\n\n React.useEffect(() => {\n if (__DEV__) {\n if (\n dropdownTriggerer === dropdownComponentIds.triggers.SelectInput &&\n props.intent === 'negative'\n ) {\n throwBladeError({\n message:\n 'negative intent ActionListItem cannot be used inside Dropdown with SelectInput trigger',\n moduleName: 'ActionListItem',\n });\n }\n }\n }, [props.intent, dropdownTriggerer]);\n\n return (\n // We use this context to change the color of subcomponents like ActionListItemIcon, ActionListItemText, etc\n <BaseMenuItem\n isVisible={hasAutoComplete && filteredValues ? filteredValues.includes(props.value) : true}\n as={!isReactNative() ? renderOnWebAs : undefined}\n id={`${dropdownBaseId}-${props._index}`}\n tabIndex={-1}\n title={props.title}\n description={props.description}\n leading={\n selectionType === 'multiple' ? (\n <BaseBox\n pointerEvents=\"none\"\n // Adding aria-hidden because the listbox item in multiselect in itself explains the behaviour so announcing checkbox is unneccesary and just a nice UI tweak for us\n {...makeAccessible({\n hidden: true,\n })}\n >\n <Checkbox isChecked={isSelected} tabIndex={-1} isDisabled={props.isDisabled}>\n {/* \n Checkbox requires children. Didn't want to make it optional because its helpful for consumers\n But for this case in particular, we just want to use Text separately so that we can control spacing and color and keep it consistent with non-multiselect dropdowns\n */}\n {null}\n </Checkbox>\n </BaseBox>\n ) : (\n props.leading\n )\n }\n trailing={props.trailing}\n titleSuffix={props.titleSuffix}\n href={props.href}\n target={props.target}\n className={activeIndex === props._index ? 'active-focus' : ''}\n isSelected={isSelected}\n isDisabled={props.isDisabled}\n role={getActionListItemRole(dropdownTriggerer, props.href)}\n {...makeActionListItemClickable((e: React.MouseEvent<HTMLButtonElement>): void => {\n if (typeof props._index === 'number') {\n onOptionClick(e, props._index);\n props.onClick?.({ name: props.value, value: isSelected, event: castWebType(e) });\n }\n })}\n {...makeAnalyticsAttribute({ ...props })}\n {...metaAttribute({ name: MetaConstants.ActionListItem, testID: props.testID })}\n onMouseDown={() => {\n // We want to keep focus on Dropdown's trigger while option is being clicked\n // So We set this flag that ignores the blur animation to avoid the flicker between focus out + focus in\n setShouldIgnoreBlurAnimation(true);\n }}\n onMouseUp={() => {\n // (Contd from above comment...) We set this flag back to false since blur of SelectInput is done calling by this time\n setShouldIgnoreBlurAnimation(false);\n }}\n data-value={props.value}\n data-index={props._index}\n selectionType={selectionType}\n color={props.intent}\n isKeydownPressed={isKeydownPressed}\n />\n );\n};\n\nconst ActionListItem = assignWithoutSideEffects(React.memo(_ActionListItem), {\n componentId: componentIds.ActionListItem,\n displayName: componentIds.ActionListItem,\n});\n\nexport type { ActionListItemProps, ActionListSectionProps };\nexport {\n ActionListItem,\n ActionListItemIcon,\n ActionListItemText,\n ActionListItemAvatar,\n ActionListItemBadge,\n ActionListItemBadgeGroup,\n ActionListSection,\n};\n"],"names":["StyledActionListSectionTitle","styled","BaseBox","withConfig","displayName","componentId","props","padding","makeSize","theme","spacing","_ActionListSection","_ref","title","children","testID","_hideDivider","_sectionChildValues","rest","_objectWithoutProperties","_excluded","_useDropdown","useDropdown","hasAutoCompleteInBottomSheetHeader","dropdownTriggerer","filteredValues","hasAutoComplete","dropdownComponentIds","triggers","AutoComplete","isSectionVisible","React","useMemo","visibleActionListItemInSection","find","actionItemValue","includes","Boolean","showDividerInRN","isReactNative","showDividerInAutoComplete","length","_jsxs","_objectSpread","makeAccessible","role","getActionListSectionRole","label","metaAttribute","name","MetaConstants","ActionListSection","makeAnalyticsAttribute","_jsx","hidden","Text","color","size","weight","undefined","Divider","marginX","marginY","assignWithoutSideEffects","componentIds","_ActionListItemIcon","_ref2","icon","Icon","_useBaseMenuItem","useBaseMenuItem","isDisabled","iconState","concat","ActionListItemIcon","_ActionListItemBadgeGroup","_ref3","Box","display","alignItems","flexDirection","ActionListItemBadgeGroup","_ActionListItemAvatar","avatarProps","Avatar","ActionListItemAvatar","_ActionListItemBadge","Badge","marginLeft","ActionListItemBadge","_ActionListItemText","_ref4","_useBaseMenuItem2","variant","getNormalTextColor","isMuted","ActionListItemText","makeActionListItemClickable","clickHandler","onPress","onClick","_ActionListItem","_useDropdown2","activeIndex","dropdownBaseId","onOptionClick","selectedIndices","setShouldIgnoreBlurAnimation","selectionType","isKeydownPressed","renderOnWebAs","href","getIsSelected","SelectInput","_index","isSelected","useEffect","validateActionListItemProps","leading","trailing","titleSuffix","intent","throwBladeError","message","moduleName","BaseMenuItem","isVisible","value","as","id","tabIndex","description","pointerEvents","Checkbox","isChecked","target","className","getActionListItemRole","e","_props$onClick","call","event","castWebType","ActionListItem","onMouseDown","onMouseUp","memo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ActionListItem.js","sources":["../../../../../../src/components/ActionList/ActionListItem.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport React from 'react';\nimport styled from 'styled-components';\nimport type { TouchableOpacity } from 'react-native';\nimport { componentIds } from './componentIds';\nimport { validateActionListItemProps, getNormalTextColor } from './actionListUtils';\nimport { getActionListItemRole, getActionListSectionRole } from './getA11yRoles';\nimport { Divider } from '~components/Divider';\nimport BaseBox from '~components/Box/BaseBox';\nimport type { IconComponent } from '~components/Icons';\nimport { useDropdown } from '~components/Dropdown/useDropdown';\nimport type { FeedbackColors } from '~tokens/theme/theme';\nimport { Text } from '~components/Typography';\nimport type { Platform } from '~utils';\nimport { castWebType, isReactNative } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport type { DataAnalyticsAttribute, StringChildrenType, TestID } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { makeSize } from '~utils/makeSize';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { throwBladeError } from '~utils/logger';\nimport type { BadgeProps } from '~components/Badge';\nimport { Badge } from '~components/Badge';\nimport { Box } from '~components/Box';\nimport { dropdownComponentIds } from '~components/Dropdown/dropdownComponentIds';\nimport { BaseMenuItem, useBaseMenuItem } from '~components/BaseMenu';\nimport { Checkbox } from '~components/Checkbox';\nimport type { AvatarProps } from '~components/Avatar/types';\nimport { Avatar } from '~components/Avatar';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype ActionListItemProps = {\n title: string;\n description?: string;\n onClick?: (clickProps: {\n name: string;\n value?: boolean;\n event: Platform.Select<{\n web: React.MouseEvent;\n native: React.TouchEvent<TouchableOpacity>;\n }>;\n }) => void;\n /**\n * value that you get from `onChange` event on SelectInput or in form submissions.\n */\n value: string;\n /**\n * Link to open when item is clicked.\n */\n href?: string;\n /**\n * HTML target of the link\n */\n target?: string;\n /**\n * Item that goes on left-side of item.\n *\n * Valid elements - `<ActionListItemIcon />`, `<ActionListItemAsset />`\n *\n * Will be overriden in multiselect\n */\n leading?: React.ReactNode;\n /**\n * Item that goes on right-side of item.\n *\n * Valid elements - `<ActionListItemText />`, `<ActionListItemIcon />`\n */\n trailing?: React.ReactNode;\n /**\n * Item that goes immediately next to the title.\n *\n * Valid elements - `<ActionListItemBadge />`, `<ActionListItemBadgeGroup />`\n *\n */\n titleSuffix?: React.ReactElement;\n isDisabled?: boolean;\n intent?: Extract<FeedbackColors, 'negative'>;\n /**\n * Can be used in combination of `onClick` to highlight item as selected in Button Triggers.\n *\n * When trigger is SelectInput, Use `value` prop on SelectInput instead to make dropdown controlled.\n */\n isSelected?: boolean;\n /**\n * Internally passed from ActionList. No need to pass it explicitly\n *\n * @private\n */\n _index?: number;\n} & TestID &\n DataAnalyticsAttribute;\n\nconst StyledActionListSectionTitle = styled(BaseBox)((props) => ({\n // @TODO: replace this styled-component with new layout box when we have padding shorthand\n padding: makeSize(props.theme.spacing[3]),\n}));\n\ntype ActionListSectionProps = {\n title: string;\n children: React.ReactNode[] | React.ReactNode;\n /**\n * Internally used to hide the divider on final item in React Native.\n *\n * Should not be used by consumers (also won't work on web)\n *\n * @private\n */\n _hideDivider?: boolean;\n /**\n * Internally used to hide / show section in AutoComplete\n *\n * @private\n */\n _sectionChildValues?: string[];\n} & TestID &\n DataAnalyticsAttribute;\nconst _ActionListSection = ({\n title,\n children,\n testID,\n _hideDivider,\n _sectionChildValues,\n ...rest\n}: ActionListSectionProps): React.ReactElement => {\n const { hasAutoCompleteInBottomSheetHeader, dropdownTriggerer, filteredValues } = useDropdown();\n const hasAutoComplete =\n hasAutoCompleteInBottomSheetHeader ||\n dropdownTriggerer === dropdownComponentIds.triggers.AutoComplete;\n\n const isSectionVisible = React.useMemo(() => {\n if (hasAutoComplete) {\n const visibleActionListItemInSection = _sectionChildValues?.find((actionItemValue) =>\n filteredValues.includes(actionItemValue),\n );\n\n return Boolean(visibleActionListItemInSection);\n }\n\n return true;\n }, [_sectionChildValues, hasAutoComplete, filteredValues]);\n\n const showDividerInRN = !(_hideDivider && isReactNative());\n const showDividerInAutoComplete = hasAutoComplete\n ? isSectionVisible && filteredValues.length > 1\n : true;\n\n return (\n <BaseBox\n {...makeAccessible({\n role: getActionListSectionRole(),\n label: title,\n })}\n {...metaAttribute({ name: MetaConstants.ActionListSection, testID })}\n {...makeAnalyticsAttribute(rest as Record<string, unknown>)}\n >\n {/* We're announcing title as group label so we can hide this */}\n {isSectionVisible ? (\n <StyledActionListSectionTitle {...makeAccessible({ hidden: true })}>\n <Text color=\"surface.text.gray.muted\" size=\"small\" weight=\"semibold\">\n {title}\n </Text>\n </StyledActionListSectionTitle>\n ) : null}\n <BaseBox\n {...makeAccessible({\n // On web, we just wrap it in another listbox to announce item count properly for particular group.\n // On React Native, we ignore it since `menu` + `group` role will take care of accessibility\n role: isReactNative() ? undefined : 'listbox',\n })}\n >\n {children}\n </BaseBox>\n {showDividerInAutoComplete && showDividerInRN ? (\n <Divider marginX=\"spacing.3\" marginY=\"spacing.1\" />\n ) : null}\n </BaseBox>\n );\n};\n\nconst ActionListSection = assignWithoutSideEffects(_ActionListSection, {\n componentId: componentIds.ActionListSection,\n});\n\nconst _ActionListItemIcon = ({ icon }: { icon: IconComponent }): React.ReactElement => {\n const Icon = icon;\n const { color, isDisabled } = useBaseMenuItem();\n const iconState = isDisabled ? 'disabled' : 'muted';\n return (\n <Icon\n color={\n color === 'negative'\n ? 'feedback.icon.negative.intense'\n : `interactive.icon.gray.${iconState}`\n }\n size=\"medium\"\n />\n );\n};\n\nconst ActionListItemIcon = assignWithoutSideEffects(_ActionListItemIcon, {\n componentId: componentIds.ActionListItemIcon,\n});\n\nconst _ActionListItemBadgeGroup = ({\n children,\n}: {\n children: React.ReactElement[] | React.ReactElement;\n}): React.ReactElement => {\n return (\n <Box display=\"flex\" alignItems=\"center\" flexDirection=\"row\">\n {children}\n </Box>\n );\n};\n\nconst ActionListItemBadgeGroup = assignWithoutSideEffects(_ActionListItemBadgeGroup, {\n componentId: componentIds.ActionListItemBadgeGroup,\n});\n\nconst _ActionListItemAvatar = (avatarProps: Omit<AvatarProps, 'size' | ''>): React.ReactElement => {\n return <Avatar size=\"xsmall\" {...avatarProps} />;\n};\n\nconst ActionListItemAvatar = assignWithoutSideEffects(_ActionListItemAvatar, {\n componentId: componentIds.ActionListItemAvatar,\n});\n\nconst _ActionListItemBadge = (props: BadgeProps): React.ReactElement => {\n return <Badge size=\"medium\" marginLeft=\"spacing.3\" {...props} />;\n};\n\nconst ActionListItemBadge = assignWithoutSideEffects(_ActionListItemBadge, {\n componentId: componentIds.ActionListItemBadge,\n});\n\nconst _ActionListItemText = ({\n children,\n}: {\n children: StringChildrenType;\n}): React.ReactElement => {\n const { isDisabled } = useBaseMenuItem();\n\n return (\n <Text variant=\"caption\" color={getNormalTextColor(isDisabled, { isMuted: true })}>\n {children}\n </Text>\n );\n};\n\nconst ActionListItemText = assignWithoutSideEffects(_ActionListItemText, {\n componentId: componentIds.ActionListItemText,\n});\n\ntype ClickHandlerType = (e: React.MouseEvent<HTMLButtonElement>) => void;\n\nconst makeActionListItemClickable = (\n clickHandler: ClickHandlerType,\n): { onPress?: (e: React.TouchEvent<TouchableOpacity>) => void; onClick?: ClickHandlerType } => {\n if (isReactNative()) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error\n // @ts-ignore: ignoring ReactNative press type for the peace of mind\n return { onPress: clickHandler };\n }\n\n return {\n onClick: clickHandler,\n };\n};\n\n/**\n * ### ActionListItem\n *\n * Creates option inside `ActionList`.\n *\n * #### Usage\n *\n * ```jsx\n * <ActionList>\n * <ActionListItem\n * title=\"Home\"\n * value=\"home\"\n * leading={<ActionListItemIcon icon={HomeIcon} />}\n * trailing={<ActionListItemText>⌘ + S</ActionListItemText>}\n * />\n * </ActionList>\n * ```\n */\nconst _ActionListItem = (props: ActionListItemProps): React.ReactElement => {\n const {\n activeIndex,\n dropdownBaseId,\n onOptionClick,\n selectedIndices,\n setShouldIgnoreBlurAnimation,\n selectionType,\n dropdownTriggerer,\n isKeydownPressed,\n filteredValues,\n hasAutoCompleteInBottomSheetHeader,\n } = useDropdown();\n\n const hasAutoComplete =\n hasAutoCompleteInBottomSheetHeader ||\n dropdownTriggerer === dropdownComponentIds.triggers.AutoComplete;\n\n const renderOnWebAs = props.href ? 'a' : 'button';\n\n /**\n * In SelectInput, returns the isSelected according to selected indexes in the state\n *\n * In Other Triggers (Menu Usecase), returns `props.isSelected` since passing the\n * isSelected prop explicitly is the only way to select item in menu\n */\n const getIsSelected = (): boolean | undefined => {\n if (dropdownTriggerer === dropdownComponentIds.triggers.SelectInput || hasAutoComplete) {\n if (typeof props._index === 'number') {\n return selectedIndices.includes(props._index);\n }\n\n return undefined;\n }\n\n return props.isSelected;\n };\n\n const isSelected = getIsSelected();\n\n React.useEffect(() => {\n validateActionListItemProps({\n leading: props.leading,\n trailing: props.trailing,\n titleSuffix: props.titleSuffix,\n });\n }, [props.leading, props.trailing, props.titleSuffix]);\n\n React.useEffect(() => {\n if (__DEV__) {\n if (\n dropdownTriggerer === dropdownComponentIds.triggers.SelectInput &&\n props.intent === 'negative'\n ) {\n throwBladeError({\n message:\n 'negative intent ActionListItem cannot be used inside Dropdown with SelectInput trigger',\n moduleName: 'ActionListItem',\n });\n }\n }\n }, [props.intent, dropdownTriggerer]);\n\n const isVisible = hasAutoComplete && filteredValues ? filteredValues.includes(props.value) : true;\n\n return (\n <BaseMenuItem\n isVisible={isVisible}\n as={!isReactNative() ? renderOnWebAs : undefined}\n id={`${dropdownBaseId}-${props._index}`}\n tabIndex={-1}\n title={props.title}\n description={props.description}\n leading={\n selectionType === 'multiple' ? (\n <BaseBox\n pointerEvents=\"none\"\n // Adding aria-hidden because the listbox item in multiselect in itself explains the behaviour so announcing checkbox is unneccesary and just a nice UI tweak for us\n {...makeAccessible({\n hidden: true,\n })}\n >\n <Checkbox isChecked={isSelected} tabIndex={-1} isDisabled={props.isDisabled}>\n {/* \n Checkbox requires children. Didn't want to make it optional because its helpful for consumers\n But for this case in particular, we just want to use Text separately so that we can control spacing and color and keep it consistent with non-multiselect dropdowns\n */}\n {null}\n </Checkbox>\n </BaseBox>\n ) : (\n props.leading\n )\n }\n trailing={props.trailing}\n titleSuffix={props.titleSuffix}\n href={props.href}\n target={props.target}\n className={activeIndex === props._index ? 'active-focus' : ''}\n isSelected={isSelected}\n isDisabled={props.isDisabled}\n role={getActionListItemRole(dropdownTriggerer, props.href)}\n {...makeActionListItemClickable((e: React.MouseEvent<HTMLButtonElement>): void => {\n if (typeof props._index === 'number') {\n onOptionClick(e, props._index);\n props.onClick?.({ name: props.value, value: isSelected, event: castWebType(e) });\n }\n })}\n {...makeAnalyticsAttribute({ ...props })}\n {...metaAttribute({ name: MetaConstants.ActionListItem, testID: props.testID })}\n onMouseDown={() => {\n // We want to keep focus on Dropdown's trigger while option is being clicked\n // So We set this flag that ignores the blur animation to avoid the flicker between focus out + focus in\n setShouldIgnoreBlurAnimation(true);\n }}\n onMouseUp={() => {\n // (Contd from above comment...) We set this flag back to false since blur of SelectInput is done calling by this time\n setShouldIgnoreBlurAnimation(false);\n }}\n data-value={props.value}\n data-index={props._index}\n selectionType={selectionType}\n color={props.intent}\n isKeydownPressed={isKeydownPressed}\n />\n );\n};\n\nconst ActionListItem = assignWithoutSideEffects(React.memo(_ActionListItem), {\n componentId: componentIds.ActionListItem,\n displayName: componentIds.ActionListItem,\n});\n\nexport type { ActionListItemProps, ActionListSectionProps };\nexport {\n ActionListItem,\n ActionListItemIcon,\n ActionListItemText,\n ActionListItemAvatar,\n ActionListItemBadge,\n ActionListItemBadgeGroup,\n ActionListSection,\n};\n"],"names":["StyledActionListSectionTitle","styled","BaseBox","withConfig","displayName","componentId","props","padding","makeSize","theme","spacing","_ActionListSection","_ref","title","children","testID","_hideDivider","_sectionChildValues","rest","_objectWithoutProperties","_excluded","_useDropdown","useDropdown","hasAutoCompleteInBottomSheetHeader","dropdownTriggerer","filteredValues","hasAutoComplete","dropdownComponentIds","triggers","AutoComplete","isSectionVisible","React","useMemo","visibleActionListItemInSection","find","actionItemValue","includes","Boolean","showDividerInRN","isReactNative","showDividerInAutoComplete","length","_jsxs","_objectSpread","makeAccessible","role","getActionListSectionRole","label","metaAttribute","name","MetaConstants","ActionListSection","makeAnalyticsAttribute","_jsx","hidden","Text","color","size","weight","undefined","Divider","marginX","marginY","assignWithoutSideEffects","componentIds","_ActionListItemIcon","_ref2","icon","Icon","_useBaseMenuItem","useBaseMenuItem","isDisabled","iconState","concat","ActionListItemIcon","_ActionListItemBadgeGroup","_ref3","Box","display","alignItems","flexDirection","ActionListItemBadgeGroup","_ActionListItemAvatar","avatarProps","Avatar","ActionListItemAvatar","_ActionListItemBadge","Badge","marginLeft","ActionListItemBadge","_ActionListItemText","_ref4","_useBaseMenuItem2","variant","getNormalTextColor","isMuted","ActionListItemText","makeActionListItemClickable","clickHandler","onPress","onClick","_ActionListItem","_useDropdown2","activeIndex","dropdownBaseId","onOptionClick","selectedIndices","setShouldIgnoreBlurAnimation","selectionType","isKeydownPressed","renderOnWebAs","href","getIsSelected","SelectInput","_index","isSelected","useEffect","validateActionListItemProps","leading","trailing","titleSuffix","intent","throwBladeError","message","moduleName","isVisible","value","BaseMenuItem","as","id","tabIndex","description","pointerEvents","Checkbox","isChecked","target","className","getActionListItemRole","e","_props$onClick","call","event","castWebType","ActionListItem","onMouseDown","onMouseUp","memo"],"mappings":"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"}
|
package/build/lib/web/production/components/ActionList/styles/getBaseListBoxWrapperStyles.js
CHANGED
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import '../../../utils/makeSize/index.js';
|
|
2
2
|
import '../../../tokens/global/index.js';
|
|
3
|
-
import { makeSize } from '../../../utils/makeSize/makeSize.js';
|
|
4
3
|
import { size } from '../../../tokens/global/size.js';
|
|
4
|
+
import { makeSize } from '../../../utils/makeSize/makeSize.js';
|
|
5
5
|
|
|
6
|
+
var actionListMaxHeight = size[300];
|
|
7
|
+
var getActionListPadding = function getActionListPadding(theme) {
|
|
8
|
+
return theme.spacing[3];
|
|
9
|
+
};
|
|
6
10
|
var getBaseListBoxWrapperStyles = function getBaseListBoxWrapperStyles(props) {
|
|
7
11
|
return {
|
|
8
|
-
maxHeight: props.isInBottomSheet ? undefined : makeSize(
|
|
9
|
-
padding: props.isInBottomSheet ? undefined : makeSize(props.theme
|
|
12
|
+
maxHeight: props.isInBottomSheet ? undefined : makeSize(actionListMaxHeight),
|
|
13
|
+
padding: props.isInBottomSheet ? undefined : makeSize(getActionListPadding(props.theme))
|
|
10
14
|
};
|
|
11
15
|
};
|
|
12
16
|
|
|
13
|
-
export { getBaseListBoxWrapperStyles };
|
|
17
|
+
export { actionListMaxHeight, getActionListPadding, getBaseListBoxWrapperStyles };
|
|
14
18
|
//# sourceMappingURL=getBaseListBoxWrapperStyles.js.map
|
package/build/lib/web/production/components/ActionList/styles/getBaseListBoxWrapperStyles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBaseListBoxWrapperStyles.js","sources":["../../../../../../../src/components/ActionList/styles/getBaseListBoxWrapperStyles.ts"],"sourcesContent":["import type { CSSObject } from 'styled-components';\nimport type { Theme } from '~components/BladeProvider';\nimport { makeSize } from '~utils/makeSize';\nimport { size } from '~tokens/global';\n\nconst getBaseListBoxWrapperStyles = (props: {\n theme: Theme;\n isInBottomSheet: boolean;\n}): CSSObject => {\n return {\n maxHeight: props.isInBottomSheet ? undefined : makeSize(
|
|
1
|
+
{"version":3,"file":"getBaseListBoxWrapperStyles.js","sources":["../../../../../../../src/components/ActionList/styles/getBaseListBoxWrapperStyles.ts"],"sourcesContent":["import type { CSSObject } from 'styled-components';\nimport type { Theme } from '~components/BladeProvider';\nimport { makeSize } from '~utils/makeSize';\nimport { size } from '~tokens/global';\n\nconst actionListMaxHeight = size[300];\n\nconst getActionListPadding = (theme: Theme): number => {\n return theme.spacing[3];\n};\n\nconst getBaseListBoxWrapperStyles = (props: {\n theme: Theme;\n isInBottomSheet: boolean;\n}): CSSObject => {\n return {\n maxHeight: props.isInBottomSheet ? undefined : makeSize(actionListMaxHeight),\n padding: props.isInBottomSheet ? undefined : makeSize(getActionListPadding(props.theme)),\n };\n};\n\nexport { getBaseListBoxWrapperStyles, actionListMaxHeight, getActionListPadding };\n"],"names":["actionListMaxHeight","size","getActionListPadding","theme","spacing","getBaseListBoxWrapperStyles","props","maxHeight","isInBottomSheet","undefined","makeSize","padding"],"mappings":";;;;;AAKA,IAAMA,mBAAmB,GAAGC,IAAI,CAAC,GAAG,EAAC;AAErC,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,KAAY,EAAa;AACrD,EAAA,OAAOA,KAAK,CAACC,OAAO,CAAC,CAAC,CAAC,CAAA;AACzB,EAAC;AAED,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAIC,KAGpC,EAAgB;EACf,OAAO;IACLC,SAAS,EAAED,KAAK,CAACE,eAAe,GAAGC,SAAS,GAAGC,QAAQ,CAACV,mBAAmB,CAAC;AAC5EW,IAAAA,OAAO,EAAEL,KAAK,CAACE,eAAe,GAAGC,SAAS,GAAGC,QAAQ,CAACR,oBAAoB,CAACI,KAAK,CAACH,KAAK,CAAC,CAAA;GACxF,CAAA;AACH;;;;"}
|
|
@@ -3,19 +3,18 @@ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProper
|
|
|
3
3
|
import React__default from 'react';
|
|
4
4
|
import { BaseMenuItemContext } from '../BaseMenuContext.js';
|
|
5
5
|
import { StyledMenuItemContainer } from './StyledMenuItemContainer.web.js';
|
|
6
|
+
import { itemFirstRowHeight } from './tokens.js';
|
|
6
7
|
import '../../Box/index.js';
|
|
7
8
|
import '../../Typography/index.js';
|
|
8
|
-
import '../../../tokens/global/index.js';
|
|
9
|
-
import '../../../utils/index.js';
|
|
10
9
|
import '../../../utils/makeAccessible/index.js';
|
|
11
10
|
import '../../Typography/BaseText/index.js';
|
|
12
11
|
import '../../../utils/useTruncationTitle/index.js';
|
|
12
|
+
import '../../../utils/index.js';
|
|
13
13
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
14
|
-
import { makeSize } from '../../../utils/makeSize/makeSize.js';
|
|
15
|
-
import { size } from '../../../tokens/global/size.js';
|
|
16
14
|
import { useTruncationTitle } from '../../../utils/useTruncationTitle/useTruncationTitle.web.js';
|
|
17
15
|
import { makeAccessible } from '../../../utils/makeAccessible/makeAccessible.web.js';
|
|
18
16
|
import { Box } from '../../Box/Box.js';
|
|
17
|
+
import { makeSize } from '../../../utils/makeSize/makeSize.js';
|
|
19
18
|
import { BaseText } from '../../Typography/BaseText/BaseText.web.js';
|
|
20
19
|
import { getTextProps, Text } from '../../Typography/Text/Text.js';
|
|
21
20
|
|
|
@@ -38,7 +37,7 @@ var menuItemDescriptionColor = {
|
|
|
38
37
|
};
|
|
39
38
|
|
|
40
39
|
// This is the height of item excluding the description to make sure description comes at the bottom and other first row items are center aligned
|
|
41
|
-
|
|
40
|
+
|
|
42
41
|
var _BaseMenuItem = function _BaseMenuItem(_ref, ref) {
|
|
43
42
|
var title = _ref.title,
|
|
44
43
|
description = _ref.description,
|
|
@@ -93,7 +92,7 @@ var _BaseMenuItem = function _BaseMenuItem(_ref, ref) {
|
|
|
93
92
|
display: "flex",
|
|
94
93
|
justifyContent: "center",
|
|
95
94
|
alignItems: "center",
|
|
96
|
-
height: itemFirstRowHeight,
|
|
95
|
+
height: makeSize(itemFirstRowHeight),
|
|
97
96
|
children: leading
|
|
98
97
|
}), /*#__PURE__*/jsxs(Box, {
|
|
99
98
|
paddingLeft: leading ? 'spacing.3' : 'spacing.0',
|
|
@@ -104,7 +103,7 @@ var _BaseMenuItem = function _BaseMenuItem(_ref, ref) {
|
|
|
104
103
|
display: "flex",
|
|
105
104
|
alignItems: "center",
|
|
106
105
|
flexDirection: "row",
|
|
107
|
-
height: itemFirstRowHeight,
|
|
106
|
+
height: makeSize(itemFirstRowHeight),
|
|
108
107
|
ref: containerRef,
|
|
109
108
|
children: [/*#__PURE__*/jsx(BaseText, _objectSpread(_objectSpread({
|
|
110
109
|
as: "p",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseMenuItem.js","sources":["../../../../../../../src/components/BaseMenu/BaseMenuItem/BaseMenuItem.tsx"],"sourcesContent":["import React from 'react';\nimport type { BaseMenuItemProps } from '../types';\nimport { BaseMenuItemContext } from '../BaseMenuContext';\nimport { StyledMenuItemContainer } from './StyledMenuItemContainer';\nimport {
|
|
1
|
+
{"version":3,"file":"BaseMenuItem.js","sources":["../../../../../../../src/components/BaseMenu/BaseMenuItem/BaseMenuItem.tsx"],"sourcesContent":["import React from 'react';\nimport type { BaseMenuItemProps } from '../types';\nimport { BaseMenuItemContext } from '../BaseMenuContext';\nimport { StyledMenuItemContainer } from './StyledMenuItemContainer';\nimport { itemFirstRowHeight } from './tokens';\nimport { Box } from '~components/Box';\nimport { getTextProps, Text } from '~components/Typography';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport type { BladeElementRef } from '~utils/types';\nimport { BaseText } from '~components/Typography/BaseText';\nimport { useTruncationTitle } from '~utils/useTruncationTitle';\nimport { makeSize } from '~utils';\n\nconst menuItemTitleColor = {\n negative: {\n default: 'feedback.text.negative.intense',\n disabled: 'interactive.text.gray.disabled',\n },\n normal: { default: 'interactive.text.gray.normal', disabled: 'interactive.text.gray.disabled' },\n} as const;\n\nconst menuItemDescriptionColor = {\n default: 'interactive.text.gray.muted',\n disabled: 'interactive.text.gray.disabled',\n} as const;\n\n// This is the height of item excluding the description to make sure description comes at the bottom and other first row items are center aligned\n\nconst _BaseMenuItem: React.ForwardRefRenderFunction<BladeElementRef, BaseMenuItemProps> = (\n {\n title,\n description,\n as,\n leading,\n trailing,\n titleSuffix,\n isDisabled,\n selectionType = 'single',\n isSelected,\n isVisible = true,\n color,\n role = 'menuitem',\n children,\n ...props\n },\n ref,\n): React.ReactElement => {\n const { containerRef, textRef } = useTruncationTitle({ content: title });\n return (\n <BaseMenuItemContext.Provider value={{ color, isDisabled }}>\n <StyledMenuItemContainer\n ref={ref as never}\n as={as}\n type=\"button\"\n disabled={isDisabled}\n {...makeAccessible({\n role,\n current: role === 'menuitem' || role === 'menuitemcheckbox' ? isSelected : undefined,\n disabled: isDisabled,\n selected: isSelected,\n })}\n color={color}\n isVisible={isVisible}\n isSelected={isSelected}\n isDisabled={isDisabled}\n selectionType={selectionType}\n {...props}\n >\n {children ? (\n children\n ) : (\n <Box display=\"flex\" alignItems=\"flex-start\" width=\"100%\" justifyContent=\"flex-start\">\n <Box\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n height={makeSize(itemFirstRowHeight)}\n >\n {leading}\n </Box>\n <Box\n paddingLeft={leading ? 'spacing.3' : 'spacing.0'}\n paddingRight=\"spacing.3\"\n display=\"flex\"\n flexDirection=\"column\"\n >\n <Box\n display=\"flex\"\n alignItems=\"center\"\n flexDirection=\"row\"\n height={makeSize(itemFirstRowHeight)}\n ref={containerRef as never}\n >\n <BaseText\n as=\"p\"\n ref={textRef as never}\n truncateAfterLines={1}\n wordBreak=\"break-all\"\n {...getTextProps({\n size: 'medium',\n color:\n menuItemTitleColor[color === 'negative' ? 'negative' : 'normal'][\n isDisabled ? 'disabled' : 'default'\n ],\n weight: 'regular',\n })}\n >\n {title}\n </BaseText>\n {titleSuffix}\n </Box>\n <Box>\n {description ? (\n <Text\n color={menuItemDescriptionColor[isDisabled ? 'disabled' : 'default']}\n size=\"small\"\n >\n {description}\n </Text>\n ) : null}\n </Box>\n </Box>\n <Box marginLeft=\"auto\">{trailing}</Box>\n </Box>\n )}\n </StyledMenuItemContainer>\n </BaseMenuItemContext.Provider>\n );\n};\n\nconst BaseMenuItem = React.forwardRef(_BaseMenuItem);\n\nexport { BaseMenuItem };\n"],"names":["menuItemTitleColor","negative","disabled","normal","menuItemDescriptionColor","_BaseMenuItem","_ref","ref","title","description","as","leading","trailing","titleSuffix","isDisabled","_ref$selectionType","selectionType","isSelected","_ref$isVisible","isVisible","color","_ref$role","role","children","props","_objectWithoutProperties","_excluded","_useTruncationTitle","useTruncationTitle","content","containerRef","textRef","_jsx","BaseMenuItemContext","Provider","value","StyledMenuItemContainer","_objectSpread","type","makeAccessible","current","undefined","selected","_jsxs","Box","display","alignItems","width","justifyContent","height","makeSize","itemFirstRowHeight","paddingLeft","paddingRight","flexDirection","BaseText","truncateAfterLines","wordBreak","getTextProps","size","weight","Text","marginLeft","BaseMenuItem","React","forwardRef"],"mappings":"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"}
|
package/build/lib/web/production/components/BaseMenu/BaseMenuItem/StyledMenuItemContainer.web.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
2
|
import styled from 'styled-components';
|
|
3
3
|
import { getBaseMenuItemStyles } from './getBaseMenuItemStyles.js';
|
|
4
|
+
import { getItemPadding } from './tokens.js';
|
|
4
5
|
import '../../../utils/index.js';
|
|
5
6
|
import '../../../utils/getFocusRingStyles/index.js';
|
|
6
7
|
import '../../Box/BaseBox/index.js';
|
|
@@ -18,12 +19,12 @@ var StyledMenuItemContainer = /*#__PURE__*/styled(BaseBox).withConfig({
|
|
|
18
19
|
return _objectSpread(_objectSpread({}, getBaseMenuItemStyles({
|
|
19
20
|
theme: props.theme
|
|
20
21
|
})), {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
|
|
21
|
-
padding: makeSize(props.theme.
|
|
22
|
+
padding: makeSize(getItemPadding(props.theme).itemPaddingMobile),
|
|
22
23
|
display: props.isVisible ? 'flex' : 'none'
|
|
23
24
|
}, "@media ".concat(getMediaQuery({
|
|
24
25
|
min: props.theme.breakpoints.m
|
|
25
26
|
})), {
|
|
26
|
-
padding: makeSize(props.theme.
|
|
27
|
+
padding: makeSize(getItemPadding(props.theme).itemPaddingDesktop)
|
|
27
28
|
}), '&:hover:not([aria-disabled=true]), &[aria-expanded="true"]', {
|
|
28
29
|
backgroundColor: props.color === 'negative' ? props.theme.colors.interactive.background.negative.faded : props.theme.colors.interactive.background.gray["default"]
|
|
29
30
|
}), '&:focus-visible', getFocusRingStyles({
|
package/build/lib/web/production/components/BaseMenu/BaseMenuItem/StyledMenuItemContainer.web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StyledMenuItemContainer.web.js","sources":["../../../../../../../src/components/BaseMenu/BaseMenuItem/StyledMenuItemContainer.web.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport type { StyledBaseMenuItemContainerProps } from '../types';\nimport { getBaseMenuItemStyles } from './getBaseMenuItemStyles';\nimport { getMediaQuery, makeSize } from '~utils';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\nimport BaseBox from '~components/Box/BaseBox';\n\nconst StyledMenuItemContainer = styled(BaseBox)<StyledBaseMenuItemContainerProps>((props) => {\n return {\n ...getBaseMenuItemStyles({ theme: props.theme }),\n padding: makeSize(props.theme.
|
|
1
|
+
{"version":3,"file":"StyledMenuItemContainer.web.js","sources":["../../../../../../../src/components/BaseMenu/BaseMenuItem/StyledMenuItemContainer.web.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport type { StyledBaseMenuItemContainerProps } from '../types';\nimport { getBaseMenuItemStyles } from './getBaseMenuItemStyles';\nimport { getItemPadding } from './tokens';\nimport { getMediaQuery, makeSize } from '~utils';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\nimport BaseBox from '~components/Box/BaseBox';\n\nconst StyledMenuItemContainer = styled(BaseBox)<StyledBaseMenuItemContainerProps>((props) => {\n return {\n ...getBaseMenuItemStyles({ theme: props.theme }),\n padding: makeSize(getItemPadding(props.theme).itemPaddingMobile),\n display: props.isVisible ? 'flex' : 'none',\n [`@media ${getMediaQuery({ min: props.theme.breakpoints.m })}`]: {\n padding: makeSize(getItemPadding(props.theme).itemPaddingDesktop),\n },\n '&:hover:not([aria-disabled=true]), &[aria-expanded=\"true\"]': {\n backgroundColor:\n props.color === 'negative'\n ? props.theme.colors.interactive.background.negative.faded\n : props.theme.colors.interactive.background.gray.default,\n },\n '&:focus-visible': getFocusRingStyles({ theme: props.theme }),\n '&.active-focus': props.isKeydownPressed\n ? getFocusRingStyles({ theme: props.theme })\n : undefined,\n '&[aria-selected=true]': {\n backgroundColor:\n props.selectionType === 'single'\n ? props.theme.colors.interactive.background.primary.faded\n : undefined,\n },\n '&[aria-selected=true]:hover': {\n backgroundColor: props.theme.colors.interactive.background.primary.fadedHighlighted,\n },\n };\n});\n\nexport { StyledMenuItemContainer };\n"],"names":["StyledMenuItemContainer","styled","BaseBox","withConfig","displayName","componentId","props","_objectSpread","getBaseMenuItemStyles","theme","_defineProperty","padding","makeSize","getItemPadding","itemPaddingMobile","display","isVisible","concat","getMediaQuery","min","breakpoints","m","itemPaddingDesktop","backgroundColor","color","colors","interactive","background","negative","faded","gray","getFocusRingStyles","isKeydownPressed","undefined","selectionType","primary","fadedHighlighted"],"mappings":";;;;;;;;;;;;;;AAQA,IAAMA,uBAAuB,gBAAGC,MAAM,CAACC,OAAO,CAAC,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,qDAAA;EAAAC,WAAA,EAAA,UAAA;AAAA,CAAmC,CAAA,CAAA,UAACC,KAAK,EAAK;AAC3F,EAAA,OAAAC,aAAA,CAAAA,aAAA,CAAA,EAAA,EACKC,qBAAqB,CAAC;IAAEC,KAAK,EAAEH,KAAK,CAACG,KAAAA;AAAM,GAAC,CAAC,CAAA,EAAA,EAAA,EAAAC,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA;IAChDC,OAAO,EAAEC,QAAQ,CAACC,cAAc,CAACP,KAAK,CAACG,KAAK,CAAC,CAACK,iBAAiB,CAAC;AAChEC,IAAAA,OAAO,EAAET,KAAK,CAACU,SAAS,GAAG,MAAM,GAAG,MAAA;GAAMC,EAAAA,SAAAA,CAAAA,MAAA,CAC/BC,aAAa,CAAC;AAAEC,IAAAA,GAAG,EAAEb,KAAK,CAACG,KAAK,CAACW,WAAW,CAACC,CAAAA;AAAE,GAAC,CAAC,CAAK,EAAA;IAC/DV,OAAO,EAAEC,QAAQ,CAACC,cAAc,CAACP,KAAK,CAACG,KAAK,CAAC,CAACa,kBAAkB,CAAA;GACjE,CAAA,EACD,4DAA4D,EAAE;AAC5DC,IAAAA,eAAe,EACbjB,KAAK,CAACkB,KAAK,KAAK,UAAU,GACtBlB,KAAK,CAACG,KAAK,CAACgB,MAAM,CAACC,WAAW,CAACC,UAAU,CAACC,QAAQ,CAACC,KAAK,GACxDvB,KAAK,CAACG,KAAK,CAACgB,MAAM,CAACC,WAAW,CAACC,UAAU,CAACG,IAAI,CAAA,SAAA,CAAA;AACtD,GAAC,CACD,EAAA,iBAAiB,EAAEC,kBAAkB,CAAC;IAAEtB,KAAK,EAAEH,KAAK,CAACG,KAAAA;GAAO,CAAC,GAC7D,gBAAgB,EAAEH,KAAK,CAAC0B,gBAAgB,GACpCD,kBAAkB,CAAC;IAAEtB,KAAK,EAAEH,KAAK,CAACG,KAAAA;AAAM,GAAC,CAAC,GAC1CwB,SAAS,CAAA,EACb,uBAAuB,EAAE;IACvBV,eAAe,EACbjB,KAAK,CAAC4B,aAAa,KAAK,QAAQ,GAC5B5B,KAAK,CAACG,KAAK,CAACgB,MAAM,CAACC,WAAW,CAACC,UAAU,CAACQ,OAAO,CAACN,KAAK,GACvDI,SAAAA;GACP,CAAA,EACD,6BAA6B,EAAE;AAC7BV,IAAAA,eAAe,EAAEjB,KAAK,CAACG,KAAK,CAACgB,MAAM,CAACC,WAAW,CAACC,UAAU,CAACQ,OAAO,CAACC,gBAAAA;GACpE,CAAA,CAAA,CAAA;AAEL,CAAC;;;;"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { getItemMargin } from './tokens.js';
|
|
1
2
|
import '../../../utils/index.js';
|
|
2
3
|
import '../../../utils/makeSize/index.js';
|
|
3
4
|
import { makeBorderSize } from '../../../utils/makeBorderSize/makeBorderSize.js';
|
|
@@ -12,8 +13,8 @@ var getBaseMenuItemStyles = function getBaseMenuItemStyles(props) {
|
|
|
12
13
|
textAlign: isReactNative() ? undefined : 'left',
|
|
13
14
|
backgroundColor: 'transparent',
|
|
14
15
|
borderRadius: makeSize(props.theme.border.radius.medium),
|
|
15
|
-
marginTop: makeSize(props.theme
|
|
16
|
-
marginBottom: makeSize(props.theme
|
|
16
|
+
marginTop: makeSize(getItemMargin(props.theme)),
|
|
17
|
+
marginBottom: makeSize(getItemMargin(props.theme)),
|
|
17
18
|
textDecoration: 'none',
|
|
18
19
|
cursor: 'pointer',
|
|
19
20
|
width: '100%'
|
package/build/lib/web/production/components/BaseMenu/BaseMenuItem/getBaseMenuItemStyles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBaseMenuItemStyles.js","sources":["../../../../../../../src/components/BaseMenu/BaseMenuItem/getBaseMenuItemStyles.ts"],"sourcesContent":["import type { CSSObject } from 'styled-components';\nimport type { Theme } from '~components/BladeProvider';\nimport { isReactNative, makeBorderSize } from '~utils';\nimport { makeSize } from '~utils/makeSize';\n\nconst getBaseMenuItemStyles = (props: { theme: Theme }): CSSObject => {\n return {\n borderWidth: makeBorderSize(props.theme.border.width.none),\n display: 'flex',\n flexDirection: 'column',\n textAlign: isReactNative() ? undefined : 'left',\n backgroundColor: 'transparent',\n borderRadius: makeSize(props.theme.border.radius.medium),\n marginTop: makeSize(props.theme
|
|
1
|
+
{"version":3,"file":"getBaseMenuItemStyles.js","sources":["../../../../../../../src/components/BaseMenu/BaseMenuItem/getBaseMenuItemStyles.ts"],"sourcesContent":["import type { CSSObject } from 'styled-components';\nimport { getItemMargin } from './tokens';\nimport type { Theme } from '~components/BladeProvider';\nimport { isReactNative, makeBorderSize } from '~utils';\nimport { makeSize } from '~utils/makeSize';\n\nconst getBaseMenuItemStyles = (props: { theme: Theme }): CSSObject => {\n return {\n borderWidth: makeBorderSize(props.theme.border.width.none),\n display: 'flex',\n flexDirection: 'column',\n textAlign: isReactNative() ? undefined : 'left',\n backgroundColor: 'transparent',\n borderRadius: makeSize(props.theme.border.radius.medium),\n marginTop: makeSize(getItemMargin(props.theme)),\n marginBottom: makeSize(getItemMargin(props.theme)),\n textDecoration: 'none',\n cursor: 'pointer',\n width: '100%',\n };\n};\n\nexport { getBaseMenuItemStyles };\n"],"names":["getBaseMenuItemStyles","props","borderWidth","makeBorderSize","theme","border","width","none","display","flexDirection","textAlign","isReactNative","undefined","backgroundColor","borderRadius","makeSize","radius","medium","marginTop","getItemMargin","marginBottom","textDecoration","cursor"],"mappings":";;;;;;;AAMA,IAAMA,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAIC,KAAuB,EAAgB;EACpE,OAAO;AACLC,IAAAA,WAAW,EAAEC,cAAc,CAACF,KAAK,CAACG,KAAK,CAACC,MAAM,CAACC,KAAK,CAACC,IAAI,CAAC;AAC1DC,IAAAA,OAAO,EAAE,MAAM;AACfC,IAAAA,aAAa,EAAE,QAAQ;AACvBC,IAAAA,SAAS,EAAEC,aAAa,EAAE,GAAGC,SAAS,GAAG,MAAM;AAC/CC,IAAAA,eAAe,EAAE,aAAa;AAC9BC,IAAAA,YAAY,EAAEC,QAAQ,CAACd,KAAK,CAACG,KAAK,CAACC,MAAM,CAACW,MAAM,CAACC,MAAM,CAAC;IACxDC,SAAS,EAAEH,QAAQ,CAACI,aAAa,CAAClB,KAAK,CAACG,KAAK,CAAC,CAAC;IAC/CgB,YAAY,EAAEL,QAAQ,CAACI,aAAa,CAAClB,KAAK,CAACG,KAAK,CAAC,CAAC;AAClDiB,IAAAA,cAAc,EAAE,MAAM;AACtBC,IAAAA,MAAM,EAAE,SAAS;AACjBhB,IAAAA,KAAK,EAAE,MAAA;GACR,CAAA;AACH;;;;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import '../../../tokens/global/index.js';
|
|
2
|
+
import { size } from '../../../tokens/global/size.js';
|
|
3
|
+
|
|
4
|
+
var itemFirstRowHeight = size[20];
|
|
5
|
+
var getItemPadding = function getItemPadding(theme) {
|
|
6
|
+
return {
|
|
7
|
+
itemPaddingMobile: theme.spacing[2],
|
|
8
|
+
itemPaddingDesktop: theme.spacing[3]
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
var getItemMargin = function getItemMargin(theme) {
|
|
12
|
+
return theme.spacing[1];
|
|
13
|
+
};
|
|
14
|
+
var getItemHeight = function getItemHeight(theme) {
|
|
15
|
+
return {
|
|
16
|
+
itemHeightMobile:
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/restrict-plus-operands
|
|
18
|
+
itemFirstRowHeight + getItemPadding(theme).itemPaddingMobile * 2 + getItemMargin(theme) * 2,
|
|
19
|
+
itemHeightDesktop:
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/restrict-plus-operands
|
|
21
|
+
itemFirstRowHeight + getItemPadding(theme).itemPaddingDesktop * 2 + getItemMargin(theme) * 2
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export { getItemHeight, getItemMargin, getItemPadding, itemFirstRowHeight };
|
|
26
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sources":["../../../../../../../src/components/BaseMenu/BaseMenuItem/tokens.ts"],"sourcesContent":["import type { Theme } from '~components/BladeProvider';\nimport { size } from '~tokens/global';\n\nconst itemFirstRowHeight = size[20];\n\nconst getItemPadding = (\n theme: Theme,\n): {\n itemPaddingMobile: 4;\n itemPaddingDesktop: 8;\n} => {\n return {\n itemPaddingMobile: theme.spacing[2],\n itemPaddingDesktop: theme.spacing[3],\n };\n};\n\nconst getItemMargin = (theme: Theme): number => {\n return theme.spacing[1];\n};\n\nconst getItemHeight = (\n theme: Theme,\n): {\n itemHeightMobile: number;\n itemHeightDesktop: number;\n} => {\n return {\n itemHeightMobile:\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n itemFirstRowHeight + getItemPadding(theme).itemPaddingMobile * 2 + getItemMargin(theme) * 2,\n itemHeightDesktop:\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n itemFirstRowHeight + getItemPadding(theme).itemPaddingDesktop * 2 + getItemMargin(theme) * 2,\n };\n};\n\nexport { itemFirstRowHeight, getItemPadding, getItemMargin, getItemHeight };\n"],"names":["itemFirstRowHeight","size","getItemPadding","theme","itemPaddingMobile","spacing","itemPaddingDesktop","getItemMargin","getItemHeight","itemHeightMobile","itemHeightDesktop"],"mappings":";;;AAGA,IAAMA,kBAAkB,GAAGC,IAAI,CAAC,EAAE,EAAC;AAEnC,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAClBC,KAAY,EAIT;EACH,OAAO;AACLC,IAAAA,iBAAiB,EAAED,KAAK,CAACE,OAAO,CAAC,CAAC,CAAC;AACnCC,IAAAA,kBAAkB,EAAEH,KAAK,CAACE,OAAO,CAAC,CAAC,CAAA;GACpC,CAAA;AACH,EAAC;AAED,IAAME,aAAa,GAAG,SAAhBA,aAAaA,CAAIJ,KAAY,EAAa;AAC9C,EAAA,OAAOA,KAAK,CAACE,OAAO,CAAC,CAAC,CAAC,CAAA;AACzB,EAAC;AAED,IAAMG,aAAa,GAAG,SAAhBA,aAAaA,CACjBL,KAAY,EAIT;EACH,OAAO;IACLM,gBAAgB;AACd;AACAT,IAAAA,kBAAkB,GAAGE,cAAc,CAACC,KAAK,CAAC,CAACC,iBAAiB,GAAG,CAAC,GAAGG,aAAa,CAACJ,KAAK,CAAC,GAAG,CAAC;IAC7FO,iBAAiB;AACf;AACAV,IAAAA,kBAAkB,GAAGE,cAAc,CAACC,KAAK,CAAC,CAACG,kBAAkB,GAAG,CAAC,GAAGC,aAAa,CAACJ,KAAK,CAAC,GAAG,CAAA;GAC9F,CAAA;AACH;;;;"}
|
|
@@ -18,7 +18,7 @@ import { throwBladeError } from '../../utils/logger/logger.js';
|
|
|
18
18
|
import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.web.js';
|
|
19
19
|
import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
|
|
20
20
|
|
|
21
|
-
var _excluded = ["firstDayOfWeek", "selectionType", "allowSingleDateInRange", "defaultPicker", "picker", "onPickerChange", "date", "defaultDate", "onDateChange", "onNext", "onPrevious", "presets"];
|
|
21
|
+
var _excluded = ["firstDayOfWeek", "selectionType", "allowSingleDateInRange", "defaultPicker", "picker", "onPickerChange", "date", "defaultDate", "onDateChange", "onNext", "onPrevious", "presets", "showLevelChangeLink"];
|
|
22
22
|
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; }
|
|
23
23
|
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; }
|
|
24
24
|
var Calendar = function Calendar(_ref) {
|
|
@@ -36,6 +36,7 @@ var Calendar = function Calendar(_ref) {
|
|
|
36
36
|
onNext = _ref.onNext,
|
|
37
37
|
onPrevious = _ref.onPrevious,
|
|
38
38
|
presets = _ref.presets,
|
|
39
|
+
showLevelChangeLink = _ref.showLevelChangeLink,
|
|
39
40
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
40
41
|
var isRange = selectionType === 'range';
|
|
41
42
|
var _useControllableState = useControllableState({
|
|
@@ -140,7 +141,8 @@ var Calendar = function Calendar(_ref) {
|
|
|
140
141
|
onNextDecade: handleNextDecade,
|
|
141
142
|
onPreviousDecade: handlePreviousDecade,
|
|
142
143
|
onNextYear: handleNextYear,
|
|
143
|
-
onPreviousYear: handlePreviousYear
|
|
144
|
+
onPreviousYear: handlePreviousYear,
|
|
145
|
+
showLevelChangeLink: showLevelChangeLink
|
|
144
146
|
}), /*#__PURE__*/jsx(CalendarGradientStyles, {
|
|
145
147
|
isRange: isRange,
|
|
146
148
|
date: currentDate,
|
|
@@ -1 +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 { 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 { shiftTimezone } from './shiftTimezone';\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());\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 monthLevelGroup: classes.levelsGroup,\n yearLevelGroup: classes.levelsGroup,\n decadeLevelGroup: classes.levelsGroup,\n day: classes.dayCell,\n monthsListCell: classes.yearsListControl,\n yearsListCell: classes.monthsListControl,\n monthCell: classes.dayCell,\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","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","monthLevelGroup","classes","levelsGroup","yearLevelGroup","decadeLevelGroup","day","dayCell","monthsListCell","yearsListControl","yearsListCell","monthsListControl","monthCell","calendarHeader","monthRow","row","yearsListRow","monthsListRow","weekdaysRow","weekday"],"mappings":"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"}
|
|
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 { 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 { shiftTimezone } from './shiftTimezone';\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 showLevelChangeLink,\n ...props\n}: CalendarProps<Type> & {\n date?: Date;\n defaultDate?: Date;\n onDateChange?: (date: DateValue) => void;\n showLevelChangeLink?: boolean;\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());\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 showLevelChangeLink={showLevelChangeLink}\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 monthLevelGroup: classes.levelsGroup,\n yearLevelGroup: classes.levelsGroup,\n decadeLevelGroup: classes.levelsGroup,\n day: classes.dayCell,\n monthsListCell: classes.yearsListControl,\n yearsListCell: classes.monthsListControl,\n monthCell: classes.dayCell,\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","showLevelChangeLink","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","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","monthLevelGroup","classes","levelsGroup","yearLevelGroup","decadeLevelGroup","day","dayCell","monthsListCell","yearsListControl","yearsListCell","monthsListControl","monthCell","calendarHeader","monthRow","row","yearsListRow","monthsListRow","weekdaysRow","weekday"],"mappings":"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"}
|
|
@@ -6,29 +6,51 @@ import '../Button/index.js';
|
|
|
6
6
|
import '../Typography/index.js';
|
|
7
7
|
import '../Icons/index.js';
|
|
8
8
|
import '../Link/index.js';
|
|
9
|
-
import {
|
|
9
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
10
|
+
import Link from '../Link/Link/Link.js';
|
|
11
|
+
import ChevronDownIcon from '../Icons/ChevronDownIcon/ChevronDownIcon.js';
|
|
12
|
+
import { Text } from '../Typography/Text/Text.js';
|
|
10
13
|
import { Box } from '../Box/Box.js';
|
|
11
14
|
import Button from '../Button/Button/Button.js';
|
|
12
15
|
import ChevronLeftIcon from '../Icons/ChevronLeftIcon/ChevronLeftIcon.js';
|
|
13
|
-
import { Text } from '../Typography/Text/Text.js';
|
|
14
|
-
import Link from '../Link/Link/Link.js';
|
|
15
|
-
import ChevronDownIcon from '../Icons/ChevronDownIcon/ChevronDownIcon.js';
|
|
16
16
|
import ChevronRightIcon from '../Icons/ChevronRightIcon/ChevronRightIcon.js';
|
|
17
17
|
|
|
18
18
|
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var CalendarLevelIndicator = function CalendarLevelIndicator(_ref) {
|
|
21
|
+
var onClick = _ref.onClick,
|
|
22
|
+
showLevelChangeLink = _ref.showLevelChangeLink,
|
|
23
|
+
accessibilityLabel = _ref.accessibilityLabel,
|
|
24
|
+
text = _ref.text;
|
|
25
|
+
return showLevelChangeLink ? /*#__PURE__*/jsx(Link, {
|
|
26
|
+
onClick: onClick,
|
|
27
|
+
size: "large",
|
|
28
|
+
variant: "button",
|
|
29
|
+
color: "neutral",
|
|
30
|
+
iconPosition: "right",
|
|
31
|
+
icon: ChevronDownIcon,
|
|
32
|
+
accessibilityLabel: accessibilityLabel,
|
|
33
|
+
children: text
|
|
34
|
+
}) : /*#__PURE__*/jsx(Text, {
|
|
35
|
+
size: "large",
|
|
36
|
+
weight: "medium",
|
|
37
|
+
color: "interactive.text.neutral.normal",
|
|
38
|
+
children: text
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
var CalendarHeader = function CalendarHeader(_ref2) {
|
|
21
42
|
var _i18nState$locale;
|
|
22
|
-
var isRange =
|
|
23
|
-
date =
|
|
24
|
-
pickerType =
|
|
25
|
-
onNextMonth =
|
|
26
|
-
onNextYear =
|
|
27
|
-
onNextDecade =
|
|
28
|
-
onPreviousMonth =
|
|
29
|
-
onPreviousYear =
|
|
30
|
-
onPreviousDecade =
|
|
31
|
-
onLevelChange =
|
|
43
|
+
var isRange = _ref2.isRange,
|
|
44
|
+
date = _ref2.date,
|
|
45
|
+
pickerType = _ref2.pickerType,
|
|
46
|
+
onNextMonth = _ref2.onNextMonth,
|
|
47
|
+
onNextYear = _ref2.onNextYear,
|
|
48
|
+
onNextDecade = _ref2.onNextDecade,
|
|
49
|
+
onPreviousMonth = _ref2.onPreviousMonth,
|
|
50
|
+
onPreviousYear = _ref2.onPreviousYear,
|
|
51
|
+
onPreviousDecade = _ref2.onPreviousDecade,
|
|
52
|
+
onLevelChange = _ref2.onLevelChange,
|
|
53
|
+
showLevelChangeLink = _ref2.showLevelChangeLink;
|
|
32
54
|
var _useI18nContext = useI18nContext(),
|
|
33
55
|
i18nState = _useI18nContext.i18nState;
|
|
34
56
|
var locale = convertIntlToDayjsLocale((_i18nState$locale = i18nState === null || i18nState === void 0 ? void 0 : i18nState.locale) !== null && _i18nState$locale !== void 0 ? _i18nState$locale : 'en-IN');
|
|
@@ -119,28 +141,20 @@ var CalendarHeader = function CalendarHeader(_ref) {
|
|
|
119
141
|
display: "flex",
|
|
120
142
|
gap: "spacing.5",
|
|
121
143
|
alignItems: "center",
|
|
122
|
-
children: [pickerType === 'day' && /*#__PURE__*/
|
|
144
|
+
children: [pickerType === 'day' && /*#__PURE__*/jsx(CalendarLevelIndicator, {
|
|
123
145
|
onClick: function onClick() {
|
|
124
|
-
onLevelChange('year');
|
|
146
|
+
return onLevelChange('year');
|
|
125
147
|
},
|
|
126
|
-
|
|
127
|
-
variant: "button",
|
|
128
|
-
color: "neutral",
|
|
129
|
-
iconPosition: "right",
|
|
130
|
-
icon: ChevronDownIcon,
|
|
148
|
+
showLevelChangeLink: showLevelChangeLink,
|
|
131
149
|
accessibilityLabel: "Change month",
|
|
132
|
-
|
|
133
|
-
}), pickerType === 'month' && /*#__PURE__*/jsx(
|
|
150
|
+
text: "".concat(month, " ").concat(year)
|
|
151
|
+
}), pickerType === 'month' && /*#__PURE__*/jsx(CalendarLevelIndicator, {
|
|
134
152
|
onClick: function onClick() {
|
|
135
|
-
onLevelChange('decade');
|
|
153
|
+
return onLevelChange('decade');
|
|
136
154
|
},
|
|
137
|
-
|
|
138
|
-
variant: "button",
|
|
139
|
-
color: "neutral",
|
|
140
|
-
iconPosition: "right",
|
|
141
|
-
icon: ChevronDownIcon,
|
|
155
|
+
showLevelChangeLink: showLevelChangeLink,
|
|
142
156
|
accessibilityLabel: "Change decade",
|
|
143
|
-
|
|
157
|
+
text: year
|
|
144
158
|
}), pickerType === 'year' && /*#__PURE__*/jsxs(Text, {
|
|
145
159
|
size: "large",
|
|
146
160
|
weight: "medium",
|