@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":"DatePicker.web.js","sources":["../../../../../../src/components/DatePicker/DatePicker.web.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/no-autofocus */\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { DatesProvider } from '@mantine/dates';\nimport React from 'react';\nimport { FloatingFocusManager, FloatingPortal } from '@floating-ui/react';\nimport { useI18nContext } from '@razorpay/i18nify-react';\nimport { MantineProvider } from '@mantine/core';\nimport dayjs from 'dayjs';\nimport type { DatesRangeValue, DatePickerProps, DateSelectionType, PickerType } from './types';\nimport { Calendar } from './Calendar';\nimport { PresetSideBar } from './QuickSelection/PresetSideBar';\nimport { useDatesState } from './useDatesState';\nimport { DatePickerInput } from './DateInput';\nimport { usePopup } from './usePopup';\nimport { CalendarFooter } from './CalendarFooter';\nimport { convertIntlToDayjsLocale, loadScript } from './utils';\nimport { shiftTimezone } from './shiftTimezone';\nimport BaseBox from '~components/Box/BaseBox';\nimport { useControllableState } from '~utils/useControllable';\nimport { useTheme } from '~utils';\nimport { useId } from '~utils/useId';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport {\n BottomSheet,\n BottomSheetBody,\n BottomSheetFooter,\n BottomSheetHeader,\n} from '~components/BottomSheet';\nimport { logger } from '~utils/logger';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { componentZIndices } from '~utils/componentZIndices';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport type { DataAnalyticsAttribute } from '~utils/types';\nimport { fireNativeEvent } from '~utils/fireNativeEvent';\n\nconst DatePicker = <Type extends DateSelectionType = 'single'>({\n selectionType,\n allowSingleDateInRange,\n value,\n defaultValue,\n onChange,\n onApply,\n presets,\n isOpen,\n defaultIsOpen,\n onOpenChange,\n label,\n labelPosition = 'top',\n accessibilityLabel,\n errorText,\n helpText,\n isDisabled,\n isRequired,\n successText,\n validationState,\n size,\n autoFocus,\n necessityIndicator,\n name,\n defaultPicker = 'day',\n picker,\n onPickerChange,\n zIndex = componentZIndices.popover,\n ...props\n}: DatePickerProps<Type> & StyledPropsBlade & DataAnalyticsAttribute): React.ReactElement => {\n const { i18nState } = useI18nContext();\n const _selectionType = selectionType ?? 'single';\n const { theme } = useTheme();\n const isSingle = _selectionType === 'single';\n const [_, forceRerender] = React.useReducer((x: number) => x + 1, 0);\n const [selectedPreset, setSelectedPreset] = React.useState<DatesRangeValue | null>(null);\n const referenceRef = React.useRef<HTMLButtonElement>(null);\n\n const [_picker, setPicker] = useControllableState<PickerType>({\n defaultValue: defaultPicker,\n value: picker,\n onChange: (picker) => {\n onPickerChange?.(picker);\n },\n });\n\n const {\n onDateChange,\n onRootMouseLeave,\n onHoveredDateChange,\n getControlProps,\n setPickedDate,\n controlledValue,\n setControlledValue,\n } = useDatesState({\n level: _picker,\n type: isSingle ? 'default' : 'range',\n allowDeselect: false,\n allowSingleDateInRange,\n value,\n defaultValue,\n onChange: (date) => {\n onChange?.(date as never);\n fireNativeEvent(referenceRef, ['input']);\n if (isSingle) return;\n // sync selected preset with value\n setSelectedPreset(date as DatesRangeValue);\n },\n });\n\n const [controllableIsOpen, controllableSetIsOpen] = useControllableState({\n value: isOpen,\n defaultValue: defaultIsOpen,\n onChange: (isOpen) => onOpenChange?.({ isOpen }),\n });\n\n const currentDate = shiftTimezone('add', new Date());\n const [oldValue, setOldValue] = React.useState<DatesRangeValue | null>(controlledValue);\n const hasBothDatesSelected = controlledValue?.[0] && controlledValue?.[1];\n let applyButtonDisabled = !hasBothDatesSelected;\n if (isSingle) {\n applyButtonDisabled = !Boolean(controlledValue);\n }\n\n const close = React.useCallback(() => {\n controllableSetIsOpen(() => false);\n }, [controllableSetIsOpen]);\n\n const handleApply = (): void => {\n if (isSingle) {\n onChange?.(controlledValue);\n fireNativeEvent(referenceRef, ['change']);\n setOldValue(controlledValue);\n onApply?.(controlledValue);\n close();\n return;\n }\n // only apply if both dates are selected\n if (hasBothDatesSelected) {\n onChange?.(controlledValue);\n fireNativeEvent(referenceRef, ['change']);\n setOldValue(controlledValue);\n onApply?.(controlledValue);\n close();\n }\n };\n\n const handleCancel = (): void => {\n setControlledValue(oldValue);\n fireNativeEvent(referenceRef, ['change']);\n setPickedDate(null);\n close();\n };\n\n const isMobile = useIsMobile();\n const defaultInitialFocusRef = React.useRef<HTMLButtonElement>(null);\n const titleId = useId('datepicker-title');\n const {\n context,\n refs,\n isMounted,\n floatingStyles,\n animationStyles,\n getReferenceProps,\n getFloatingProps,\n } = usePopup({\n enabled: !isMobile,\n placement: 'bottom-start',\n open: controllableIsOpen,\n onOpenChange: (isOpen, _, reason) => {\n controllableSetIsOpen(() => isOpen);\n if (reason === 'escape-key' || reason === 'outside-press') {\n handleCancel();\n }\n },\n referenceRef,\n });\n\n const shouldRenderPresets = !isSingle && !isMobile;\n\n const content = (\n <>\n {shouldRenderPresets ? (\n <PresetSideBar\n presets={presets}\n date={currentDate}\n selectedPreset={selectedPreset}\n onSelection={(preset) => {\n const presetValue = preset?.(currentDate);\n setControlledValue(presetValue);\n setSelectedPreset(presetValue);\n }}\n />\n ) : null}\n <BaseBox\n width=\"100%\"\n display=\"flex\"\n flexDirection=\"column\"\n gap=\"spacing.5\"\n padding={{ m: 'spacing.6', s: 'spacing.0' }}\n backgroundColor=\"surface.background.gray.intense\"\n >\n <Calendar\n {...props}\n selectionType={_selectionType}\n defaultValue={defaultValue}\n onMouseLeave={onRootMouseLeave}\n __onDayMouseEnter={(_event, date) => {\n onHoveredDateChange(date);\n }}\n __onDayClick={(_event, date) => {\n onDateChange(date);\n }}\n getMonthControlProps={(date) => {\n return getControlProps(date);\n }}\n getYearControlProps={(date) => {\n return getControlProps(date);\n }}\n getDayProps={(date) => {\n return getControlProps(date);\n }}\n onMonthSelect={(date) => {\n props?.onMonthSelect?.(date);\n onDateChange(date);\n }}\n onYearSelect={(date) => {\n props?.onYearSelect?.(date);\n onDateChange(date);\n }}\n onNext={(data) => {\n props?.onNext?.(data);\n forceRerender();\n }}\n onPrevious={(data) => {\n props?.onPrevious?.(data);\n forceRerender();\n }}\n picker={_picker}\n onPickerChange={(picker) => {\n setPicker(() => picker);\n forceRerender();\n }}\n />\n {isMobile ? null : (\n <CalendarFooter\n isButtonDisabled={applyButtonDisabled}\n onApply={handleApply}\n onCancel={handleCancel}\n />\n )}\n </BaseBox>\n </>\n );\n\n const dateProviderValue = React.useMemo(() => {\n const locale = convertIntlToDayjsLocale(i18nState?.locale ?? 'en-IN');\n return {\n locale,\n };\n }, [i18nState?.locale]);\n\n // Dynamically load dayjs locales\n React.useLayoutEffect(() => {\n try {\n const locale = convertIntlToDayjsLocale(i18nState?.locale ?? 'en-IN');\n // dayjs needs to be loaded into window so that once the locale is loaded it can be parsed\n if (!(window as any).dayjs) {\n (window as any).dayjs = dayjs;\n }\n loadScript(`https://cdn.jsdelivr.net/npm/dayjs@1/locale/${locale}.js`, () => {\n forceRerender();\n });\n } catch (e: unknown) {\n logger({ type: 'warn', message: 'Failed to load dayjs locale' });\n }\n }, [i18nState?.locale]);\n\n return (\n <MantineProvider>\n <DatesProvider settings={dateProviderValue}>\n <BaseBox\n width=\"100%\"\n {...getStyledProps(props)}\n {...metaAttribute({ name: MetaConstants.DatePicker })}\n >\n <DatePickerInput\n selectionType={_selectionType}\n date={controlledValue}\n ref={referenceRef}\n inputRef={refs.reference}\n referenceProps={getReferenceProps()}\n name={name as never}\n label={label as never}\n labelPosition={labelPosition}\n accessibilityLabel={accessibilityLabel}\n size={size}\n errorText={errorText as never}\n helpText={helpText as never}\n successText={successText as never}\n isDisabled={isDisabled}\n isRequired={isRequired}\n validationState={validationState}\n autoFocus={autoFocus}\n necessityIndicator={necessityIndicator}\n {...makeAnalyticsAttribute(props)}\n />\n {isMobile ? (\n <BottomSheet\n snapPoints={[0.9, 0.9, 1]}\n isOpen={controllableIsOpen}\n onDismiss={() => {\n handleCancel();\n }}\n >\n <BottomSheetHeader title={isSingle ? 'Select Date' : 'Select Date Range'} />\n <BottomSheetBody>\n {content}\n {!isSingle && (\n <PresetSideBar\n isMobile\n presets={presets}\n date={currentDate}\n selectedPreset={selectedPreset}\n onSelection={(preset) => {\n const presetValue = preset?.(currentDate);\n setControlledValue(presetValue);\n setSelectedPreset(presetValue);\n }}\n />\n )}\n </BottomSheetBody>\n <BottomSheetFooter>\n <CalendarFooter onCancel={handleCancel} onApply={handleApply} />\n </BottomSheetFooter>\n </BottomSheet>\n ) : (\n isMounted && (\n <FloatingPortal>\n <FloatingFocusManager\n initialFocus={defaultInitialFocusRef}\n context={context}\n guards={true}\n >\n <BaseBox\n ref={refs.setFloating}\n style={floatingStyles}\n zIndex={zIndex}\n {...getFloatingProps()}\n {...makeAccessible({ labelledBy: titleId })}\n >\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n borderColor=\"surface.border.gray.subtle\"\n borderWidth=\"thin\"\n borderStyle=\"solid\"\n borderRadius=\"medium\"\n overflow=\"hidden\"\n minWidth=\"320px\"\n style={{ ...animationStyles, boxShadow: `${theme.elevation.lowRaised}` }}\n >\n {content}\n </BaseBox>\n </BaseBox>\n </FloatingFocusManager>\n </FloatingPortal>\n )\n )}\n </BaseBox>\n </DatesProvider>\n </MantineProvider>\n );\n};\n\nexport { DatePicker };\n"],"names":["DatePicker","_ref","selectionType","allowSingleDateInRange","value","defaultValue","onChange","onApply","presets","isOpen","defaultIsOpen","onOpenChange","label","_ref$labelPosition","labelPosition","accessibilityLabel","errorText","helpText","isDisabled","isRequired","successText","validationState","size","autoFocus","necessityIndicator","name","_ref$defaultPicker","defaultPicker","picker","onPickerChange","_ref$zIndex","zIndex","componentZIndices","popover","props","_objectWithoutProperties","_excluded","_useI18nContext","useI18nContext","i18nState","_selectionType","_useTheme","useTheme","theme","isSingle","_React$useReducer","React","useReducer","x","_React$useReducer2","_slicedToArray","_","forceRerender","_React$useState","useState","_React$useState2","selectedPreset","setSelectedPreset","referenceRef","useRef","_useControllableState","useControllableState","_useControllableState2","_picker","setPicker","_useDatesState","useDatesState","level","type","allowDeselect","date","fireNativeEvent","onDateChange","onRootMouseLeave","onHoveredDateChange","getControlProps","setPickedDate","controlledValue","setControlledValue","_useControllableState3","_useControllableState4","controllableIsOpen","controllableSetIsOpen","currentDate","shiftTimezone","Date","_React$useState3","_React$useState4","oldValue","setOldValue","hasBothDatesSelected","applyButtonDisabled","Boolean","close","useCallback","handleApply","handleCancel","isMobile","useIsMobile","defaultInitialFocusRef","titleId","useId","_usePopup","usePopup","enabled","placement","open","reason","context","refs","isMounted","floatingStyles","animationStyles","getReferenceProps","getFloatingProps","shouldRenderPresets","content","_jsxs","_Fragment","children","_jsx","PresetSideBar","onSelection","preset","presetValue","BaseBox","width","display","flexDirection","gap","padding","m","s","backgroundColor","Calendar","_objectSpread","onMouseLeave","__onDayMouseEnter","_event","__onDayClick","getMonthControlProps","getYearControlProps","getDayProps","onMonthSelect","_props$onMonthSelect","call","onYearSelect","_props$onYearSelect","onNext","data","_props$onNext","onPrevious","_props$onPrevious","CalendarFooter","isButtonDisabled","onCancel","dateProviderValue","useMemo","_i18nState$locale","locale","convertIntlToDayjsLocale","useLayoutEffect","_i18nState$locale2","window","dayjs","loadScript","concat","e","logger","message","MantineProvider","DatesProvider","settings","getStyledProps","metaAttribute","MetaConstants","DatePickerInput","ref","inputRef","reference","referenceProps","makeAnalyticsAttribute","BottomSheet","snapPoints","onDismiss","BottomSheetHeader","title","BottomSheetBody","BottomSheetFooter","FloatingPortal","FloatingFocusManager","initialFocus","guards","setFloating","style","makeAccessible","labelledBy","borderColor","borderWidth","borderStyle","borderRadius","overflow","minWidth","boxShadow","elevation","lowRaised"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatePicker.web.js","sources":["../../../../../../src/components/DatePicker/DatePicker.web.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/no-autofocus */\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { DatesProvider } from '@mantine/dates';\nimport React from 'react';\nimport { FloatingFocusManager, FloatingPortal } from '@floating-ui/react';\nimport { useI18nContext } from '@razorpay/i18nify-react';\nimport { MantineProvider } from '@mantine/core';\nimport dayjs from 'dayjs';\nimport type { DatesRangeValue, DatePickerProps, DateSelectionType, PickerType } from './types';\nimport { Calendar } from './Calendar';\nimport { PresetSideBar } from './QuickSelection/PresetSideBar';\nimport { useDatesState } from './useDatesState';\nimport { DatePickerInput } from './DateInput';\nimport { usePopup } from './usePopup';\nimport { CalendarFooter } from './CalendarFooter';\nimport { convertIntlToDayjsLocale, loadScript } from './utils';\nimport { shiftTimezone } from './shiftTimezone';\nimport BaseBox from '~components/Box/BaseBox';\nimport { useControllableState } from '~utils/useControllable';\nimport { useTheme } from '~utils';\nimport { useId } from '~utils/useId';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport {\n BottomSheet,\n BottomSheetBody,\n BottomSheetFooter,\n BottomSheetHeader,\n} from '~components/BottomSheet';\nimport { logger } from '~utils/logger';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { componentZIndices } from '~utils/componentZIndices';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport type { DataAnalyticsAttribute } from '~utils/types';\nimport { fireNativeEvent } from '~utils/fireNativeEvent';\n\nconst DatePicker = <Type extends DateSelectionType = 'single'>({\n selectionType,\n allowSingleDateInRange,\n value,\n defaultValue,\n onChange,\n onApply,\n presets,\n isOpen,\n defaultIsOpen,\n onOpenChange,\n label,\n labelPosition = 'top',\n accessibilityLabel,\n errorText,\n helpText,\n isDisabled,\n isRequired,\n successText,\n validationState,\n size,\n autoFocus,\n necessityIndicator,\n name,\n defaultPicker = 'day',\n picker,\n onPickerChange,\n zIndex = componentZIndices.popover,\n format = 'DD/MM/YYYY',\n inputPlaceHolder,\n ...props\n}: DatePickerProps<Type> & StyledPropsBlade & DataAnalyticsAttribute): React.ReactElement => {\n const { i18nState } = useI18nContext();\n const _selectionType = selectionType ?? 'single';\n const { theme } = useTheme();\n const isSingle = _selectionType === 'single';\n const [_, forceRerender] = React.useReducer((x: number) => x + 1, 0);\n const [selectedPreset, setSelectedPreset] = React.useState<DatesRangeValue | null>(null);\n const referenceRef = React.useRef<HTMLButtonElement>(null);\n\n const [_picker, setPicker] = useControllableState<PickerType>({\n defaultValue: defaultPicker,\n value: picker,\n onChange: (picker) => {\n onPickerChange?.(picker);\n },\n });\n const finalFormat = React.useMemo(() => {\n if (format) {\n return format;\n }\n if (picker === 'month') {\n return 'MMMM';\n }\n if (picker === 'year') {\n return 'YYYY';\n }\n return 'DD/MM/YYYY';\n }, [format, picker]);\n\n const finalInputPlaceHolder = React.useMemo(() => {\n if (inputPlaceHolder) {\n return inputPlaceHolder;\n }\n if (picker === 'month') {\n return 'Month';\n }\n if (picker === 'year') {\n return 'Year';\n }\n return 'DD/MM/YYYY';\n }, [inputPlaceHolder, picker]);\n\n const {\n onDateChange,\n onRootMouseLeave,\n onHoveredDateChange,\n getControlProps,\n setPickedDate,\n controlledValue,\n setControlledValue,\n } = useDatesState({\n level: _picker,\n type: isSingle ? 'default' : 'range',\n allowDeselect: false,\n allowSingleDateInRange,\n value,\n defaultValue,\n onChange: (date) => {\n onChange?.(date as never);\n fireNativeEvent(referenceRef, ['input']);\n if (isSingle) return;\n // sync selected preset with value\n setSelectedPreset(date as DatesRangeValue);\n },\n });\n\n const [controllableIsOpen, controllableSetIsOpen] = useControllableState({\n value: isOpen,\n defaultValue: defaultIsOpen,\n onChange: (isOpen) => onOpenChange?.({ isOpen }),\n });\n\n const currentDate = shiftTimezone('add', new Date());\n const [oldValue, setOldValue] = React.useState<DatesRangeValue | null>(controlledValue);\n const hasBothDatesSelected = controlledValue?.[0] && controlledValue?.[1];\n let applyButtonDisabled = !hasBothDatesSelected;\n if (isSingle) {\n applyButtonDisabled = !Boolean(controlledValue);\n }\n\n const close = React.useCallback(() => {\n controllableSetIsOpen(() => false);\n }, [controllableSetIsOpen]);\n\n const handleApply = (): void => {\n if (isSingle) {\n onChange?.(controlledValue);\n fireNativeEvent(referenceRef, ['change']);\n setOldValue(controlledValue);\n onApply?.(controlledValue);\n close();\n return;\n }\n // only apply if both dates are selected\n if (hasBothDatesSelected) {\n onChange?.(controlledValue);\n fireNativeEvent(referenceRef, ['change']);\n setOldValue(controlledValue);\n onApply?.(controlledValue);\n close();\n }\n };\n\n const handleCancel = (): void => {\n setControlledValue(oldValue);\n fireNativeEvent(referenceRef, ['change']);\n setPickedDate(null);\n close();\n };\n\n const isMobile = useIsMobile();\n const defaultInitialFocusRef = React.useRef<HTMLButtonElement>(null);\n const titleId = useId('datepicker-title');\n const {\n context,\n refs,\n isMounted,\n floatingStyles,\n animationStyles,\n getReferenceProps,\n getFloatingProps,\n } = usePopup({\n enabled: !isMobile,\n placement: 'bottom-start',\n open: controllableIsOpen,\n onOpenChange: (isOpen, _, reason) => {\n controllableSetIsOpen(() => isOpen);\n if (reason === 'escape-key' || reason === 'outside-press') {\n handleCancel();\n }\n },\n referenceRef,\n });\n\n const shouldRenderPresets = !isSingle && !isMobile;\n\n const content = (\n <>\n {shouldRenderPresets ? (\n <PresetSideBar\n presets={presets}\n date={currentDate}\n selectedPreset={selectedPreset}\n onSelection={(preset) => {\n const presetValue = preset?.(currentDate);\n setControlledValue(presetValue);\n setSelectedPreset(presetValue);\n }}\n />\n ) : null}\n <BaseBox\n width=\"100%\"\n display=\"flex\"\n flexDirection=\"column\"\n gap=\"spacing.5\"\n padding={{ m: 'spacing.6', s: 'spacing.0' }}\n backgroundColor=\"surface.background.gray.intense\"\n >\n <Calendar\n {...props}\n selectionType={_selectionType}\n defaultValue={defaultValue}\n onMouseLeave={onRootMouseLeave}\n __onDayMouseEnter={(_event, date) => {\n onHoveredDateChange(date);\n }}\n __onDayClick={(_event, date) => {\n onDateChange(date);\n }}\n getMonthControlProps={(date) => {\n return getControlProps(date);\n }}\n getYearControlProps={(date) => {\n return getControlProps(date);\n }}\n getDayProps={(date) => {\n return getControlProps(date);\n }}\n onMonthSelect={(date) => {\n props?.onMonthSelect?.(date);\n onDateChange(date);\n }}\n onYearSelect={(date) => {\n props?.onYearSelect?.(date);\n onDateChange(date);\n }}\n onNext={(data) => {\n props?.onNext?.(data);\n forceRerender();\n }}\n onPrevious={(data) => {\n props?.onPrevious?.(data);\n forceRerender();\n }}\n picker={_picker}\n showLevelChangeLink={!picker}\n onPickerChange={(picker) => {\n setPicker(() => picker);\n forceRerender();\n }}\n />\n {isMobile ? null : (\n <CalendarFooter\n isButtonDisabled={applyButtonDisabled}\n onApply={handleApply}\n onCancel={handleCancel}\n />\n )}\n </BaseBox>\n </>\n );\n\n const dateProviderValue = React.useMemo(() => {\n const locale = convertIntlToDayjsLocale(i18nState?.locale ?? 'en-IN');\n return {\n locale,\n };\n }, [i18nState?.locale]);\n\n // Dynamically load dayjs locales\n React.useLayoutEffect(() => {\n try {\n const locale = convertIntlToDayjsLocale(i18nState?.locale ?? 'en-IN');\n // dayjs needs to be loaded into window so that once the locale is loaded it can be parsed\n if (!(window as any).dayjs) {\n (window as any).dayjs = dayjs;\n }\n loadScript(`https://cdn.jsdelivr.net/npm/dayjs@1/locale/${locale}.js`, () => {\n forceRerender();\n });\n } catch (e: unknown) {\n logger({ type: 'warn', message: 'Failed to load dayjs locale' });\n }\n }, [i18nState?.locale]);\n\n return (\n <MantineProvider>\n <DatesProvider settings={dateProviderValue}>\n <BaseBox\n width=\"100%\"\n {...getStyledProps(props)}\n {...metaAttribute({ name: MetaConstants.DatePicker })}\n >\n <DatePickerInput\n selectionType={_selectionType}\n date={controlledValue}\n ref={referenceRef}\n inputRef={refs.reference}\n referenceProps={getReferenceProps()}\n name={name as never}\n label={label as never}\n labelPosition={labelPosition}\n accessibilityLabel={accessibilityLabel}\n size={size}\n errorText={errorText as never}\n helpText={helpText as never}\n successText={successText as never}\n isDisabled={isDisabled}\n isRequired={isRequired}\n validationState={validationState}\n autoFocus={autoFocus}\n necessityIndicator={necessityIndicator}\n format={finalFormat}\n placeholder={finalInputPlaceHolder}\n {...makeAnalyticsAttribute(props)}\n />\n {isMobile ? (\n <BottomSheet\n snapPoints={[0.9, 0.9, 1]}\n isOpen={controllableIsOpen}\n onDismiss={() => {\n handleCancel();\n }}\n >\n <BottomSheetHeader title={isSingle ? 'Select Date' : 'Select Date Range'} />\n <BottomSheetBody>\n {content}\n {!isSingle && (\n <PresetSideBar\n isMobile\n presets={presets}\n date={currentDate}\n selectedPreset={selectedPreset}\n onSelection={(preset) => {\n const presetValue = preset?.(currentDate);\n setControlledValue(presetValue);\n setSelectedPreset(presetValue);\n }}\n />\n )}\n </BottomSheetBody>\n <BottomSheetFooter>\n <CalendarFooter onCancel={handleCancel} onApply={handleApply} />\n </BottomSheetFooter>\n </BottomSheet>\n ) : (\n isMounted && (\n <FloatingPortal>\n <FloatingFocusManager\n initialFocus={defaultInitialFocusRef}\n context={context}\n guards={true}\n >\n <BaseBox\n ref={refs.setFloating}\n style={floatingStyles}\n zIndex={zIndex}\n {...getFloatingProps()}\n {...makeAccessible({ labelledBy: titleId })}\n >\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n borderColor=\"surface.border.gray.subtle\"\n borderWidth=\"thin\"\n borderStyle=\"solid\"\n borderRadius=\"medium\"\n overflow=\"hidden\"\n minWidth=\"320px\"\n style={{ ...animationStyles, boxShadow: `${theme.elevation.lowRaised}` }}\n >\n {content}\n </BaseBox>\n </BaseBox>\n </FloatingFocusManager>\n </FloatingPortal>\n )\n )}\n </BaseBox>\n </DatesProvider>\n </MantineProvider>\n );\n};\n\nexport { DatePicker };\n"],"names":["DatePicker","_ref","selectionType","allowSingleDateInRange","value","defaultValue","onChange","onApply","presets","isOpen","defaultIsOpen","onOpenChange","label","_ref$labelPosition","labelPosition","accessibilityLabel","errorText","helpText","isDisabled","isRequired","successText","validationState","size","autoFocus","necessityIndicator","name","_ref$defaultPicker","defaultPicker","picker","onPickerChange","_ref$zIndex","zIndex","componentZIndices","popover","_ref$format","format","inputPlaceHolder","props","_objectWithoutProperties","_excluded","_useI18nContext","useI18nContext","i18nState","_selectionType","_useTheme","useTheme","theme","isSingle","_React$useReducer","React","useReducer","x","_React$useReducer2","_slicedToArray","_","forceRerender","_React$useState","useState","_React$useState2","selectedPreset","setSelectedPreset","referenceRef","useRef","_useControllableState","useControllableState","_useControllableState2","_picker","setPicker","finalFormat","useMemo","finalInputPlaceHolder","_useDatesState","useDatesState","level","type","allowDeselect","date","fireNativeEvent","onDateChange","onRootMouseLeave","onHoveredDateChange","getControlProps","setPickedDate","controlledValue","setControlledValue","_useControllableState3","_useControllableState4","controllableIsOpen","controllableSetIsOpen","currentDate","shiftTimezone","Date","_React$useState3","_React$useState4","oldValue","setOldValue","hasBothDatesSelected","applyButtonDisabled","Boolean","close","useCallback","handleApply","handleCancel","isMobile","useIsMobile","defaultInitialFocusRef","titleId","useId","_usePopup","usePopup","enabled","placement","open","reason","context","refs","isMounted","floatingStyles","animationStyles","getReferenceProps","getFloatingProps","shouldRenderPresets","content","_jsxs","_Fragment","children","_jsx","PresetSideBar","onSelection","preset","presetValue","BaseBox","width","display","flexDirection","gap","padding","m","s","backgroundColor","Calendar","_objectSpread","onMouseLeave","__onDayMouseEnter","_event","__onDayClick","getMonthControlProps","getYearControlProps","getDayProps","onMonthSelect","_props$onMonthSelect","call","onYearSelect","_props$onYearSelect","onNext","data","_props$onNext","onPrevious","_props$onPrevious","showLevelChangeLink","CalendarFooter","isButtonDisabled","onCancel","dateProviderValue","_i18nState$locale","locale","convertIntlToDayjsLocale","useLayoutEffect","_i18nState$locale2","window","dayjs","loadScript","concat","e","logger","message","MantineProvider","DatesProvider","settings","getStyledProps","metaAttribute","MetaConstants","DatePickerInput","ref","inputRef","reference","referenceProps","placeholder","makeAnalyticsAttribute","BottomSheet","snapPoints","onDismiss","BottomSheetHeader","title","BottomSheetBody","BottomSheetFooter","FloatingPortal","FloatingFocusManager","initialFocus","guards","setFloating","style","makeAccessible","labelledBy","borderColor","borderWidth","borderStyle","borderRadius","overflow","minWidth","boxShadow","elevation","lowRaised"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProper
|
|
|
3
3
|
import React__default from 'react';
|
|
4
4
|
import { getActionListContainerRole, getActionListItemWrapperRole } from './getA11yRoles.js';
|
|
5
5
|
import { getActionListProperties } from './actionListUtils.js';
|
|
6
|
-
import { ActionListBox } from './ActionListBox.web.js';
|
|
6
|
+
import { ActionListVirtualizedBox, ActionListBox } from './ActionListBox.web.js';
|
|
7
7
|
import { componentIds } from './componentIds.js';
|
|
8
8
|
import { ActionListNoResults } from './ActionListNoResults.js';
|
|
9
9
|
import { useDropdown } from '../Dropdown/useDropdown.js';
|
|
@@ -22,12 +22,13 @@ import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.web.js';
|
|
|
22
22
|
import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
|
|
23
23
|
import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
|
|
24
24
|
|
|
25
|
-
var _excluded = ["children", "testID"];
|
|
25
|
+
var _excluded = ["children", "testID", "isVirtualized"];
|
|
26
26
|
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; }
|
|
27
27
|
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; }
|
|
28
28
|
var _ActionList = function _ActionList(_ref) {
|
|
29
29
|
var children = _ref.children,
|
|
30
30
|
testID = _ref.testID,
|
|
31
|
+
isVirtualized = _ref.isVirtualized,
|
|
31
32
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
32
33
|
var _useDropdown = useDropdown(),
|
|
33
34
|
setOptions = _useDropdown.setOptions,
|
|
@@ -37,6 +38,7 @@ var _ActionList = function _ActionList(_ref) {
|
|
|
37
38
|
dropdownTriggerer = _useDropdown.dropdownTriggerer,
|
|
38
39
|
hasFooterAction = _useDropdown.hasFooterAction,
|
|
39
40
|
filteredValues = _useDropdown.filteredValues;
|
|
41
|
+
var ActionListBox$1 = isVirtualized ? ActionListVirtualizedBox : ActionListBox;
|
|
40
42
|
var _useBottomSheetContex = useBottomSheetContext(),
|
|
41
43
|
isInBottomSheet = _useBottomSheetContex.isInBottomSheet;
|
|
42
44
|
var _React$useMemo = React__default.useMemo(function () {
|
|
@@ -45,9 +47,6 @@ var _ActionList = function _ActionList(_ref) {
|
|
|
45
47
|
sectionData = _React$useMemo.sectionData,
|
|
46
48
|
childrenWithId = _React$useMemo.childrenWithId,
|
|
47
49
|
actionListOptions = _React$useMemo.actionListOptions;
|
|
48
|
-
console.log({
|
|
49
|
-
actionListOptions: actionListOptions
|
|
50
|
-
});
|
|
51
50
|
React__default.useEffect(function () {
|
|
52
51
|
setOptions(actionListOptions);
|
|
53
52
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -64,7 +63,7 @@ var _ActionList = function _ActionList(_ref) {
|
|
|
64
63
|
// 1. We don't render the box wrapper styles which includes shadows, padding, border etc
|
|
65
64
|
// 2. to ensure GorhomBottomSheetSectionList works as expected, if we add extra wrappers GorhomBottomSheet won't render the content inside
|
|
66
65
|
// NOTE: That this also means inside BottomSheet, ActionList won't render any ActionListHeader or Footer.
|
|
67
|
-
return isInBottomSheet ? /*#__PURE__*/jsx(ActionListBox, _objectSpread({
|
|
66
|
+
return isInBottomSheet ? /*#__PURE__*/jsx(ActionListBox$1, _objectSpread({
|
|
68
67
|
isInBottomSheet: isInBottomSheet,
|
|
69
68
|
actionListItemWrapperRole: actionListItemWrapperRole,
|
|
70
69
|
childrenWithId: childrenWithId,
|
|
@@ -81,7 +80,7 @@ var _ActionList = function _ActionList(_ref) {
|
|
|
81
80
|
name: MetaConstants.ActionList,
|
|
82
81
|
testID: testID
|
|
83
82
|
})), makeAnalyticsAttribute(rest)), {}, {
|
|
84
|
-
children: /*#__PURE__*/jsx(ActionListBox, {
|
|
83
|
+
children: /*#__PURE__*/jsx(ActionListBox$1, {
|
|
85
84
|
isInBottomSheet: isInBottomSheet,
|
|
86
85
|
actionListItemWrapperRole: actionListItemWrapperRole,
|
|
87
86
|
childrenWithId: childrenWithId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionList.js","sources":["../../../../../../src/components/ActionList/ActionList.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport { getActionListContainerRole, getActionListItemWrapperRole } from './getA11yRoles';\nimport { getActionListProperties } from './actionListUtils';\nimport { ActionListBox } from './ActionListBox';\nimport { componentIds } from './componentIds';\nimport { ActionListNoResults } from './ActionListNoResults';\nimport { useDropdown } from '~components/Dropdown/useDropdown';\nimport { useBottomSheetContext } from '~components/BottomSheet/BottomSheetContext';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport type { DataAnalyticsAttribute, TestID } from '~utils/types';\nimport BaseBox from '~components/Box/BaseBox';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { dropdownComponentIds } from '~components/Dropdown/dropdownComponentIds';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype ActionListProps = {\n children: React.ReactNode[];\n} & TestID &\n DataAnalyticsAttribute;\n\nconst _ActionList = ({
|
|
1
|
+
{"version":3,"file":"ActionList.js","sources":["../../../../../../src/components/ActionList/ActionList.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport { getActionListContainerRole, getActionListItemWrapperRole } from './getA11yRoles';\nimport { getActionListProperties } from './actionListUtils';\nimport { ActionListBox as ActionListNormalBox, ActionListVirtualizedBox } from './ActionListBox';\nimport { componentIds } from './componentIds';\nimport { ActionListNoResults } from './ActionListNoResults';\nimport { useDropdown } from '~components/Dropdown/useDropdown';\nimport { useBottomSheetContext } from '~components/BottomSheet/BottomSheetContext';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport type { DataAnalyticsAttribute, TestID } from '~utils/types';\nimport BaseBox from '~components/Box/BaseBox';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { dropdownComponentIds } from '~components/Dropdown/dropdownComponentIds';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype ActionListProps = {\n children: React.ReactNode[];\n isVirtualized?: boolean;\n} & TestID &\n DataAnalyticsAttribute;\n\nconst _ActionList = ({\n children,\n testID,\n isVirtualized,\n ...rest\n}: ActionListProps): React.ReactElement => {\n const {\n setOptions,\n actionListItemRef,\n selectionType,\n dropdownBaseId,\n dropdownTriggerer,\n hasFooterAction,\n filteredValues,\n } = useDropdown();\n\n const ActionListBox = isVirtualized ? ActionListVirtualizedBox : ActionListNormalBox;\n\n const { isInBottomSheet } = useBottomSheetContext();\n\n const { sectionData, childrenWithId, actionListOptions } = React.useMemo(\n () => getActionListProperties(children),\n [children],\n );\n\n React.useEffect(() => {\n setOptions(actionListOptions);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [actionListOptions]);\n\n if (\n filteredValues.length <= 0 &&\n dropdownTriggerer === dropdownComponentIds.triggers.AutoComplete\n ) {\n return <ActionListNoResults />;\n }\n\n const actionListContainerRole = getActionListContainerRole(hasFooterAction, dropdownTriggerer);\n const actionListItemWrapperRole = getActionListItemWrapperRole(\n hasFooterAction,\n dropdownTriggerer,\n );\n const isMultiSelectable = selectionType === 'multiple';\n\n // If we are inside BottomSheet, we don't render The StyledActionList wrapper\n // This is to ensure:\n // 1. We don't render the box wrapper styles which includes shadows, padding, border etc\n // 2. to ensure GorhomBottomSheetSectionList works as expected, if we add extra wrappers GorhomBottomSheet won't render the content inside\n // NOTE: That this also means inside BottomSheet, ActionList won't render any ActionListHeader or Footer.\n return isInBottomSheet ? (\n <ActionListBox\n isInBottomSheet={isInBottomSheet}\n actionListItemWrapperRole={actionListItemWrapperRole}\n childrenWithId={childrenWithId}\n sectionData={sectionData}\n isMultiSelectable={isMultiSelectable}\n ref={actionListItemRef as any}\n {...makeAnalyticsAttribute(rest)}\n />\n ) : (\n <BaseBox\n id={`${dropdownBaseId}-actionlist`}\n {...makeAccessible({\n role: actionListContainerRole,\n multiSelectable: actionListContainerRole === 'listbox' ? isMultiSelectable : undefined,\n labelledBy: `${dropdownBaseId}-label`,\n })}\n {...metaAttribute({ name: MetaConstants.ActionList, testID })}\n {...makeAnalyticsAttribute(rest)}\n >\n <ActionListBox\n isInBottomSheet={isInBottomSheet}\n actionListItemWrapperRole={actionListItemWrapperRole}\n childrenWithId={childrenWithId}\n sectionData={sectionData}\n isMultiSelectable={isMultiSelectable}\n ref={actionListItemRef as any}\n />\n </BaseBox>\n );\n};\n\n/**\n * ### ActionList\n *\n * List of multiple actionable items. Can be used as menu items inside `Dropdown`,\n * `BottomSheet` and as selectable items when combined with `SelectInput`\n *\n * #### Usage\n *\n * ```jsx\n * <Dropdown>\n * <SelectInput label=\"Select Action\" />\n * <DropdownOverlay>\n * <DropdownHeader title=\"Header Title\" />\n * <ActionList>\n * <ActionListItem\n * title=\"Home\"\n * value=\"home\"\n * leading={<ActionListItemIcon icon={HomeIcon} />}\n * />\n * <ActionListItem\n * title=\"Pricing\"\n * value=\"pricing\"\n * leading={<ActionListItemAsset src=\"https://flagcdn.com/w20/in.png\" alt=\"India Flag\" />}\n * />\n * </ActionList>\n * <DropdownFooter><Button>Apply</Button></DropdownFooter>\n * </DropdownOverlay>\n * </Dropdown>\n * ```\n *\n */\nconst ActionList = assignWithoutSideEffects(React.memo(_ActionList), {\n displayName: componentIds.ActionList,\n componentId: componentIds.ActionList,\n});\n\nexport type { ActionListProps };\nexport { ActionList };\n"],"names":["_ActionList","_ref","children","testID","isVirtualized","rest","_objectWithoutProperties","_excluded","_useDropdown","useDropdown","setOptions","actionListItemRef","selectionType","dropdownBaseId","dropdownTriggerer","hasFooterAction","filteredValues","ActionListBox","ActionListVirtualizedBox","ActionListNormalBox","_useBottomSheetContex","useBottomSheetContext","isInBottomSheet","_React$useMemo","React","useMemo","getActionListProperties","sectionData","childrenWithId","actionListOptions","useEffect","length","dropdownComponentIds","triggers","AutoComplete","_jsx","ActionListNoResults","actionListContainerRole","getActionListContainerRole","actionListItemWrapperRole","getActionListItemWrapperRole","isMultiSelectable","_objectSpread","ref","makeAnalyticsAttribute","BaseBox","id","concat","makeAccessible","role","multiSelectable","undefined","labelledBy","metaAttribute","name","MetaConstants","ActionList","assignWithoutSideEffects","memo","displayName","componentIds","componentId"],"mappings":"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"}
|
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
2
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
3
3
|
import React__default from 'react';
|
|
4
|
+
import { FixedSizeList } from 'react-window';
|
|
4
5
|
import { StyledListBoxWrapper } from './styles/StyledListBoxWrapper.web.js';
|
|
6
|
+
import { getActionListPadding, actionListMaxHeight } from './styles/getBaseListBoxWrapperStyles.js';
|
|
5
7
|
import { useBottomSheetContext } from '../BottomSheet/BottomSheetContext.js';
|
|
6
8
|
import '../../utils/assignWithoutSideEffects/index.js';
|
|
7
9
|
import '../../utils/makeAccessible/index.js';
|
|
8
10
|
import '../../utils/makeAnalyticsAttribute/index.js';
|
|
11
|
+
import { useIsMobile } from '../../utils/useIsMobile.js';
|
|
12
|
+
import { getItemHeight } from '../BaseMenu/BaseMenuItem/tokens.js';
|
|
13
|
+
import '../../utils/index.js';
|
|
14
|
+
import { useDropdown } from '../Dropdown/useDropdown.js';
|
|
15
|
+
import { dropdownComponentIds } from '../Dropdown/dropdownComponentIds.js';
|
|
9
16
|
import { jsx } from 'react/jsx-runtime';
|
|
10
17
|
import { makeAccessible } from '../../utils/makeAccessible/makeAccessible.web.js';
|
|
11
18
|
import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
|
|
12
19
|
import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
|
|
20
|
+
import useTheme from '../BladeProvider/useTheme.js';
|
|
13
21
|
|
|
14
|
-
var _excluded = ["childrenWithId", "actionListItemWrapperRole", "isMultiSelectable"]
|
|
22
|
+
var _excluded = ["childrenWithId", "actionListItemWrapperRole", "isMultiSelectable"],
|
|
23
|
+
_excluded2 = ["childrenWithId", "actionListItemWrapperRole", "isMultiSelectable"];
|
|
15
24
|
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; }
|
|
16
25
|
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; }
|
|
17
26
|
var _ActionListBox = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
|
|
@@ -31,9 +40,111 @@ var _ActionListBox = /*#__PURE__*/React__default.forwardRef(function (_ref, ref)
|
|
|
31
40
|
children: childrenWithId
|
|
32
41
|
}));
|
|
33
42
|
});
|
|
34
|
-
var ActionListBox = /*#__PURE__*/assignWithoutSideEffects(_ActionListBox, {
|
|
43
|
+
var ActionListBox = /*#__PURE__*/assignWithoutSideEffects( /*#__PURE__*/React__default.memo(_ActionListBox), {
|
|
35
44
|
displayName: 'ActionListBox'
|
|
36
45
|
});
|
|
37
46
|
|
|
38
|
-
|
|
47
|
+
/**
|
|
48
|
+
* Returns the height of item and height of container based on theme and device
|
|
49
|
+
*/
|
|
50
|
+
var getVirtualItemParams = function getVirtualItemParams(_ref2) {
|
|
51
|
+
var theme = _ref2.theme,
|
|
52
|
+
isMobile = _ref2.isMobile;
|
|
53
|
+
var itemHeightResponsive = getItemHeight(theme);
|
|
54
|
+
var actionListPadding = getActionListPadding(theme);
|
|
55
|
+
var actionListBoxHeight = actionListMaxHeight - actionListPadding * 2;
|
|
56
|
+
return {
|
|
57
|
+
itemHeight: isMobile ? itemHeightResponsive.itemHeightMobile : itemHeightResponsive.itemHeightDesktop,
|
|
58
|
+
actionListBoxHeight: actionListBoxHeight
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Takes the children (ActionListItem) and returns the filtered items based on `filteredValues` state
|
|
64
|
+
*/
|
|
65
|
+
var useFilteredItems = function useFilteredItems(children) {
|
|
66
|
+
var childrenArray = React__default.Children.toArray(children); // Convert children to an array
|
|
67
|
+
|
|
68
|
+
var _useDropdown = useDropdown(),
|
|
69
|
+
filteredValues = _useDropdown.filteredValues,
|
|
70
|
+
hasAutoCompleteInBottomSheetHeader = _useDropdown.hasAutoCompleteInBottomSheetHeader,
|
|
71
|
+
dropdownTriggerer = _useDropdown.dropdownTriggerer;
|
|
72
|
+
var items = React__default.useMemo(function () {
|
|
73
|
+
var hasAutoComplete = hasAutoCompleteInBottomSheetHeader || dropdownTriggerer === dropdownComponentIds.triggers.AutoComplete;
|
|
74
|
+
if (!hasAutoComplete) {
|
|
75
|
+
return childrenArray;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// @ts-expect-error: props does exist
|
|
79
|
+
var filteredItems = childrenArray.filter(function (item) {
|
|
80
|
+
return filteredValues.includes(item.props.value);
|
|
81
|
+
});
|
|
82
|
+
return filteredItems;
|
|
83
|
+
}, [filteredValues, hasAutoCompleteInBottomSheetHeader, dropdownTriggerer, childrenArray]);
|
|
84
|
+
return {
|
|
85
|
+
itemData: items,
|
|
86
|
+
itemCount: items.length
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
var VirtualListItem = function VirtualListItem(_ref3) {
|
|
90
|
+
var index = _ref3.index,
|
|
91
|
+
style = _ref3.style,
|
|
92
|
+
data = _ref3.data;
|
|
93
|
+
return /*#__PURE__*/jsx("div", {
|
|
94
|
+
style: style,
|
|
95
|
+
children: data[index]
|
|
96
|
+
});
|
|
97
|
+
};
|
|
98
|
+
var _ActionListVirtualizedBox = /*#__PURE__*/React__default.forwardRef(function (_ref4, ref) {
|
|
99
|
+
var childrenWithId = _ref4.childrenWithId,
|
|
100
|
+
actionListItemWrapperRole = _ref4.actionListItemWrapperRole,
|
|
101
|
+
isMultiSelectable = _ref4.isMultiSelectable,
|
|
102
|
+
rest = _objectWithoutProperties(_ref4, _excluded2);
|
|
103
|
+
var items = React__default.Children.toArray(childrenWithId); // Convert children to an array
|
|
104
|
+
var _useBottomSheetContex2 = useBottomSheetContext(),
|
|
105
|
+
isInBottomSheet = _useBottomSheetContex2.isInBottomSheet;
|
|
106
|
+
var _useFilteredItems = useFilteredItems(items),
|
|
107
|
+
itemData = _useFilteredItems.itemData,
|
|
108
|
+
itemCount = _useFilteredItems.itemCount;
|
|
109
|
+
var isMobile = useIsMobile();
|
|
110
|
+
var _useTheme = useTheme(),
|
|
111
|
+
theme = _useTheme.theme;
|
|
112
|
+
var _React$useMemo = React__default.useMemo(function () {
|
|
113
|
+
return getVirtualItemParams({
|
|
114
|
+
theme: theme,
|
|
115
|
+
isMobile: isMobile
|
|
116
|
+
});
|
|
117
|
+
},
|
|
118
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
119
|
+
[theme.name, isMobile]),
|
|
120
|
+
itemHeight = _React$useMemo.itemHeight,
|
|
121
|
+
actionListBoxHeight = _React$useMemo.actionListBoxHeight;
|
|
122
|
+
return /*#__PURE__*/jsx(StyledListBoxWrapper, _objectSpread(_objectSpread(_objectSpread({
|
|
123
|
+
isInBottomSheet: isInBottomSheet,
|
|
124
|
+
ref: ref
|
|
125
|
+
}, makeAccessible({
|
|
126
|
+
role: actionListItemWrapperRole,
|
|
127
|
+
multiSelectable: actionListItemWrapperRole === 'listbox' ? isMultiSelectable : undefined
|
|
128
|
+
})), makeAnalyticsAttribute(rest)), {}, {
|
|
129
|
+
children: itemCount < 10 ? childrenWithId : /*#__PURE__*/jsx(FixedSizeList, {
|
|
130
|
+
height: actionListBoxHeight,
|
|
131
|
+
width: "100%",
|
|
132
|
+
itemSize: itemHeight,
|
|
133
|
+
itemCount: itemCount,
|
|
134
|
+
itemData: itemData
|
|
135
|
+
// @ts-expect-error: props does exist
|
|
136
|
+
,
|
|
137
|
+
itemKey: function itemKey(index) {
|
|
138
|
+
var _itemData$index;
|
|
139
|
+
return (_itemData$index = itemData[index]) === null || _itemData$index === void 0 ? void 0 : _itemData$index.props.value;
|
|
140
|
+
},
|
|
141
|
+
children: VirtualListItem
|
|
142
|
+
})
|
|
143
|
+
}));
|
|
144
|
+
});
|
|
145
|
+
var ActionListVirtualizedBox = /*#__PURE__*/assignWithoutSideEffects( /*#__PURE__*/React__default.memo(_ActionListVirtualizedBox), {
|
|
146
|
+
displayName: 'ActionListVirtualizedBox'
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
export { ActionListBox, ActionListVirtualizedBox };
|
|
39
150
|
//# sourceMappingURL=ActionListBox.web.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionListBox.web.js","sources":["../../../../../../src/components/ActionList/ActionListBox.web.tsx"],"sourcesContent":["/* eslint-disable react/display-name */\nimport React from 'react';\nimport { StyledListBoxWrapper } from './styles/StyledListBoxWrapper';\nimport type { SectionData } from './actionListUtils';\nimport { useBottomSheetContext } from '~components/BottomSheet/BottomSheetContext';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport type { DataAnalyticsAttribute } from '~utils/types';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype ActionListBoxProps = {\n childrenWithId?: React.ReactNode[] | null;\n sectionData: SectionData;\n actionListItemWrapperRole: 'listbox' | 'menu' | undefined;\n isMultiSelectable: boolean;\n isInBottomSheet: boolean;\n} & DataAnalyticsAttribute;\n\nconst _ActionListBox = React.forwardRef<HTMLDivElement, ActionListBoxProps>(\n ({ childrenWithId, actionListItemWrapperRole, isMultiSelectable, ...rest }, ref) => {\n const { isInBottomSheet } = useBottomSheetContext();\n\n return (\n <StyledListBoxWrapper\n isInBottomSheet={isInBottomSheet}\n ref={ref}\n {...makeAccessible({\n role: actionListItemWrapperRole,\n multiSelectable: actionListItemWrapperRole === 'listbox' ? isMultiSelectable : undefined,\n })}\n {...makeAnalyticsAttribute(rest)}\n >\n {childrenWithId}\n </StyledListBoxWrapper>\n );\n },\n);\n\nconst ActionListBox = assignWithoutSideEffects(_ActionListBox, { displayName: 'ActionListBox' });\n\nexport { ActionListBox };\n"],"names":["_ActionListBox","React","forwardRef","_ref","ref","childrenWithId","actionListItemWrapperRole","isMultiSelectable","rest","_objectWithoutProperties","_excluded","_useBottomSheetContex","useBottomSheetContext","isInBottomSheet","_jsx","StyledListBoxWrapper","_objectSpread","makeAccessible","role","multiSelectable","undefined","makeAnalyticsAttribute","children","ActionListBox","assignWithoutSideEffects","displayName"],"mappings":";;;;;;;;;;;;;;;;AAkBA,IAAMA,cAAc,gBAAGC,cAAK,CAACC,UAAU,CACrC,UAAAC,IAAA,EAA4EC,GAAG,EAAK;AAAA,EAAA,IAAjFC,cAAc,GAAAF,IAAA,CAAdE,cAAc;IAAEC,yBAAyB,GAAAH,IAAA,CAAzBG,yBAAyB;IAAEC,iBAAiB,GAAAJ,IAAA,CAAjBI,iBAAiB;AAAKC,IAAAA,IAAI,GAAAC,wBAAA,CAAAN,IAAA,EAAAO,SAAA,CAAA,CAAA;AACtE,EAAA,IAAAC,qBAAA,GAA4BC,qBAAqB,EAAE;IAA3CC,eAAe,GAAAF,qBAAA,CAAfE,eAAe,CAAA;EAEvB,oBACEC,GAAA,CAACC,oBAAoB,EAAAC,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA;AACnBH,IAAAA,eAAe,EAAEA,eAAgB;AACjCT,IAAAA,GAAG,EAAEA,GAAAA;AAAI,GAAA,EACLa,cAAc,CAAC;AACjBC,IAAAA,IAAI,EAAEZ,yBAAyB;AAC/Ba,IAAAA,eAAe,EAAEb,yBAAyB,KAAK,SAAS,GAAGC,iBAAiB,GAAGa,SAAAA;AACjF,GAAC,CAAC,CAAA,EACEC,sBAAsB,CAACb,IAAI,CAAC,CAAA,EAAA,EAAA,EAAA;AAAAc,IAAAA,QAAA,EAE/BjB,cAAAA;AAAc,GAAA,CACK,CAAC,CAAA;AAE3B,CACF,CAAC,CAAA;AAED,IAAMkB,aAAa,gBAAGC,wBAAwB,CAACxB,cAAc,EAAE;AAAEyB,EAAAA,WAAW,EAAE,eAAA;AAAgB,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"ActionListBox.web.js","sources":["../../../../../../src/components/ActionList/ActionListBox.web.tsx"],"sourcesContent":["/* eslint-disable react/display-name */\nimport React from 'react';\nimport { FixedSizeList as VirtualizedList } from 'react-window';\nimport { StyledListBoxWrapper } from './styles/StyledListBoxWrapper';\nimport type { SectionData } from './actionListUtils';\nimport { actionListMaxHeight, getActionListPadding } from './styles/getBaseListBoxWrapperStyles';\nimport { useBottomSheetContext } from '~components/BottomSheet/BottomSheetContext';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport type { DataAnalyticsAttribute } from '~utils/types';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport { getItemHeight } from '~components/BaseMenu/BaseMenuItem/tokens';\nimport { useTheme } from '~utils';\nimport type { Theme } from '~components/BladeProvider';\nimport { useDropdown } from '~components/Dropdown/useDropdown';\nimport { dropdownComponentIds } from '~components/Dropdown/dropdownComponentIds';\n\ntype ActionListBoxProps = {\n childrenWithId?: React.ReactNode[] | null;\n sectionData: SectionData;\n actionListItemWrapperRole: 'listbox' | 'menu' | undefined;\n isMultiSelectable: boolean;\n isInBottomSheet: boolean;\n} & DataAnalyticsAttribute;\n\nconst _ActionListBox = React.forwardRef<HTMLDivElement, ActionListBoxProps>(\n ({ childrenWithId, actionListItemWrapperRole, isMultiSelectable, ...rest }, ref) => {\n const { isInBottomSheet } = useBottomSheetContext();\n\n return (\n <StyledListBoxWrapper\n isInBottomSheet={isInBottomSheet}\n ref={ref}\n {...makeAccessible({\n role: actionListItemWrapperRole,\n multiSelectable: actionListItemWrapperRole === 'listbox' ? isMultiSelectable : undefined,\n })}\n {...makeAnalyticsAttribute(rest)}\n >\n {childrenWithId}\n </StyledListBoxWrapper>\n );\n },\n);\n\nconst ActionListBox = assignWithoutSideEffects(React.memo(_ActionListBox), {\n displayName: 'ActionListBox',\n});\n\n/**\n * Returns the height of item and height of container based on theme and device\n */\nconst getVirtualItemParams = ({\n theme,\n isMobile,\n}: {\n theme: Theme;\n isMobile: boolean;\n}): {\n itemHeight: number;\n actionListBoxHeight: number;\n} => {\n const itemHeightResponsive = getItemHeight(theme);\n const actionListPadding = getActionListPadding(theme);\n const actionListBoxHeight = actionListMaxHeight - actionListPadding * 2;\n\n return {\n itemHeight: isMobile\n ? itemHeightResponsive.itemHeightMobile\n : itemHeightResponsive.itemHeightDesktop,\n actionListBoxHeight,\n };\n};\n\n/**\n * Takes the children (ActionListItem) and returns the filtered items based on `filteredValues` state\n */\nconst useFilteredItems = (\n children: React.ReactNode[],\n): {\n itemData: React.ReactNode[];\n itemCount: number;\n} => {\n const childrenArray = React.Children.toArray(children); // Convert children to an array\n\n const { filteredValues, hasAutoCompleteInBottomSheetHeader, dropdownTriggerer } = useDropdown();\n\n const items = React.useMemo(() => {\n const hasAutoComplete =\n hasAutoCompleteInBottomSheetHeader ||\n dropdownTriggerer === dropdownComponentIds.triggers.AutoComplete;\n\n if (!hasAutoComplete) {\n return childrenArray;\n }\n\n // @ts-expect-error: props does exist\n const filteredItems = childrenArray.filter((item) => filteredValues.includes(item.props.value));\n return filteredItems;\n }, [filteredValues, hasAutoCompleteInBottomSheetHeader, dropdownTriggerer, childrenArray]);\n\n return {\n itemData: items,\n itemCount: items.length,\n };\n};\n\nconst VirtualListItem = ({\n index,\n style,\n data,\n}: {\n index: number;\n style: React.CSSProperties;\n data: React.ReactNode[];\n}): React.ReactElement => {\n return <div style={style}>{data[index]}</div>;\n};\n\nconst _ActionListVirtualizedBox = React.forwardRef<HTMLDivElement, ActionListBoxProps>(\n ({ childrenWithId, actionListItemWrapperRole, isMultiSelectable, ...rest }, ref) => {\n const items = React.Children.toArray(childrenWithId); // Convert children to an array\n const { isInBottomSheet } = useBottomSheetContext();\n const { itemData, itemCount } = useFilteredItems(items);\n\n const isMobile = useIsMobile();\n const { theme } = useTheme();\n const { itemHeight, actionListBoxHeight } = React.useMemo(\n () => getVirtualItemParams({ theme, isMobile }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [theme.name, isMobile],\n );\n\n return (\n <StyledListBoxWrapper\n isInBottomSheet={isInBottomSheet}\n ref={ref}\n {...makeAccessible({\n role: actionListItemWrapperRole,\n multiSelectable: actionListItemWrapperRole === 'listbox' ? isMultiSelectable : undefined,\n })}\n {...makeAnalyticsAttribute(rest)}\n >\n {itemCount < 10 ? (\n childrenWithId\n ) : (\n <VirtualizedList\n height={actionListBoxHeight}\n width=\"100%\"\n itemSize={itemHeight}\n itemCount={itemCount}\n itemData={itemData}\n // @ts-expect-error: props does exist\n itemKey={(index) => itemData[index]?.props.value}\n >\n {VirtualListItem}\n </VirtualizedList>\n )}\n </StyledListBoxWrapper>\n );\n },\n);\n\nconst ActionListVirtualizedBox = assignWithoutSideEffects(React.memo(_ActionListVirtualizedBox), {\n displayName: 'ActionListVirtualizedBox',\n});\n\nexport { ActionListBox, ActionListVirtualizedBox };\n"],"names":["_ActionListBox","React","forwardRef","_ref","ref","childrenWithId","actionListItemWrapperRole","isMultiSelectable","rest","_objectWithoutProperties","_excluded","_useBottomSheetContex","useBottomSheetContext","isInBottomSheet","_jsx","StyledListBoxWrapper","_objectSpread","makeAccessible","role","multiSelectable","undefined","makeAnalyticsAttribute","children","ActionListBox","assignWithoutSideEffects","memo","displayName","getVirtualItemParams","_ref2","theme","isMobile","itemHeightResponsive","getItemHeight","actionListPadding","getActionListPadding","actionListBoxHeight","actionListMaxHeight","itemHeight","itemHeightMobile","itemHeightDesktop","useFilteredItems","childrenArray","Children","toArray","_useDropdown","useDropdown","filteredValues","hasAutoCompleteInBottomSheetHeader","dropdownTriggerer","items","useMemo","hasAutoComplete","dropdownComponentIds","triggers","AutoComplete","filteredItems","filter","item","includes","props","value","itemData","itemCount","length","VirtualListItem","_ref3","index","style","data","_ActionListVirtualizedBox","_ref4","_excluded2","_useBottomSheetContex2","_useFilteredItems","useIsMobile","_useTheme","useTheme","_React$useMemo","name","VirtualizedList","height","width","itemSize","itemKey","_itemData$index","ActionListVirtualizedBox"],"mappings":"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"}
|
|
@@ -246,67 +246,64 @@ var _ActionListItem = function _ActionListItem(props) {
|
|
|
246
246
|
}
|
|
247
247
|
}
|
|
248
248
|
}, [props.intent, dropdownTriggerer]);
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
}, makeAccessible({
|
|
263
|
-
hidden: true
|
|
264
|
-
})), {}, {
|
|
265
|
-
children: /*#__PURE__*/jsx(Checkbox, {
|
|
266
|
-
isChecked: isSelected,
|
|
267
|
-
tabIndex: -1,
|
|
268
|
-
isDisabled: props.isDisabled,
|
|
269
|
-
children: null
|
|
270
|
-
})
|
|
271
|
-
})) : props.leading,
|
|
272
|
-
trailing: props.trailing,
|
|
273
|
-
titleSuffix: props.titleSuffix,
|
|
274
|
-
href: props.href,
|
|
275
|
-
target: props.target,
|
|
276
|
-
className: activeIndex === props._index ? 'active-focus' : '',
|
|
277
|
-
isSelected: isSelected,
|
|
278
|
-
isDisabled: props.isDisabled,
|
|
279
|
-
role: getActionListItemRole(dropdownTriggerer, props.href)
|
|
280
|
-
}, makeActionListItemClickable(function (e) {
|
|
281
|
-
if (typeof props._index === 'number') {
|
|
282
|
-
var _props$onClick;
|
|
283
|
-
onOptionClick(e, props._index);
|
|
284
|
-
(_props$onClick = props.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props, {
|
|
285
|
-
name: props.value,
|
|
286
|
-
value: isSelected,
|
|
287
|
-
event: castWebType(e)
|
|
288
|
-
});
|
|
289
|
-
}
|
|
290
|
-
})), makeAnalyticsAttribute(_objectSpread({}, props))), metaAttribute({
|
|
291
|
-
name: MetaConstants.ActionListItem,
|
|
292
|
-
testID: props.testID
|
|
249
|
+
var isVisible = hasAutoComplete && filteredValues ? filteredValues.includes(props.value) : true;
|
|
250
|
+
return /*#__PURE__*/jsx(BaseMenuItem, _objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
251
|
+
isVisible: isVisible,
|
|
252
|
+
as: !isReactNative() ? renderOnWebAs : undefined,
|
|
253
|
+
id: "".concat(dropdownBaseId, "-").concat(props._index),
|
|
254
|
+
tabIndex: -1,
|
|
255
|
+
title: props.title,
|
|
256
|
+
description: props.description,
|
|
257
|
+
leading: selectionType === 'multiple' ? /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread({
|
|
258
|
+
pointerEvents: "none"
|
|
259
|
+
// 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
|
|
260
|
+
}, makeAccessible({
|
|
261
|
+
hidden: true
|
|
293
262
|
})), {}, {
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
)
|
|
263
|
+
children: /*#__PURE__*/jsx(Checkbox, {
|
|
264
|
+
isChecked: isSelected,
|
|
265
|
+
tabIndex: -1,
|
|
266
|
+
isDisabled: props.isDisabled,
|
|
267
|
+
children: null
|
|
268
|
+
})
|
|
269
|
+
})) : props.leading,
|
|
270
|
+
trailing: props.trailing,
|
|
271
|
+
titleSuffix: props.titleSuffix,
|
|
272
|
+
href: props.href,
|
|
273
|
+
target: props.target,
|
|
274
|
+
className: activeIndex === props._index ? 'active-focus' : '',
|
|
275
|
+
isSelected: isSelected,
|
|
276
|
+
isDisabled: props.isDisabled,
|
|
277
|
+
role: getActionListItemRole(dropdownTriggerer, props.href)
|
|
278
|
+
}, makeActionListItemClickable(function (e) {
|
|
279
|
+
if (typeof props._index === 'number') {
|
|
280
|
+
var _props$onClick;
|
|
281
|
+
onOptionClick(e, props._index);
|
|
282
|
+
(_props$onClick = props.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props, {
|
|
283
|
+
name: props.value,
|
|
284
|
+
value: isSelected,
|
|
285
|
+
event: castWebType(e)
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
})), makeAnalyticsAttribute(_objectSpread({}, props))), metaAttribute({
|
|
289
|
+
name: MetaConstants.ActionListItem,
|
|
290
|
+
testID: props.testID
|
|
291
|
+
})), {}, {
|
|
292
|
+
onMouseDown: function onMouseDown() {
|
|
293
|
+
// We want to keep focus on Dropdown's trigger while option is being clicked
|
|
294
|
+
// So We set this flag that ignores the blur animation to avoid the flicker between focus out + focus in
|
|
295
|
+
setShouldIgnoreBlurAnimation(true);
|
|
296
|
+
},
|
|
297
|
+
onMouseUp: function onMouseUp() {
|
|
298
|
+
// (Contd from above comment...) We set this flag back to false since blur of SelectInput is done calling by this time
|
|
299
|
+
setShouldIgnoreBlurAnimation(false);
|
|
300
|
+
},
|
|
301
|
+
"data-value": props.value,
|
|
302
|
+
"data-index": props._index,
|
|
303
|
+
selectionType: selectionType,
|
|
304
|
+
color: props.intent,
|
|
305
|
+
isKeydownPressed: isKeydownPressed
|
|
306
|
+
}));
|
|
310
307
|
};
|
|
311
308
|
var ActionListItem = /*#__PURE__*/assignWithoutSideEffects( /*#__PURE__*/React__default.memo(_ActionListItem), {
|
|
312
309
|
componentId: componentIds.ActionListItem,
|