@razorpay/blade 12.32.0 → 12.32.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/native/components/SideNav/tokens.js +1 -1
- package/build/lib/native/components/SideNav/tokens.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/FilterChipDatePicker/DatePickerFilterChip.web.js +4 -2
- package/build/lib/web/development/components/DatePicker/FilterChipDatePicker/DatePickerFilterChip.web.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/FilterChipSelectInput.web.js +4 -2
- package/build/lib/web/development/components/Dropdown/FilterChipSelectInput.web.js.map +1 -1
- package/build/lib/web/development/components/FilterChip/BaseFilterChip.web.js +4 -4
- package/build/lib/web/development/components/FilterChip/BaseFilterChip.web.js.map +1 -1
- package/build/lib/web/development/components/SideNav/SideNavItems/SideNavItem.web.js +13 -1
- package/build/lib/web/development/components/SideNav/SideNavItems/SideNavItem.web.js.map +1 -1
- package/build/lib/web/development/components/SideNav/SideNavLevel.web.js +9 -5
- package/build/lib/web/development/components/SideNav/SideNavLevel.web.js.map +1 -1
- package/build/lib/web/development/components/SideNav/tokens.js +1 -1
- package/build/lib/web/development/components/SideNav/tokens.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/FilterChipDatePicker/DatePickerFilterChip.web.js +4 -2
- package/build/lib/web/production/components/DatePicker/FilterChipDatePicker/DatePickerFilterChip.web.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/FilterChipSelectInput.web.js +4 -2
- package/build/lib/web/production/components/Dropdown/FilterChipSelectInput.web.js.map +1 -1
- package/build/lib/web/production/components/FilterChip/BaseFilterChip.web.js +4 -4
- package/build/lib/web/production/components/FilterChip/BaseFilterChip.web.js.map +1 -1
- package/build/lib/web/production/components/SideNav/SideNavItems/SideNavItem.web.js +13 -1
- package/build/lib/web/production/components/SideNav/SideNavItems/SideNavItem.web.js.map +1 -1
- package/build/lib/web/production/components/SideNav/SideNavLevel.web.js +9 -5
- package/build/lib/web/production/components/SideNav/SideNavLevel.web.js.map +1 -1
- package/build/lib/web/production/components/SideNav/tokens.js +1 -1
- package/build/lib/web/production/components/SideNav/tokens.js.map +1 -1
- package/build/types/components/index.d.ts +7 -5
- package/build/types/components/index.native.d.ts +3 -2
- package/package.json +1 -1
|
@@ -6,7 +6,7 @@ import '@babel/runtime/helpers/slicedToArray';
|
|
|
6
6
|
import 'react';
|
|
7
7
|
import '../BladeProvider/useTheme.js';
|
|
8
8
|
|
|
9
|
-
var SIDE_NAV_EXPANDED_L1_WIDTH_XL=size['264'];var SIDE_NAV_EXPANDED_L1_WIDTH_BASE=size['
|
|
9
|
+
var SIDE_NAV_EXPANDED_L1_WIDTH_XL=size['264'];var SIDE_NAV_EXPANDED_L1_WIDTH_BASE=size['240'];
|
|
10
10
|
|
|
11
11
|
export { SIDE_NAV_EXPANDED_L1_WIDTH_BASE, SIDE_NAV_EXPANDED_L1_WIDTH_XL };
|
|
12
12
|
//# sourceMappingURL=tokens.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sources":["../../../../../src/components/SideNav/tokens.ts"],"sourcesContent":["import type { Theme } from '~components/BladeProvider';\nimport { size } from '~tokens/global';\nimport { makeMotionTime } from '~utils';\n\nconst classes = {\n SHOW_WHEN_COLLAPSED: 'show-when-collapsed',\n HIDE_WHEN_COLLAPSED: 'hide-when-collapsed',\n COLLAPSED: 'collapsed',\n TRANSITIONING: 'transitioning',\n L1_ITEM_WRAPPER: 'l1-item-wrapper',\n SHOW_ON_LINK_HOVER: 'show-on-link-hover',\n STYLED_NAV_LINK: 'styled-nav-link',\n} as const;\n\nconst SKIP_NAV_ID = 'blade-side-nav-skip';\n\nconst COLLAPSED_L1_WIDTH = size['56'];\nconst SIDE_NAV_EXPANDED_L1_WIDTH_XL = size['264'];\nconst SIDE_NAV_EXPANDED_L1_WIDTH_BASE = size['
|
|
1
|
+
{"version":3,"file":"tokens.js","sources":["../../../../../src/components/SideNav/tokens.ts"],"sourcesContent":["import type { Theme } from '~components/BladeProvider';\nimport { size } from '~tokens/global';\nimport { makeMotionTime } from '~utils';\n\nconst classes = {\n SHOW_WHEN_COLLAPSED: 'show-when-collapsed',\n HIDE_WHEN_COLLAPSED: 'hide-when-collapsed',\n COLLAPSED: 'collapsed',\n TRANSITIONING: 'transitioning',\n L1_ITEM_WRAPPER: 'l1-item-wrapper',\n SHOW_ON_LINK_HOVER: 'show-on-link-hover',\n STYLED_NAV_LINK: 'styled-nav-link',\n} as const;\n\nconst SKIP_NAV_ID = 'blade-side-nav-skip';\n\nconst COLLAPSED_L1_WIDTH = size['56'];\nconst SIDE_NAV_EXPANDED_L1_WIDTH_XL = size['264'];\nconst SIDE_NAV_EXPANDED_L1_WIDTH_BASE = size['240'];\nconst NAV_ITEM_HEIGHT = size['40'];\n\n// This is the delay after which transition cleanup happens for rare cases where transitionEnd is not triggered\nconst TRANSITION_CLEANUP_DELAY = 300; // A little more than the duration of transition end\n\nconst HOVER_AGAIN_DELAY = 500;\n\n// Delay between mouse out from L1 and L1 collapsing again\nconst L1_EXIT_HOVER_DELAY = 150;\n\nconst getNavItemTransition = ({ motion }: Theme): string => {\n return `background-color ${makeMotionTime(motion.duration['2xquick'])} ${motion.easing.standard}`;\n};\n\nexport {\n SKIP_NAV_ID,\n classes,\n COLLAPSED_L1_WIDTH,\n SIDE_NAV_EXPANDED_L1_WIDTH_XL,\n SIDE_NAV_EXPANDED_L1_WIDTH_BASE,\n NAV_ITEM_HEIGHT,\n TRANSITION_CLEANUP_DELAY,\n HOVER_AGAIN_DELAY,\n getNavItemTransition,\n L1_EXIT_HOVER_DELAY,\n};\n"],"names":["SIDE_NAV_EXPANDED_L1_WIDTH_XL","size","SIDE_NAV_EXPANDED_L1_WIDTH_BASE"],"mappings":";;;;;;;;AAiBM,IAAAA,6BAA6B,CAAGC,IAAI,CAAC,KAAK,EAC1C,IAAAC,+BAA+B,CAAGD,IAAI,CAAC,KAAK;;;;"}
|
|
@@ -43,7 +43,8 @@ var _DatePickerFilterChip = function _DatePickerFilterChip(_ref, ref) {
|
|
|
43
43
|
onClearButtonChange = props.onClearButtonChange,
|
|
44
44
|
accessibilityLabel = props.accessibilityLabel,
|
|
45
45
|
date = props.date,
|
|
46
|
-
format = props.format
|
|
46
|
+
format = props.format,
|
|
47
|
+
isDisabled = props.isDisabled;
|
|
47
48
|
var _useDatesContext = useDatesContext(),
|
|
48
49
|
locale = _useDatesContext.locale;
|
|
49
50
|
var dateValue = formatDateRange(date, format, locale, selectionType);
|
|
@@ -58,7 +59,8 @@ var _DatePickerFilterChip = function _DatePickerFilterChip(_ref, ref) {
|
|
|
58
59
|
expanded: referenceProps['aria-expanded'],
|
|
59
60
|
controls: referenceProps['aria-controls'],
|
|
60
61
|
role: 'combobox'
|
|
61
|
-
}
|
|
62
|
+
},
|
|
63
|
+
isDisabled: isDisabled
|
|
62
64
|
}, referenceProps));
|
|
63
65
|
};
|
|
64
66
|
var DatePickerFilterChip = /*#__PURE__*/forwardRef(_DatePickerFilterChip);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerFilterChip.web.js","sources":["../../../../../../../src/components/DatePicker/FilterChipDatePicker/DatePickerFilterChip.web.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { useDatesContext } from '@mantine/dates';\nimport type { DatePickerFilterChipProps } from '../types';\nimport { getFormattedDate } from '../utils';\nimport { BaseFilterChip } from '~components/FilterChip/BaseFilterChip';\nimport type { BladeElementRef } from '~utils/types';\n\nconst formatDateRange = (\n date: Date | [Date, Date],\n format: string,\n locale: string,\n selectionType: 'single' | 'range',\n): string => {\n const formatOptions = {\n date,\n format,\n labelSeparator: '-',\n locale,\n type: 'default' as const,\n };\n\n if (selectionType === 'single' && date instanceof Date) {\n return getFormattedDate(formatOptions);\n }\n\n if (Array.isArray(date)) {\n const [startDate, endDate] = date;\n if (startDate) {\n return `${getFormattedDate({ ...formatOptions, date: startDate })} ${\n endDate ? ' - ' : ''\n } ${getFormattedDate({\n ...formatOptions,\n date: endDate,\n })}`;\n }\n }\n return '';\n};\n\nconst _DatePickerFilterChip: React.ForwardRefRenderFunction<\n BladeElementRef,\n DatePickerFilterChipProps & {\n onClearButtonChange: (value: string) => void;\n }\n> = (\n {\n ...props\n }: DatePickerFilterChipProps & {\n onClearButtonChange: (value: string) => void;\n },\n ref: React.ForwardedRef<BladeElementRef>,\n): React.ReactElement => {\n const {\n referenceProps,\n label,\n selectionType,\n onClearButtonChange,\n accessibilityLabel,\n date,\n format,\n } = props;\n const { locale } = useDatesContext();\n\n const dateValue = formatDateRange(date, format, locale, selectionType);\n\n return (\n <BaseFilterChip\n ref={ref}\n label={label}\n value={dateValue}\n onClearButtonClick={onClearButtonChange}\n accessibilityProps={{\n label: accessibilityLabel ?? label,\n hasPopup: referenceProps['aria-haspopup'],\n expanded: referenceProps['aria-expanded'],\n controls: referenceProps['aria-controls'],\n role: 'combobox',\n }}\n {...referenceProps}\n />\n );\n};\n\nconst DatePickerFilterChip = forwardRef(_DatePickerFilterChip);\n\nexport { DatePickerFilterChip };\n"],"names":["formatDateRange","date","format","locale","selectionType","formatOptions","labelSeparator","type","Date","getFormattedDate","Array","isArray","_date","_slicedToArray","startDate","endDate","concat","_objectSpread","_DatePickerFilterChip","_ref","ref","props","_extends","_objectDestructuringEmpty","referenceProps","label","onClearButtonChange","accessibilityLabel","_useDatesContext","useDatesContext","dateValue","_jsx","BaseFilterChip","value","onClearButtonClick","accessibilityProps","hasPopup","expanded","controls","role","DatePickerFilterChip","forwardRef"],"mappings":";;;;;;;;;;;;AAOA,IAAMA,eAAe,GAAG,SAAlBA,eAAeA,CACnBC,IAAyB,EACzBC,MAAc,EACdC,MAAc,EACdC,aAAiC,EACtB;AACX,EAAA,IAAMC,aAAa,GAAG;AACpBJ,IAAAA,IAAI,EAAJA,IAAI;AACJC,IAAAA,MAAM,EAANA,MAAM;AACNI,IAAAA,cAAc,EAAE,GAAG;AACnBH,IAAAA,MAAM,EAANA,MAAM;AACNI,IAAAA,IAAI,EAAE,SAAA;GACP,CAAA;AAED,EAAA,IAAIH,aAAa,KAAK,QAAQ,IAAIH,IAAI,YAAYO,IAAI,EAAE;IACtD,OAAOC,gBAAgB,CAACJ,aAAa,CAAC,CAAA;AACxC,GAAA;AAEA,EAAA,IAAIK,KAAK,CAACC,OAAO,CAACV,IAAI,CAAC,EAAE;AACvB,IAAA,IAAAW,KAAA,GAAAC,cAAA,CAA6BZ,IAAI,EAAA,CAAA,CAAA;AAA1Ba,MAAAA,SAAS,GAAAF,KAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,OAAO,GAAAH,KAAA,CAAA,CAAA,CAAA,CAAA;AACzB,IAAA,IAAIE,SAAS,EAAE;MACb,OAAAE,EAAAA,CAAAA,MAAA,CAAUP,gBAAgB,CAAAQ,aAAA,CAAAA,aAAA,KAAMZ,aAAa,CAAA,EAAA,EAAA,EAAA;AAAEJ,QAAAA,IAAI,EAAEa,SAAAA;AAAS,OAAA,CAAE,CAAC,EAAAE,IAAAA,CAAAA,CAAAA,MAAA,CAC/DD,OAAO,GAAG,KAAK,GAAG,EAAE,EAAAC,GAAAA,CAAAA,CAAAA,MAAA,CAClBP,gBAAgB,CAAAQ,aAAA,CAAAA,aAAA,KACfZ,aAAa,CAAA,EAAA,EAAA,EAAA;AAChBJ,QAAAA,IAAI,EAAEc,OAAAA;AAAO,OAAA,CACd,CAAC,CAAA,CAAA;AACJ,KAAA;AACF,GAAA;AACA,EAAA,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,IAAMG,qBAKL,GAAG,SALEA,qBAKLA,CAAAC,IAAA,EAMCC,GAAwC,EACjB;EAAA,IALlBC,KAAK,GAAAC,QAAA,CAAA,EAAA,GAAAC,yBAAA,CAAAJ,IAAA,GAAAA,IAAA,EAAA,CAAA;AAMV,EAAA,IACEK,cAAc,
|
|
1
|
+
{"version":3,"file":"DatePickerFilterChip.web.js","sources":["../../../../../../../src/components/DatePicker/FilterChipDatePicker/DatePickerFilterChip.web.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { useDatesContext } from '@mantine/dates';\nimport type { DatePickerFilterChipProps } from '../types';\nimport { getFormattedDate } from '../utils';\nimport { BaseFilterChip } from '~components/FilterChip/BaseFilterChip';\nimport type { BladeElementRef } from '~utils/types';\n\nconst formatDateRange = (\n date: Date | [Date, Date],\n format: string,\n locale: string,\n selectionType: 'single' | 'range',\n): string => {\n const formatOptions = {\n date,\n format,\n labelSeparator: '-',\n locale,\n type: 'default' as const,\n };\n\n if (selectionType === 'single' && date instanceof Date) {\n return getFormattedDate(formatOptions);\n }\n\n if (Array.isArray(date)) {\n const [startDate, endDate] = date;\n if (startDate) {\n return `${getFormattedDate({ ...formatOptions, date: startDate })} ${\n endDate ? ' - ' : ''\n } ${getFormattedDate({\n ...formatOptions,\n date: endDate,\n })}`;\n }\n }\n return '';\n};\n\nconst _DatePickerFilterChip: React.ForwardRefRenderFunction<\n BladeElementRef,\n DatePickerFilterChipProps & {\n onClearButtonChange: (value: string) => void;\n }\n> = (\n {\n ...props\n }: DatePickerFilterChipProps & {\n onClearButtonChange: (value: string) => void;\n },\n ref: React.ForwardedRef<BladeElementRef>,\n): React.ReactElement => {\n const {\n referenceProps,\n label,\n selectionType,\n onClearButtonChange,\n accessibilityLabel,\n date,\n format,\n isDisabled,\n } = props;\n const { locale } = useDatesContext();\n\n const dateValue = formatDateRange(date, format, locale, selectionType);\n\n return (\n <BaseFilterChip\n ref={ref}\n label={label}\n value={dateValue}\n onClearButtonClick={onClearButtonChange}\n accessibilityProps={{\n label: accessibilityLabel ?? label,\n hasPopup: referenceProps['aria-haspopup'],\n expanded: referenceProps['aria-expanded'],\n controls: referenceProps['aria-controls'],\n role: 'combobox',\n }}\n isDisabled={isDisabled}\n {...referenceProps}\n />\n );\n};\n\nconst DatePickerFilterChip = forwardRef(_DatePickerFilterChip);\n\nexport { DatePickerFilterChip };\n"],"names":["formatDateRange","date","format","locale","selectionType","formatOptions","labelSeparator","type","Date","getFormattedDate","Array","isArray","_date","_slicedToArray","startDate","endDate","concat","_objectSpread","_DatePickerFilterChip","_ref","ref","props","_extends","_objectDestructuringEmpty","referenceProps","label","onClearButtonChange","accessibilityLabel","isDisabled","_useDatesContext","useDatesContext","dateValue","_jsx","BaseFilterChip","value","onClearButtonClick","accessibilityProps","hasPopup","expanded","controls","role","DatePickerFilterChip","forwardRef"],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ import { useFirstRender } from '../../utils/useFirstRender.js';
|
|
|
16
16
|
import { jsx } from 'react/jsx-runtime';
|
|
17
17
|
import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
|
|
18
18
|
|
|
19
|
-
var _excluded = ["onClick", "onBlur", "onKeyDown", "accessibilityLabel", "testID", "value", "onClearButtonClick", "label", "onChange", "name"];
|
|
19
|
+
var _excluded = ["onClick", "onBlur", "onKeyDown", "accessibilityLabel", "testID", "value", "onClearButtonClick", "label", "onChange", "name", "isDisabled"];
|
|
20
20
|
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; }
|
|
21
21
|
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; }
|
|
22
22
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
@@ -34,6 +34,7 @@ var _FilterChipSelectInput = function _FilterChipSelectInput(props) {
|
|
|
34
34
|
label = props.label,
|
|
35
35
|
onChange = props.onChange,
|
|
36
36
|
name = props.name,
|
|
37
|
+
isDisabled = props.isDisabled,
|
|
37
38
|
rest = _objectWithoutProperties(props, _excluded);
|
|
38
39
|
var _React$useState = React__default.useState([]),
|
|
39
40
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
@@ -228,7 +229,8 @@ var _FilterChipSelectInput = function _FilterChipSelectInput(props) {
|
|
|
228
229
|
},
|
|
229
230
|
onBlur: function onBlur(e) {
|
|
230
231
|
_onBlur === null || _onBlur === void 0 ? void 0 : _onBlur(e);
|
|
231
|
-
}
|
|
232
|
+
},
|
|
233
|
+
isDisabled: isDisabled
|
|
232
234
|
}));
|
|
233
235
|
};
|
|
234
236
|
var FilterChipSelectInput = /*#__PURE__*/assignWithoutSideEffects(_FilterChipSelectInput, {
|
|
@@ -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} & 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 ...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 />\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","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 { 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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"}
|
|
@@ -113,14 +113,14 @@ var StyledFilterCloseButton = /*#__PURE__*/styled.button.withConfig({
|
|
|
113
113
|
theme: theme
|
|
114
114
|
}));
|
|
115
115
|
});
|
|
116
|
-
var renderValue = function renderValue(selectionType, value) {
|
|
116
|
+
var renderValue = function renderValue(selectionType, value, isDisabled) {
|
|
117
117
|
if (selectionType === 'multiple' && Array.isArray(value)) {
|
|
118
118
|
return /*#__PURE__*/jsx(Box, {
|
|
119
119
|
display: "flex",
|
|
120
120
|
alignItems: "center",
|
|
121
121
|
children: /*#__PURE__*/jsx(Counter, {
|
|
122
122
|
value: value.length,
|
|
123
|
-
color:
|
|
123
|
+
color: isDisabled ? 'neutral' : 'primary',
|
|
124
124
|
size: "small"
|
|
125
125
|
})
|
|
126
126
|
});
|
|
@@ -129,7 +129,7 @@ var renderValue = function renderValue(selectionType, value) {
|
|
|
129
129
|
as: "span",
|
|
130
130
|
size: "small",
|
|
131
131
|
weight: "semibold",
|
|
132
|
-
color:
|
|
132
|
+
color: isDisabled ? 'interactive.text.gray.disabled' : 'interactive.text.primary.normal',
|
|
133
133
|
children: value
|
|
134
134
|
});
|
|
135
135
|
};
|
|
@@ -178,7 +178,7 @@ var _BaseFilterChip = function _BaseFilterChip(_ref5, ref) {
|
|
|
178
178
|
color: "currentColor",
|
|
179
179
|
truncateAfterLines: 1,
|
|
180
180
|
children: [label, isSelected ? ':' : null]
|
|
181
|
-
}), isSelected ? renderValue(selectionType, value) : null]
|
|
181
|
+
}), isSelected ? renderValue(selectionType, value, isDisabled) : null]
|
|
182
182
|
}), /*#__PURE__*/jsx(Box, {
|
|
183
183
|
display: "flex",
|
|
184
184
|
alignItems: "center",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseFilterChip.web.js","sources":["../../../../../../src/components/FilterChip/BaseFilterChip.web.tsx"],"sourcesContent":["import React from 'react';\nimport type { CSSObject } from 'styled-components';\nimport styled from 'styled-components';\nimport { FILTER_CHIP_HEIGHT } from './tokens';\nimport type { BaseFilterChipProps } from './types';\nimport { Box } from '~components/Box';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Counter } from '~components/Counter';\nimport { Divider } from '~components/Divider';\nimport { ChevronDownIcon, CloseIcon } from '~components/Icons';\nimport { Text } from '~components/Typography';\nimport { makeBorderSize, makeSpace } from '~utils';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\nimport type { Theme } from '~components/BladeProvider';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport type { BladeElementRef } from '~utils/types';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst getInteractiveFilterItemStyles = ({ theme }: { theme: Theme }): CSSObject => {\n return {\n display: 'flex',\n height: '100%',\n alignItems: 'center',\n border: 'none',\n cursor: 'pointer',\n color: 'currentcolor',\n '&:not([disabled]):hover': {\n backgroundColor: theme.colors.interactive.background.gray.faded,\n },\n '&[disabled]': {\n cursor: 'not-allowed',\n },\n '&:focus-visible': {\n ...getFocusRingStyles({ theme }),\n outlineOffset: makeSpace(theme.spacing[1]),\n },\n };\n};\n\nconst StyledFilterChip = styled(BaseBox)<{ $isSelected?: boolean; $isDisabled?: boolean }>(\n ({ theme, $isDisabled, $isSelected }) => {\n return {\n borderWidth: makeBorderSize(theme.border.width.thin),\n borderColor: theme.colors.interactive.border.gray[$isDisabled ? 'disabled' : 'highlighted'],\n height: FILTER_CHIP_HEIGHT,\n borderRadius: theme.border.radius.max,\n display: 'flex',\n borderStyle: $isSelected ? 'solid' : 'dashed',\n backgroundColor: theme.colors.surface.background.gray.intense,\n color: theme.colors.interactive.text.gray[$isDisabled ? 'disabled' : 'normal'],\n width: 'fit-content',\n };\n },\n);\n\nconst StyledFilterTrigger = styled.button<{ $isSelected?: boolean }>(({ theme, $isSelected }) => {\n const { spacing } = theme;\n return {\n backgroundColor: theme.colors.transparent,\n borderRadius: $isSelected ? theme.border.radius.none : theme.border.radius.max,\n borderTopLeftRadius: theme.border.radius.max,\n borderBottomLeftRadius: theme.border.radius.max,\n paddingLeft: makeSpace(spacing[4]),\n paddingRight: $isSelected ? makeSpace(spacing[2]) : makeSpace(spacing[3]),\n gap: makeSpace(spacing[2]),\n ...getInteractiveFilterItemStyles({ theme }),\n };\n});\n\nconst StyledFilterCloseButton = styled.button(({ theme }) => {\n return {\n backgroundColor: theme.colors.transparent,\n borderTopRightRadius: theme.border.radius.max,\n borderBottomRightRadius: theme.border.radius.max,\n paddingLeft: makeSpace(theme.spacing[2]),\n paddingRight: makeSpace(theme.spacing[3]),\n justifyContent: 'center',\n ...getInteractiveFilterItemStyles({ theme }),\n };\n});\n\nconst renderValue = (\n selectionType: BaseFilterChipProps['selectionType'],\n value: BaseFilterChipProps['value'],\n): React.ReactElement => {\n if (selectionType === 'multiple' && Array.isArray(value)) {\n return (\n <Box display=\"flex\" alignItems=\"center\">\n <Counter value={value.length} color=\"primary\" size=\"small\" />\n </Box>\n );\n }\n\n return (\n <Text as=\"span\" size=\"small\" weight=\"semibold\" color=\"interactive.text.primary.normal\">\n {value}\n </Text>\n );\n};\n\nconst _BaseFilterChip: React.ForwardRefRenderFunction<BladeElementRef, BaseFilterChipProps> = (\n {\n value,\n onClearButtonClick,\n label,\n isDisabled,\n selectionType = 'single',\n onClick,\n onKeyDown,\n accessibilityProps,\n id,\n ...rest\n }: BaseFilterChipProps,\n ref: React.Ref<BladeElementRef>,\n): React.ReactElement => {\n const isSelected =\n selectionType === 'multiple' ? Array.isArray(value) && value.length > 0 : !!value;\n\n return (\n <StyledFilterChip\n $isDisabled={isDisabled}\n $isSelected={isSelected}\n ref={ref as React.Ref<HTMLDivElement>}\n >\n <StyledFilterTrigger\n $isSelected={isSelected}\n disabled={isDisabled}\n id={id}\n onClick={(e) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onClick?.(e as any);\n }}\n onKeyDown={(e) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onKeyDown?.(e as any);\n }}\n {...makeAccessible({\n ...accessibilityProps,\n role: accessibilityProps?.role ?? 'button',\n })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n {...metaAttribute({ testID: rest.testID })}\n >\n <Box display=\"flex\" gap=\"spacing.2\" whiteSpace=\"nowrap\">\n <Text size=\"small\" weight=\"medium\" color=\"currentColor\" truncateAfterLines={1}>\n {label}\n {isSelected ? ':' : null}\n </Text>\n {isSelected ? renderValue(selectionType, value) : null}\n </Box>\n <Box display=\"flex\" alignItems=\"center\" paddingRight=\"spacing.1\">\n <ChevronDownIcon size=\"small\" color=\"currentColor\" />\n </Box>\n </StyledFilterTrigger>\n {isSelected ? (\n <>\n <Divider orientation=\"vertical\" variant={isDisabled ? 'muted' : 'subtle'} />\n <StyledFilterCloseButton\n aria-label={`Clear ${label} value`}\n // value can never be undefined because when it's undefined the button itself doesn't render/\n onClick={() => onClearButtonClick?.({ value: value ?? '' })}\n disabled={isDisabled}\n >\n <CloseIcon size=\"small\" color=\"currentColor\" />\n </StyledFilterCloseButton>\n </>\n ) : null}\n </StyledFilterChip>\n );\n};\n\nconst BaseFilterChip = assignWithoutSideEffects(React.forwardRef(_BaseFilterChip), {\n componentId: MetaConstants.BaseFilterChip,\n});\n\nexport { BaseFilterChip };\n"],"names":["getInteractiveFilterItemStyles","_ref","theme","display","height","alignItems","border","cursor","color","backgroundColor","colors","interactive","background","gray","faded","_objectSpread","getFocusRingStyles","outlineOffset","makeSpace","spacing","StyledFilterChip","styled","BaseBox","withConfig","displayName","componentId","_ref2","$isDisabled","$isSelected","borderWidth","makeBorderSize","width","thin","borderColor","FILTER_CHIP_HEIGHT","borderRadius","radius","max","borderStyle","surface","intense","text","StyledFilterTrigger","button","_ref3","transparent","none","borderTopLeftRadius","borderBottomLeftRadius","paddingLeft","paddingRight","gap","StyledFilterCloseButton","_ref4","borderTopRightRadius","borderBottomRightRadius","justifyContent","renderValue","selectionType","value","Array","isArray","_jsx","Box","children","Counter","length","size","Text","as","weight","_BaseFilterChip","_ref5","ref","_accessibilityProps$r","onClearButtonClick","label","isDisabled","_ref5$selectionType","onClick","onKeyDown","accessibilityProps","id","rest","_objectWithoutProperties","_excluded","isSelected","_jsxs","disabled","e","makeAccessible","role","getStyledProps","makeAnalyticsAttribute","metaAttribute","testID","whiteSpace","truncateAfterLines","ChevronDownIcon","_Fragment","Divider","orientation","variant","concat","CloseIcon","BaseFilterChip","assignWithoutSideEffects","React","forwardRef","MetaConstants"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseFilterChip.web.js","sources":["../../../../../../src/components/FilterChip/BaseFilterChip.web.tsx"],"sourcesContent":["import React from 'react';\nimport type { CSSObject } from 'styled-components';\nimport styled from 'styled-components';\nimport { FILTER_CHIP_HEIGHT } from './tokens';\nimport type { BaseFilterChipProps } from './types';\nimport { Box } from '~components/Box';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Counter } from '~components/Counter';\nimport { Divider } from '~components/Divider';\nimport { ChevronDownIcon, CloseIcon } from '~components/Icons';\nimport { Text } from '~components/Typography';\nimport { makeBorderSize, makeSpace } from '~utils';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\nimport type { Theme } from '~components/BladeProvider';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport type { BladeElementRef } from '~utils/types';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst getInteractiveFilterItemStyles = ({ theme }: { theme: Theme }): CSSObject => {\n return {\n display: 'flex',\n height: '100%',\n alignItems: 'center',\n border: 'none',\n cursor: 'pointer',\n color: 'currentcolor',\n '&:not([disabled]):hover': {\n backgroundColor: theme.colors.interactive.background.gray.faded,\n },\n '&[disabled]': {\n cursor: 'not-allowed',\n },\n '&:focus-visible': {\n ...getFocusRingStyles({ theme }),\n outlineOffset: makeSpace(theme.spacing[1]),\n },\n };\n};\n\nconst StyledFilterChip = styled(BaseBox)<{ $isSelected?: boolean; $isDisabled?: boolean }>(\n ({ theme, $isDisabled, $isSelected }) => {\n return {\n borderWidth: makeBorderSize(theme.border.width.thin),\n borderColor: theme.colors.interactive.border.gray[$isDisabled ? 'disabled' : 'highlighted'],\n height: FILTER_CHIP_HEIGHT,\n borderRadius: theme.border.radius.max,\n display: 'flex',\n borderStyle: $isSelected ? 'solid' : 'dashed',\n backgroundColor: theme.colors.surface.background.gray.intense,\n color: theme.colors.interactive.text.gray[$isDisabled ? 'disabled' : 'normal'],\n width: 'fit-content',\n };\n },\n);\n\nconst StyledFilterTrigger = styled.button<{ $isSelected?: boolean }>(({ theme, $isSelected }) => {\n const { spacing } = theme;\n return {\n backgroundColor: theme.colors.transparent,\n borderRadius: $isSelected ? theme.border.radius.none : theme.border.radius.max,\n borderTopLeftRadius: theme.border.radius.max,\n borderBottomLeftRadius: theme.border.radius.max,\n paddingLeft: makeSpace(spacing[4]),\n paddingRight: $isSelected ? makeSpace(spacing[2]) : makeSpace(spacing[3]),\n gap: makeSpace(spacing[2]),\n ...getInteractiveFilterItemStyles({ theme }),\n };\n});\n\nconst StyledFilterCloseButton = styled.button(({ theme }) => {\n return {\n backgroundColor: theme.colors.transparent,\n borderTopRightRadius: theme.border.radius.max,\n borderBottomRightRadius: theme.border.radius.max,\n paddingLeft: makeSpace(theme.spacing[2]),\n paddingRight: makeSpace(theme.spacing[3]),\n justifyContent: 'center',\n ...getInteractiveFilterItemStyles({ theme }),\n };\n});\n\nconst renderValue = (\n selectionType: BaseFilterChipProps['selectionType'],\n value: BaseFilterChipProps['value'],\n isDisabled?: boolean,\n): React.ReactElement => {\n if (selectionType === 'multiple' && Array.isArray(value)) {\n return (\n <Box display=\"flex\" alignItems=\"center\">\n <Counter value={value.length} color={isDisabled ? 'neutral' : 'primary'} size=\"small\" />\n </Box>\n );\n }\n\n return (\n <Text\n as=\"span\"\n size=\"small\"\n weight=\"semibold\"\n color={isDisabled ? 'interactive.text.gray.disabled' : 'interactive.text.primary.normal'}\n >\n {value}\n </Text>\n );\n};\n\nconst _BaseFilterChip: React.ForwardRefRenderFunction<BladeElementRef, BaseFilterChipProps> = (\n {\n value,\n onClearButtonClick,\n label,\n isDisabled,\n selectionType = 'single',\n onClick,\n onKeyDown,\n accessibilityProps,\n id,\n ...rest\n }: BaseFilterChipProps,\n ref: React.Ref<BladeElementRef>,\n): React.ReactElement => {\n const isSelected =\n selectionType === 'multiple' ? Array.isArray(value) && value.length > 0 : !!value;\n\n return (\n <StyledFilterChip\n $isDisabled={isDisabled}\n $isSelected={isSelected}\n ref={ref as React.Ref<HTMLDivElement>}\n >\n <StyledFilterTrigger\n $isSelected={isSelected}\n disabled={isDisabled}\n id={id}\n onClick={(e) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onClick?.(e as any);\n }}\n onKeyDown={(e) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onKeyDown?.(e as any);\n }}\n {...makeAccessible({\n ...accessibilityProps,\n role: accessibilityProps?.role ?? 'button',\n })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n {...metaAttribute({ testID: rest.testID })}\n >\n <Box display=\"flex\" gap=\"spacing.2\" whiteSpace=\"nowrap\">\n <Text size=\"small\" weight=\"medium\" color=\"currentColor\" truncateAfterLines={1}>\n {label}\n {isSelected ? ':' : null}\n </Text>\n {isSelected ? renderValue(selectionType, value, isDisabled) : null}\n </Box>\n <Box display=\"flex\" alignItems=\"center\" paddingRight=\"spacing.1\">\n <ChevronDownIcon size=\"small\" color=\"currentColor\" />\n </Box>\n </StyledFilterTrigger>\n {isSelected ? (\n <>\n <Divider orientation=\"vertical\" variant={isDisabled ? 'muted' : 'subtle'} />\n <StyledFilterCloseButton\n aria-label={`Clear ${label} value`}\n // value can never be undefined because when it's undefined the button itself doesn't render/\n onClick={() => onClearButtonClick?.({ value: value ?? '' })}\n disabled={isDisabled}\n >\n <CloseIcon size=\"small\" color=\"currentColor\" />\n </StyledFilterCloseButton>\n </>\n ) : null}\n </StyledFilterChip>\n );\n};\n\nconst BaseFilterChip = assignWithoutSideEffects(React.forwardRef(_BaseFilterChip), {\n componentId: MetaConstants.BaseFilterChip,\n});\n\nexport { BaseFilterChip };\n"],"names":["getInteractiveFilterItemStyles","_ref","theme","display","height","alignItems","border","cursor","color","backgroundColor","colors","interactive","background","gray","faded","_objectSpread","getFocusRingStyles","outlineOffset","makeSpace","spacing","StyledFilterChip","styled","BaseBox","withConfig","displayName","componentId","_ref2","$isDisabled","$isSelected","borderWidth","makeBorderSize","width","thin","borderColor","FILTER_CHIP_HEIGHT","borderRadius","radius","max","borderStyle","surface","intense","text","StyledFilterTrigger","button","_ref3","transparent","none","borderTopLeftRadius","borderBottomLeftRadius","paddingLeft","paddingRight","gap","StyledFilterCloseButton","_ref4","borderTopRightRadius","borderBottomRightRadius","justifyContent","renderValue","selectionType","value","isDisabled","Array","isArray","_jsx","Box","children","Counter","length","size","Text","as","weight","_BaseFilterChip","_ref5","ref","_accessibilityProps$r","onClearButtonClick","label","_ref5$selectionType","onClick","onKeyDown","accessibilityProps","id","rest","_objectWithoutProperties","_excluded","isSelected","_jsxs","disabled","e","makeAccessible","role","getStyledProps","makeAnalyticsAttribute","metaAttribute","testID","whiteSpace","truncateAfterLines","ChevronDownIcon","_Fragment","Divider","orientation","variant","concat","CloseIcon","BaseFilterChip","assignWithoutSideEffects","React","forwardRef","MetaConstants"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,IAAMA,8BAA8B,GAAG,SAAjCA,8BAA8BA,CAAAC,IAAA,EAA+C;AAAA,EAAA,IAAzCC,KAAK,GAAAD,IAAA,CAALC,KAAK,CAAA;EAC7C,OAAO;AACLC,IAAAA,OAAO,EAAE,MAAM;AACfC,IAAAA,MAAM,EAAE,MAAM;AACdC,IAAAA,UAAU,EAAE,QAAQ;AACpBC,IAAAA,MAAM,EAAE,MAAM;AACdC,IAAAA,MAAM,EAAE,SAAS;AACjBC,IAAAA,KAAK,EAAE,cAAc;AACrB,IAAA,yBAAyB,EAAE;MACzBC,eAAe,EAAEP,KAAK,CAACQ,MAAM,CAACC,WAAW,CAACC,UAAU,CAACC,IAAI,CAACC,KAAAA;KAC3D;AACD,IAAA,aAAa,EAAE;AACbP,MAAAA,MAAM,EAAE,aAAA;KACT;AACD,IAAA,iBAAiB,EAAAQ,aAAA,CAAAA,aAAA,CAAA,EAAA,EACZC,kBAAkB,CAAC;AAAEd,MAAAA,KAAK,EAALA,KAAAA;AAAM,KAAC,CAAC,CAAA,EAAA,EAAA,EAAA;MAChCe,aAAa,EAAEC,SAAS,CAAChB,KAAK,CAACiB,OAAO,CAAC,CAAC,CAAC,CAAA;AAAC,KAAA,CAAA;GAE7C,CAAA;AACH,CAAC,CAAA;AAED,IAAMC,gBAAgB,gBAAGC,MAAM,CAACC,OAAO,CAAC,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,qCAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CACtC,CAAA,CAAA,UAAAC,KAAA,EAAyC;AAAA,EAAA,IAAtCxB,KAAK,GAAAwB,KAAA,CAALxB,KAAK;IAAEyB,WAAW,GAAAD,KAAA,CAAXC,WAAW;IAAEC,WAAW,GAAAF,KAAA,CAAXE,WAAW,CAAA;EAChC,OAAO;IACLC,WAAW,EAAEC,cAAc,CAAC5B,KAAK,CAACI,MAAM,CAACyB,KAAK,CAACC,IAAI,CAAC;AACpDC,IAAAA,WAAW,EAAE/B,KAAK,CAACQ,MAAM,CAACC,WAAW,CAACL,MAAM,CAACO,IAAI,CAACc,WAAW,GAAG,UAAU,GAAG,aAAa,CAAC;AAC3FvB,IAAAA,MAAM,EAAE8B,kBAAkB;AAC1BC,IAAAA,YAAY,EAAEjC,KAAK,CAACI,MAAM,CAAC8B,MAAM,CAACC,GAAG;AACrClC,IAAAA,OAAO,EAAE,MAAM;AACfmC,IAAAA,WAAW,EAAEV,WAAW,GAAG,OAAO,GAAG,QAAQ;IAC7CnB,eAAe,EAAEP,KAAK,CAACQ,MAAM,CAAC6B,OAAO,CAAC3B,UAAU,CAACC,IAAI,CAAC2B,OAAO;AAC7DhC,IAAAA,KAAK,EAAEN,KAAK,CAACQ,MAAM,CAACC,WAAW,CAAC8B,IAAI,CAAC5B,IAAI,CAACc,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;AAC9EI,IAAAA,KAAK,EAAE,aAAA;GACR,CAAA;AACH,CAAC,CACF,CAAA;AAED,IAAMW,mBAAmB,gBAAGrB,MAAM,CAACsB,MAAM,CAAApB,UAAA,CAAA;EAAAC,WAAA,EAAA,wCAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CAA4B,CAAA,CAAA,UAAAmB,KAAA,EAA4B;AAAA,EAAA,IAAzB1C,KAAK,GAAA0C,KAAA,CAAL1C,KAAK;IAAE0B,WAAW,GAAAgB,KAAA,CAAXhB,WAAW,CAAA;AACxF,EAAA,IAAQT,OAAO,GAAKjB,KAAK,CAAjBiB,OAAO,CAAA;AACf,EAAA,OAAAJ,aAAA,CAAA;AACEN,IAAAA,eAAe,EAAEP,KAAK,CAACQ,MAAM,CAACmC,WAAW;AACzCV,IAAAA,YAAY,EAAEP,WAAW,GAAG1B,KAAK,CAACI,MAAM,CAAC8B,MAAM,CAACU,IAAI,GAAG5C,KAAK,CAACI,MAAM,CAAC8B,MAAM,CAACC,GAAG;AAC9EU,IAAAA,mBAAmB,EAAE7C,KAAK,CAACI,MAAM,CAAC8B,MAAM,CAACC,GAAG;AAC5CW,IAAAA,sBAAsB,EAAE9C,KAAK,CAACI,MAAM,CAAC8B,MAAM,CAACC,GAAG;AAC/CY,IAAAA,WAAW,EAAE/B,SAAS,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClC+B,IAAAA,YAAY,EAAEtB,WAAW,GAAGV,SAAS,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAGD,SAAS,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;AACzEgC,IAAAA,GAAG,EAAEjC,SAAS,CAACC,OAAO,CAAC,CAAC,CAAC,CAAA;AAAC,GAAA,EACvBnB,8BAA8B,CAAC;AAAEE,IAAAA,KAAK,EAALA,KAAAA;AAAM,GAAC,CAAC,CAAA,CAAA;AAEhD,CAAC,CAAC,CAAA;AAEF,IAAMkD,uBAAuB,gBAAG/B,MAAM,CAACsB,MAAM,CAAApB,UAAA,CAAA;EAAAC,WAAA,EAAA,4CAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CAAC,CAAA,CAAA,UAAA4B,KAAA,EAAe;AAAA,EAAA,IAAZnD,KAAK,GAAAmD,KAAA,CAALnD,KAAK,CAAA;AACpD,EAAA,OAAAa,aAAA,CAAA;AACEN,IAAAA,eAAe,EAAEP,KAAK,CAACQ,MAAM,CAACmC,WAAW;AACzCS,IAAAA,oBAAoB,EAAEpD,KAAK,CAACI,MAAM,CAAC8B,MAAM,CAACC,GAAG;AAC7CkB,IAAAA,uBAAuB,EAAErD,KAAK,CAACI,MAAM,CAAC8B,MAAM,CAACC,GAAG;IAChDY,WAAW,EAAE/B,SAAS,CAAChB,KAAK,CAACiB,OAAO,CAAC,CAAC,CAAC,CAAC;IACxC+B,YAAY,EAAEhC,SAAS,CAAChB,KAAK,CAACiB,OAAO,CAAC,CAAC,CAAC,CAAC;AACzCqC,IAAAA,cAAc,EAAE,QAAA;AAAQ,GAAA,EACrBxD,8BAA8B,CAAC;AAAEE,IAAAA,KAAK,EAALA,KAAAA;AAAM,GAAC,CAAC,CAAA,CAAA;AAEhD,CAAC,CAAC,CAAA;AAEF,IAAMuD,WAAW,GAAG,SAAdA,WAAWA,CACfC,aAAmD,EACnDC,KAAmC,EACnCC,UAAoB,EACG;EACvB,IAAIF,aAAa,KAAK,UAAU,IAAIG,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;IACxD,oBACEI,GAAA,CAACC,GAAG,EAAA;AAAC7D,MAAAA,OAAO,EAAC,MAAM;AAACE,MAAAA,UAAU,EAAC,QAAQ;MAAA4D,QAAA,eACrCF,GAAA,CAACG,OAAO,EAAA;QAACP,KAAK,EAAEA,KAAK,CAACQ,MAAO;AAAC3D,QAAAA,KAAK,EAAEoD,UAAU,GAAG,SAAS,GAAG,SAAU;AAACQ,QAAAA,IAAI,EAAC,OAAA;OAAS,CAAA;AAAC,KACrF,CAAC,CAAA;AAEV,GAAA;EAEA,oBACEL,GAAA,CAACM,IAAI,EAAA;AACHC,IAAAA,EAAE,EAAC,MAAM;AACTF,IAAAA,IAAI,EAAC,OAAO;AACZG,IAAAA,MAAM,EAAC,UAAU;AACjB/D,IAAAA,KAAK,EAAEoD,UAAU,GAAG,gCAAgC,GAAG,iCAAkC;AAAAK,IAAAA,QAAA,EAExFN,KAAAA;AAAK,GACF,CAAC,CAAA;AAEX,CAAC,CAAA;AAED,IAAMa,eAAqF,GAAG,SAAxFA,eAAqFA,CAAAC,KAAA,EAazFC,GAA+B,EACR;AAAA,EAAA,IAAAC,qBAAA,CAAA;AAAA,EAAA,IAZrBhB,KAAK,GAAAc,KAAA,CAALd,KAAK;IACLiB,kBAAkB,GAAAH,KAAA,CAAlBG,kBAAkB;IAClBC,KAAK,GAAAJ,KAAA,CAALI,KAAK;IACLjB,UAAU,GAAAa,KAAA,CAAVb,UAAU;IAAAkB,mBAAA,GAAAL,KAAA,CACVf,aAAa;AAAbA,IAAAA,aAAa,GAAAoB,mBAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,mBAAA;IACxBC,QAAO,GAAAN,KAAA,CAAPM,OAAO;IACPC,UAAS,GAAAP,KAAA,CAATO,SAAS;IACTC,kBAAkB,GAAAR,KAAA,CAAlBQ,kBAAkB;IAClBC,EAAE,GAAAT,KAAA,CAAFS,EAAE;AACCC,IAAAA,IAAI,GAAAC,wBAAA,CAAAX,KAAA,EAAAY,SAAA,CAAA,CAAA;EAIT,IAAMC,UAAU,GACd5B,aAAa,KAAK,UAAU,GAAGG,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,IAAIA,KAAK,CAACQ,MAAM,GAAG,CAAC,GAAG,CAAC,CAACR,KAAK,CAAA;EAEnF,oBACE4B,IAAA,CAACnE,gBAAgB,EAAA;AACfO,IAAAA,WAAW,EAAEiC,UAAW;AACxBhC,IAAAA,WAAW,EAAE0D,UAAW;AACxBZ,IAAAA,GAAG,EAAEA,GAAiC;AAAAT,IAAAA,QAAA,EAEtCsB,cAAAA,IAAA,CAAC7C,mBAAmB,EAAA3B,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA;AAClBa,MAAAA,WAAW,EAAE0D,UAAW;AACxBE,MAAAA,QAAQ,EAAE5B,UAAW;AACrBsB,MAAAA,EAAE,EAAEA,EAAG;AACPH,MAAAA,OAAO,EAAE,SAAAA,OAACU,CAAAA,CAAC,EAAK;AACd;AACAV,QAAAA,QAAO,aAAPA,QAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,QAAO,CAAGU,CAAQ,CAAC,CAAA;OACnB;AACFT,MAAAA,SAAS,EAAE,SAAAA,SAACS,CAAAA,CAAC,EAAK;AAChB;AACAT,QAAAA,UAAS,aAATA,UAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAATA,UAAS,CAAGS,CAAQ,CAAC,CAAA;AACvB,OAAA;AAAE,KAAA,EACEC,cAAc,CAAA3E,aAAA,CAAAA,aAAA,KACbkE,kBAAkB,CAAA,EAAA,EAAA,EAAA;AACrBU,MAAAA,IAAI,EAAAhB,CAAAA,qBAAA,GAAEM,kBAAkB,aAAlBA,kBAAkB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAlBA,kBAAkB,CAAEU,IAAI,MAAA,IAAA,IAAAhB,qBAAA,KAAA,KAAA,CAAA,GAAAA,qBAAA,GAAI,QAAA;AAAQ,KAAA,CAC3C,CAAC,CAAA,EACEiB,cAAc,CAACT,IAAI,CAAC,CACpBU,EAAAA,sBAAsB,CAACV,IAAI,CAAC,CAAA,EAC5BW,aAAa,CAAC;MAAEC,MAAM,EAAEZ,IAAI,CAACY,MAAAA;AAAO,KAAC,CAAC,CAAA,EAAA,EAAA,EAAA;MAAA9B,QAAA,EAAA,cAE1CsB,IAAA,CAACvB,GAAG,EAAA;AAAC7D,QAAAA,OAAO,EAAC,MAAM;AAACgD,QAAAA,GAAG,EAAC,WAAW;AAAC6C,QAAAA,UAAU,EAAC,QAAQ;QAAA/B,QAAA,EAAA,cACrDsB,IAAA,CAAClB,IAAI,EAAA;AAACD,UAAAA,IAAI,EAAC,OAAO;AAACG,UAAAA,MAAM,EAAC,QAAQ;AAAC/D,UAAAA,KAAK,EAAC,cAAc;AAACyF,UAAAA,kBAAkB,EAAE,CAAE;AAAAhC,UAAAA,QAAA,GAC3EY,KAAK,EACLS,UAAU,GAAG,GAAG,GAAG,IAAI,CAAA;AAAA,SACpB,CAAC,EACNA,UAAU,GAAG7B,WAAW,CAACC,aAAa,EAAEC,KAAK,EAAEC,UAAU,CAAC,GAAG,IAAI,CAAA;AAAA,OAC/D,CAAC,eACNG,GAAA,CAACC,GAAG,EAAA;AAAC7D,QAAAA,OAAO,EAAC,MAAM;AAACE,QAAAA,UAAU,EAAC,QAAQ;AAAC6C,QAAAA,YAAY,EAAC,WAAW;QAAAe,QAAA,eAC9DF,GAAA,CAACmC,eAAe,EAAA;AAAC9B,UAAAA,IAAI,EAAC,OAAO;AAAC5D,UAAAA,KAAK,EAAC,cAAA;SAAgB,CAAA;AAAC,OAClD,CAAC,CAAA;AAAA,KAAA,CACa,CAAC,EACrB8E,UAAU,gBACTC,IAAA,CAAAY,QAAA,EAAA;MAAAlC,QAAA,EAAA,cACEF,GAAA,CAACqC,OAAO,EAAA;AAACC,QAAAA,WAAW,EAAC,UAAU;AAACC,QAAAA,OAAO,EAAE1C,UAAU,GAAG,OAAO,GAAG,QAAA;AAAS,OAAE,CAAC,eAC5EG,GAAA,CAACX,uBAAuB,EAAA;QACtB,YAAAmD,EAAAA,QAAAA,CAAAA,MAAA,CAAqB1B,KAAK,EAAA,QAAA,CAAA;AAC1B;AAAA;QACAE,OAAO,EAAE,SAAAA,OAAA,GAAA;AAAA,UAAA,OAAMH,kBAAkB,KAAA,IAAA,IAAlBA,kBAAkB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAlBA,kBAAkB,CAAG;AAAEjB,YAAAA,KAAK,EAAEA,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAALA,KAAK,GAAI,EAAA;AAAG,WAAC,CAAC,CAAA;SAAC;AAC5D6B,QAAAA,QAAQ,EAAE5B,UAAW;QAAAK,QAAA,eAErBF,GAAA,CAACyC,SAAS,EAAA;AAACpC,UAAAA,IAAI,EAAC,OAAO;AAAC5D,UAAAA,KAAK,EAAC,cAAA;SAAgB,CAAA;AAAC,OACxB,CAAC,CAAA;KAC1B,CAAC,GACD,IAAI,CAAA;AAAA,GACQ,CAAC,CAAA;AAEvB,CAAC,CAAA;AAEKiG,IAAAA,cAAc,gBAAGC,wBAAwB,eAACC,cAAK,CAACC,UAAU,CAACpC,eAAe,CAAC,EAAE;EACjF/C,WAAW,EAAEoF,aAAa,CAACJ,cAAAA;AAC7B,CAAC;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
2
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
3
|
+
import 'react';
|
|
3
4
|
import styled from 'styled-components';
|
|
4
5
|
import { getNavItemTransition, NAV_ITEM_HEIGHT, classes } from '../tokens.js';
|
|
5
6
|
import '../../Box/index.js';
|
|
@@ -27,6 +28,7 @@ var SideNavItemContainer = /*#__PURE__*/styled(BaseBox).withConfig({
|
|
|
27
28
|
};
|
|
28
29
|
});
|
|
29
30
|
var SideNavItem = function SideNavItem(_ref) {
|
|
31
|
+
var _leading$name;
|
|
30
32
|
var leading = _ref.leading,
|
|
31
33
|
trailing = _ref.trailing,
|
|
32
34
|
title = _ref.title,
|
|
@@ -35,6 +37,8 @@ var SideNavItem = function SideNavItem(_ref) {
|
|
|
35
37
|
_ref$as = _ref.as,
|
|
36
38
|
as = _ref$as === void 0 ? 'div' : _ref$as,
|
|
37
39
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
40
|
+
var isIcon = typeof leading === 'function' && ((_leading$name = leading.name) === null || _leading$name === void 0 ? void 0 : _leading$name.endsWith('Icon'));
|
|
41
|
+
var Icon = isIcon ? leading : undefined;
|
|
38
42
|
return /*#__PURE__*/jsx(TooltipifyComponent, {
|
|
39
43
|
tooltip: tooltip,
|
|
40
44
|
children: /*#__PURE__*/jsxs(SideNavItemContainer, _objectSpread(_objectSpread({
|
|
@@ -53,7 +57,15 @@ var SideNavItem = function SideNavItem(_ref) {
|
|
|
53
57
|
display: "inline-flex",
|
|
54
58
|
alignItems: "center",
|
|
55
59
|
gap: "spacing.3",
|
|
56
|
-
children: [
|
|
60
|
+
children: [Icon ? /*#__PURE__*/jsx(BaseBox, {
|
|
61
|
+
display: "flex",
|
|
62
|
+
alignItems: "center",
|
|
63
|
+
paddingX: "spacing.2",
|
|
64
|
+
children: /*#__PURE__*/jsx(Icon, {
|
|
65
|
+
size: "medium",
|
|
66
|
+
color: "interactive.icon.gray.subtle"
|
|
67
|
+
})
|
|
68
|
+
}) : leading, /*#__PURE__*/jsx(BaseBox, {
|
|
57
69
|
className: classes.HIDE_WHEN_COLLAPSED,
|
|
58
70
|
children: /*#__PURE__*/jsx(Text, {
|
|
59
71
|
truncateAfterLines: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNavItem.web.js","sources":["../../../../../../../src/components/SideNav/SideNavItems/SideNavItem.web.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport { classes, getNavItemTransition, NAV_ITEM_HEIGHT } from '../tokens';\nimport type { SideNavItemProps } from '../types';\nimport { Box } from '~components/Box';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { makeSize } from '~utils';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { TooltipifyComponent } from '~utils/TooltipifyComponent';\n\nconst SideNavItemContainer = styled(BaseBox)((props) => {\n return {\n transition: getNavItemTransition(props.theme),\n };\n});\n\nconst SideNavItem = ({\n leading,\n trailing,\n title,\n backgroundColor,\n tooltip,\n as = 'div',\n ...rest\n}: SideNavItemProps): React.ReactElement => {\n return (\n <TooltipifyComponent tooltip={tooltip}>\n <SideNavItemContainer\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n paddingX=\"spacing.3\"\n height={makeSize(NAV_ITEM_HEIGHT)}\n backgroundColor={backgroundColor}\n borderRadius=\"medium\"\n as={as}\n cursor={as === 'label' ? 'pointer' : undefined}\n {...makeAnalyticsAttribute(rest)}\n >\n <Box display=\"inline-flex\" alignItems=\"center\" gap=\"spacing.3\">\n {leading}\n <BaseBox className={classes.HIDE_WHEN_COLLAPSED}>\n <Text\n truncateAfterLines={1}\n weight=\"medium\"\n size=\"medium\"\n color=\"surface.text.gray.subtle\"\n >\n {title}\n </Text>\n </BaseBox>\n </Box>\n <BaseBox className={classes.HIDE_WHEN_COLLAPSED}>{trailing}</BaseBox>\n </SideNavItemContainer>\n </TooltipifyComponent>\n );\n};\n\nexport { SideNavItem };\n"],"names":["SideNavItemContainer","styled","BaseBox","withConfig","displayName","componentId","props","transition","getNavItemTransition","theme","SideNavItem","_ref","leading","trailing","title","backgroundColor","tooltip","_ref$as","as","rest","_objectWithoutProperties","_excluded","_jsx","TooltipifyComponent","children","_jsxs","_objectSpread","display","flexDirection","justifyContent","alignItems","paddingX","height","makeSize","NAV_ITEM_HEIGHT","borderRadius","cursor","
|
|
1
|
+
{"version":3,"file":"SideNavItem.web.js","sources":["../../../../../../../src/components/SideNav/SideNavItems/SideNavItem.web.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { classes, getNavItemTransition, NAV_ITEM_HEIGHT } from '../tokens';\nimport type { SideNavItemProps } from '../types';\nimport { Box } from '~components/Box';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { makeSize } from '~utils';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { TooltipifyComponent } from '~utils/TooltipifyComponent';\nimport type { IconComponent } from '~components/Icons';\n\nconst SideNavItemContainer = styled(BaseBox)((props) => {\n return {\n transition: getNavItemTransition(props.theme),\n };\n});\n\nconst SideNavItem = ({\n leading,\n trailing,\n title,\n backgroundColor,\n tooltip,\n as = 'div',\n ...rest\n}: SideNavItemProps): React.ReactElement => {\n const isIcon = typeof leading === 'function' && leading.name?.endsWith('Icon');\n const Icon: IconComponent | undefined = isIcon ? leading : undefined;\n\n return (\n <TooltipifyComponent tooltip={tooltip}>\n <SideNavItemContainer\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n paddingX=\"spacing.3\"\n height={makeSize(NAV_ITEM_HEIGHT)}\n backgroundColor={backgroundColor}\n borderRadius=\"medium\"\n as={as}\n cursor={as === 'label' ? 'pointer' : undefined}\n {...makeAnalyticsAttribute(rest)}\n >\n <Box display=\"inline-flex\" alignItems=\"center\" gap=\"spacing.3\">\n {Icon ? (\n <BaseBox display=\"flex\" alignItems=\"center\" paddingX=\"spacing.2\">\n <Icon size=\"medium\" color=\"interactive.icon.gray.subtle\" />\n </BaseBox>\n ) : (\n (leading as React.ReactNode)\n )}\n <BaseBox className={classes.HIDE_WHEN_COLLAPSED}>\n <Text\n truncateAfterLines={1}\n weight=\"medium\"\n size=\"medium\"\n color=\"surface.text.gray.subtle\"\n >\n {title}\n </Text>\n </BaseBox>\n </Box>\n <BaseBox className={classes.HIDE_WHEN_COLLAPSED}>{trailing}</BaseBox>\n </SideNavItemContainer>\n </TooltipifyComponent>\n );\n};\n\nexport { SideNavItem };\n"],"names":["SideNavItemContainer","styled","BaseBox","withConfig","displayName","componentId","props","transition","getNavItemTransition","theme","SideNavItem","_ref","_leading$name","leading","trailing","title","backgroundColor","tooltip","_ref$as","as","rest","_objectWithoutProperties","_excluded","isIcon","name","endsWith","Icon","undefined","_jsx","TooltipifyComponent","children","_jsxs","_objectSpread","display","flexDirection","justifyContent","alignItems","paddingX","height","makeSize","NAV_ITEM_HEIGHT","borderRadius","cursor","makeAnalyticsAttribute","Box","gap","size","color","className","classes","HIDE_WHEN_COLLAPSED","Text","truncateAfterLines","weight"],"mappings":"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"}
|
|
@@ -10,12 +10,14 @@ import { makeSize } from '../../utils/makeSize/makeSize.js';
|
|
|
10
10
|
import { Text } from '../Typography/Text/Text.js';
|
|
11
11
|
|
|
12
12
|
var SideNavLevel = function SideNavLevel(_ref) {
|
|
13
|
-
var children = _ref.children
|
|
13
|
+
var children = _ref.children,
|
|
14
|
+
titleSuffix = _ref.titleSuffix;
|
|
14
15
|
var _useNavLink = useNavLink(),
|
|
15
16
|
_prevLevel = _useNavLink.level,
|
|
16
17
|
headingTitle = _useNavLink.title;
|
|
17
18
|
var prevLevel = _prevLevel !== null && _prevLevel !== void 0 ? _prevLevel : 0;
|
|
18
19
|
var currentLevel = prevLevel + 1;
|
|
20
|
+
var hasTrailing = !!titleSuffix;
|
|
19
21
|
return /*#__PURE__*/jsxs(BaseBox, {
|
|
20
22
|
marginLeft: currentLevel === 3 ? {
|
|
21
23
|
base: 'spacing.7',
|
|
@@ -39,21 +41,23 @@ var SideNavLevel = function SideNavLevel(_ref) {
|
|
|
39
41
|
height: "100%",
|
|
40
42
|
display: "flex",
|
|
41
43
|
flexDirection: "column",
|
|
42
|
-
children: [currentLevel === 2 && headingTitle ? /*#__PURE__*/
|
|
44
|
+
children: [currentLevel === 2 && headingTitle ? /*#__PURE__*/jsxs(BaseBox
|
|
43
45
|
// In mobile, we use DrawerHeader for this heading
|
|
44
46
|
, {
|
|
45
47
|
display: {
|
|
46
48
|
base: 'none',
|
|
47
|
-
m: 'block'
|
|
49
|
+
m: hasTrailing ? 'flex' : 'block'
|
|
48
50
|
},
|
|
49
51
|
padding: "spacing.4",
|
|
50
52
|
borderBottomWidth: "thin",
|
|
51
53
|
borderBottomColor: "surface.border.gray.muted",
|
|
52
|
-
|
|
54
|
+
gap: hasTrailing ? 'spacing.2' : 'spacing.0',
|
|
55
|
+
alignItems: hasTrailing ? 'center' : undefined,
|
|
56
|
+
children: [/*#__PURE__*/jsx(Text, {
|
|
53
57
|
size: "large",
|
|
54
58
|
weight: "semibold",
|
|
55
59
|
children: headingTitle
|
|
56
|
-
})
|
|
60
|
+
}), titleSuffix]
|
|
57
61
|
}) : null, /*#__PURE__*/jsx(BaseBox, {
|
|
58
62
|
padding: {
|
|
59
63
|
base: 'spacing.0',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNavLevel.web.js","sources":["../../../../../../src/components/SideNav/SideNavLevel.web.tsx"],"sourcesContent":["import React from 'react';\nimport { useNavLink } from './SideNavContext';\nimport { COLLAPSED_L1_WIDTH } from './tokens';\nimport type { SideNavLevelProps } from './types';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { makeSize } from '~utils';\n\nconst SideNavLevel = ({ children }: SideNavLevelProps): React.ReactElement => {\n const { level: _prevLevel, title: headingTitle } = useNavLink();\n const prevLevel = _prevLevel ?? 0;\n const currentLevel = prevLevel + 1;\n return (\n <BaseBox\n marginLeft={\n currentLevel === 3\n ? { base: 'spacing.7', m: 'spacing.6' }\n : { base: 'spacing.0', m: makeSize(COLLAPSED_L1_WIDTH) }\n }\n // When we're in level 2 or 3, we want to stop propagation of hover from its items.\n // L1 is only expected to open / close on hover of L1 menu and L1 items\n onMouseOver={(e) => {\n e.stopPropagation();\n }}\n // Although we don't use `onMouseOut` on SideNav, keeping it here in case we start using it in future as stopping propagation in child\n // is expected behaviour for us. Checkout https://react.dev/reference/react-dom/createPortal#caveats\n onMouseOut={(e) => {\n e.stopPropagation();\n }}\n height=\"100%\"\n display=\"flex\"\n flexDirection=\"column\"\n >\n {currentLevel === 2 && headingTitle ? (\n <BaseBox\n // In mobile, we use DrawerHeader for this heading\n display={{ base: 'none', m: 'block' }}\n padding=\"spacing.4\"\n borderBottomWidth=\"thin\"\n borderBottomColor=\"surface.border.gray.muted\"\n >\n <Text size=\"large\" weight=\"semibold\">\n {headingTitle}\n </Text>\n </BaseBox>\n ) : null}\n <BaseBox padding={{ base: 'spacing.0', m: 'spacing.3' }} overflowY=\"auto\">\n {children}\n </BaseBox>\n </BaseBox>\n );\n};\n\nexport { SideNavLevel };\n"],"names":["SideNavLevel","_ref","children","_useNavLink","useNavLink","_prevLevel","level","headingTitle","title","prevLevel","currentLevel","_jsxs","BaseBox","marginLeft","base","m","makeSize","COLLAPSED_L1_WIDTH","onMouseOver","e","stopPropagation","onMouseOut","height","display","flexDirection","
|
|
1
|
+
{"version":3,"file":"SideNavLevel.web.js","sources":["../../../../../../src/components/SideNav/SideNavLevel.web.tsx"],"sourcesContent":["import React from 'react';\nimport { useNavLink } from './SideNavContext';\nimport { COLLAPSED_L1_WIDTH } from './tokens';\nimport type { SideNavLevelProps } from './types';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { makeSize } from '~utils';\n\nconst SideNavLevel = ({ children, titleSuffix }: SideNavLevelProps): React.ReactElement => {\n const { level: _prevLevel, title: headingTitle } = useNavLink();\n\n const prevLevel = _prevLevel ?? 0;\n const currentLevel = prevLevel + 1;\n const hasTrailing = !!titleSuffix;\n return (\n <BaseBox\n marginLeft={\n currentLevel === 3\n ? { base: 'spacing.7', m: 'spacing.6' }\n : { base: 'spacing.0', m: makeSize(COLLAPSED_L1_WIDTH) }\n }\n // When we're in level 2 or 3, we want to stop propagation of hover from its items.\n // L1 is only expected to open / close on hover of L1 menu and L1 items\n onMouseOver={(e) => {\n e.stopPropagation();\n }}\n // Although we don't use `onMouseOut` on SideNav, keeping it here in case we start using it in future as stopping propagation in child\n // is expected behaviour for us. Checkout https://react.dev/reference/react-dom/createPortal#caveats\n onMouseOut={(e) => {\n e.stopPropagation();\n }}\n height=\"100%\"\n display=\"flex\"\n flexDirection=\"column\"\n >\n {currentLevel === 2 && headingTitle ? (\n <BaseBox\n // In mobile, we use DrawerHeader for this heading\n display={{ base: 'none', m: hasTrailing ? 'flex' : 'block' }}\n padding=\"spacing.4\"\n borderBottomWidth=\"thin\"\n borderBottomColor=\"surface.border.gray.muted\"\n gap={hasTrailing ? 'spacing.2' : 'spacing.0'}\n alignItems={hasTrailing ? 'center' : undefined}\n >\n <Text size=\"large\" weight=\"semibold\">\n {headingTitle}\n </Text>\n {titleSuffix}\n </BaseBox>\n ) : null}\n <BaseBox padding={{ base: 'spacing.0', m: 'spacing.3' }} overflowY=\"auto\">\n {children}\n </BaseBox>\n </BaseBox>\n );\n};\n\nexport { SideNavLevel };\n"],"names":["SideNavLevel","_ref","children","titleSuffix","_useNavLink","useNavLink","_prevLevel","level","headingTitle","title","prevLevel","currentLevel","hasTrailing","_jsxs","BaseBox","marginLeft","base","m","makeSize","COLLAPSED_L1_WIDTH","onMouseOver","e","stopPropagation","onMouseOut","height","display","flexDirection","padding","borderBottomWidth","borderBottomColor","gap","alignItems","undefined","_jsx","Text","size","weight","overflowY"],"mappings":";;;;;;;;;;;AAQA,IAAMA,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA,EAAyE;AAAA,EAAA,IAAnEC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,WAAW,GAAAF,IAAA,CAAXE,WAAW,CAAA;AAC3C,EAAA,IAAAC,WAAA,GAAmDC,UAAU,EAAE;IAAhDC,UAAU,GAAAF,WAAA,CAAjBG,KAAK;IAAqBC,YAAY,GAAAJ,WAAA,CAAnBK,KAAK,CAAA;EAEhC,IAAMC,SAAS,GAAGJ,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,UAAU,GAAI,CAAC,CAAA;AACjC,EAAA,IAAMK,YAAY,GAAGD,SAAS,GAAG,CAAC,CAAA;AAClC,EAAA,IAAME,WAAW,GAAG,CAAC,CAACT,WAAW,CAAA;EACjC,oBACEU,IAAA,CAACC,OAAO,EAAA;AACNC,IAAAA,UAAU,EACRJ,YAAY,KAAK,CAAC,GACd;AAAEK,MAAAA,IAAI,EAAE,WAAW;AAAEC,MAAAA,CAAC,EAAE,WAAA;AAAY,KAAC,GACrC;AAAED,MAAAA,IAAI,EAAE,WAAW;MAAEC,CAAC,EAAEC,QAAQ,CAACC,kBAAkB,CAAA;AAAE,KAAA;AAE3D;AACA;AAAA;AACAC,IAAAA,WAAW,EAAE,SAAAA,WAACC,CAAAA,CAAC,EAAK;MAClBA,CAAC,CAACC,eAAe,EAAE,CAAA;AACrB,KAAA;AACA;AACA;AAAA;AACAC,IAAAA,UAAU,EAAE,SAAAA,UAACF,CAAAA,CAAC,EAAK;MACjBA,CAAC,CAACC,eAAe,EAAE,CAAA;KACnB;AACFE,IAAAA,MAAM,EAAC,MAAM;AACbC,IAAAA,OAAO,EAAC,MAAM;AACdC,IAAAA,aAAa,EAAC,QAAQ;IAAAxB,QAAA,EAAA,CAErBS,YAAY,KAAK,CAAC,IAAIH,YAAY,gBACjCK,IAAA,CAACC,OAAAA;AACC;AAAA,MAAA;AACAW,MAAAA,OAAO,EAAE;AAAET,QAAAA,IAAI,EAAE,MAAM;AAAEC,QAAAA,CAAC,EAAEL,WAAW,GAAG,MAAM,GAAG,OAAA;OAAU;AAC7De,MAAAA,OAAO,EAAC,WAAW;AACnBC,MAAAA,iBAAiB,EAAC,MAAM;AACxBC,MAAAA,iBAAiB,EAAC,2BAA2B;AAC7CC,MAAAA,GAAG,EAAElB,WAAW,GAAG,WAAW,GAAG,WAAY;AAC7CmB,MAAAA,UAAU,EAAEnB,WAAW,GAAG,QAAQ,GAAGoB,SAAU;MAAA9B,QAAA,EAAA,cAE/C+B,GAAA,CAACC,IAAI,EAAA;AAACC,QAAAA,IAAI,EAAC,OAAO;AAACC,QAAAA,MAAM,EAAC,UAAU;AAAAlC,QAAAA,QAAA,EACjCM,YAAAA;OACG,CAAC,EACNL,WAAW,CAAA;AAAA,KACL,CAAC,GACR,IAAI,eACR8B,GAAA,CAACnB,OAAO,EAAA;AAACa,MAAAA,OAAO,EAAE;AAAEX,QAAAA,IAAI,EAAE,WAAW;AAAEC,QAAAA,CAAC,EAAE,WAAA;OAAc;AAACoB,MAAAA,SAAS,EAAC,MAAM;AAAAnC,MAAAA,QAAA,EACtEA,QAAAA;AAAQ,KACF,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAEd;;;;"}
|
|
@@ -15,7 +15,7 @@ var classes = {
|
|
|
15
15
|
var SKIP_NAV_ID = 'blade-side-nav-skip';
|
|
16
16
|
var COLLAPSED_L1_WIDTH = size['56'];
|
|
17
17
|
var SIDE_NAV_EXPANDED_L1_WIDTH_XL = size['264'];
|
|
18
|
-
var SIDE_NAV_EXPANDED_L1_WIDTH_BASE = size['
|
|
18
|
+
var SIDE_NAV_EXPANDED_L1_WIDTH_BASE = size['240'];
|
|
19
19
|
var NAV_ITEM_HEIGHT = size['40'];
|
|
20
20
|
|
|
21
21
|
// This is the delay after which transition cleanup happens for rare cases where transitionEnd is not triggered
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sources":["../../../../../../src/components/SideNav/tokens.ts"],"sourcesContent":["import type { Theme } from '~components/BladeProvider';\nimport { size } from '~tokens/global';\nimport { makeMotionTime } from '~utils';\n\nconst classes = {\n SHOW_WHEN_COLLAPSED: 'show-when-collapsed',\n HIDE_WHEN_COLLAPSED: 'hide-when-collapsed',\n COLLAPSED: 'collapsed',\n TRANSITIONING: 'transitioning',\n L1_ITEM_WRAPPER: 'l1-item-wrapper',\n SHOW_ON_LINK_HOVER: 'show-on-link-hover',\n STYLED_NAV_LINK: 'styled-nav-link',\n} as const;\n\nconst SKIP_NAV_ID = 'blade-side-nav-skip';\n\nconst COLLAPSED_L1_WIDTH = size['56'];\nconst SIDE_NAV_EXPANDED_L1_WIDTH_XL = size['264'];\nconst SIDE_NAV_EXPANDED_L1_WIDTH_BASE = size['
|
|
1
|
+
{"version":3,"file":"tokens.js","sources":["../../../../../../src/components/SideNav/tokens.ts"],"sourcesContent":["import type { Theme } from '~components/BladeProvider';\nimport { size } from '~tokens/global';\nimport { makeMotionTime } from '~utils';\n\nconst classes = {\n SHOW_WHEN_COLLAPSED: 'show-when-collapsed',\n HIDE_WHEN_COLLAPSED: 'hide-when-collapsed',\n COLLAPSED: 'collapsed',\n TRANSITIONING: 'transitioning',\n L1_ITEM_WRAPPER: 'l1-item-wrapper',\n SHOW_ON_LINK_HOVER: 'show-on-link-hover',\n STYLED_NAV_LINK: 'styled-nav-link',\n} as const;\n\nconst SKIP_NAV_ID = 'blade-side-nav-skip';\n\nconst COLLAPSED_L1_WIDTH = size['56'];\nconst SIDE_NAV_EXPANDED_L1_WIDTH_XL = size['264'];\nconst SIDE_NAV_EXPANDED_L1_WIDTH_BASE = size['240'];\nconst NAV_ITEM_HEIGHT = size['40'];\n\n// This is the delay after which transition cleanup happens for rare cases where transitionEnd is not triggered\nconst TRANSITION_CLEANUP_DELAY = 300; // A little more than the duration of transition end\n\nconst HOVER_AGAIN_DELAY = 500;\n\n// Delay between mouse out from L1 and L1 collapsing again\nconst L1_EXIT_HOVER_DELAY = 150;\n\nconst getNavItemTransition = ({ motion }: Theme): string => {\n return `background-color ${makeMotionTime(motion.duration['2xquick'])} ${motion.easing.standard}`;\n};\n\nexport {\n SKIP_NAV_ID,\n classes,\n COLLAPSED_L1_WIDTH,\n SIDE_NAV_EXPANDED_L1_WIDTH_XL,\n SIDE_NAV_EXPANDED_L1_WIDTH_BASE,\n NAV_ITEM_HEIGHT,\n TRANSITION_CLEANUP_DELAY,\n HOVER_AGAIN_DELAY,\n getNavItemTransition,\n L1_EXIT_HOVER_DELAY,\n};\n"],"names":["classes","SHOW_WHEN_COLLAPSED","HIDE_WHEN_COLLAPSED","COLLAPSED","TRANSITIONING","L1_ITEM_WRAPPER","SHOW_ON_LINK_HOVER","STYLED_NAV_LINK","SKIP_NAV_ID","COLLAPSED_L1_WIDTH","size","SIDE_NAV_EXPANDED_L1_WIDTH_XL","SIDE_NAV_EXPANDED_L1_WIDTH_BASE","NAV_ITEM_HEIGHT","TRANSITION_CLEANUP_DELAY","HOVER_AGAIN_DELAY","L1_EXIT_HOVER_DELAY","getNavItemTransition","_ref","motion","concat","makeMotionTime","duration","easing","standard"],"mappings":";;;;;AAIA,IAAMA,OAAO,GAAG;AACdC,EAAAA,mBAAmB,EAAE,qBAAqB;AAC1CC,EAAAA,mBAAmB,EAAE,qBAAqB;AAC1CC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,aAAa,EAAE,eAAe;AAC9BC,EAAAA,eAAe,EAAE,iBAAiB;AAClCC,EAAAA,kBAAkB,EAAE,oBAAoB;AACxCC,EAAAA,eAAe,EAAE,iBAAA;AACnB,EAAU;AAEJC,IAAAA,WAAW,GAAG,sBAAqB;AAEzC,IAAMC,kBAAkB,GAAGC,IAAI,CAAC,IAAI,EAAC;AACrC,IAAMC,6BAA6B,GAAGD,IAAI,CAAC,KAAK,EAAC;AACjD,IAAME,+BAA+B,GAAGF,IAAI,CAAC,KAAK,EAAC;AACnD,IAAMG,eAAe,GAAGH,IAAI,CAAC,IAAI,EAAC;;AAElC;AACA,IAAMI,wBAAwB,GAAG,IAAI;;AAE/BC,IAAAA,iBAAiB,GAAG,IAAG;;AAE7B;AACMC,IAAAA,mBAAmB,GAAG,IAAG;AAE/B,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAAkC;AAAA,EAAA,IAA5BC,MAAM,GAAAD,IAAA,CAANC,MAAM,CAAA;AACpC,EAAA,OAAA,mBAAA,CAAAC,MAAA,CAA2BC,cAAc,CAACF,MAAM,CAACG,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAAF,MAAA,CAAID,MAAM,CAACI,MAAM,CAACC,QAAQ,CAAA,CAAA;AACjG;;;;"}
|
|
@@ -43,7 +43,8 @@ var _DatePickerFilterChip = function _DatePickerFilterChip(_ref, ref) {
|
|
|
43
43
|
onClearButtonChange = props.onClearButtonChange,
|
|
44
44
|
accessibilityLabel = props.accessibilityLabel,
|
|
45
45
|
date = props.date,
|
|
46
|
-
format = props.format
|
|
46
|
+
format = props.format,
|
|
47
|
+
isDisabled = props.isDisabled;
|
|
47
48
|
var _useDatesContext = useDatesContext(),
|
|
48
49
|
locale = _useDatesContext.locale;
|
|
49
50
|
var dateValue = formatDateRange(date, format, locale, selectionType);
|
|
@@ -58,7 +59,8 @@ var _DatePickerFilterChip = function _DatePickerFilterChip(_ref, ref) {
|
|
|
58
59
|
expanded: referenceProps['aria-expanded'],
|
|
59
60
|
controls: referenceProps['aria-controls'],
|
|
60
61
|
role: 'combobox'
|
|
61
|
-
}
|
|
62
|
+
},
|
|
63
|
+
isDisabled: isDisabled
|
|
62
64
|
}, referenceProps));
|
|
63
65
|
};
|
|
64
66
|
var DatePickerFilterChip = /*#__PURE__*/forwardRef(_DatePickerFilterChip);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerFilterChip.web.js","sources":["../../../../../../../src/components/DatePicker/FilterChipDatePicker/DatePickerFilterChip.web.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { useDatesContext } from '@mantine/dates';\nimport type { DatePickerFilterChipProps } from '../types';\nimport { getFormattedDate } from '../utils';\nimport { BaseFilterChip } from '~components/FilterChip/BaseFilterChip';\nimport type { BladeElementRef } from '~utils/types';\n\nconst formatDateRange = (\n date: Date | [Date, Date],\n format: string,\n locale: string,\n selectionType: 'single' | 'range',\n): string => {\n const formatOptions = {\n date,\n format,\n labelSeparator: '-',\n locale,\n type: 'default' as const,\n };\n\n if (selectionType === 'single' && date instanceof Date) {\n return getFormattedDate(formatOptions);\n }\n\n if (Array.isArray(date)) {\n const [startDate, endDate] = date;\n if (startDate) {\n return `${getFormattedDate({ ...formatOptions, date: startDate })} ${\n endDate ? ' - ' : ''\n } ${getFormattedDate({\n ...formatOptions,\n date: endDate,\n })}`;\n }\n }\n return '';\n};\n\nconst _DatePickerFilterChip: React.ForwardRefRenderFunction<\n BladeElementRef,\n DatePickerFilterChipProps & {\n onClearButtonChange: (value: string) => void;\n }\n> = (\n {\n ...props\n }: DatePickerFilterChipProps & {\n onClearButtonChange: (value: string) => void;\n },\n ref: React.ForwardedRef<BladeElementRef>,\n): React.ReactElement => {\n const {\n referenceProps,\n label,\n selectionType,\n onClearButtonChange,\n accessibilityLabel,\n date,\n format,\n } = props;\n const { locale } = useDatesContext();\n\n const dateValue = formatDateRange(date, format, locale, selectionType);\n\n return (\n <BaseFilterChip\n ref={ref}\n label={label}\n value={dateValue}\n onClearButtonClick={onClearButtonChange}\n accessibilityProps={{\n label: accessibilityLabel ?? label,\n hasPopup: referenceProps['aria-haspopup'],\n expanded: referenceProps['aria-expanded'],\n controls: referenceProps['aria-controls'],\n role: 'combobox',\n }}\n {...referenceProps}\n />\n );\n};\n\nconst DatePickerFilterChip = forwardRef(_DatePickerFilterChip);\n\nexport { DatePickerFilterChip };\n"],"names":["formatDateRange","date","format","locale","selectionType","formatOptions","labelSeparator","type","Date","getFormattedDate","Array","isArray","_date","_slicedToArray","startDate","endDate","concat","_objectSpread","_DatePickerFilterChip","_ref","ref","props","_extends","_objectDestructuringEmpty","referenceProps","label","onClearButtonChange","accessibilityLabel","_useDatesContext","useDatesContext","dateValue","_jsx","BaseFilterChip","value","onClearButtonClick","accessibilityProps","hasPopup","expanded","controls","role","DatePickerFilterChip","forwardRef"],"mappings":";;;;;;;;;;;;AAOA,IAAMA,eAAe,GAAG,SAAlBA,eAAeA,CACnBC,IAAyB,EACzBC,MAAc,EACdC,MAAc,EACdC,aAAiC,EACtB;AACX,EAAA,IAAMC,aAAa,GAAG;AACpBJ,IAAAA,IAAI,EAAJA,IAAI;AACJC,IAAAA,MAAM,EAANA,MAAM;AACNI,IAAAA,cAAc,EAAE,GAAG;AACnBH,IAAAA,MAAM,EAANA,MAAM;AACNI,IAAAA,IAAI,EAAE,SAAA;GACP,CAAA;AAED,EAAA,IAAIH,aAAa,KAAK,QAAQ,IAAIH,IAAI,YAAYO,IAAI,EAAE;IACtD,OAAOC,gBAAgB,CAACJ,aAAa,CAAC,CAAA;AACxC,GAAA;AAEA,EAAA,IAAIK,KAAK,CAACC,OAAO,CAACV,IAAI,CAAC,EAAE;AACvB,IAAA,IAAAW,KAAA,GAAAC,cAAA,CAA6BZ,IAAI,EAAA,CAAA,CAAA;AAA1Ba,MAAAA,SAAS,GAAAF,KAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,OAAO,GAAAH,KAAA,CAAA,CAAA,CAAA,CAAA;AACzB,IAAA,IAAIE,SAAS,EAAE;MACb,OAAAE,EAAAA,CAAAA,MAAA,CAAUP,gBAAgB,CAAAQ,aAAA,CAAAA,aAAA,KAAMZ,aAAa,CAAA,EAAA,EAAA,EAAA;AAAEJ,QAAAA,IAAI,EAAEa,SAAAA;AAAS,OAAA,CAAE,CAAC,EAAAE,IAAAA,CAAAA,CAAAA,MAAA,CAC/DD,OAAO,GAAG,KAAK,GAAG,EAAE,EAAAC,GAAAA,CAAAA,CAAAA,MAAA,CAClBP,gBAAgB,CAAAQ,aAAA,CAAAA,aAAA,KACfZ,aAAa,CAAA,EAAA,EAAA,EAAA;AAChBJ,QAAAA,IAAI,EAAEc,OAAAA;AAAO,OAAA,CACd,CAAC,CAAA,CAAA;AACJ,KAAA;AACF,GAAA;AACA,EAAA,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,IAAMG,qBAKL,GAAG,SALEA,qBAKLA,CAAAC,IAAA,EAMCC,GAAwC,EACjB;EAAA,IALlBC,KAAK,GAAAC,QAAA,CAAA,EAAA,GAAAC,yBAAA,CAAAJ,IAAA,GAAAA,IAAA,EAAA,CAAA;AAMV,EAAA,IACEK,cAAc,
|
|
1
|
+
{"version":3,"file":"DatePickerFilterChip.web.js","sources":["../../../../../../../src/components/DatePicker/FilterChipDatePicker/DatePickerFilterChip.web.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { useDatesContext } from '@mantine/dates';\nimport type { DatePickerFilterChipProps } from '../types';\nimport { getFormattedDate } from '../utils';\nimport { BaseFilterChip } from '~components/FilterChip/BaseFilterChip';\nimport type { BladeElementRef } from '~utils/types';\n\nconst formatDateRange = (\n date: Date | [Date, Date],\n format: string,\n locale: string,\n selectionType: 'single' | 'range',\n): string => {\n const formatOptions = {\n date,\n format,\n labelSeparator: '-',\n locale,\n type: 'default' as const,\n };\n\n if (selectionType === 'single' && date instanceof Date) {\n return getFormattedDate(formatOptions);\n }\n\n if (Array.isArray(date)) {\n const [startDate, endDate] = date;\n if (startDate) {\n return `${getFormattedDate({ ...formatOptions, date: startDate })} ${\n endDate ? ' - ' : ''\n } ${getFormattedDate({\n ...formatOptions,\n date: endDate,\n })}`;\n }\n }\n return '';\n};\n\nconst _DatePickerFilterChip: React.ForwardRefRenderFunction<\n BladeElementRef,\n DatePickerFilterChipProps & {\n onClearButtonChange: (value: string) => void;\n }\n> = (\n {\n ...props\n }: DatePickerFilterChipProps & {\n onClearButtonChange: (value: string) => void;\n },\n ref: React.ForwardedRef<BladeElementRef>,\n): React.ReactElement => {\n const {\n referenceProps,\n label,\n selectionType,\n onClearButtonChange,\n accessibilityLabel,\n date,\n format,\n isDisabled,\n } = props;\n const { locale } = useDatesContext();\n\n const dateValue = formatDateRange(date, format, locale, selectionType);\n\n return (\n <BaseFilterChip\n ref={ref}\n label={label}\n value={dateValue}\n onClearButtonClick={onClearButtonChange}\n accessibilityProps={{\n label: accessibilityLabel ?? label,\n hasPopup: referenceProps['aria-haspopup'],\n expanded: referenceProps['aria-expanded'],\n controls: referenceProps['aria-controls'],\n role: 'combobox',\n }}\n isDisabled={isDisabled}\n {...referenceProps}\n />\n );\n};\n\nconst DatePickerFilterChip = forwardRef(_DatePickerFilterChip);\n\nexport { DatePickerFilterChip };\n"],"names":["formatDateRange","date","format","locale","selectionType","formatOptions","labelSeparator","type","Date","getFormattedDate","Array","isArray","_date","_slicedToArray","startDate","endDate","concat","_objectSpread","_DatePickerFilterChip","_ref","ref","props","_extends","_objectDestructuringEmpty","referenceProps","label","onClearButtonChange","accessibilityLabel","isDisabled","_useDatesContext","useDatesContext","dateValue","_jsx","BaseFilterChip","value","onClearButtonClick","accessibilityProps","hasPopup","expanded","controls","role","DatePickerFilterChip","forwardRef"],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ import { useFirstRender } from '../../utils/useFirstRender.js';
|
|
|
16
16
|
import { jsx } from 'react/jsx-runtime';
|
|
17
17
|
import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
|
|
18
18
|
|
|
19
|
-
var _excluded = ["onClick", "onBlur", "onKeyDown", "accessibilityLabel", "testID", "value", "onClearButtonClick", "label", "onChange", "name"];
|
|
19
|
+
var _excluded = ["onClick", "onBlur", "onKeyDown", "accessibilityLabel", "testID", "value", "onClearButtonClick", "label", "onChange", "name", "isDisabled"];
|
|
20
20
|
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; }
|
|
21
21
|
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; }
|
|
22
22
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
@@ -34,6 +34,7 @@ var _FilterChipSelectInput = function _FilterChipSelectInput(props) {
|
|
|
34
34
|
label = props.label,
|
|
35
35
|
onChange = props.onChange,
|
|
36
36
|
name = props.name,
|
|
37
|
+
isDisabled = props.isDisabled,
|
|
37
38
|
rest = _objectWithoutProperties(props, _excluded);
|
|
38
39
|
var _React$useState = React__default.useState([]),
|
|
39
40
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
@@ -228,7 +229,8 @@ var _FilterChipSelectInput = function _FilterChipSelectInput(props) {
|
|
|
228
229
|
},
|
|
229
230
|
onBlur: function onBlur(e) {
|
|
230
231
|
_onBlur === null || _onBlur === void 0 ? void 0 : _onBlur(e);
|
|
231
|
-
}
|
|
232
|
+
},
|
|
233
|
+
isDisabled: isDisabled
|
|
232
234
|
}));
|
|
233
235
|
};
|
|
234
236
|
var FilterChipSelectInput = /*#__PURE__*/assignWithoutSideEffects(_FilterChipSelectInput, {
|
|
@@ -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} & 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 ...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 />\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","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 { 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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"}
|
|
@@ -113,14 +113,14 @@ var StyledFilterCloseButton = /*#__PURE__*/styled.button.withConfig({
|
|
|
113
113
|
theme: theme
|
|
114
114
|
}));
|
|
115
115
|
});
|
|
116
|
-
var renderValue = function renderValue(selectionType, value) {
|
|
116
|
+
var renderValue = function renderValue(selectionType, value, isDisabled) {
|
|
117
117
|
if (selectionType === 'multiple' && Array.isArray(value)) {
|
|
118
118
|
return /*#__PURE__*/jsx(Box, {
|
|
119
119
|
display: "flex",
|
|
120
120
|
alignItems: "center",
|
|
121
121
|
children: /*#__PURE__*/jsx(Counter, {
|
|
122
122
|
value: value.length,
|
|
123
|
-
color:
|
|
123
|
+
color: isDisabled ? 'neutral' : 'primary',
|
|
124
124
|
size: "small"
|
|
125
125
|
})
|
|
126
126
|
});
|
|
@@ -129,7 +129,7 @@ var renderValue = function renderValue(selectionType, value) {
|
|
|
129
129
|
as: "span",
|
|
130
130
|
size: "small",
|
|
131
131
|
weight: "semibold",
|
|
132
|
-
color:
|
|
132
|
+
color: isDisabled ? 'interactive.text.gray.disabled' : 'interactive.text.primary.normal',
|
|
133
133
|
children: value
|
|
134
134
|
});
|
|
135
135
|
};
|
|
@@ -178,7 +178,7 @@ var _BaseFilterChip = function _BaseFilterChip(_ref5, ref) {
|
|
|
178
178
|
color: "currentColor",
|
|
179
179
|
truncateAfterLines: 1,
|
|
180
180
|
children: [label, isSelected ? ':' : null]
|
|
181
|
-
}), isSelected ? renderValue(selectionType, value) : null]
|
|
181
|
+
}), isSelected ? renderValue(selectionType, value, isDisabled) : null]
|
|
182
182
|
}), /*#__PURE__*/jsx(Box, {
|
|
183
183
|
display: "flex",
|
|
184
184
|
alignItems: "center",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseFilterChip.web.js","sources":["../../../../../../src/components/FilterChip/BaseFilterChip.web.tsx"],"sourcesContent":["import React from 'react';\nimport type { CSSObject } from 'styled-components';\nimport styled from 'styled-components';\nimport { FILTER_CHIP_HEIGHT } from './tokens';\nimport type { BaseFilterChipProps } from './types';\nimport { Box } from '~components/Box';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Counter } from '~components/Counter';\nimport { Divider } from '~components/Divider';\nimport { ChevronDownIcon, CloseIcon } from '~components/Icons';\nimport { Text } from '~components/Typography';\nimport { makeBorderSize, makeSpace } from '~utils';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\nimport type { Theme } from '~components/BladeProvider';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport type { BladeElementRef } from '~utils/types';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst getInteractiveFilterItemStyles = ({ theme }: { theme: Theme }): CSSObject => {\n return {\n display: 'flex',\n height: '100%',\n alignItems: 'center',\n border: 'none',\n cursor: 'pointer',\n color: 'currentcolor',\n '&:not([disabled]):hover': {\n backgroundColor: theme.colors.interactive.background.gray.faded,\n },\n '&[disabled]': {\n cursor: 'not-allowed',\n },\n '&:focus-visible': {\n ...getFocusRingStyles({ theme }),\n outlineOffset: makeSpace(theme.spacing[1]),\n },\n };\n};\n\nconst StyledFilterChip = styled(BaseBox)<{ $isSelected?: boolean; $isDisabled?: boolean }>(\n ({ theme, $isDisabled, $isSelected }) => {\n return {\n borderWidth: makeBorderSize(theme.border.width.thin),\n borderColor: theme.colors.interactive.border.gray[$isDisabled ? 'disabled' : 'highlighted'],\n height: FILTER_CHIP_HEIGHT,\n borderRadius: theme.border.radius.max,\n display: 'flex',\n borderStyle: $isSelected ? 'solid' : 'dashed',\n backgroundColor: theme.colors.surface.background.gray.intense,\n color: theme.colors.interactive.text.gray[$isDisabled ? 'disabled' : 'normal'],\n width: 'fit-content',\n };\n },\n);\n\nconst StyledFilterTrigger = styled.button<{ $isSelected?: boolean }>(({ theme, $isSelected }) => {\n const { spacing } = theme;\n return {\n backgroundColor: theme.colors.transparent,\n borderRadius: $isSelected ? theme.border.radius.none : theme.border.radius.max,\n borderTopLeftRadius: theme.border.radius.max,\n borderBottomLeftRadius: theme.border.radius.max,\n paddingLeft: makeSpace(spacing[4]),\n paddingRight: $isSelected ? makeSpace(spacing[2]) : makeSpace(spacing[3]),\n gap: makeSpace(spacing[2]),\n ...getInteractiveFilterItemStyles({ theme }),\n };\n});\n\nconst StyledFilterCloseButton = styled.button(({ theme }) => {\n return {\n backgroundColor: theme.colors.transparent,\n borderTopRightRadius: theme.border.radius.max,\n borderBottomRightRadius: theme.border.radius.max,\n paddingLeft: makeSpace(theme.spacing[2]),\n paddingRight: makeSpace(theme.spacing[3]),\n justifyContent: 'center',\n ...getInteractiveFilterItemStyles({ theme }),\n };\n});\n\nconst renderValue = (\n selectionType: BaseFilterChipProps['selectionType'],\n value: BaseFilterChipProps['value'],\n): React.ReactElement => {\n if (selectionType === 'multiple' && Array.isArray(value)) {\n return (\n <Box display=\"flex\" alignItems=\"center\">\n <Counter value={value.length} color=\"primary\" size=\"small\" />\n </Box>\n );\n }\n\n return (\n <Text as=\"span\" size=\"small\" weight=\"semibold\" color=\"interactive.text.primary.normal\">\n {value}\n </Text>\n );\n};\n\nconst _BaseFilterChip: React.ForwardRefRenderFunction<BladeElementRef, BaseFilterChipProps> = (\n {\n value,\n onClearButtonClick,\n label,\n isDisabled,\n selectionType = 'single',\n onClick,\n onKeyDown,\n accessibilityProps,\n id,\n ...rest\n }: BaseFilterChipProps,\n ref: React.Ref<BladeElementRef>,\n): React.ReactElement => {\n const isSelected =\n selectionType === 'multiple' ? Array.isArray(value) && value.length > 0 : !!value;\n\n return (\n <StyledFilterChip\n $isDisabled={isDisabled}\n $isSelected={isSelected}\n ref={ref as React.Ref<HTMLDivElement>}\n >\n <StyledFilterTrigger\n $isSelected={isSelected}\n disabled={isDisabled}\n id={id}\n onClick={(e) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onClick?.(e as any);\n }}\n onKeyDown={(e) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onKeyDown?.(e as any);\n }}\n {...makeAccessible({\n ...accessibilityProps,\n role: accessibilityProps?.role ?? 'button',\n })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n {...metaAttribute({ testID: rest.testID })}\n >\n <Box display=\"flex\" gap=\"spacing.2\" whiteSpace=\"nowrap\">\n <Text size=\"small\" weight=\"medium\" color=\"currentColor\" truncateAfterLines={1}>\n {label}\n {isSelected ? ':' : null}\n </Text>\n {isSelected ? renderValue(selectionType, value) : null}\n </Box>\n <Box display=\"flex\" alignItems=\"center\" paddingRight=\"spacing.1\">\n <ChevronDownIcon size=\"small\" color=\"currentColor\" />\n </Box>\n </StyledFilterTrigger>\n {isSelected ? (\n <>\n <Divider orientation=\"vertical\" variant={isDisabled ? 'muted' : 'subtle'} />\n <StyledFilterCloseButton\n aria-label={`Clear ${label} value`}\n // value can never be undefined because when it's undefined the button itself doesn't render/\n onClick={() => onClearButtonClick?.({ value: value ?? '' })}\n disabled={isDisabled}\n >\n <CloseIcon size=\"small\" color=\"currentColor\" />\n </StyledFilterCloseButton>\n </>\n ) : null}\n </StyledFilterChip>\n );\n};\n\nconst BaseFilterChip = assignWithoutSideEffects(React.forwardRef(_BaseFilterChip), {\n componentId: MetaConstants.BaseFilterChip,\n});\n\nexport { BaseFilterChip };\n"],"names":["getInteractiveFilterItemStyles","_ref","theme","display","height","alignItems","border","cursor","color","backgroundColor","colors","interactive","background","gray","faded","_objectSpread","getFocusRingStyles","outlineOffset","makeSpace","spacing","StyledFilterChip","styled","BaseBox","withConfig","displayName","componentId","_ref2","$isDisabled","$isSelected","borderWidth","makeBorderSize","width","thin","borderColor","FILTER_CHIP_HEIGHT","borderRadius","radius","max","borderStyle","surface","intense","text","StyledFilterTrigger","button","_ref3","transparent","none","borderTopLeftRadius","borderBottomLeftRadius","paddingLeft","paddingRight","gap","StyledFilterCloseButton","_ref4","borderTopRightRadius","borderBottomRightRadius","justifyContent","renderValue","selectionType","value","Array","isArray","_jsx","Box","children","Counter","length","size","Text","as","weight","_BaseFilterChip","_ref5","ref","_accessibilityProps$r","onClearButtonClick","label","isDisabled","_ref5$selectionType","onClick","onKeyDown","accessibilityProps","id","rest","_objectWithoutProperties","_excluded","isSelected","_jsxs","disabled","e","makeAccessible","role","getStyledProps","makeAnalyticsAttribute","metaAttribute","testID","whiteSpace","truncateAfterLines","ChevronDownIcon","_Fragment","Divider","orientation","variant","concat","CloseIcon","BaseFilterChip","assignWithoutSideEffects","React","forwardRef","MetaConstants"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,IAAMA,8BAA8B,GAAG,SAAjCA,8BAA8BA,CAAAC,IAAA,EAA+C;AAAA,EAAA,IAAzCC,KAAK,GAAAD,IAAA,CAALC,KAAK,CAAA;EAC7C,OAAO;AACLC,IAAAA,OAAO,EAAE,MAAM;AACfC,IAAAA,MAAM,EAAE,MAAM;AACdC,IAAAA,UAAU,EAAE,QAAQ;AACpBC,IAAAA,MAAM,EAAE,MAAM;AACdC,IAAAA,MAAM,EAAE,SAAS;AACjBC,IAAAA,KAAK,EAAE,cAAc;AACrB,IAAA,yBAAyB,EAAE;MACzBC,eAAe,EAAEP,KAAK,CAACQ,MAAM,CAACC,WAAW,CAACC,UAAU,CAACC,IAAI,CAACC,KAAAA;KAC3D;AACD,IAAA,aAAa,EAAE;AACbP,MAAAA,MAAM,EAAE,aAAA;KACT;AACD,IAAA,iBAAiB,EAAAQ,aAAA,CAAAA,aAAA,CAAA,EAAA,EACZC,kBAAkB,CAAC;AAAEd,MAAAA,KAAK,EAALA,KAAAA;AAAM,KAAC,CAAC,CAAA,EAAA,EAAA,EAAA;MAChCe,aAAa,EAAEC,SAAS,CAAChB,KAAK,CAACiB,OAAO,CAAC,CAAC,CAAC,CAAA;AAAC,KAAA,CAAA;GAE7C,CAAA;AACH,CAAC,CAAA;AAED,IAAMC,gBAAgB,gBAAGC,MAAM,CAACC,OAAO,CAAC,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,qCAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CACtC,CAAA,CAAA,UAAAC,KAAA,EAAyC;AAAA,EAAA,IAAtCxB,KAAK,GAAAwB,KAAA,CAALxB,KAAK;IAAEyB,WAAW,GAAAD,KAAA,CAAXC,WAAW;IAAEC,WAAW,GAAAF,KAAA,CAAXE,WAAW,CAAA;EAChC,OAAO;IACLC,WAAW,EAAEC,cAAc,CAAC5B,KAAK,CAACI,MAAM,CAACyB,KAAK,CAACC,IAAI,CAAC;AACpDC,IAAAA,WAAW,EAAE/B,KAAK,CAACQ,MAAM,CAACC,WAAW,CAACL,MAAM,CAACO,IAAI,CAACc,WAAW,GAAG,UAAU,GAAG,aAAa,CAAC;AAC3FvB,IAAAA,MAAM,EAAE8B,kBAAkB;AAC1BC,IAAAA,YAAY,EAAEjC,KAAK,CAACI,MAAM,CAAC8B,MAAM,CAACC,GAAG;AACrClC,IAAAA,OAAO,EAAE,MAAM;AACfmC,IAAAA,WAAW,EAAEV,WAAW,GAAG,OAAO,GAAG,QAAQ;IAC7CnB,eAAe,EAAEP,KAAK,CAACQ,MAAM,CAAC6B,OAAO,CAAC3B,UAAU,CAACC,IAAI,CAAC2B,OAAO;AAC7DhC,IAAAA,KAAK,EAAEN,KAAK,CAACQ,MAAM,CAACC,WAAW,CAAC8B,IAAI,CAAC5B,IAAI,CAACc,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;AAC9EI,IAAAA,KAAK,EAAE,aAAA;GACR,CAAA;AACH,CAAC,CACF,CAAA;AAED,IAAMW,mBAAmB,gBAAGrB,MAAM,CAACsB,MAAM,CAAApB,UAAA,CAAA;EAAAC,WAAA,EAAA,wCAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CAA4B,CAAA,CAAA,UAAAmB,KAAA,EAA4B;AAAA,EAAA,IAAzB1C,KAAK,GAAA0C,KAAA,CAAL1C,KAAK;IAAE0B,WAAW,GAAAgB,KAAA,CAAXhB,WAAW,CAAA;AACxF,EAAA,IAAQT,OAAO,GAAKjB,KAAK,CAAjBiB,OAAO,CAAA;AACf,EAAA,OAAAJ,aAAA,CAAA;AACEN,IAAAA,eAAe,EAAEP,KAAK,CAACQ,MAAM,CAACmC,WAAW;AACzCV,IAAAA,YAAY,EAAEP,WAAW,GAAG1B,KAAK,CAACI,MAAM,CAAC8B,MAAM,CAACU,IAAI,GAAG5C,KAAK,CAACI,MAAM,CAAC8B,MAAM,CAACC,GAAG;AAC9EU,IAAAA,mBAAmB,EAAE7C,KAAK,CAACI,MAAM,CAAC8B,MAAM,CAACC,GAAG;AAC5CW,IAAAA,sBAAsB,EAAE9C,KAAK,CAACI,MAAM,CAAC8B,MAAM,CAACC,GAAG;AAC/CY,IAAAA,WAAW,EAAE/B,SAAS,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClC+B,IAAAA,YAAY,EAAEtB,WAAW,GAAGV,SAAS,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAGD,SAAS,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;AACzEgC,IAAAA,GAAG,EAAEjC,SAAS,CAACC,OAAO,CAAC,CAAC,CAAC,CAAA;AAAC,GAAA,EACvBnB,8BAA8B,CAAC;AAAEE,IAAAA,KAAK,EAALA,KAAAA;AAAM,GAAC,CAAC,CAAA,CAAA;AAEhD,CAAC,CAAC,CAAA;AAEF,IAAMkD,uBAAuB,gBAAG/B,MAAM,CAACsB,MAAM,CAAApB,UAAA,CAAA;EAAAC,WAAA,EAAA,4CAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CAAC,CAAA,CAAA,UAAA4B,KAAA,EAAe;AAAA,EAAA,IAAZnD,KAAK,GAAAmD,KAAA,CAALnD,KAAK,CAAA;AACpD,EAAA,OAAAa,aAAA,CAAA;AACEN,IAAAA,eAAe,EAAEP,KAAK,CAACQ,MAAM,CAACmC,WAAW;AACzCS,IAAAA,oBAAoB,EAAEpD,KAAK,CAACI,MAAM,CAAC8B,MAAM,CAACC,GAAG;AAC7CkB,IAAAA,uBAAuB,EAAErD,KAAK,CAACI,MAAM,CAAC8B,MAAM,CAACC,GAAG;IAChDY,WAAW,EAAE/B,SAAS,CAAChB,KAAK,CAACiB,OAAO,CAAC,CAAC,CAAC,CAAC;IACxC+B,YAAY,EAAEhC,SAAS,CAAChB,KAAK,CAACiB,OAAO,CAAC,CAAC,CAAC,CAAC;AACzCqC,IAAAA,cAAc,EAAE,QAAA;AAAQ,GAAA,EACrBxD,8BAA8B,CAAC;AAAEE,IAAAA,KAAK,EAALA,KAAAA;AAAM,GAAC,CAAC,CAAA,CAAA;AAEhD,CAAC,CAAC,CAAA;AAEF,IAAMuD,WAAW,GAAG,SAAdA,WAAWA,CACfC,aAAmD,EACnDC,KAAmC,EACZ;EACvB,IAAID,aAAa,KAAK,UAAU,IAAIE,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE;IACxD,oBACEG,GAAA,CAACC,GAAG,EAAA;AAAC5D,MAAAA,OAAO,EAAC,MAAM;AAACE,MAAAA,UAAU,EAAC,QAAQ;MAAA2D,QAAA,eACrCF,GAAA,CAACG,OAAO,EAAA;QAACN,KAAK,EAAEA,KAAK,CAACO,MAAO;AAAC1D,QAAAA,KAAK,EAAC,SAAS;AAAC2D,QAAAA,IAAI,EAAC,OAAA;OAAS,CAAA;AAAC,KAC1D,CAAC,CAAA;AAEV,GAAA;EAEA,oBACEL,GAAA,CAACM,IAAI,EAAA;AAACC,IAAAA,EAAE,EAAC,MAAM;AAACF,IAAAA,IAAI,EAAC,OAAO;AAACG,IAAAA,MAAM,EAAC,UAAU;AAAC9D,IAAAA,KAAK,EAAC,iCAAiC;AAAAwD,IAAAA,QAAA,EACnFL,KAAAA;AAAK,GACF,CAAC,CAAA;AAEX,CAAC,CAAA;AAED,IAAMY,eAAqF,GAAG,SAAxFA,eAAqFA,CAAAC,KAAA,EAazFC,GAA+B,EACR;AAAA,EAAA,IAAAC,qBAAA,CAAA;AAAA,EAAA,IAZrBf,KAAK,GAAAa,KAAA,CAALb,KAAK;IACLgB,kBAAkB,GAAAH,KAAA,CAAlBG,kBAAkB;IAClBC,KAAK,GAAAJ,KAAA,CAALI,KAAK;IACLC,UAAU,GAAAL,KAAA,CAAVK,UAAU;IAAAC,mBAAA,GAAAN,KAAA,CACVd,aAAa;AAAbA,IAAAA,aAAa,GAAAoB,mBAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,mBAAA;IACxBC,QAAO,GAAAP,KAAA,CAAPO,OAAO;IACPC,UAAS,GAAAR,KAAA,CAATQ,SAAS;IACTC,kBAAkB,GAAAT,KAAA,CAAlBS,kBAAkB;IAClBC,EAAE,GAAAV,KAAA,CAAFU,EAAE;AACCC,IAAAA,IAAI,GAAAC,wBAAA,CAAAZ,KAAA,EAAAa,SAAA,CAAA,CAAA;EAIT,IAAMC,UAAU,GACd5B,aAAa,KAAK,UAAU,GAAGE,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,IAAIA,KAAK,CAACO,MAAM,GAAG,CAAC,GAAG,CAAC,CAACP,KAAK,CAAA;EAEnF,oBACE4B,IAAA,CAACnE,gBAAgB,EAAA;AACfO,IAAAA,WAAW,EAAEkD,UAAW;AACxBjD,IAAAA,WAAW,EAAE0D,UAAW;AACxBb,IAAAA,GAAG,EAAEA,GAAiC;AAAAT,IAAAA,QAAA,EAEtCuB,cAAAA,IAAA,CAAC7C,mBAAmB,EAAA3B,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA;AAClBa,MAAAA,WAAW,EAAE0D,UAAW;AACxBE,MAAAA,QAAQ,EAAEX,UAAW;AACrBK,MAAAA,EAAE,EAAEA,EAAG;AACPH,MAAAA,OAAO,EAAE,SAAAA,OAACU,CAAAA,CAAC,EAAK;AACd;AACAV,QAAAA,QAAO,aAAPA,QAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,QAAO,CAAGU,CAAQ,CAAC,CAAA;OACnB;AACFT,MAAAA,SAAS,EAAE,SAAAA,SAACS,CAAAA,CAAC,EAAK;AAChB;AACAT,QAAAA,UAAS,aAATA,UAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAATA,UAAS,CAAGS,CAAQ,CAAC,CAAA;AACvB,OAAA;AAAE,KAAA,EACEC,cAAc,CAAA3E,aAAA,CAAAA,aAAA,KACbkE,kBAAkB,CAAA,EAAA,EAAA,EAAA;AACrBU,MAAAA,IAAI,EAAAjB,CAAAA,qBAAA,GAAEO,kBAAkB,aAAlBA,kBAAkB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAlBA,kBAAkB,CAAEU,IAAI,MAAA,IAAA,IAAAjB,qBAAA,KAAA,KAAA,CAAA,GAAAA,qBAAA,GAAI,QAAA;AAAQ,KAAA,CAC3C,CAAC,CAAA,EACEkB,cAAc,CAACT,IAAI,CAAC,CACpBU,EAAAA,sBAAsB,CAACV,IAAI,CAAC,CAAA,EAC5BW,aAAa,CAAC;MAAEC,MAAM,EAAEZ,IAAI,CAACY,MAAAA;AAAO,KAAC,CAAC,CAAA,EAAA,EAAA,EAAA;MAAA/B,QAAA,EAAA,cAE1CuB,IAAA,CAACxB,GAAG,EAAA;AAAC5D,QAAAA,OAAO,EAAC,MAAM;AAACgD,QAAAA,GAAG,EAAC,WAAW;AAAC6C,QAAAA,UAAU,EAAC,QAAQ;QAAAhC,QAAA,EAAA,cACrDuB,IAAA,CAACnB,IAAI,EAAA;AAACD,UAAAA,IAAI,EAAC,OAAO;AAACG,UAAAA,MAAM,EAAC,QAAQ;AAAC9D,UAAAA,KAAK,EAAC,cAAc;AAACyF,UAAAA,kBAAkB,EAAE,CAAE;AAAAjC,UAAAA,QAAA,GAC3EY,KAAK,EACLU,UAAU,GAAG,GAAG,GAAG,IAAI,CAAA;SACpB,CAAC,EACNA,UAAU,GAAG7B,WAAW,CAACC,aAAa,EAAEC,KAAK,CAAC,GAAG,IAAI,CAAA;AAAA,OACnD,CAAC,eACNG,GAAA,CAACC,GAAG,EAAA;AAAC5D,QAAAA,OAAO,EAAC,MAAM;AAACE,QAAAA,UAAU,EAAC,QAAQ;AAAC6C,QAAAA,YAAY,EAAC,WAAW;QAAAc,QAAA,eAC9DF,GAAA,CAACoC,eAAe,EAAA;AAAC/B,UAAAA,IAAI,EAAC,OAAO;AAAC3D,UAAAA,KAAK,EAAC,cAAA;SAAgB,CAAA;AAAC,OAClD,CAAC,CAAA;AAAA,KAAA,CACa,CAAC,EACrB8E,UAAU,gBACTC,IAAA,CAAAY,QAAA,EAAA;MAAAnC,QAAA,EAAA,cACEF,GAAA,CAACsC,OAAO,EAAA;AAACC,QAAAA,WAAW,EAAC,UAAU;AAACC,QAAAA,OAAO,EAAEzB,UAAU,GAAG,OAAO,GAAG,QAAA;AAAS,OAAE,CAAC,eAC5Ef,GAAA,CAACV,uBAAuB,EAAA;QACtB,YAAAmD,EAAAA,QAAAA,CAAAA,MAAA,CAAqB3B,KAAK,EAAA,QAAA,CAAA;AAC1B;AAAA;QACAG,OAAO,EAAE,SAAAA,OAAA,GAAA;AAAA,UAAA,OAAMJ,kBAAkB,KAAA,IAAA,IAAlBA,kBAAkB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAlBA,kBAAkB,CAAG;AAAEhB,YAAAA,KAAK,EAAEA,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAALA,KAAK,GAAI,EAAA;AAAG,WAAC,CAAC,CAAA;SAAC;AAC5D6B,QAAAA,QAAQ,EAAEX,UAAW;QAAAb,QAAA,eAErBF,GAAA,CAAC0C,SAAS,EAAA;AAACrC,UAAAA,IAAI,EAAC,OAAO;AAAC3D,UAAAA,KAAK,EAAC,cAAA;SAAgB,CAAA;AAAC,OACxB,CAAC,CAAA;KAC1B,CAAC,GACD,IAAI,CAAA;AAAA,GACQ,CAAC,CAAA;AAEvB,CAAC,CAAA;AAEKiG,IAAAA,cAAc,gBAAGC,wBAAwB,eAACC,cAAK,CAACC,UAAU,CAACrC,eAAe,CAAC,EAAE;EACjF9C,WAAW,EAAEoF,aAAa,CAACJ,cAAAA;AAC7B,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"BaseFilterChip.web.js","sources":["../../../../../../src/components/FilterChip/BaseFilterChip.web.tsx"],"sourcesContent":["import React from 'react';\nimport type { CSSObject } from 'styled-components';\nimport styled from 'styled-components';\nimport { FILTER_CHIP_HEIGHT } from './tokens';\nimport type { BaseFilterChipProps } from './types';\nimport { Box } from '~components/Box';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Counter } from '~components/Counter';\nimport { Divider } from '~components/Divider';\nimport { ChevronDownIcon, CloseIcon } from '~components/Icons';\nimport { Text } from '~components/Typography';\nimport { makeBorderSize, makeSpace } from '~utils';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\nimport type { Theme } from '~components/BladeProvider';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport type { BladeElementRef } from '~utils/types';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst getInteractiveFilterItemStyles = ({ theme }: { theme: Theme }): CSSObject => {\n return {\n display: 'flex',\n height: '100%',\n alignItems: 'center',\n border: 'none',\n cursor: 'pointer',\n color: 'currentcolor',\n '&:not([disabled]):hover': {\n backgroundColor: theme.colors.interactive.background.gray.faded,\n },\n '&[disabled]': {\n cursor: 'not-allowed',\n },\n '&:focus-visible': {\n ...getFocusRingStyles({ theme }),\n outlineOffset: makeSpace(theme.spacing[1]),\n },\n };\n};\n\nconst StyledFilterChip = styled(BaseBox)<{ $isSelected?: boolean; $isDisabled?: boolean }>(\n ({ theme, $isDisabled, $isSelected }) => {\n return {\n borderWidth: makeBorderSize(theme.border.width.thin),\n borderColor: theme.colors.interactive.border.gray[$isDisabled ? 'disabled' : 'highlighted'],\n height: FILTER_CHIP_HEIGHT,\n borderRadius: theme.border.radius.max,\n display: 'flex',\n borderStyle: $isSelected ? 'solid' : 'dashed',\n backgroundColor: theme.colors.surface.background.gray.intense,\n color: theme.colors.interactive.text.gray[$isDisabled ? 'disabled' : 'normal'],\n width: 'fit-content',\n };\n },\n);\n\nconst StyledFilterTrigger = styled.button<{ $isSelected?: boolean }>(({ theme, $isSelected }) => {\n const { spacing } = theme;\n return {\n backgroundColor: theme.colors.transparent,\n borderRadius: $isSelected ? theme.border.radius.none : theme.border.radius.max,\n borderTopLeftRadius: theme.border.radius.max,\n borderBottomLeftRadius: theme.border.radius.max,\n paddingLeft: makeSpace(spacing[4]),\n paddingRight: $isSelected ? makeSpace(spacing[2]) : makeSpace(spacing[3]),\n gap: makeSpace(spacing[2]),\n ...getInteractiveFilterItemStyles({ theme }),\n };\n});\n\nconst StyledFilterCloseButton = styled.button(({ theme }) => {\n return {\n backgroundColor: theme.colors.transparent,\n borderTopRightRadius: theme.border.radius.max,\n borderBottomRightRadius: theme.border.radius.max,\n paddingLeft: makeSpace(theme.spacing[2]),\n paddingRight: makeSpace(theme.spacing[3]),\n justifyContent: 'center',\n ...getInteractiveFilterItemStyles({ theme }),\n };\n});\n\nconst renderValue = (\n selectionType: BaseFilterChipProps['selectionType'],\n value: BaseFilterChipProps['value'],\n isDisabled?: boolean,\n): React.ReactElement => {\n if (selectionType === 'multiple' && Array.isArray(value)) {\n return (\n <Box display=\"flex\" alignItems=\"center\">\n <Counter value={value.length} color={isDisabled ? 'neutral' : 'primary'} size=\"small\" />\n </Box>\n );\n }\n\n return (\n <Text\n as=\"span\"\n size=\"small\"\n weight=\"semibold\"\n color={isDisabled ? 'interactive.text.gray.disabled' : 'interactive.text.primary.normal'}\n >\n {value}\n </Text>\n );\n};\n\nconst _BaseFilterChip: React.ForwardRefRenderFunction<BladeElementRef, BaseFilterChipProps> = (\n {\n value,\n onClearButtonClick,\n label,\n isDisabled,\n selectionType = 'single',\n onClick,\n onKeyDown,\n accessibilityProps,\n id,\n ...rest\n }: BaseFilterChipProps,\n ref: React.Ref<BladeElementRef>,\n): React.ReactElement => {\n const isSelected =\n selectionType === 'multiple' ? Array.isArray(value) && value.length > 0 : !!value;\n\n return (\n <StyledFilterChip\n $isDisabled={isDisabled}\n $isSelected={isSelected}\n ref={ref as React.Ref<HTMLDivElement>}\n >\n <StyledFilterTrigger\n $isSelected={isSelected}\n disabled={isDisabled}\n id={id}\n onClick={(e) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onClick?.(e as any);\n }}\n onKeyDown={(e) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onKeyDown?.(e as any);\n }}\n {...makeAccessible({\n ...accessibilityProps,\n role: accessibilityProps?.role ?? 'button',\n })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n {...metaAttribute({ testID: rest.testID })}\n >\n <Box display=\"flex\" gap=\"spacing.2\" whiteSpace=\"nowrap\">\n <Text size=\"small\" weight=\"medium\" color=\"currentColor\" truncateAfterLines={1}>\n {label}\n {isSelected ? ':' : null}\n </Text>\n {isSelected ? renderValue(selectionType, value, isDisabled) : null}\n </Box>\n <Box display=\"flex\" alignItems=\"center\" paddingRight=\"spacing.1\">\n <ChevronDownIcon size=\"small\" color=\"currentColor\" />\n </Box>\n </StyledFilterTrigger>\n {isSelected ? (\n <>\n <Divider orientation=\"vertical\" variant={isDisabled ? 'muted' : 'subtle'} />\n <StyledFilterCloseButton\n aria-label={`Clear ${label} value`}\n // value can never be undefined because when it's undefined the button itself doesn't render/\n onClick={() => onClearButtonClick?.({ value: value ?? '' })}\n disabled={isDisabled}\n >\n <CloseIcon size=\"small\" color=\"currentColor\" />\n </StyledFilterCloseButton>\n </>\n ) : null}\n </StyledFilterChip>\n );\n};\n\nconst BaseFilterChip = assignWithoutSideEffects(React.forwardRef(_BaseFilterChip), {\n componentId: MetaConstants.BaseFilterChip,\n});\n\nexport { BaseFilterChip };\n"],"names":["getInteractiveFilterItemStyles","_ref","theme","display","height","alignItems","border","cursor","color","backgroundColor","colors","interactive","background","gray","faded","_objectSpread","getFocusRingStyles","outlineOffset","makeSpace","spacing","StyledFilterChip","styled","BaseBox","withConfig","displayName","componentId","_ref2","$isDisabled","$isSelected","borderWidth","makeBorderSize","width","thin","borderColor","FILTER_CHIP_HEIGHT","borderRadius","radius","max","borderStyle","surface","intense","text","StyledFilterTrigger","button","_ref3","transparent","none","borderTopLeftRadius","borderBottomLeftRadius","paddingLeft","paddingRight","gap","StyledFilterCloseButton","_ref4","borderTopRightRadius","borderBottomRightRadius","justifyContent","renderValue","selectionType","value","isDisabled","Array","isArray","_jsx","Box","children","Counter","length","size","Text","as","weight","_BaseFilterChip","_ref5","ref","_accessibilityProps$r","onClearButtonClick","label","_ref5$selectionType","onClick","onKeyDown","accessibilityProps","id","rest","_objectWithoutProperties","_excluded","isSelected","_jsxs","disabled","e","makeAccessible","role","getStyledProps","makeAnalyticsAttribute","metaAttribute","testID","whiteSpace","truncateAfterLines","ChevronDownIcon","_Fragment","Divider","orientation","variant","concat","CloseIcon","BaseFilterChip","assignWithoutSideEffects","React","forwardRef","MetaConstants"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
2
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
3
|
+
import 'react';
|
|
3
4
|
import styled from 'styled-components';
|
|
4
5
|
import { getNavItemTransition, NAV_ITEM_HEIGHT, classes } from '../tokens.js';
|
|
5
6
|
import '../../Box/index.js';
|
|
@@ -27,6 +28,7 @@ var SideNavItemContainer = /*#__PURE__*/styled(BaseBox).withConfig({
|
|
|
27
28
|
};
|
|
28
29
|
});
|
|
29
30
|
var SideNavItem = function SideNavItem(_ref) {
|
|
31
|
+
var _leading$name;
|
|
30
32
|
var leading = _ref.leading,
|
|
31
33
|
trailing = _ref.trailing,
|
|
32
34
|
title = _ref.title,
|
|
@@ -35,6 +37,8 @@ var SideNavItem = function SideNavItem(_ref) {
|
|
|
35
37
|
_ref$as = _ref.as,
|
|
36
38
|
as = _ref$as === void 0 ? 'div' : _ref$as,
|
|
37
39
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
40
|
+
var isIcon = typeof leading === 'function' && ((_leading$name = leading.name) === null || _leading$name === void 0 ? void 0 : _leading$name.endsWith('Icon'));
|
|
41
|
+
var Icon = isIcon ? leading : undefined;
|
|
38
42
|
return /*#__PURE__*/jsx(TooltipifyComponent, {
|
|
39
43
|
tooltip: tooltip,
|
|
40
44
|
children: /*#__PURE__*/jsxs(SideNavItemContainer, _objectSpread(_objectSpread({
|
|
@@ -53,7 +57,15 @@ var SideNavItem = function SideNavItem(_ref) {
|
|
|
53
57
|
display: "inline-flex",
|
|
54
58
|
alignItems: "center",
|
|
55
59
|
gap: "spacing.3",
|
|
56
|
-
children: [
|
|
60
|
+
children: [Icon ? /*#__PURE__*/jsx(BaseBox, {
|
|
61
|
+
display: "flex",
|
|
62
|
+
alignItems: "center",
|
|
63
|
+
paddingX: "spacing.2",
|
|
64
|
+
children: /*#__PURE__*/jsx(Icon, {
|
|
65
|
+
size: "medium",
|
|
66
|
+
color: "interactive.icon.gray.subtle"
|
|
67
|
+
})
|
|
68
|
+
}) : leading, /*#__PURE__*/jsx(BaseBox, {
|
|
57
69
|
className: classes.HIDE_WHEN_COLLAPSED,
|
|
58
70
|
children: /*#__PURE__*/jsx(Text, {
|
|
59
71
|
truncateAfterLines: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNavItem.web.js","sources":["../../../../../../../src/components/SideNav/SideNavItems/SideNavItem.web.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport { classes, getNavItemTransition, NAV_ITEM_HEIGHT } from '../tokens';\nimport type { SideNavItemProps } from '../types';\nimport { Box } from '~components/Box';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { makeSize } from '~utils';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { TooltipifyComponent } from '~utils/TooltipifyComponent';\n\nconst SideNavItemContainer = styled(BaseBox)((props) => {\n return {\n transition: getNavItemTransition(props.theme),\n };\n});\n\nconst SideNavItem = ({\n leading,\n trailing,\n title,\n backgroundColor,\n tooltip,\n as = 'div',\n ...rest\n}: SideNavItemProps): React.ReactElement => {\n return (\n <TooltipifyComponent tooltip={tooltip}>\n <SideNavItemContainer\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n paddingX=\"spacing.3\"\n height={makeSize(NAV_ITEM_HEIGHT)}\n backgroundColor={backgroundColor}\n borderRadius=\"medium\"\n as={as}\n cursor={as === 'label' ? 'pointer' : undefined}\n {...makeAnalyticsAttribute(rest)}\n >\n <Box display=\"inline-flex\" alignItems=\"center\" gap=\"spacing.3\">\n {leading}\n <BaseBox className={classes.HIDE_WHEN_COLLAPSED}>\n <Text\n truncateAfterLines={1}\n weight=\"medium\"\n size=\"medium\"\n color=\"surface.text.gray.subtle\"\n >\n {title}\n </Text>\n </BaseBox>\n </Box>\n <BaseBox className={classes.HIDE_WHEN_COLLAPSED}>{trailing}</BaseBox>\n </SideNavItemContainer>\n </TooltipifyComponent>\n );\n};\n\nexport { SideNavItem };\n"],"names":["SideNavItemContainer","styled","BaseBox","withConfig","displayName","componentId","props","transition","getNavItemTransition","theme","SideNavItem","_ref","leading","trailing","title","backgroundColor","tooltip","_ref$as","as","rest","_objectWithoutProperties","_excluded","_jsx","TooltipifyComponent","children","_jsxs","_objectSpread","display","flexDirection","justifyContent","alignItems","paddingX","height","makeSize","NAV_ITEM_HEIGHT","borderRadius","cursor","
|
|
1
|
+
{"version":3,"file":"SideNavItem.web.js","sources":["../../../../../../../src/components/SideNav/SideNavItems/SideNavItem.web.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { classes, getNavItemTransition, NAV_ITEM_HEIGHT } from '../tokens';\nimport type { SideNavItemProps } from '../types';\nimport { Box } from '~components/Box';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { makeSize } from '~utils';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { TooltipifyComponent } from '~utils/TooltipifyComponent';\nimport type { IconComponent } from '~components/Icons';\n\nconst SideNavItemContainer = styled(BaseBox)((props) => {\n return {\n transition: getNavItemTransition(props.theme),\n };\n});\n\nconst SideNavItem = ({\n leading,\n trailing,\n title,\n backgroundColor,\n tooltip,\n as = 'div',\n ...rest\n}: SideNavItemProps): React.ReactElement => {\n const isIcon = typeof leading === 'function' && leading.name?.endsWith('Icon');\n const Icon: IconComponent | undefined = isIcon ? leading : undefined;\n\n return (\n <TooltipifyComponent tooltip={tooltip}>\n <SideNavItemContainer\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n paddingX=\"spacing.3\"\n height={makeSize(NAV_ITEM_HEIGHT)}\n backgroundColor={backgroundColor}\n borderRadius=\"medium\"\n as={as}\n cursor={as === 'label' ? 'pointer' : undefined}\n {...makeAnalyticsAttribute(rest)}\n >\n <Box display=\"inline-flex\" alignItems=\"center\" gap=\"spacing.3\">\n {Icon ? (\n <BaseBox display=\"flex\" alignItems=\"center\" paddingX=\"spacing.2\">\n <Icon size=\"medium\" color=\"interactive.icon.gray.subtle\" />\n </BaseBox>\n ) : (\n (leading as React.ReactNode)\n )}\n <BaseBox className={classes.HIDE_WHEN_COLLAPSED}>\n <Text\n truncateAfterLines={1}\n weight=\"medium\"\n size=\"medium\"\n color=\"surface.text.gray.subtle\"\n >\n {title}\n </Text>\n </BaseBox>\n </Box>\n <BaseBox className={classes.HIDE_WHEN_COLLAPSED}>{trailing}</BaseBox>\n </SideNavItemContainer>\n </TooltipifyComponent>\n );\n};\n\nexport { SideNavItem };\n"],"names":["SideNavItemContainer","styled","BaseBox","withConfig","displayName","componentId","props","transition","getNavItemTransition","theme","SideNavItem","_ref","_leading$name","leading","trailing","title","backgroundColor","tooltip","_ref$as","as","rest","_objectWithoutProperties","_excluded","isIcon","name","endsWith","Icon","undefined","_jsx","TooltipifyComponent","children","_jsxs","_objectSpread","display","flexDirection","justifyContent","alignItems","paddingX","height","makeSize","NAV_ITEM_HEIGHT","borderRadius","cursor","makeAnalyticsAttribute","Box","gap","size","color","className","classes","HIDE_WHEN_COLLAPSED","Text","truncateAfterLines","weight"],"mappings":"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"}
|
|
@@ -10,12 +10,14 @@ import { makeSize } from '../../utils/makeSize/makeSize.js';
|
|
|
10
10
|
import { Text } from '../Typography/Text/Text.js';
|
|
11
11
|
|
|
12
12
|
var SideNavLevel = function SideNavLevel(_ref) {
|
|
13
|
-
var children = _ref.children
|
|
13
|
+
var children = _ref.children,
|
|
14
|
+
titleSuffix = _ref.titleSuffix;
|
|
14
15
|
var _useNavLink = useNavLink(),
|
|
15
16
|
_prevLevel = _useNavLink.level,
|
|
16
17
|
headingTitle = _useNavLink.title;
|
|
17
18
|
var prevLevel = _prevLevel !== null && _prevLevel !== void 0 ? _prevLevel : 0;
|
|
18
19
|
var currentLevel = prevLevel + 1;
|
|
20
|
+
var hasTrailing = !!titleSuffix;
|
|
19
21
|
return /*#__PURE__*/jsxs(BaseBox, {
|
|
20
22
|
marginLeft: currentLevel === 3 ? {
|
|
21
23
|
base: 'spacing.7',
|
|
@@ -39,21 +41,23 @@ var SideNavLevel = function SideNavLevel(_ref) {
|
|
|
39
41
|
height: "100%",
|
|
40
42
|
display: "flex",
|
|
41
43
|
flexDirection: "column",
|
|
42
|
-
children: [currentLevel === 2 && headingTitle ? /*#__PURE__*/
|
|
44
|
+
children: [currentLevel === 2 && headingTitle ? /*#__PURE__*/jsxs(BaseBox
|
|
43
45
|
// In mobile, we use DrawerHeader for this heading
|
|
44
46
|
, {
|
|
45
47
|
display: {
|
|
46
48
|
base: 'none',
|
|
47
|
-
m: 'block'
|
|
49
|
+
m: hasTrailing ? 'flex' : 'block'
|
|
48
50
|
},
|
|
49
51
|
padding: "spacing.4",
|
|
50
52
|
borderBottomWidth: "thin",
|
|
51
53
|
borderBottomColor: "surface.border.gray.muted",
|
|
52
|
-
|
|
54
|
+
gap: hasTrailing ? 'spacing.2' : 'spacing.0',
|
|
55
|
+
alignItems: hasTrailing ? 'center' : undefined,
|
|
56
|
+
children: [/*#__PURE__*/jsx(Text, {
|
|
53
57
|
size: "large",
|
|
54
58
|
weight: "semibold",
|
|
55
59
|
children: headingTitle
|
|
56
|
-
})
|
|
60
|
+
}), titleSuffix]
|
|
57
61
|
}) : null, /*#__PURE__*/jsx(BaseBox, {
|
|
58
62
|
padding: {
|
|
59
63
|
base: 'spacing.0',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNavLevel.web.js","sources":["../../../../../../src/components/SideNav/SideNavLevel.web.tsx"],"sourcesContent":["import React from 'react';\nimport { useNavLink } from './SideNavContext';\nimport { COLLAPSED_L1_WIDTH } from './tokens';\nimport type { SideNavLevelProps } from './types';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { makeSize } from '~utils';\n\nconst SideNavLevel = ({ children }: SideNavLevelProps): React.ReactElement => {\n const { level: _prevLevel, title: headingTitle } = useNavLink();\n const prevLevel = _prevLevel ?? 0;\n const currentLevel = prevLevel + 1;\n return (\n <BaseBox\n marginLeft={\n currentLevel === 3\n ? { base: 'spacing.7', m: 'spacing.6' }\n : { base: 'spacing.0', m: makeSize(COLLAPSED_L1_WIDTH) }\n }\n // When we're in level 2 or 3, we want to stop propagation of hover from its items.\n // L1 is only expected to open / close on hover of L1 menu and L1 items\n onMouseOver={(e) => {\n e.stopPropagation();\n }}\n // Although we don't use `onMouseOut` on SideNav, keeping it here in case we start using it in future as stopping propagation in child\n // is expected behaviour for us. Checkout https://react.dev/reference/react-dom/createPortal#caveats\n onMouseOut={(e) => {\n e.stopPropagation();\n }}\n height=\"100%\"\n display=\"flex\"\n flexDirection=\"column\"\n >\n {currentLevel === 2 && headingTitle ? (\n <BaseBox\n // In mobile, we use DrawerHeader for this heading\n display={{ base: 'none', m: 'block' }}\n padding=\"spacing.4\"\n borderBottomWidth=\"thin\"\n borderBottomColor=\"surface.border.gray.muted\"\n >\n <Text size=\"large\" weight=\"semibold\">\n {headingTitle}\n </Text>\n </BaseBox>\n ) : null}\n <BaseBox padding={{ base: 'spacing.0', m: 'spacing.3' }} overflowY=\"auto\">\n {children}\n </BaseBox>\n </BaseBox>\n );\n};\n\nexport { SideNavLevel };\n"],"names":["SideNavLevel","_ref","children","_useNavLink","useNavLink","_prevLevel","level","headingTitle","title","prevLevel","currentLevel","_jsxs","BaseBox","marginLeft","base","m","makeSize","COLLAPSED_L1_WIDTH","onMouseOver","e","stopPropagation","onMouseOut","height","display","flexDirection","
|
|
1
|
+
{"version":3,"file":"SideNavLevel.web.js","sources":["../../../../../../src/components/SideNav/SideNavLevel.web.tsx"],"sourcesContent":["import React from 'react';\nimport { useNavLink } from './SideNavContext';\nimport { COLLAPSED_L1_WIDTH } from './tokens';\nimport type { SideNavLevelProps } from './types';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { makeSize } from '~utils';\n\nconst SideNavLevel = ({ children, titleSuffix }: SideNavLevelProps): React.ReactElement => {\n const { level: _prevLevel, title: headingTitle } = useNavLink();\n\n const prevLevel = _prevLevel ?? 0;\n const currentLevel = prevLevel + 1;\n const hasTrailing = !!titleSuffix;\n return (\n <BaseBox\n marginLeft={\n currentLevel === 3\n ? { base: 'spacing.7', m: 'spacing.6' }\n : { base: 'spacing.0', m: makeSize(COLLAPSED_L1_WIDTH) }\n }\n // When we're in level 2 or 3, we want to stop propagation of hover from its items.\n // L1 is only expected to open / close on hover of L1 menu and L1 items\n onMouseOver={(e) => {\n e.stopPropagation();\n }}\n // Although we don't use `onMouseOut` on SideNav, keeping it here in case we start using it in future as stopping propagation in child\n // is expected behaviour for us. Checkout https://react.dev/reference/react-dom/createPortal#caveats\n onMouseOut={(e) => {\n e.stopPropagation();\n }}\n height=\"100%\"\n display=\"flex\"\n flexDirection=\"column\"\n >\n {currentLevel === 2 && headingTitle ? (\n <BaseBox\n // In mobile, we use DrawerHeader for this heading\n display={{ base: 'none', m: hasTrailing ? 'flex' : 'block' }}\n padding=\"spacing.4\"\n borderBottomWidth=\"thin\"\n borderBottomColor=\"surface.border.gray.muted\"\n gap={hasTrailing ? 'spacing.2' : 'spacing.0'}\n alignItems={hasTrailing ? 'center' : undefined}\n >\n <Text size=\"large\" weight=\"semibold\">\n {headingTitle}\n </Text>\n {titleSuffix}\n </BaseBox>\n ) : null}\n <BaseBox padding={{ base: 'spacing.0', m: 'spacing.3' }} overflowY=\"auto\">\n {children}\n </BaseBox>\n </BaseBox>\n );\n};\n\nexport { SideNavLevel };\n"],"names":["SideNavLevel","_ref","children","titleSuffix","_useNavLink","useNavLink","_prevLevel","level","headingTitle","title","prevLevel","currentLevel","hasTrailing","_jsxs","BaseBox","marginLeft","base","m","makeSize","COLLAPSED_L1_WIDTH","onMouseOver","e","stopPropagation","onMouseOut","height","display","flexDirection","padding","borderBottomWidth","borderBottomColor","gap","alignItems","undefined","_jsx","Text","size","weight","overflowY"],"mappings":";;;;;;;;;;;AAQA,IAAMA,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA,EAAyE;AAAA,EAAA,IAAnEC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,WAAW,GAAAF,IAAA,CAAXE,WAAW,CAAA;AAC3C,EAAA,IAAAC,WAAA,GAAmDC,UAAU,EAAE;IAAhDC,UAAU,GAAAF,WAAA,CAAjBG,KAAK;IAAqBC,YAAY,GAAAJ,WAAA,CAAnBK,KAAK,CAAA;EAEhC,IAAMC,SAAS,GAAGJ,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,UAAU,GAAI,CAAC,CAAA;AACjC,EAAA,IAAMK,YAAY,GAAGD,SAAS,GAAG,CAAC,CAAA;AAClC,EAAA,IAAME,WAAW,GAAG,CAAC,CAACT,WAAW,CAAA;EACjC,oBACEU,IAAA,CAACC,OAAO,EAAA;AACNC,IAAAA,UAAU,EACRJ,YAAY,KAAK,CAAC,GACd;AAAEK,MAAAA,IAAI,EAAE,WAAW;AAAEC,MAAAA,CAAC,EAAE,WAAA;AAAY,KAAC,GACrC;AAAED,MAAAA,IAAI,EAAE,WAAW;MAAEC,CAAC,EAAEC,QAAQ,CAACC,kBAAkB,CAAA;AAAE,KAAA;AAE3D;AACA;AAAA;AACAC,IAAAA,WAAW,EAAE,SAAAA,WAACC,CAAAA,CAAC,EAAK;MAClBA,CAAC,CAACC,eAAe,EAAE,CAAA;AACrB,KAAA;AACA;AACA;AAAA;AACAC,IAAAA,UAAU,EAAE,SAAAA,UAACF,CAAAA,CAAC,EAAK;MACjBA,CAAC,CAACC,eAAe,EAAE,CAAA;KACnB;AACFE,IAAAA,MAAM,EAAC,MAAM;AACbC,IAAAA,OAAO,EAAC,MAAM;AACdC,IAAAA,aAAa,EAAC,QAAQ;IAAAxB,QAAA,EAAA,CAErBS,YAAY,KAAK,CAAC,IAAIH,YAAY,gBACjCK,IAAA,CAACC,OAAAA;AACC;AAAA,MAAA;AACAW,MAAAA,OAAO,EAAE;AAAET,QAAAA,IAAI,EAAE,MAAM;AAAEC,QAAAA,CAAC,EAAEL,WAAW,GAAG,MAAM,GAAG,OAAA;OAAU;AAC7De,MAAAA,OAAO,EAAC,WAAW;AACnBC,MAAAA,iBAAiB,EAAC,MAAM;AACxBC,MAAAA,iBAAiB,EAAC,2BAA2B;AAC7CC,MAAAA,GAAG,EAAElB,WAAW,GAAG,WAAW,GAAG,WAAY;AAC7CmB,MAAAA,UAAU,EAAEnB,WAAW,GAAG,QAAQ,GAAGoB,SAAU;MAAA9B,QAAA,EAAA,cAE/C+B,GAAA,CAACC,IAAI,EAAA;AAACC,QAAAA,IAAI,EAAC,OAAO;AAACC,QAAAA,MAAM,EAAC,UAAU;AAAAlC,QAAAA,QAAA,EACjCM,YAAAA;OACG,CAAC,EACNL,WAAW,CAAA;AAAA,KACL,CAAC,GACR,IAAI,eACR8B,GAAA,CAACnB,OAAO,EAAA;AAACa,MAAAA,OAAO,EAAE;AAAEX,QAAAA,IAAI,EAAE,WAAW;AAAEC,QAAAA,CAAC,EAAE,WAAA;OAAc;AAACoB,MAAAA,SAAS,EAAC,MAAM;AAAAnC,MAAAA,QAAA,EACtEA,QAAAA;AAAQ,KACF,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAEd;;;;"}
|
|
@@ -15,7 +15,7 @@ var classes = {
|
|
|
15
15
|
var SKIP_NAV_ID = 'blade-side-nav-skip';
|
|
16
16
|
var COLLAPSED_L1_WIDTH = size['56'];
|
|
17
17
|
var SIDE_NAV_EXPANDED_L1_WIDTH_XL = size['264'];
|
|
18
|
-
var SIDE_NAV_EXPANDED_L1_WIDTH_BASE = size['
|
|
18
|
+
var SIDE_NAV_EXPANDED_L1_WIDTH_BASE = size['240'];
|
|
19
19
|
var NAV_ITEM_HEIGHT = size['40'];
|
|
20
20
|
|
|
21
21
|
// This is the delay after which transition cleanup happens for rare cases where transitionEnd is not triggered
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sources":["../../../../../../src/components/SideNav/tokens.ts"],"sourcesContent":["import type { Theme } from '~components/BladeProvider';\nimport { size } from '~tokens/global';\nimport { makeMotionTime } from '~utils';\n\nconst classes = {\n SHOW_WHEN_COLLAPSED: 'show-when-collapsed',\n HIDE_WHEN_COLLAPSED: 'hide-when-collapsed',\n COLLAPSED: 'collapsed',\n TRANSITIONING: 'transitioning',\n L1_ITEM_WRAPPER: 'l1-item-wrapper',\n SHOW_ON_LINK_HOVER: 'show-on-link-hover',\n STYLED_NAV_LINK: 'styled-nav-link',\n} as const;\n\nconst SKIP_NAV_ID = 'blade-side-nav-skip';\n\nconst COLLAPSED_L1_WIDTH = size['56'];\nconst SIDE_NAV_EXPANDED_L1_WIDTH_XL = size['264'];\nconst SIDE_NAV_EXPANDED_L1_WIDTH_BASE = size['
|
|
1
|
+
{"version":3,"file":"tokens.js","sources":["../../../../../../src/components/SideNav/tokens.ts"],"sourcesContent":["import type { Theme } from '~components/BladeProvider';\nimport { size } from '~tokens/global';\nimport { makeMotionTime } from '~utils';\n\nconst classes = {\n SHOW_WHEN_COLLAPSED: 'show-when-collapsed',\n HIDE_WHEN_COLLAPSED: 'hide-when-collapsed',\n COLLAPSED: 'collapsed',\n TRANSITIONING: 'transitioning',\n L1_ITEM_WRAPPER: 'l1-item-wrapper',\n SHOW_ON_LINK_HOVER: 'show-on-link-hover',\n STYLED_NAV_LINK: 'styled-nav-link',\n} as const;\n\nconst SKIP_NAV_ID = 'blade-side-nav-skip';\n\nconst COLLAPSED_L1_WIDTH = size['56'];\nconst SIDE_NAV_EXPANDED_L1_WIDTH_XL = size['264'];\nconst SIDE_NAV_EXPANDED_L1_WIDTH_BASE = size['240'];\nconst NAV_ITEM_HEIGHT = size['40'];\n\n// This is the delay after which transition cleanup happens for rare cases where transitionEnd is not triggered\nconst TRANSITION_CLEANUP_DELAY = 300; // A little more than the duration of transition end\n\nconst HOVER_AGAIN_DELAY = 500;\n\n// Delay between mouse out from L1 and L1 collapsing again\nconst L1_EXIT_HOVER_DELAY = 150;\n\nconst getNavItemTransition = ({ motion }: Theme): string => {\n return `background-color ${makeMotionTime(motion.duration['2xquick'])} ${motion.easing.standard}`;\n};\n\nexport {\n SKIP_NAV_ID,\n classes,\n COLLAPSED_L1_WIDTH,\n SIDE_NAV_EXPANDED_L1_WIDTH_XL,\n SIDE_NAV_EXPANDED_L1_WIDTH_BASE,\n NAV_ITEM_HEIGHT,\n TRANSITION_CLEANUP_DELAY,\n HOVER_AGAIN_DELAY,\n getNavItemTransition,\n L1_EXIT_HOVER_DELAY,\n};\n"],"names":["classes","SHOW_WHEN_COLLAPSED","HIDE_WHEN_COLLAPSED","COLLAPSED","TRANSITIONING","L1_ITEM_WRAPPER","SHOW_ON_LINK_HOVER","STYLED_NAV_LINK","SKIP_NAV_ID","COLLAPSED_L1_WIDTH","size","SIDE_NAV_EXPANDED_L1_WIDTH_XL","SIDE_NAV_EXPANDED_L1_WIDTH_BASE","NAV_ITEM_HEIGHT","TRANSITION_CLEANUP_DELAY","HOVER_AGAIN_DELAY","L1_EXIT_HOVER_DELAY","getNavItemTransition","_ref","motion","concat","makeMotionTime","duration","easing","standard"],"mappings":";;;;;AAIA,IAAMA,OAAO,GAAG;AACdC,EAAAA,mBAAmB,EAAE,qBAAqB;AAC1CC,EAAAA,mBAAmB,EAAE,qBAAqB;AAC1CC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,aAAa,EAAE,eAAe;AAC9BC,EAAAA,eAAe,EAAE,iBAAiB;AAClCC,EAAAA,kBAAkB,EAAE,oBAAoB;AACxCC,EAAAA,eAAe,EAAE,iBAAA;AACnB,EAAU;AAEJC,IAAAA,WAAW,GAAG,sBAAqB;AAEzC,IAAMC,kBAAkB,GAAGC,IAAI,CAAC,IAAI,EAAC;AACrC,IAAMC,6BAA6B,GAAGD,IAAI,CAAC,KAAK,EAAC;AACjD,IAAME,+BAA+B,GAAGF,IAAI,CAAC,KAAK,EAAC;AACnD,IAAMG,eAAe,GAAGH,IAAI,CAAC,IAAI,EAAC;;AAElC;AACA,IAAMI,wBAAwB,GAAG,IAAI;;AAE/BC,IAAAA,iBAAiB,GAAG,IAAG;;AAE7B;AACMC,IAAAA,mBAAmB,GAAG,IAAG;AAE/B,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAAkC;AAAA,EAAA,IAA5BC,MAAM,GAAAD,IAAA,CAANC,MAAM,CAAA;AACpC,EAAA,OAAA,mBAAA,CAAAC,MAAA,CAA2BC,cAAc,CAACF,MAAM,CAACG,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAAF,MAAA,CAAID,MAAM,CAACI,MAAM,CAACC,QAAQ,CAAA,CAAA;AACjG;;;;"}
|
|
@@ -16426,7 +16426,7 @@ type BaseFilterChipProps = {
|
|
|
16426
16426
|
onClick?: (e: React.MouseEventHandler) => void;
|
|
16427
16427
|
onBlur?: (e: React.FocusEventHandler) => void;
|
|
16428
16428
|
accessibilityProps?: Partial<AccessibilityProps>;
|
|
16429
|
-
} & TestID;
|
|
16429
|
+
} & TestID & DataAnalyticsAttribute;
|
|
16430
16430
|
|
|
16431
16431
|
type FilterChipSelectInputProps = Pick<BaseFilterChipProps, 'onKeyDown' | 'value' | 'label' | 'testID' | 'onClick' | 'selectionType' | 'onBlur'> & {
|
|
16432
16432
|
accessibilityLabel?: string;
|
|
@@ -16439,6 +16439,7 @@ type FilterChipSelectInputProps = Pick<BaseFilterChipProps, 'onKeyDown' | 'value
|
|
|
16439
16439
|
name: string;
|
|
16440
16440
|
values: string[];
|
|
16441
16441
|
}) => void;
|
|
16442
|
+
isDisabled?: boolean;
|
|
16442
16443
|
} & DataAnalyticsAttribute;
|
|
16443
16444
|
declare const FilterChipSelectInput: (props: FilterChipSelectInputProps) => React__default.ReactElement;
|
|
16444
16445
|
|
|
@@ -21174,7 +21175,7 @@ type SideNavItemProps = {
|
|
|
21174
21175
|
*
|
|
21175
21176
|
* Meant for Indicator, Icon, etc
|
|
21176
21177
|
*/
|
|
21177
|
-
leading: React__default.ReactElement;
|
|
21178
|
+
leading: React__default.ReactElement | IconComponent;
|
|
21178
21179
|
/**
|
|
21179
21180
|
* Trailing slot for SideNavItem.
|
|
21180
21181
|
*
|
|
@@ -21216,22 +21217,23 @@ type SideNavBodyProps = {
|
|
|
21216
21217
|
};
|
|
21217
21218
|
type SideNavLevelProps = {
|
|
21218
21219
|
children: React__default.ReactElement | React__default.ReactElement[];
|
|
21220
|
+
titleSuffix?: React__default.ReactElement;
|
|
21219
21221
|
};
|
|
21220
21222
|
|
|
21221
21223
|
declare const SideNavLink: ({ title, description, href, children, titleSuffix, trailing, isActive, icon, tooltip, as, target, onClick, ...rest }: SideNavLinkProps) => React__default.ReactElement;
|
|
21222
21224
|
|
|
21223
|
-
declare const SideNavLevel: ({ children }: SideNavLevelProps) => React__default.ReactElement;
|
|
21225
|
+
declare const SideNavLevel: ({ children, titleSuffix }: SideNavLevelProps) => React__default.ReactElement;
|
|
21224
21226
|
|
|
21225
21227
|
declare const SideNavSection: ({ children, title, defaultIsExpanded, maxVisibleItems, onExpandChange, ...rest }: SideNavSectionProps) => React__default.ReactElement;
|
|
21226
21228
|
|
|
21227
|
-
declare const SideNavItem: ({ leading, trailing, title, backgroundColor, tooltip, as, ...rest }: SideNavItemProps) =>
|
|
21229
|
+
declare const SideNavItem: ({ leading, trailing, title, backgroundColor, tooltip, as, ...rest }: SideNavItemProps) => React__default.ReactElement;
|
|
21228
21230
|
|
|
21229
21231
|
declare const SideNavFooter: ({ children }: SideNavFooterProps) => React__default.ReactElement;
|
|
21230
21232
|
|
|
21231
21233
|
declare const SideNavBody: ({ children }: SideNavBodyProps) => React.ReactElement;
|
|
21232
21234
|
|
|
21233
21235
|
declare const SIDE_NAV_EXPANDED_L1_WIDTH_XL: 264;
|
|
21234
|
-
declare const SIDE_NAV_EXPANDED_L1_WIDTH_BASE:
|
|
21236
|
+
declare const SIDE_NAV_EXPANDED_L1_WIDTH_BASE: 240;
|
|
21235
21237
|
|
|
21236
21238
|
type SkeletonProps = StyledPropsBlade & Pick<BaseBoxProps, 'width' | 'maxWidth' | 'minWidth' | 'height' | 'maxHeight' | 'minHeight' | 'borderRadius'> & Partial<FlexboxProps> & {
|
|
21237
21239
|
testID?: string;
|
|
@@ -13231,7 +13231,7 @@ type SideNavItemProps = {
|
|
|
13231
13231
|
*
|
|
13232
13232
|
* Meant for Indicator, Icon, etc
|
|
13233
13233
|
*/
|
|
13234
|
-
leading: React__default.ReactElement;
|
|
13234
|
+
leading: React__default.ReactElement | IconComponent;
|
|
13235
13235
|
/**
|
|
13236
13236
|
* Trailing slot for SideNavItem.
|
|
13237
13237
|
*
|
|
@@ -13273,6 +13273,7 @@ type SideNavBodyProps = {
|
|
|
13273
13273
|
};
|
|
13274
13274
|
type SideNavLevelProps = {
|
|
13275
13275
|
children: React__default.ReactElement | React__default.ReactElement[];
|
|
13276
|
+
titleSuffix?: React__default.ReactElement;
|
|
13276
13277
|
};
|
|
13277
13278
|
|
|
13278
13279
|
declare const SideNav: (_props: SideNavProps) => React.ReactElement;
|
|
@@ -13290,7 +13291,7 @@ declare const SideNavFooter: (_props: SideNavFooterProps) => React.ReactElement;
|
|
|
13290
13291
|
declare const SideNavBody: (_props: SideNavBodyProps) => React.ReactElement;
|
|
13291
13292
|
|
|
13292
13293
|
declare const SIDE_NAV_EXPANDED_L1_WIDTH_XL: 264;
|
|
13293
|
-
declare const SIDE_NAV_EXPANDED_L1_WIDTH_BASE:
|
|
13294
|
+
declare const SIDE_NAV_EXPANDED_L1_WIDTH_BASE: 240;
|
|
13294
13295
|
|
|
13295
13296
|
type SkeletonProps = StyledPropsBlade & Pick<BaseBoxProps, 'width' | 'maxWidth' | 'minWidth' | 'height' | 'maxHeight' | 'minHeight' | 'borderRadius'> & Partial<FlexboxProps> & {
|
|
13296
13297
|
testID?: string;
|