@razorpay/blade 12.96.1 → 12.96.3

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.
Files changed (53) hide show
  1. package/build/lib/native/components/Input/SearchInput/SearchInput.js +2 -1
  2. package/build/lib/native/components/Input/SearchInput/SearchInput.js.map +1 -1
  3. package/build/lib/native/components/Modal/ModalContext.js +6 -0
  4. package/build/lib/native/components/Modal/ModalContext.js.map +1 -0
  5. package/build/lib/native/utils/makeSurfaceStyles/makeSurfaceStyles.js +10 -1
  6. package/build/lib/native/utils/makeSurfaceStyles/makeSurfaceStyles.js.map +1 -1
  7. package/build/lib/web/development/_virtual/cloneDeep.js +1 -1
  8. package/build/lib/web/development/_virtual/cloneDeep3.js +1 -1
  9. package/build/lib/web/development/components/Input/SearchInput/SearchInput.js +3 -1
  10. package/build/lib/web/development/components/Input/SearchInput/SearchInput.js.map +1 -1
  11. package/build/lib/web/development/components/ListView/ListView.web.js +1 -3
  12. package/build/lib/web/development/components/ListView/ListView.web.js.map +1 -1
  13. package/build/lib/web/development/components/ListView/ListViewFilters.web.js +0 -1
  14. package/build/lib/web/development/components/ListView/ListViewFilters.web.js.map +1 -1
  15. package/build/lib/web/development/components/Modal/Modal.web.js +2 -1
  16. package/build/lib/web/development/components/Modal/Modal.web.js.map +1 -1
  17. package/build/lib/web/development/components/Modal/ModalContext.js +2 -1
  18. package/build/lib/web/development/components/Modal/ModalContext.js.map +1 -1
  19. package/build/lib/web/development/components/Table/TableBody.web.js +3 -3
  20. package/build/lib/web/development/components/Table/TableBody.web.js.map +1 -1
  21. package/build/lib/web/development/components/Table/TableFooter.web.js +3 -3
  22. package/build/lib/web/development/components/Table/TableFooter.web.js.map +1 -1
  23. package/build/lib/web/development/components/Table/TableHeader.web.js +3 -3
  24. package/build/lib/web/development/components/Table/TableHeader.web.js.map +1 -1
  25. package/build/lib/web/development/node_modules/es-toolkit/dist/compat/object/cloneDeep.js +1 -1
  26. package/build/lib/web/development/node_modules/es-toolkit/dist/compat/predicate/matches.js +2 -2
  27. package/build/lib/web/development/node_modules/es-toolkit/dist/compat/predicate/matchesProperty.js +2 -2
  28. package/build/lib/web/development/node_modules/es-toolkit/dist/object/cloneDeep.js +1 -1
  29. package/build/lib/web/development/utils/makeSurfaceStyles/makeSurfaceStyles.js +7 -32
  30. package/build/lib/web/development/utils/makeSurfaceStyles/makeSurfaceStyles.js.map +1 -1
  31. package/build/lib/web/production/components/Input/SearchInput/SearchInput.js +3 -1
  32. package/build/lib/web/production/components/Input/SearchInput/SearchInput.js.map +1 -1
  33. package/build/lib/web/production/components/ListView/ListView.web.js +1 -3
  34. package/build/lib/web/production/components/ListView/ListView.web.js.map +1 -1
  35. package/build/lib/web/production/components/ListView/ListViewFilters.web.js +0 -1
  36. package/build/lib/web/production/components/ListView/ListViewFilters.web.js.map +1 -1
  37. package/build/lib/web/production/components/Modal/Modal.web.js +2 -1
  38. package/build/lib/web/production/components/Modal/Modal.web.js.map +1 -1
  39. package/build/lib/web/production/components/Modal/ModalContext.js +2 -1
  40. package/build/lib/web/production/components/Modal/ModalContext.js.map +1 -1
  41. package/build/lib/web/production/components/Table/TableBody.web.js +3 -3
  42. package/build/lib/web/production/components/Table/TableBody.web.js.map +1 -1
  43. package/build/lib/web/production/components/Table/TableFooter.web.js +3 -3
  44. package/build/lib/web/production/components/Table/TableFooter.web.js.map +1 -1
  45. package/build/lib/web/production/components/Table/TableHeader.web.js +3 -3
  46. package/build/lib/web/production/components/Table/TableHeader.web.js.map +1 -1
  47. package/build/lib/web/production/utils/makeSurfaceStyles/makeSurfaceStyles.js +7 -32
  48. package/build/lib/web/production/utils/makeSurfaceStyles/makeSurfaceStyles.js.map +1 -1
  49. package/build/types/components/index.d.ts +1124 -1124
  50. package/build/types/components/index.native.d.ts +84 -84
  51. package/build/types/utils/index.d.ts +0 -2
  52. package/build/types/utils/index.native.d.ts +0 -2
  53. package/package.json +1 -1
@@ -2,12 +2,12 @@ import { getDefaultExportFromCjs } from '../../../../../_virtual/_commonjsHelper
2
2
  import { __exports as matchesProperty$1 } from '../../../../../_virtual/matchesProperty2.js';
3
3
  import '../../../../../_virtual/isMatch.js';
4
4
  import '../../../../../_virtual/toKey.js';
5
- import '../../../../../_virtual/cloneDeep.js';
5
+ import '../../../../../_virtual/cloneDeep3.js';
6
6
  import '../../../../../_virtual/get.js';
7
7
  import '../../../../../_virtual/has.js';
8
8
  import { __exports as isMatch } from '../../../../../_virtual/isMatch2.js';
9
9
  import { __exports as toKey } from '../../../../../_virtual/toKey2.js';
10
- import { __exports as cloneDeep } from '../../../../../_virtual/cloneDeep2.js';
10
+ import { __exports as cloneDeep } from '../../../../../_virtual/cloneDeep4.js';
11
11
  import { __exports as get } from '../../../../../_virtual/get2.js';
12
12
  import { __exports as has } from '../../../../../_virtual/has2.js';
13
13
 
@@ -1,5 +1,5 @@
1
1
  import { getDefaultExportFromCjs } from '../../../../_virtual/_commonjsHelpers.js';
2
- import { __exports as cloneDeep$1 } from '../../../../_virtual/cloneDeep4.js';
2
+ import { __exports as cloneDeep$1 } from '../../../../_virtual/cloneDeep2.js';
3
3
  import '../../../../_virtual/cloneDeepWith3.js';
4
4
  import { __exports as cloneDeepWith } from '../../../../_virtual/cloneDeepWith4.js';
5
5
 
@@ -79,7 +79,6 @@ var getSurfaceGradients = function getSurfaceGradients(colorScheme) {
79
79
  * Spread this into a styled-component's return object alongside layout styles.
80
80
  */
81
81
  var getSurfaceStyles = function getSurfaceStyles(theme, colorScheme, options) {
82
- var _options$beforeGradie, _options$afterGradien;
83
82
  var isDarkMode = colorScheme === 'dark';
84
83
  var _getSurfaceBoxShadow2 = getSurfaceBoxShadow(theme, colorScheme),
85
84
  border = _getSurfaceBoxShadow2.border,
@@ -89,41 +88,17 @@ var getSurfaceStyles = function getSurfaceStyles(theme, colorScheme, options) {
89
88
  var _getSurfaceGradients = getSurfaceGradients(colorScheme),
90
89
  topGradientColor = _getSurfaceGradients.top,
91
90
  bottomGradientColor = _getSurfaceGradients.bottom;
92
- var beforeGradientZIndex = (_options$beforeGradie = options === null || options === void 0 ? void 0 : options.beforeGradientZIndex) !== null && _options$beforeGradie !== void 0 ? _options$beforeGradie : -1;
93
- var afterGradientZIndex = (_options$afterGradien = options === null || options === void 0 ? void 0 : options.afterGradientZIndex) !== null && _options$afterGradien !== void 0 ? _options$afterGradien : -1;
91
+ var gradientHeight = makeSpace(size[16]);
92
+ var bottomInset = isDarkMode ? 1 : 2;
93
+ var xInset = 2;
94
94
  return {
95
95
  boxShadow: boxShadow,
96
96
  border: 'none',
97
97
  borderTop: isDarkMode ? "1px solid ".concat(theme.colors.surface.border.gray.subtle) : '',
98
- isolation: 'isolate',
99
- '&::before': {
100
- content: '""',
101
- position: 'absolute',
102
- top: isDarkMode ? 0 : 1,
103
- left: 1,
104
- right: 1,
105
- height: makeSpace(size[16]),
106
- background: "linear-gradient(".concat(topGradientColor.start, " 0%, ").concat(topGradientColor.end, " 100%)"),
107
- pointerEvents: 'none',
108
- borderRadius: 'inherit',
109
- borderBottomLeftRadius: 0,
110
- borderBottomRightRadius: 0,
111
- zIndex: beforeGradientZIndex
112
- },
113
- '&::after': {
114
- content: '""',
115
- position: 'absolute',
116
- bottom: isDarkMode ? 1 : 2,
117
- left: 1,
118
- right: 1,
119
- height: makeSpace(size[16]),
120
- background: "linear-gradient(".concat(bottomGradientColor.start, " 0%, ").concat(bottomGradientColor.end, " 100%)"),
121
- pointerEvents: 'none',
122
- borderRadius: 'inherit',
123
- borderTopLeftRadius: 0,
124
- borderTopRightRadius: 0,
125
- zIndex: afterGradientZIndex
126
- }
98
+ backgroundImage: "\n linear-gradient(to bottom, ".concat(topGradientColor.start, " 0%, ").concat(topGradientColor.end, " 100%),\n linear-gradient(to bottom, ").concat(bottomGradientColor.start, " 0%, ").concat(bottomGradientColor.end, " 100%)\n "),
99
+ backgroundPosition: "\n center top,\n center calc(100% - ".concat(bottomInset, "px)\n "),
100
+ backgroundSize: "\n calc(100% - ".concat(xInset, "px) ").concat(gradientHeight, ",\n calc(100% - ").concat(xInset, "px) ").concat(gradientHeight, "\n "),
101
+ backgroundRepeat: 'no-repeat'
127
102
  };
128
103
  };
129
104
 
@@ -1 +1 @@
1
- {"version":3,"file":"makeSurfaceStyles.js","sources":["../../../../../../src/utils/makeSurfaceStyles/makeSurfaceStyles.ts"],"sourcesContent":["import { colors, size } from '~tokens/global';\nimport type { ColorSchemeNames } from '~tokens/theme';\nimport type { Theme } from '~components/BladeProvider';\nimport { makeSpace } from '~utils/makeSpace';\n\nexport type SurfaceBoxShadow = {\n elevation: string;\n border: string;\n top: string;\n};\n\n/**\n * Returns the surface-style box shadow layers (elevation, border, top inner shadow)\n * for use in Card, Table, and other elevated surfaces. Use the same shadow in both\n * places for visual consistency.\n *\n * @param theme - Blade theme (from useTheme())\n * @param colorScheme - 'light' | 'dark'\n * @returns Object with elevation, border, and top shadow CSS strings\n */\nexport const getSurfaceBoxShadow = (\n theme: Theme,\n colorScheme: ColorSchemeNames,\n): SurfaceBoxShadow => {\n const boxShadow = {\n light: {\n elevation: `0px 6px 32px 4px ${colors.neutral.blueGrayLight.a406}`,\n border: `inset 0px 0px 0px 1px ${theme.colors.interactive.border.gray.disabled}`,\n top: `inset 0px -1.5px 0px 1px ${theme.colors.surface.background.gray.intense}`,\n },\n dark: {\n elevation: `0px 6px 12px 4px ${colors.neutral.black[5]}`,\n border: `inset 0px 0px 0px 1px ${theme.colors.interactive.border.gray.disabled}`,\n top: `inset 0px 0px 0px 1px ${theme.colors.surface.background.gray.intense}`,\n },\n };\n return boxShadow[colorScheme];\n};\n\n/**\n * Returns a single CSS box-shadow string combining border, elevation, and top inner shadow.\n * Use when applying the full surface shadow to an element.\n */\nexport const getSurfaceBoxShadowString = (theme: Theme, colorScheme: ColorSchemeNames): string => {\n const { border, elevation, top } = getSurfaceBoxShadow(theme, colorScheme);\n return `${border}, ${elevation}, ${top}`;\n};\n\nexport type SurfaceGradientColors = {\n start: string;\n end: string;\n};\n\nexport type SurfaceGradients = {\n top: SurfaceGradientColors;\n bottom: SurfaceGradientColors;\n};\n\nconst surfaceGradientsByScheme: Record<ColorSchemeNames, SurfaceGradients> = {\n light: {\n top: {\n start: colors.neutral.blueGrayLight[0],\n end: colors.neutral.blueGrayLight[0],\n },\n bottom: {\n start: colors.neutral.blueGrayLight[0],\n end: colors.neutral.blueGrayLight[50],\n },\n },\n dark: {\n top: {\n start: colors.neutral.blueGrayDark[1000],\n end: colors.neutral.blueGrayDark[1100],\n },\n bottom: {\n start: colors.neutral.blueGrayDark[1100],\n end: colors.neutral.blueGrayDark[1100],\n },\n },\n};\n\n/**\n * Returns the surface gradient colors (top and bottom) for Card-style overlays.\n *\n * @param colorScheme - 'light' | 'dark'\n * @returns Object with top and bottom gradient { start, end } colors\n */\nexport const getSurfaceGradients = (colorScheme: ColorSchemeNames): SurfaceGradients =>\n surfaceGradientsByScheme[colorScheme];\n\n/**\n * Returns the common surface decoration styles (box-shadow, border, gradients)\n * for use in Card, Table, ListView, and other elevated surfaces.\n * Spread this into a styled-component's return object alongside layout styles.\n */\nexport const getSurfaceStyles = (\n theme: Theme,\n colorScheme: ColorSchemeNames,\n options?: { beforeGradientZIndex?: number; afterGradientZIndex?: number; hideBorder?: boolean },\n): Record<string, unknown> => {\n const isDarkMode = colorScheme === 'dark';\n const { border, elevation, top } = getSurfaceBoxShadow(theme, colorScheme);\n const boxShadow = options?.hideBorder\n ? `${elevation}, ${top}`\n : `${border}, ${elevation}, ${top}`;\n const { top: topGradientColor, bottom: bottomGradientColor } = getSurfaceGradients(colorScheme);\n const beforeGradientZIndex = options?.beforeGradientZIndex ?? -1;\n const afterGradientZIndex = options?.afterGradientZIndex ?? -1;\n\n return {\n boxShadow,\n border: 'none',\n borderTop: isDarkMode ? `1px solid ${theme.colors.surface.border.gray.subtle}` : '',\n isolation: 'isolate',\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n top: isDarkMode ? 0 : 1,\n left: 1,\n right: 1,\n height: makeSpace(size[16]),\n background: `linear-gradient(${topGradientColor.start} 0%, ${topGradientColor.end} 100%)`,\n pointerEvents: 'none',\n borderRadius: 'inherit',\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n zIndex: beforeGradientZIndex,\n },\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n bottom: isDarkMode ? 1 : 2,\n left: 1,\n right: 1,\n height: makeSpace(size[16]),\n background: `linear-gradient(${bottomGradientColor.start} 0%, ${bottomGradientColor.end} 100%)`,\n pointerEvents: 'none',\n borderRadius: 'inherit',\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n zIndex: afterGradientZIndex,\n },\n };\n};\n"],"names":["getSurfaceBoxShadow","theme","colorScheme","boxShadow","light","elevation","concat","colors","neutral","blueGrayLight","a406","border","interactive","gray","disabled","top","surface","background","intense","dark","black","getSurfaceBoxShadowString","_getSurfaceBoxShadow","surfaceGradientsByScheme","start","end","bottom","blueGrayDark","getSurfaceGradients","getSurfaceStyles","options","_options$beforeGradie","_options$afterGradien","isDarkMode","_getSurfaceBoxShadow2","hideBorder","_getSurfaceGradients","topGradientColor","bottomGradientColor","beforeGradientZIndex","afterGradientZIndex","borderTop","subtle","isolation","content","position","left","right","height","makeSpace","size","pointerEvents","borderRadius","borderBottomLeftRadius","borderBottomRightRadius","zIndex","borderTopLeftRadius","borderTopRightRadius"],"mappings":"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"}
1
+ {"version":3,"file":"makeSurfaceStyles.js","sources":["../../../../../../src/utils/makeSurfaceStyles/makeSurfaceStyles.ts"],"sourcesContent":["import { colors, size } from '~tokens/global';\nimport type { ColorSchemeNames } from '~tokens/theme';\nimport type { Theme } from '~components/BladeProvider';\nimport { makeSpace } from '~utils/makeSpace';\n\nexport type SurfaceBoxShadow = {\n elevation: string;\n border: string;\n top: string;\n};\n\n/**\n * Returns the surface-style box shadow layers (elevation, border, top inner shadow)\n * for use in Card, Table, and other elevated surfaces. Use the same shadow in both\n * places for visual consistency.\n *\n * @param theme - Blade theme (from useTheme())\n * @param colorScheme - 'light' | 'dark'\n * @returns Object with elevation, border, and top shadow CSS strings\n */\nexport const getSurfaceBoxShadow = (\n theme: Theme,\n colorScheme: ColorSchemeNames,\n): SurfaceBoxShadow => {\n const boxShadow = {\n light: {\n elevation: `0px 6px 32px 4px ${colors.neutral.blueGrayLight.a406}`,\n border: `inset 0px 0px 0px 1px ${theme.colors.interactive.border.gray.disabled}`,\n top: `inset 0px -1.5px 0px 1px ${theme.colors.surface.background.gray.intense}`,\n },\n dark: {\n elevation: `0px 6px 12px 4px ${colors.neutral.black[5]}`,\n border: `inset 0px 0px 0px 1px ${theme.colors.interactive.border.gray.disabled}`,\n top: `inset 0px 0px 0px 1px ${theme.colors.surface.background.gray.intense}`,\n },\n };\n return boxShadow[colorScheme];\n};\n\n/**\n * Returns a single CSS box-shadow string combining border, elevation, and top inner shadow.\n * Use when applying the full surface shadow to an element.\n */\nexport const getSurfaceBoxShadowString = (theme: Theme, colorScheme: ColorSchemeNames): string => {\n const { border, elevation, top } = getSurfaceBoxShadow(theme, colorScheme);\n return `${border}, ${elevation}, ${top}`;\n};\n\nexport type SurfaceGradientColors = {\n start: string;\n end: string;\n};\n\nexport type SurfaceGradients = {\n top: SurfaceGradientColors;\n bottom: SurfaceGradientColors;\n};\n\nconst surfaceGradientsByScheme: Record<ColorSchemeNames, SurfaceGradients> = {\n light: {\n top: {\n start: colors.neutral.blueGrayLight[0],\n end: colors.neutral.blueGrayLight[0],\n },\n bottom: {\n start: colors.neutral.blueGrayLight[0],\n end: colors.neutral.blueGrayLight[50],\n },\n },\n dark: {\n top: {\n start: colors.neutral.blueGrayDark[1000],\n end: colors.neutral.blueGrayDark[1100],\n },\n bottom: {\n start: colors.neutral.blueGrayDark[1100],\n end: colors.neutral.blueGrayDark[1100],\n },\n },\n};\n\n/**\n * Returns the surface gradient colors (top and bottom) for Card-style overlays.\n *\n * @param colorScheme - 'light' | 'dark'\n * @returns Object with top and bottom gradient { start, end } colors\n */\nexport const getSurfaceGradients = (colorScheme: ColorSchemeNames): SurfaceGradients =>\n surfaceGradientsByScheme[colorScheme];\n\n/**\n * Returns the common surface decoration styles (box-shadow, border, gradients)\n * for use in Card, Table, ListView, and other elevated surfaces.\n * Spread this into a styled-component's return object alongside layout styles.\n */\nexport const getSurfaceStyles = (\n theme: Theme,\n colorScheme: ColorSchemeNames,\n options?: { hideBorder?: boolean },\n): Record<string, unknown> => {\n const isDarkMode = colorScheme === 'dark';\n const { border, elevation, top } = getSurfaceBoxShadow(theme, colorScheme);\n const boxShadow = options?.hideBorder\n ? `${elevation}, ${top}`\n : `${border}, ${elevation}, ${top}`;\n const { top: topGradientColor, bottom: bottomGradientColor } = getSurfaceGradients(colorScheme);\n\n const gradientHeight = makeSpace(size[16]);\n const bottomInset = isDarkMode ? 1 : 2;\n const xInset = 2;\n\n return {\n boxShadow,\n border: 'none',\n borderTop: isDarkMode ? `1px solid ${theme.colors.surface.border.gray.subtle}` : '',\n backgroundImage: `\n linear-gradient(to bottom, ${topGradientColor.start} 0%, ${topGradientColor.end} 100%),\n linear-gradient(to bottom, ${bottomGradientColor.start} 0%, ${bottomGradientColor.end} 100%)\n `,\n backgroundPosition: `\n center top,\n center calc(100% - ${bottomInset}px)\n `,\n backgroundSize: `\n calc(100% - ${xInset}px) ${gradientHeight},\n calc(100% - ${xInset}px) ${gradientHeight}\n `,\n backgroundRepeat: 'no-repeat',\n };\n};\n"],"names":["getSurfaceBoxShadow","theme","colorScheme","boxShadow","light","elevation","concat","colors","neutral","blueGrayLight","a406","border","interactive","gray","disabled","top","surface","background","intense","dark","black","getSurfaceBoxShadowString","_getSurfaceBoxShadow","surfaceGradientsByScheme","start","end","bottom","blueGrayDark","getSurfaceGradients","getSurfaceStyles","options","isDarkMode","_getSurfaceBoxShadow2","hideBorder","_getSurfaceGradients","topGradientColor","bottomGradientColor","gradientHeight","makeSpace","size","bottomInset","xInset","borderTop","subtle","backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat"],"mappings":"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"}
@@ -19,6 +19,7 @@ import '../../Dropdown/index.js';
19
19
  import '../../Divider/index.js';
20
20
  import '../../../utils/isValidAllowedChildren/index.js';
21
21
  import { TopNavOverlayThemeOverride } from '../../TopNav/TopNavOverlayThemeOverride.js';
22
+ import { useModalContext } from '../../Modal/ModalContext.js';
22
23
  import { jsx, jsxs } from 'react/jsx-runtime';
23
24
  import { getPlatformType } from '../../../utils/getPlatformType/getPlatformType.js';
24
25
  import { getComponentId } from '../../../utils/isValidAllowedChildren/isValidAllowedChildren.js';
@@ -93,6 +94,7 @@ var _SearchInput = function _SearchInput(_ref, ref) {
93
94
  _useState6 = _slicedToArray(_useState5, 2),
94
95
  isSearchFocused = _useState6[0],
95
96
  setIsSearchFocused = _useState6[1];
97
+ var modalContext = useModalContext();
96
98
  React__default.useEffect(function () {
97
99
  setShouldShowClearButton(Boolean(defaultValue !== null && defaultValue !== void 0 ? defaultValue : value));
98
100
  }, [defaultValue, value]);
@@ -255,7 +257,7 @@ var _SearchInput = function _SearchInput(_ref, ref) {
255
257
  }, rest))
256
258
  });
257
259
  return /*#__PURE__*/jsx(TopNavOverlayThemeOverride, {
258
- shouldOverrideTheme: isSearchFocused,
260
+ shouldOverrideTheme: modalContext.isInsideModal ? true : isSearchFocused,
259
261
  children: searchContent
260
262
  });
261
263
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput.js","sources":["../../../../../../../src/components/Input/SearchInput/SearchInput.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { TextInput as TextInputReactNative } from 'react-native';\nimport type { BaseInputProps } from '../BaseInput';\nimport { BaseInput } from '../BaseInput';\nimport { getKeyboardAndAutocompleteProps } from '../BaseInput/utils';\nimport isEmpty from '~utils/lodashButBetter/isEmpty';\nimport { CloseIcon, SearchIcon } from '~components/Icons';\nimport { IconButton } from '~components/Button/IconButton';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { MetaConstants } from '~utils/metaAttribute';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Spinner } from '~components/Spinner';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getPlatformType } from '~utils';\nimport { useMergeRefs } from '~utils/useMergeRefs';\nimport type {\n BladeElementRef,\n BladeElementRefWithValue,\n DataAnalyticsAttribute,\n} from '~utils/types';\nimport { dropdownComponentIds } from '~components/Dropdown/dropdownComponentIds';\nimport { useDropdown } from '~components/Dropdown/useDropdown';\nimport { DropdownOverlay, InputDropdownButton } from '~components/Dropdown';\nimport { Divider } from '~components/Divider';\nimport { getComponentId } from '~utils/isValidAllowedChildren';\nimport { TopNavOverlayThemeOverride } from '~components/TopNav/TopNavOverlayThemeOverride';\n\ntype SearchInputCommonProps = Pick<\n BaseInputProps,\n | 'label'\n | 'accessibilityLabel'\n | 'labelPosition'\n | 'labelSuffix'\n | 'labelTrailing'\n | 'helpText'\n | 'placeholder'\n | 'defaultValue'\n | 'name'\n | 'onChange'\n | 'onFocus'\n | 'onBlur'\n | 'value'\n | 'isDisabled'\n | 'autoFocus'\n | 'onSubmit'\n | 'autoCapitalize'\n | 'testID'\n | 'onClick'\n | 'size'\n | keyof DataAnalyticsAttribute\n> & {\n /**\n * Event handler to handle the onClick event for clear button.\n */\n onClearButtonClick?: () => void;\n\n /**\n * Decides whether to show a loading spinner for the input field.\n */\n isLoading?: boolean;\n /**\n * Toggle the visibility of the search icon.\n *\n * @default true\n */\n showSearchIcon?: boolean;\n /**\n * Optional trailing to be shown at the end of the input.\n */\n trailing?: React.ReactNode;\n} & StyledPropsBlade;\n\n/*\n Mandatory accessibilityLabel prop when label is not provided\n*/\ntype SearchInputPropsWithA11yLabel = {\n /**\n * Label to be shown for the input field\n */\n label?: undefined;\n /**\n * Accessibility label for the input\n */\n accessibilityLabel: string;\n};\n\n/*\n Optional accessibilityLabel prop when label is provided\n*/\ntype SearchInputPropsWithLabel = {\n /**\n * Label to be shown for the input field\n */\n label: string;\n /**\n * Accessibility label for the input\n */\n accessibilityLabel?: string;\n};\n\ntype SearchInputProps = (SearchInputPropsWithA11yLabel | SearchInputPropsWithLabel) &\n SearchInputCommonProps;\n\n// need to do this to tell TS to infer type as SearchInput of React Native and make it believe that `ref.current.clear()` exists\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isReactNative = (_textInputRef?: any): _textInputRef is TextInputReactNative => {\n return getPlatformType() === 'react-native';\n};\n\nconst _SearchInput: React.ForwardRefRenderFunction<BladeElementRef, SearchInputProps> = (\n {\n label,\n accessibilityLabel,\n labelPosition = 'top',\n placeholder,\n defaultValue,\n name,\n value,\n onChange,\n onClick,\n onFocus,\n onBlur,\n onSubmit,\n isDisabled,\n labelSuffix,\n labelTrailing,\n helpText,\n onClearButtonClick,\n isLoading,\n autoCapitalize,\n autoFocus,\n testID,\n size = 'medium',\n showSearchIcon = true,\n trailing,\n ...rest\n },\n ref,\n): ReactElement => {\n const textInputRef = React.useRef<BladeElementRefWithValue>(null);\n const mergedRef = useMergeRefs(ref, textInputRef);\n const [shouldShowClearButton, setShouldShowClearButton] = useState(false);\n const [isTrailingDropDownOpen, setIsTrailingDropDownOpen] = useState(false);\n const {\n triggererWrapperRef,\n onTriggerKeydown,\n onTriggerClick,\n dropdownTriggerer,\n close: closeParentDropDown,\n isOpen: isParentDropDownOpen,\n } = useDropdown();\n const isInsideDropdown = dropdownTriggerer === 'SearchInput';\n\n const [isSearchFocused, setIsSearchFocused] = useState(false);\n\n React.useEffect(() => {\n setShouldShowClearButton(Boolean(defaultValue ?? value));\n }, [defaultValue, value]);\n\n useEffect(() => {\n if (isParentDropDownOpen && isTrailingDropDownOpen) {\n setIsTrailingDropDownOpen(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [closeParentDropDown, isParentDropDownOpen]);\n\n useEffect(() => {\n if (isTrailingDropDownOpen && isParentDropDownOpen) {\n closeParentDropDown();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [setIsTrailingDropDownOpen, isTrailingDropDownOpen]);\n\n const trailingDropdown =\n trailing && getComponentId(trailing as React.ReactElement) === 'Dropdown' ? trailing : null;\n\n const renderTrailingDropDown = (): React.ReactElement | null => {\n if (!trailingDropdown) {\n return null;\n }\n return React.cloneElement(trailingDropdown as React.ReactElement, {\n selectionType: 'single',\n isOpen: isTrailingDropDownOpen,\n height: '100%',\n onOpenChange: (isOpen: boolean) => {\n setIsTrailingDropDownOpen(isOpen);\n },\n children: React.Children.map(\n (trailingDropdown as React.ReactElement).props.children,\n (child) => {\n if (child.type === InputDropdownButton) {\n return React.cloneElement(child, {\n _isInsideSearchInput: true,\n size,\n });\n }\n if (child.type === DropdownOverlay) {\n return React.cloneElement(child, {\n referenceRef: triggererWrapperRef,\n _isNestedDropdown: true,\n defaultPlacement: 'bottom-end',\n });\n }\n return child;\n },\n ),\n });\n };\n\n const renderClearButton = (): React.ReactElement => {\n return (\n <IconButton\n size=\"medium\"\n icon={CloseIcon}\n onClick={() => {\n if (isEmpty(value) && textInputRef.current) {\n // when the input field is uncontrolled take the ref and clear the input and then call the onClearButtonClick function\n if (isReactNative(textInputRef.current)) {\n textInputRef.current.clear();\n textInputRef.current.focus();\n } else if (textInputRef.current instanceof HTMLInputElement) {\n textInputRef.current.value = '';\n textInputRef.current.focus();\n }\n }\n\n // if the input field is controlled just call the click handler and the value change shall be left upto the consumer\n onClearButtonClick?.();\n textInputRef?.current?.focus();\n setShouldShowClearButton(false);\n }}\n isDisabled={isDisabled}\n accessibilityLabel=\"Clear Input Content\"\n />\n );\n };\n\n const renderInteractionElement = (): ReactNode => {\n if (isLoading) {\n return <Spinner accessibilityLabel=\"Loading Content\" color=\"primary\" />;\n }\n\n if (shouldShowClearButton && trailingDropdown) {\n return (\n <BaseBox display=\"flex\" gap=\"spacing.3\">\n {renderClearButton()} <Divider orientation=\"vertical\" />\n </BaseBox>\n );\n }\n if (shouldShowClearButton) {\n return renderClearButton();\n }\n\n return null;\n };\n\n const searchContent = (\n <BaseBox position=\"relative\">\n <BaseInput\n id=\"searchinput\"\n componentName={MetaConstants.SearchInput}\n ref={mergedRef}\n isDropdownTrigger={true}\n setInputWrapperRef={\n isInsideDropdown || isTrailingDropDownOpen\n ? (wrapperNode) => {\n triggererWrapperRef.current = wrapperNode;\n }\n : undefined\n }\n label={label as string}\n accessibilityLabel={accessibilityLabel}\n hideLabelText={!Boolean(label)}\n labelPosition={labelPosition}\n labelSuffix={labelSuffix}\n labelTrailing={labelTrailing}\n placeholder={placeholder}\n defaultValue={defaultValue}\n value={value}\n name={name}\n onKeyDown={isInsideDropdown ? onTriggerKeydown : undefined}\n onChange={({ name, value }) => {\n if (value?.length) {\n // show the clear button when the user starts typing in\n setShouldShowClearButton(true);\n }\n\n if (shouldShowClearButton && !value?.length) {\n // hide the clear button when the input field is empty\n setShouldShowClearButton(false);\n }\n\n onChange?.({ name, value });\n }}\n onClick={(e) => {\n if (isDisabled) return;\n if (isInsideDropdown) {\n onTriggerClick();\n }\n onClick?.(e);\n }}\n onFocus={(e) => {\n setIsSearchFocused(true);\n onFocus?.(e);\n }}\n onBlur={(e) => {\n setIsSearchFocused(false);\n onBlur?.(e);\n }}\n onSubmit={onSubmit}\n isDisabled={isDisabled}\n leadingIcon={showSearchIcon ? SearchIcon : undefined}\n trailingInteractionElement={renderInteractionElement()}\n trailingDropDown={renderTrailingDropDown()}\n helpText={helpText}\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={autoFocus}\n testID={testID}\n {...getKeyboardAndAutocompleteProps({\n type: 'search',\n autoCapitalize,\n })}\n size={size}\n {...rest}\n />\n </BaseBox>\n );\n\n return (\n <TopNavOverlayThemeOverride shouldOverrideTheme={isSearchFocused}>\n {searchContent}\n </TopNavOverlayThemeOverride>\n );\n};\n\nconst SearchInput = assignWithoutSideEffects(React.forwardRef(_SearchInput), {\n displayName: 'SearchInput',\n componentId: dropdownComponentIds.triggers.SearchInput,\n});\n\nexport type { SearchInputProps };\nexport { SearchInput };\n"],"names":["isReactNative","_textInputRef","getPlatformType","_SearchInput","_ref","ref","label","accessibilityLabel","_ref$labelPosition","labelPosition","placeholder","defaultValue","name","value","onChange","onClick","onFocus","onBlur","onSubmit","isDisabled","labelSuffix","labelTrailing","helpText","onClearButtonClick","isLoading","autoCapitalize","autoFocus","testID","_ref$size","size","_ref$showSearchIcon","showSearchIcon","trailing","rest","_objectWithoutProperties","_excluded","textInputRef","React","useRef","mergedRef","useMergeRefs","_useState","useState","_useState2","_slicedToArray","shouldShowClearButton","setShouldShowClearButton","_useState3","_useState4","isTrailingDropDownOpen","setIsTrailingDropDownOpen","_useDropdown","useDropdown","triggererWrapperRef","onTriggerKeydown","onTriggerClick","dropdownTriggerer","closeParentDropDown","close","isParentDropDownOpen","isOpen","isInsideDropdown","_useState5","_useState6","isSearchFocused","setIsSearchFocused","useEffect","Boolean","trailingDropdown","getComponentId","renderTrailingDropDown","cloneElement","selectionType","height","onOpenChange","children","Children","map","props","child","type","InputDropdownButton","_isInsideSearchInput","DropdownOverlay","referenceRef","_isNestedDropdown","defaultPlacement","renderClearButton","_jsx","IconButton","icon","CloseIcon","_textInputRef$current","isEmpty","current","clear","focus","HTMLInputElement","renderInteractionElement","Spinner","color","_jsxs","BaseBox","display","gap","Divider","orientation","searchContent","position","BaseInput","_objectSpread","id","componentName","MetaConstants","SearchInput","isDropdownTrigger","setInputWrapperRef","wrapperNode","undefined","hideLabelText","onKeyDown","_ref2","length","e","leadingIcon","SearchIcon","trailingInteractionElement","trailingDropDown","getKeyboardAndAutocompleteProps","TopNavOverlayThemeOverride","shouldOverrideTheme","assignWithoutSideEffects","forwardRef","displayName","componentId","dropdownComponentIds","triggers"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwGA;AACA;AACA,IAAMA,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,aAAmB,EAA4C;AACpF,EAAA,OAAOC,eAAe,EAAE,KAAK,cAAc,CAAA;AAC7C,CAAC,CAAA;AAED,IAAMC,YAA+E,GAAG,SAAlFA,YAA+EA,CAAAC,IAAA,EA4BnFC,GAAG,EACc;AAAA,EAAA,IA3BfC,KAAK,GAAAF,IAAA,CAALE,KAAK;IACLC,kBAAkB,GAAAH,IAAA,CAAlBG,kBAAkB;IAAAC,kBAAA,GAAAJ,IAAA,CAClBK,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,kBAAA;IACrBE,WAAW,GAAAN,IAAA,CAAXM,WAAW;IACXC,YAAY,GAAAP,IAAA,CAAZO,YAAY;IACZC,IAAI,GAAAR,IAAA,CAAJQ,IAAI;IACJC,KAAK,GAAAT,IAAA,CAALS,KAAK;IACLC,SAAQ,GAAAV,IAAA,CAARU,QAAQ;IACRC,QAAO,GAAAX,IAAA,CAAPW,OAAO;IACPC,QAAO,GAAAZ,IAAA,CAAPY,OAAO;IACPC,OAAM,GAAAb,IAAA,CAANa,MAAM;IACNC,QAAQ,GAAAd,IAAA,CAARc,QAAQ;IACRC,UAAU,GAAAf,IAAA,CAAVe,UAAU;IACVC,WAAW,GAAAhB,IAAA,CAAXgB,WAAW;IACXC,aAAa,GAAAjB,IAAA,CAAbiB,aAAa;IACbC,QAAQ,GAAAlB,IAAA,CAARkB,QAAQ;IACRC,kBAAkB,GAAAnB,IAAA,CAAlBmB,kBAAkB;IAClBC,SAAS,GAAApB,IAAA,CAAToB,SAAS;IACTC,cAAc,GAAArB,IAAA,CAAdqB,cAAc;IACdC,SAAS,GAAAtB,IAAA,CAATsB,SAAS;IACTC,MAAM,GAAAvB,IAAA,CAANuB,MAAM;IAAAC,SAAA,GAAAxB,IAAA,CACNyB,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,SAAA;IAAAE,mBAAA,GAAA1B,IAAA,CACf2B,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,mBAAA;IACrBE,QAAQ,GAAA5B,IAAA,CAAR4B,QAAQ;AACLC,IAAAA,IAAI,GAAAC,wBAAA,CAAA9B,IAAA,EAAA+B,SAAA,CAAA,CAAA;AAIT,EAAA,IAAMC,YAAY,GAAGC,cAAK,CAACC,MAAM,CAA2B,IAAI,CAAC,CAAA;AACjE,EAAA,IAAMC,SAAS,GAAGC,YAAY,CAACnC,GAAG,EAAE+B,YAAY,CAAC,CAAA;AACjD,EAAA,IAAAK,SAAA,GAA0DC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAlEI,IAAAA,qBAAqB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,wBAAwB,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AACtD,EAAA,IAAAI,UAAA,GAA4DL,QAAQ,CAAC,KAAK,CAAC;IAAAM,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAApEE,IAAAA,sBAAsB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,yBAAyB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AACxD,EAAA,IAAAG,YAAA,GAOIC,WAAW,EAAE;IANfC,mBAAmB,GAAAF,YAAA,CAAnBE,mBAAmB;IACnBC,gBAAgB,GAAAH,YAAA,CAAhBG,gBAAgB;IAChBC,cAAc,GAAAJ,YAAA,CAAdI,cAAc;IACdC,iBAAiB,GAAAL,YAAA,CAAjBK,iBAAiB;IACVC,mBAAmB,GAAAN,YAAA,CAA1BO,KAAK;IACGC,oBAAoB,GAAAR,YAAA,CAA5BS,MAAM,CAAA;AAER,EAAA,IAAMC,gBAAgB,GAAGL,iBAAiB,KAAK,aAAa,CAAA;AAE5D,EAAA,IAAAM,UAAA,GAA8CpB,QAAQ,CAAC,KAAK,CAAC;IAAAqB,UAAA,GAAAnB,cAAA,CAAAkB,UAAA,EAAA,CAAA,CAAA;AAAtDE,IAAAA,eAAe,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,kBAAkB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;EAE1C1B,cAAK,CAAC6B,SAAS,CAAC,YAAM;IACpBpB,wBAAwB,CAACqB,OAAO,CAACxD,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,KAAA,CAAA,GAAZA,YAAY,GAAIE,KAAK,CAAC,CAAC,CAAA;AAC1D,GAAC,EAAE,CAACF,YAAY,EAAEE,KAAK,CAAC,CAAC,CAAA;AAEzBqD,EAAAA,SAAS,CAAC,YAAM;IACd,IAAIP,oBAAoB,IAAIV,sBAAsB,EAAE;MAClDC,yBAAyB,CAAC,KAAK,CAAC,CAAA;AAClC,KAAA;AACA;AACF,GAAC,EAAE,CAACO,mBAAmB,EAAEE,oBAAoB,CAAC,CAAC,CAAA;AAE/CO,EAAAA,SAAS,CAAC,YAAM;IACd,IAAIjB,sBAAsB,IAAIU,oBAAoB,EAAE;AAClDF,MAAAA,mBAAmB,EAAE,CAAA;AACvB,KAAA;AACA;AACF,GAAC,EAAE,CAACP,yBAAyB,EAAED,sBAAsB,CAAC,CAAC,CAAA;AAEvD,EAAA,IAAMmB,gBAAgB,GACpBpC,QAAQ,IAAIqC,cAAc,CAACrC,QAA8B,CAAC,KAAK,UAAU,GAAGA,QAAQ,GAAG,IAAI,CAAA;AAE7F,EAAA,IAAMsC,sBAAsB,GAAG,SAAzBA,sBAAsBA,GAAoC;IAC9D,IAAI,CAACF,gBAAgB,EAAE;AACrB,MAAA,OAAO,IAAI,CAAA;AACb,KAAA;AACA,IAAA,oBAAO/B,cAAK,CAACkC,YAAY,CAACH,gBAAgB,EAAwB;AAChEI,MAAAA,aAAa,EAAE,QAAQ;AACvBZ,MAAAA,MAAM,EAAEX,sBAAsB;AAC9BwB,MAAAA,MAAM,EAAE,MAAM;AACdC,MAAAA,YAAY,EAAE,SAAdA,YAAYA,CAAGd,MAAe,EAAK;QACjCV,yBAAyB,CAACU,MAAM,CAAC,CAAA;OAClC;AACDe,MAAAA,QAAQ,EAAEtC,cAAK,CAACuC,QAAQ,CAACC,GAAG,CACzBT,gBAAgB,CAAwBU,KAAK,CAACH,QAAQ,EACvD,UAACI,KAAK,EAAK;AACT,QAAA,IAAIA,KAAK,CAACC,IAAI,KAAKC,mBAAmB,EAAE;AACtC,UAAA,oBAAO5C,cAAK,CAACkC,YAAY,CAACQ,KAAK,EAAE;AAC/BG,YAAAA,oBAAoB,EAAE,IAAI;AAC1BrD,YAAAA,IAAI,EAAJA,IAAAA;AACF,WAAC,CAAC,CAAA;AACJ,SAAA;AACA,QAAA,IAAIkD,KAAK,CAACC,IAAI,KAAKG,eAAe,EAAE;AAClC,UAAA,oBAAO9C,cAAK,CAACkC,YAAY,CAACQ,KAAK,EAAE;AAC/BK,YAAAA,YAAY,EAAE/B,mBAAmB;AACjCgC,YAAAA,iBAAiB,EAAE,IAAI;AACvBC,YAAAA,gBAAgB,EAAE,YAAA;AACpB,WAAC,CAAC,CAAA;AACJ,SAAA;AACA,QAAA,OAAOP,KAAK,CAAA;OAEhB,CAAA;AACF,KAAC,CAAC,CAAA;GACH,CAAA;AAED,EAAA,IAAMQ,iBAAiB,GAAG,SAApBA,iBAAiBA,GAA6B;IAClD,oBACEC,GAAA,CAACC,UAAU,EAAA;AACT5D,MAAAA,IAAI,EAAC,QAAQ;AACb6D,MAAAA,IAAI,EAAEC,SAAU;AAChB5E,MAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AAAA,QAAA,IAAA6E,qBAAA,CAAA;QACb,IAAIC,OAAO,CAAChF,KAAK,CAAC,IAAIuB,YAAY,CAAC0D,OAAO,EAAE;AAC1C;AACA,UAAA,IAAI9F,aAAa,CAACoC,YAAY,CAAC0D,OAAO,CAAC,EAAE;AACvC1D,YAAAA,YAAY,CAAC0D,OAAO,CAACC,KAAK,EAAE,CAAA;AAC5B3D,YAAAA,YAAY,CAAC0D,OAAO,CAACE,KAAK,EAAE,CAAA;AAC9B,WAAC,MAAM,IAAI5D,YAAY,CAAC0D,OAAO,YAAYG,gBAAgB,EAAE;AAC3D7D,YAAAA,YAAY,CAAC0D,OAAO,CAACjF,KAAK,GAAG,EAAE,CAAA;AAC/BuB,YAAAA,YAAY,CAAC0D,OAAO,CAACE,KAAK,EAAE,CAAA;AAC9B,WAAA;AACF,SAAA;;AAEA;AACAzE,QAAAA,kBAAkB,KAAlBA,IAAAA,IAAAA,kBAAkB,KAAlBA,KAAAA,CAAAA,IAAAA,kBAAkB,EAAI,CAAA;AACtBa,QAAAA,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAAwD,KAAAA,CAAAA,IAAAA,CAAAA,qBAAA,GAAZxD,YAAY,CAAE0D,OAAO,MAAA,IAAA,IAAAF,qBAAA,KAArBA,KAAAA,CAAAA,IAAAA,qBAAA,CAAuBI,KAAK,EAAE,CAAA;QAC9BlD,wBAAwB,CAAC,KAAK,CAAC,CAAA;OAC/B;AACF3B,MAAAA,UAAU,EAAEA,UAAW;AACvBZ,MAAAA,kBAAkB,EAAC,qBAAA;AAAqB,KACzC,CAAC,CAAA;GAEL,CAAA;AAED,EAAA,IAAM2F,wBAAwB,GAAG,SAA3BA,wBAAwBA,GAAoB;AAChD,IAAA,IAAI1E,SAAS,EAAE;MACb,oBAAOgE,GAAA,CAACW,OAAO,EAAA;AAAC5F,QAAAA,kBAAkB,EAAC,iBAAiB;AAAC6F,QAAAA,KAAK,EAAC,SAAA;AAAS,OAAE,CAAC,CAAA;AACzE,KAAA;IAEA,IAAIvD,qBAAqB,IAAIuB,gBAAgB,EAAE;MAC7C,oBACEiC,IAAA,CAACC,OAAO,EAAA;AAACC,QAAAA,OAAO,EAAC,MAAM;AAACC,QAAAA,GAAG,EAAC,WAAW;QAAA7B,QAAA,EAAA,CACpCY,iBAAiB,EAAE,EAAC,GAAC,eAAAC,GAAA,CAACiB,OAAO,EAAA;AAACC,UAAAA,WAAW,EAAC,UAAA;AAAU,SAAE,CAAC,CAAA;AAAA,OACjD,CAAC,CAAA;AAEd,KAAA;AACA,IAAA,IAAI7D,qBAAqB,EAAE;MACzB,OAAO0C,iBAAiB,EAAE,CAAA;AAC5B,KAAA;AAEA,IAAA,OAAO,IAAI,CAAA;GACZ,CAAA;AAED,EAAA,IAAMoB,aAAa,gBACjBnB,GAAA,CAACc,OAAO,EAAA;AAACM,IAAAA,QAAQ,EAAC,UAAU;AAAAjC,IAAAA,QAAA,eAC1Ba,GAAA,CAACqB,SAAS,EAAAC,aAAA,CAAAA,aAAA,CAAA;AACRC,MAAAA,EAAE,EAAC,aAAa;MAChBC,aAAa,EAAEC,aAAa,CAACC,WAAY;AACzC7G,MAAAA,GAAG,EAAEkC,SAAU;AACf4E,MAAAA,iBAAiB,EAAE,IAAK;AACxBC,MAAAA,kBAAkB,EAChBvD,gBAAgB,IAAIZ,sBAAsB,GACtC,UAACoE,WAAW,EAAK;QACfhE,mBAAmB,CAACyC,OAAO,GAAGuB,WAAW,CAAA;AAC3C,OAAC,GACDC,SACL;AACDhH,MAAAA,KAAK,EAAEA,KAAgB;AACvBC,MAAAA,kBAAkB,EAAEA,kBAAmB;AACvCgH,MAAAA,aAAa,EAAE,CAACpD,OAAO,CAAC7D,KAAK,CAAE;AAC/BG,MAAAA,aAAa,EAAEA,aAAc;AAC7BW,MAAAA,WAAW,EAAEA,WAAY;AACzBC,MAAAA,aAAa,EAAEA,aAAc;AAC7BX,MAAAA,WAAW,EAAEA,WAAY;AACzBC,MAAAA,YAAY,EAAEA,YAAa;AAC3BE,MAAAA,KAAK,EAAEA,KAAM;AACbD,MAAAA,IAAI,EAAEA,IAAK;AACX4G,MAAAA,SAAS,EAAE3D,gBAAgB,GAAGP,gBAAgB,GAAGgE,SAAU;AAC3DxG,MAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAA2G,KAAA,EAAuB;AAAA,QAAA,IAAlB7G,IAAI,GAAA6G,KAAA,CAAJ7G,IAAI;UAAEC,KAAK,GAAA4G,KAAA,CAAL5G,KAAK,CAAA;AACtB,QAAA,IAAIA,KAAK,KAALA,IAAAA,IAAAA,KAAK,eAALA,KAAK,CAAE6G,MAAM,EAAE;AACjB;UACA5E,wBAAwB,CAAC,IAAI,CAAC,CAAA;AAChC,SAAA;QAEA,IAAID,qBAAqB,IAAI,EAAChC,KAAK,KAAA,IAAA,IAALA,KAAK,KAALA,KAAAA,CAAAA,IAAAA,KAAK,CAAE6G,MAAM,CAAE,EAAA;AAC3C;UACA5E,wBAAwB,CAAC,KAAK,CAAC,CAAA;AACjC,SAAA;AAEAhC,QAAAA,SAAQ,KAARA,IAAAA,IAAAA,SAAQ,KAARA,KAAAA,CAAAA,IAAAA,SAAQ,CAAG;AAAEF,UAAAA,IAAI,EAAJA,IAAI;AAAEC,UAAAA,KAAK,EAALA,KAAAA;AAAM,SAAC,CAAC,CAAA;OAC3B;AACFE,MAAAA,OAAO,EAAE,SAATA,OAAOA,CAAG4G,CAAC,EAAK;AACd,QAAA,IAAIxG,UAAU,EAAE,OAAA;AAChB,QAAA,IAAI0C,gBAAgB,EAAE;AACpBN,UAAAA,cAAc,EAAE,CAAA;AAClB,SAAA;AACAxC,QAAAA,QAAO,aAAPA,QAAO,KAAA,KAAA,CAAA,IAAPA,QAAO,CAAG4G,CAAC,CAAC,CAAA;OACZ;AACF3G,MAAAA,OAAO,EAAE,SAATA,OAAOA,CAAG2G,CAAC,EAAK;QACd1D,kBAAkB,CAAC,IAAI,CAAC,CAAA;AACxBjD,QAAAA,QAAO,aAAPA,QAAO,KAAA,KAAA,CAAA,IAAPA,QAAO,CAAG2G,CAAC,CAAC,CAAA;OACZ;AACF1G,MAAAA,MAAM,EAAE,SAARA,MAAMA,CAAG0G,CAAC,EAAK;QACb1D,kBAAkB,CAAC,KAAK,CAAC,CAAA;AACzBhD,QAAAA,OAAM,aAANA,OAAM,KAAA,KAAA,CAAA,IAANA,OAAM,CAAG0G,CAAC,CAAC,CAAA;OACX;AACFzG,MAAAA,QAAQ,EAAEA,QAAS;AACnBC,MAAAA,UAAU,EAAEA,UAAW;AACvByG,MAAAA,WAAW,EAAE7F,cAAc,GAAG8F,UAAU,GAAGP,SAAU;MACrDQ,0BAA0B,EAAE5B,wBAAwB,EAAG;MACvD6B,gBAAgB,EAAEzD,sBAAsB,EAAG;AAC3ChD,MAAAA,QAAQ,EAAEA,QAAAA;AACV;AAAA;AACAI,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,MAAM,EAAEA,MAAAA;AAAO,KAAA,EACXqG,+BAA+B,CAAC;AAClChD,MAAAA,IAAI,EAAE,QAAQ;AACdvD,MAAAA,cAAc,EAAdA,cAAAA;AACF,KAAC,CAAC,CAAA,EAAA,EAAA,EAAA;AACFI,MAAAA,IAAI,EAAEA,IAAAA;AAAK,KAAA,EACPI,IAAI,CACT,CAAA;AAAC,GACK,CACV,CAAA;EAED,oBACEuD,GAAA,CAACyC,0BAA0B,EAAA;AAACC,IAAAA,mBAAmB,EAAElE,eAAgB;AAAAW,IAAAA,QAAA,EAC9DgC,aAAAA;AAAa,GACY,CAAC,CAAA;AAEjC,CAAC,CAAA;AAEKO,IAAAA,WAAW,gBAAGiB,wBAAwB,cAAC9F,cAAK,CAAC+F,UAAU,CAACjI,YAAY,CAAC,EAAE;AAC3EkI,EAAAA,WAAW,EAAE,aAAa;AAC1BC,EAAAA,WAAW,EAAEC,oBAAoB,CAACC,QAAQ,CAACtB,WAAAA;AAC7C,CAAC;;;;"}
1
+ {"version":3,"file":"SearchInput.js","sources":["../../../../../../../src/components/Input/SearchInput/SearchInput.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { TextInput as TextInputReactNative } from 'react-native';\nimport type { BaseInputProps } from '../BaseInput';\nimport { BaseInput } from '../BaseInput';\nimport { getKeyboardAndAutocompleteProps } from '../BaseInput/utils';\nimport isEmpty from '~utils/lodashButBetter/isEmpty';\nimport { CloseIcon, SearchIcon } from '~components/Icons';\nimport { IconButton } from '~components/Button/IconButton';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { MetaConstants } from '~utils/metaAttribute';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Spinner } from '~components/Spinner';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getPlatformType } from '~utils';\nimport { useMergeRefs } from '~utils/useMergeRefs';\nimport type {\n BladeElementRef,\n BladeElementRefWithValue,\n DataAnalyticsAttribute,\n} from '~utils/types';\nimport { dropdownComponentIds } from '~components/Dropdown/dropdownComponentIds';\nimport { useDropdown } from '~components/Dropdown/useDropdown';\nimport { DropdownOverlay, InputDropdownButton } from '~components/Dropdown';\nimport { Divider } from '~components/Divider';\nimport { getComponentId } from '~utils/isValidAllowedChildren';\nimport { TopNavOverlayThemeOverride } from '~components/TopNav/TopNavOverlayThemeOverride';\nimport { useModalContext } from '~components/Modal/ModalContext';\n\ntype SearchInputCommonProps = Pick<\n BaseInputProps,\n | 'label'\n | 'accessibilityLabel'\n | 'labelPosition'\n | 'labelSuffix'\n | 'labelTrailing'\n | 'helpText'\n | 'placeholder'\n | 'defaultValue'\n | 'name'\n | 'onChange'\n | 'onFocus'\n | 'onBlur'\n | 'value'\n | 'isDisabled'\n | 'autoFocus'\n | 'onSubmit'\n | 'autoCapitalize'\n | 'testID'\n | 'onClick'\n | 'size'\n | keyof DataAnalyticsAttribute\n> & {\n /**\n * Event handler to handle the onClick event for clear button.\n */\n onClearButtonClick?: () => void;\n\n /**\n * Decides whether to show a loading spinner for the input field.\n */\n isLoading?: boolean;\n /**\n * Toggle the visibility of the search icon.\n *\n * @default true\n */\n showSearchIcon?: boolean;\n /**\n * Optional trailing to be shown at the end of the input.\n */\n trailing?: React.ReactNode;\n} & StyledPropsBlade;\n\n/*\n Mandatory accessibilityLabel prop when label is not provided\n*/\ntype SearchInputPropsWithA11yLabel = {\n /**\n * Label to be shown for the input field\n */\n label?: undefined;\n /**\n * Accessibility label for the input\n */\n accessibilityLabel: string;\n};\n\n/*\n Optional accessibilityLabel prop when label is provided\n*/\ntype SearchInputPropsWithLabel = {\n /**\n * Label to be shown for the input field\n */\n label: string;\n /**\n * Accessibility label for the input\n */\n accessibilityLabel?: string;\n};\n\ntype SearchInputProps = (SearchInputPropsWithA11yLabel | SearchInputPropsWithLabel) &\n SearchInputCommonProps;\n\n// need to do this to tell TS to infer type as SearchInput of React Native and make it believe that `ref.current.clear()` exists\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isReactNative = (_textInputRef?: any): _textInputRef is TextInputReactNative => {\n return getPlatformType() === 'react-native';\n};\n\nconst _SearchInput: React.ForwardRefRenderFunction<BladeElementRef, SearchInputProps> = (\n {\n label,\n accessibilityLabel,\n labelPosition = 'top',\n placeholder,\n defaultValue,\n name,\n value,\n onChange,\n onClick,\n onFocus,\n onBlur,\n onSubmit,\n isDisabled,\n labelSuffix,\n labelTrailing,\n helpText,\n onClearButtonClick,\n isLoading,\n autoCapitalize,\n autoFocus,\n testID,\n size = 'medium',\n showSearchIcon = true,\n trailing,\n ...rest\n },\n ref,\n): ReactElement => {\n const textInputRef = React.useRef<BladeElementRefWithValue>(null);\n const mergedRef = useMergeRefs(ref, textInputRef);\n const [shouldShowClearButton, setShouldShowClearButton] = useState(false);\n const [isTrailingDropDownOpen, setIsTrailingDropDownOpen] = useState(false);\n const {\n triggererWrapperRef,\n onTriggerKeydown,\n onTriggerClick,\n dropdownTriggerer,\n close: closeParentDropDown,\n isOpen: isParentDropDownOpen,\n } = useDropdown();\n const isInsideDropdown = dropdownTriggerer === 'SearchInput';\n\n const [isSearchFocused, setIsSearchFocused] = useState(false);\n\n const modalContext = useModalContext();\n\n React.useEffect(() => {\n setShouldShowClearButton(Boolean(defaultValue ?? value));\n }, [defaultValue, value]);\n\n useEffect(() => {\n if (isParentDropDownOpen && isTrailingDropDownOpen) {\n setIsTrailingDropDownOpen(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [closeParentDropDown, isParentDropDownOpen]);\n\n useEffect(() => {\n if (isTrailingDropDownOpen && isParentDropDownOpen) {\n closeParentDropDown();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [setIsTrailingDropDownOpen, isTrailingDropDownOpen]);\n\n const trailingDropdown =\n trailing && getComponentId(trailing as React.ReactElement) === 'Dropdown' ? trailing : null;\n\n const renderTrailingDropDown = (): React.ReactElement | null => {\n if (!trailingDropdown) {\n return null;\n }\n return React.cloneElement(trailingDropdown as React.ReactElement, {\n selectionType: 'single',\n isOpen: isTrailingDropDownOpen,\n height: '100%',\n onOpenChange: (isOpen: boolean) => {\n setIsTrailingDropDownOpen(isOpen);\n },\n children: React.Children.map(\n (trailingDropdown as React.ReactElement).props.children,\n (child) => {\n if (child.type === InputDropdownButton) {\n return React.cloneElement(child, {\n _isInsideSearchInput: true,\n size,\n });\n }\n if (child.type === DropdownOverlay) {\n return React.cloneElement(child, {\n referenceRef: triggererWrapperRef,\n _isNestedDropdown: true,\n defaultPlacement: 'bottom-end',\n });\n }\n return child;\n },\n ),\n });\n };\n\n const renderClearButton = (): React.ReactElement => {\n return (\n <IconButton\n size=\"medium\"\n icon={CloseIcon}\n onClick={() => {\n if (isEmpty(value) && textInputRef.current) {\n // when the input field is uncontrolled take the ref and clear the input and then call the onClearButtonClick function\n if (isReactNative(textInputRef.current)) {\n textInputRef.current.clear();\n textInputRef.current.focus();\n } else if (textInputRef.current instanceof HTMLInputElement) {\n textInputRef.current.value = '';\n textInputRef.current.focus();\n }\n }\n\n // if the input field is controlled just call the click handler and the value change shall be left upto the consumer\n onClearButtonClick?.();\n textInputRef?.current?.focus();\n setShouldShowClearButton(false);\n }}\n isDisabled={isDisabled}\n accessibilityLabel=\"Clear Input Content\"\n />\n );\n };\n\n const renderInteractionElement = (): ReactNode => {\n if (isLoading) {\n return <Spinner accessibilityLabel=\"Loading Content\" color=\"primary\" />;\n }\n\n if (shouldShowClearButton && trailingDropdown) {\n return (\n <BaseBox display=\"flex\" gap=\"spacing.3\">\n {renderClearButton()} <Divider orientation=\"vertical\" />\n </BaseBox>\n );\n }\n if (shouldShowClearButton) {\n return renderClearButton();\n }\n\n return null;\n };\n\n const searchContent = (\n <BaseBox position=\"relative\">\n <BaseInput\n id=\"searchinput\"\n componentName={MetaConstants.SearchInput}\n ref={mergedRef}\n isDropdownTrigger={true}\n setInputWrapperRef={\n isInsideDropdown || isTrailingDropDownOpen\n ? (wrapperNode) => {\n triggererWrapperRef.current = wrapperNode;\n }\n : undefined\n }\n label={label as string}\n accessibilityLabel={accessibilityLabel}\n hideLabelText={!Boolean(label)}\n labelPosition={labelPosition}\n labelSuffix={labelSuffix}\n labelTrailing={labelTrailing}\n placeholder={placeholder}\n defaultValue={defaultValue}\n value={value}\n name={name}\n onKeyDown={isInsideDropdown ? onTriggerKeydown : undefined}\n onChange={({ name, value }) => {\n if (value?.length) {\n // show the clear button when the user starts typing in\n setShouldShowClearButton(true);\n }\n\n if (shouldShowClearButton && !value?.length) {\n // hide the clear button when the input field is empty\n setShouldShowClearButton(false);\n }\n\n onChange?.({ name, value });\n }}\n onClick={(e) => {\n if (isDisabled) return;\n if (isInsideDropdown) {\n onTriggerClick();\n }\n onClick?.(e);\n }}\n onFocus={(e) => {\n setIsSearchFocused(true);\n onFocus?.(e);\n }}\n onBlur={(e) => {\n setIsSearchFocused(false);\n onBlur?.(e);\n }}\n onSubmit={onSubmit}\n isDisabled={isDisabled}\n leadingIcon={showSearchIcon ? SearchIcon : undefined}\n trailingInteractionElement={renderInteractionElement()}\n trailingDropDown={renderTrailingDropDown()}\n helpText={helpText}\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={autoFocus}\n testID={testID}\n {...getKeyboardAndAutocompleteProps({\n type: 'search',\n autoCapitalize,\n })}\n size={size}\n {...rest}\n />\n </BaseBox>\n );\n\n return (\n <TopNavOverlayThemeOverride\n shouldOverrideTheme={modalContext.isInsideModal ? true : isSearchFocused}\n >\n {searchContent}\n </TopNavOverlayThemeOverride>\n );\n};\n\nconst SearchInput = assignWithoutSideEffects(React.forwardRef(_SearchInput), {\n displayName: 'SearchInput',\n componentId: dropdownComponentIds.triggers.SearchInput,\n});\n\nexport type { SearchInputProps };\nexport { SearchInput };\n"],"names":["isReactNative","_textInputRef","getPlatformType","_SearchInput","_ref","ref","label","accessibilityLabel","_ref$labelPosition","labelPosition","placeholder","defaultValue","name","value","onChange","onClick","onFocus","onBlur","onSubmit","isDisabled","labelSuffix","labelTrailing","helpText","onClearButtonClick","isLoading","autoCapitalize","autoFocus","testID","_ref$size","size","_ref$showSearchIcon","showSearchIcon","trailing","rest","_objectWithoutProperties","_excluded","textInputRef","React","useRef","mergedRef","useMergeRefs","_useState","useState","_useState2","_slicedToArray","shouldShowClearButton","setShouldShowClearButton","_useState3","_useState4","isTrailingDropDownOpen","setIsTrailingDropDownOpen","_useDropdown","useDropdown","triggererWrapperRef","onTriggerKeydown","onTriggerClick","dropdownTriggerer","closeParentDropDown","close","isParentDropDownOpen","isOpen","isInsideDropdown","_useState5","_useState6","isSearchFocused","setIsSearchFocused","modalContext","useModalContext","useEffect","Boolean","trailingDropdown","getComponentId","renderTrailingDropDown","cloneElement","selectionType","height","onOpenChange","children","Children","map","props","child","type","InputDropdownButton","_isInsideSearchInput","DropdownOverlay","referenceRef","_isNestedDropdown","defaultPlacement","renderClearButton","_jsx","IconButton","icon","CloseIcon","_textInputRef$current","isEmpty","current","clear","focus","HTMLInputElement","renderInteractionElement","Spinner","color","_jsxs","BaseBox","display","gap","Divider","orientation","searchContent","position","BaseInput","_objectSpread","id","componentName","MetaConstants","SearchInput","isDropdownTrigger","setInputWrapperRef","wrapperNode","undefined","hideLabelText","onKeyDown","_ref2","length","e","leadingIcon","SearchIcon","trailingInteractionElement","trailingDropDown","getKeyboardAndAutocompleteProps","TopNavOverlayThemeOverride","shouldOverrideTheme","isInsideModal","assignWithoutSideEffects","forwardRef","displayName","componentId","dropdownComponentIds","triggers"],"mappings":"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"}
@@ -34,9 +34,7 @@ var ListViewSurface = /*#__PURE__*/styled(BaseBox).withConfig({
34
34
  position: 'relative',
35
35
  flexDirection: 'column',
36
36
  boxSizing: 'border-box'
37
- }, getSurfaceStyles(theme, colorScheme, {
38
- beforeGradientZIndex: 0
39
- })), {}, {
37
+ }, getSurfaceStyles(theme, colorScheme)), {}, {
40
38
  boxShadow: "".concat(elevation, ", ").concat(top),
41
39
  borderLeft: "1px solid ".concat(borderColor),
42
40
  borderRight: "1px solid ".concat(borderColor),
@@ -1 +1 @@
1
- {"version":3,"file":"ListView.web.js","sources":["../../../../../../src/components/ListView/ListView.web.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport type { ListViewProps } from './types';\nimport { ListViewProvider } from './ListViewContext';\nimport type { ColorSchemeNames } from '~tokens/theme';\nimport { getSurfaceBoxShadow, getSurfaceStyles } from '~utils/makeSurfaceStyles';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport BaseBox from '~components/Box/BaseBox';\nimport useTheme from '~components/BladeProvider/useTheme';\n\nconst ListViewSurface = styled(BaseBox)<{ colorScheme: ColorSchemeNames }>(\n ({ theme, colorScheme }) => {\n const isDarkMode = colorScheme === 'dark';\n const { elevation, top } = getSurfaceBoxShadow(theme, colorScheme);\n const borderColor = theme.colors.interactive.border.gray.disabled;\n\n return {\n width: '100%',\n display: 'flex',\n position: 'relative',\n flexDirection: 'column',\n boxSizing: 'border-box',\n ...getSurfaceStyles(theme, colorScheme, { beforeGradientZIndex: 0 }),\n boxShadow: `${elevation}, ${top}`,\n borderLeft: `1px solid ${borderColor}`,\n borderRight: `1px solid ${borderColor}`,\n borderBottom: `1px solid ${borderColor}`,\n ...(!isDarkMode && {\n borderTop: `1px solid ${borderColor}`,\n }),\n };\n },\n);\n\nconst ListView = ({ testID, children, ...rest }: ListViewProps): React.ReactElement => {\n const { colorScheme } = useTheme();\n return (\n <ListViewProvider value={{ isInsideListView: true }}>\n <ListViewSurface\n colorScheme={colorScheme}\n borderRadius=\"medium\"\n overflow=\"hidden\"\n backgroundColor=\"surface.background.gray.intense\"\n {...metaAttribute({ name: MetaConstants.ListView, testID })}\n {...makeAnalyticsAttribute(rest)}\n >\n {children}\n </ListViewSurface>\n </ListViewProvider>\n );\n};\n\nexport { ListView };\n"],"names":["ListViewSurface","styled","BaseBox","withConfig","displayName","componentId","_ref","theme","colorScheme","isDarkMode","_getSurfaceBoxShadow","getSurfaceBoxShadow","elevation","top","borderColor","colors","interactive","border","gray","disabled","_objectSpread","width","display","position","flexDirection","boxSizing","getSurfaceStyles","beforeGradientZIndex","boxShadow","concat","borderLeft","borderRight","borderBottom","borderTop","ListView","_ref2","testID","children","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","_jsx","ListViewProvider","value","isInsideListView","borderRadius","overflow","backgroundColor","metaAttribute","name","MetaConstants","makeAnalyticsAttribute"],"mappings":";;;;;;;;;;;;;;;;;;;AAUA,IAAMA,eAAe,gBAAGC,MAAM,CAACC,OAAO,CAAC,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,8BAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CACrC,CAAA,CAAA,UAAAC,IAAA,EAA4B;AAAA,EAAA,IAAzBC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,WAAW,GAAAF,IAAA,CAAXE,WAAW,CAAA;AACnB,EAAA,IAAMC,UAAU,GAAGD,WAAW,KAAK,MAAM,CAAA;AACzC,EAAA,IAAAE,oBAAA,GAA2BC,mBAAmB,CAACJ,KAAK,EAAEC,WAAW,CAAC;IAA1DI,SAAS,GAAAF,oBAAA,CAATE,SAAS;IAAEC,GAAG,GAAAH,oBAAA,CAAHG,GAAG,CAAA;AACtB,EAAA,IAAMC,WAAW,GAAGP,KAAK,CAACQ,MAAM,CAACC,WAAW,CAACC,MAAM,CAACC,IAAI,CAACC,QAAQ,CAAA;EAEjE,OAAAC,aAAA,CAAAA,aAAA,CAAA;AACEC,IAAAA,KAAK,EAAE,MAAM;AACbC,IAAAA,OAAO,EAAE,MAAM;AACfC,IAAAA,QAAQ,EAAE,UAAU;AACpBC,IAAAA,aAAa,EAAE,QAAQ;AACvBC,IAAAA,SAAS,EAAE,YAAA;AAAY,GAAA,EACpBC,gBAAgB,CAACnB,KAAK,EAAEC,WAAW,EAAE;AAAEmB,IAAAA,oBAAoB,EAAE,CAAA;AAAE,GAAC,CAAC,CAAA,EAAA,EAAA,EAAA;IACpEC,SAAS,EAAA,EAAA,CAAAC,MAAA,CAAKjB,SAAS,QAAAiB,MAAA,CAAKhB,GAAG,CAAE;AACjCiB,IAAAA,UAAU,EAAAD,YAAAA,CAAAA,MAAA,CAAef,WAAW,CAAE;AACtCiB,IAAAA,WAAW,EAAAF,YAAAA,CAAAA,MAAA,CAAef,WAAW,CAAE;IACvCkB,YAAY,EAAA,YAAA,CAAAH,MAAA,CAAef,WAAW,CAAA;GAClC,EAAA,CAACL,UAAU,IAAI;IACjBwB,SAAS,EAAA,YAAA,CAAAJ,MAAA,CAAef,WAAW,CAAA;GACpC,CAAA,CAAA;AAEL,CAAC,CACF,CAAA;AAED,IAAMoB,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,KAAA,EAAyE;AAAA,EAAA,IAAnEC,MAAM,GAAAD,KAAA,CAANC,MAAM;IAAEC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;AAAKC,IAAAA,IAAI,GAAAC,wBAAA,CAAAJ,KAAA,EAAAK,SAAA,CAAA,CAAA;AAC3C,EAAA,IAAAC,SAAA,GAAwBC,QAAQ,EAAE;IAA1BlC,WAAW,GAAAiC,SAAA,CAAXjC,WAAW,CAAA;EACnB,oBACEmC,GAAA,CAACC,gBAAgB,EAAA;AAACC,IAAAA,KAAK,EAAE;AAAEC,MAAAA,gBAAgB,EAAE,IAAA;KAAO;IAAAT,QAAA,eAClDM,GAAA,CAAC3C,eAAe,EAAAoB,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA;AACdZ,MAAAA,WAAW,EAAEA,WAAY;AACzBuC,MAAAA,YAAY,EAAC,QAAQ;AACrBC,MAAAA,QAAQ,EAAC,QAAQ;AACjBC,MAAAA,eAAe,EAAC,iCAAA;AAAiC,KAAA,EAC7CC,aAAa,CAAC;MAAEC,IAAI,EAAEC,aAAa,CAAClB,QAAQ;AAAEE,MAAAA,MAAM,EAANA,MAAAA;AAAO,KAAC,CAAC,CAAA,EACvDiB,sBAAsB,CAACf,IAAI,CAAC,CAAA,EAAA,EAAA,EAAA;AAAAD,MAAAA,QAAA,EAE/BA,QAAAA;KACc,CAAA,CAAA;AAAC,GACF,CAAC,CAAA;AAEvB;;;;"}
1
+ {"version":3,"file":"ListView.web.js","sources":["../../../../../../src/components/ListView/ListView.web.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport type { ListViewProps } from './types';\nimport { ListViewProvider } from './ListViewContext';\nimport type { ColorSchemeNames } from '~tokens/theme';\nimport { getSurfaceBoxShadow, getSurfaceStyles } from '~utils/makeSurfaceStyles';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport BaseBox from '~components/Box/BaseBox';\nimport useTheme from '~components/BladeProvider/useTheme';\n\nconst ListViewSurface = styled(BaseBox)<{ colorScheme: ColorSchemeNames }>(\n ({ theme, colorScheme }) => {\n const isDarkMode = colorScheme === 'dark';\n const { elevation, top } = getSurfaceBoxShadow(theme, colorScheme);\n const borderColor = theme.colors.interactive.border.gray.disabled;\n\n return {\n width: '100%',\n display: 'flex',\n position: 'relative',\n flexDirection: 'column',\n boxSizing: 'border-box',\n ...getSurfaceStyles(theme, colorScheme),\n boxShadow: `${elevation}, ${top}`,\n borderLeft: `1px solid ${borderColor}`,\n borderRight: `1px solid ${borderColor}`,\n borderBottom: `1px solid ${borderColor}`,\n ...(!isDarkMode && {\n borderTop: `1px solid ${borderColor}`,\n }),\n };\n },\n);\n\nconst ListView = ({ testID, children, ...rest }: ListViewProps): React.ReactElement => {\n const { colorScheme } = useTheme();\n return (\n <ListViewProvider value={{ isInsideListView: true }}>\n <ListViewSurface\n colorScheme={colorScheme}\n borderRadius=\"medium\"\n overflow=\"hidden\"\n backgroundColor=\"surface.background.gray.intense\"\n {...metaAttribute({ name: MetaConstants.ListView, testID })}\n {...makeAnalyticsAttribute(rest)}\n >\n {children}\n </ListViewSurface>\n </ListViewProvider>\n );\n};\n\nexport { ListView };\n"],"names":["ListViewSurface","styled","BaseBox","withConfig","displayName","componentId","_ref","theme","colorScheme","isDarkMode","_getSurfaceBoxShadow","getSurfaceBoxShadow","elevation","top","borderColor","colors","interactive","border","gray","disabled","_objectSpread","width","display","position","flexDirection","boxSizing","getSurfaceStyles","boxShadow","concat","borderLeft","borderRight","borderBottom","borderTop","ListView","_ref2","testID","children","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","_jsx","ListViewProvider","value","isInsideListView","borderRadius","overflow","backgroundColor","metaAttribute","name","MetaConstants","makeAnalyticsAttribute"],"mappings":";;;;;;;;;;;;;;;;;;;AAUA,IAAMA,eAAe,gBAAGC,MAAM,CAACC,OAAO,CAAC,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,8BAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CACrC,CAAA,CAAA,UAAAC,IAAA,EAA4B;AAAA,EAAA,IAAzBC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,WAAW,GAAAF,IAAA,CAAXE,WAAW,CAAA;AACnB,EAAA,IAAMC,UAAU,GAAGD,WAAW,KAAK,MAAM,CAAA;AACzC,EAAA,IAAAE,oBAAA,GAA2BC,mBAAmB,CAACJ,KAAK,EAAEC,WAAW,CAAC;IAA1DI,SAAS,GAAAF,oBAAA,CAATE,SAAS;IAAEC,GAAG,GAAAH,oBAAA,CAAHG,GAAG,CAAA;AACtB,EAAA,IAAMC,WAAW,GAAGP,KAAK,CAACQ,MAAM,CAACC,WAAW,CAACC,MAAM,CAACC,IAAI,CAACC,QAAQ,CAAA;EAEjE,OAAAC,aAAA,CAAAA,aAAA,CAAA;AACEC,IAAAA,KAAK,EAAE,MAAM;AACbC,IAAAA,OAAO,EAAE,MAAM;AACfC,IAAAA,QAAQ,EAAE,UAAU;AACpBC,IAAAA,aAAa,EAAE,QAAQ;AACvBC,IAAAA,SAAS,EAAE,YAAA;AAAY,GAAA,EACpBC,gBAAgB,CAACnB,KAAK,EAAEC,WAAW,CAAC,CAAA,EAAA,EAAA,EAAA;IACvCmB,SAAS,EAAA,EAAA,CAAAC,MAAA,CAAKhB,SAAS,QAAAgB,MAAA,CAAKf,GAAG,CAAE;AACjCgB,IAAAA,UAAU,EAAAD,YAAAA,CAAAA,MAAA,CAAed,WAAW,CAAE;AACtCgB,IAAAA,WAAW,EAAAF,YAAAA,CAAAA,MAAA,CAAed,WAAW,CAAE;IACvCiB,YAAY,EAAA,YAAA,CAAAH,MAAA,CAAed,WAAW,CAAA;GAClC,EAAA,CAACL,UAAU,IAAI;IACjBuB,SAAS,EAAA,YAAA,CAAAJ,MAAA,CAAed,WAAW,CAAA;GACpC,CAAA,CAAA;AAEL,CAAC,CACF,CAAA;AAED,IAAMmB,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,KAAA,EAAyE;AAAA,EAAA,IAAnEC,MAAM,GAAAD,KAAA,CAANC,MAAM;IAAEC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;AAAKC,IAAAA,IAAI,GAAAC,wBAAA,CAAAJ,KAAA,EAAAK,SAAA,CAAA,CAAA;AAC3C,EAAA,IAAAC,SAAA,GAAwBC,QAAQ,EAAE;IAA1BjC,WAAW,GAAAgC,SAAA,CAAXhC,WAAW,CAAA;EACnB,oBACEkC,GAAA,CAACC,gBAAgB,EAAA;AAACC,IAAAA,KAAK,EAAE;AAAEC,MAAAA,gBAAgB,EAAE,IAAA;KAAO;IAAAT,QAAA,eAClDM,GAAA,CAAC1C,eAAe,EAAAoB,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA;AACdZ,MAAAA,WAAW,EAAEA,WAAY;AACzBsC,MAAAA,YAAY,EAAC,QAAQ;AACrBC,MAAAA,QAAQ,EAAC,QAAQ;AACjBC,MAAAA,eAAe,EAAC,iCAAA;AAAiC,KAAA,EAC7CC,aAAa,CAAC;MAAEC,IAAI,EAAEC,aAAa,CAAClB,QAAQ;AAAEE,MAAAA,MAAM,EAANA,MAAAA;AAAO,KAAC,CAAC,CAAA,EACvDiB,sBAAsB,CAACf,IAAI,CAAC,CAAA,EAAA,EAAA,EAAA;AAAAD,MAAAA,QAAA,EAE/BA,QAAAA;KACc,CAAA,CAAA;AAAC,GACF,CAAC,CAAA;AAEvB;;;;"}
@@ -71,7 +71,6 @@ var ListViewFilters = function ListViewFilters(_ref) {
71
71
  selectedFiltersCount: selectedFiltersCount
72
72
  },
73
73
  children: /*#__PURE__*/jsxs(BaseBox, {
74
- backgroundColor: "surface.background.gray.intense",
75
74
  paddingX: "spacing.3",
76
75
  paddingTop: "spacing.3",
77
76
  paddingBottom: children ? 'spacing.0' : 'spacing.3',
@@ -1 +1 @@
1
- {"version":3,"file":"ListViewFilters.web.js","sources":["../../../../../../src/components/ListView/ListViewFilters.web.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport styled from 'styled-components';\nimport type { ListViewFilterProps, ListViewSelectedFiltersType } from './types';\nimport { ListViewFiltersProvider } from './ListViewFiltersContext.web';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport BaseBox from '~components/Box/BaseBox';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { Box } from '~components/Box';\nimport { SearchInput } from '~components/Input/SearchInput';\nimport { useId } from '~utils/useId';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport { getComponentId } from '~utils/isValidAllowedChildren';\n\nconst StyledQuickFilterContainer = styled(BaseBox)({\n /* For Webkit (Chrome, Safari) */\n '::-webkit-scrollbar': {\n display: 'none',\n },\n /* For Firefox */\n scrollbarWidth: 'none',\n /* For Edge */\n msOverflowStyle: 'none',\n});\n\nconst ListViewFilters = ({\n testID,\n children,\n quickFilters,\n onSearchChange,\n searchValue,\n searchValuePlaceholder,\n searchName,\n showQuickFilters,\n onShowQuickFiltersChange,\n showFilters: showFiltersProp,\n onShowFiltersChange,\n onSearchClear,\n selectedFiltersCount = 0,\n searchTrailing,\n actions,\n ...rest\n}: ListViewFilterProps): React.ReactElement => {\n const [\n listViewSelectedFilters,\n setListViewSelectedFilters,\n ] = useState<ListViewSelectedFiltersType>({});\n const searchId = useId('search-input');\n const searchNameValue = searchName || searchId;\n const isMobile = useIsMobile();\n const showSearchInput = onSearchChange || onSearchClear || searchValuePlaceholder || searchName;\n const isSearchTrailingDropDown =\n React.isValidElement(searchTrailing) && getComponentId(searchTrailing) === 'Dropdown';\n\n return (\n <ListViewFiltersProvider\n value={{\n listViewSelectedFilters,\n setListViewSelectedFilters,\n selectedFiltersCount,\n }}\n >\n <BaseBox\n backgroundColor=\"surface.background.gray.intense\"\n paddingX=\"spacing.3\"\n paddingTop=\"spacing.3\"\n paddingBottom={children ? 'spacing.0' : 'spacing.3'}\n borderBottomWidth=\"thin\"\n borderBottomColor=\"surface.border.gray.muted\"\n borderBottomStyle=\"solid\"\n >\n {isMobile && showSearchInput && (\n <SearchInput\n label=\"\"\n value={searchValue}\n placeholder={searchValuePlaceholder}\n name={searchNameValue || searchId}\n onChange={({ name, value }) => onSearchChange?.({ name, value })}\n onClearButtonClick={onSearchClear}\n trailing={searchTrailing}\n />\n )}\n <BaseBox>\n <BaseBox\n {...metaAttribute({ name: MetaConstants.ListViewFilter, testID })}\n {...makeAnalyticsAttribute(rest)}\n display=\"flex\"\n justifyContent=\"space-between\"\n >\n <Box\n position=\"relative\"\n display=\"flex\"\n flexDirection=\"column\"\n marginRight=\"spacing.3\"\n flex=\"1\"\n minWidth=\"0px\"\n >\n <StyledQuickFilterContainer\n overflow=\"scroll\"\n width=\"100%\"\n paddingTop={isMobile ? 'spacing.4' : 'spacing.1'}\n paddingBottom=\"spacing.1\"\n paddingLeft=\"spacing.1\"\n >\n {quickFilters}\n </StyledQuickFilterContainer>\n </Box>\n\n <BaseBox display=\"flex\" alignItems=\"center\" flexShrink=\"0\">\n {!isMobile && showSearchInput && (\n <Box width={isSearchTrailingDropDown ? '280px' : '208px'}>\n <SearchInput\n label=\"\"\n value={searchValue}\n placeholder={searchValuePlaceholder}\n name={searchNameValue || searchId}\n onChange={({ name, value }) => onSearchChange?.({ name, value })}\n onClearButtonClick={onSearchClear}\n size=\"medium\"\n trailing={searchTrailing}\n />\n </Box>\n )}\n {actions}\n </BaseBox>\n </BaseBox>\n <BaseBox display=\"flex\">{children}</BaseBox>\n </BaseBox>\n </BaseBox>\n </ListViewFiltersProvider>\n );\n};\n\nexport { ListViewFilters };\n"],"names":["StyledQuickFilterContainer","styled","BaseBox","withConfig","displayName","componentId","display","scrollbarWidth","msOverflowStyle","ListViewFilters","_ref","testID","children","quickFilters","onSearchChange","searchValue","searchValuePlaceholder","searchName","showQuickFilters","onShowQuickFiltersChange","showFiltersProp","showFilters","onShowFiltersChange","onSearchClear","_ref$selectedFiltersC","selectedFiltersCount","searchTrailing","actions","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","listViewSelectedFilters","setListViewSelectedFilters","searchId","useId","searchNameValue","isMobile","useIsMobile","showSearchInput","isSearchTrailingDropDown","React","isValidElement","getComponentId","_jsx","ListViewFiltersProvider","value","_jsxs","backgroundColor","paddingX","paddingTop","paddingBottom","borderBottomWidth","borderBottomColor","borderBottomStyle","SearchInput","label","placeholder","name","onChange","_ref2","onClearButtonClick","trailing","_objectSpread","metaAttribute","MetaConstants","ListViewFilter","makeAnalyticsAttribute","justifyContent","Box","position","flexDirection","marginRight","flex","minWidth","overflow","width","paddingLeft","alignItems","flexShrink","_ref3","size"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,IAAMA,0BAA0B,gBAAGC,MAAM,CAACC,OAAO,CAAC,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,gDAAA;EAAAC,WAAA,EAAA,UAAA;AAAA,CAAC,CAAA,CAAA;AACjD;AACA,EAAA,qBAAqB,EAAE;AACrBC,IAAAA,OAAO,EAAE,MAAA;GACV;AACD;AACAC,EAAAA,cAAc,EAAE,MAAM;AACtB;AACAC,EAAAA,eAAe,EAAE,MAAA;AACnB,CAAC,CAAC,CAAA;AAEF,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA,EAiB0B;AAAA,EAAA,IAhB7CC,MAAM,GAAAD,IAAA,CAANC,MAAM;IACNC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACRC,YAAY,GAAAH,IAAA,CAAZG,YAAY;IACZC,cAAc,GAAAJ,IAAA,CAAdI,cAAc;IACdC,WAAW,GAAAL,IAAA,CAAXK,WAAW;IACXC,sBAAsB,GAAAN,IAAA,CAAtBM,sBAAsB;IACtBC,UAAU,GAAAP,IAAA,CAAVO,UAAU;IACVC,gBAAgB,GAAAR,IAAA,CAAhBQ,gBAAgB;IAChBC,wBAAwB,GAAAT,IAAA,CAAxBS,wBAAwB;IACXC,eAAe,GAAAV,IAAA,CAA5BW,WAAW;IACXC,mBAAmB,GAAAZ,IAAA,CAAnBY,mBAAmB;IACnBC,aAAa,GAAAb,IAAA,CAAba,aAAa;IAAAC,qBAAA,GAAAd,IAAA,CACbe,oBAAoB;AAApBA,IAAAA,oBAAoB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,qBAAA;IACxBE,cAAc,GAAAhB,IAAA,CAAdgB,cAAc;IACdC,OAAO,GAAAjB,IAAA,CAAPiB,OAAO;AACJC,IAAAA,IAAI,GAAAC,wBAAA,CAAAnB,IAAA,EAAAoB,SAAA,CAAA,CAAA;AAEP,EAAA,IAAAC,SAAA,GAGIC,QAAQ,CAA8B,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAF3CI,IAAAA,uBAAuB,GAAAF,UAAA,CAAA,CAAA,CAAA;AACvBG,IAAAA,0BAA0B,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAE5B,EAAA,IAAMI,QAAQ,GAAGC,KAAK,CAAC,cAAc,CAAC,CAAA;AACtC,EAAA,IAAMC,eAAe,GAAGtB,UAAU,IAAIoB,QAAQ,CAAA;AAC9C,EAAA,IAAMG,QAAQ,GAAGC,WAAW,EAAE,CAAA;EAC9B,IAAMC,eAAe,GAAG5B,cAAc,IAAIS,aAAa,IAAIP,sBAAsB,IAAIC,UAAU,CAAA;AAC/F,EAAA,IAAM0B,wBAAwB,gBAC5BC,cAAK,CAACC,cAAc,CAACnB,cAAc,CAAC,IAAIoB,cAAc,CAACpB,cAAc,CAAC,KAAK,UAAU,CAAA;EAEvF,oBACEqB,GAAA,CAACC,uBAAuB,EAAA;AACtBC,IAAAA,KAAK,EAAE;AACLd,MAAAA,uBAAuB,EAAvBA,uBAAuB;AACvBC,MAAAA,0BAA0B,EAA1BA,0BAA0B;AAC1BX,MAAAA,oBAAoB,EAApBA,oBAAAA;KACA;IAAAb,QAAA,eAEFsC,IAAA,CAAChD,OAAO,EAAA;AACNiD,MAAAA,eAAe,EAAC,iCAAiC;AACjDC,MAAAA,QAAQ,EAAC,WAAW;AACpBC,MAAAA,UAAU,EAAC,WAAW;AACtBC,MAAAA,aAAa,EAAE1C,QAAQ,GAAG,WAAW,GAAG,WAAY;AACpD2C,MAAAA,iBAAiB,EAAC,MAAM;AACxBC,MAAAA,iBAAiB,EAAC,2BAA2B;AAC7CC,MAAAA,iBAAiB,EAAC,OAAO;AAAA7C,MAAAA,QAAA,GAExB4B,QAAQ,IAAIE,eAAe,iBAC1BK,GAAA,CAACW,WAAW,EAAA;AACVC,QAAAA,KAAK,EAAC,EAAE;AACRV,QAAAA,KAAK,EAAElC,WAAY;AACnB6C,QAAAA,WAAW,EAAE5C,sBAAuB;QACpC6C,IAAI,EAAEtB,eAAe,IAAIF,QAAS;AAClCyB,QAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAAC,KAAA,EAAA;AAAA,UAAA,IAAKF,IAAI,GAAAE,KAAA,CAAJF,IAAI;YAAEZ,KAAK,GAAAc,KAAA,CAALd,KAAK,CAAA;AAAA,UAAA,OAAOnC,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAdA,cAAc,CAAG;AAAE+C,YAAAA,IAAI,EAAJA,IAAI;AAAEZ,YAAAA,KAAK,EAALA,KAAAA;AAAM,WAAC,CAAC,CAAA;SAAC;AACjEe,QAAAA,kBAAkB,EAAEzC,aAAc;AAClC0C,QAAAA,QAAQ,EAAEvC,cAAAA;AAAe,OAC1B,CACF,eACDwB,IAAA,CAAChD,OAAO,EAAA;AAAAU,QAAAA,QAAA,EACNsC,cAAAA,IAAA,CAAChD,OAAO,EAAAgE,aAAA,CAAAA,aAAA,CAAAA,aAAA,CACFC,EAAAA,EAAAA,aAAa,CAAC;UAAEN,IAAI,EAAEO,aAAa,CAACC,cAAc;AAAE1D,UAAAA,MAAM,EAANA,MAAAA;AAAO,SAAC,CAAC,CAAA,EAC7D2D,sBAAsB,CAAC1C,IAAI,CAAC,CAAA,EAAA,EAAA,EAAA;AAChCtB,UAAAA,OAAO,EAAC,MAAM;AACdiE,UAAAA,cAAc,EAAC,eAAe;UAAA3D,QAAA,EAAA,cAE9BmC,GAAA,CAACyB,GAAG,EAAA;AACFC,YAAAA,QAAQ,EAAC,UAAU;AACnBnE,YAAAA,OAAO,EAAC,MAAM;AACdoE,YAAAA,aAAa,EAAC,QAAQ;AACtBC,YAAAA,WAAW,EAAC,WAAW;AACvBC,YAAAA,IAAI,EAAC,GAAG;AACRC,YAAAA,QAAQ,EAAC,KAAK;YAAAjE,QAAA,eAEdmC,GAAA,CAAC/C,0BAA0B,EAAA;AACzB8E,cAAAA,QAAQ,EAAC,QAAQ;AACjBC,cAAAA,KAAK,EAAC,MAAM;AACZ1B,cAAAA,UAAU,EAAEb,QAAQ,GAAG,WAAW,GAAG,WAAY;AACjDc,cAAAA,aAAa,EAAC,WAAW;AACzB0B,cAAAA,WAAW,EAAC,WAAW;AAAApE,cAAAA,QAAA,EAEtBC,YAAAA;aACyB,CAAA;AAAC,WAC1B,CAAC,eAENqC,IAAA,CAAChD,OAAO,EAAA;AAACI,YAAAA,OAAO,EAAC,MAAM;AAAC2E,YAAAA,UAAU,EAAC,QAAQ;AAACC,YAAAA,UAAU,EAAC,GAAG;YAAAtE,QAAA,EAAA,CACvD,CAAC4B,QAAQ,IAAIE,eAAe,iBAC3BK,GAAA,CAACyB,GAAG,EAAA;AAACO,cAAAA,KAAK,EAAEpC,wBAAwB,GAAG,OAAO,GAAG,OAAQ;cAAA/B,QAAA,eACvDmC,GAAA,CAACW,WAAW,EAAA;AACVC,gBAAAA,KAAK,EAAC,EAAE;AACRV,gBAAAA,KAAK,EAAElC,WAAY;AACnB6C,gBAAAA,WAAW,EAAE5C,sBAAuB;gBACpC6C,IAAI,EAAEtB,eAAe,IAAIF,QAAS;AAClCyB,gBAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAAqB,KAAA,EAAA;AAAA,kBAAA,IAAKtB,IAAI,GAAAsB,KAAA,CAAJtB,IAAI;oBAAEZ,KAAK,GAAAkC,KAAA,CAALlC,KAAK,CAAA;AAAA,kBAAA,OAAOnC,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAdA,cAAc,CAAG;AAAE+C,oBAAAA,IAAI,EAAJA,IAAI;AAAEZ,oBAAAA,KAAK,EAALA,KAAAA;AAAM,mBAAC,CAAC,CAAA;iBAAC;AACjEe,gBAAAA,kBAAkB,EAAEzC,aAAc;AAClC6D,gBAAAA,IAAI,EAAC,QAAQ;AACbnB,gBAAAA,QAAQ,EAAEvC,cAAAA;eACX,CAAA;aACE,CACN,EACAC,OAAO,CAAA;AAAA,WACD,CAAC,CAAA;AAAA,SAAA,CACH,CAAC,eACVoB,GAAA,CAAC7C,OAAO,EAAA;AAACI,UAAAA,OAAO,EAAC,MAAM;AAAAM,UAAAA,QAAA,EAAEA,QAAAA;AAAQ,SAAU,CAAC,CAAA;AAAA,OACrC,CAAC,CAAA;KACH,CAAA;AAAC,GACa,CAAC,CAAA;AAE9B;;;;"}
1
+ {"version":3,"file":"ListViewFilters.web.js","sources":["../../../../../../src/components/ListView/ListViewFilters.web.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport styled from 'styled-components';\nimport type { ListViewFilterProps, ListViewSelectedFiltersType } from './types';\nimport { ListViewFiltersProvider } from './ListViewFiltersContext.web';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport BaseBox from '~components/Box/BaseBox';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { Box } from '~components/Box';\nimport { SearchInput } from '~components/Input/SearchInput';\nimport { useId } from '~utils/useId';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport { getComponentId } from '~utils/isValidAllowedChildren';\n\nconst StyledQuickFilterContainer = styled(BaseBox)({\n /* For Webkit (Chrome, Safari) */\n '::-webkit-scrollbar': {\n display: 'none',\n },\n /* For Firefox */\n scrollbarWidth: 'none',\n /* For Edge */\n msOverflowStyle: 'none',\n});\n\nconst ListViewFilters = ({\n testID,\n children,\n quickFilters,\n onSearchChange,\n searchValue,\n searchValuePlaceholder,\n searchName,\n showQuickFilters,\n onShowQuickFiltersChange,\n showFilters: showFiltersProp,\n onShowFiltersChange,\n onSearchClear,\n selectedFiltersCount = 0,\n searchTrailing,\n actions,\n ...rest\n}: ListViewFilterProps): React.ReactElement => {\n const [\n listViewSelectedFilters,\n setListViewSelectedFilters,\n ] = useState<ListViewSelectedFiltersType>({});\n const searchId = useId('search-input');\n const searchNameValue = searchName || searchId;\n const isMobile = useIsMobile();\n const showSearchInput = onSearchChange || onSearchClear || searchValuePlaceholder || searchName;\n const isSearchTrailingDropDown =\n React.isValidElement(searchTrailing) && getComponentId(searchTrailing) === 'Dropdown';\n\n return (\n <ListViewFiltersProvider\n value={{\n listViewSelectedFilters,\n setListViewSelectedFilters,\n selectedFiltersCount,\n }}\n >\n <BaseBox\n paddingX=\"spacing.3\"\n paddingTop=\"spacing.3\"\n paddingBottom={children ? 'spacing.0' : 'spacing.3'}\n borderBottomWidth=\"thin\"\n borderBottomColor=\"surface.border.gray.muted\"\n borderBottomStyle=\"solid\"\n >\n {isMobile && showSearchInput && (\n <SearchInput\n label=\"\"\n value={searchValue}\n placeholder={searchValuePlaceholder}\n name={searchNameValue || searchId}\n onChange={({ name, value }) => onSearchChange?.({ name, value })}\n onClearButtonClick={onSearchClear}\n trailing={searchTrailing}\n />\n )}\n <BaseBox>\n <BaseBox\n {...metaAttribute({ name: MetaConstants.ListViewFilter, testID })}\n {...makeAnalyticsAttribute(rest)}\n display=\"flex\"\n justifyContent=\"space-between\"\n >\n <Box\n position=\"relative\"\n display=\"flex\"\n flexDirection=\"column\"\n marginRight=\"spacing.3\"\n flex=\"1\"\n minWidth=\"0px\"\n >\n <StyledQuickFilterContainer\n overflow=\"scroll\"\n width=\"100%\"\n paddingTop={isMobile ? 'spacing.4' : 'spacing.1'}\n paddingBottom=\"spacing.1\"\n paddingLeft=\"spacing.1\"\n >\n {quickFilters}\n </StyledQuickFilterContainer>\n </Box>\n\n <BaseBox display=\"flex\" alignItems=\"center\" flexShrink=\"0\">\n {!isMobile && showSearchInput && (\n <Box width={isSearchTrailingDropDown ? '280px' : '208px'}>\n <SearchInput\n label=\"\"\n value={searchValue}\n placeholder={searchValuePlaceholder}\n name={searchNameValue || searchId}\n onChange={({ name, value }) => onSearchChange?.({ name, value })}\n onClearButtonClick={onSearchClear}\n size=\"medium\"\n trailing={searchTrailing}\n />\n </Box>\n )}\n {actions}\n </BaseBox>\n </BaseBox>\n <BaseBox display=\"flex\">{children}</BaseBox>\n </BaseBox>\n </BaseBox>\n </ListViewFiltersProvider>\n );\n};\n\nexport { ListViewFilters };\n"],"names":["StyledQuickFilterContainer","styled","BaseBox","withConfig","displayName","componentId","display","scrollbarWidth","msOverflowStyle","ListViewFilters","_ref","testID","children","quickFilters","onSearchChange","searchValue","searchValuePlaceholder","searchName","showQuickFilters","onShowQuickFiltersChange","showFiltersProp","showFilters","onShowFiltersChange","onSearchClear","_ref$selectedFiltersC","selectedFiltersCount","searchTrailing","actions","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","listViewSelectedFilters","setListViewSelectedFilters","searchId","useId","searchNameValue","isMobile","useIsMobile","showSearchInput","isSearchTrailingDropDown","React","isValidElement","getComponentId","_jsx","ListViewFiltersProvider","value","_jsxs","paddingX","paddingTop","paddingBottom","borderBottomWidth","borderBottomColor","borderBottomStyle","SearchInput","label","placeholder","name","onChange","_ref2","onClearButtonClick","trailing","_objectSpread","metaAttribute","MetaConstants","ListViewFilter","makeAnalyticsAttribute","justifyContent","Box","position","flexDirection","marginRight","flex","minWidth","overflow","width","paddingLeft","alignItems","flexShrink","_ref3","size"],"mappings":"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"}
@@ -97,7 +97,8 @@ var Modal = function Modal(_ref2) {
97
97
  close: onDismiss,
98
98
  isDismissible: isDismissible,
99
99
  defaultInitialFocusRef: defaultInitialFocusRef,
100
- isVisible: isVisible
100
+ isVisible: isVisible,
101
+ isInsideModal: true
101
102
  };
102
103
  }, [isOpen, onDismiss, isDismissible, defaultInitialFocusRef, isVisible]);
103
104
  var handleKeyDown = function handleKeyDown(event) {
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.web.js","sources":["../../../../../../src/components/Modal/Modal.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect } from 'react';\nimport styled, { css } from 'styled-components';\nimport { FloatingFocusManager, FloatingPortal, useFloating } from '@floating-ui/react';\nimport usePresence from 'use-presence';\nimport { ModalHeader } from './ModalHeader';\nimport type { ModalHeaderProps } from './ModalHeader';\nimport { ModalFooter } from './ModalFooter';\nimport type { ModalFooterProps } from './ModalFooter';\nimport { ModalBody } from './ModalBody';\nimport type { ModalBodyProps } from './ModalBody';\nimport { ModalContext } from './ModalContext';\nimport { ModalBackdrop } from './ModalBackdrop';\nimport {\n modalBorderRadius,\n modalMaxHeight,\n modalMaxWidth,\n modalMinWidth,\n modalResponsiveScreenGap,\n modalMargin,\n} from './modalTokens';\nimport type { ModalProps } from './types';\nimport { castWebType, makeMotionTime, makeSize } from '~utils';\nimport { BaseBox } from '~components/Box/BaseBox';\nimport { useTheme } from '~components/BladeProvider';\nimport { Box } from '~components/Box';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { logger } from '~utils/logger';\nimport { componentZIndices } from '~utils/componentZIndices';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { TopNavOverlayThemeOverride } from '~components/TopNav/TopNavOverlayThemeOverride';\n\nconst ModalContent = styled(BaseBox)<{ isVisible: boolean; size: NonNullable<ModalProps['size']> }>(\n ({ isVisible, theme, size }) => {\n const scale = isVisible ? 1 : 0.9;\n const transform = size !== 'full' ? `translate(-50%, -50%) scale(${scale})` : ``;\n\n return css`\n box-shadow: ${theme.elevation.highRaised};\n opacity: ${isVisible ? 1 : 0};\n position: fixed;\n transform: ${transform};\n transition-property: opacity, transform;\n transition-duration: ${castWebType(makeMotionTime(theme.motion.duration.moderate))};\n transition-timing-function: ${isVisible\n ? castWebType(theme.motion.easing.entrance)\n : castWebType(theme.motion.easing.exit)};\n\n ${size === 'full' &&\n css`\n top: ${makeSize(modalMargin[size])};\n left: ${makeSize(modalMargin[size])};\n right: ${makeSize(modalMargin[size])};\n bottom: ${makeSize(modalMargin[size])};\n `}\n `;\n },\n);\n\nconst Modal = ({\n isOpen = false,\n children,\n onDismiss,\n isDismissible = true,\n initialFocusRef,\n size = 'small',\n accessibilityLabel,\n zIndex = componentZIndices.modal,\n ...rest\n}: ModalProps): React.ReactElement => {\n const { theme, platform } = useTheme();\n const { isMounted, isVisible } = usePresence(isOpen, {\n transitionDuration: theme.motion.duration.moderate,\n initialEnter: true,\n });\n\n // Warn consumer if modal is opened on mobile\n useEffect(() => {\n if (__DEV__) {\n if (platform === 'onMobile') {\n logger({\n message: 'Modal is not supported on mobile devices. Please use BottomSheet instead.',\n moduleName: 'Modal',\n type: 'warn',\n });\n }\n }\n }, [platform]);\n\n // required by floating ui to handle focus\n const { refs, context } = useFloating({\n open: isMounted,\n });\n\n const defaultInitialFocusRef = React.useRef<any>(null);\n\n const modalContext = React.useMemo(\n () => ({\n isOpen,\n close: onDismiss,\n isDismissible,\n defaultInitialFocusRef,\n isVisible,\n }),\n [isOpen, onDismiss, isDismissible, defaultInitialFocusRef, isVisible],\n );\n\n const handleKeyDown = (event: React.KeyboardEvent): void => {\n // close modal on escape key press only if dismissible\n if (isDismissible && (event?.key === 'Escape' || event?.code === 'Escape')) {\n onDismiss?.();\n }\n };\n\n return (\n <FloatingPortal>\n <ModalContext.Provider value={modalContext}>\n {isMounted ? (\n <FloatingFocusManager\n returnFocus\n initialFocus={initialFocusRef ?? defaultInitialFocusRef}\n context={context}\n modal={true}\n >\n <TopNavOverlayThemeOverride>\n <Box zIndex={zIndex} position=\"fixed\" testID=\"modal-wrapper\">\n <ModalBackdrop />\n <ModalContent\n {...metaAttribute({\n name: MetaConstants.Modal,\n })}\n {...makeAccessible({\n role: 'dialog',\n modal: true,\n label: accessibilityLabel,\n })}\n {...makeAnalyticsAttribute(rest)}\n maxWidth={size === 'full' ? '100%' : makeSize(modalMaxWidth[size])}\n minWidth={makeSize(modalMinWidth)}\n maxHeight={modalMaxHeight[size]}\n width={\n size === 'full'\n ? `calc(100vw - ${makeSize(modalMargin[size] * 2)})`\n : `calc(100vw - ${makeSize(modalResponsiveScreenGap)})`\n }\n borderRadius={modalBorderRadius}\n backgroundColor=\"popup.background.gray.subtle\"\n display=\"flex\"\n flexDirection=\"column\"\n top=\"50%\"\n left=\"50%\"\n onKeyDown={handleKeyDown}\n isVisible={isVisible}\n size={size}\n ref={refs.setFloating}\n overflow=\"hidden\"\n >\n {children}\n </ModalContent>\n </Box>\n </TopNavOverlayThemeOverride>\n </FloatingFocusManager>\n ) : null}\n </ModalContext.Provider>\n </FloatingPortal>\n );\n};\n\nexport { Modal, ModalHeader, ModalFooter, ModalBody };\nexport type { ModalProps, ModalHeaderProps, ModalFooterProps, ModalBodyProps };\n"],"names":["ModalContent","styled","BaseBox","withConfig","displayName","componentId","_ref","isVisible","theme","size","scale","transform","concat","css","elevation","highRaised","castWebType","makeMotionTime","motion","duration","moderate","easing","entrance","exit","makeSize","modalMargin","Modal","_ref2","_ref2$isOpen","isOpen","children","onDismiss","_ref2$isDismissible","isDismissible","initialFocusRef","_ref2$size","accessibilityLabel","_ref2$zIndex","zIndex","componentZIndices","modal","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","platform","_usePresence","usePresence","transitionDuration","initialEnter","isMounted","useEffect","logger","message","moduleName","type","_useFloating","useFloating","open","refs","context","defaultInitialFocusRef","React","useRef","modalContext","useMemo","close","handleKeyDown","event","key","code","_jsx","FloatingPortal","ModalContext","Provider","value","FloatingFocusManager","returnFocus","initialFocus","TopNavOverlayThemeOverride","_jsxs","Box","position","testID","ModalBackdrop","_objectSpread","metaAttribute","name","MetaConstants","makeAccessible","role","label","makeAnalyticsAttribute","maxWidth","modalMaxWidth","minWidth","modalMinWidth","maxHeight","modalMaxHeight","width","modalResponsiveScreenGap","borderRadius","modalBorderRadius","backgroundColor","display","flexDirection","top","left","onKeyDown","ref","setFloating","overflow"],"mappings":"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"}
1
+ {"version":3,"file":"Modal.web.js","sources":["../../../../../../src/components/Modal/Modal.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect } from 'react';\nimport styled, { css } from 'styled-components';\nimport { FloatingFocusManager, FloatingPortal, useFloating } from '@floating-ui/react';\nimport usePresence from 'use-presence';\nimport { ModalHeader } from './ModalHeader';\nimport type { ModalHeaderProps } from './ModalHeader';\nimport { ModalFooter } from './ModalFooter';\nimport type { ModalFooterProps } from './ModalFooter';\nimport { ModalBody } from './ModalBody';\nimport type { ModalBodyProps } from './ModalBody';\nimport { ModalContext } from './ModalContext';\nimport { ModalBackdrop } from './ModalBackdrop';\nimport {\n modalBorderRadius,\n modalMaxHeight,\n modalMaxWidth,\n modalMinWidth,\n modalResponsiveScreenGap,\n modalMargin,\n} from './modalTokens';\nimport type { ModalProps } from './types';\nimport { castWebType, makeMotionTime, makeSize } from '~utils';\nimport { BaseBox } from '~components/Box/BaseBox';\nimport { useTheme } from '~components/BladeProvider';\nimport { Box } from '~components/Box';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { logger } from '~utils/logger';\nimport { componentZIndices } from '~utils/componentZIndices';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { TopNavOverlayThemeOverride } from '~components/TopNav/TopNavOverlayThemeOverride';\n\nconst ModalContent = styled(BaseBox)<{ isVisible: boolean; size: NonNullable<ModalProps['size']> }>(\n ({ isVisible, theme, size }) => {\n const scale = isVisible ? 1 : 0.9;\n const transform = size !== 'full' ? `translate(-50%, -50%) scale(${scale})` : ``;\n\n return css`\n box-shadow: ${theme.elevation.highRaised};\n opacity: ${isVisible ? 1 : 0};\n position: fixed;\n transform: ${transform};\n transition-property: opacity, transform;\n transition-duration: ${castWebType(makeMotionTime(theme.motion.duration.moderate))};\n transition-timing-function: ${isVisible\n ? castWebType(theme.motion.easing.entrance)\n : castWebType(theme.motion.easing.exit)};\n\n ${size === 'full' &&\n css`\n top: ${makeSize(modalMargin[size])};\n left: ${makeSize(modalMargin[size])};\n right: ${makeSize(modalMargin[size])};\n bottom: ${makeSize(modalMargin[size])};\n `}\n `;\n },\n);\n\nconst Modal = ({\n isOpen = false,\n children,\n onDismiss,\n isDismissible = true,\n initialFocusRef,\n size = 'small',\n accessibilityLabel,\n zIndex = componentZIndices.modal,\n ...rest\n}: ModalProps): React.ReactElement => {\n const { theme, platform } = useTheme();\n const { isMounted, isVisible } = usePresence(isOpen, {\n transitionDuration: theme.motion.duration.moderate,\n initialEnter: true,\n });\n\n // Warn consumer if modal is opened on mobile\n useEffect(() => {\n if (__DEV__) {\n if (platform === 'onMobile') {\n logger({\n message: 'Modal is not supported on mobile devices. Please use BottomSheet instead.',\n moduleName: 'Modal',\n type: 'warn',\n });\n }\n }\n }, [platform]);\n\n // required by floating ui to handle focus\n const { refs, context } = useFloating({\n open: isMounted,\n });\n\n const defaultInitialFocusRef = React.useRef<any>(null);\n\n const modalContext = React.useMemo(\n () => ({\n isOpen,\n close: onDismiss,\n isDismissible,\n defaultInitialFocusRef,\n isVisible,\n isInsideModal: true,\n }),\n [isOpen, onDismiss, isDismissible, defaultInitialFocusRef, isVisible],\n );\n\n const handleKeyDown = (event: React.KeyboardEvent): void => {\n // close modal on escape key press only if dismissible\n if (isDismissible && (event?.key === 'Escape' || event?.code === 'Escape')) {\n onDismiss?.();\n }\n };\n\n return (\n <FloatingPortal>\n <ModalContext.Provider value={modalContext}>\n {isMounted ? (\n <FloatingFocusManager\n returnFocus\n initialFocus={initialFocusRef ?? defaultInitialFocusRef}\n context={context}\n modal={true}\n >\n <TopNavOverlayThemeOverride>\n <Box zIndex={zIndex} position=\"fixed\" testID=\"modal-wrapper\">\n <ModalBackdrop />\n <ModalContent\n {...metaAttribute({\n name: MetaConstants.Modal,\n })}\n {...makeAccessible({\n role: 'dialog',\n modal: true,\n label: accessibilityLabel,\n })}\n {...makeAnalyticsAttribute(rest)}\n maxWidth={size === 'full' ? '100%' : makeSize(modalMaxWidth[size])}\n minWidth={makeSize(modalMinWidth)}\n maxHeight={modalMaxHeight[size]}\n width={\n size === 'full'\n ? `calc(100vw - ${makeSize(modalMargin[size] * 2)})`\n : `calc(100vw - ${makeSize(modalResponsiveScreenGap)})`\n }\n borderRadius={modalBorderRadius}\n backgroundColor=\"popup.background.gray.subtle\"\n display=\"flex\"\n flexDirection=\"column\"\n top=\"50%\"\n left=\"50%\"\n onKeyDown={handleKeyDown}\n isVisible={isVisible}\n size={size}\n ref={refs.setFloating}\n overflow=\"hidden\"\n >\n {children}\n </ModalContent>\n </Box>\n </TopNavOverlayThemeOverride>\n </FloatingFocusManager>\n ) : null}\n </ModalContext.Provider>\n </FloatingPortal>\n );\n};\n\nexport { Modal, ModalHeader, ModalFooter, ModalBody };\nexport type { ModalProps, ModalHeaderProps, ModalFooterProps, ModalBodyProps };\n"],"names":["ModalContent","styled","BaseBox","withConfig","displayName","componentId","_ref","isVisible","theme","size","scale","transform","concat","css","elevation","highRaised","castWebType","makeMotionTime","motion","duration","moderate","easing","entrance","exit","makeSize","modalMargin","Modal","_ref2","_ref2$isOpen","isOpen","children","onDismiss","_ref2$isDismissible","isDismissible","initialFocusRef","_ref2$size","accessibilityLabel","_ref2$zIndex","zIndex","componentZIndices","modal","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","platform","_usePresence","usePresence","transitionDuration","initialEnter","isMounted","useEffect","logger","message","moduleName","type","_useFloating","useFloating","open","refs","context","defaultInitialFocusRef","React","useRef","modalContext","useMemo","close","isInsideModal","handleKeyDown","event","key","code","_jsx","FloatingPortal","ModalContext","Provider","value","FloatingFocusManager","returnFocus","initialFocus","TopNavOverlayThemeOverride","_jsxs","Box","position","testID","ModalBackdrop","_objectSpread","metaAttribute","name","MetaConstants","makeAccessible","role","label","makeAnalyticsAttribute","maxWidth","modalMaxWidth","minWidth","modalMinWidth","maxHeight","modalMaxHeight","width","modalResponsiveScreenGap","borderRadius","modalBorderRadius","backgroundColor","display","flexDirection","top","left","onKeyDown","ref","setFloating","overflow"],"mappings":"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"}
@@ -9,7 +9,8 @@ var ModalContext = /*#__PURE__*/React__default.createContext({
9
9
  current: null
10
10
  },
11
11
  isOpen: false,
12
- isVisible: false
12
+ isVisible: false,
13
+ isInsideModal: false
13
14
  });
14
15
  var useModalContext = function useModalContext() {
15
16
  var state = React__default.useContext(ModalContext);
@@ -1 +1 @@
1
- {"version":3,"file":"ModalContext.js","sources":["../../../../../../src/components/Modal/ModalContext.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\n\ntype ModalContextProps = {\n /**\n * Indicates open state of Modal\n */\n isOpen: boolean;\n /**\n * Function to close the Modal\n */\n close?: () => void;\n /**\n * Whether the modal can be dismissed\n */\n isDismissible: boolean;\n /**\n * The element that will get focused when the Modal first opens\n */\n defaultInitialFocusRef: React.MutableRefObject<any>;\n /**\n * Indicates if the Modal is visible according to the usePresence hook\n */\n isVisible: boolean;\n};\n\nconst ModalContext = React.createContext<ModalContextProps>({\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n close: () => {},\n isDismissible: true,\n defaultInitialFocusRef: { current: null },\n isOpen: false,\n isVisible: false,\n});\n\nconst useModalContext = (): ModalContextProps => {\n const state = React.useContext(ModalContext);\n return state;\n};\n\nexport { ModalContext, useModalContext };\n"],"names":["ModalContext","React","createContext","close","isDismissible","defaultInitialFocusRef","current","isOpen","isVisible","useModalContext","state","useContext"],"mappings":";;AAAA;AA0BA,IAAMA,YAAY,gBAAGC,cAAK,CAACC,aAAa,CAAoB;AAC1D;AACAC,EAAAA,KAAK,EAAE,SAAPA,KAAKA,GAAQ,EAAE;AACfC,EAAAA,aAAa,EAAE,IAAI;AACnBC,EAAAA,sBAAsB,EAAE;AAAEC,IAAAA,OAAO,EAAE,IAAA;GAAM;AACzCC,EAAAA,MAAM,EAAE,KAAK;AACbC,EAAAA,SAAS,EAAE,KAAA;AACb,CAAC,EAAC;AAEF,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,GAA4B;AAC/C,EAAA,IAAMC,KAAK,GAAGT,cAAK,CAACU,UAAU,CAACX,YAAY,CAAC,CAAA;AAC5C,EAAA,OAAOU,KAAK,CAAA;AACd;;;;"}
1
+ {"version":3,"file":"ModalContext.js","sources":["../../../../../../src/components/Modal/ModalContext.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\n\ntype ModalContextProps = {\n /**\n * Indicates open state of Modal\n */\n isOpen: boolean;\n /**\n * Function to close the Modal\n */\n close?: () => void;\n /**\n * Whether the modal can be dismissed\n */\n isDismissible: boolean;\n /**\n * The element that will get focused when the Modal first opens\n */\n defaultInitialFocusRef: React.MutableRefObject<any>;\n /**\n * Indicates if the Modal is visible according to the usePresence hook\n */\n isVisible: boolean;\n /**\n * Indicates if the Modal is inside a Modal\n */\n isInsideModal: boolean;\n};\n\nconst ModalContext = React.createContext<ModalContextProps>({\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n close: () => {},\n isDismissible: true,\n defaultInitialFocusRef: { current: null },\n isOpen: false,\n isVisible: false,\n isInsideModal: false,\n});\n\nconst useModalContext = (): ModalContextProps => {\n const state = React.useContext(ModalContext);\n return state;\n};\n\nexport { ModalContext, useModalContext };\n"],"names":["ModalContext","React","createContext","close","isDismissible","defaultInitialFocusRef","current","isOpen","isVisible","isInsideModal","useModalContext","state","useContext"],"mappings":";;AAAA;AA8BA,IAAMA,YAAY,gBAAGC,cAAK,CAACC,aAAa,CAAoB;AAC1D;AACAC,EAAAA,KAAK,EAAE,SAAPA,KAAKA,GAAQ,EAAE;AACfC,EAAAA,aAAa,EAAE,IAAI;AACnBC,EAAAA,sBAAsB,EAAE;AAAEC,IAAAA,OAAO,EAAE,IAAA;GAAM;AACzCC,EAAAA,MAAM,EAAE,KAAK;AACbC,EAAAA,SAAS,EAAE,KAAK;AAChBC,EAAAA,aAAa,EAAE,KAAA;AACjB,CAAC,EAAC;AAEF,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,GAA4B;AAC/C,EAAA,IAAMC,KAAK,GAAGV,cAAK,CAACW,UAAU,CAACZ,YAAY,CAAC,CAAA;AAC5C,EAAA,OAAOW,KAAK,CAAA;AACd;;;;"}
@@ -96,12 +96,12 @@ var StyledCell = /*#__PURE__*/styled(Cell).withConfig({
96
96
  })(function (_ref3) {
97
97
  var theme = _ref3.theme,
98
98
  $backgroundColor = _ref3.$backgroundColor,
99
- gridRow = _ref3.gridRow;
99
+ $gridRow = _ref3.$gridRow;
100
100
  return {
101
101
  '&&&': {
102
102
  height: '100%',
103
103
  backgroundColor: getIn(theme.colors, $backgroundColor),
104
- gridRow: gridRow,
104
+ gridRow: $gridRow,
105
105
  '& > div:first-child': {
106
106
  alignSelf: 'stretch'
107
107
  },
@@ -165,7 +165,7 @@ var _TableCell = function _TableCell(_ref5) {
165
165
  $backgroundColor: backgroundColor,
166
166
  gridColumnStart: gridColumnStart,
167
167
  gridColumnEnd: gridColumnEnd,
168
- gridRow: gridRowValue
168
+ $gridRow: gridRowValue
169
169
  }, metaAttribute({
170
170
  name: MetaConstants.TableCell
171
171
  })), makeAnalyticsAttribute(rest)), {}, {