@razorpay/blade 12.92.0 → 12.92.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/web/development/components/Dropdown/FilterChipSelectInput.web.js +23 -15
- package/build/lib/web/development/components/Dropdown/FilterChipSelectInput.web.js.map +1 -1
- package/build/lib/web/development/components/SideNav/SideNav.web.js +21 -21
- package/build/lib/web/development/components/SideNav/SideNav.web.js.map +1 -1
- package/build/lib/web/development/components/SideNav/SideNavItems/SideNavLink.web.js +4 -4
- package/build/lib/web/development/components/SideNav/SideNavItems/SideNavLink.web.js.map +1 -1
- package/build/lib/web/production/_virtual/cloneDeep.js +1 -1
- package/build/lib/web/production/_virtual/cloneDeep3.js +1 -1
- package/build/lib/web/production/components/Dropdown/FilterChipSelectInput.web.js +23 -15
- package/build/lib/web/production/components/Dropdown/FilterChipSelectInput.web.js.map +1 -1
- package/build/lib/web/production/components/SideNav/SideNav.web.js +21 -21
- package/build/lib/web/production/components/SideNav/SideNav.web.js.map +1 -1
- package/build/lib/web/production/components/SideNav/SideNavItems/SideNavLink.web.js +4 -4
- package/build/lib/web/production/components/SideNav/SideNavItems/SideNavLink.web.js.map +1 -1
- package/build/lib/web/production/node_modules/es-toolkit/dist/compat/object/cloneDeep.js +1 -1
- package/build/lib/web/production/node_modules/es-toolkit/dist/compat/predicate/matches.js +2 -2
- package/build/lib/web/production/node_modules/es-toolkit/dist/compat/predicate/matchesProperty.js +2 -2
- package/build/lib/web/production/node_modules/es-toolkit/dist/object/cloneDeep.js +1 -1
- package/package.json +1 -1
|
@@ -80,33 +80,44 @@ var _FilterChipSelectInput = function _FilterChipSelectInput(props) {
|
|
|
80
80
|
};
|
|
81
81
|
useEffect(function () {
|
|
82
82
|
var valueNotEmpty = typeof value === 'string' && value.trim() !== '' || Array.isArray(value) && value.length > 0;
|
|
83
|
-
|
|
84
|
-
|
|
83
|
+
|
|
84
|
+
// Compare actual selected values (not just lengths) to detect controlled value changes
|
|
85
|
+
var currentSelectedValues = selectedIndices.map(function (i) {
|
|
86
|
+
var _options$i;
|
|
87
|
+
return (_options$i = options[i]) === null || _options$i === void 0 ? void 0 : _options$i.value;
|
|
88
|
+
});
|
|
89
|
+
var isSingleValueSynced = typeof value === 'string' && currentSelectedValues.length === 1 && currentSelectedValues[0] === value;
|
|
90
|
+
var isMultiValueSynced = Array.isArray(value) && value.length === currentSelectedValues.length && value.every(function (v) {
|
|
91
|
+
return currentSelectedValues.includes(v);
|
|
92
|
+
});
|
|
93
|
+
var isValueAndSelectedIndicesSynced = isSingleValueSynced || isMultiValueSynced;
|
|
85
94
|
if (isUnControlled) {
|
|
86
95
|
if (listViewSelectedFilters[label]) {
|
|
87
|
-
var
|
|
88
|
-
setSelectedIndices(
|
|
89
|
-
var inputValue =
|
|
96
|
+
var savedIndices = listViewSelectedFilters[label];
|
|
97
|
+
setSelectedIndices(savedIndices);
|
|
98
|
+
var inputValue = savedIndices.map(function (selectionIndex) {
|
|
90
99
|
return options[selectionIndex].value;
|
|
91
100
|
});
|
|
92
101
|
setUncontrolledInputValue(inputValue);
|
|
93
102
|
setFilterChipGroupSelectedFilters(function (prev) {
|
|
94
103
|
return prev.includes(label) ? prev : [].concat(_toConsumableArray(prev), [label]);
|
|
95
104
|
});
|
|
105
|
+
} else {
|
|
106
|
+
setSelectedIndices([]);
|
|
96
107
|
}
|
|
97
108
|
} else if (listViewSelectedFilters[label]) {
|
|
98
|
-
var
|
|
99
|
-
setSelectedIndices(
|
|
100
|
-
//
|
|
101
|
-
} else if (valueNotEmpty && !
|
|
102
|
-
var
|
|
109
|
+
var _savedIndices = listViewSelectedFilters[label];
|
|
110
|
+
setSelectedIndices(_savedIndices);
|
|
111
|
+
// Sync selected indices when controlled value changes or on first render with options loaded
|
|
112
|
+
} else if (valueNotEmpty && !isValueAndSelectedIndicesSynced && options.length > 0) {
|
|
113
|
+
var newSelectedIndices = typeof value === 'string' ? [options.findIndex(function (option) {
|
|
103
114
|
return option.value === value;
|
|
104
115
|
})] : options.map(function (option, index) {
|
|
105
116
|
return value.includes(option.value) ? index : -1;
|
|
106
117
|
}).filter(function (index) {
|
|
107
118
|
return index !== -1;
|
|
108
119
|
});
|
|
109
|
-
setSelectedIndices(
|
|
120
|
+
setSelectedIndices(newSelectedIndices);
|
|
110
121
|
}
|
|
111
122
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
112
123
|
}, [isUnControlled, options]);
|
|
@@ -135,10 +146,6 @@ var _FilterChipSelectInput = function _FilterChipSelectInput(props) {
|
|
|
135
146
|
name: name !== null && name !== void 0 ? name : idBase,
|
|
136
147
|
values: []
|
|
137
148
|
});
|
|
138
|
-
if (isUnControlled) {
|
|
139
|
-
setUncontrolledInputValue([]);
|
|
140
|
-
setSelectedIndices([]);
|
|
141
|
-
}
|
|
142
149
|
setFilterChipGroupSelectedFilters(function (prev) {
|
|
143
150
|
return prev.filter(function (filter) {
|
|
144
151
|
return filter !== label;
|
|
@@ -149,6 +156,7 @@ var _FilterChipSelectInput = function _FilterChipSelectInput(props) {
|
|
|
149
156
|
updatedFilters = _objectWithoutProperties(prev, [label].map(_toPropertyKey));
|
|
150
157
|
return updatedFilters;
|
|
151
158
|
});
|
|
159
|
+
setUncontrolledInputValue([]);
|
|
152
160
|
setSelectedIndices([]);
|
|
153
161
|
};
|
|
154
162
|
useEffect(function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterChipSelectInput.web.js","sources":["../../../../../../src/components/Dropdown/FilterChipSelectInput.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */\n\nimport React, { useEffect } from 'react';\nimport { useDropdown } from './useDropdown';\nimport { dropdownComponentIds } from './dropdownComponentIds';\nimport { useFilterChipGroupContext } from './FilterChipGroupContext.web';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { BaseFilterChip } from '~components/FilterChip/BaseFilterChip';\nimport { getActionListContainerRole } from '~components/ActionList/getA11yRoles';\nimport type { BaseFilterChipProps } from '~components/FilterChip/types';\nimport type { DataAnalyticsAttribute } from '~utils/types';\nimport { useId } from '~utils/useId';\nimport { useListViewFilterContext } from '~components/ListView/ListViewFiltersContext.web';\nimport { useFirstRender } from '~utils/useFirstRender';\n\ntype FilterChipSelectInputProps = Pick<\n BaseFilterChipProps,\n 'onKeyDown' | 'value' | 'label' | 'testID' | 'onClick' | 'selectionType' | 'onBlur'\n> & {\n accessibilityLabel?: string;\n onChange?: (props: { name: string; values: string[] }) => void;\n name?: string;\n onClearButtonClick?: (props: { name: string; values: string[] }) => void;\n isDisabled?: boolean;\n} & DataAnalyticsAttribute;\n\nconst _FilterChipSelectInput = (props: FilterChipSelectInputProps): React.ReactElement => {\n const idBase = useId('filter-chip-select-input');\n const {\n onClick,\n onBlur,\n onKeyDown,\n accessibilityLabel,\n testID,\n value,\n onClearButtonClick,\n label,\n onChange,\n name,\n isDisabled,\n ...rest\n } = props;\n const [uncontrolledInputValue, setUncontrolledInputValue] = React.useState<string[]>([]);\n const isFirstRender = useFirstRender();\n\n const {\n options,\n selectedIndices,\n onTriggerClick,\n onTriggerKeydown,\n dropdownBaseId,\n isOpen,\n activeIndex,\n hasFooterAction,\n triggererRef,\n selectionType,\n isControlled,\n setSelectedIndices,\n controlledValueIndices,\n changeCallbackTriggerer,\n } = useDropdown();\n const valueTitle = options.find((option) => option.value === value)?.title ?? value;\n\n const isUnControlled = options.length > 0 && props.value === undefined;\n // Currently we are having 2 context for selectedFilters. One is for FilterChipGroup and other is for ListView\n const { listViewSelectedFilters, setListViewSelectedFilters } = useListViewFilterContext();\n const {\n clearFilterCallbackTriggerer,\n setFilterChipGroupSelectedFilters,\n } = useFilterChipGroupContext();\n\n const getValuesArrayFromIndices = (): string[] => {\n let indices: number[] = [];\n if (isControlled) {\n indices = controlledValueIndices;\n } else {\n indices = selectedIndices;\n }\n\n return indices.map((selectionIndex) => options[selectionIndex].value);\n };\n\n useEffect(() => {\n const valueNotEmpty =\n (typeof value === 'string' && value.trim() !== '') ||\n (Array.isArray(value) && value.length > 0);\n // since we need to sync state only one time so skipping value checking.\n const isValueAndSelectedOptoinsSynced =\n (typeof value === 'string' && value && selectedIndices.length === 1) ||\n (Array.isArray(value) && value.length === selectedIndices.length);\n if (isUnControlled) {\n if (listViewSelectedFilters[label]) {\n const value = (listViewSelectedFilters[label] as unknown) as number[];\n setSelectedIndices(value);\n const inputValue = value.map((selectionIndex) => options[selectionIndex].value);\n setUncontrolledInputValue(inputValue);\n setFilterChipGroupSelectedFilters((prev) =>\n prev.includes(label) ? prev : [...prev, label],\n );\n }\n } else if (listViewSelectedFilters[label]) {\n const value = (listViewSelectedFilters[label] as unknown) as number[];\n setSelectedIndices(value);\n // This would be the case when filterChipSelectInput is controlled and are being opened first time\n } else if (valueNotEmpty && !isValueAndSelectedOptoinsSynced && options.length > 0) {\n const selectedIndices =\n typeof value === 'string'\n ? [options.findIndex((option) => option.value === value)]\n : options\n .map((option, index) => (value.includes(option.value) ? index : -1))\n .filter((index) => index !== -1);\n setSelectedIndices(selectedIndices);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isUnControlled, options]);\n\n const getTitleFromValue = (value: string): string => {\n const option = options.find((option) => option.value === value);\n return option ? option.title : '';\n };\n\n const getUnControlledFilterChipValue = (): string | string[] => {\n if (selectionType === 'single') {\n if (uncontrolledInputValue.length > 0) {\n return getTitleFromValue(uncontrolledInputValue[0]);\n }\n return '';\n }\n return uncontrolledInputValue;\n };\n\n const handleClearButtonClick = (): void => {\n props.onClearButtonClick?.({ name: name ?? idBase, values: getValuesArrayFromIndices() });\n props.onChange?.({ name: name ?? idBase, values: [] });\n if (isUnControlled) {\n setUncontrolledInputValue([]);\n setSelectedIndices([]);\n }\n setFilterChipGroupSelectedFilters((prev) => prev.filter((filter) => filter !== label));\n setListViewSelectedFilters((prev) => {\n const { [label]: _, ...updatedFilters } = prev;\n return updatedFilters;\n });\n setSelectedIndices([]);\n };\n\n useEffect(() => {\n if (clearFilterCallbackTriggerer) {\n handleClearButtonClick();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clearFilterCallbackTriggerer]);\n\n useEffect(() => {\n if (!isFirstRender) {\n props.onChange?.({\n name: props.name || idBase,\n values: getValuesArrayFromIndices(),\n });\n if (isUnControlled) {\n setUncontrolledInputValue(getValuesArrayFromIndices());\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [changeCallbackTriggerer]);\n useEffect(() => {\n const isValueEmpty = selectedIndices.length === 0;\n if (!isFirstRender && !isValueEmpty) {\n setFilterChipGroupSelectedFilters((prev) => (prev.includes(label) ? prev : [...prev, label]));\n setListViewSelectedFilters((prev) => ({\n ...prev,\n [label]: selectedIndices as number[],\n }));\n } else if (!isFirstRender && isValueEmpty) {\n setFilterChipGroupSelectedFilters((prev) => prev.filter((filter) => filter !== label));\n setListViewSelectedFilters((prev) => {\n const { [label]: _, ...updatedFilters } = prev;\n return updatedFilters;\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [changeCallbackTriggerer]);\n\n const handleKeyDown = (e: React.KeyboardEvent<Element>): void => {\n onKeyDown?.(e);\n onTriggerKeydown?.({ event: e as React.KeyboardEvent<HTMLInputElement> });\n\n if (e.key === 'Escape') {\n e.preventDefault();\n e.stopPropagation();\n }\n\n if ((e.key === 'Enter' || e.key === ' ') && !isOpen) {\n e.preventDefault();\n e.stopPropagation();\n onTriggerClick();\n }\n };\n\n return (\n <BaseFilterChip\n label={label}\n value={valueTitle ?? getUnControlledFilterChipValue()}\n onClearButtonClick={handleClearButtonClick}\n selectionType={selectionType}\n {...rest}\n ref={triggererRef as any}\n onKeyDown={handleKeyDown}\n accessibilityProps={{\n label: accessibilityLabel ?? label,\n hasPopup: getActionListContainerRole(hasFooterAction, 'FilterChipSelectInput'),\n expanded: isOpen,\n controls: `${dropdownBaseId}-actionlist`,\n activeDescendant: activeIndex >= 0 ? `${dropdownBaseId}-${activeIndex}` : undefined,\n }}\n onClick={(e) => {\n onTriggerClick();\n onClick?.(e);\n }}\n onBlur={(e) => {\n onBlur?.(e);\n }}\n isDisabled={isDisabled}\n />\n );\n};\n\nconst FilterChipSelectInput = assignWithoutSideEffects(_FilterChipSelectInput, {\n componentId: dropdownComponentIds.triggers.FilterChipSelectInput,\n});\n\nexport { FilterChipSelectInput };\n"],"names":["_FilterChipSelectInput","props","_options$find$title","_options$find","idBase","useId","onClick","onBlur","onKeyDown","accessibilityLabel","testID","value","onClearButtonClick","label","onChange","name","isDisabled","rest","_objectWithoutProperties","_excluded","_React$useState","React","useState","_React$useState2","_slicedToArray","uncontrolledInputValue","setUncontrolledInputValue","isFirstRender","useFirstRender","_useDropdown","useDropdown","options","selectedIndices","onTriggerClick","onTriggerKeydown","dropdownBaseId","isOpen","activeIndex","hasFooterAction","triggererRef","selectionType","isControlled","setSelectedIndices","controlledValueIndices","changeCallbackTriggerer","valueTitle","find","option","title","isUnControlled","length","undefined","_useListViewFilterCon","useListViewFilterContext","listViewSelectedFilters","setListViewSelectedFilters","_useFilterChipGroupCo","useFilterChipGroupContext","clearFilterCallbackTriggerer","setFilterChipGroupSelectedFilters","getValuesArrayFromIndices","indices","map","selectionIndex","useEffect","valueNotEmpty","trim","Array","isArray","isValueAndSelectedOptoinsSynced","inputValue","prev","includes","concat","_toConsumableArray","findIndex","index","filter","getTitleFromValue","getUnControlledFilterChipValue","handleClearButtonClick","_props$onClearButtonC","_props$onChange","call","values","_","updatedFilters","_toPropertyKey","_props$onChange2","isValueEmpty","_objectSpread","_defineProperty","handleKeyDown","e","event","key","preventDefault","stopPropagation","_jsx","BaseFilterChip","ref","accessibilityProps","hasPopup","getActionListContainerRole","expanded","controls","activeDescendant","FilterChipSelectInput","assignWithoutSideEffects","componentId","dropdownComponentIds","triggers"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FilterChipSelectInput.web.js","sources":["../../../../../../src/components/Dropdown/FilterChipSelectInput.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */\n\nimport React, { useEffect } from 'react';\nimport { useDropdown } from './useDropdown';\nimport { dropdownComponentIds } from './dropdownComponentIds';\nimport { useFilterChipGroupContext } from './FilterChipGroupContext.web';\nimport type { DataAnalyticsAttribute } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { BaseFilterChip } from '~components/FilterChip/BaseFilterChip';\nimport { getActionListContainerRole } from '~components/ActionList/getA11yRoles';\nimport type { BaseFilterChipProps } from '~components/FilterChip/types';\nimport { useId } from '~utils/useId';\nimport { useListViewFilterContext } from '~components/ListView/ListViewFiltersContext.web';\nimport { useFirstRender } from '~utils/useFirstRender';\n\ntype FilterChipSelectInputProps = Pick<\n BaseFilterChipProps,\n 'onKeyDown' | 'value' | 'label' | 'testID' | 'onClick' | 'selectionType' | 'onBlur'\n> & {\n accessibilityLabel?: string;\n onChange?: (props: { name: string; values: string[] }) => void;\n name?: string;\n onClearButtonClick?: (props: { name: string; values: string[] }) => void;\n isDisabled?: boolean;\n} & DataAnalyticsAttribute;\n\nconst _FilterChipSelectInput = (props: FilterChipSelectInputProps): React.ReactElement => {\n const idBase = useId('filter-chip-select-input');\n const {\n onClick,\n onBlur,\n onKeyDown,\n accessibilityLabel,\n testID,\n value,\n onClearButtonClick,\n label,\n onChange,\n name,\n isDisabled,\n ...rest\n } = props;\n const [uncontrolledInputValue, setUncontrolledInputValue] = React.useState<string[]>([]);\n const isFirstRender = useFirstRender();\n\n const {\n options,\n selectedIndices,\n onTriggerClick,\n onTriggerKeydown,\n dropdownBaseId,\n isOpen,\n activeIndex,\n hasFooterAction,\n triggererRef,\n selectionType,\n isControlled,\n setSelectedIndices,\n controlledValueIndices,\n changeCallbackTriggerer,\n } = useDropdown();\n const valueTitle = options.find((option) => option.value === value)?.title ?? value;\n\n const isUnControlled = options.length > 0 && props.value === undefined;\n // Currently we are having 2 context for selectedFilters. One is for FilterChipGroup and other is for ListView\n const { listViewSelectedFilters, setListViewSelectedFilters } = useListViewFilterContext();\n const {\n clearFilterCallbackTriggerer,\n setFilterChipGroupSelectedFilters,\n } = useFilterChipGroupContext();\n\n const getValuesArrayFromIndices = (): string[] => {\n let indices: number[] = [];\n if (isControlled) {\n indices = controlledValueIndices;\n } else {\n indices = selectedIndices;\n }\n\n return indices.map((selectionIndex) => options[selectionIndex].value);\n };\n\n useEffect(() => {\n const valueNotEmpty =\n (typeof value === 'string' && value.trim() !== '') ||\n (Array.isArray(value) && value.length > 0);\n\n // Compare actual selected values (not just lengths) to detect controlled value changes\n const currentSelectedValues = selectedIndices.map((i) => options[i]?.value);\n const isSingleValueSynced =\n typeof value === 'string' &&\n currentSelectedValues.length === 1 &&\n currentSelectedValues[0] === value;\n\n const isMultiValueSynced =\n Array.isArray(value) &&\n value.length === currentSelectedValues.length &&\n value.every((v) => currentSelectedValues.includes(v));\n\n const isValueAndSelectedIndicesSynced = isSingleValueSynced || isMultiValueSynced;\n\n if (isUnControlled) {\n if (listViewSelectedFilters[label]) {\n const savedIndices = (listViewSelectedFilters[label] as unknown) as number[];\n setSelectedIndices(savedIndices);\n const inputValue = savedIndices.map((selectionIndex) => options[selectionIndex].value);\n setUncontrolledInputValue(inputValue);\n setFilterChipGroupSelectedFilters((prev) =>\n prev.includes(label) ? prev : [...prev, label],\n );\n } else {\n setSelectedIndices([]);\n }\n } else if (listViewSelectedFilters[label]) {\n const savedIndices = (listViewSelectedFilters[label] as unknown) as number[];\n setSelectedIndices(savedIndices);\n // Sync selected indices when controlled value changes or on first render with options loaded\n } else if (valueNotEmpty && !isValueAndSelectedIndicesSynced && options.length > 0) {\n const newSelectedIndices =\n typeof value === 'string'\n ? [options.findIndex((option) => option.value === value)]\n : options\n .map((option, index) => (value.includes(option.value) ? index : -1))\n .filter((index) => index !== -1);\n setSelectedIndices(newSelectedIndices);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isUnControlled, options]);\n\n const getTitleFromValue = (value: string): string => {\n const option = options.find((option) => option.value === value);\n return option ? option.title : '';\n };\n\n const getUnControlledFilterChipValue = (): string | string[] => {\n if (selectionType === 'single') {\n if (uncontrolledInputValue.length > 0) {\n return getTitleFromValue(uncontrolledInputValue[0]);\n }\n return '';\n }\n return uncontrolledInputValue;\n };\n\n const handleClearButtonClick = (): void => {\n props.onClearButtonClick?.({ name: name ?? idBase, values: getValuesArrayFromIndices() });\n props.onChange?.({ name: name ?? idBase, values: [] });\n setFilterChipGroupSelectedFilters((prev) => prev.filter((filter) => filter !== label));\n setListViewSelectedFilters((prev) => {\n const { [label]: _, ...updatedFilters } = prev;\n return updatedFilters;\n });\n setUncontrolledInputValue([]);\n setSelectedIndices([]);\n };\n\n useEffect(() => {\n if (clearFilterCallbackTriggerer) {\n handleClearButtonClick();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clearFilterCallbackTriggerer]);\n\n useEffect(() => {\n if (!isFirstRender) {\n props.onChange?.({\n name: props.name || idBase,\n values: getValuesArrayFromIndices(),\n });\n if (isUnControlled) {\n setUncontrolledInputValue(getValuesArrayFromIndices());\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [changeCallbackTriggerer]);\n useEffect(() => {\n const isValueEmpty = selectedIndices.length === 0;\n if (!isFirstRender && !isValueEmpty) {\n setFilterChipGroupSelectedFilters((prev) => (prev.includes(label) ? prev : [...prev, label]));\n setListViewSelectedFilters((prev) => ({\n ...prev,\n [label]: selectedIndices as number[],\n }));\n } else if (!isFirstRender && isValueEmpty) {\n setFilterChipGroupSelectedFilters((prev) => prev.filter((filter) => filter !== label));\n setListViewSelectedFilters((prev) => {\n const { [label]: _, ...updatedFilters } = prev;\n return updatedFilters;\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [changeCallbackTriggerer]);\n\n const handleKeyDown = (e: React.KeyboardEvent<Element>): void => {\n onKeyDown?.(e);\n onTriggerKeydown?.({ event: e as React.KeyboardEvent<HTMLInputElement> });\n\n if (e.key === 'Escape') {\n e.preventDefault();\n e.stopPropagation();\n }\n\n if ((e.key === 'Enter' || e.key === ' ') && !isOpen) {\n e.preventDefault();\n e.stopPropagation();\n onTriggerClick();\n }\n };\n return (\n <BaseFilterChip\n label={label}\n value={valueTitle ?? getUnControlledFilterChipValue()}\n onClearButtonClick={handleClearButtonClick}\n selectionType={selectionType}\n {...rest}\n ref={triggererRef as any}\n onKeyDown={handleKeyDown}\n accessibilityProps={{\n label: accessibilityLabel ?? label,\n hasPopup: getActionListContainerRole(hasFooterAction, 'FilterChipSelectInput'),\n expanded: isOpen,\n controls: `${dropdownBaseId}-actionlist`,\n activeDescendant: activeIndex >= 0 ? `${dropdownBaseId}-${activeIndex}` : undefined,\n }}\n onClick={(e) => {\n onTriggerClick();\n onClick?.(e);\n }}\n onBlur={(e) => {\n onBlur?.(e);\n }}\n isDisabled={isDisabled}\n />\n );\n};\n\nconst FilterChipSelectInput = assignWithoutSideEffects(_FilterChipSelectInput, {\n componentId: dropdownComponentIds.triggers.FilterChipSelectInput,\n});\n\nexport { FilterChipSelectInput };\n"],"names":["_FilterChipSelectInput","props","_options$find$title","_options$find","idBase","useId","onClick","onBlur","onKeyDown","accessibilityLabel","testID","value","onClearButtonClick","label","onChange","name","isDisabled","rest","_objectWithoutProperties","_excluded","_React$useState","React","useState","_React$useState2","_slicedToArray","uncontrolledInputValue","setUncontrolledInputValue","isFirstRender","useFirstRender","_useDropdown","useDropdown","options","selectedIndices","onTriggerClick","onTriggerKeydown","dropdownBaseId","isOpen","activeIndex","hasFooterAction","triggererRef","selectionType","isControlled","setSelectedIndices","controlledValueIndices","changeCallbackTriggerer","valueTitle","find","option","title","isUnControlled","length","undefined","_useListViewFilterCon","useListViewFilterContext","listViewSelectedFilters","setListViewSelectedFilters","_useFilterChipGroupCo","useFilterChipGroupContext","clearFilterCallbackTriggerer","setFilterChipGroupSelectedFilters","getValuesArrayFromIndices","indices","map","selectionIndex","useEffect","valueNotEmpty","trim","Array","isArray","currentSelectedValues","i","_options$i","isSingleValueSynced","isMultiValueSynced","every","v","includes","isValueAndSelectedIndicesSynced","savedIndices","inputValue","prev","concat","_toConsumableArray","newSelectedIndices","findIndex","index","filter","getTitleFromValue","getUnControlledFilterChipValue","handleClearButtonClick","_props$onClearButtonC","_props$onChange","call","values","_","updatedFilters","_toPropertyKey","_props$onChange2","isValueEmpty","_objectSpread","_defineProperty","handleKeyDown","e","event","key","preventDefault","stopPropagation","_jsx","BaseFilterChip","ref","accessibilityProps","hasPopup","getActionListContainerRole","expanded","controls","activeDescendant","FilterChipSelectInput","assignWithoutSideEffects","componentId","dropdownComponentIds","triggers"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA2BA,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAIC,KAAiC,EAAyB;EAAA,IAAAC,mBAAA,EAAAC,aAAA,CAAA;AACxF,EAAA,IAAMC,MAAM,GAAGC,KAAK,CAAC,0BAA0B,CAAC,CAAA;AAChD,EAAA,IACEC,QAAO,GAYLL,KAAK,CAZPK,OAAO;IACPC,OAAM,GAWJN,KAAK,CAXPM,MAAM;IACNC,SAAS,GAUPP,KAAK,CAVPO,SAAS;IACTC,kBAAkB,GAShBR,KAAK,CATPQ,kBAAkB;IAClBC,MAAM,GAQJT,KAAK,CARPS,MAAM;IACNC,KAAK,GAOHV,KAAK,CAPPU,KAAK;IACLC,kBAAkB,GAMhBX,KAAK,CANPW,kBAAkB;IAClBC,KAAK,GAKHZ,KAAK,CALPY,KAAK;IACLC,QAAQ,GAINb,KAAK,CAJPa,QAAQ;IACRC,IAAI,GAGFd,KAAK,CAHPc,IAAI;IACJC,UAAU,GAERf,KAAK,CAFPe,UAAU;AACPC,IAAAA,IAAI,GAAAC,wBAAA,CACLjB,KAAK,EAAAkB,SAAA,CAAA,CAAA;AACT,EAAA,IAAAC,eAAA,GAA4DC,cAAK,CAACC,QAAQ,CAAW,EAAE,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAJ,eAAA,EAAA,CAAA,CAAA;AAAjFK,IAAAA,sBAAsB,GAAAF,gBAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,yBAAyB,GAAAH,gBAAA,CAAA,CAAA,CAAA,CAAA;AACxD,EAAA,IAAMI,aAAa,GAAGC,cAAc,EAAE,CAAA;AAEtC,EAAA,IAAAC,YAAA,GAeIC,WAAW,EAAE;IAdfC,OAAO,GAAAF,YAAA,CAAPE,OAAO;IACPC,eAAe,GAAAH,YAAA,CAAfG,eAAe;IACfC,cAAc,GAAAJ,YAAA,CAAdI,cAAc;IACdC,gBAAgB,GAAAL,YAAA,CAAhBK,gBAAgB;IAChBC,cAAc,GAAAN,YAAA,CAAdM,cAAc;IACdC,MAAM,GAAAP,YAAA,CAANO,MAAM;IACNC,WAAW,GAAAR,YAAA,CAAXQ,WAAW;IACXC,eAAe,GAAAT,YAAA,CAAfS,eAAe;IACfC,YAAY,GAAAV,YAAA,CAAZU,YAAY;IACZC,aAAa,GAAAX,YAAA,CAAbW,aAAa;IACbC,YAAY,GAAAZ,YAAA,CAAZY,YAAY;IACZC,kBAAkB,GAAAb,YAAA,CAAlBa,kBAAkB;IAClBC,sBAAsB,GAAAd,YAAA,CAAtBc,sBAAsB;IACtBC,uBAAuB,GAAAf,YAAA,CAAvBe,uBAAuB,CAAA;EAEzB,IAAMC,UAAU,GAAA3C,CAAAA,mBAAA,GAAAC,CAAAA,aAAA,GAAG4B,OAAO,CAACe,IAAI,CAAC,UAACC,MAAM,EAAA;AAAA,IAAA,OAAKA,MAAM,CAACpC,KAAK,KAAKA,KAAK,CAAA;GAAC,CAAA,MAAA,IAAA,IAAAR,aAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhDA,aAAA,CAAkD6C,KAAK,MAAA,IAAA,IAAA9C,mBAAA,KAAA,KAAA,CAAA,GAAAA,mBAAA,GAAIS,KAAK,CAAA;AAEnF,EAAA,IAAMsC,cAAc,GAAGlB,OAAO,CAACmB,MAAM,GAAG,CAAC,IAAIjD,KAAK,CAACU,KAAK,KAAKwC,SAAS,CAAA;AACtE;AACA,EAAA,IAAAC,qBAAA,GAAgEC,wBAAwB,EAAE;IAAlFC,uBAAuB,GAAAF,qBAAA,CAAvBE,uBAAuB;IAAEC,0BAA0B,GAAAH,qBAAA,CAA1BG,0BAA0B,CAAA;AAC3D,EAAA,IAAAC,qBAAA,GAGIC,yBAAyB,EAAE;IAF7BC,4BAA4B,GAAAF,qBAAA,CAA5BE,4BAA4B;IAC5BC,iCAAiC,GAAAH,qBAAA,CAAjCG,iCAAiC,CAAA;AAGnC,EAAA,IAAMC,yBAAyB,GAAG,SAA5BA,yBAAyBA,GAAmB;IAChD,IAAIC,OAAiB,GAAG,EAAE,CAAA;AAC1B,IAAA,IAAIpB,YAAY,EAAE;AAChBoB,MAAAA,OAAO,GAAGlB,sBAAsB,CAAA;AAClC,KAAC,MAAM;AACLkB,MAAAA,OAAO,GAAG7B,eAAe,CAAA;AAC3B,KAAA;AAEA,IAAA,OAAO6B,OAAO,CAACC,GAAG,CAAC,UAACC,cAAc,EAAA;AAAA,MAAA,OAAKhC,OAAO,CAACgC,cAAc,CAAC,CAACpD,KAAK,CAAA;KAAC,CAAA,CAAA;GACtE,CAAA;AAEDqD,EAAAA,SAAS,CAAC,YAAM;IACd,IAAMC,aAAa,GAChB,OAAOtD,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACuD,IAAI,EAAE,KAAK,EAAE,IAChDC,KAAK,CAACC,OAAO,CAACzD,KAAK,CAAC,IAAIA,KAAK,CAACuC,MAAM,GAAG,CAAE,CAAA;;AAE5C;AACA,IAAA,IAAMmB,qBAAqB,GAAGrC,eAAe,CAAC8B,GAAG,CAAC,UAACQ,CAAC,EAAA;AAAA,MAAA,IAAAC,UAAA,CAAA;MAAA,OAAAA,CAAAA,UAAA,GAAKxC,OAAO,CAACuC,CAAC,CAAC,MAAA,IAAA,IAAAC,UAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAA,CAAY5D,KAAK,CAAA;KAAC,CAAA,CAAA;AAC3E,IAAA,IAAM6D,mBAAmB,GACvB,OAAO7D,KAAK,KAAK,QAAQ,IACzB0D,qBAAqB,CAACnB,MAAM,KAAK,CAAC,IAClCmB,qBAAqB,CAAC,CAAC,CAAC,KAAK1D,KAAK,CAAA;IAEpC,IAAM8D,kBAAkB,GACtBN,KAAK,CAACC,OAAO,CAACzD,KAAK,CAAC,IACpBA,KAAK,CAACuC,MAAM,KAAKmB,qBAAqB,CAACnB,MAAM,IAC7CvC,KAAK,CAAC+D,KAAK,CAAC,UAACC,CAAC,EAAA;AAAA,MAAA,OAAKN,qBAAqB,CAACO,QAAQ,CAACD,CAAC,CAAC,CAAA;KAAC,CAAA,CAAA;AAEvD,IAAA,IAAME,+BAA+B,GAAGL,mBAAmB,IAAIC,kBAAkB,CAAA;AAEjF,IAAA,IAAIxB,cAAc,EAAE;AAClB,MAAA,IAAIK,uBAAuB,CAACzC,KAAK,CAAC,EAAE;AAClC,QAAA,IAAMiE,YAAY,GAAIxB,uBAAuB,CAACzC,KAAK,CAAyB,CAAA;QAC5E6B,kBAAkB,CAACoC,YAAY,CAAC,CAAA;AAChC,QAAA,IAAMC,UAAU,GAAGD,YAAY,CAAChB,GAAG,CAAC,UAACC,cAAc,EAAA;AAAA,UAAA,OAAKhC,OAAO,CAACgC,cAAc,CAAC,CAACpD,KAAK,CAAA;SAAC,CAAA,CAAA;QACtFe,yBAAyB,CAACqD,UAAU,CAAC,CAAA;QACrCpB,iCAAiC,CAAC,UAACqB,IAAI,EAAA;AAAA,UAAA,OACrCA,IAAI,CAACJ,QAAQ,CAAC/D,KAAK,CAAC,GAAGmE,IAAI,GAAAC,EAAAA,CAAAA,MAAA,CAAAC,kBAAA,CAAOF,IAAI,CAAA,EAAA,CAAEnE,KAAK,CAAC,CAAA,CAAA;AAAA,SAChD,CAAC,CAAA;AACH,OAAC,MAAM;QACL6B,kBAAkB,CAAC,EAAE,CAAC,CAAA;AACxB,OAAA;AACF,KAAC,MAAM,IAAIY,uBAAuB,CAACzC,KAAK,CAAC,EAAE;AACzC,MAAA,IAAMiE,aAAY,GAAIxB,uBAAuB,CAACzC,KAAK,CAAyB,CAAA;MAC5E6B,kBAAkB,CAACoC,aAAY,CAAC,CAAA;AAChC;AACF,KAAC,MAAM,IAAIb,aAAa,IAAI,CAACY,+BAA+B,IAAI9C,OAAO,CAACmB,MAAM,GAAG,CAAC,EAAE;AAClF,MAAA,IAAMiC,kBAAkB,GACtB,OAAOxE,KAAK,KAAK,QAAQ,GACrB,CAACoB,OAAO,CAACqD,SAAS,CAAC,UAACrC,MAAM,EAAA;AAAA,QAAA,OAAKA,MAAM,CAACpC,KAAK,KAAKA,KAAK,CAAA;OAAC,CAAA,CAAC,GACvDoB,OAAO,CACJ+B,GAAG,CAAC,UAACf,MAAM,EAAEsC,KAAK,EAAA;AAAA,QAAA,OAAM1E,KAAK,CAACiE,QAAQ,CAAC7B,MAAM,CAACpC,KAAK,CAAC,GAAG0E,KAAK,GAAG,CAAC,CAAC,CAAA;AAAA,OAAC,CAAC,CACnEC,MAAM,CAAC,UAACD,KAAK,EAAA;QAAA,OAAKA,KAAK,KAAK,CAAC,CAAC,CAAA;OAAC,CAAA,CAAA;MACxC3C,kBAAkB,CAACyC,kBAAkB,CAAC,CAAA;AACxC,KAAA;AACA;AACF,GAAC,EAAE,CAAClC,cAAc,EAAElB,OAAO,CAAC,CAAC,CAAA;AAE7B,EAAA,IAAMwD,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAI5E,KAAa,EAAa;AACnD,IAAA,IAAMoC,MAAM,GAAGhB,OAAO,CAACe,IAAI,CAAC,UAACC,MAAM,EAAA;AAAA,MAAA,OAAKA,MAAM,CAACpC,KAAK,KAAKA,KAAK,CAAA;KAAC,CAAA,CAAA;AAC/D,IAAA,OAAOoC,MAAM,GAAGA,MAAM,CAACC,KAAK,GAAG,EAAE,CAAA;GAClC,CAAA;AAED,EAAA,IAAMwC,8BAA8B,GAAG,SAAjCA,8BAA8BA,GAA4B;IAC9D,IAAIhD,aAAa,KAAK,QAAQ,EAAE;AAC9B,MAAA,IAAIf,sBAAsB,CAACyB,MAAM,GAAG,CAAC,EAAE;AACrC,QAAA,OAAOqC,iBAAiB,CAAC9D,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAA;AACrD,OAAA;AACA,MAAA,OAAO,EAAE,CAAA;AACX,KAAA;AACA,IAAA,OAAOA,sBAAsB,CAAA;GAC9B,CAAA;AAED,EAAA,IAAMgE,sBAAsB,GAAG,SAAzBA,sBAAsBA,GAAe;IAAA,IAAAC,qBAAA,EAAAC,eAAA,CAAA;AACzC,IAAA,CAAAD,qBAAA,GAAAzF,KAAK,CAACW,kBAAkB,MAAA,IAAA,IAAA8E,qBAAA,KAAA,KAAA,CAAA,IAAxBA,qBAAA,CAAAE,IAAA,CAAA3F,KAAK,EAAsB;AAAEc,MAAAA,IAAI,EAAEA,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,IAAI,GAAIX,MAAM;MAAEyF,MAAM,EAAEjC,yBAAyB,EAAC;AAAE,KAAC,CAAC,CAAA;AACzF,IAAA,CAAA+B,eAAA,GAAA1F,KAAK,CAACa,QAAQ,MAAA,IAAA,IAAA6E,eAAA,KAAA,KAAA,CAAA,IAAdA,eAAA,CAAAC,IAAA,CAAA3F,KAAK,EAAY;AAAEc,MAAAA,IAAI,EAAEA,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,IAAI,GAAIX,MAAM;AAAEyF,MAAAA,MAAM,EAAE,EAAA;AAAG,KAAC,CAAC,CAAA;IACtDlC,iCAAiC,CAAC,UAACqB,IAAI,EAAA;AAAA,MAAA,OAAKA,IAAI,CAACM,MAAM,CAAC,UAACA,MAAM,EAAA;QAAA,OAAKA,MAAM,KAAKzE,KAAK,CAAA;OAAC,CAAA,CAAA;KAAC,CAAA,CAAA;IACtF0C,0BAA0B,CAAC,UAACyB,IAAI,EAAK;AACnC,MAAA,IAAiBc,CAAC,GAAwBd,IAAI,CAArCnE,KAAK,CAAA;QAASkF,cAAc,GAAA7E,wBAAA,CAAK8D,IAAI,GAArCnE,KAAK,CAAA,CAAAiD,GAAA,CAAAkC,cAAA,CAAA,CAAA,CAAA;AACd,MAAA,OAAOD,cAAc,CAAA;AACvB,KAAC,CAAC,CAAA;IACFrE,yBAAyB,CAAC,EAAE,CAAC,CAAA;IAC7BgB,kBAAkB,CAAC,EAAE,CAAC,CAAA;GACvB,CAAA;AAEDsB,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAIN,4BAA4B,EAAE;AAChC+B,MAAAA,sBAAsB,EAAE,CAAA;AAC1B,KAAA;AACA;AACF,GAAC,EAAE,CAAC/B,4BAA4B,CAAC,CAAC,CAAA;AAElCM,EAAAA,SAAS,CAAC,YAAM;IACd,IAAI,CAACrC,aAAa,EAAE;AAAA,MAAA,IAAAsE,gBAAA,CAAA;AAClB,MAAA,CAAAA,gBAAA,GAAAhG,KAAK,CAACa,QAAQ,MAAA,IAAA,IAAAmF,gBAAA,KAAA,KAAA,CAAA,IAAdA,gBAAA,CAAAL,IAAA,CAAA3F,KAAK,EAAY;AACfc,QAAAA,IAAI,EAAEd,KAAK,CAACc,IAAI,IAAIX,MAAM;QAC1ByF,MAAM,EAAEjC,yBAAyB,EAAC;AACpC,OAAC,CAAC,CAAA;AACF,MAAA,IAAIX,cAAc,EAAE;AAClBvB,QAAAA,yBAAyB,CAACkC,yBAAyB,EAAE,CAAC,CAAA;AACxD,OAAA;AACF,KAAA;AACA;AACF,GAAC,EAAE,CAAChB,uBAAuB,CAAC,CAAC,CAAA;AAC7BoB,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAMkC,YAAY,GAAGlE,eAAe,CAACkB,MAAM,KAAK,CAAC,CAAA;AACjD,IAAA,IAAI,CAACvB,aAAa,IAAI,CAACuE,YAAY,EAAE;MACnCvC,iCAAiC,CAAC,UAACqB,IAAI,EAAA;AAAA,QAAA,OAAMA,IAAI,CAACJ,QAAQ,CAAC/D,KAAK,CAAC,GAAGmE,IAAI,GAAAC,EAAAA,CAAAA,MAAA,CAAAC,kBAAA,CAAOF,IAAI,CAAA,EAAA,CAAEnE,KAAK,CAAC,CAAA,CAAA;AAAA,OAAC,CAAC,CAAA;MAC7F0C,0BAA0B,CAAC,UAACyB,IAAI,EAAA;QAAA,OAAAmB,aAAA,CAAAA,aAAA,CAC3BnB,EAAAA,EAAAA,IAAI,OAAAoB,eAAA,CAAA,EAAA,EACNvF,KAAK,EAAGmB,eAAe,CAAA,CAAA,CAAA;AAAA,OACxB,CAAC,CAAA;AACL,KAAC,MAAM,IAAI,CAACL,aAAa,IAAIuE,YAAY,EAAE;MACzCvC,iCAAiC,CAAC,UAACqB,IAAI,EAAA;AAAA,QAAA,OAAKA,IAAI,CAACM,MAAM,CAAC,UAACA,MAAM,EAAA;UAAA,OAAKA,MAAM,KAAKzE,KAAK,CAAA;SAAC,CAAA,CAAA;OAAC,CAAA,CAAA;MACtF0C,0BAA0B,CAAC,UAACyB,IAAI,EAAK;AACnC,QAAA,IAAiBc,CAAC,GAAwBd,IAAI,CAArCnE,KAAK,CAAA;UAASkF,cAAc,GAAA7E,wBAAA,CAAK8D,IAAI,GAArCnE,KAAK,CAAA,CAAAiD,GAAA,CAAAkC,cAAA,CAAA,CAAA,CAAA;AACd,QAAA,OAAOD,cAAc,CAAA;AACvB,OAAC,CAAC,CAAA;AACJ,KAAA;AACA;AACF,GAAC,EAAE,CAACnD,uBAAuB,CAAC,CAAC,CAAA;AAE7B,EAAA,IAAMyD,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,CAA+B,EAAW;AAC/D9F,IAAAA,SAAS,aAATA,SAAS,KAAA,KAAA,CAAA,IAATA,SAAS,CAAG8F,CAAC,CAAC,CAAA;AACdpE,IAAAA,gBAAgB,KAAhBA,IAAAA,IAAAA,gBAAgB,KAAhBA,KAAAA,CAAAA,IAAAA,gBAAgB,CAAG;AAAEqE,MAAAA,KAAK,EAAED,CAAAA;AAA2C,KAAC,CAAC,CAAA;AAEzE,IAAA,IAAIA,CAAC,CAACE,GAAG,KAAK,QAAQ,EAAE;MACtBF,CAAC,CAACG,cAAc,EAAE,CAAA;MAClBH,CAAC,CAACI,eAAe,EAAE,CAAA;AACrB,KAAA;AAEA,IAAA,IAAI,CAACJ,CAAC,CAACE,GAAG,KAAK,OAAO,IAAIF,CAAC,CAACE,GAAG,KAAK,GAAG,KAAK,CAACpE,MAAM,EAAE;MACnDkE,CAAC,CAACG,cAAc,EAAE,CAAA;MAClBH,CAAC,CAACI,eAAe,EAAE,CAAA;AACnBzE,MAAAA,cAAc,EAAE,CAAA;AAClB,KAAA;GACD,CAAA;AACD,EAAA,oBACE0E,GAAA,CAACC,cAAc,EAAAT,aAAA,CAAAA,aAAA,CAAA;AACbtF,IAAAA,KAAK,EAAEA,KAAM;IACbF,KAAK,EAAEkC,UAAU,KAAVA,IAAAA,IAAAA,UAAU,cAAVA,UAAU,GAAI2C,8BAA8B,EAAG;AACtD5E,IAAAA,kBAAkB,EAAE6E,sBAAuB;AAC3CjD,IAAAA,aAAa,EAAEA,aAAAA;AAAc,GAAA,EACzBvB,IAAI,CAAA,EAAA,EAAA,EAAA;AACR4F,IAAAA,GAAG,EAAEtE,YAAoB;AACzB/B,IAAAA,SAAS,EAAE6F,aAAc;AACzBS,IAAAA,kBAAkB,EAAE;AAClBjG,MAAAA,KAAK,EAAEJ,kBAAkB,KAAA,IAAA,IAAlBA,kBAAkB,KAAlBA,KAAAA,CAAAA,GAAAA,kBAAkB,GAAII,KAAK;AAClCkG,MAAAA,QAAQ,EAAEC,0BAA0B,CAAC1E,eAAe,EAAE,uBAAuB,CAAC;AAC9E2E,MAAAA,QAAQ,EAAE7E,MAAM;AAChB8E,MAAAA,QAAQ,EAAAjC,EAAAA,CAAAA,MAAA,CAAK9C,cAAc,EAAa,aAAA,CAAA;AACxCgF,MAAAA,gBAAgB,EAAE9E,WAAW,IAAI,CAAC,GAAA4C,EAAAA,CAAAA,MAAA,CAAM9C,cAAc,EAAA8C,GAAAA,CAAAA,CAAAA,MAAA,CAAI5C,WAAW,CAAKc,GAAAA,SAAAA;KAC1E;AACF7C,IAAAA,OAAO,EAAE,SAATA,OAAOA,CAAGgG,CAAC,EAAK;AACdrE,MAAAA,cAAc,EAAE,CAAA;AAChB3B,MAAAA,QAAO,aAAPA,QAAO,KAAA,KAAA,CAAA,IAAPA,QAAO,CAAGgG,CAAC,CAAC,CAAA;KACZ;AACF/F,IAAAA,MAAM,EAAE,SAARA,MAAMA,CAAG+F,CAAC,EAAK;AACb/F,MAAAA,OAAM,aAANA,OAAM,KAAA,KAAA,CAAA,IAANA,OAAM,CAAG+F,CAAC,CAAC,CAAA;KACX;AACFtF,IAAAA,UAAU,EAAEA,UAAAA;AAAW,GAAA,CACxB,CAAC,CAAA;AAEN,CAAC,CAAA;AAED,IAAMoG,qBAAqB,gBAAGC,wBAAwB,CAACrH,sBAAsB,EAAE;AAC7EsH,EAAAA,WAAW,EAAEC,oBAAoB,CAACC,QAAQ,CAACJ,qBAAAA;AAC7C,CAAC;;;;"}
|
|
@@ -183,7 +183,7 @@ var _SideNav = function _SideNav(_ref5, ref) {
|
|
|
183
183
|
var l1ContainerRef = React__default.useRef(null);
|
|
184
184
|
var timeoutIdsRef = React__default.useRef([]);
|
|
185
185
|
var mouseOverTimeoutRef = React__default.useRef();
|
|
186
|
-
var
|
|
186
|
+
var prevIsSideNavCollapsedRef = React__default.useRef();
|
|
187
187
|
var _React$useState = React__default.useState(false),
|
|
188
188
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
189
189
|
isL1Collapsed = _React$useState2[0],
|
|
@@ -209,10 +209,10 @@ var _SideNav = function _SideNav(_ref5, ref) {
|
|
|
209
209
|
l2DrawerTitle = _React$useState10[0],
|
|
210
210
|
setL2DrawerTitle = _React$useState10[1];
|
|
211
211
|
var isMobile = useIsMobile();
|
|
212
|
-
var
|
|
213
|
-
var effectiveIsL1Collapsed = isMobile ? isMobileL2Open :
|
|
214
|
-
var effectiveIsL1Hovered =
|
|
215
|
-
var sideNavWidth =
|
|
212
|
+
var isSideNavCollapsed = _isExpanded === false;
|
|
213
|
+
var effectiveIsL1Collapsed = isMobile ? isMobileL2Open : isSideNavCollapsed || isL1Collapsed;
|
|
214
|
+
var effectiveIsL1Hovered = isSideNavCollapsed ? false : isL1Hovered;
|
|
215
|
+
var sideNavWidth = isSideNavCollapsed ? makeSize(COLLAPSED_L1_WIDTH) : {
|
|
216
216
|
base: makeSize(SIDE_NAV_EXPANDED_L1_WIDTH_BASE),
|
|
217
217
|
xl: makeSize(SIDE_NAV_EXPANDED_L1_WIDTH_XL)
|
|
218
218
|
};
|
|
@@ -261,7 +261,7 @@ var _SideNav = function _SideNav(_ref5, ref) {
|
|
|
261
261
|
});
|
|
262
262
|
return;
|
|
263
263
|
}
|
|
264
|
-
if (
|
|
264
|
+
if (isSideNavCollapsed) {
|
|
265
265
|
return;
|
|
266
266
|
}
|
|
267
267
|
|
|
@@ -312,11 +312,11 @@ var _SideNav = function _SideNav(_ref5, ref) {
|
|
|
312
312
|
isL1Collapsed: effectiveIsL1Collapsed,
|
|
313
313
|
setIsL1Collapsed: setIsL1Collapsed,
|
|
314
314
|
isL1Hovered: effectiveIsL1Hovered,
|
|
315
|
-
|
|
315
|
+
isSideNavCollapsed: isSideNavCollapsed
|
|
316
316
|
};
|
|
317
317
|
},
|
|
318
318
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
319
|
-
[effectiveIsL1Collapsed, effectiveIsL1Hovered,
|
|
319
|
+
[effectiveIsL1Collapsed, effectiveIsL1Hovered, isSideNavCollapsed, isMobile]);
|
|
320
320
|
React__default.useEffect(function () {
|
|
321
321
|
return function () {
|
|
322
322
|
var _iterator = _createForOfIteratorHelper(timeoutIdsRef.current),
|
|
@@ -335,23 +335,23 @@ var _SideNav = function _SideNav(_ref5, ref) {
|
|
|
335
335
|
};
|
|
336
336
|
}, []);
|
|
337
337
|
React__default.useEffect(function () {
|
|
338
|
-
if (!isMobile &&
|
|
338
|
+
if (!isMobile && isSideNavCollapsed && isL1Hovered) {
|
|
339
339
|
setIsL1Hovered(false);
|
|
340
340
|
}
|
|
341
|
-
}, [isMobile,
|
|
341
|
+
}, [isMobile, isSideNavCollapsed, isL1Hovered]);
|
|
342
342
|
React__default.useEffect(function () {
|
|
343
|
-
var
|
|
344
|
-
|
|
345
|
-
if (isMobile ||
|
|
343
|
+
var prevIsSideNavCollapsed = prevIsSideNavCollapsedRef.current;
|
|
344
|
+
prevIsSideNavCollapsedRef.current = isSideNavCollapsed;
|
|
345
|
+
if (isMobile || prevIsSideNavCollapsed === undefined) {
|
|
346
346
|
return;
|
|
347
347
|
}
|
|
348
|
-
if (
|
|
348
|
+
if (prevIsSideNavCollapsed !== isSideNavCollapsed) {
|
|
349
349
|
startL1Transition();
|
|
350
350
|
onExpandChange === null || onExpandChange === void 0 || onExpandChange({
|
|
351
|
-
isExpanded: !
|
|
351
|
+
isExpanded: !isSideNavCollapsed
|
|
352
352
|
});
|
|
353
353
|
}
|
|
354
|
-
}, [isMobile,
|
|
354
|
+
}, [isMobile, isSideNavCollapsed, onExpandChange, startL1Transition]);
|
|
355
355
|
return /*#__PURE__*/jsx(SideNavContext.Provider, {
|
|
356
356
|
value: contextValue,
|
|
357
357
|
children: isMobile && onDismiss ? /*#__PURE__*/jsxs(Fragment, {
|
|
@@ -391,7 +391,7 @@ var _SideNav = function _SideNav(_ref5, ref) {
|
|
|
391
391
|
}) : /*#__PURE__*/jsxs(StyledSideNavContainer, _objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
392
392
|
$isSideNavExpandable: typeof _isExpanded !== 'undefined',
|
|
393
393
|
ref: ref,
|
|
394
|
-
className:
|
|
394
|
+
className: isSideNavCollapsed ? COLLAPSED : '',
|
|
395
395
|
position: "fixed",
|
|
396
396
|
backgroundColor: backgroundColor,
|
|
397
397
|
height: "100%",
|
|
@@ -413,7 +413,7 @@ var _SideNav = function _SideNav(_ref5, ref) {
|
|
|
413
413
|
return;
|
|
414
414
|
}
|
|
415
415
|
onExpandTransitionEnd === null || onExpandTransitionEnd === void 0 || onExpandTransitionEnd({
|
|
416
|
-
isExpanded: !
|
|
416
|
+
isExpanded: !isSideNavCollapsed
|
|
417
417
|
});
|
|
418
418
|
},
|
|
419
419
|
children: [banner ? /*#__PURE__*/jsx(BannerContainer, {
|
|
@@ -425,7 +425,7 @@ var _SideNav = function _SideNav(_ref5, ref) {
|
|
|
425
425
|
width: "100%",
|
|
426
426
|
children: [/*#__PURE__*/jsx(StyledL2PortalContainer, {
|
|
427
427
|
position: "absolute",
|
|
428
|
-
display:
|
|
428
|
+
display: isSideNavCollapsed ? 'none' : 'block',
|
|
429
429
|
backgroundColor: backgroundColor,
|
|
430
430
|
height: "100%",
|
|
431
431
|
width: "100%",
|
|
@@ -474,7 +474,7 @@ var _SideNav = function _SideNav(_ref5, ref) {
|
|
|
474
474
|
// 6. But in case of unhover/leave, we don't want to trigger mouseOut for all child components individually. We want 1 hover out of L1 menu. Thus we use `onMouseLeave`
|
|
475
475
|
,
|
|
476
476
|
onMouseOver: function onMouseOver() {
|
|
477
|
-
if (!isMobile &&
|
|
477
|
+
if (!isMobile && isSideNavCollapsed) {
|
|
478
478
|
return;
|
|
479
479
|
}
|
|
480
480
|
if (mouseOverTimeoutRef.current) {
|
|
@@ -488,7 +488,7 @@ var _SideNav = function _SideNav(_ref5, ref) {
|
|
|
488
488
|
}
|
|
489
489
|
},
|
|
490
490
|
onMouseLeave: function onMouseLeave() {
|
|
491
|
-
if (!isMobile &&
|
|
491
|
+
if (!isMobile && isSideNavCollapsed) {
|
|
492
492
|
return;
|
|
493
493
|
}
|
|
494
494
|
if (isL1Collapsed && isL1Hovered) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNav.web.js","sources":["../../../../../../src/components/SideNav/SideNav.web.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { SideNavContext } from './SideNavContext';\nimport {\n classes,\n COLLAPSED_L1_WIDTH,\n HOVER_AGAIN_DELAY,\n L1_EXIT_HOVER_DELAY,\n SKIP_NAV_ID,\n TRANSITION_CLEANUP_DELAY,\n SIDE_NAV_EXPANDED_L1_WIDTH_BASE,\n SIDE_NAV_EXPANDED_L1_WIDTH_XL,\n} from './tokens';\nimport type { SideNavContextType, SideNavProps } from './types';\nimport type { BladeElementRef } from '~utils/types';\nimport { size as sizeTokens } from '~tokens/global';\nimport { makeBorderSize, makeMotionTime, makeSize, makeSpace } from '~utils';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport BaseBox from '~components/Box/BaseBox';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { Drawer, DrawerBody, DrawerHeader } from '~components/Drawer';\nimport { SkipNavContent, SkipNavLink } from '~components/SkipNav/SkipNav';\n\nconst {\n COLLAPSED,\n SHOW_WHEN_COLLAPSED,\n HIDE_WHEN_COLLAPSED,\n TRANSITIONING,\n L1_ITEM_WRAPPER,\n} = classes;\n\nconst MobileL1Container = styled(BaseBox)(() => {\n return {\n [`.${SHOW_WHEN_COLLAPSED}`]: {\n display: 'none',\n },\n };\n});\n\nconst StyledL1Menu = styled(BaseBox)<{ $isSideNavExpandable: boolean }>((props) => {\n const quick = makeMotionTime(props.theme.motion.duration.quick);\n const xmoderate = makeMotionTime(props.theme.motion.duration.xmoderate);\n const easing = props.theme.motion.easing;\n\n const l1Expand = `width ${xmoderate} ${easing.entrance}`;\n const l1Collapse = `width ${quick} ${easing.exit}`;\n\n const textVisibilityProps = props.$isSideNavExpandable\n ? {}\n : {\n [`.${SHOW_WHEN_COLLAPSED}`]: {\n display: 'none',\n },\n [`&.${COLLAPSED}`]: {\n width: makeSize(COLLAPSED_L1_WIDTH),\n transition: l1Collapse,\n [`& > .${L1_ITEM_WRAPPER}`]: {\n padding: `${makeSpace(props.theme.spacing[3])} ${makeSpace(props.theme.spacing[3])}`,\n },\n [`&:not(.${TRANSITIONING}) .${HIDE_WHEN_COLLAPSED}`]: {\n display: 'none',\n },\n [`&:not(.${TRANSITIONING}) .${SHOW_WHEN_COLLAPSED}`]: {\n display: 'initial',\n },\n },\n };\n\n return {\n width: '100%',\n // the overall sidenav expands and collapses in this case. No need transition here\n transition: props.$isSideNavExpandable ? 'none' : l1Expand,\n [`& > .${L1_ITEM_WRAPPER}`]: {\n padding: makeSpace(props.theme.spacing[3]),\n },\n ...textVisibilityProps,\n };\n});\n\nconst StyledSideNavContainer = styled(BaseBox)<{ $isSideNavExpandable: boolean }>((props) => {\n const quick = makeMotionTime(props.theme.motion.duration.quick);\n const xmoderate = makeMotionTime(props.theme.motion.duration.xmoderate);\n const easing = props.theme.motion.easing;\n\n const sideNavExpand = `width ${xmoderate} ${easing.entrance}`;\n const sideNavCollapse = `width ${quick} ${easing.exit}`;\n\n if (!props.$isSideNavExpandable) {\n return {};\n }\n\n return {\n transition: sideNavExpand,\n [`&.${COLLAPSED}`]: {\n width: makeSize(COLLAPSED_L1_WIDTH),\n transition: sideNavCollapse,\n [`&:not(.${TRANSITIONING}) .${HIDE_WHEN_COLLAPSED}`]: {\n opacity: '0',\n pointerEvents: 'none',\n transition: `opacity ${quick} ${easing.exit}`,\n },\n [`&:not(.${TRANSITIONING}) .${SHOW_WHEN_COLLAPSED}`]: {\n opacity: '1',\n pointerEvents: 'auto',\n transition: `opacity ${quick} ${easing.entrance}`,\n },\n },\n [`.${SHOW_WHEN_COLLAPSED}`]: {\n opacity: '0',\n pointerEvents: 'none',\n transition: `opacity ${quick} ${easing.exit}`,\n },\n [`.${HIDE_WHEN_COLLAPSED}`]: {\n opacity: '1',\n pointerEvents: 'auto',\n transition: `opacity ${quick} ${easing.entrance}`,\n },\n };\n});\n\nconst StyledL2PortalContainer = styled(BaseBox)(() => {\n return {\n // This ensures that the portal node has 100% height when it has items\n '& > div:not(:empty)': {\n height: '100%',\n },\n };\n});\n\nconst getL1MenuClassName = ({\n isL1Collapsed,\n isL1Hovered,\n isTransitioning,\n}: {\n isL1Collapsed: boolean;\n isL1Hovered: boolean;\n isTransitioning: boolean;\n}): string => {\n const isMenuCollapsed = isL1Collapsed && !isL1Hovered;\n\n if (isMenuCollapsed) {\n if (isTransitioning) {\n return `${COLLAPSED} ${TRANSITIONING}`;\n }\n\n return COLLAPSED;\n }\n\n return '';\n};\n\nconst BannerContainer = styled(BaseBox)((props) => {\n return {\n '&:not(:empty)': {\n borderBottom: makeBorderSize(props.theme.border.width.thin),\n borderBottomStyle: 'solid',\n borderBottomColor: props.theme.colors.surface.border.gray.muted,\n borderRight: makeBorderSize(props.theme.border.width.thin),\n borderRightStyle: 'solid',\n borderRightColor: props.theme.colors.surface.border.gray.muted,\n padding: makeSpace(props.theme.spacing[3]),\n maxHeight: makeSize(sizeTokens['100']),\n width: '100%',\n },\n };\n});\n\n/**\n * ### SideNav component\n *\n * The side navigation is positioned along the left side of the screen that provides quick access to different sections or functionalities of the application.\n *\n * ---\n *\n * #### Usage\n *\n * SideNav requires handling active state with React Router, Checkout Usage with React Router v6 at - [SideNav Documentation](https://blade.razorpay.com/?path=/docs/components-sidenav--docs)\n *\n */\nconst _SideNav = (\n {\n children,\n isOpen,\n onDismiss,\n onVisibleLevelChange,\n onExpandChange,\n onExpandTransitionEnd,\n banner,\n backgroundColor = 'surface.background.gray.moderate',\n testID,\n isExpanded: _isExpanded,\n ...rest\n }: SideNavProps,\n ref: React.Ref<BladeElementRef>,\n): React.ReactElement => {\n const l2PortalContainerRef = React.useRef(null);\n const l1ContainerRef = React.useRef<HTMLDivElement>(null);\n const timeoutIdsRef = React.useRef<NodeJS.Timeout[]>([]);\n const mouseOverTimeoutRef = React.useRef<NodeJS.Timeout>();\n const prevIsSideNavFullyCollapsedRef = React.useRef<boolean>();\n const [isL1Collapsed, setIsL1Collapsed] = React.useState(false);\n const [isMobileL2Open, setIsMobileL2Open] = React.useState(false);\n const [isL1Hovered, setIsL1Hovered] = React.useState(false);\n const [isHoverAgainEnabled, setIsHoverAgainEnabled] = React.useState(true);\n const [isTransitioning, setIsTransitioning] = React.useState(false);\n const [l2DrawerTitle, setL2DrawerTitle] = React.useState('');\n\n const isMobile = useIsMobile();\n const isSideNavFullyCollapsed = _isExpanded === false;\n\n const effectiveIsL1Collapsed = isMobile\n ? isMobileL2Open\n : isSideNavFullyCollapsed || isL1Collapsed;\n\n const effectiveIsL1Hovered = isSideNavFullyCollapsed ? false : isL1Hovered;\n const sideNavWidth = isSideNavFullyCollapsed\n ? makeSize(COLLAPSED_L1_WIDTH)\n : {\n base: makeSize(SIDE_NAV_EXPANDED_L1_WIDTH_BASE),\n xl: makeSize(SIDE_NAV_EXPANDED_L1_WIDTH_XL),\n };\n\n const closeMobileNav = (): void => {\n if (isMobile) {\n setIsMobileL2Open(false);\n onDismiss?.();\n onVisibleLevelChange?.({ visibleLevel: 0 });\n }\n };\n\n const cleanupTransition = React.useCallback((): void => {\n const clearTransitionTimeout = setTimeout(() => {\n setIsTransitioning((isCurrentlyTransitioning) =>\n isCurrentlyTransitioning ? false : isCurrentlyTransitioning,\n );\n }, TRANSITION_CLEANUP_DELAY);\n timeoutIdsRef.current.push(clearTransitionTimeout);\n }, []);\n\n const startL1Transition = React.useCallback((): void => {\n setIsTransitioning(true);\n cleanupTransition();\n }, [cleanupTransition]);\n\n const collapseL1 = (title: string): void => {\n if (isMobile) {\n setL2DrawerTitle(title);\n setIsMobileL2Open(true);\n onVisibleLevelChange?.({ visibleLevel: 2 });\n return;\n }\n\n if (!isL1Collapsed) {\n setIsL1Collapsed(true);\n onVisibleLevelChange?.({ visibleLevel: 2 });\n }\n };\n\n const expandL1 = (): void => {\n if (isMobile) {\n setIsMobileL2Open(false);\n onVisibleLevelChange?.({ visibleLevel: 1 });\n return;\n }\n\n if (isSideNavFullyCollapsed) {\n return;\n }\n\n // Ensures that if Normal L1 item is clicked, the L1 stays expanded\n if (isL1Collapsed) {\n setIsL1Collapsed(false);\n // We want to avoid calling onVisibleLevelChange twice when L1 is hovered and then item on L1 is selected\n if (!isL1Hovered) {\n onVisibleLevelChange?.({ visibleLevel: 1 });\n }\n }\n };\n\n /**\n * Handles L1 -> L2 menu changes based on active item\n */\n const onLinkActiveChange: SideNavContextType['onLinkActiveChange'] = (args) => {\n const isL1ItemActive = args.level === 1 && args.isActive;\n\n if (isL1ItemActive) {\n if (args.isL2Trigger) {\n // Click on L2 Trigger\n collapseL1(args.title);\n\n // `args.isFirstRender` checks if the item that triggered this change, triggered it during first render or during subsequent change\n if (!args.isFirstRender) {\n startL1Transition();\n setIsL1Hovered(false);\n setIsHoverAgainEnabled(false);\n // For some delay, we disable hover to expand behaviour to avoid buggy flicker when cursor is on L1 while its trying to close\n const hoverAgainTimeout = setTimeout(() => {\n setIsHoverAgainEnabled(true);\n }, HOVER_AGAIN_DELAY);\n timeoutIdsRef.current.push(hoverAgainTimeout);\n }\n } else {\n // Click on normal L1 Item\n expandL1();\n }\n }\n };\n\n const contextValue = React.useMemo(\n () => ({\n l2PortalContainerRef,\n onLinkActiveChange,\n closeMobileNav,\n isL1Collapsed: effectiveIsL1Collapsed,\n setIsL1Collapsed,\n isL1Hovered: effectiveIsL1Hovered,\n isSideNavFullyCollapsed,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [effectiveIsL1Collapsed, effectiveIsL1Hovered, isSideNavFullyCollapsed],\n );\n\n React.useEffect(() => {\n return () => {\n for (const timeoutId of timeoutIdsRef.current) {\n clearTimeout(timeoutId);\n }\n timeoutIdsRef.current = [];\n };\n }, []);\n\n React.useEffect(() => {\n if (!isMobile && isSideNavFullyCollapsed && isL1Hovered) {\n setIsL1Hovered(false);\n }\n }, [isMobile, isSideNavFullyCollapsed, isL1Hovered]);\n\n React.useEffect(() => {\n const prevIsSideNavFullyCollapsed = prevIsSideNavFullyCollapsedRef.current;\n prevIsSideNavFullyCollapsedRef.current = isSideNavFullyCollapsed;\n\n if (isMobile || prevIsSideNavFullyCollapsed === undefined) {\n return;\n }\n\n if (prevIsSideNavFullyCollapsed !== isSideNavFullyCollapsed) {\n startL1Transition();\n onExpandChange?.({ isExpanded: !isSideNavFullyCollapsed });\n }\n }, [isMobile, isSideNavFullyCollapsed, onExpandChange, startL1Transition]);\n\n return (\n <SideNavContext.Provider value={contextValue}>\n {isMobile && onDismiss ? (\n <>\n {/* L1 */}\n <Drawer isOpen={isOpen ?? false} onDismiss={closeMobileNav}>\n <DrawerHeader title=\"Main Menu\" />\n <DrawerBody>\n <MobileL1Container\n display=\"flex\"\n flexDirection=\"column\"\n justifyContent=\"space-between\"\n className=\"mobile-l1-container\"\n height=\"100%\"\n {...metaAttribute({\n name: MetaConstants.SideNav,\n testID,\n })}\n >\n {children}\n </MobileL1Container>\n </DrawerBody>\n </Drawer>\n {/* L2 */}\n <Drawer isOpen={isMobileL2Open} onDismiss={() => expandL1()} isLazy={false}>\n <DrawerHeader title={l2DrawerTitle} />\n <DrawerBody>\n <BaseBox ref={l2PortalContainerRef} />\n </DrawerBody>\n </Drawer>\n </>\n ) : (\n <StyledSideNavContainer\n $isSideNavExpandable={typeof _isExpanded !== 'undefined'}\n ref={ref as never}\n className={isSideNavFullyCollapsed ? COLLAPSED : ''}\n position=\"fixed\"\n backgroundColor={backgroundColor}\n height=\"100%\"\n top=\"spacing.0\"\n left=\"spacing.0\"\n display={{ base: 'none', m: 'flex' }}\n flexDirection=\"column\"\n width={sideNavWidth}\n as=\"nav\"\n {...metaAttribute({\n name: MetaConstants.SideNav,\n testID,\n })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n onTransitionEnd={(e) => {\n if (e.target !== e.currentTarget || e.propertyName !== 'width' || isMobile) {\n return;\n }\n\n onExpandTransitionEnd?.({\n isExpanded: !isSideNavFullyCollapsed,\n });\n }}\n >\n {banner ? <BannerContainer>{banner}</BannerContainer> : null}\n <BaseBox position=\"relative\" display=\"block\" flex=\"1\" width=\"100%\">\n <StyledL2PortalContainer\n position=\"absolute\"\n display={isSideNavFullyCollapsed ? 'none' : 'block'}\n backgroundColor={backgroundColor}\n height=\"100%\"\n width=\"100%\"\n top=\"spacing.0\"\n left=\"spacing.0\"\n id=\"blade-sidenav-l2\"\n borderRightWidth=\"thin\"\n borderRightColor=\"surface.border.gray.muted\"\n ref={l2PortalContainerRef}\n />\n <StyledL1Menu\n ref={l1ContainerRef}\n id=\"blade-sidenav-l1\"\n className={getL1MenuClassName({\n isL1Collapsed: effectiveIsL1Collapsed,\n isL1Hovered: effectiveIsL1Hovered,\n isTransitioning,\n })}\n $isSideNavExpandable={typeof _isExpanded !== 'undefined'}\n position=\"absolute\"\n display=\"flex\"\n flexDirection=\"column\"\n justifyContent=\"space-between\"\n backgroundColor={backgroundColor}\n height=\"100%\"\n overflow=\"hidden\"\n top=\"spacing.0\"\n left=\"spacing.0\"\n borderRightWidth=\"thin\"\n borderRightColor=\"surface.border.gray.muted\"\n onTransitionEnd={(e) => {\n // This check ensures transitioning is set to false only when its true\n // And only the l1Container element's transitions are considered and other transitions of l1 expand or child elements are ignored\n if (isTransitioning && l1ContainerRef.current === e.target) {\n setIsTransitioning(false);\n }\n }}\n // Hmm you might be wondering, why is `onMouseOver` paired with `onMouseLeave`? A sane person would pair `onMouseOver` with `onMouseOut`, and `onMouseEnter` with `onMouseLeave`\n // since they are logical equivalents of each other. So why don't we do that? Hold tight, you're in for a ride ☕️.\n //\n // 1. In an ideal scenario, we would put `onMouseEnter` and `onMouseLeave` here and expect things to work.\n // 2. The L2 menu of our SideNav is React Portalled out of the L1 child\n // 3. React considers its own children as true children for JS events and not DOM children (Checkout React Portal Caveats - https://react.dev/reference/react-dom/createPortal#caveats)\n // 3. In the next ideal scenario, we would put `e.stopPropagation` on child component of portal like React recommends, except mouseenter, mouseleave events don't propagate at all (https://developer.mozilla.org/en-US/docs/Web/API/Element/mouseenter_event#usage_notes)\n // 4. So `onMouseEnter` gets triggered on L2 enter. But we don't want to open L1 menu on L2 hover\n // 5. Thus we use `onMouseOver` for hover part and call e.stopPropagation in portal child (SideNavLevel).\n // 6. But in case of unhover/leave, we don't want to trigger mouseOut for all child components individually. We want 1 hover out of L1 menu. Thus we use `onMouseLeave`\n onMouseOver={() => {\n if (!isMobile && isSideNavFullyCollapsed) {\n return;\n }\n if (mouseOverTimeoutRef.current) {\n clearTimeout(mouseOverTimeoutRef.current);\n }\n if (isL1Collapsed && isHoverAgainEnabled && !isL1Hovered) {\n setIsL1Hovered(true);\n onVisibleLevelChange?.({ visibleLevel: 1 });\n }\n }}\n onMouseLeave={() => {\n if (!isMobile && isSideNavFullyCollapsed) {\n return;\n }\n if (isL1Collapsed && isL1Hovered) {\n mouseOverTimeoutRef.current = setTimeout(() => {\n setIsL1Hovered(false);\n startL1Transition();\n onVisibleLevelChange?.({ visibleLevel: 2 });\n }, L1_EXIT_HOVER_DELAY);\n }\n // If L1 is collapsed and not hovered we want to change visible level to 2\n // This state/edgecase happens when user clicks on a nested nav and it collapses the L1 causing isL1Hovered to be false\n if (isL1Collapsed && !isL1Hovered) {\n onVisibleLevelChange?.({ visibleLevel: 2 });\n }\n }}\n >\n <SkipNavLink id={SKIP_NAV_ID} _hasBackground={true} />\n {children}\n </StyledL1Menu>\n <SkipNavContent id={SKIP_NAV_ID} />\n </BaseBox>\n </StyledSideNavContainer>\n )}\n </SideNavContext.Provider>\n );\n};\n\nconst SideNav = React.forwardRef(_SideNav);\n\nexport { SideNav };\n"],"names":["COLLAPSED","classes","SHOW_WHEN_COLLAPSED","HIDE_WHEN_COLLAPSED","TRANSITIONING","L1_ITEM_WRAPPER","MobileL1Container","styled","BaseBox","withConfig","displayName","componentId","_defineProperty","concat","display","StyledL1Menu","props","quick","makeMotionTime","theme","motion","duration","xmoderate","easing","l1Expand","entrance","l1Collapse","exit","textVisibilityProps","$isSideNavExpandable","width","makeSize","COLLAPSED_L1_WIDTH","transition","padding","makeSpace","spacing","_objectSpread","StyledSideNavContainer","sideNavExpand","sideNavCollapse","opacity","pointerEvents","StyledL2PortalContainer","height","getL1MenuClassName","_ref4","isL1Collapsed","isL1Hovered","isTransitioning","isMenuCollapsed","BannerContainer","borderBottom","makeBorderSize","border","thin","borderBottomStyle","borderBottomColor","colors","surface","gray","muted","borderRight","borderRightStyle","borderRightColor","maxHeight","sizeTokens","_SideNav","_ref5","ref","children","isOpen","onDismiss","onVisibleLevelChange","onExpandChange","onExpandTransitionEnd","banner","_ref5$backgroundColor","backgroundColor","testID","_isExpanded","isExpanded","rest","_objectWithoutProperties","_excluded","l2PortalContainerRef","React","useRef","l1ContainerRef","timeoutIdsRef","mouseOverTimeoutRef","prevIsSideNavFullyCollapsedRef","_React$useState","useState","_React$useState2","_slicedToArray","setIsL1Collapsed","_React$useState3","_React$useState4","isMobileL2Open","setIsMobileL2Open","_React$useState5","_React$useState6","setIsL1Hovered","_React$useState7","_React$useState8","isHoverAgainEnabled","setIsHoverAgainEnabled","_React$useState9","_React$useState0","setIsTransitioning","_React$useState1","_React$useState10","l2DrawerTitle","setL2DrawerTitle","isMobile","useIsMobile","isSideNavFullyCollapsed","effectiveIsL1Collapsed","effectiveIsL1Hovered","sideNavWidth","base","SIDE_NAV_EXPANDED_L1_WIDTH_BASE","xl","SIDE_NAV_EXPANDED_L1_WIDTH_XL","closeMobileNav","visibleLevel","cleanupTransition","useCallback","clearTransitionTimeout","setTimeout","isCurrentlyTransitioning","TRANSITION_CLEANUP_DELAY","current","push","startL1Transition","collapseL1","title","expandL1","onLinkActiveChange","args","isL1ItemActive","level","isActive","isL2Trigger","isFirstRender","hoverAgainTimeout","HOVER_AGAIN_DELAY","contextValue","useMemo","useEffect","_iterator","_createForOfIteratorHelper","_step","s","n","done","timeoutId","value","clearTimeout","err","e","f","prevIsSideNavFullyCollapsed","undefined","_jsx","SideNavContext","Provider","_jsxs","_Fragment","Drawer","DrawerHeader","DrawerBody","flexDirection","justifyContent","className","metaAttribute","name","MetaConstants","SideNav","isLazy","position","top","left","m","as","getStyledProps","makeAnalyticsAttribute","onTransitionEnd","target","currentTarget","propertyName","flex","id","borderRightWidth","overflow","onMouseOver","onMouseLeave","L1_EXIT_HOVER_DELAY","SkipNavLink","SKIP_NAV_ID","_hasBackground","SkipNavContent","forwardRef"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SideNav.web.js","sources":["../../../../../../src/components/SideNav/SideNav.web.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { SideNavContext } from './SideNavContext';\nimport {\n classes,\n COLLAPSED_L1_WIDTH,\n HOVER_AGAIN_DELAY,\n L1_EXIT_HOVER_DELAY,\n SKIP_NAV_ID,\n TRANSITION_CLEANUP_DELAY,\n SIDE_NAV_EXPANDED_L1_WIDTH_BASE,\n SIDE_NAV_EXPANDED_L1_WIDTH_XL,\n} from './tokens';\nimport type { SideNavContextType, SideNavProps } from './types';\nimport type { BladeElementRef } from '~utils/types';\nimport { size as sizeTokens } from '~tokens/global';\nimport { makeBorderSize, makeMotionTime, makeSize, makeSpace } from '~utils';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport BaseBox from '~components/Box/BaseBox';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { Drawer, DrawerBody, DrawerHeader } from '~components/Drawer';\nimport { SkipNavContent, SkipNavLink } from '~components/SkipNav/SkipNav';\n\nconst {\n COLLAPSED,\n SHOW_WHEN_COLLAPSED,\n HIDE_WHEN_COLLAPSED,\n TRANSITIONING,\n L1_ITEM_WRAPPER,\n} = classes;\n\nconst MobileL1Container = styled(BaseBox)(() => {\n return {\n [`.${SHOW_WHEN_COLLAPSED}`]: {\n display: 'none',\n },\n };\n});\n\nconst StyledL1Menu = styled(BaseBox)<{ $isSideNavExpandable: boolean }>((props) => {\n const quick = makeMotionTime(props.theme.motion.duration.quick);\n const xmoderate = makeMotionTime(props.theme.motion.duration.xmoderate);\n const easing = props.theme.motion.easing;\n\n const l1Expand = `width ${xmoderate} ${easing.entrance}`;\n const l1Collapse = `width ${quick} ${easing.exit}`;\n\n const textVisibilityProps = props.$isSideNavExpandable\n ? {}\n : {\n [`.${SHOW_WHEN_COLLAPSED}`]: {\n display: 'none',\n },\n [`&.${COLLAPSED}`]: {\n width: makeSize(COLLAPSED_L1_WIDTH),\n transition: l1Collapse,\n [`& > .${L1_ITEM_WRAPPER}`]: {\n padding: `${makeSpace(props.theme.spacing[3])} ${makeSpace(props.theme.spacing[3])}`,\n },\n [`&:not(.${TRANSITIONING}) .${HIDE_WHEN_COLLAPSED}`]: {\n display: 'none',\n },\n [`&:not(.${TRANSITIONING}) .${SHOW_WHEN_COLLAPSED}`]: {\n display: 'initial',\n },\n },\n };\n\n return {\n width: '100%',\n // the overall sidenav expands and collapses in this case. No need transition here\n transition: props.$isSideNavExpandable ? 'none' : l1Expand,\n [`& > .${L1_ITEM_WRAPPER}`]: {\n padding: makeSpace(props.theme.spacing[3]),\n },\n ...textVisibilityProps,\n };\n});\n\nconst StyledSideNavContainer = styled(BaseBox)<{ $isSideNavExpandable: boolean }>((props) => {\n const quick = makeMotionTime(props.theme.motion.duration.quick);\n const xmoderate = makeMotionTime(props.theme.motion.duration.xmoderate);\n const easing = props.theme.motion.easing;\n\n const sideNavExpand = `width ${xmoderate} ${easing.entrance}`;\n const sideNavCollapse = `width ${quick} ${easing.exit}`;\n\n if (!props.$isSideNavExpandable) {\n return {};\n }\n\n return {\n transition: sideNavExpand,\n [`&.${COLLAPSED}`]: {\n width: makeSize(COLLAPSED_L1_WIDTH),\n transition: sideNavCollapse,\n [`&:not(.${TRANSITIONING}) .${HIDE_WHEN_COLLAPSED}`]: {\n opacity: '0',\n pointerEvents: 'none',\n transition: `opacity ${quick} ${easing.exit}`,\n },\n [`&:not(.${TRANSITIONING}) .${SHOW_WHEN_COLLAPSED}`]: {\n opacity: '1',\n pointerEvents: 'auto',\n transition: `opacity ${quick} ${easing.entrance}`,\n },\n },\n [`.${SHOW_WHEN_COLLAPSED}`]: {\n opacity: '0',\n pointerEvents: 'none',\n transition: `opacity ${quick} ${easing.exit}`,\n },\n [`.${HIDE_WHEN_COLLAPSED}`]: {\n opacity: '1',\n pointerEvents: 'auto',\n transition: `opacity ${quick} ${easing.entrance}`,\n },\n };\n});\n\nconst StyledL2PortalContainer = styled(BaseBox)(() => {\n return {\n // This ensures that the portal node has 100% height when it has items\n '& > div:not(:empty)': {\n height: '100%',\n },\n };\n});\n\nconst getL1MenuClassName = ({\n isL1Collapsed,\n isL1Hovered,\n isTransitioning,\n}: {\n isL1Collapsed: boolean;\n isL1Hovered: boolean;\n isTransitioning: boolean;\n}): string => {\n const isMenuCollapsed = isL1Collapsed && !isL1Hovered;\n\n if (isMenuCollapsed) {\n if (isTransitioning) {\n return `${COLLAPSED} ${TRANSITIONING}`;\n }\n\n return COLLAPSED;\n }\n\n return '';\n};\n\nconst BannerContainer = styled(BaseBox)((props) => {\n return {\n '&:not(:empty)': {\n borderBottom: makeBorderSize(props.theme.border.width.thin),\n borderBottomStyle: 'solid',\n borderBottomColor: props.theme.colors.surface.border.gray.muted,\n borderRight: makeBorderSize(props.theme.border.width.thin),\n borderRightStyle: 'solid',\n borderRightColor: props.theme.colors.surface.border.gray.muted,\n padding: makeSpace(props.theme.spacing[3]),\n maxHeight: makeSize(sizeTokens['100']),\n width: '100%',\n },\n };\n});\n\n/**\n * ### SideNav component\n *\n * The side navigation is positioned along the left side of the screen that provides quick access to different sections or functionalities of the application.\n *\n * ---\n *\n * #### Usage\n *\n * SideNav requires handling active state with React Router, Checkout Usage with React Router v6 at - [SideNav Documentation](https://blade.razorpay.com/?path=/docs/components-sidenav--docs)\n *\n */\nconst _SideNav = (\n {\n children,\n isOpen,\n onDismiss,\n onVisibleLevelChange,\n onExpandChange,\n onExpandTransitionEnd,\n banner,\n backgroundColor = 'surface.background.gray.moderate',\n testID,\n isExpanded: _isExpanded,\n ...rest\n }: SideNavProps,\n ref: React.Ref<BladeElementRef>,\n): React.ReactElement => {\n const l2PortalContainerRef = React.useRef(null);\n const l1ContainerRef = React.useRef<HTMLDivElement>(null);\n const timeoutIdsRef = React.useRef<NodeJS.Timeout[]>([]);\n const mouseOverTimeoutRef = React.useRef<NodeJS.Timeout>();\n const prevIsSideNavCollapsedRef = React.useRef<boolean>();\n const [isL1Collapsed, setIsL1Collapsed] = React.useState(false);\n const [isMobileL2Open, setIsMobileL2Open] = React.useState(false);\n const [isL1Hovered, setIsL1Hovered] = React.useState(false);\n const [isHoverAgainEnabled, setIsHoverAgainEnabled] = React.useState(true);\n const [isTransitioning, setIsTransitioning] = React.useState(false);\n const [l2DrawerTitle, setL2DrawerTitle] = React.useState('');\n\n const isMobile = useIsMobile();\n const isSideNavCollapsed = _isExpanded === false;\n\n const effectiveIsL1Collapsed = isMobile ? isMobileL2Open : isSideNavCollapsed || isL1Collapsed;\n\n const effectiveIsL1Hovered = isSideNavCollapsed ? false : isL1Hovered;\n const sideNavWidth = isSideNavCollapsed\n ? makeSize(COLLAPSED_L1_WIDTH)\n : {\n base: makeSize(SIDE_NAV_EXPANDED_L1_WIDTH_BASE),\n xl: makeSize(SIDE_NAV_EXPANDED_L1_WIDTH_XL),\n };\n\n const closeMobileNav = (): void => {\n if (isMobile) {\n setIsMobileL2Open(false);\n onDismiss?.();\n onVisibleLevelChange?.({ visibleLevel: 0 });\n }\n };\n\n const cleanupTransition = React.useCallback((): void => {\n const clearTransitionTimeout = setTimeout(() => {\n setIsTransitioning((isCurrentlyTransitioning) =>\n isCurrentlyTransitioning ? false : isCurrentlyTransitioning,\n );\n }, TRANSITION_CLEANUP_DELAY);\n timeoutIdsRef.current.push(clearTransitionTimeout);\n }, []);\n\n const startL1Transition = React.useCallback((): void => {\n setIsTransitioning(true);\n cleanupTransition();\n }, [cleanupTransition]);\n\n const collapseL1 = (title: string): void => {\n if (isMobile) {\n setL2DrawerTitle(title);\n setIsMobileL2Open(true);\n onVisibleLevelChange?.({ visibleLevel: 2 });\n return;\n }\n\n if (!isL1Collapsed) {\n setIsL1Collapsed(true);\n onVisibleLevelChange?.({ visibleLevel: 2 });\n }\n };\n\n const expandL1 = (): void => {\n if (isMobile) {\n setIsMobileL2Open(false);\n onVisibleLevelChange?.({ visibleLevel: 1 });\n return;\n }\n\n if (isSideNavCollapsed) {\n return;\n }\n\n // Ensures that if Normal L1 item is clicked, the L1 stays expanded\n if (isL1Collapsed) {\n setIsL1Collapsed(false);\n // We want to avoid calling onVisibleLevelChange twice when L1 is hovered and then item on L1 is selected\n if (!isL1Hovered) {\n onVisibleLevelChange?.({ visibleLevel: 1 });\n }\n }\n };\n\n /**\n * Handles L1 -> L2 menu changes based on active item\n */\n const onLinkActiveChange: SideNavContextType['onLinkActiveChange'] = (args) => {\n const isL1ItemActive = args.level === 1 && args.isActive;\n\n if (isL1ItemActive) {\n if (args.isL2Trigger) {\n // Click on L2 Trigger\n collapseL1(args.title);\n\n // `args.isFirstRender` checks if the item that triggered this change, triggered it during first render or during subsequent change\n if (!args.isFirstRender) {\n startL1Transition();\n setIsL1Hovered(false);\n setIsHoverAgainEnabled(false);\n // For some delay, we disable hover to expand behaviour to avoid buggy flicker when cursor is on L1 while its trying to close\n const hoverAgainTimeout = setTimeout(() => {\n setIsHoverAgainEnabled(true);\n }, HOVER_AGAIN_DELAY);\n timeoutIdsRef.current.push(hoverAgainTimeout);\n }\n } else {\n // Click on normal L1 Item\n expandL1();\n }\n }\n };\n\n const contextValue = React.useMemo(\n () => ({\n l2PortalContainerRef,\n onLinkActiveChange,\n closeMobileNav,\n isL1Collapsed: effectiveIsL1Collapsed,\n setIsL1Collapsed,\n isL1Hovered: effectiveIsL1Hovered,\n isSideNavCollapsed,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [effectiveIsL1Collapsed, effectiveIsL1Hovered, isSideNavCollapsed, isMobile],\n );\n\n React.useEffect(() => {\n return () => {\n for (const timeoutId of timeoutIdsRef.current) {\n clearTimeout(timeoutId);\n }\n timeoutIdsRef.current = [];\n };\n }, []);\n\n React.useEffect(() => {\n if (!isMobile && isSideNavCollapsed && isL1Hovered) {\n setIsL1Hovered(false);\n }\n }, [isMobile, isSideNavCollapsed, isL1Hovered]);\n\n React.useEffect(() => {\n const prevIsSideNavCollapsed = prevIsSideNavCollapsedRef.current;\n prevIsSideNavCollapsedRef.current = isSideNavCollapsed;\n\n if (isMobile || prevIsSideNavCollapsed === undefined) {\n return;\n }\n\n if (prevIsSideNavCollapsed !== isSideNavCollapsed) {\n startL1Transition();\n onExpandChange?.({ isExpanded: !isSideNavCollapsed });\n }\n }, [isMobile, isSideNavCollapsed, onExpandChange, startL1Transition]);\n\n return (\n <SideNavContext.Provider value={contextValue}>\n {isMobile && onDismiss ? (\n <>\n {/* L1 */}\n <Drawer isOpen={isOpen ?? false} onDismiss={closeMobileNav}>\n <DrawerHeader title=\"Main Menu\" />\n <DrawerBody>\n <MobileL1Container\n display=\"flex\"\n flexDirection=\"column\"\n justifyContent=\"space-between\"\n className=\"mobile-l1-container\"\n height=\"100%\"\n {...metaAttribute({\n name: MetaConstants.SideNav,\n testID,\n })}\n >\n {children}\n </MobileL1Container>\n </DrawerBody>\n </Drawer>\n {/* L2 */}\n <Drawer isOpen={isMobileL2Open} onDismiss={() => expandL1()} isLazy={false}>\n <DrawerHeader title={l2DrawerTitle} />\n <DrawerBody>\n <BaseBox ref={l2PortalContainerRef} />\n </DrawerBody>\n </Drawer>\n </>\n ) : (\n <StyledSideNavContainer\n $isSideNavExpandable={typeof _isExpanded !== 'undefined'}\n ref={ref as never}\n className={isSideNavCollapsed ? COLLAPSED : ''}\n position=\"fixed\"\n backgroundColor={backgroundColor}\n height=\"100%\"\n top=\"spacing.0\"\n left=\"spacing.0\"\n display={{ base: 'none', m: 'flex' }}\n flexDirection=\"column\"\n width={sideNavWidth}\n as=\"nav\"\n {...metaAttribute({\n name: MetaConstants.SideNav,\n testID,\n })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n onTransitionEnd={(e) => {\n if (e.target !== e.currentTarget || e.propertyName !== 'width' || isMobile) {\n return;\n }\n\n onExpandTransitionEnd?.({\n isExpanded: !isSideNavCollapsed,\n });\n }}\n >\n {banner ? <BannerContainer>{banner}</BannerContainer> : null}\n <BaseBox position=\"relative\" display=\"block\" flex=\"1\" width=\"100%\">\n <StyledL2PortalContainer\n position=\"absolute\"\n display={isSideNavCollapsed ? 'none' : 'block'}\n backgroundColor={backgroundColor}\n height=\"100%\"\n width=\"100%\"\n top=\"spacing.0\"\n left=\"spacing.0\"\n id=\"blade-sidenav-l2\"\n borderRightWidth=\"thin\"\n borderRightColor=\"surface.border.gray.muted\"\n ref={l2PortalContainerRef}\n />\n <StyledL1Menu\n ref={l1ContainerRef}\n id=\"blade-sidenav-l1\"\n className={getL1MenuClassName({\n isL1Collapsed: effectiveIsL1Collapsed,\n isL1Hovered: effectiveIsL1Hovered,\n isTransitioning,\n })}\n $isSideNavExpandable={typeof _isExpanded !== 'undefined'}\n position=\"absolute\"\n display=\"flex\"\n flexDirection=\"column\"\n justifyContent=\"space-between\"\n backgroundColor={backgroundColor}\n height=\"100%\"\n overflow=\"hidden\"\n top=\"spacing.0\"\n left=\"spacing.0\"\n borderRightWidth=\"thin\"\n borderRightColor=\"surface.border.gray.muted\"\n onTransitionEnd={(e) => {\n // This check ensures transitioning is set to false only when its true\n // And only the l1Container element's transitions are considered and other transitions of l1 expand or child elements are ignored\n if (isTransitioning && l1ContainerRef.current === e.target) {\n setIsTransitioning(false);\n }\n }}\n // Hmm you might be wondering, why is `onMouseOver` paired with `onMouseLeave`? A sane person would pair `onMouseOver` with `onMouseOut`, and `onMouseEnter` with `onMouseLeave`\n // since they are logical equivalents of each other. So why don't we do that? Hold tight, you're in for a ride ☕️.\n //\n // 1. In an ideal scenario, we would put `onMouseEnter` and `onMouseLeave` here and expect things to work.\n // 2. The L2 menu of our SideNav is React Portalled out of the L1 child\n // 3. React considers its own children as true children for JS events and not DOM children (Checkout React Portal Caveats - https://react.dev/reference/react-dom/createPortal#caveats)\n // 3. In the next ideal scenario, we would put `e.stopPropagation` on child component of portal like React recommends, except mouseenter, mouseleave events don't propagate at all (https://developer.mozilla.org/en-US/docs/Web/API/Element/mouseenter_event#usage_notes)\n // 4. So `onMouseEnter` gets triggered on L2 enter. But we don't want to open L1 menu on L2 hover\n // 5. Thus we use `onMouseOver` for hover part and call e.stopPropagation in portal child (SideNavLevel).\n // 6. But in case of unhover/leave, we don't want to trigger mouseOut for all child components individually. We want 1 hover out of L1 menu. Thus we use `onMouseLeave`\n onMouseOver={() => {\n if (!isMobile && isSideNavCollapsed) {\n return;\n }\n if (mouseOverTimeoutRef.current) {\n clearTimeout(mouseOverTimeoutRef.current);\n }\n if (isL1Collapsed && isHoverAgainEnabled && !isL1Hovered) {\n setIsL1Hovered(true);\n onVisibleLevelChange?.({ visibleLevel: 1 });\n }\n }}\n onMouseLeave={() => {\n if (!isMobile && isSideNavCollapsed) {\n return;\n }\n if (isL1Collapsed && isL1Hovered) {\n mouseOverTimeoutRef.current = setTimeout(() => {\n setIsL1Hovered(false);\n startL1Transition();\n onVisibleLevelChange?.({ visibleLevel: 2 });\n }, L1_EXIT_HOVER_DELAY);\n }\n // If L1 is collapsed and not hovered we want to change visible level to 2\n // This state/edgecase happens when user clicks on a nested nav and it collapses the L1 causing isL1Hovered to be false\n if (isL1Collapsed && !isL1Hovered) {\n onVisibleLevelChange?.({ visibleLevel: 2 });\n }\n }}\n >\n <SkipNavLink id={SKIP_NAV_ID} _hasBackground={true} />\n {children}\n </StyledL1Menu>\n <SkipNavContent id={SKIP_NAV_ID} />\n </BaseBox>\n </StyledSideNavContainer>\n )}\n </SideNavContext.Provider>\n );\n};\n\nconst SideNav = React.forwardRef(_SideNav);\n\nexport { SideNav };\n"],"names":["COLLAPSED","classes","SHOW_WHEN_COLLAPSED","HIDE_WHEN_COLLAPSED","TRANSITIONING","L1_ITEM_WRAPPER","MobileL1Container","styled","BaseBox","withConfig","displayName","componentId","_defineProperty","concat","display","StyledL1Menu","props","quick","makeMotionTime","theme","motion","duration","xmoderate","easing","l1Expand","entrance","l1Collapse","exit","textVisibilityProps","$isSideNavExpandable","width","makeSize","COLLAPSED_L1_WIDTH","transition","padding","makeSpace","spacing","_objectSpread","StyledSideNavContainer","sideNavExpand","sideNavCollapse","opacity","pointerEvents","StyledL2PortalContainer","height","getL1MenuClassName","_ref4","isL1Collapsed","isL1Hovered","isTransitioning","isMenuCollapsed","BannerContainer","borderBottom","makeBorderSize","border","thin","borderBottomStyle","borderBottomColor","colors","surface","gray","muted","borderRight","borderRightStyle","borderRightColor","maxHeight","sizeTokens","_SideNav","_ref5","ref","children","isOpen","onDismiss","onVisibleLevelChange","onExpandChange","onExpandTransitionEnd","banner","_ref5$backgroundColor","backgroundColor","testID","_isExpanded","isExpanded","rest","_objectWithoutProperties","_excluded","l2PortalContainerRef","React","useRef","l1ContainerRef","timeoutIdsRef","mouseOverTimeoutRef","prevIsSideNavCollapsedRef","_React$useState","useState","_React$useState2","_slicedToArray","setIsL1Collapsed","_React$useState3","_React$useState4","isMobileL2Open","setIsMobileL2Open","_React$useState5","_React$useState6","setIsL1Hovered","_React$useState7","_React$useState8","isHoverAgainEnabled","setIsHoverAgainEnabled","_React$useState9","_React$useState0","setIsTransitioning","_React$useState1","_React$useState10","l2DrawerTitle","setL2DrawerTitle","isMobile","useIsMobile","isSideNavCollapsed","effectiveIsL1Collapsed","effectiveIsL1Hovered","sideNavWidth","base","SIDE_NAV_EXPANDED_L1_WIDTH_BASE","xl","SIDE_NAV_EXPANDED_L1_WIDTH_XL","closeMobileNav","visibleLevel","cleanupTransition","useCallback","clearTransitionTimeout","setTimeout","isCurrentlyTransitioning","TRANSITION_CLEANUP_DELAY","current","push","startL1Transition","collapseL1","title","expandL1","onLinkActiveChange","args","isL1ItemActive","level","isActive","isL2Trigger","isFirstRender","hoverAgainTimeout","HOVER_AGAIN_DELAY","contextValue","useMemo","useEffect","_iterator","_createForOfIteratorHelper","_step","s","n","done","timeoutId","value","clearTimeout","err","e","f","prevIsSideNavCollapsed","undefined","_jsx","SideNavContext","Provider","_jsxs","_Fragment","Drawer","DrawerHeader","DrawerBody","flexDirection","justifyContent","className","metaAttribute","name","MetaConstants","SideNav","isLazy","position","top","left","m","as","getStyledProps","makeAnalyticsAttribute","onTransitionEnd","target","currentTarget","propertyName","flex","id","borderRightWidth","overflow","onMouseOver","onMouseLeave","L1_EXIT_HOVER_DELAY","SkipNavLink","SKIP_NAV_ID","_hasBackground","SkipNavContent","forwardRef"],"mappings":"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"}
|
|
@@ -253,7 +253,7 @@ var SideNavLink = function SideNavLink(_ref4) {
|
|
|
253
253
|
onLinkActiveChange = _useSideNav.onLinkActiveChange,
|
|
254
254
|
closeMobileNav = _useSideNav.closeMobileNav,
|
|
255
255
|
isL1Collapsed = _useSideNav.isL1Collapsed,
|
|
256
|
-
|
|
256
|
+
isSideNavCollapsed = _useSideNav.isSideNavCollapsed,
|
|
257
257
|
setIsL1Collapsed = _useSideNav.setIsL1Collapsed;
|
|
258
258
|
var _useNavLink = useNavLink(),
|
|
259
259
|
_prevLevel = _useNavLink.level;
|
|
@@ -291,7 +291,7 @@ var SideNavLink = function SideNavLink(_ref4) {
|
|
|
291
291
|
});
|
|
292
292
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
293
293
|
}, [isActive]);
|
|
294
|
-
var
|
|
294
|
+
var shouldHideL1Item = currentLevel === 1 && !icon && isSideNavCollapsed;
|
|
295
295
|
return /*#__PURE__*/jsx(NavLinkContext.Provider, {
|
|
296
296
|
value: {
|
|
297
297
|
level: currentLevel,
|
|
@@ -324,7 +324,7 @@ var SideNavLink = function SideNavLink(_ref4) {
|
|
|
324
324
|
children: [/*#__PURE__*/jsx(TooltipifyComponent, {
|
|
325
325
|
tooltip: tooltip,
|
|
326
326
|
children: /*#__PURE__*/jsxs(BaseBox, _objectSpread(_objectSpread({
|
|
327
|
-
className: "".concat(STYLED_NAV_LINK, " ").concat(
|
|
327
|
+
className: "".concat(STYLED_NAV_LINK, " ").concat(shouldHideL1Item ? HIDE_WHEN_COLLAPSED : ''),
|
|
328
328
|
as: as !== null && as !== void 0 ? as : 'a',
|
|
329
329
|
to: href,
|
|
330
330
|
href: as ? undefined : href,
|
|
@@ -352,7 +352,7 @@ var SideNavLink = function SideNavLink(_ref4) {
|
|
|
352
352
|
// Which can make L1 to expand when tabs / windows are changed
|
|
353
353
|
// Adding focus-visible check ensures this behaviour of closing menus is only applicable when there is visible focus ring on it (while tabbing)
|
|
354
354
|
var hasFocusRing = (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.matches(':focus-visible');
|
|
355
|
-
if (isL1Collapsed && !
|
|
355
|
+
if (isL1Collapsed && !isSideNavCollapsed && currentLevel === 1 && hasFocusRing) {
|
|
356
356
|
setIsL1Collapsed === null || setIsL1Collapsed === void 0 || setIsL1Collapsed(false);
|
|
357
357
|
}
|
|
358
358
|
},
|