@razorpay/blade 12.66.0 → 12.68.0

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 (34) hide show
  1. package/build/lib/native/components/Popover/Popover.native.js +1 -1
  2. package/build/lib/native/components/Popover/Popover.native.js.map +1 -1
  3. package/build/lib/native/components/Popover/PopoverContent.js +1 -1
  4. package/build/lib/native/components/Popover/PopoverContent.js.map +1 -1
  5. package/build/lib/native/components/Popover/PopoverContext.js.map +1 -1
  6. package/build/lib/web/development/components/FilterChip/BaseFilterChip.web.js +7 -3
  7. package/build/lib/web/development/components/FilterChip/BaseFilterChip.web.js.map +1 -1
  8. package/build/lib/web/development/components/Popover/Popover.web.js +13 -7
  9. package/build/lib/web/development/components/Popover/Popover.web.js.map +1 -1
  10. package/build/lib/web/development/components/Popover/PopoverContent.js +8 -3
  11. package/build/lib/web/development/components/Popover/PopoverContent.js.map +1 -1
  12. package/build/lib/web/development/components/Popover/PopoverContext.js.map +1 -1
  13. package/build/lib/web/development/components/SpotlightPopoverTour/TourPopover.web.js +2 -1
  14. package/build/lib/web/development/components/SpotlightPopoverTour/TourPopover.web.js.map +1 -1
  15. package/build/lib/web/development/components/Toast/ToastContainer.web.js +15 -5
  16. package/build/lib/web/development/components/Toast/ToastContainer.web.js.map +1 -1
  17. package/build/lib/web/development/components/Toast/constants.js +1 -1
  18. package/build/lib/web/development/components/Toast/constants.js.map +1 -1
  19. package/build/lib/web/production/components/FilterChip/BaseFilterChip.web.js +7 -3
  20. package/build/lib/web/production/components/FilterChip/BaseFilterChip.web.js.map +1 -1
  21. package/build/lib/web/production/components/Popover/Popover.web.js +13 -7
  22. package/build/lib/web/production/components/Popover/Popover.web.js.map +1 -1
  23. package/build/lib/web/production/components/Popover/PopoverContent.js +8 -3
  24. package/build/lib/web/production/components/Popover/PopoverContent.js.map +1 -1
  25. package/build/lib/web/production/components/Popover/PopoverContext.js.map +1 -1
  26. package/build/lib/web/production/components/SpotlightPopoverTour/TourPopover.web.js +2 -1
  27. package/build/lib/web/production/components/SpotlightPopoverTour/TourPopover.web.js.map +1 -1
  28. package/build/lib/web/production/components/Toast/ToastContainer.web.js +15 -5
  29. package/build/lib/web/production/components/Toast/ToastContainer.web.js.map +1 -1
  30. package/build/lib/web/production/components/Toast/constants.js +1 -1
  31. package/build/lib/web/production/components/Toast/constants.js.map +1 -1
  32. package/build/types/components/index.d.ts +15 -2
  33. package/build/types/components/index.native.d.ts +6 -0
  34. package/package.json +2 -2
@@ -5,7 +5,7 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
5
5
  import { useToaster, resolveValue } from 'react-hot-toast';
6
6
  import React__default from 'react';
7
7
  import styled from 'styled-components';
8
- import { PEEKS, MAX_TOASTS, MIN_TOAST_MOBILE, MIN_TOAST_DESKTOP, CONTAINER_GUTTER_MOBILE, CONTAINER_GUTTER_DESKTOP, GUTTER, SCALE_FACTOR, PEEK_GUTTER, TOAST_Z_INDEX, TOAST_MAX_WIDTH } from './constants.js';
8
+ import { PEEKS, MAX_TOASTS, MIN_TOAST_MOBILE, MIN_TOAST_DESKTOP, CONTAINER_GUTTER_MOBILE, CONTAINER_GUTTER_DESKTOP, TOAST_Z_INDEX, GUTTER, SCALE_FACTOR, PEEK_GUTTER, TOAST_MAX_WIDTH } from './constants.js';
9
9
  import '../../utils/index.js';
10
10
  import '../Box/BaseBox/index.js';
11
11
  import { useIsMobile } from '../../utils/useIsMobile.js';
@@ -20,7 +20,7 @@ import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.web.js';
20
20
  import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
21
21
  import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
22
22
 
23
- var _excluded = ["reverseOrder", "position", "offsetBottom", "toastOptions", "containerClassName"];
23
+ var _excluded = ["reverseOrder", "position", "offsetBottom", "zIndex", "toastOptions", "containerClassName"];
24
24
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
25
25
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
26
26
  var StyledToastWrapper = /*#__PURE__*/styled(BaseBox).withConfig({
@@ -81,6 +81,7 @@ var Toaster = function Toaster(_ref2) {
81
81
  _ref2$position = _ref2.position,
82
82
  position = _ref2$position === void 0 ? 'top-center' : _ref2$position,
83
83
  offsetBottom = _ref2.offsetBottom,
84
+ zIndex = _ref2.zIndex,
84
85
  toastOptions = _ref2.toastOptions,
85
86
  containerClassName = _ref2.containerClassName,
86
87
  rest = _objectWithoutProperties(_ref2, _excluded);
@@ -119,6 +120,9 @@ var Toaster = function Toaster(_ref2) {
119
120
  var hasPromoToast = promoToasts.length > 0 && ((_promoToasts$ = promoToasts[0]) === null || _promoToasts$ === void 0 ? void 0 : _promoToasts$.visible);
120
121
  var promoToastHeight = (_promoToasts$0$height = (_promoToasts$2 = promoToasts[0]) === null || _promoToasts$2 === void 0 ? void 0 : _promoToasts$2.height) !== null && _promoToasts$0$height !== void 0 ? _promoToasts$0$height : 0;
121
122
  var isExpanded = hasManuallyExpanded || recomputedToasts.length <= minToasts;
123
+
124
+ // Use container zIndex if provided, otherwise use default
125
+ var containerZIndex = zIndex !== null && zIndex !== void 0 ? zIndex : TOAST_Z_INDEX;
122
126
  React__default.useLayoutEffect(function () {
123
127
  // find the first toast which is visible
124
128
  var firstToast = infoToasts.find(function (t, index) {
@@ -220,7 +224,7 @@ var Toaster = function Toaster(_ref2) {
220
224
  };
221
225
  return /*#__PURE__*/jsxs(BaseBox, _objectSpread(_objectSpread(_objectSpread({
222
226
  position: "fixed",
223
- zIndex: TOAST_Z_INDEX,
227
+ zIndex: containerZIndex,
224
228
  top: makeSize(defaultGutter),
225
229
  left: makeSize(defaultGutter),
226
230
  right: makeSize(defaultGutter),
@@ -272,6 +276,10 @@ var Toaster = function Toaster(_ref2) {
272
276
  if (isExpanded) {
273
277
  toastHeight = toast.height;
274
278
  }
279
+
280
+ // Maintain relative stacking order (newer toasts in front)
281
+ // Use -1 * index so newer toasts (lower index) have higher z-index values
282
+ var wrapperZIndex = -1 * index;
275
283
  return /*#__PURE__*/jsx(StyledToastWrapper, {
276
284
  index: index,
277
285
  ref: ref,
@@ -279,7 +287,7 @@ var Toaster = function Toaster(_ref2) {
279
287
  isVisible: toast.visible,
280
288
  isPromotional: isPromotional,
281
289
  style: _objectSpread(_objectSpread({}, positionStyle), {}, {
282
- zIndex: -1 * index,
290
+ zIndex: wrapperZIndex,
283
291
  height: toastHeight,
284
292
  overflow: 'hidden'
285
293
  }),
@@ -307,9 +315,11 @@ var Toaster = function Toaster(_ref2) {
307
315
  }));
308
316
  };
309
317
  var ToastContainer = function ToastContainer(_ref4) {
310
- var offsetBottom = _ref4.offsetBottom;
318
+ var offsetBottom = _ref4.offsetBottom,
319
+ zIndex = _ref4.zIndex;
311
320
  return /*#__PURE__*/jsx(Toaster, {
312
321
  offsetBottom: offsetBottom,
322
+ zIndex: zIndex,
313
323
  position: "bottom-left"
314
324
  });
315
325
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ToastContainer.web.js","sources":["../../../../../../src/components/Toast/ToastContainer.web.tsx"],"sourcesContent":["import type { ToastPosition, ToasterProps, Toast } from 'react-hot-toast';\nimport { resolveValue, useToaster } from 'react-hot-toast';\nimport React from 'react';\nimport styled from 'styled-components';\nimport {\n PEEKS,\n MAX_TOASTS,\n SCALE_FACTOR,\n GUTTER,\n PEEK_GUTTER,\n TOAST_MAX_WIDTH,\n TOAST_Z_INDEX,\n MIN_TOAST_MOBILE,\n MIN_TOAST_DESKTOP,\n CONTAINER_GUTTER_MOBILE,\n CONTAINER_GUTTER_DESKTOP,\n} from './constants';\nimport { makeMotionTime, makeSize, useTheme } from '~utils';\nimport BaseBox from '~components/Box/BaseBox';\nimport type { Theme } from '~components/BladeProvider';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype CalculateYPositionProps = {\n toast: Toast;\n index: number;\n isExpanded: boolean;\n reverseOrder?: boolean;\n};\n\nconst StyledToastWrapper = styled(BaseBox)<{\n isVisible: boolean;\n index: number;\n isExpanded: boolean;\n isPromotional: boolean;\n}>(({ isVisible, index, isExpanded, isPromotional }) => {\n let opacity: number = isVisible ? 1 : 0;\n // Only make the PEEKING and MAX_TOASTS toasts visible,\n // Every other toasts should be hidden\n if (index < PEEKS + MAX_TOASTS) {\n opacity = 1;\n } else if (isPromotional || isExpanded) {\n opacity = 1;\n } else {\n opacity = 0;\n }\n\n return {\n '& > *': {\n pointerEvents: opacity === 1 ? 'auto' : 'none',\n },\n opacity,\n };\n});\n\nconst getPositionStyle = (\n position: ToastPosition,\n offset: number,\n scale: number,\n theme: Theme,\n): React.CSSProperties => {\n const top = position.includes('top');\n const verticalStyle: React.CSSProperties = top ? { top: 0 } : { bottom: 0 };\n const horizontalStyle: React.CSSProperties = position.includes('center')\n ? {\n justifyContent: 'center',\n }\n : position.includes('right')\n ? {\n justifyContent: 'flex-end',\n }\n : {};\n\n return {\n left: 0,\n right: 0,\n display: 'flex',\n position: 'absolute',\n transformOrigin: 'center',\n transition: `${makeMotionTime(theme.motion.duration.gentle)} ${theme.motion.easing.standard}`,\n transitionProperty: 'transform, opacity, height',\n transform: `translateY(${offset * (top ? 1 : -1)}px) scale(${scale})`,\n ...verticalStyle,\n ...horizontalStyle,\n };\n};\n\nfunction isPromotionalToast(toast: Toast): boolean {\n // @ts-expect-error\n return toast.type == 'promotional';\n}\n\nconst Toaster: React.FC<ToasterProps & { offsetBottom?: number }> = ({\n reverseOrder,\n position = 'top-center',\n offsetBottom,\n toastOptions,\n containerClassName,\n ...rest\n}) => {\n const { toasts, handlers } = useToaster(toastOptions);\n const { theme } = useTheme();\n const [frontToastHeight, setFrontToastHeight] = React.useState(0);\n const [hasManuallyExpanded, setHasManuallyExpanded] = React.useState(false);\n const isMobile = useIsMobile();\n const minToasts = isMobile ? MIN_TOAST_MOBILE : MIN_TOAST_DESKTOP;\n const defaultGutter = isMobile ? CONTAINER_GUTTER_MOBILE : CONTAINER_GUTTER_DESKTOP;\n const bottomGutter = offsetBottom ?? defaultGutter;\n\n const infoToasts = React.useMemo(() => toasts.filter((toast) => !isPromotionalToast(toast)), [\n toasts,\n ]);\n const promoToasts = React.useMemo(() => toasts.filter((toast) => isPromotionalToast(toast)), [\n toasts,\n ]);\n\n // always keep promo toasts at the bottom of the stack\n const recomputedToasts = React.useMemo(() => [...infoToasts, ...promoToasts], [\n infoToasts,\n promoToasts,\n ]);\n\n const hasPromoToast = promoToasts.length > 0 && promoToasts[0]?.visible;\n const promoToastHeight = promoToasts[0]?.height ?? 0;\n const isExpanded = hasManuallyExpanded || recomputedToasts.length <= minToasts;\n\n React.useLayoutEffect(() => {\n // find the first toast which is visible\n const firstToast = infoToasts.find((t, index) => t.visible && index === 0);\n if (firstToast) {\n setFrontToastHeight(firstToast.height ?? 0);\n }\n }, [infoToasts]);\n\n // calculate total height of all toasts\n const totalHeight = React.useMemo(() => {\n return (\n recomputedToasts\n // only consider visible recomputedToasts\n .filter((toast) => toast.visible)\n .reduce((prevHeight, toast) => prevHeight + (toast.height ?? 0), 0) +\n recomputedToasts.length * GUTTER\n );\n }, [recomputedToasts]);\n\n // Stacking logic explained in detail:\n // https://www.loom.com/share/522d9a445e2f41e1886cce4decb9ab9d?sid=4287acf6-8d44-431b-93e1-c1a0d40a0aba\n //\n // 1. 3 toasts can be stacked on top of each other\n // 2. After 3 toasts, the toasts will be scaled down and peek from behind\n // 3. There can be maximum of 3 toasts peeking from behind\n // 4. After 3 peeking toasts, the toasts will be hidden\n // 5. If there is a promo toast, all toasts will be lifted up\n // 6. Promo toasts will always be on the bottom\n const calculateYPosition = React.useCallback(\n ({ toast, index }: CalculateYPositionProps) => {\n // find the current toast index\n const toastIndex = infoToasts.findIndex((t) => t.id === toast.id);\n // number of toasts before this toast\n const toastsBefore = infoToasts.filter((toast, i) => i < toastIndex && toast.visible).length;\n\n let scale = Math.max(0.7, 1 - toastsBefore * SCALE_FACTOR);\n // first toast should always have a scale of 1\n if (index < MAX_TOASTS) {\n scale = 1;\n }\n\n // y position of toast,\n let offset = infoToasts\n .filter((toast) => toast.visible)\n .slice(0, toastsBefore)\n .reduce((y, toast) => {\n // if the toast is expanded, add the height of the toast + gutter\n if (isExpanded) {\n return y + (toast.height ?? 0) + GUTTER;\n }\n // if the toast is not expanded, add only the peek gutter\n return y + PEEK_GUTTER;\n }, 0);\n\n // lift all info toasts up if there is a promo toast\n if (hasPromoToast) {\n offset += GUTTER + promoToastHeight;\n }\n\n // if this is a promo toast, then put it at the bottom and force the scale to 1\n if (isPromotionalToast(toast)) {\n offset = 0;\n scale = 1;\n }\n\n return { offset, scale: isExpanded ? 1 : scale };\n },\n [hasPromoToast, infoToasts, isExpanded, promoToastHeight],\n );\n\n const handleMouseEnter = (): void => {\n if (isMobile) return;\n setHasManuallyExpanded(true);\n handlers.startPause();\n };\n\n const handleMouseLeave = (): void => {\n if (isMobile) return;\n setHasManuallyExpanded(false);\n handlers.endPause();\n };\n\n const handleToastClick = (): void => {\n if (!isMobile) return;\n setHasManuallyExpanded((prev) => {\n const next = !prev;\n if (next) {\n handlers.startPause();\n } else {\n handlers.endPause();\n }\n return next;\n });\n };\n\n return (\n <BaseBox\n position=\"fixed\"\n zIndex={TOAST_Z_INDEX}\n top={makeSize(defaultGutter)}\n left={makeSize(defaultGutter)}\n right={makeSize(defaultGutter)}\n bottom={makeSize(bottomGutter)}\n width={`calc(100% - ${defaultGutter * 2}px)`}\n maxWidth={makeSize(TOAST_MAX_WIDTH)}\n pointerEvents=\"none\"\n className={containerClassName}\n {...metaAttribute({ name: MetaConstants.ToastContainer })}\n {...makeAnalyticsAttribute(rest)}\n >\n {/*\n * Mouseover container,\n * fills in the gap between toasts so that mouseleave doesn't trigger in the gaps\n */}\n <BaseBox\n position=\"absolute\"\n bottom={`${promoToastHeight}px`}\n left=\"0px\"\n width=\"100%\"\n pointerEvents={isExpanded ? 'all' : 'none'}\n height={makeSize(isExpanded ? totalHeight - promoToastHeight : frontToastHeight)}\n zIndex={-100}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onClick={handleToastClick}\n {...metaAttribute({ testID: 'toast-mouseover-container' })}\n />\n {recomputedToasts.map((toast, index) => {\n const toastPosition = toast.position ?? position;\n const isPromotional = isPromotionalToast(toast);\n const { offset, scale } = calculateYPosition({\n toast,\n isExpanded,\n reverseOrder,\n index,\n });\n const positionStyle = getPositionStyle(toastPosition, offset, scale, theme);\n // recalculate height of toast\n const ref = (el: HTMLDivElement): void => {\n if (el && typeof toast.height !== 'number') {\n const height = el.getBoundingClientRect().height;\n handlers.updateHeight(toast.id, height);\n }\n };\n\n let toastHeight = toast.height;\n if (index > MAX_TOASTS - 1 && !isPromotional) {\n toastHeight = frontToastHeight;\n }\n if (isExpanded) {\n toastHeight = toast.height;\n }\n\n return (\n <StyledToastWrapper\n key={toast.id}\n index={index}\n ref={ref}\n isExpanded={isExpanded}\n isVisible={toast.visible}\n isPromotional={isPromotional}\n style={{\n ...positionStyle,\n zIndex: -1 * index,\n height: toastHeight,\n overflow: 'hidden',\n }}\n onMouseEnter={() => {\n if (isPromotional) return;\n handleMouseEnter();\n }}\n onMouseLeave={() => {\n if (isPromotional) return;\n handleMouseLeave();\n }}\n onClick={() => {\n if (isPromotional) return;\n handleToastClick();\n }}\n >\n <BaseBox height=\"fit-content\" width=\"100%\">\n {resolveValue(toast.message, { ...toast, index })}\n </BaseBox>\n </StyledToastWrapper>\n );\n })}\n </BaseBox>\n );\n};\n\ntype ToastContainerProps = {\n /**\n * The offset from the bottom of the screen to the toast container.\n * This is useful when you want to position the toast container at a different\n * position from the bottom of the screen.\n *\n * @default isMobile ? 16px : 24px\n */\n offsetBottom?: number;\n};\n\nconst ToastContainer = ({ offsetBottom }: ToastContainerProps): React.ReactElement => {\n return <Toaster offsetBottom={offsetBottom} position=\"bottom-left\" />;\n};\n\nexport { ToastContainer };\n"],"names":["StyledToastWrapper","styled","BaseBox","withConfig","displayName","componentId","_ref","isVisible","index","isExpanded","isPromotional","opacity","PEEKS","MAX_TOASTS","pointerEvents","getPositionStyle","position","offset","scale","theme","top","includes","verticalStyle","bottom","horizontalStyle","justifyContent","_objectSpread","left","right","display","transformOrigin","transition","concat","makeMotionTime","motion","duration","gentle","easing","standard","transitionProperty","transform","isPromotionalToast","toast","type","Toaster","_ref2","_promoToasts$","_promoToasts$0$height","_promoToasts$2","reverseOrder","_ref2$position","offsetBottom","toastOptions","containerClassName","rest","_objectWithoutProperties","_excluded","_useToaster","useToaster","toasts","handlers","_useTheme","useTheme","_React$useState","React","useState","_React$useState2","_slicedToArray","frontToastHeight","setFrontToastHeight","_React$useState3","_React$useState4","hasManuallyExpanded","setHasManuallyExpanded","isMobile","useIsMobile","minToasts","MIN_TOAST_MOBILE","MIN_TOAST_DESKTOP","defaultGutter","CONTAINER_GUTTER_MOBILE","CONTAINER_GUTTER_DESKTOP","bottomGutter","infoToasts","useMemo","filter","promoToasts","recomputedToasts","_toConsumableArray","hasPromoToast","length","visible","promoToastHeight","height","useLayoutEffect","firstToast","find","t","_firstToast$height","totalHeight","reduce","prevHeight","_toast$height","GUTTER","calculateYPosition","useCallback","_ref3","toastIndex","findIndex","id","toastsBefore","i","Math","max","SCALE_FACTOR","slice","y","_toast$height2","PEEK_GUTTER","handleMouseEnter","startPause","handleMouseLeave","endPause","handleToastClick","prev","next","_jsxs","zIndex","TOAST_Z_INDEX","makeSize","width","maxWidth","TOAST_MAX_WIDTH","className","metaAttribute","name","MetaConstants","ToastContainer","makeAnalyticsAttribute","children","_jsx","onMouseEnter","onMouseLeave","onClick","testID","map","_toast$position","toastPosition","_calculateYPosition","positionStyle","ref","el","getBoundingClientRect","updateHeight","toastHeight","style","overflow","resolveValue","message","_ref4"],"mappings":"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"}
1
+ {"version":3,"file":"ToastContainer.web.js","sources":["../../../../../../src/components/Toast/ToastContainer.web.tsx"],"sourcesContent":["import type { ToastPosition, ToasterProps, Toast } from 'react-hot-toast';\nimport { resolveValue, useToaster } from 'react-hot-toast';\nimport React from 'react';\nimport styled from 'styled-components';\nimport {\n PEEKS,\n MAX_TOASTS,\n SCALE_FACTOR,\n GUTTER,\n PEEK_GUTTER,\n TOAST_MAX_WIDTH,\n TOAST_Z_INDEX,\n MIN_TOAST_MOBILE,\n MIN_TOAST_DESKTOP,\n CONTAINER_GUTTER_MOBILE,\n CONTAINER_GUTTER_DESKTOP,\n} from './constants';\nimport { makeMotionTime, makeSize, useTheme } from '~utils';\nimport BaseBox from '~components/Box/BaseBox';\nimport type { Theme } from '~components/BladeProvider';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype CalculateYPositionProps = {\n toast: Toast;\n index: number;\n isExpanded: boolean;\n reverseOrder?: boolean;\n};\n\nconst StyledToastWrapper = styled(BaseBox)<{\n isVisible: boolean;\n index: number;\n isExpanded: boolean;\n isPromotional: boolean;\n}>(({ isVisible, index, isExpanded, isPromotional }) => {\n let opacity: number = isVisible ? 1 : 0;\n // Only make the PEEKING and MAX_TOASTS toasts visible,\n // Every other toasts should be hidden\n if (index < PEEKS + MAX_TOASTS) {\n opacity = 1;\n } else if (isPromotional || isExpanded) {\n opacity = 1;\n } else {\n opacity = 0;\n }\n\n return {\n '& > *': {\n pointerEvents: opacity === 1 ? 'auto' : 'none',\n },\n opacity,\n };\n});\n\nconst getPositionStyle = (\n position: ToastPosition,\n offset: number,\n scale: number,\n theme: Theme,\n): React.CSSProperties => {\n const top = position.includes('top');\n const verticalStyle: React.CSSProperties = top ? { top: 0 } : { bottom: 0 };\n const horizontalStyle: React.CSSProperties = position.includes('center')\n ? {\n justifyContent: 'center',\n }\n : position.includes('right')\n ? {\n justifyContent: 'flex-end',\n }\n : {};\n\n return {\n left: 0,\n right: 0,\n display: 'flex',\n position: 'absolute',\n transformOrigin: 'center',\n transition: `${makeMotionTime(theme.motion.duration.gentle)} ${theme.motion.easing.standard}`,\n transitionProperty: 'transform, opacity, height',\n transform: `translateY(${offset * (top ? 1 : -1)}px) scale(${scale})`,\n ...verticalStyle,\n ...horizontalStyle,\n };\n};\n\nfunction isPromotionalToast(toast: Toast): boolean {\n // @ts-expect-error\n return toast.type == 'promotional';\n}\n\nconst Toaster: React.FC<ToasterProps & { offsetBottom?: number; zIndex?: number }> = ({\n reverseOrder,\n position = 'top-center',\n offsetBottom,\n zIndex,\n toastOptions,\n containerClassName,\n ...rest\n}) => {\n const { toasts, handlers } = useToaster(toastOptions);\n const { theme } = useTheme();\n const [frontToastHeight, setFrontToastHeight] = React.useState(0);\n const [hasManuallyExpanded, setHasManuallyExpanded] = React.useState(false);\n const isMobile = useIsMobile();\n const minToasts = isMobile ? MIN_TOAST_MOBILE : MIN_TOAST_DESKTOP;\n const defaultGutter = isMobile ? CONTAINER_GUTTER_MOBILE : CONTAINER_GUTTER_DESKTOP;\n const bottomGutter = offsetBottom ?? defaultGutter;\n\n const infoToasts = React.useMemo(() => toasts.filter((toast) => !isPromotionalToast(toast)), [\n toasts,\n ]);\n const promoToasts = React.useMemo(() => toasts.filter((toast) => isPromotionalToast(toast)), [\n toasts,\n ]);\n\n // always keep promo toasts at the bottom of the stack\n const recomputedToasts = React.useMemo(() => [...infoToasts, ...promoToasts], [\n infoToasts,\n promoToasts,\n ]);\n\n const hasPromoToast = promoToasts.length > 0 && promoToasts[0]?.visible;\n const promoToastHeight = promoToasts[0]?.height ?? 0;\n const isExpanded = hasManuallyExpanded || recomputedToasts.length <= minToasts;\n\n // Use container zIndex if provided, otherwise use default\n const containerZIndex = zIndex ?? TOAST_Z_INDEX;\n\n React.useLayoutEffect(() => {\n // find the first toast which is visible\n const firstToast = infoToasts.find((t, index) => t.visible && index === 0);\n if (firstToast) {\n setFrontToastHeight(firstToast.height ?? 0);\n }\n }, [infoToasts]);\n\n // calculate total height of all toasts\n const totalHeight = React.useMemo(() => {\n return (\n recomputedToasts\n // only consider visible recomputedToasts\n .filter((toast) => toast.visible)\n .reduce((prevHeight, toast) => prevHeight + (toast.height ?? 0), 0) +\n recomputedToasts.length * GUTTER\n );\n }, [recomputedToasts]);\n\n // Stacking logic explained in detail:\n // https://www.loom.com/share/522d9a445e2f41e1886cce4decb9ab9d?sid=4287acf6-8d44-431b-93e1-c1a0d40a0aba\n //\n // 1. 3 toasts can be stacked on top of each other\n // 2. After 3 toasts, the toasts will be scaled down and peek from behind\n // 3. There can be maximum of 3 toasts peeking from behind\n // 4. After 3 peeking toasts, the toasts will be hidden\n // 5. If there is a promo toast, all toasts will be lifted up\n // 6. Promo toasts will always be on the bottom\n const calculateYPosition = React.useCallback(\n ({ toast, index }: CalculateYPositionProps) => {\n // find the current toast index\n const toastIndex = infoToasts.findIndex((t) => t.id === toast.id);\n // number of toasts before this toast\n const toastsBefore = infoToasts.filter((toast, i) => i < toastIndex && toast.visible).length;\n\n let scale = Math.max(0.7, 1 - toastsBefore * SCALE_FACTOR);\n // first toast should always have a scale of 1\n if (index < MAX_TOASTS) {\n scale = 1;\n }\n\n // y position of toast,\n let offset = infoToasts\n .filter((toast) => toast.visible)\n .slice(0, toastsBefore)\n .reduce((y, toast) => {\n // if the toast is expanded, add the height of the toast + gutter\n if (isExpanded) {\n return y + (toast.height ?? 0) + GUTTER;\n }\n // if the toast is not expanded, add only the peek gutter\n return y + PEEK_GUTTER;\n }, 0);\n\n // lift all info toasts up if there is a promo toast\n if (hasPromoToast) {\n offset += GUTTER + promoToastHeight;\n }\n\n // if this is a promo toast, then put it at the bottom and force the scale to 1\n if (isPromotionalToast(toast)) {\n offset = 0;\n scale = 1;\n }\n\n return { offset, scale: isExpanded ? 1 : scale };\n },\n [hasPromoToast, infoToasts, isExpanded, promoToastHeight],\n );\n\n const handleMouseEnter = (): void => {\n if (isMobile) return;\n setHasManuallyExpanded(true);\n handlers.startPause();\n };\n\n const handleMouseLeave = (): void => {\n if (isMobile) return;\n setHasManuallyExpanded(false);\n handlers.endPause();\n };\n\n const handleToastClick = (): void => {\n if (!isMobile) return;\n setHasManuallyExpanded((prev) => {\n const next = !prev;\n if (next) {\n handlers.startPause();\n } else {\n handlers.endPause();\n }\n return next;\n });\n };\n\n return (\n <BaseBox\n position=\"fixed\"\n zIndex={containerZIndex}\n top={makeSize(defaultGutter)}\n left={makeSize(defaultGutter)}\n right={makeSize(defaultGutter)}\n bottom={makeSize(bottomGutter)}\n width={`calc(100% - ${defaultGutter * 2}px)`}\n maxWidth={makeSize(TOAST_MAX_WIDTH)}\n pointerEvents=\"none\"\n className={containerClassName}\n {...metaAttribute({ name: MetaConstants.ToastContainer })}\n {...makeAnalyticsAttribute(rest)}\n >\n {/*\n * Mouseover container,\n * fills in the gap between toasts so that mouseleave doesn't trigger in the gaps\n */}\n <BaseBox\n position=\"absolute\"\n bottom={`${promoToastHeight}px`}\n left=\"0px\"\n width=\"100%\"\n pointerEvents={isExpanded ? 'all' : 'none'}\n height={makeSize(isExpanded ? totalHeight - promoToastHeight : frontToastHeight)}\n zIndex={-100}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onClick={handleToastClick}\n {...metaAttribute({ testID: 'toast-mouseover-container' })}\n />\n {recomputedToasts.map((toast, index) => {\n const toastPosition = toast.position ?? position;\n const isPromotional = isPromotionalToast(toast);\n const { offset, scale } = calculateYPosition({\n toast,\n isExpanded,\n reverseOrder,\n index,\n });\n const positionStyle = getPositionStyle(toastPosition, offset, scale, theme);\n // recalculate height of toast\n const ref = (el: HTMLDivElement): void => {\n if (el && typeof toast.height !== 'number') {\n const height = el.getBoundingClientRect().height;\n handlers.updateHeight(toast.id, height);\n }\n };\n\n let toastHeight = toast.height;\n if (index > MAX_TOASTS - 1 && !isPromotional) {\n toastHeight = frontToastHeight;\n }\n if (isExpanded) {\n toastHeight = toast.height;\n }\n\n // Maintain relative stacking order (newer toasts in front)\n // Use -1 * index so newer toasts (lower index) have higher z-index values\n const wrapperZIndex = -1 * index;\n\n return (\n <StyledToastWrapper\n key={toast.id}\n index={index}\n ref={ref}\n isExpanded={isExpanded}\n isVisible={toast.visible}\n isPromotional={isPromotional}\n style={{\n ...positionStyle,\n zIndex: wrapperZIndex,\n height: toastHeight,\n overflow: 'hidden',\n }}\n onMouseEnter={() => {\n if (isPromotional) return;\n handleMouseEnter();\n }}\n onMouseLeave={() => {\n if (isPromotional) return;\n handleMouseLeave();\n }}\n onClick={() => {\n if (isPromotional) return;\n handleToastClick();\n }}\n >\n <BaseBox height=\"fit-content\" width=\"100%\">\n {resolveValue(toast.message, { ...toast, index })}\n </BaseBox>\n </StyledToastWrapper>\n );\n })}\n </BaseBox>\n );\n};\n\ntype ToastContainerProps = {\n /**\n * The offset from the bottom of the screen to the toast container.\n * This is useful when you want to position the toast container at a different\n * position from the bottom of the screen.\n *\n * @default isMobile ? 16px : 24px\n */\n offsetBottom?: number;\n /**\n * Custom z-index value for the toast container.\n * This is useful when you want to position toasts above other elements like modals.\n *\n * @default 2001\n */\n zIndex?: number;\n};\n\nconst ToastContainer = ({ offsetBottom, zIndex }: ToastContainerProps): React.ReactElement => {\n return <Toaster offsetBottom={offsetBottom} zIndex={zIndex} position=\"bottom-left\" />;\n};\n\nexport { ToastContainer };\n"],"names":["StyledToastWrapper","styled","BaseBox","withConfig","displayName","componentId","_ref","isVisible","index","isExpanded","isPromotional","opacity","PEEKS","MAX_TOASTS","pointerEvents","getPositionStyle","position","offset","scale","theme","top","includes","verticalStyle","bottom","horizontalStyle","justifyContent","_objectSpread","left","right","display","transformOrigin","transition","concat","makeMotionTime","motion","duration","gentle","easing","standard","transitionProperty","transform","isPromotionalToast","toast","type","Toaster","_ref2","_promoToasts$","_promoToasts$0$height","_promoToasts$2","reverseOrder","_ref2$position","offsetBottom","zIndex","toastOptions","containerClassName","rest","_objectWithoutProperties","_excluded","_useToaster","useToaster","toasts","handlers","_useTheme","useTheme","_React$useState","React","useState","_React$useState2","_slicedToArray","frontToastHeight","setFrontToastHeight","_React$useState3","_React$useState4","hasManuallyExpanded","setHasManuallyExpanded","isMobile","useIsMobile","minToasts","MIN_TOAST_MOBILE","MIN_TOAST_DESKTOP","defaultGutter","CONTAINER_GUTTER_MOBILE","CONTAINER_GUTTER_DESKTOP","bottomGutter","infoToasts","useMemo","filter","promoToasts","recomputedToasts","_toConsumableArray","hasPromoToast","length","visible","promoToastHeight","height","containerZIndex","TOAST_Z_INDEX","useLayoutEffect","firstToast","find","t","_firstToast$height","totalHeight","reduce","prevHeight","_toast$height","GUTTER","calculateYPosition","useCallback","_ref3","toastIndex","findIndex","id","toastsBefore","i","Math","max","SCALE_FACTOR","slice","y","_toast$height2","PEEK_GUTTER","handleMouseEnter","startPause","handleMouseLeave","endPause","handleToastClick","prev","next","_jsxs","makeSize","width","maxWidth","TOAST_MAX_WIDTH","className","metaAttribute","name","MetaConstants","ToastContainer","makeAnalyticsAttribute","children","_jsx","onMouseEnter","onMouseLeave","onClick","testID","map","_toast$position","toastPosition","_calculateYPosition","positionStyle","ref","el","getBoundingClientRect","updateHeight","toastHeight","wrapperZIndex","style","overflow","resolveValue","message","_ref4"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { size } from '../../tokens/global/size.js';
3
3
 
4
4
  var TOAST_MAX_WIDTH = size['360'];
5
5
  // higher than modal
6
- var TOAST_Z_INDEX = 2000;
6
+ var TOAST_Z_INDEX = 2001;
7
7
 
8
8
  // Space between the toasts
9
9
  var GUTTER = 12;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../../../src/components/Toast/constants.ts"],"sourcesContent":["import { size } from '~tokens/global';\n\nexport const TOAST_MAX_WIDTH = size['360'];\n// higher than modal\nexport const TOAST_Z_INDEX = 2000;\n\n// Space between the toasts\nexport const GUTTER = 12;\n// Space between the collapsed toast's peek\nexport const PEEK_GUTTER = 12;\n// Gap between the toast container and the page body\nexport const CONTAINER_GUTTER_MOBILE = 16;\nexport const CONTAINER_GUTTER_DESKTOP = 24;\n// How much to scale down the peeking toasts\nexport const SCALE_FACTOR = 0.05;\n// While collapsed, how many toasts to show\nexport const MAX_TOASTS = 1;\n// Minimum toasts to show on mobile and desktop\nexport const MIN_TOAST_MOBILE = 1;\nexport const MIN_TOAST_DESKTOP = 3;\n// While collapsed, how many toasts should be peeking\nexport const PEEKS = 3;\n"],"names":["TOAST_MAX_WIDTH","size","TOAST_Z_INDEX","GUTTER","PEEK_GUTTER","CONTAINER_GUTTER_MOBILE","CONTAINER_GUTTER_DESKTOP","SCALE_FACTOR","MAX_TOASTS","MIN_TOAST_MOBILE","MIN_TOAST_DESKTOP","PEEKS"],"mappings":";;;IAEaA,eAAe,GAAGC,IAAI,CAAC,KAAK,EAAC;AAC1C;AACO,IAAMC,aAAa,GAAG,KAAI;;AAEjC;AACO,IAAMC,MAAM,GAAG,GAAE;AACxB;AACO,IAAMC,WAAW,GAAG,GAAE;AAC7B;AACO,IAAMC,uBAAuB,GAAG,GAAE;AAClC,IAAMC,wBAAwB,GAAG,GAAE;AAC1C;AACO,IAAMC,YAAY,GAAG,KAAI;AAChC;AACO,IAAMC,UAAU,GAAG,EAAC;AAC3B;AACO,IAAMC,gBAAgB,GAAG,EAAC;AAC1B,IAAMC,iBAAiB,GAAG,EAAC;AAClC;AACO,IAAMC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"constants.js","sources":["../../../../../../src/components/Toast/constants.ts"],"sourcesContent":["import { size } from '~tokens/global';\n\nexport const TOAST_MAX_WIDTH = size['360'];\n// higher than modal\nexport const TOAST_Z_INDEX = 2001;\n\n// Space between the toasts\nexport const GUTTER = 12;\n// Space between the collapsed toast's peek\nexport const PEEK_GUTTER = 12;\n// Gap between the toast container and the page body\nexport const CONTAINER_GUTTER_MOBILE = 16;\nexport const CONTAINER_GUTTER_DESKTOP = 24;\n// How much to scale down the peeking toasts\nexport const SCALE_FACTOR = 0.05;\n// While collapsed, how many toasts to show\nexport const MAX_TOASTS = 1;\n// Minimum toasts to show on mobile and desktop\nexport const MIN_TOAST_MOBILE = 1;\nexport const MIN_TOAST_DESKTOP = 3;\n// While collapsed, how many toasts should be peeking\nexport const PEEKS = 3;\n"],"names":["TOAST_MAX_WIDTH","size","TOAST_Z_INDEX","GUTTER","PEEK_GUTTER","CONTAINER_GUTTER_MOBILE","CONTAINER_GUTTER_DESKTOP","SCALE_FACTOR","MAX_TOASTS","MIN_TOAST_MOBILE","MIN_TOAST_DESKTOP","PEEKS"],"mappings":";;;IAEaA,eAAe,GAAGC,IAAI,CAAC,KAAK,EAAC;AAC1C;AACO,IAAMC,aAAa,GAAG,KAAI;;AAEjC;AACO,IAAMC,MAAM,GAAG,GAAE;AACxB;AACO,IAAMC,WAAW,GAAG,GAAE;AAC7B;AACO,IAAMC,uBAAuB,GAAG,GAAE;AAClC,IAAMC,wBAAwB,GAAG,GAAE;AAC1C;AACO,IAAMC,YAAY,GAAG,KAAI;AAChC;AACO,IAAMC,UAAU,GAAG,EAAC;AAC3B;AACO,IAAMC,gBAAgB,GAAG,EAAC;AAC1B,IAAMC,iBAAiB,GAAG,EAAC;AAClC;AACO,IAAMC,KAAK,GAAG;;;;"}
@@ -165,6 +165,7 @@ var _BaseFilterChip = function _BaseFilterChip(_ref5, ref) {
165
165
  }, makeAccessible(_objectSpread(_objectSpread({}, accessibilityProps), {}, {
166
166
  role: (_accessibilityProps$r = accessibilityProps === null || accessibilityProps === void 0 ? void 0 : accessibilityProps.role) !== null && _accessibilityProps$r !== void 0 ? _accessibilityProps$r : 'button'
167
167
  }))), getStyledProps(rest)), makeAnalyticsAttribute(rest)), metaAttribute({
168
+ name: 'filter-chip-trigger',
168
169
  testID: rest.testID
169
170
  })), {}, {
170
171
  children: [/*#__PURE__*/jsxs(Box, {
@@ -191,7 +192,7 @@ var _BaseFilterChip = function _BaseFilterChip(_ref5, ref) {
191
192
  children: [/*#__PURE__*/jsx(Divider, {
192
193
  orientation: "vertical",
193
194
  variant: isDisabled ? 'muted' : 'subtle'
194
- }), /*#__PURE__*/jsx(StyledFilterCloseButton, {
195
+ }), /*#__PURE__*/jsx(StyledFilterCloseButton, _objectSpread(_objectSpread({
195
196
  "aria-label": "Clear ".concat(label, " value")
196
197
  // value can never be undefined because when it's undefined the button itself doesn't render/
197
198
  ,
@@ -200,12 +201,15 @@ var _BaseFilterChip = function _BaseFilterChip(_ref5, ref) {
200
201
  value: value !== null && value !== void 0 ? value : ''
201
202
  });
202
203
  },
203
- disabled: isDisabled,
204
+ disabled: isDisabled
205
+ }, metaAttribute({
206
+ name: 'filter-chip-close-button'
207
+ })), {}, {
204
208
  children: /*#__PURE__*/jsx(CloseIcon, {
205
209
  size: "small",
206
210
  color: "interactive.icon.gray.muted"
207
211
  })
208
- })]
212
+ }))]
209
213
  }) : null]
210
214
  });
211
215
  };
@@ -1 +1 @@
1
- {"version":3,"file":"BaseFilterChip.web.js","sources":["../../../../../../src/components/FilterChip/BaseFilterChip.web.tsx"],"sourcesContent":["import React from 'react';\nimport type { CSSObject } from 'styled-components';\nimport styled from 'styled-components';\nimport { FILTER_CHIP_HEIGHT } from './tokens';\nimport type { BaseFilterChipProps } from './types';\nimport { Box } from '~components/Box';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Counter } from '~components/Counter';\nimport { Divider } from '~components/Divider';\nimport { ChevronDownIcon, CloseIcon } from '~components/Icons';\nimport { Text } from '~components/Typography';\nimport { makeBorderSize, makeSpace } from '~utils';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\nimport type { Theme } from '~components/BladeProvider';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport type { BladeElementRef } from '~utils/types';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst getInteractiveFilterItemStyles = ({ theme }: { theme: Theme }): CSSObject => {\n return {\n display: 'flex',\n height: '100%',\n alignItems: 'center',\n border: 'none',\n cursor: 'pointer',\n color: 'currentcolor',\n '&:not([disabled]):hover': {\n backgroundColor: theme.colors.interactive.background.gray.faded,\n },\n '&[disabled]': {\n cursor: 'not-allowed',\n },\n '&:focus-visible': {\n ...getFocusRingStyles({ theme }),\n outlineOffset: makeSpace(theme.spacing[1]),\n },\n };\n};\n\nconst StyledFilterChip = styled(BaseBox)<{ $isSelected?: boolean; $isDisabled?: boolean }>(\n ({ theme, $isDisabled }) => {\n return {\n borderWidth: makeBorderSize(theme.border.width.thinner),\n borderColor: theme.colors.interactive.border.gray[$isDisabled ? 'disabled' : 'highlighted'],\n height: FILTER_CHIP_HEIGHT,\n borderRadius: theme.border.radius.max,\n display: 'flex',\n borderStyle: 'solid',\n backgroundColor: theme.colors.surface.background.gray.intense,\n color: theme.colors.interactive.text.gray[$isDisabled ? 'disabled' : 'normal'],\n width: 'fit-content',\n };\n },\n);\n\nconst StyledFilterTrigger = styled.button<{ $isSelected?: boolean }>(({ theme, $isSelected }) => {\n const { spacing } = theme;\n return {\n backgroundColor: theme.colors.transparent,\n borderRadius: $isSelected ? theme.border.radius.none : theme.border.radius.max,\n borderTopLeftRadius: theme.border.radius.max,\n borderBottomLeftRadius: theme.border.radius.max,\n paddingLeft: makeSpace(spacing[4]),\n paddingRight: $isSelected ? makeSpace(spacing[2]) : makeSpace(spacing[3]),\n gap: makeSpace(spacing[2]),\n ...getInteractiveFilterItemStyles({ theme }),\n };\n});\n\nconst StyledFilterCloseButton = styled.button(({ theme }) => {\n return {\n backgroundColor: theme.colors.transparent,\n borderTopRightRadius: theme.border.radius.max,\n borderBottomRightRadius: theme.border.radius.max,\n paddingLeft: makeSpace(theme.spacing[2]),\n paddingRight: makeSpace(theme.spacing[3]),\n justifyContent: 'center',\n ...getInteractiveFilterItemStyles({ theme }),\n };\n});\n\nconst renderValue = (\n selectionType: BaseFilterChipProps['selectionType'],\n value: BaseFilterChipProps['value'],\n isDisabled?: boolean,\n): React.ReactElement => {\n if (selectionType === 'multiple' && Array.isArray(value)) {\n return (\n <Box display=\"flex\" alignItems=\"center\">\n <Counter value={value.length} color={isDisabled ? 'neutral' : 'primary'} size=\"small\" />\n </Box>\n );\n }\n\n return (\n <Text\n as=\"span\"\n size=\"xsmall\"\n weight=\"semibold\"\n color={isDisabled ? 'interactive.text.gray.disabled' : 'interactive.text.primary.normal'}\n >\n {value}\n </Text>\n );\n};\n\nconst _BaseFilterChip: React.ForwardRefRenderFunction<BladeElementRef, BaseFilterChipProps> = (\n {\n value,\n onClearButtonClick,\n label,\n isDisabled,\n selectionType = 'single',\n onClick,\n onKeyDown,\n accessibilityProps,\n id,\n ...rest\n }: BaseFilterChipProps,\n ref: React.Ref<BladeElementRef>,\n): React.ReactElement => {\n const isSelected =\n selectionType === 'multiple' ? Array.isArray(value) && value.length > 0 : !!value;\n\n return (\n <StyledFilterChip\n $isDisabled={isDisabled}\n $isSelected={isSelected}\n ref={ref as React.Ref<HTMLDivElement>}\n >\n <StyledFilterTrigger\n $isSelected={isSelected}\n disabled={isDisabled}\n id={id}\n onClick={(e) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onClick?.(e as any);\n }}\n onKeyDown={(e) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onKeyDown?.(e as any);\n }}\n {...makeAccessible({\n ...accessibilityProps,\n role: accessibilityProps?.role ?? 'button',\n })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n {...metaAttribute({ testID: rest.testID })}\n >\n <Box display=\"flex\" gap=\"spacing.2\" whiteSpace=\"nowrap\">\n <Text\n size=\"xsmall\"\n weight=\"medium\"\n color=\"interactive.text.gray.subtle\"\n truncateAfterLines={1}\n >\n {label}\n {isSelected ? ':' : null}\n </Text>\n {isSelected ? renderValue(selectionType, value, isDisabled) : null}\n </Box>\n <Box display=\"flex\" alignItems=\"center\" paddingRight=\"spacing.1\">\n <ChevronDownIcon size=\"small\" color=\"interactive.icon.gray.muted\" />\n </Box>\n </StyledFilterTrigger>\n {isSelected ? (\n <>\n <Divider orientation=\"vertical\" variant={isDisabled ? 'muted' : 'subtle'} />\n <StyledFilterCloseButton\n aria-label={`Clear ${label} value`}\n // value can never be undefined because when it's undefined the button itself doesn't render/\n onClick={() => onClearButtonClick?.({ value: value ?? '' })}\n disabled={isDisabled}\n >\n <CloseIcon size=\"small\" color=\"interactive.icon.gray.muted\" />\n </StyledFilterCloseButton>\n </>\n ) : null}\n </StyledFilterChip>\n );\n};\n\nconst BaseFilterChip = assignWithoutSideEffects(React.forwardRef(_BaseFilterChip), {\n componentId: MetaConstants.BaseFilterChip,\n});\n\nexport { BaseFilterChip };\n"],"names":["getInteractiveFilterItemStyles","_ref","theme","display","height","alignItems","border","cursor","color","backgroundColor","colors","interactive","background","gray","faded","_objectSpread","getFocusRingStyles","outlineOffset","makeSpace","spacing","StyledFilterChip","styled","BaseBox","withConfig","displayName","componentId","_ref2","$isDisabled","borderWidth","makeBorderSize","width","thinner","borderColor","FILTER_CHIP_HEIGHT","borderRadius","radius","max","borderStyle","surface","intense","text","StyledFilterTrigger","button","_ref3","$isSelected","transparent","none","borderTopLeftRadius","borderBottomLeftRadius","paddingLeft","paddingRight","gap","StyledFilterCloseButton","_ref4","borderTopRightRadius","borderBottomRightRadius","justifyContent","renderValue","selectionType","value","isDisabled","Array","isArray","_jsx","Box","children","Counter","length","size","Text","as","weight","_BaseFilterChip","_ref5","ref","_accessibilityProps$r","onClearButtonClick","label","_ref5$selectionType","onClick","onKeyDown","accessibilityProps","id","rest","_objectWithoutProperties","_excluded","isSelected","_jsxs","disabled","e","makeAccessible","role","getStyledProps","makeAnalyticsAttribute","metaAttribute","testID","whiteSpace","truncateAfterLines","ChevronDownIcon","_Fragment","Divider","orientation","variant","concat","CloseIcon","BaseFilterChip","assignWithoutSideEffects","React","forwardRef","MetaConstants"],"mappings":"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"}
1
+ {"version":3,"file":"BaseFilterChip.web.js","sources":["../../../../../../src/components/FilterChip/BaseFilterChip.web.tsx"],"sourcesContent":["import React from 'react';\nimport type { CSSObject } from 'styled-components';\nimport styled from 'styled-components';\nimport { FILTER_CHIP_HEIGHT } from './tokens';\nimport type { BaseFilterChipProps } from './types';\nimport { Box } from '~components/Box';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Counter } from '~components/Counter';\nimport { Divider } from '~components/Divider';\nimport { ChevronDownIcon, CloseIcon } from '~components/Icons';\nimport { Text } from '~components/Typography';\nimport { makeBorderSize, makeSpace } from '~utils';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\nimport type { Theme } from '~components/BladeProvider';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport type { BladeElementRef } from '~utils/types';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst getInteractiveFilterItemStyles = ({ theme }: { theme: Theme }): CSSObject => {\n return {\n display: 'flex',\n height: '100%',\n alignItems: 'center',\n border: 'none',\n cursor: 'pointer',\n color: 'currentcolor',\n '&:not([disabled]):hover': {\n backgroundColor: theme.colors.interactive.background.gray.faded,\n },\n '&[disabled]': {\n cursor: 'not-allowed',\n },\n '&:focus-visible': {\n ...getFocusRingStyles({ theme }),\n outlineOffset: makeSpace(theme.spacing[1]),\n },\n };\n};\n\nconst StyledFilterChip = styled(BaseBox)<{ $isSelected?: boolean; $isDisabled?: boolean }>(\n ({ theme, $isDisabled }) => {\n return {\n borderWidth: makeBorderSize(theme.border.width.thinner),\n borderColor: theme.colors.interactive.border.gray[$isDisabled ? 'disabled' : 'highlighted'],\n height: FILTER_CHIP_HEIGHT,\n borderRadius: theme.border.radius.max,\n display: 'flex',\n borderStyle: 'solid',\n backgroundColor: theme.colors.surface.background.gray.intense,\n color: theme.colors.interactive.text.gray[$isDisabled ? 'disabled' : 'normal'],\n width: 'fit-content',\n };\n },\n);\n\nconst StyledFilterTrigger = styled.button<{ $isSelected?: boolean }>(({ theme, $isSelected }) => {\n const { spacing } = theme;\n return {\n backgroundColor: theme.colors.transparent,\n borderRadius: $isSelected ? theme.border.radius.none : theme.border.radius.max,\n borderTopLeftRadius: theme.border.radius.max,\n borderBottomLeftRadius: theme.border.radius.max,\n paddingLeft: makeSpace(spacing[4]),\n paddingRight: $isSelected ? makeSpace(spacing[2]) : makeSpace(spacing[3]),\n gap: makeSpace(spacing[2]),\n ...getInteractiveFilterItemStyles({ theme }),\n };\n});\n\nconst StyledFilterCloseButton = styled.button(({ theme }) => {\n return {\n backgroundColor: theme.colors.transparent,\n borderTopRightRadius: theme.border.radius.max,\n borderBottomRightRadius: theme.border.radius.max,\n paddingLeft: makeSpace(theme.spacing[2]),\n paddingRight: makeSpace(theme.spacing[3]),\n justifyContent: 'center',\n ...getInteractiveFilterItemStyles({ theme }),\n };\n});\n\nconst renderValue = (\n selectionType: BaseFilterChipProps['selectionType'],\n value: BaseFilterChipProps['value'],\n isDisabled?: boolean,\n): React.ReactElement => {\n if (selectionType === 'multiple' && Array.isArray(value)) {\n return (\n <Box display=\"flex\" alignItems=\"center\">\n <Counter value={value.length} color={isDisabled ? 'neutral' : 'primary'} size=\"small\" />\n </Box>\n );\n }\n\n return (\n <Text\n as=\"span\"\n size=\"xsmall\"\n weight=\"semibold\"\n color={isDisabled ? 'interactive.text.gray.disabled' : 'interactive.text.primary.normal'}\n >\n {value}\n </Text>\n );\n};\n\nconst _BaseFilterChip: React.ForwardRefRenderFunction<BladeElementRef, BaseFilterChipProps> = (\n {\n value,\n onClearButtonClick,\n label,\n isDisabled,\n selectionType = 'single',\n onClick,\n onKeyDown,\n accessibilityProps,\n id,\n ...rest\n }: BaseFilterChipProps,\n ref: React.Ref<BladeElementRef>,\n): React.ReactElement => {\n const isSelected =\n selectionType === 'multiple' ? Array.isArray(value) && value.length > 0 : !!value;\n\n return (\n <StyledFilterChip\n $isDisabled={isDisabled}\n $isSelected={isSelected}\n ref={ref as React.Ref<HTMLDivElement>}\n >\n <StyledFilterTrigger\n $isSelected={isSelected}\n disabled={isDisabled}\n id={id}\n onClick={(e) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onClick?.(e as any);\n }}\n onKeyDown={(e) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onKeyDown?.(e as any);\n }}\n {...makeAccessible({\n ...accessibilityProps,\n role: accessibilityProps?.role ?? 'button',\n })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n {...metaAttribute({ name: 'filter-chip-trigger', testID: rest.testID })}\n >\n <Box display=\"flex\" gap=\"spacing.2\" whiteSpace=\"nowrap\">\n <Text\n size=\"xsmall\"\n weight=\"medium\"\n color=\"interactive.text.gray.subtle\"\n truncateAfterLines={1}\n >\n {label}\n {isSelected ? ':' : null}\n </Text>\n {isSelected ? renderValue(selectionType, value, isDisabled) : null}\n </Box>\n <Box display=\"flex\" alignItems=\"center\" paddingRight=\"spacing.1\">\n <ChevronDownIcon size=\"small\" color=\"interactive.icon.gray.muted\" />\n </Box>\n </StyledFilterTrigger>\n {isSelected ? (\n <>\n <Divider orientation=\"vertical\" variant={isDisabled ? 'muted' : 'subtle'} />\n <StyledFilterCloseButton\n aria-label={`Clear ${label} value`}\n // value can never be undefined because when it's undefined the button itself doesn't render/\n onClick={() => onClearButtonClick?.({ value: value ?? '' })}\n disabled={isDisabled}\n {...metaAttribute({ name: 'filter-chip-close-button' })}\n >\n <CloseIcon size=\"small\" color=\"interactive.icon.gray.muted\" />\n </StyledFilterCloseButton>\n </>\n ) : null}\n </StyledFilterChip>\n );\n};\n\nconst BaseFilterChip = assignWithoutSideEffects(React.forwardRef(_BaseFilterChip), {\n componentId: MetaConstants.BaseFilterChip,\n});\n\nexport { BaseFilterChip };\n"],"names":["getInteractiveFilterItemStyles","_ref","theme","display","height","alignItems","border","cursor","color","backgroundColor","colors","interactive","background","gray","faded","_objectSpread","getFocusRingStyles","outlineOffset","makeSpace","spacing","StyledFilterChip","styled","BaseBox","withConfig","displayName","componentId","_ref2","$isDisabled","borderWidth","makeBorderSize","width","thinner","borderColor","FILTER_CHIP_HEIGHT","borderRadius","radius","max","borderStyle","surface","intense","text","StyledFilterTrigger","button","_ref3","$isSelected","transparent","none","borderTopLeftRadius","borderBottomLeftRadius","paddingLeft","paddingRight","gap","StyledFilterCloseButton","_ref4","borderTopRightRadius","borderBottomRightRadius","justifyContent","renderValue","selectionType","value","isDisabled","Array","isArray","_jsx","Box","children","Counter","length","size","Text","as","weight","_BaseFilterChip","_ref5","ref","_accessibilityProps$r","onClearButtonClick","label","_ref5$selectionType","onClick","onKeyDown","accessibilityProps","id","rest","_objectWithoutProperties","_excluded","isSelected","_jsxs","disabled","e","makeAccessible","role","getStyledProps","makeAnalyticsAttribute","metaAttribute","name","testID","whiteSpace","truncateAfterLines","ChevronDownIcon","_Fragment","Divider","orientation","variant","concat","CloseIcon","BaseFilterChip","assignWithoutSideEffects","React","forwardRef","MetaConstants"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
2
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
3
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
4
- import { useFloating, shift, flip, offset, arrow, autoUpdate, useTransitionStyles, useClick, useDismiss, useRole, useInteractions, FloatingPortal, FloatingFocusManager } from '@floating-ui/react';
4
+ import { useFloating, shift, flip, offset, arrow, autoUpdate, useTransitionStyles, useClick, useHover, useDismiss, useRole, useInteractions, FloatingPortal, FloatingFocusManager } from '@floating-ui/react';
5
5
  import React__default from 'react';
6
6
  import { PopoverContent } from './PopoverContent.js';
7
7
  import { ARROW_HEIGHT, ARROW_WIDTH } from './constants.js';
@@ -29,7 +29,7 @@ import { makeAccessible } from '../../utils/makeAccessible/makeAccessible.web.js
29
29
  import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
30
30
  import { PopupArrow } from '../PopupArrow/PopupArrow.web.js';
31
31
 
32
- var _excluded = ["content", "title", "titleLeading", "footer", "children", "placement", "onOpenChange", "zIndex", "isOpen", "defaultIsOpen", "initialFocusRef"];
32
+ var _excluded = ["content", "title", "titleLeading", "footer", "children", "placement", "onOpenChange", "zIndex", "isOpen", "defaultIsOpen", "initialFocusRef", "openInteraction"];
33
33
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
34
34
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
35
35
  var Popover = function Popover(_ref) {
@@ -46,6 +46,8 @@ var Popover = function Popover(_ref) {
46
46
  isOpen = _ref.isOpen,
47
47
  defaultIsOpen = _ref.defaultIsOpen,
48
48
  initialFocusRef = _ref.initialFocusRef,
49
+ _ref$openInteraction = _ref.openInteraction,
50
+ openInteraction = _ref$openInteraction === void 0 ? 'click' : _ref$openInteraction,
49
51
  rest = _objectWithoutProperties(_ref, _excluded);
50
52
  var _useTheme = useTheme(),
51
53
  theme = _useTheme.theme;
@@ -121,11 +123,14 @@ var Popover = function Popover(_ref) {
121
123
  // remove click handler if popover is controlled
122
124
  var isControlled = isOpen !== undefined;
123
125
  var click = useClick(context, {
124
- enabled: !isControlled
126
+ enabled: !isControlled && openInteraction === 'click'
127
+ });
128
+ var hover = useHover(context, {
129
+ enabled: !isControlled && openInteraction === 'hover'
125
130
  });
126
131
  var dismiss = useDismiss(context);
127
132
  var role = useRole(context);
128
- var _useInteractions = useInteractions([click, dismiss, role]),
133
+ var _useInteractions = useInteractions([click, dismiss, role, hover]),
129
134
  getReferenceProps = _useInteractions.getReferenceProps,
130
135
  getFloatingProps = _useInteractions.getFloatingProps;
131
136
  var triggerRef = React__default.useRef(null);
@@ -134,9 +139,10 @@ var Popover = function Popover(_ref) {
134
139
  return {
135
140
  close: close,
136
141
  defaultInitialFocusRef: defaultInitialFocusRef,
137
- titleId: titleId
142
+ titleId: titleId,
143
+ openInteraction: openInteraction
138
144
  };
139
- }, [close, titleId]);
145
+ }, [close, titleId, openInteraction]);
140
146
 
141
147
  // Inject aria attributes to trigger
142
148
  // Doing it this way instead of makeAccessible()
@@ -158,7 +164,7 @@ var Popover = function Popover(_ref) {
158
164
  ref: mergedRef
159
165
  }, mergeProps(children.props, getReferenceProps()))), isMounted && /*#__PURE__*/jsx(FloatingPortal, {
160
166
  children: /*#__PURE__*/jsx(FloatingFocusManager, {
161
- initialFocus: initialFocusRef !== null && initialFocusRef !== void 0 ? initialFocusRef : defaultInitialFocusRef,
167
+ initialFocus: initialFocusRef !== null && initialFocusRef !== void 0 ? initialFocusRef : openInteraction === 'hover' ? -1 : defaultInitialFocusRef,
162
168
  context: context,
163
169
  modal: true,
164
170
  guards: true,
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.web.js","sources":["../../../../../../src/components/Popover/Popover.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/restrict-plus-operands */\nimport {\n shift,\n FloatingPortal,\n arrow,\n flip,\n offset,\n useFloating,\n useInteractions,\n useRole,\n useTransitionStyles,\n autoUpdate,\n useClick,\n useDismiss,\n FloatingFocusManager,\n} from '@floating-ui/react';\nimport React from 'react';\nimport type { PopoverProps } from './types';\nimport { PopoverContent } from './PopoverContent';\nimport { ARROW_HEIGHT, ARROW_WIDTH } from './constants';\nimport { PopoverContext } from './PopoverContext';\nimport { useTheme } from '~components/BladeProvider';\nimport BaseBox from '~components/Box/BaseBox';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { size } from '~tokens/global';\nimport { useControllableState } from '~utils/useControllable';\nimport { mergeProps } from '~utils/mergeProps';\nimport { PopupArrow } from '~components/PopupArrow';\nimport { useMergeRefs } from '~utils/useMergeRefs';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { useId } from '~utils/useId';\nimport { getFloatingPlacementParts } from '~utils/getFloatingPlacementParts';\nimport { componentZIndices } from '~utils/componentZIndices';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst Popover = ({\n content,\n title,\n titleLeading,\n footer,\n children,\n placement = 'top',\n onOpenChange,\n zIndex = componentZIndices.popover,\n isOpen,\n defaultIsOpen,\n initialFocusRef,\n ...rest\n}: PopoverProps): React.ReactElement => {\n const { theme } = useTheme();\n const defaultInitialFocusRef = React.useRef<HTMLButtonElement>(null);\n const arrowRef = React.useRef<SVGSVGElement>(null);\n const titleId = useId('popover-title');\n\n const GAP = theme.spacing[2];\n const [side] = getFloatingPlacementParts(placement);\n const isHorizontal = side === 'left' || side === 'right';\n const isOppositeAxis = side === 'right' || side === 'bottom';\n\n const [controllableIsOpen, controllableSetIsOpen] = useControllableState({\n value: isOpen,\n defaultValue: defaultIsOpen,\n onChange: (isOpen) => onOpenChange?.({ isOpen }),\n });\n\n const { refs, floatingStyles, context, placement: computedPlacement } = useFloating({\n open: controllableIsOpen,\n onOpenChange: (isOpen) => controllableSetIsOpen(() => isOpen),\n placement,\n strategy: 'fixed',\n middleware: [\n shift({ crossAxis: false, padding: GAP }),\n flip({ padding: GAP, fallbackAxisSideDirection: 'end' }),\n offset(GAP + ARROW_HEIGHT),\n arrow({\n element: arrowRef,\n padding: isHorizontal ? GAP + ARROW_HEIGHT : ARROW_WIDTH,\n }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const close = React.useCallback(() => {\n controllableSetIsOpen(() => false);\n }, [controllableSetIsOpen]);\n\n // we need to animate from the offset of the computed placement\n // because placement can change dynamically based on available space\n const [computedSide] = getFloatingPlacementParts(computedPlacement);\n const computedIsHorizontal = computedSide === 'left' || computedSide === 'right';\n const animationOffset = isOppositeAxis ? -size[4] : size[4];\n const { isMounted, styles } = useTransitionStyles(context, {\n duration: theme.motion.duration.quick,\n initial: {\n opacity: 0,\n transform: `translate${computedIsHorizontal ? 'X' : 'Y'}(${animationOffset}px)`,\n },\n });\n\n // remove click handler if popover is controlled\n const isControlled = isOpen !== undefined;\n const click = useClick(context, { enabled: !isControlled });\n const dismiss = useDismiss(context);\n const role = useRole(context);\n\n const { getReferenceProps, getFloatingProps } = useInteractions([click, dismiss, role]);\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n const mergedRef = useMergeRefs(refs.setReference, triggerRef);\n\n const contextValue = React.useMemo(() => {\n return {\n close,\n defaultInitialFocusRef,\n titleId,\n };\n }, [close, titleId]);\n\n // Inject aria attributes to trigger\n // Doing it this way instead of makeAccessible()\n // because with makeAccessible we will need to make sure aria-controls, aria-expanded etc\n // are exposed from the trigger component prop, which we cannot ensure\n React.useLayoutEffect(() => {\n if (!triggerRef.current) return;\n\n const props = getReferenceProps() as Record<string, string>;\n for (const key of Object.keys(props)) {\n if (key.startsWith('aria-')) {\n triggerRef.current.setAttribute(key, props[key]);\n }\n }\n }, [getReferenceProps, triggerRef]);\n\n return (\n <PopoverContext.Provider value={contextValue}>\n {/* Cloning the trigger children to enhance it with ref and event handler */}\n {React.cloneElement(children, {\n ref: mergedRef,\n ...mergeProps(children.props, getReferenceProps()),\n })}\n {isMounted && (\n <FloatingPortal>\n <FloatingFocusManager\n initialFocus={initialFocusRef ?? defaultInitialFocusRef}\n context={context}\n modal={true}\n guards={true}\n >\n <BaseBox\n ref={refs.setFloating}\n style={floatingStyles}\n // TODO: Tokenize zIndex values\n zIndex={zIndex}\n {...getFloatingProps()}\n {...metaAttribute({ name: MetaConstants.Popover })}\n {...makeAccessible({ labelledBy: titleId })}\n {...makeAnalyticsAttribute(rest)}\n >\n <PopoverContent\n title={title}\n titleLeading={titleLeading}\n footer={footer}\n style={styles}\n arrow={\n <PopupArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fillColor={theme.colors.popup.background.subtle}\n strokeColor={theme.colors.popup.border.subtle}\n />\n }\n >\n {content}\n </PopoverContent>\n </BaseBox>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </PopoverContext.Provider>\n );\n};\n\nexport { Popover };\n"],"names":["Popover","_ref","content","title","titleLeading","footer","children","_ref$placement","placement","onOpenChange","_ref$zIndex","zIndex","componentZIndices","popover","isOpen","defaultIsOpen","initialFocusRef","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","theme","defaultInitialFocusRef","React","useRef","arrowRef","titleId","useId","GAP","spacing","_getFloatingPlacement","getFloatingPlacementParts","_getFloatingPlacement2","_slicedToArray","side","isHorizontal","isOppositeAxis","_useControllableState","useControllableState","value","defaultValue","onChange","_useControllableState2","controllableIsOpen","controllableSetIsOpen","_useFloating","useFloating","open","strategy","middleware","shift","crossAxis","padding","flip","fallbackAxisSideDirection","offset","ARROW_HEIGHT","arrow","element","ARROW_WIDTH","whileElementsMounted","autoUpdate","refs","floatingStyles","context","computedPlacement","close","useCallback","_getFloatingPlacement3","_getFloatingPlacement4","computedSide","computedIsHorizontal","animationOffset","size","_useTransitionStyles","useTransitionStyles","duration","motion","quick","initial","opacity","transform","concat","isMounted","styles","isControlled","undefined","click","useClick","enabled","dismiss","useDismiss","role","useRole","_useInteractions","useInteractions","getReferenceProps","getFloatingProps","triggerRef","mergedRef","useMergeRefs","setReference","contextValue","useMemo","useLayoutEffect","current","props","_i","_Object$keys","Object","keys","length","key","startsWith","setAttribute","_jsxs","PopoverContext","Provider","cloneElement","_objectSpread","ref","mergeProps","_jsx","FloatingPortal","FloatingFocusManager","initialFocus","modal","guards","BaseBox","setFloating","style","metaAttribute","name","MetaConstants","makeAccessible","labelledBy","makeAnalyticsAttribute","PopoverContent","PopupArrow","width","height","fillColor","colors","popup","background","subtle","strokeColor","border"],"mappings":"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"}
1
+ {"version":3,"file":"Popover.web.js","sources":["../../../../../../src/components/Popover/Popover.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/restrict-plus-operands */\nimport {\n shift,\n FloatingPortal,\n arrow,\n flip,\n offset,\n useFloating,\n useInteractions,\n useRole,\n useTransitionStyles,\n autoUpdate,\n useClick,\n useHover,\n useDismiss,\n FloatingFocusManager,\n} from '@floating-ui/react';\nimport React from 'react';\nimport type { PopoverProps } from './types';\nimport { PopoverContent } from './PopoverContent';\nimport { ARROW_HEIGHT, ARROW_WIDTH } from './constants';\nimport { PopoverContext } from './PopoverContext';\nimport { useTheme } from '~components/BladeProvider';\nimport BaseBox from '~components/Box/BaseBox';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { size } from '~tokens/global';\nimport { useControllableState } from '~utils/useControllable';\nimport { mergeProps } from '~utils/mergeProps';\nimport { PopupArrow } from '~components/PopupArrow';\nimport { useMergeRefs } from '~utils/useMergeRefs';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { useId } from '~utils/useId';\nimport { getFloatingPlacementParts } from '~utils/getFloatingPlacementParts';\nimport { componentZIndices } from '~utils/componentZIndices';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst Popover = ({\n content,\n title,\n titleLeading,\n footer,\n children,\n placement = 'top',\n onOpenChange,\n zIndex = componentZIndices.popover,\n isOpen,\n defaultIsOpen,\n initialFocusRef,\n openInteraction = 'click',\n ...rest\n}: PopoverProps): React.ReactElement => {\n const { theme } = useTheme();\n const defaultInitialFocusRef = React.useRef<HTMLButtonElement>(null);\n const arrowRef = React.useRef<SVGSVGElement>(null);\n const titleId = useId('popover-title');\n\n const GAP = theme.spacing[2];\n const [side] = getFloatingPlacementParts(placement);\n const isHorizontal = side === 'left' || side === 'right';\n const isOppositeAxis = side === 'right' || side === 'bottom';\n\n const [controllableIsOpen, controllableSetIsOpen] = useControllableState({\n value: isOpen,\n defaultValue: defaultIsOpen,\n onChange: (isOpen) => onOpenChange?.({ isOpen }),\n });\n\n const { refs, floatingStyles, context, placement: computedPlacement } = useFloating({\n open: controllableIsOpen,\n onOpenChange: (isOpen) => controllableSetIsOpen(() => isOpen),\n placement,\n strategy: 'fixed',\n middleware: [\n shift({ crossAxis: false, padding: GAP }),\n flip({ padding: GAP, fallbackAxisSideDirection: 'end' }),\n offset(GAP + ARROW_HEIGHT),\n arrow({\n element: arrowRef,\n padding: isHorizontal ? GAP + ARROW_HEIGHT : ARROW_WIDTH,\n }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const close = React.useCallback(() => {\n controllableSetIsOpen(() => false);\n }, [controllableSetIsOpen]);\n\n // we need to animate from the offset of the computed placement\n // because placement can change dynamically based on available space\n const [computedSide] = getFloatingPlacementParts(computedPlacement);\n const computedIsHorizontal = computedSide === 'left' || computedSide === 'right';\n const animationOffset = isOppositeAxis ? -size[4] : size[4];\n const { isMounted, styles } = useTransitionStyles(context, {\n duration: theme.motion.duration.quick,\n initial: {\n opacity: 0,\n transform: `translate${computedIsHorizontal ? 'X' : 'Y'}(${animationOffset}px)`,\n },\n });\n\n // remove click handler if popover is controlled\n const isControlled = isOpen !== undefined;\n const click = useClick(context, { enabled: !isControlled && openInteraction === 'click' });\n const hover = useHover(context, { enabled: !isControlled && openInteraction === 'hover' });\n const dismiss = useDismiss(context);\n const role = useRole(context);\n\n const { getReferenceProps, getFloatingProps } = useInteractions([click, dismiss, role, hover]);\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n const mergedRef = useMergeRefs(refs.setReference, triggerRef);\n\n const contextValue = React.useMemo(() => {\n return {\n close,\n defaultInitialFocusRef,\n titleId,\n openInteraction,\n };\n }, [close, titleId, openInteraction]);\n\n // Inject aria attributes to trigger\n // Doing it this way instead of makeAccessible()\n // because with makeAccessible we will need to make sure aria-controls, aria-expanded etc\n // are exposed from the trigger component prop, which we cannot ensure\n React.useLayoutEffect(() => {\n if (!triggerRef.current) return;\n\n const props = getReferenceProps() as Record<string, string>;\n for (const key of Object.keys(props)) {\n if (key.startsWith('aria-')) {\n triggerRef.current.setAttribute(key, props[key]);\n }\n }\n }, [getReferenceProps, triggerRef]);\n\n return (\n <PopoverContext.Provider value={contextValue}>\n {/* Cloning the trigger children to enhance it with ref and event handler */}\n {React.cloneElement(children, {\n ref: mergedRef,\n ...mergeProps(children.props, getReferenceProps()),\n })}\n {isMounted && (\n <FloatingPortal>\n <FloatingFocusManager\n initialFocus={\n initialFocusRef ?? (openInteraction === 'hover' ? -1 : defaultInitialFocusRef)\n }\n context={context}\n modal={true}\n guards={true}\n >\n <BaseBox\n ref={refs.setFloating}\n style={floatingStyles}\n // TODO: Tokenize zIndex values\n zIndex={zIndex}\n {...getFloatingProps()}\n {...metaAttribute({ name: MetaConstants.Popover })}\n {...makeAccessible({ labelledBy: titleId })}\n {...makeAnalyticsAttribute(rest)}\n >\n <PopoverContent\n title={title}\n titleLeading={titleLeading}\n footer={footer}\n style={styles}\n arrow={\n <PopupArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fillColor={theme.colors.popup.background.subtle}\n strokeColor={theme.colors.popup.border.subtle}\n />\n }\n >\n {content}\n </PopoverContent>\n </BaseBox>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </PopoverContext.Provider>\n );\n};\n\nexport { Popover };\n"],"names":["Popover","_ref","content","title","titleLeading","footer","children","_ref$placement","placement","onOpenChange","_ref$zIndex","zIndex","componentZIndices","popover","isOpen","defaultIsOpen","initialFocusRef","_ref$openInteraction","openInteraction","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","theme","defaultInitialFocusRef","React","useRef","arrowRef","titleId","useId","GAP","spacing","_getFloatingPlacement","getFloatingPlacementParts","_getFloatingPlacement2","_slicedToArray","side","isHorizontal","isOppositeAxis","_useControllableState","useControllableState","value","defaultValue","onChange","_useControllableState2","controllableIsOpen","controllableSetIsOpen","_useFloating","useFloating","open","strategy","middleware","shift","crossAxis","padding","flip","fallbackAxisSideDirection","offset","ARROW_HEIGHT","arrow","element","ARROW_WIDTH","whileElementsMounted","autoUpdate","refs","floatingStyles","context","computedPlacement","close","useCallback","_getFloatingPlacement3","_getFloatingPlacement4","computedSide","computedIsHorizontal","animationOffset","size","_useTransitionStyles","useTransitionStyles","duration","motion","quick","initial","opacity","transform","concat","isMounted","styles","isControlled","undefined","click","useClick","enabled","hover","useHover","dismiss","useDismiss","role","useRole","_useInteractions","useInteractions","getReferenceProps","getFloatingProps","triggerRef","mergedRef","useMergeRefs","setReference","contextValue","useMemo","useLayoutEffect","current","props","_i","_Object$keys","Object","keys","length","key","startsWith","setAttribute","_jsxs","PopoverContext","Provider","cloneElement","_objectSpread","ref","mergeProps","_jsx","FloatingPortal","FloatingFocusManager","initialFocus","modal","guards","BaseBox","setFloating","style","metaAttribute","name","MetaConstants","makeAccessible","labelledBy","makeAnalyticsAttribute","PopoverContent","PopupArrow","width","height","fillColor","colors","popup","background","subtle","strokeColor","border"],"mappings":"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"}
@@ -16,9 +16,14 @@ var PopoverHeader = function PopoverHeader(_ref) {
16
16
  var title = _ref.title,
17
17
  titleLeading = _ref.titleLeading;
18
18
  var _usePopoverContext = usePopoverContext(),
19
- titleId = _usePopoverContext.titleId;
19
+ titleId = _usePopoverContext.titleId,
20
+ openInteraction = _usePopoverContext.openInteraction;
21
+ var showCloseButton = openInteraction === 'click';
20
22
  var isFloating = !(title || titleLeading);
21
23
  if (isFloating) {
24
+ if (!showCloseButton) {
25
+ return null;
26
+ }
22
27
  return /*#__PURE__*/jsx(BaseBox, {
23
28
  borderRadius: "max",
24
29
  position: "absolute",
@@ -45,10 +50,10 @@ var PopoverHeader = function PopoverHeader(_ref) {
45
50
  weight: "semibold",
46
51
  children: title
47
52
  })
48
- }) : null, /*#__PURE__*/jsx(BaseBox, {
53
+ }) : null, showCloseButton ? /*#__PURE__*/jsx(BaseBox, {
49
54
  marginLeft: "auto",
50
55
  children: /*#__PURE__*/jsx(PopoverCloseButton, {})
51
- })]
56
+ }) : null]
52
57
  });
53
58
  };
54
59
  var PopoverContent = /*#__PURE__*/React__default.forwardRef(function (_ref2, ref) {
@@ -1 +1 @@
1
- {"version":3,"file":"PopoverContent.js","sources":["../../../../../../src/components/Popover/PopoverContent.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\nimport React from 'react';\nimport { PopoverContentWrapper } from './PopoverContentWrapper';\nimport type { PopoverContentProps } from './types';\nimport { PopoverCloseButton } from './PopoverCloseButton';\nimport { usePopoverContext } from './PopoverContext';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { isReactNative } from '~utils';\nimport { useIsMobile } from '~utils/useIsMobile';\n\ntype PopoverHeaderProps = {\n title?: string;\n titleLeading?: React.ReactNode;\n};\n\nconst PopoverHeader = ({ title, titleLeading }: PopoverHeaderProps): React.ReactElement => {\n const { titleId } = usePopoverContext();\n\n const isFloating = !(title || titleLeading);\n if (isFloating) {\n return (\n <BaseBox\n borderRadius=\"max\"\n position=\"absolute\"\n padding=\"spacing.2\"\n top=\"spacing.2\"\n right=\"spacing.2\"\n zIndex={1}\n >\n <PopoverCloseButton />\n </BaseBox>\n );\n }\n\n return (\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n flexWrap={isReactNative() ? 'wrap' : 'nowrap'}\n alignItems=\"center\"\n gap=\"spacing.3\"\n >\n {titleLeading\n ? React.cloneElement(titleLeading as React.ReactElement, { size: 'large' })\n : null}\n {title ? (\n <BaseBox id={titleId} paddingRight=\"spacing.4\">\n <Text size=\"large\" weight=\"semibold\">\n {title}\n </Text>\n </BaseBox>\n ) : null}\n <BaseBox marginLeft=\"auto\">\n <PopoverCloseButton />\n </BaseBox>\n </BaseBox>\n );\n};\n\nconst PopoverContent = React.forwardRef<HTMLDivElement, PopoverContentProps>(\n ({ children, title, titleLeading, footer, arrow, side, style, isVisible }, ref) => {\n const isMobile = useIsMobile();\n return (\n <PopoverContentWrapper\n ref={ref as never}\n styles={style}\n side={side}\n isVisible={isVisible}\n isMobile={isMobile}\n >\n <BaseBox padding=\"spacing.4\" display=\"flex\" flexDirection=\"column\" gap=\"spacing.4\">\n <PopoverHeader title={title} titleLeading={titleLeading} />\n <BaseBox>{children}</BaseBox>\n {footer ? <BaseBox>{footer}</BaseBox> : null}\n </BaseBox>\n {arrow}\n </PopoverContentWrapper>\n );\n },\n);\n\nexport { PopoverContent };\n"],"names":["PopoverHeader","_ref","title","titleLeading","_usePopoverContext","usePopoverContext","titleId","isFloating","_jsx","BaseBox","borderRadius","position","padding","top","right","zIndex","children","PopoverCloseButton","_jsxs","display","flexDirection","flexWrap","isReactNative","alignItems","gap","React","cloneElement","size","id","paddingRight","Text","weight","marginLeft","PopoverContent","forwardRef","_ref2","ref","footer","arrow","side","style","isVisible","isMobile","useIsMobile","PopoverContentWrapper","styles"],"mappings":"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"}
1
+ {"version":3,"file":"PopoverContent.js","sources":["../../../../../../src/components/Popover/PopoverContent.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\nimport React from 'react';\nimport { PopoverContentWrapper } from './PopoverContentWrapper';\nimport type { PopoverContentProps } from './types';\nimport { PopoverCloseButton } from './PopoverCloseButton';\nimport { usePopoverContext } from './PopoverContext';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { isReactNative } from '~utils';\nimport { useIsMobile } from '~utils/useIsMobile';\n\ntype PopoverHeaderProps = {\n title?: string;\n titleLeading?: React.ReactNode;\n};\n\nconst PopoverHeader = ({ title, titleLeading }: PopoverHeaderProps): React.ReactElement | null => {\n const { titleId, openInteraction } = usePopoverContext();\n\n const showCloseButton = openInteraction === 'click';\n const isFloating = !(title || titleLeading);\n\n if (isFloating) {\n if (!showCloseButton) {\n return null;\n }\n return (\n <BaseBox\n borderRadius=\"max\"\n position=\"absolute\"\n padding=\"spacing.2\"\n top=\"spacing.2\"\n right=\"spacing.2\"\n zIndex={1}\n >\n <PopoverCloseButton />\n </BaseBox>\n );\n }\n\n return (\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n flexWrap={isReactNative() ? 'wrap' : 'nowrap'}\n alignItems=\"center\"\n gap=\"spacing.3\"\n >\n {titleLeading\n ? React.cloneElement(titleLeading as React.ReactElement, { size: 'large' })\n : null}\n {title ? (\n <BaseBox id={titleId} paddingRight=\"spacing.4\">\n <Text size=\"large\" weight=\"semibold\">\n {title}\n </Text>\n </BaseBox>\n ) : null}\n {showCloseButton ? (\n <BaseBox marginLeft=\"auto\">\n <PopoverCloseButton />\n </BaseBox>\n ) : null}\n </BaseBox>\n );\n};\n\nconst PopoverContent = React.forwardRef<HTMLDivElement, PopoverContentProps>(\n ({ children, title, titleLeading, footer, arrow, side, style, isVisible }, ref) => {\n const isMobile = useIsMobile();\n return (\n <PopoverContentWrapper\n ref={ref as never}\n styles={style}\n side={side}\n isVisible={isVisible}\n isMobile={isMobile}\n >\n <BaseBox padding=\"spacing.4\" display=\"flex\" flexDirection=\"column\" gap=\"spacing.4\">\n <PopoverHeader title={title} titleLeading={titleLeading} />\n <BaseBox>{children}</BaseBox>\n {footer ? <BaseBox>{footer}</BaseBox> : null}\n </BaseBox>\n {arrow}\n </PopoverContentWrapper>\n );\n },\n);\n\nexport { PopoverContent };\n"],"names":["PopoverHeader","_ref","title","titleLeading","_usePopoverContext","usePopoverContext","titleId","openInteraction","showCloseButton","isFloating","_jsx","BaseBox","borderRadius","position","padding","top","right","zIndex","children","PopoverCloseButton","_jsxs","display","flexDirection","flexWrap","isReactNative","alignItems","gap","React","cloneElement","size","id","paddingRight","Text","weight","marginLeft","PopoverContent","forwardRef","_ref2","ref","footer","arrow","side","style","isVisible","isMobile","useIsMobile","PopoverContentWrapper","styles"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PopoverContext.js","sources":["../../../../../../src/components/Popover/PopoverContext.ts"],"sourcesContent":["import React from 'react';\nimport { throwBladeError } from '~utils/logger';\n\ntype PopoverContextProps = {\n close: () => void;\n defaultInitialFocusRef: React.RefObject<HTMLElement>;\n titleId?: string;\n} | null;\nconst PopoverContext = React.createContext<PopoverContextProps>(null);\n\nconst usePopoverContext = (): NonNullable<PopoverContextProps> => {\n const context = React.useContext(PopoverContext);\n\n if (__DEV__) {\n if (!context) {\n throwBladeError({\n message: `usePopoverContext must be used within Popover`,\n moduleName: 'Popover',\n });\n }\n }\n\n return context!;\n};\n\nexport { PopoverContext, usePopoverContext };\n"],"names":["PopoverContext","React","createContext","usePopoverContext","context","useContext","throwBladeError","message","moduleName"],"mappings":";;;;AAQA,IAAMA,cAAc,gBAAGC,cAAK,CAACC,aAAa,CAAsB,IAAI,EAAC;AAErE,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,GAA2C;AAChE,EAAA,IAAMC,OAAO,GAAGH,cAAK,CAACI,UAAU,CAACL,cAAc,CAAC,CAAA;AAEhD,EAAA,IAAI,KAAO,EAAE;IACX,IAAI,CAACI,OAAO,EAAE;AACZE,MAAAA,eAAe,CAAC;AACdC,QAAAA,OAAO,EAAiD,+CAAA;AACxDC,QAAAA,UAAU,EAAE,SAAA;AACd,OAAC,CAAC,CAAA;AACJ,KAAA;AACF,GAAA;AAEA,EAAA,OAAOJ,OAAO,CAAA;AAChB;;;;"}
1
+ {"version":3,"file":"PopoverContext.js","sources":["../../../../../../src/components/Popover/PopoverContext.ts"],"sourcesContent":["import React from 'react';\nimport { throwBladeError } from '~utils/logger';\n\ntype PopoverContextProps = {\n close: () => void;\n defaultInitialFocusRef: React.RefObject<HTMLElement>;\n titleId?: string;\n openInteraction?: 'hover' | 'click';\n} | null;\nconst PopoverContext = React.createContext<PopoverContextProps>(null);\n\nconst usePopoverContext = (): NonNullable<PopoverContextProps> => {\n const context = React.useContext(PopoverContext);\n\n if (__DEV__) {\n if (!context) {\n throwBladeError({\n message: `usePopoverContext must be used within Popover`,\n moduleName: 'Popover',\n });\n }\n }\n\n return context!;\n};\n\nexport { PopoverContext, usePopoverContext };\n"],"names":["PopoverContext","React","createContext","usePopoverContext","context","useContext","throwBladeError","message","moduleName"],"mappings":";;;;AASA,IAAMA,cAAc,gBAAGC,cAAK,CAACC,aAAa,CAAsB,IAAI,EAAC;AAErE,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,GAA2C;AAChE,EAAA,IAAMC,OAAO,GAAGH,cAAK,CAACI,UAAU,CAACL,cAAc,CAAC,CAAA;AAEhD,EAAA,IAAI,KAAO,EAAE;IACX,IAAI,CAACI,OAAO,EAAE;AACZE,MAAAA,eAAe,CAAC;AACdC,QAAAA,OAAO,EAAiD,+CAAA;AACxDC,QAAAA,UAAU,EAAE,SAAA;AACd,OAAC,CAAC,CAAA;AACJ,KAAA;AACF,GAAA;AAEA,EAAA,OAAOJ,OAAO,CAAA;AAChB;;;;"}
@@ -129,7 +129,8 @@ var TourPopover = function TourPopover(_ref) {
129
129
  return {
130
130
  close: close,
131
131
  defaultInitialFocusRef: defaultInitialFocusRef,
132
- titleId: titleId
132
+ titleId: titleId,
133
+ openInteraction: 'click'
133
134
  };
134
135
  }, [close, titleId]);
135
136