@redsift/popovers 8.0.7 → 8.1.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.
package/CONTRIBUTING.md CHANGED
@@ -42,6 +42,10 @@ The Design System is following a monorepo architecture, providing multiple packa
42
42
 
43
43
  This package provides popover components. Popover components are based on [floating-ui](https://floating-ui.com/) and [@floating-ui/react](https://floating-ui.com/docs/react). Toasts are based on [react-toastify](https://fkhadra.github.io/react-toastify).
44
44
 
45
+ - `@redsift/pickers`
46
+
47
+ This package provides selection components. The Popover part of the Pickers comes from `@redsift/popovers`.
48
+
45
49
  - `@redsift/table`
46
50
 
47
51
  This package provides datagrid components and features based on [MUI DataGrid](https://mui.com/x/react-data-grid/). Due to the use of advanced features, a [premium license](https://mui.com/x/introduction/licensing/#premium-plan) from MUI is required.
@@ -136,29 +140,23 @@ const DEFAULT_PROPS: Partial<BadgeProps> = {
136
140
  /**
137
141
  * The Badge component.
138
142
  */
139
- export const Badge: Comp<BadgeProps, HTMLDivElement> = forwardRef(
140
- (props, ref) => {
141
- const {
142
- // props
143
- ...forwardedProps
144
- } = props;
145
-
146
- return (
147
- <StyledBadge
148
- {...forwardedProps}
149
- // transient props
150
- className={classNames(
151
- Badge.className,
152
- `${Badge.className}-${variant}`,
153
- className
154
- )}
155
- ref={ref as RefObject<HTMLDivElement>}
156
- >
157
- // content of the component if needed
158
- </StyledBadge>
159
- );
160
- }
161
- );
143
+ export const Badge: Comp<BadgeProps, HTMLDivElement> = forwardRef((props, ref) => {
144
+ const {
145
+ // props
146
+ ...forwardedProps
147
+ } = props;
148
+
149
+ return (
150
+ <StyledBadge
151
+ {...forwardedProps}
152
+ // transient props
153
+ className={classNames(Badge.className, `${Badge.className}-${variant}`, className)}
154
+ ref={ref as RefObject<HTMLDivElement>}
155
+ >
156
+ // content of the component if needed
157
+ </StyledBadge>
158
+ );
159
+ });
162
160
  Badge.className = CLASSNAME;
163
161
  Badge.defaultProps = DEFAULT_PROPS;
164
162
  Badge.displayName = COMPONENT_NAME;
package/index.d.ts CHANGED
@@ -1,8 +1,10 @@
1
+ import * as _floating_ui_react from '@floating-ui/react';
2
+ export { FloatingPortal, useMergeRefs } from '@floating-ui/react';
1
3
  import React$1, { Dispatch, SetStateAction, ReactNode, ComponentProps } from 'react';
2
4
  import * as _redsift_design_system from '@redsift/design-system';
3
- import { ValueOf, ContainerProps, Comp, HeadingProps, StylingProps, InternalSpacingProps, SpacingProps, SizingProps } from '@redsift/design-system';
4
- import * as _floating_ui_react from '@floating-ui/react';
5
+ import { ValueOf, ContainerProps, Comp, HeadingProps, IconProps, StylingProps, SpacingProps, SizingProps, InternalSpacingProps } from '@redsift/design-system';
5
6
  import * as _floating_ui_core from '@floating-ui/core';
7
+ import * as styled_components from 'styled-components';
6
8
  import { ClearWaitingQueueParams } from 'react-toastify';
7
9
 
8
10
  declare function useDialog({ defaultOpen, hasCloseButton, initialFocus, isOpen: propsIsOpen, onOpen, size, }: Omit<DialogProps, 'children'>): {
@@ -136,12 +138,10 @@ interface DialogContentHeaderProps extends ComponentProps<'div'> {
136
138
  /** Subheader */
137
139
  subheader?: string;
138
140
  /**
139
- * Icon path data (`d` property of the `path` SVG element).<br />
140
- * See <a href="https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths">https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths</a>.<br />
141
- * Recommended path data come from mdi/js.<br />
142
- * See <a href="https://www.npmjs.com/package/@mdi/js">https://www.npmjs.com/package/@mdi/js</a>.
141
+ * Can be a string or an array of strings containing `d` property of the `path` SVG element.<br />
142
+ * Can also be a ReactElement.
143
143
  */
144
- icon?: string;
144
+ icon?: IconProps['icon'];
145
145
  }
146
146
  type StyledDialogContentHeaderProps = DialogContentHeaderProps;
147
147
 
@@ -250,7 +250,7 @@ declare const useDialogContext: () => {
250
250
  setDescriptionId: React$1.Dispatch<React$1.SetStateAction<string | undefined>>;
251
251
  };
252
252
 
253
- declare function usePopover({ defaultOpen, placement, isModal, isOpen: propsIsOpen, onOpen, }: Omit<PopoverProps, 'children'>): {
253
+ declare function usePopover({ defaultOpen, isModal, isOpen: propsIsOpen, maxWidth, minWidth, onOpen, placement, role: propsRole, width, }: Omit<PopoverProps, 'children'>): {
254
254
  isModal: boolean | undefined;
255
255
  placement: _floating_ui_react.Placement;
256
256
  strategy: _floating_ui_react.Strategy;
@@ -315,6 +315,12 @@ type PopoverPlacement = ValueOf<typeof PopoverPlacement>;
315
315
  * Component props.
316
316
  */
317
317
  interface PopoverProps {
318
+ /** Popover content width. Can be either based on the trigger, the available space or define with a number of pixels. */
319
+ width?: 'trigger-width' | 'available-width' | number;
320
+ /** Popover content min width. Can be either based on the trigger, the available space or define with a number of pixels. */
321
+ minWidth?: 'trigger-width' | 'available-width' | number;
322
+ /** Popover content max width. Can be either based on the trigger, the available space or define with a number of pixels. */
323
+ maxWidth?: 'trigger-width' | 'available-width' | number;
318
324
  /** Children. Can only be PopoverTrigger and PopoverContent. */
319
325
  children: ReactNode;
320
326
  /**
@@ -333,6 +339,13 @@ interface PopoverProps {
333
339
  isOpen?: boolean;
334
340
  /** Method to handle component change. */
335
341
  onOpen?: (open: boolean) => void;
342
+ /** Allows other components to be treated as trigger and content. */
343
+ overrideDisplayName?: {
344
+ content?: string;
345
+ trigger?: string;
346
+ };
347
+ /** Role to apply to the popover. */
348
+ role?: 'dialog' | 'menu' | 'listbox';
336
349
  }
337
350
  type StyledPopoverProps = PopoverProps;
338
351
 
@@ -341,10 +354,15 @@ declare const PopoverContext: React$1.Context<PopoverState>;
341
354
  /**
342
355
  * Component props.
343
356
  */
344
- interface PopoverContentProps extends ComponentProps<'div'>, Omit<ContainerProps, keyof InternalSpacingProps> {
357
+ interface PopoverContentProps extends ComponentProps<'div'>, ContainerProps {
345
358
  }
346
359
  type StyledPopoverContentProps = PopoverContentProps;
347
360
 
361
+ /**
362
+ * Component style.
363
+ */
364
+ declare const StyledPopoverContent: styled_components.StyledComponent<"div", any, PopoverContentProps, never>;
365
+
348
366
  /**
349
367
  * The PopoverContent component.
350
368
  */
@@ -707,4 +725,4 @@ declare const useTooltipContext: () => {
707
725
  handleOpen: (collapsed: boolean) => void;
708
726
  };
709
727
 
710
- export { BaseDialog, BaseDialogContent, BasePopover, BaseTooltip, Dialog, DialogContent, DialogContentActions, DialogContentActionsProps, DialogContentBody, DialogContentBodyProps, DialogContentHeader, DialogContentHeaderProps, DialogContentProps, DialogContext, DialogProps, DialogSize, DialogState, DialogTrigger, DialogTriggerProps, Popover, PopoverContent, PopoverContentProps, PopoverContext, PopoverPlacement, PopoverProps, PopoverState, PopoverTrigger, PopoverTriggerProps, StyledDialogContentActionsProps, StyledDialogContentBodyProps, StyledDialogContentHeaderProps, StyledDialogContentProps, StyledDialogProps, StyledPopoverContentProps, StyledPopoverProps, StyledToastContainerProps, StyledToastProps, StyledTooltipContentProps, StyledTooltipProps, Toast, ToastContainer, ToastContainerProps, ToastOptions, ToastPlacement, ToastProps, ToastVariant, Tooltip, TooltipContent, TooltipContentProps, TooltipContext, TooltipPlacement, TooltipProps, TooltipState, TooltipTrigger, TooltipTriggerProps, useDialog, useDialogContext, usePopover, usePopoverContext, useToast, useToastProps, useToastReturnType, useTooltip, useTooltipContext };
728
+ export { BaseDialog, BaseDialogContent, BasePopover, BaseTooltip, Dialog, DialogContent, DialogContentActions, DialogContentActionsProps, DialogContentBody, DialogContentBodyProps, DialogContentHeader, DialogContentHeaderProps, DialogContentProps, DialogContext, DialogProps, DialogSize, DialogState, DialogTrigger, DialogTriggerProps, Popover, PopoverContent, PopoverContentProps, PopoverContext, PopoverPlacement, PopoverProps, PopoverState, PopoverTrigger, PopoverTriggerProps, StyledDialogContentActionsProps, StyledDialogContentBodyProps, StyledDialogContentHeaderProps, StyledDialogContentProps, StyledDialogProps, StyledPopoverContent, StyledPopoverContentProps, StyledPopoverProps, StyledToastContainerProps, StyledToastProps, StyledTooltipContentProps, StyledTooltipProps, Toast, ToastContainer, ToastContainerProps, ToastOptions, ToastPlacement, ToastProps, ToastVariant, Tooltip, TooltipContent, TooltipContentProps, TooltipContext, TooltipPlacement, TooltipProps, TooltipState, TooltipTrigger, TooltipTriggerProps, useDialog, useDialogContext, usePopover, usePopoverContext, useToast, useToastProps, useToastReturnType, useTooltip, useTooltipContext };
package/index.js CHANGED
@@ -1,6 +1,7 @@
1
+ import { FloatingOverlay, useMergeRefs, useTransitionStyles, FloatingPortal, FloatingFocusManager, useFloating, useDismiss, useRole, useInteractions, offset, flip, shift, size, autoUpdate, arrow, useHover, useFocus } from '@floating-ui/react';
2
+ export { FloatingPortal, useMergeRefs } from '@floating-ui/react';
1
3
  import React, { forwardRef, useId, useRef, useState, useEffect, useCallback } from 'react';
2
4
  import { baseContainer, useBoundingClientRect, Heading, Icon, partitionComponents, isComponent, IconButton, baseStyling, Flexbox, Spinner, ColorPalette } from '@redsift/design-system';
3
- import { FloatingOverlay, useMergeRefs, useTransitionStyles, FloatingPortal, FloatingFocusManager, useFloating, useDismiss, useRole, useInteractions, autoUpdate, offset, flip, shift, arrow, useHover, useFocus } from '@floating-ui/react';
4
5
  import classNames from 'classnames';
5
6
  import { mdiClose, mdiAlert, mdiCheckCircle, mdiAlertCircle, mdiInformation } from '@redsift/icons';
6
7
  import { useLocalizedStringFormatter } from '@react-aria/i18n';
@@ -217,7 +218,7 @@ const StyledDialogContentActions = styled.div`
217
218
  }
218
219
  `;
219
220
 
220
- const _excluded$6 = ["children", "className"];
221
+ const _excluded$7 = ["children", "className"];
221
222
  const COMPONENT_NAME$d = 'DialogContentActions';
222
223
  const CLASSNAME$d = 'redsift-dialog-content-actions';
223
224
  const DEFAULT_PROPS$d = {
@@ -232,7 +233,7 @@ const DialogContentActions = /*#__PURE__*/forwardRef((props, ref) => {
232
233
  children,
233
234
  className
234
235
  } = props,
235
- forwardedProps = _objectWithoutProperties(props, _excluded$6);
236
+ forwardedProps = _objectWithoutProperties(props, _excluded$7);
236
237
  const {
237
238
  actionsRef,
238
239
  initialFocus
@@ -308,7 +309,7 @@ const StyledDialogContentBody = styled.div`
308
309
  }
309
310
  `;
310
311
 
311
- const _excluded$5 = ["children", "className"];
312
+ const _excluded$6 = ["children", "className"];
312
313
  const COMPONENT_NAME$c = 'DialogContentBody';
313
314
  const CLASSNAME$c = 'redsift-dialog-content-body';
314
315
  const DEFAULT_PROPS$c = {};
@@ -321,7 +322,7 @@ const DialogContentBody = /*#__PURE__*/forwardRef((props, ref) => {
321
322
  children,
322
323
  className
323
324
  } = props,
324
- forwardedProps = _objectWithoutProperties(props, _excluded$5);
325
+ forwardedProps = _objectWithoutProperties(props, _excluded$6);
325
326
  const {
326
327
  actionsRef,
327
328
  bodyRef,
@@ -383,7 +384,7 @@ const StyledDialogContentHeader = styled.div`
383
384
  }
384
385
  `;
385
386
 
386
- const _excluded$4 = ["children", "className", "header", "headingProps", "icon", "subheader"];
387
+ const _excluded$5 = ["children", "className", "header", "headingProps", "icon", "subheader"];
387
388
  const COMPONENT_NAME$b = 'DialogContentHeader';
388
389
  const CLASSNAME$b = 'redsift-dialog-content-header';
389
390
  const DEFAULT_PROPS$b = {};
@@ -400,7 +401,7 @@ const DialogContentHeader = /*#__PURE__*/forwardRef((props, ref) => {
400
401
  icon,
401
402
  subheader
402
403
  } = props,
403
- forwardedProps = _objectWithoutProperties(props, _excluded$4);
404
+ forwardedProps = _objectWithoutProperties(props, _excluded$5);
404
405
  const {
405
406
  setLabelId,
406
407
  setDescriptionId,
@@ -446,7 +447,7 @@ DialogContentHeader.className = CLASSNAME$b;
446
447
  DialogContentHeader.defaultProps = DEFAULT_PROPS$b;
447
448
  DialogContentHeader.displayName = COMPONENT_NAME$b;
448
449
 
449
- const _excluded$3 = ["children", "className"];
450
+ const _excluded$4 = ["children", "className"];
450
451
  const COMPONENT_NAME$a = 'DialogContent';
451
452
  const CLASSNAME$a = 'redsift-dialog-content';
452
453
  const DEFAULT_PROPS$a = {};
@@ -459,7 +460,7 @@ const BaseDialogContent = /*#__PURE__*/forwardRef((props, ref) => {
459
460
  children,
460
461
  className
461
462
  } = props,
462
- forwardedProps = _objectWithoutProperties(props, _excluded$3);
463
+ forwardedProps = _objectWithoutProperties(props, _excluded$4);
463
464
  const {
464
465
  context: floatingContext,
465
466
  getFloatingProps,
@@ -687,26 +688,145 @@ const PopoverPlacement = {
687
688
  * Component style.
688
689
  */
689
690
  const StyledPopoverContent = styled.div`
690
- align-items: center;
691
- display: flex;
692
- ${baseContainer}
691
+ ${_ref => {
692
+ let {
693
+ display
694
+ } = _ref;
695
+ return display ? `display: ${display};` : 'display: flex;';
696
+ }}
697
+ font-family: var(--redsift-typography-body-font-family);
698
+ font-size: var(--redsift-typography-body-font-size);
699
+ font-weight: var(--redsift-typography-body-font-weight);
700
+ line-height: 20px;
701
+ color: var(--redsift-color-neutral-black);
702
+
703
+ ${_ref2 => {
704
+ let {
705
+ padding,
706
+ paddingBottom,
707
+ paddingLeft,
708
+ paddingRight,
709
+ paddingTop
710
+ } = _ref2;
711
+ return css`
712
+ ${padding ? `padding: ${padding};` : ''}
713
+ ${paddingBottom ? `padding-bottom: ${paddingBottom};` : ''}
714
+ ${paddingLeft ? `padding-left: ${paddingLeft};` : ''}
715
+ ${paddingRight ? `padding-right: ${paddingRight};` : ''}
716
+ ${paddingTop ? `padding-top: ${paddingTop};` : ''}
717
+ `;
718
+ }}
719
+ ${_ref3 => {
720
+ let {
721
+ margin,
722
+ marginBottom,
723
+ marginLeft,
724
+ marginRight,
725
+ marginTop
726
+ } = _ref3;
727
+ return css`
728
+ ${margin ? `margin: ${margin};` : ''}
729
+ ${marginBottom ? `margin-bottom: ${marginBottom};` : ''}
730
+ ${marginLeft ? `margin-left: ${marginLeft};` : ''}
731
+ ${marginRight ? `margin-right: ${marginRight};` : ''}
732
+ ${marginTop ? `margin-top: ${marginTop};` : ''}
733
+ `;
734
+ }}
735
+ ${_ref4 => {
736
+ let {
737
+ height,
738
+ maxHeight,
739
+ maxWidth,
740
+ minHeight,
741
+ minWidth,
742
+ width
743
+ } = _ref4;
744
+ return css`
745
+ ${height !== undefined ? `height: ${typeof height === 'number' ? `${height}px` : height};` : ''}
746
+ ${maxHeight ? `max-height: ${maxHeight};` : ''}
747
+ ${maxWidth ? `max-width: ${maxWidth};` : ''}
748
+ ${minHeight ? `min-height: ${minHeight};` : ''}
749
+ ${minWidth ? `min-width: ${minWidth};` : ''}
750
+ ${width !== undefined ? `width: ${typeof width === 'number' ? `${width}px` : width};` : ''}
751
+ `;
752
+ }}
753
+ ${_ref5 => {
754
+ let {
755
+ position,
756
+ top,
757
+ bottom,
758
+ left,
759
+ right,
760
+ zIndex
761
+ } = _ref5;
762
+ return css`
763
+ ${position ? `position: ${position};` : ''}
764
+ ${top ? `top: ${top};` : ''}
765
+ ${bottom ? `bottom: ${bottom};` : ''}
766
+ ${left ? `left: ${left};` : ''}
767
+ ${right ? `right: ${right};` : ''}
768
+ ${zIndex ? `z-index: ${zIndex};` : ''}
769
+ `;
770
+ }}
771
+ ${_ref6 => {
772
+ let {
773
+ alignContent,
774
+ alignItems,
775
+ gap,
776
+ gridAutoColumns,
777
+ gridAutoRows,
778
+ gridTemplateAreas,
779
+ gridTemplateColumns,
780
+ gridTemplateRows,
781
+ justifyContent,
782
+ justifyItems
783
+ } = _ref6;
784
+ return css`
785
+ ${alignContent ? `align-content: ${alignContent};` : ''}
786
+ ${alignItems ? `align-items: ${alignItems};` : ''}
787
+ ${gap ? `gap: ${gap};` : ''}
788
+ ${gridAutoColumns ? `grid-auto-columns: ${gridAutoColumns};` : ''}
789
+ ${gridAutoRows ? `grid-auto-rows: ${gridAutoRows};` : ''}
790
+ ${gridTemplateAreas ? `grid-template-areas: ${gridTemplateAreas};` : ''}
791
+ ${gridTemplateColumns ? `grid-template-columns: ${gridTemplateColumns};` : ''}
792
+ ${gridTemplateRows ? `grid-template-rows: ${gridTemplateRows};` : ''}
793
+ ${justifyContent ? `justify-content: ${justifyContent};` : ''}
794
+ ${justifyItems ? `justify-items: ${justifyItems};` : ''}
795
+ `;
796
+ }}
797
+ ${_ref7 => {
798
+ let {
799
+ alignContent,
800
+ alignItems,
801
+ flexDirection,
802
+ flexWrap,
803
+ gap,
804
+ justifyContent
805
+ } = _ref7;
806
+ return css`
807
+ ${alignContent ? `align-content: ${alignContent};` : ''}
808
+ ${alignItems ? `align-items: ${alignItems};` : ''}
809
+ ${flexDirection ? `flex-direction: ${flexDirection};` : ''}
810
+ ${flexWrap ? `flex-wrap: ${flexWrap};` : ''}
811
+ gap: ${gap};
812
+ ${justifyContent ? `justify-content: ${justifyContent};` : ''}
813
+ `;
814
+ }}
815
+
693
816
  background-color: var(--redsift-color-neutral-white);
694
817
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2);
695
818
  color: var(--redsift-color-neutral-black);
696
- filter: drop-shadow(0px 4px 5px rgba(0, 0, 0, 0.14))
697
- drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.12));
698
- font-family: var(--redsift-typography-popover-font-family);
699
- font-size: var(--redsift-typography-popover-font-size);
700
- font-weight: var(--redsift-typography-popover-font-weight);
701
- line-height: var(--redsift-typography-popover-line-height);
819
+ filter: drop-shadow(0px 4px 5px rgba(0, 0, 0, 0.14)) drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.12));
702
820
  max-width: calc(100vw - 48px);
703
821
  z-index: var(--redsift-layout-z-index-popover);
822
+ overflow: auto;
704
823
 
705
824
  &:focus-visible {
706
825
  outline: none;
707
826
  }
708
827
  `;
709
828
 
829
+ const _excluded$3 = ["children", "className", "style"];
710
830
  const COMPONENT_NAME$7 = 'PopoverContent';
711
831
  const CLASSNAME$7 = 'redsift-popover-content';
712
832
  const DEFAULT_PROPS$7 = {};
@@ -716,10 +836,11 @@ const DEFAULT_PROPS$7 = {};
716
836
  */
717
837
  const PopoverContent = /*#__PURE__*/forwardRef((props, ref) => {
718
838
  const {
719
- children,
720
- className,
721
- style
722
- } = props;
839
+ children,
840
+ className,
841
+ style
842
+ } = props,
843
+ forwardedProps = _objectWithoutProperties(props, _excluded$3);
723
844
  const {
724
845
  context: floatingContext,
725
846
  getFloatingProps,
@@ -731,21 +852,24 @@ const PopoverContent = /*#__PURE__*/forwardRef((props, ref) => {
731
852
  y
732
853
  } = usePopoverContext();
733
854
  const popoverRef = useMergeRefs([refs.setFloating, ref]);
855
+ console.log(forwardedProps);
734
856
  return /*#__PURE__*/React.createElement(FloatingPortal, {
735
857
  id: "redsift-app-container"
736
858
  }, isOpen && /*#__PURE__*/React.createElement(FloatingFocusManager, {
737
859
  context: floatingContext,
738
860
  modal: isModal
739
861
  }, /*#__PURE__*/React.createElement(StyledPopoverContent, _extends({
740
- className: classNames(PopoverContent.className, className),
741
- ref: popoverRef,
742
862
  style: _objectSpread2({
743
863
  position: strategy,
744
864
  top: y !== null && y !== void 0 ? y : 0,
745
865
  left: x !== null && x !== void 0 ? x : 0,
746
866
  width: 'fit-content'
747
867
  }, style)
748
- }, getFloatingProps(props)), children)));
868
+ }, getFloatingProps(props), {
869
+ className: classNames(PopoverContent.className, className)
870
+ }, forwardedProps, {
871
+ ref: popoverRef
872
+ }), children)));
749
873
  });
750
874
  PopoverContent.className = CLASSNAME$7;
751
875
  PopoverContent.defaultProps = DEFAULT_PROPS$7;
@@ -787,10 +911,14 @@ PopoverTrigger.displayName = COMPONENT_NAME$6;
787
911
  function usePopover(_ref) {
788
912
  let {
789
913
  defaultOpen,
790
- placement,
791
914
  isModal,
792
915
  isOpen: propsIsOpen,
793
- onOpen
916
+ maxWidth,
917
+ minWidth,
918
+ onOpen,
919
+ placement,
920
+ role: propsRole,
921
+ width
794
922
  } = _ref;
795
923
  const [isOpen, setIsOpen] = useState(propsIsOpen !== null && propsIsOpen !== void 0 ? propsIsOpen : defaultOpen);
796
924
  useEffect(() => {
@@ -804,20 +932,42 @@ function usePopover(_ref) {
804
932
  setIsOpen(collapsed);
805
933
  }
806
934
  }, [onOpen]);
935
+ const middleware = [offset(2), flip({
936
+ fallbackAxisSideDirection: 'end'
937
+ }), shift({
938
+ padding: 2
939
+ })];
940
+ middleware.push(size({
941
+ apply(_ref2) {
942
+ let {
943
+ availableHeight,
944
+ availableWidth,
945
+ rects,
946
+ elements
947
+ } = _ref2;
948
+ Object.assign(elements.floating.style, _objectSpread2(_objectSpread2(_objectSpread2({
949
+ maxHeight: `${availableHeight}px`
950
+ }, minWidth !== undefined && {
951
+ minWidth: `${minWidth === 'available-width' ? availableWidth : minWidth === 'trigger-width' ? rects.reference.width : minWidth}px`
952
+ }), width !== undefined && {
953
+ width: `${width === 'available-width' ? availableWidth : width === 'trigger-width' ? rects.reference.width : width}px`
954
+ }), maxWidth !== undefined && {
955
+ maxWidth: `${maxWidth === 'available-width' ? availableWidth : maxWidth === 'trigger-width' ? rects.reference.width : maxWidth}px`
956
+ }));
957
+ }
958
+ }));
807
959
  const data = useFloating({
808
960
  placement,
809
961
  open: isOpen,
810
962
  onOpenChange: handleOpen,
811
963
  whileElementsMounted: autoUpdate,
812
- middleware: [offset(2), flip({
813
- fallbackAxisSideDirection: 'end'
814
- }), shift({
815
- padding: 2
816
- })]
964
+ middleware
817
965
  });
818
966
  const context = data.context;
819
967
  const dismiss = useDismiss(context);
820
- const role = useRole(context);
968
+ const role = useRole(context, {
969
+ role: propsRole
970
+ });
821
971
  const interactions = useInteractions([dismiss, role]);
822
972
  return React.useMemo(() => _objectSpread2(_objectSpread2(_objectSpread2({
823
973
  isOpen,
@@ -831,29 +981,40 @@ const COMPONENT_NAME$5 = 'Popover';
831
981
  const CLASSNAME$5 = 'redsift-popover';
832
982
  const DEFAULT_PROPS$5 = {
833
983
  isModal: false,
834
- placement: PopoverPlacement.bottom
984
+ placement: PopoverPlacement.bottom,
985
+ role: 'dialog'
835
986
  };
836
987
 
837
988
  /**
838
989
  * The Popover component.
839
990
  */
840
991
  const BasePopover = props => {
992
+ var _overrideDisplayName$, _overrideDisplayName$2;
841
993
  const {
842
994
  children,
843
995
  defaultOpen,
844
- placement,
845
996
  isModal,
846
997
  isOpen,
847
- onOpen
998
+ maxWidth,
999
+ minWidth,
1000
+ onOpen,
1001
+ overrideDisplayName,
1002
+ placement,
1003
+ role,
1004
+ width
848
1005
  } = props;
849
1006
  const popover = usePopover({
850
1007
  defaultOpen,
851
- placement,
852
1008
  isModal,
853
1009
  isOpen,
854
- onOpen
1010
+ maxWidth,
1011
+ minWidth,
1012
+ onOpen,
1013
+ placement,
1014
+ role,
1015
+ width
855
1016
  });
856
- const [[trigger], [content]] = partitionComponents(React.Children.toArray(children), [isComponent('PopoverTrigger'), isComponent('PopoverContent')]);
1017
+ const [[trigger], [content]] = partitionComponents(React.Children.toArray(children), [isComponent((_overrideDisplayName$ = overrideDisplayName === null || overrideDisplayName === void 0 ? void 0 : overrideDisplayName.trigger) !== null && _overrideDisplayName$ !== void 0 ? _overrideDisplayName$ : 'PopoverTrigger'), isComponent((_overrideDisplayName$2 = overrideDisplayName === null || overrideDisplayName === void 0 ? void 0 : overrideDisplayName.content) !== null && _overrideDisplayName$2 !== void 0 ? _overrideDisplayName$2 : 'PopoverContent')]);
857
1018
  return /*#__PURE__*/React.createElement(PopoverContext.Provider, {
858
1019
  value: popover
859
1020
  }, trigger, content);
@@ -2290,5 +2451,5 @@ const useTooltipContext = () => {
2290
2451
  return context;
2291
2452
  };
2292
2453
 
2293
- export { BaseDialog, BaseDialogContent, BasePopover, BaseTooltip, Dialog, DialogContent, DialogContentActions, DialogContentBody, DialogContentHeader, DialogContext, DialogSize, DialogTrigger, Popover, PopoverContent, PopoverContext, PopoverPlacement, PopoverTrigger, Toast, ToastContainer, ToastPlacement, ToastVariant, Tooltip, TooltipContent, TooltipContext, TooltipPlacement, TooltipTrigger, useDialog, useDialogContext, usePopover, usePopoverContext, useToast, useTooltip, useTooltipContext };
2454
+ export { BaseDialog, BaseDialogContent, BasePopover, BaseTooltip, Dialog, DialogContent, DialogContentActions, DialogContentBody, DialogContentHeader, DialogContext, DialogSize, DialogTrigger, Popover, PopoverContent, PopoverContext, PopoverPlacement, PopoverTrigger, StyledPopoverContent, Toast, ToastContainer, ToastPlacement, ToastVariant, Tooltip, TooltipContent, TooltipContext, TooltipPlacement, TooltipTrigger, useDialog, useDialogContext, usePopover, usePopoverContext, useToast, useTooltip, useTooltipContext };
2294
2455
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/dialog/context.ts","../src/components/dialog/types.ts","../src/components/dialog-content/intl/index.ts","../src/components/dialog-content/styles.ts","../src/components/dialog-content-actions/styles.ts","../src/components/dialog-content-actions/DialogContentActions.tsx","../src/components/dialog-content-body/styles.ts","../src/components/dialog-content-body/DialogContentBody.tsx","../src/components/dialog-content-header/styles.ts","../src/components/dialog-content-header/DialogContentHeader.tsx","../src/components/dialog-content/DialogContent.tsx","../src/components/dialog-trigger/DialogTrigger.tsx","../src/components/dialog/useDialog.tsx","../src/components/dialog/Dialog.tsx","../src/components/dialog/useDialogContext.tsx","../src/components/popover/context.ts","../src/components/popover/types.ts","../src/components/popover-content/styles.ts","../src/components/popover-content/PopoverContent.tsx","../src/components/popover-trigger/PopoverTrigger.tsx","../src/components/popover/usePopover.tsx","../src/components/popover/Popover.tsx","../src/components/popover/usePopoverContext.tsx","../src/components/toast/types.ts","../src/components/toast/intl/index.ts","../src/components/toast/styles.ts","../src/components/toast/Toast.tsx","../src/components/toast-container/styles.ts","../src/components/toast-container/ToastContainer.tsx","../src/components/toast-container/useToast.tsx","../src/components/tooltip/context.ts","../src/components/tooltip/types.ts","../src/components/tooltip-content/styles.ts","../src/components/tooltip-content/TooltipContent.tsx","../src/components/tooltip-trigger/TooltipTrigger.tsx","../src/components/tooltip/useTooltip.tsx","../src/components/tooltip/Tooltip.tsx","../src/components/tooltip/useTooltipContext.tsx"],"sourcesContent":["import React from 'react';\nimport { DialogState } from './types';\n\nexport const DialogContext = React.createContext<DialogState | null>(null);\n","import { Dispatch, ReactNode, SetStateAction } from 'react';\nimport { ValueOf } from '@redsift/design-system';\nimport { useDialog } from './useDialog';\n\n/**\n * Context props.\n */\nexport type DialogState =\n | (ReturnType<typeof useDialog> & {\n setLabelId: Dispatch<SetStateAction<string | undefined>>;\n setDescriptionId: Dispatch<SetStateAction<string | undefined>>;\n })\n | null;\n\n/**\n * Component variant.\n */\nexport const DialogSize = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n} as const;\nexport type DialogSize = ValueOf<typeof DialogSize>;\n\n/**\n * Component props.\n */\nexport interface DialogProps {\n /** Children. Can only be DialogTrigger and DialogContent. */\n children: ReactNode;\n /**\n * Default open status.\n * Used for uncontrolled version.\n */\n defaultOpen?: boolean;\n /** Whether the Close icon button is displayed or not. */\n hasCloseButton?: boolean;\n /** Which element to initially focus. Can be either a number (tabbable index), a ref to en element, or a shortcut pointing towards a section of the dialog. See the accessibility section in the documentation to know which one to use. */\n initialFocus?:\n | number\n | React.MutableRefObject<HTMLElement | null>\n | 'header'\n | 'body'\n | 'actions';\n /**\n * Whether the component is opened or not.\n * Used for controlled version.\n */\n isOpen?: boolean;\n /** Method to handle component change. */\n onOpen?: (open: boolean) => void;\n /** Dialog size. */\n size?: DialogSize;\n}\n\nexport type StyledDialogProps = DialogProps;\n","import enUS from './en-US.json';\nimport frFR from './fr-FR.json';\n\nexport default {\n 'en-US': enUS,\n 'fr-FR': frFR,\n};\n","import { FloatingOverlay } from '@floating-ui/react';\nimport styled, { css } from 'styled-components';\nimport { DialogSize } from '../dialog/types';\nimport { StyledDialogContentProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledDialogContent = styled.div<StyledDialogContentProps>`\n background-color: var(--redsift-color-neutral-white);\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2);\n color: var(--redsift-color-neutral-black);\n display: flex;\n filter: drop-shadow(0px 4px 5px rgba(0, 0, 0, 0.14))\n drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.12));\n flex-direction: column;\n font-family: var(--redsift-typography-dialog-font-family);\n font-size: var(--redsift-typography-dialog-font-size);\n font-weight: var(--redsift-typography-dialog-font-weight);\n line-height: var(--redsift-typography-dialog-line-height);\n margin: 32px;\n max-width: calc(100vw - 48px);\n padding: 24px;\n width: 540px;\n z-index: var(--redsift-layout-z-index-dialog);\n\n ${({ $size }) => {\n switch ($size) {\n case DialogSize.small:\n return css`\n width: 540px;\n `;\n case DialogSize.large:\n return css`\n width: 800px;\n `;\n case DialogSize.medium:\n default:\n return css`\n width: 700px;\n `;\n }\n }}\n\n &:focus-visible {\n outline: none;\n }\n\n .redsift-dialog-content__header {\n align-items: flex-start;\n display: flex;\n justify-content: space-between;\n }\n\n .redsift-card-header__icon-button {\n margin-top: 8px;\n margin-left: auto;\n margin-right: 8px;\n\n [dir='rtl'] & {\n margin-left: 8px;\n margin-right: auto;\n }\n }\n`;\n\nexport const StyledFloatingOverlay = styled(FloatingOverlay)`\n background: rgba(0, 0, 0, 0.8);\n display: grid;\n place-items: center;\n z-index: var(--redsift-layout-z-index-overlay);\n`;\n","import styled from 'styled-components';\nimport { baseContainer } from '@redsift/design-system';\nimport { StyledDialogContentActionsProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledDialogContentActions = styled.div<StyledDialogContentActionsProps>`\n display: flex;\n ${baseContainer}\n\n margin-top: 8px;\n margin-bottom: 8px;\n\n &:focus-visible {\n outline: none;\n }\n`;\n","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Comp } from '@redsift/design-system';\nimport { StyledDialogContentActions } from './styles';\nimport { DialogContentActionsProps } from './types';\nimport { useDialogContext } from '../dialog';\n\nconst COMPONENT_NAME = 'DialogContentActions';\nconst CLASSNAME = 'redsift-dialog-content-actions';\nconst DEFAULT_PROPS: Partial<DialogContentActionsProps> = {\n flexDirection: 'row',\n};\n\n/**\n * The DialogContentActions component.\n */\nexport const DialogContentActions: Comp<\n DialogContentActionsProps,\n HTMLDivElement\n> = forwardRef((props, ref) => {\n const { children, className, ...forwardedProps } = props;\n\n const { actionsRef, initialFocus } = useDialogContext();\n\n return (\n <StyledDialogContentActions\n {...forwardedProps}\n className={classNames(DialogContentActions.className, className)}\n ref={useMergeRefs([ref, actionsRef])}\n tabIndex={initialFocus === 'actions' ? -1 : undefined}\n >\n {children}\n </StyledDialogContentActions>\n );\n});\nDialogContentActions.className = CLASSNAME;\nDialogContentActions.defaultProps = DEFAULT_PROPS;\nDialogContentActions.displayName = COMPONENT_NAME;\n","import styled, { css } from 'styled-components';\nimport { baseContainer } from '@redsift/design-system';\nimport { StyledDialogContentBodyProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledDialogContentBody = styled.div<StyledDialogContentBodyProps>`\n ${baseContainer}\n\n overflow-y: auto;\n ${({ $marginTop, $marginBottom }) => css`\n max-height: calc(100vh - ${$marginTop + $marginBottom}px);\n `}\n\n color: var(--redsift-color-neutral-darkgrey);\n font-family: var(--redsift-typography-body2-font-family);\n font-size: var(--redsift-typography-body2-font-size);\n font-weight: var(--redsift-typography-body2-font-weight);\n line-height: var(--redsift-typography-body2-line-height);\n padding: 0 24px;\n margin: 16px -24px;\n\n &:focus-visible {\n outline: none;\n }\n\n scrollbar-color: var(--redsift-color-neutral-midgrey) transparent;\n scrollbar-width: thin;\n\n &::-webkit-scrollbar {\n block-size: 9px;\n inline-size: 9px;\n }\n\n &::-webkit-scrollbar-thumb {\n background-clip: padding-box;\n background-color: var(--redsift-color-neutral-midgrey);\n border-radius: 0px;\n border-left: 2px solid transparent;\n border-right: 2px solid transparent;\n }\n\n &::-webkit-scrollbar-track {\n background-color: transparent;\n }\n\n &::-webkit-scrollbar-thumb:horizontal,\n &::-webkit-scrollbar-thumb:vertical {\n &:hover {\n background-color: var(--redsift-color-neutral-darkgrey);\n }\n }\n\n &::-webkit-scrollbar-corner {\n visibility: hidden;\n }\n`;\n","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Comp, useBoundingClientRect } from '@redsift/design-system';\nimport { StyledDialogContentBody } from './styles';\nimport { DialogContentBodyProps } from './types';\nimport { useDialogContext } from '../dialog';\n\nconst COMPONENT_NAME = 'DialogContentBody';\nconst CLASSNAME = 'redsift-dialog-content-body';\nconst DEFAULT_PROPS: Partial<DialogContentBodyProps> = {};\n\n/**\n * The DialogContentBody component.\n */\nexport const DialogContentBody: Comp<DialogContentBodyProps, HTMLDivElement> =\n forwardRef((props, ref) => {\n const { children, className, ...forwardedProps } = props;\n\n const { actionsRef, bodyRef, hasCloseButton, headerRef, initialFocus } =\n useDialogContext();\n\n const { height: headerHeight = 0 } = useBoundingClientRect(\n headerRef as any,\n [children, headerRef]\n );\n const { height: actionsHeight = 0 } = useBoundingClientRect(\n actionsRef as any,\n [children, actionsRef]\n );\n\n /* istanbul ignore next */\n return (\n <StyledDialogContentBody\n {...forwardedProps}\n className={classNames(DialogContentBody.className, className)}\n ref={useMergeRefs([ref, bodyRef])}\n tabIndex={initialFocus === 'body' ? -1 : undefined}\n $marginTop={Math.max(headerHeight, hasCloseButton ? 40 : 0) + 80}\n $marginBottom={(actionsHeight === 0 ? 0 : actionsHeight + 16) + 80}\n >\n {children}\n </StyledDialogContentBody>\n );\n });\nDialogContentBody.className = CLASSNAME;\nDialogContentBody.defaultProps = DEFAULT_PROPS;\nDialogContentBody.displayName = COMPONENT_NAME;\n","import styled from 'styled-components';\nimport { StyledDialogContentHeaderProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledDialogContentHeader = styled.div<StyledDialogContentHeaderProps>`\n color: var(--redsift-color-neutral-black);\n\n &:focus-visible {\n outline: none;\n }\n\n .redsift-dialog-content-header__header {\n align-items: center;\n display: flex;\n gap: 8px;\n padding: 10px 0px;\n margin: 0px;\n\n .redsift-icon {\n color: var(--redsift-color-neutral-black);\n padding-right: 8px;\n font-size: 30px;\n line-height: 30px;\n height: 30px;\n }\n }\n\n .redsift-dialog-content-header__subheader {\n font-family: var(--redsift-typography-body-font-family);\n font-size: var(--redsift-typography-body-font-size);\n font-weight: var(--redsift-typography-body-font-weight);\n line-height: var(--redsift-typography-body-line-height);\n }\n`;\n","import React, { forwardRef, useId } from 'react';\nimport classNames from 'classnames';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Icon, Heading, Comp } from '@redsift/design-system';\nimport { StyledDialogContentHeader } from './styles';\nimport { DialogContentHeaderProps } from './types';\nimport { useDialogContext } from '../dialog';\n\nconst COMPONENT_NAME = 'DialogContentHeader';\nconst CLASSNAME = 'redsift-dialog-content-header';\nconst DEFAULT_PROPS: Partial<DialogContentHeaderProps> = {};\n\n/**\n * The DialogContentHeader component.\n */\nexport const DialogContentHeader: Comp<\n DialogContentHeaderProps,\n HTMLDivElement\n> = forwardRef((props, ref) => {\n const {\n children,\n className,\n header,\n headingProps,\n icon,\n subheader,\n ...forwardedProps\n } = props;\n\n const { setLabelId, setDescriptionId, headerRef, initialFocus } =\n useDialogContext();\n const labelId = useId();\n const descriptionId = useId();\n\n // Only sets `aria-labelledby` on the Dialog root element\n // if this component is mounted inside it.\n React.useLayoutEffect(() => {\n setLabelId(labelId);\n return () => setLabelId(undefined);\n }, [labelId, setLabelId]);\n\n // Only sets `aria-describedby` on the Dialog root element\n // if this component is mounted inside it.\n React.useLayoutEffect(() => {\n setDescriptionId(descriptionId);\n return () => setDescriptionId(undefined);\n }, [descriptionId, setDescriptionId]);\n\n return (\n <StyledDialogContentHeader\n {...forwardedProps}\n className={classNames(DialogContentHeader.className, className)}\n ref={useMergeRefs([ref, headerRef])}\n tabIndex={initialFocus === 'header' ? -1 : undefined}\n >\n {subheader ? (\n <div className={`${DialogContentHeader.className}__subheader`}>\n {subheader}\n </div>\n ) : null}\n {header ? (\n <Heading\n as=\"h2\"\n color=\"black\"\n className={`${DialogContentHeader.className}__header`}\n id={labelId}\n variant=\"h2\"\n {...headingProps}\n >\n {icon ? <Icon icon={icon} aria-hidden=\"true\" /> : null}\n {header}\n </Heading>\n ) : null}\n {children ? <div id={descriptionId}>{children}</div> : null}\n </StyledDialogContentHeader>\n );\n});\nDialogContentHeader.className = CLASSNAME;\nDialogContentHeader.defaultProps = DEFAULT_PROPS;\nDialogContentHeader.displayName = COMPONENT_NAME;\n","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\nimport { useMergeRefs, FloatingPortal, FloatingFocusManager, useTransitionStyles } from '@floating-ui/react';\nimport { mdiClose } from '@redsift/icons';\n\nimport { useLocalizedStringFormatter } from '@react-aria/i18n';\nimport intlMessages from './intl';\n\nimport { Comp, IconButton, isComponent, partitionComponents } from '@redsift/design-system';\nimport { DialogContentProps } from './types';\nimport { useDialogContext } from '../dialog';\nimport { StyledDialogContent, StyledFloatingOverlay } from './styles';\nimport { DialogContentActions } from '../dialog-content-actions';\nimport { DialogContentBody } from '../dialog-content-body';\nimport { DialogContentHeader } from '../dialog-content-header';\n\nconst COMPONENT_NAME = 'DialogContent';\nconst CLASSNAME = 'redsift-dialog-content';\nconst DEFAULT_PROPS: Partial<DialogContentProps> = {};\n\n/**\n * The DialogContent component.\n */\nexport const BaseDialogContent: Comp<DialogContentProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, ...forwardedProps } = props;\n const {\n context: floatingContext,\n getFloatingProps,\n refs,\n labelId,\n descriptionId,\n handleOpen,\n hasCloseButton,\n initialFocus: propsInitialFocus,\n size,\n headerRef,\n bodyRef,\n actionsRef,\n } = useDialogContext();\n const { isMounted, styles } = useTransitionStyles(floatingContext);\n const dialogRef = useMergeRefs([refs.setFloating, ref]);\n\n const stringFormatter = useLocalizedStringFormatter(intlMessages);\n\n const [[header], [body], [actions]] = partitionComponents(React.Children.toArray(children), [\n isComponent('DialogContentHeader'),\n isComponent('DialogContentBody'),\n isComponent('DialogContentActions'),\n ]);\n\n const initialFocus: number | React.MutableRefObject<HTMLElement | null> | undefined =\n propsInitialFocus === 'header'\n ? headerRef\n : propsInitialFocus === 'body'\n ? bodyRef\n : propsInitialFocus === 'actions'\n ? actionsRef\n : propsInitialFocus\n ? propsInitialFocus\n : undefined;\n\n return (\n <FloatingPortal id=\"redsift-app-container\">\n {isMounted && (\n <StyledFloatingOverlay lockScroll style={styles}>\n <FloatingFocusManager context={floatingContext} initialFocus={initialFocus ? initialFocus : undefined}>\n <StyledDialogContent\n className={classNames(DialogContent.className, className)}\n {...forwardedProps}\n ref={dialogRef}\n aria-labelledby={labelId}\n aria-describedby={descriptionId}\n {...getFloatingProps(props)}\n style={styles}\n $size={size!}\n >\n {header || hasCloseButton ? (\n <div className={`${BaseDialogContent.className}__header`}>\n {header}\n\n {hasCloseButton ? (\n <IconButton\n aria-label={stringFormatter.format('close')}\n className={`${BaseDialogContent.className}-header__icon-button`}\n color=\"question\"\n icon={mdiClose}\n onClick={() => handleOpen(false)}\n />\n ) : null}\n </div>\n ) : null}\n\n {body || actions ? (\n <div className={`${BaseDialogContent.className}__content`}>\n {body}\n {actions}\n </div>\n ) : null}\n </StyledDialogContent>\n </FloatingFocusManager>\n </StyledFloatingOverlay>\n )}\n </FloatingPortal>\n );\n});\nBaseDialogContent.className = CLASSNAME;\nBaseDialogContent.defaultProps = DEFAULT_PROPS;\nBaseDialogContent.displayName = COMPONENT_NAME;\n\nexport const DialogContent = Object.assign(BaseDialogContent, {\n Header: DialogContentHeader,\n Body: DialogContentBody,\n Actions: DialogContentActions,\n});\n","import React, { forwardRef, ReactElement } from 'react';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Comp, isComponent } from '@redsift/design-system';\nimport { useDialogContext } from '../dialog';\nimport { DialogTriggerProps } from './types';\n\nconst COMPONENT_NAME = 'DialogTrigger';\nconst CLASSNAME = 'redsift-dialog-trigger';\nconst DEFAULT_PROPS: Partial<DialogTriggerProps> = {};\n\n/**\n * The DialogTrigger component.\n */\nexport const DialogTrigger: Comp<DialogTriggerProps, HTMLButtonElement> =\n forwardRef((props, ref) => {\n const { children } = props;\n\n const { getReferenceProps, isOpen, handleOpen, refs } = useDialogContext();\n const childrenRef = (children as any).ref;\n const triggerRef = useMergeRefs([refs.setReference, ref, childrenRef]);\n\n if (\n isComponent('Button')(children) ||\n isComponent('IconButton')(children) ||\n isComponent('LinkButton')(children)\n ) {\n return React.cloneElement(children, {\n ...getReferenceProps({\n ref: triggerRef,\n ...props,\n ...(children as ReactElement).props,\n }),\n onClick: () => handleOpen(!isOpen),\n isActive: isOpen,\n });\n }\n\n return <>{children}</>;\n });\nDialogTrigger.className = CLASSNAME;\nDialogTrigger.defaultProps = DEFAULT_PROPS;\nDialogTrigger.displayName = COMPONENT_NAME;\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport {\n useFloating,\n useDismiss,\n useRole,\n useInteractions,\n} from '@floating-ui/react';\nimport { DialogProps } from './types';\n\nexport function useDialog({\n defaultOpen,\n hasCloseButton,\n initialFocus,\n isOpen: propsIsOpen,\n onOpen,\n size,\n}: Omit<DialogProps, 'children'>) {\n const headerRef = useRef(null);\n const bodyRef = useRef(null);\n const actionsRef = useRef(null);\n const [labelId, setLabelId] = React.useState<string | undefined>();\n const [descriptionId, setDescriptionId] =\n React.useState<string | undefined>();\n\n const [isOpen, setIsOpen] = useState(propsIsOpen ?? defaultOpen);\n\n useEffect(() => {\n setIsOpen(propsIsOpen ?? defaultOpen);\n }, [propsIsOpen, defaultOpen]);\n\n const handleOpen = useCallback(\n (collapsed: boolean) => {\n if (onOpen) {\n onOpen(collapsed);\n }\n if (propsIsOpen === undefined || propsIsOpen === null) {\n setIsOpen(collapsed);\n }\n },\n [onOpen]\n );\n\n const data = useFloating({\n open: isOpen,\n onOpenChange: handleOpen,\n });\n\n const context = data.context;\n\n const dismiss = useDismiss(context, { outsidePressEvent: 'mousedown' });\n const role = useRole(context);\n\n const interactions = useInteractions([dismiss, role]);\n\n return React.useMemo(\n () => ({\n isOpen,\n handleOpen,\n ...interactions,\n ...data,\n labelId,\n descriptionId,\n setLabelId,\n setDescriptionId,\n hasCloseButton,\n initialFocus,\n size,\n headerRef,\n bodyRef,\n actionsRef,\n }),\n [\n isOpen,\n handleOpen,\n interactions,\n data,\n labelId,\n descriptionId,\n hasCloseButton,\n initialFocus,\n size,\n headerRef,\n bodyRef,\n actionsRef,\n ]\n );\n}\n","import React from 'react';\nimport { partitionComponents, isComponent } from '@redsift/design-system';\nimport { DialogContent } from '../dialog-content';\nimport { DialogTrigger } from '../dialog-trigger';\n\nimport { DialogContext } from './context';\nimport { DialogProps, DialogSize } from './types';\nimport { useDialog } from './useDialog';\n\nconst COMPONENT_NAME = 'Dialog';\nconst CLASSNAME = 'redsift-dialog';\nconst DEFAULT_PROPS: Partial<DialogProps> = {\n hasCloseButton: true,\n size: DialogSize.medium,\n};\n\n/**\n * The Dialog component.\n */\nexport const BaseDialog: React.FC<DialogProps> & {\n displayName?: string;\n className?: string;\n} = (props) => {\n const {\n children,\n defaultOpen,\n hasCloseButton = DEFAULT_PROPS.hasCloseButton,\n initialFocus,\n isOpen,\n onOpen,\n size,\n } = props;\n\n const dialog = useDialog({\n defaultOpen,\n hasCloseButton,\n initialFocus,\n isOpen,\n onOpen,\n size,\n });\n\n const [[trigger], [content]] = partitionComponents(\n React.Children.toArray(children),\n [isComponent('DialogTrigger'), isComponent('DialogContent')]\n );\n\n return (\n <DialogContext.Provider value={dialog}>\n {trigger}\n {content}\n </DialogContext.Provider>\n );\n};\nBaseDialog.className = CLASSNAME;\nBaseDialog.defaultProps = DEFAULT_PROPS;\nBaseDialog.displayName = COMPONENT_NAME;\n\nexport const Dialog = Object.assign(BaseDialog, {\n Trigger: DialogTrigger,\n Content: DialogContent,\n});\n","import React from 'react';\nimport { DialogContext } from './context';\n\nexport const useDialogContext = () => {\n const context = React.useContext(DialogContext);\n\n if (context == null) {\n throw new Error('Dialog components must be wrapped in <Dialog />');\n }\n\n return context;\n};\n","import React from 'react';\nimport { PopoverState } from './types';\n\nexport const PopoverContext = React.createContext<PopoverState | null>(null);\n","import { ReactNode } from 'react';\nimport { ValueOf } from '@redsift/design-system';\nimport { usePopover } from './usePopover';\n\n/**\n * Context props.\n */\nexport type PopoverState = ReturnType<typeof usePopover> | null;\n\n/**\n * Component variant.\n */\nexport const PopoverPlacement = {\n top: 'top',\n right: 'right',\n bottom: 'bottom',\n left: 'left',\n 'top-start': 'top-start',\n 'top-end': 'top-end',\n 'right-start': 'right-start',\n 'right-end': 'right-end',\n 'bottom-start': 'bottom-start',\n 'bottom-end': 'bottom-end',\n 'left-start': 'left-start',\n 'left-end': 'left-end',\n} as const;\nexport type PopoverPlacement = ValueOf<typeof PopoverPlacement>;\n\n/**\n * Component props.\n */\nexport interface PopoverProps {\n /** Children. Can only be PopoverTrigger and PopoverContent. */\n children: ReactNode;\n /**\n * Default open status.\n * Used for uncontrolled version.\n */\n defaultOpen?: boolean;\n /** Default placement of the popover. */\n placement?: PopoverPlacement;\n /** Whether the popover is a modal or not. */\n isModal?: boolean;\n /**\n * Whether the component is opened or not.\n * Used for controlled version.\n */\n isOpen?: boolean;\n /** Method to handle component change. */\n onOpen?: (open: boolean) => void;\n}\n\nexport type StyledPopoverProps = PopoverProps;\n","import styled from 'styled-components';\nimport { baseContainer } from '@redsift/design-system';\nimport { StyledPopoverContentProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledPopoverContent = styled.div<StyledPopoverContentProps>`\n align-items: center;\n display: flex;\n ${baseContainer}\n background-color: var(--redsift-color-neutral-white);\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2);\n color: var(--redsift-color-neutral-black);\n filter: drop-shadow(0px 4px 5px rgba(0, 0, 0, 0.14))\n drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.12));\n font-family: var(--redsift-typography-popover-font-family);\n font-size: var(--redsift-typography-popover-font-size);\n font-weight: var(--redsift-typography-popover-font-weight);\n line-height: var(--redsift-typography-popover-line-height);\n max-width: calc(100vw - 48px);\n z-index: var(--redsift-layout-z-index-popover);\n\n &:focus-visible {\n outline: none;\n }\n`;\n","import React, { forwardRef } from 'react';\nimport {\n useMergeRefs,\n FloatingPortal,\n FloatingFocusManager,\n} from '@floating-ui/react';\n\nimport { Comp } from '@redsift/design-system';\nimport { PopoverContentProps } from './types';\nimport { usePopoverContext } from '../popover';\nimport { StyledPopoverContent } from './styles';\nimport classNames from 'classnames';\n\nconst COMPONENT_NAME = 'PopoverContent';\nconst CLASSNAME = 'redsift-popover-content';\nconst DEFAULT_PROPS: Partial<PopoverContentProps> = {};\n\n/**\n * The PopoverContent component.\n */\nexport const PopoverContent: Comp<PopoverContentProps, HTMLDivElement> =\n forwardRef((props, ref) => {\n const { children, className, style } = props;\n const {\n context: floatingContext,\n getFloatingProps,\n isModal,\n isOpen,\n refs,\n strategy,\n x,\n y,\n } = usePopoverContext();\n const popoverRef = useMergeRefs([refs.setFloating, ref]);\n\n return (\n <FloatingPortal id=\"redsift-app-container\">\n {isOpen && (\n <FloatingFocusManager context={floatingContext} modal={isModal}>\n <StyledPopoverContent\n className={classNames(PopoverContent.className, className)}\n ref={popoverRef}\n style={{\n position: strategy,\n top: y ?? 0,\n left: x ?? 0,\n width: 'fit-content',\n ...style,\n }}\n {...getFloatingProps(props)}\n >\n {children}\n </StyledPopoverContent>\n </FloatingFocusManager>\n )}\n </FloatingPortal>\n );\n });\nPopoverContent.className = CLASSNAME;\nPopoverContent.defaultProps = DEFAULT_PROPS;\nPopoverContent.displayName = COMPONENT_NAME;\n","import React, { forwardRef, ReactElement } from 'react';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Comp, isComponent } from '@redsift/design-system';\nimport { usePopoverContext } from '../popover';\nimport { PopoverTriggerProps } from './types';\n\nconst COMPONENT_NAME = 'PopoverTrigger';\nconst CLASSNAME = 'redsift-popover-trigger';\nconst DEFAULT_PROPS: Partial<PopoverTriggerProps> = {};\n\n/**\n * The PopoverTrigger component.\n */\nexport const PopoverTrigger: Comp<PopoverTriggerProps, HTMLButtonElement> =\n forwardRef((props, ref) => {\n const { children } = props;\n\n const { getReferenceProps, isOpen, handleOpen, refs } = usePopoverContext();\n const childrenRef = (children as any).ref;\n const triggerRef = useMergeRefs([refs.setReference, ref, childrenRef]);\n\n if (\n isComponent('Button')(children) ||\n isComponent('IconButton')(children) ||\n isComponent('LinkButton')(children)\n ) {\n return React.cloneElement(children, {\n ...getReferenceProps({\n ref: triggerRef,\n ...props,\n ...(children as ReactElement).props,\n }),\n onClick: () => handleOpen(!isOpen),\n isActive: isOpen,\n });\n }\n\n return <>{children}</>;\n });\nPopoverTrigger.className = CLASSNAME;\nPopoverTrigger.defaultProps = DEFAULT_PROPS;\nPopoverTrigger.displayName = COMPONENT_NAME;\n","import React, { useCallback, useEffect, useState } from 'react';\nimport {\n useFloating,\n autoUpdate,\n offset,\n flip,\n shift,\n useDismiss,\n useRole,\n useInteractions,\n} from '@floating-ui/react';\nimport { PopoverProps } from './types';\n\nexport function usePopover({\n defaultOpen,\n placement,\n isModal,\n isOpen: propsIsOpen,\n onOpen,\n}: Omit<PopoverProps, 'children'>) {\n const [isOpen, setIsOpen] = useState(propsIsOpen ?? defaultOpen);\n\n useEffect(() => {\n setIsOpen(propsIsOpen ?? defaultOpen);\n }, [propsIsOpen, defaultOpen]);\n\n const handleOpen = useCallback(\n (collapsed: boolean) => {\n if (onOpen) {\n onOpen(collapsed);\n }\n if (propsIsOpen === undefined || propsIsOpen === null) {\n setIsOpen(collapsed);\n }\n },\n [onOpen]\n );\n\n const data = useFloating({\n placement,\n open: isOpen,\n onOpenChange: handleOpen,\n whileElementsMounted: autoUpdate,\n middleware: [\n offset(2),\n flip({\n fallbackAxisSideDirection: 'end',\n }),\n shift({ padding: 2 }),\n ],\n });\n\n const context = data.context;\n\n const dismiss = useDismiss(context);\n const role = useRole(context);\n\n const interactions = useInteractions([dismiss, role]);\n\n return React.useMemo(\n () => ({\n isOpen,\n handleOpen,\n ...interactions,\n ...data,\n isModal,\n }),\n [isOpen, handleOpen, interactions, data, isModal]\n );\n}\n","import React from 'react';\nimport { partitionComponents, isComponent } from '@redsift/design-system';\nimport { PopoverContent } from '../popover-content';\nimport { PopoverTrigger } from '../popover-trigger';\n\nimport { PopoverContext } from './context';\nimport { PopoverPlacement, PopoverProps } from './types';\nimport { usePopover } from './usePopover';\n\nconst COMPONENT_NAME = 'Popover';\nconst CLASSNAME = 'redsift-popover';\nconst DEFAULT_PROPS: Partial<PopoverProps> = {\n isModal: false,\n placement: PopoverPlacement.bottom,\n};\n\n/**\n * The Popover component.\n */\nexport const BasePopover: React.FC<PopoverProps> & {\n displayName?: string;\n className?: string;\n} = (props) => {\n const { children, defaultOpen, placement, isModal, isOpen, onOpen } = props;\n\n const popover = usePopover({\n defaultOpen,\n placement,\n isModal,\n isOpen,\n onOpen,\n });\n\n const [[trigger], [content]] = partitionComponents(\n React.Children.toArray(children),\n [isComponent('PopoverTrigger'), isComponent('PopoverContent')]\n );\n\n return (\n <PopoverContext.Provider value={popover}>\n {trigger}\n {content}\n </PopoverContext.Provider>\n );\n};\nBasePopover.className = CLASSNAME;\nBasePopover.defaultProps = DEFAULT_PROPS;\nBasePopover.displayName = COMPONENT_NAME;\n\nexport const Popover = Object.assign(BasePopover, {\n Trigger: PopoverTrigger,\n Content: PopoverContent,\n});\n","import React from 'react';\nimport { PopoverContext } from './context';\n\nexport const usePopoverContext = () => {\n const context = React.useContext(PopoverContext);\n\n if (context == null) {\n throw new Error('Popover components must be wrapped in <Popover />');\n }\n\n return context;\n};\n","import { ComponentProps, ReactNode } from 'react';\nimport { ValueOf, SizingProps, SpacingProps } from '@redsift/design-system';\n\n/**\n * Component variant.\n */\nexport const ToastVariant = {\n success: 'success',\n error: 'error',\n warning: 'warning',\n info: 'info',\n loading: 'loading',\n} as const;\nexport type ToastVariant = ValueOf<typeof ToastVariant>;\n\nexport const ToastPlacement = {\n 'top-right': 'top-right',\n 'top-center': 'top-center',\n 'top-left': 'top-left',\n 'bottom-right': 'bottom-right',\n 'bottom-center': 'bottom-center',\n 'bottom-left': 'bottom-left',\n} as const;\nexport type ToastPlacement = ValueOf<typeof ToastPlacement>;\n\n/**\n * Component props.\n */\nexport interface ToastProps\n extends Omit<ComponentProps<'div'>, 'id' | 'style'>,\n SpacingProps,\n SizingProps {\n /** Whether the component has a close button or not. */\n closeButton?: boolean | ReactNode;\n /** Title. */\n title?: string;\n /** Variant */\n variant?: ToastVariant;\n}\n\nexport type StyledToastProps = Omit<ToastProps, 'variant' | 'id'> & {\n $hasTitle: boolean;\n $variant: ToastProps['variant'];\n};\n","import enUS from './en-US.json';\nimport frFR from './fr-FR.json';\n\nexport default {\n 'en-US': enUS,\n 'fr-FR': frFR,\n};\n","import styled, { css } from 'styled-components';\nimport { baseStyling } from '@redsift/design-system';\nimport { StyledToastProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledToast = styled.div<StyledToastProps>`\n ${baseStyling}\n\n padding: 16px;\n box-shadow: 0px 2px 4px -1px rgb(0 0 0 / 20%), 0px 4px 5px rgb(0 0 0 / 14%),\n 0px 1px 10px rgb(0 0 0 / 12%);\n\n ${({ $hasTitle, $variant }) => css`\n background-color: ${$variant === 'loading'\n ? 'var(--redsift-color-neutral-white)'\n : `var(--redsift-color-${$variant}-hover)`};\n\n .redsift-toast__header {\n h5 {\n line-height: 26px;\n }\n }\n\n .redsift-toast-header__icon-button {\n padding: 0px;\n .redsift-icon {\n color: var(--redsift-color-neutral-black);\n }\n\n &:hover,\n &:focus-visible {\n background-color: var(--redsift-color-${$variant}-active);\n }\n }\n\n .redsift-toast__content {\n margin-top: ${$hasTitle ? '8px' : '-24px'};\n margin-left: 38px;\n }\n `}\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\n\nimport { useLocalizedStringFormatter } from '@react-aria/i18n';\nimport intlMessages from './intl';\n\nimport { mdiAlert, mdiAlertCircle, mdiCheckCircle, mdiClose, mdiInformation } from '@redsift/icons';\nimport {\n ColorPalette,\n Comp,\n Icon,\n Heading,\n Flexbox,\n Spinner,\n isComponent,\n ButtonColor,\n IconButton,\n} from '@redsift/design-system';\nimport { StyledToast } from './styles';\nimport { ToastProps, ToastVariant } from './types';\n\nconst COMPONENT_NAME = 'Toast';\nconst CLASSNAME = 'redsift-toast';\nconst DEFAULT_PROPS: Partial<ToastProps> = {\n variant: 'info',\n closeButton: true,\n};\n\nconst getVariant = (variant: ToastVariant) => {\n switch (variant) {\n case ToastVariant.info:\n default:\n return <Icon icon={mdiInformation} color={ColorPalette.info} />;\n case ToastVariant.error:\n return <Icon icon={mdiAlertCircle} color={ColorPalette.error} />;\n case ToastVariant.success:\n return <Icon icon={mdiCheckCircle} color={ColorPalette.success} />;\n case ToastVariant.warning:\n return <Icon icon={mdiAlert} color={ColorPalette.warning} />;\n case ToastVariant.loading:\n return <Spinner size=\"small\" />;\n }\n};\n\n/**\n * The Toast component.\n */\nexport const Toast: Comp<ToastProps & { closeToast?: () => void }, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, closeToast, closeButton, title, variant, ...forwardedProps } = props;\n\n const stringFormatter = useLocalizedStringFormatter(intlMessages);\n\n const icon = getVariant(variant!);\n\n return (\n <StyledToast\n {...forwardedProps}\n className={classNames(Toast.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n $hasTitle={Boolean(title)}\n $variant={variant}\n >\n <Flexbox className={`${Toast.className}__header`} justifyContent=\"space-between\">\n <Flexbox justifyContent=\"space-between\" flexDirection=\"column\" gap=\"0\">\n <Flexbox className={`${Toast.className}-header__title`} gap=\"14px\" alignItems=\"flex-start\">\n {icon}\n {title ? <Heading as=\"h5\">{title}</Heading> : null}\n </Flexbox>\n\n {children ? <div className={`${Toast.className}__content`}>{children}</div> : null}\n </Flexbox>\n\n {closeButton === true ? (\n <IconButton\n aria-label={stringFormatter.format('close')}\n className={`${Toast.className}-header__icon-button`}\n icon={mdiClose}\n onClick={closeToast}\n />\n ) : isComponent('Button')(closeButton) || isComponent('IconButton')(closeButton) ? (\n React.cloneElement(closeButton, {\n color: variant === 'loading' ? 'default' : (variant as ButtonColor),\n onClick: () => {\n closeButton.props.onClick?.();\n closeToast?.();\n },\n })\n ) : null}\n </Flexbox>\n </StyledToast>\n );\n});\nToast.className = CLASSNAME;\nToast.defaultProps = DEFAULT_PROPS;\nToast.displayName = COMPONENT_NAME;\n","import styled from 'styled-components';\nimport { ToastContainer } from 'react-toastify';\nimport { StyledToastContainerProps } from './types';\n\nexport const ReactToastify = styled.div`\n :root {\n --toastify-color-light: #fff;\n --toastify-color-dark: #121212;\n --toastify-color-info: #3498db;\n --toastify-color-success: #07bc0c;\n --toastify-color-warning: #f1c40f;\n --toastify-color-error: #e74c3c;\n --toastify-color-transparent: rgba(255, 255, 255, 0.7);\n --toastify-icon-color-info: var(--toastify-color-info);\n --toastify-icon-color-success: var(--toastify-color-success);\n --toastify-icon-color-warning: var(--toastify-color-warning);\n --toastify-icon-color-error: var(--toastify-color-error);\n --toastify-toast-width: 320px;\n --toastify-toast-background: #fff;\n --toastify-toast-min-height: 64px;\n --toastify-toast-max-height: 800px;\n --toastify-font-family: sans-serif;\n --toastify-z-index: 9999;\n --toastify-text-color-light: #757575;\n --toastify-text-color-dark: #fff;\n --toastify-text-color-info: #fff;\n --toastify-text-color-success: #fff;\n --toastify-text-color-warning: #fff;\n --toastify-text-color-error: #fff;\n --toastify-spinner-color: #616161;\n --toastify-spinner-color-empty-area: #e0e0e0;\n --toastify-color-progress-light: linear-gradient(\n to right,\n #4cd964,\n #5ac8fa,\n #007aff,\n #34aadc,\n #5856d6,\n #ff2d55\n );\n --toastify-color-progress-dark: #bb86fc;\n --toastify-color-progress-info: var(--toastify-color-info);\n --toastify-color-progress-success: var(--toastify-color-success);\n --toastify-color-progress-warning: var(--toastify-color-warning);\n --toastify-color-progress-error: var(--toastify-color-error);\n }\n\n .Toastify__toast-container {\n z-index: var(--toastify-z-index);\n -webkit-transform: translate3d(0, 0, var(--toastify-z-index) px);\n position: fixed;\n padding: 4px;\n width: var(--toastify-toast-width);\n box-sizing: border-box;\n color: #fff;\n }\n .Toastify__toast-container--top-left {\n top: 1em;\n left: 1em;\n }\n .Toastify__toast-container--top-center {\n top: 1em;\n left: 50%;\n transform: translateX(-50%);\n }\n .Toastify__toast-container--top-right {\n top: 1em;\n right: 1em;\n }\n .Toastify__toast-container--bottom-left {\n bottom: 1em;\n left: 1em;\n }\n .Toastify__toast-container--bottom-center {\n bottom: 1em;\n left: 50%;\n transform: translateX(-50%);\n }\n .Toastify__toast-container--bottom-right {\n bottom: 1em;\n right: 1em;\n }\n\n @media only screen and (max-width: 480px) {\n .Toastify__toast-container {\n width: 100vw;\n padding: 0;\n left: 0;\n margin: 0;\n }\n .Toastify__toast-container--top-left,\n .Toastify__toast-container--top-center,\n .Toastify__toast-container--top-right {\n top: 0;\n transform: translateX(0);\n }\n .Toastify__toast-container--bottom-left,\n .Toastify__toast-container--bottom-center,\n .Toastify__toast-container--bottom-right {\n bottom: 0;\n transform: translateX(0);\n }\n .Toastify__toast-container--rtl {\n right: 0;\n left: initial;\n }\n }\n .Toastify__toast {\n position: relative;\n min-height: var(--toastify-toast-min-height);\n box-sizing: border-box;\n margin-bottom: 1rem;\n padding: 8px;\n border-radius: 4px;\n box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.1),\n 0 2px 15px 0 rgba(0, 0, 0, 0.05);\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: justify;\n justify-content: space-between;\n max-height: var(--toastify-toast-max-height);\n overflow: hidden;\n font-family: var(--toastify-font-family);\n cursor: default;\n direction: ltr;\n /* webkit only issue #791 */\n z-index: 0;\n }\n .Toastify__toast--rtl {\n direction: rtl;\n }\n .Toastify__toast--close-on-click {\n cursor: pointer;\n }\n .Toastify__toast-body {\n margin: auto 0;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n padding: 6px;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n }\n .Toastify__toast-body > div:last-child {\n word-break: break-word;\n -ms-flex: 1;\n flex: 1;\n }\n .Toastify__toast-icon {\n -webkit-margin-end: 10px;\n margin-inline-end: 10px;\n width: 20px;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n display: -ms-flexbox;\n display: flex;\n }\n\n .Toastify--animate {\n animation-fill-mode: both;\n animation-duration: 0.7s;\n }\n\n .Toastify--animate-icon {\n animation-fill-mode: both;\n animation-duration: 0.3s;\n }\n\n @media only screen and (max-width: 480px) {\n .Toastify__toast {\n margin-bottom: 0;\n border-radius: 0;\n }\n }\n .Toastify__toast-theme--dark {\n background: var(--toastify-color-dark);\n color: var(--toastify-text-color-dark);\n }\n .Toastify__toast-theme--light {\n background: var(--toastify-color-light);\n color: var(--toastify-text-color-light);\n }\n .Toastify__toast-theme--colored.Toastify__toast--default {\n background: var(--toastify-color-light);\n color: var(--toastify-text-color-light);\n }\n .Toastify__toast-theme--colored.Toastify__toast--info {\n color: var(--toastify-text-color-info);\n background: var(--toastify-color-info);\n }\n .Toastify__toast-theme--colored.Toastify__toast--success {\n color: var(--toastify-text-color-success);\n background: var(--toastify-color-success);\n }\n .Toastify__toast-theme--colored.Toastify__toast--warning {\n color: var(--toastify-text-color-warning);\n background: var(--toastify-color-warning);\n }\n .Toastify__toast-theme--colored.Toastify__toast--error {\n color: var(--toastify-text-color-error);\n background: var(--toastify-color-error);\n }\n\n .Toastify__progress-bar-theme--light {\n background: var(--toastify-color-progress-light);\n }\n .Toastify__progress-bar-theme--dark {\n background: var(--toastify-color-progress-dark);\n }\n .Toastify__progress-bar--info {\n background: var(--toastify-color-progress-info);\n }\n .Toastify__progress-bar--success {\n background: var(--toastify-color-progress-success);\n }\n .Toastify__progress-bar--warning {\n background: var(--toastify-color-progress-warning);\n }\n .Toastify__progress-bar--error {\n background: var(--toastify-color-progress-error);\n }\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--error {\n background: var(--toastify-color-transparent);\n }\n\n .Toastify__close-button {\n color: #fff;\n background: transparent;\n outline: none;\n border: none;\n padding: 0;\n cursor: pointer;\n opacity: 0.7;\n transition: 0.3s ease;\n -ms-flex-item-align: start;\n align-self: flex-start;\n }\n .Toastify__close-button--light {\n color: #000;\n opacity: 0.3;\n }\n .Toastify__close-button > svg {\n fill: currentColor;\n height: 16px;\n width: 14px;\n }\n .Toastify__close-button:hover,\n .Toastify__close-button:focus {\n opacity: 1;\n }\n\n @keyframes Toastify__trackProgress {\n 0% {\n transform: scaleX(1);\n }\n 100% {\n transform: scaleX(0);\n }\n }\n .Toastify__progress-bar {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 5px;\n z-index: var(--toastify-z-index);\n opacity: 0.7;\n transform-origin: left;\n }\n .Toastify__progress-bar--animated {\n animation: Toastify__trackProgress linear 1 forwards;\n }\n .Toastify__progress-bar--controlled {\n transition: transform 0.2s;\n }\n .Toastify__progress-bar--rtl {\n right: 0;\n left: initial;\n transform-origin: right;\n }\n\n .Toastify__spinner {\n width: 20px;\n height: 20px;\n box-sizing: border-box;\n border: 2px solid;\n border-radius: 100%;\n border-color: var(--toastify-spinner-color-empty-area);\n border-right-color: var(--toastify-spinner-color);\n animation: Toastify__spin 0.65s linear infinite;\n }\n\n @keyframes Toastify__bounceInRight {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n from {\n opacity: 0;\n transform: translate3d(3000px, 0, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(-25px, 0, 0);\n }\n 75% {\n transform: translate3d(10px, 0, 0);\n }\n 90% {\n transform: translate3d(-5px, 0, 0);\n }\n to {\n transform: none;\n }\n }\n @keyframes Toastify__bounceOutRight {\n 20% {\n opacity: 1;\n transform: translate3d(-20px, 0, 0);\n }\n to {\n opacity: 0;\n transform: translate3d(2000px, 0, 0);\n }\n }\n @keyframes Toastify__bounceInLeft {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n 0% {\n opacity: 0;\n transform: translate3d(-3000px, 0, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(25px, 0, 0);\n }\n 75% {\n transform: translate3d(-10px, 0, 0);\n }\n 90% {\n transform: translate3d(5px, 0, 0);\n }\n to {\n transform: none;\n }\n }\n @keyframes Toastify__bounceOutLeft {\n 20% {\n opacity: 1;\n transform: translate3d(20px, 0, 0);\n }\n to {\n opacity: 0;\n transform: translate3d(-2000px, 0, 0);\n }\n }\n @keyframes Toastify__bounceInUp {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n from {\n opacity: 0;\n transform: translate3d(0, 3000px, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(0, -20px, 0);\n }\n 75% {\n transform: translate3d(0, 10px, 0);\n }\n 90% {\n transform: translate3d(0, -5px, 0);\n }\n to {\n transform: translate3d(0, 0, 0);\n }\n }\n @keyframes Toastify__bounceOutUp {\n 20% {\n transform: translate3d(0, -10px, 0);\n }\n 40%,\n 45% {\n opacity: 1;\n transform: translate3d(0, 20px, 0);\n }\n to {\n opacity: 0;\n transform: translate3d(0, -2000px, 0);\n }\n }\n @keyframes Toastify__bounceInDown {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n 0% {\n opacity: 0;\n transform: translate3d(0, -3000px, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(0, 25px, 0);\n }\n 75% {\n transform: translate3d(0, -10px, 0);\n }\n 90% {\n transform: translate3d(0, 5px, 0);\n }\n to {\n transform: none;\n }\n }\n @keyframes Toastify__bounceOutDown {\n 20% {\n transform: translate3d(0, 10px, 0);\n }\n 40%,\n 45% {\n opacity: 1;\n transform: translate3d(0, -20px, 0);\n }\n to {\n opacity: 0;\n transform: translate3d(0, 2000px, 0);\n }\n }\n .Toastify__bounce-enter--top-left,\n .Toastify__bounce-enter--bottom-left {\n animation-name: Toastify__bounceInLeft;\n }\n .Toastify__bounce-enter--top-right,\n .Toastify__bounce-enter--bottom-right {\n animation-name: Toastify__bounceInRight;\n }\n .Toastify__bounce-enter--top-center {\n animation-name: Toastify__bounceInDown;\n }\n .Toastify__bounce-enter--bottom-center {\n animation-name: Toastify__bounceInUp;\n }\n\n .Toastify__bounce-exit--top-left,\n .Toastify__bounce-exit--bottom-left {\n animation-name: Toastify__bounceOutLeft;\n }\n .Toastify__bounce-exit--top-right,\n .Toastify__bounce-exit--bottom-right {\n animation-name: Toastify__bounceOutRight;\n }\n .Toastify__bounce-exit--top-center {\n animation-name: Toastify__bounceOutUp;\n }\n .Toastify__bounce-exit--bottom-center {\n animation-name: Toastify__bounceOutDown;\n }\n\n @keyframes Toastify__zoomIn {\n from {\n opacity: 0;\n transform: scale3d(0.3, 0.3, 0.3);\n }\n 50% {\n opacity: 1;\n }\n }\n @keyframes Toastify__zoomOut {\n from {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n transform: scale3d(0.3, 0.3, 0.3);\n }\n to {\n opacity: 0;\n }\n }\n .Toastify__zoom-enter {\n animation-name: Toastify__zoomIn;\n }\n\n .Toastify__zoom-exit {\n animation-name: Toastify__zoomOut;\n }\n\n @keyframes Toastify__flipIn {\n from {\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n animation-timing-function: ease-in;\n opacity: 0;\n }\n 40% {\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n animation-timing-function: ease-in;\n }\n 60% {\n transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n opacity: 1;\n }\n 80% {\n transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n }\n to {\n transform: perspective(400px);\n }\n }\n @keyframes Toastify__flipOut {\n from {\n transform: perspective(400px);\n }\n 30% {\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n opacity: 1;\n }\n to {\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n opacity: 0;\n }\n }\n .Toastify__flip-enter {\n animation-name: Toastify__flipIn;\n }\n\n .Toastify__flip-exit {\n animation-name: Toastify__flipOut;\n }\n\n @keyframes Toastify__slideInRight {\n from {\n transform: translate3d(110%, 0, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, 0, 0);\n }\n }\n @keyframes Toastify__slideInLeft {\n from {\n transform: translate3d(-110%, 0, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, 0, 0);\n }\n }\n @keyframes Toastify__slideInUp {\n from {\n transform: translate3d(0, 110%, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, 0, 0);\n }\n }\n @keyframes Toastify__slideInDown {\n from {\n transform: translate3d(0, -110%, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, 0, 0);\n }\n }\n @keyframes Toastify__slideOutRight {\n from {\n transform: translate3d(0, 0, 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(110%, 0, 0);\n }\n }\n @keyframes Toastify__slideOutLeft {\n from {\n transform: translate3d(0, 0, 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(-110%, 0, 0);\n }\n }\n @keyframes Toastify__slideOutDown {\n from {\n transform: translate3d(0, 0, 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(0, 500px, 0);\n }\n }\n @keyframes Toastify__slideOutUp {\n from {\n transform: translate3d(0, 0, 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(0, -500px, 0);\n }\n }\n .Toastify__slide-enter--top-left,\n .Toastify__slide-enter--bottom-left {\n animation-name: Toastify__slideInLeft;\n }\n .Toastify__slide-enter--top-right,\n .Toastify__slide-enter--bottom-right {\n animation-name: Toastify__slideInRight;\n }\n .Toastify__slide-enter--top-center {\n animation-name: Toastify__slideInDown;\n }\n .Toastify__slide-enter--bottom-center {\n animation-name: Toastify__slideInUp;\n }\n\n .Toastify__slide-exit--top-left,\n .Toastify__slide-exit--bottom-left {\n animation-name: Toastify__slideOutLeft;\n }\n .Toastify__slide-exit--top-right,\n .Toastify__slide-exit--bottom-right {\n animation-name: Toastify__slideOutRight;\n }\n .Toastify__slide-exit--top-center {\n animation-name: Toastify__slideOutUp;\n }\n .Toastify__slide-exit--bottom-center {\n animation-name: Toastify__slideOutDown;\n }\n\n @keyframes Toastify__spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n }\n`;\n\n/**\n * Component style.\n */\nexport const StyledToastContainer = styled(\n ToastContainer\n)<StyledToastContainerProps>`\n --toastify-color-light: var(--redsift-color-neutral-white);\n --toastify-color-dark: var(--redsift-color-neutral-black);\n --toastify-color-info: var(--redsift-color-info-primary);\n --toastify-color-success: var(--redsift-color-success-primary);\n --toastify-color-warning: var(--redsift-color-warning-primary);\n --toastify-color-error: var(--redsift-color-error-primary);\n --toastify-color-transparent: rgba(255, 255, 255, 0.7);\n --toastify-icon-color-info: var(--toastify-color-info);\n --toastify-icon-color-success: var(--toastify-color-success);\n --toastify-icon-color-warning: var(--toastify-color-warning);\n --toastify-icon-color-error: var(--toastify-color-error);\n --toastify-toast-width: 'fit-content';\n --toastify-toast-background: var(--redsift-color-neutral-white);\n --toastify-toast-min-height: 58px;\n --toastify-toast-max-height: 800px;\n --toastify-font-family: sans-serif;\n --toastify-z-index: var(--redsift-layout-z-index-tooltip);\n --toastify-text-color-light: var(--redsift-color-neutral-black);\n --toastify-text-color-dark: var(--redsift-color-neutral-white);\n --toastify-text-color-info: var(--redsift-color-neutral-white);\n --toastify-text-color-success: var(--redsift-color-neutral-white);\n --toastify-text-color-warning: var(--redsift-color-neutral-white);\n --toastify-text-color-error: var(--redsift-color-neutral-white);\n --toastify-spinner-color: var(--redsift-color-neutral-darkgrey);\n --toastify-spinner-color-empty-area: var(--redsift-color-neutral-lightgrey);\n --toastify-color-progress-light: var(--redsift-color-neutral-darkgrey);\n --toastify-color-progress-dark: var(--redsift-color-neutral-xlightgrey);\n --toastify-color-progress-default: var(--redsift-color-default-primary);\n --toastify-color-progress-info: var(--toastify-color-info);\n --toastify-color-progress-success: var(--toastify-color-success);\n --toastify-color-progress-warning: var(--toastify-color-warning);\n --toastify-color-progress-error: var(--toastify-color-error);\n\n min-width: 350px;\n max-width: 600px;\n\n .Toastify__toast {\n border-radius: unset;\n box-shadow: 0px 2px 4px -1px rgb(0 0 0 / 20%), 0px 4px 5px rgb(0 0 0 / 14%),\n 0px 1px 10px rgb(0 0 0 / 12%);\n padding: 0;\n }\n\n .Toastify__toast-body {\n padding: 0;\n }\n\n .Toastify__toast-theme--colored.Toastify__toast--default {\n background: none;\n }\n .Toastify__toast-theme--colored.Toastify__toast--info {\n background: none;\n }\n .Toastify__toast-theme--colored.Toastify__toast--success {\n background: none;\n }\n .Toastify__toast-theme--colored.Toastify__toast--warning {\n background: none;\n }\n .Toastify__toast-theme--colored.Toastify__toast--error {\n background: none;\n }\n\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--default {\n background: var(--toastify-color-progress-default);\n }\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--info {\n background: var(--toastify-color-progress-info);\n }\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--success {\n background: var(--toastify-color-progress-success);\n }\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning {\n background: var(--toastify-color-progress-warning);\n }\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--error {\n background: var(--toastify-color-progress-error);\n }\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport { Slide } from 'react-toastify';\n\nimport { Comp } from '@redsift/design-system';\nimport { ReactToastify, StyledToastContainer } from './styles';\nimport { ToastContainerProps } from './types';\n\nconst COMPONENT_NAME = 'ToastContainer';\nconst CLASSNAME = 'redsift-toast-container';\nconst DEFAULT_PROPS: Partial<ToastContainerProps> = {\n autoClose: 5000,\n closeOnClick: false,\n draggable: true,\n pauseOnFocusLoss: true,\n pauseOnHover: true,\n placement: 'top-right',\n};\n\n/**\n * The ToastContainer component.\n */\nexport const ToastContainer: Comp<ToastContainerProps, HTMLDivElement> =\n forwardRef((props, ref) => {\n const { placement, ...forwardedProps } = props;\n\n return (\n <ReactToastify>\n <StyledToastContainer\n {...forwardedProps}\n className={ToastContainer.className}\n closeButton={false}\n icon={false}\n newestOnTop={placement!.includes('bottom')}\n position={placement}\n ref={ref as RefObject<HTMLDivElement>}\n theme=\"colored\"\n transition={Slide}\n />\n </ReactToastify>\n );\n });\nToastContainer.className = CLASSNAME;\nToastContainer.defaultProps = DEFAULT_PROPS;\nToastContainer.displayName = COMPONENT_NAME;\n","import React from 'react';\nimport { toast } from 'react-toastify';\nimport { Toast } from '../toast';\nimport { useToastProps, useToastReturnType } from './types';\n\nconst notify: useToastReturnType['notify'] = (\n { content, closeButton, placement, title, variant = 'info', ...options },\n props\n) => {\n return toast(\n <Toast title={title} variant={variant} closeButton={closeButton} {...props}>\n {content}\n </Toast>,\n {\n type: variant === 'loading' ? 'default' : variant,\n ...(placement && { position: placement }),\n ...options,\n }\n );\n};\n\nconst update: useToastReturnType['update'] = (\n id,\n { content, closeButton, placement, title, variant = 'info', ...options },\n props\n) => {\n toast.update(id, {\n render: ({ closeToast }) => (\n <Toast\n title={title}\n variant={variant}\n closeButton={closeButton}\n closeToast={closeToast}\n {...props}\n >\n {content}\n </Toast>\n ),\n type: variant === 'loading' ? 'default' : variant,\n ...(placement && { position: placement }),\n ...options,\n });\n};\n\nconst promise: useToastReturnType['promise'] = (\n promise,\n { pending, success, error },\n { closeButton, placement, ...options } = {},\n props\n) => {\n toast.promise(promise, {\n pending: {\n render: ({ closeToast }) => (\n <Toast\n closeButton={closeButton}\n title={pending.title}\n variant=\"loading\"\n closeToast={closeToast}\n {...props}\n >\n {pending.content}\n </Toast>\n ),\n type: 'default',\n ...(placement && { position: placement }),\n ...options,\n },\n success: {\n render: ({ closeToast }) => (\n <Toast\n closeButton={closeButton}\n title={success.title}\n variant=\"success\"\n closeToast={closeToast}\n {...props}\n >\n {success.content}\n </Toast>\n ),\n type: 'success',\n ...(placement && { position: placement }),\n ...options,\n },\n error: {\n render: ({ closeToast }) => (\n <Toast\n closeButton={closeButton}\n title={error.title}\n variant=\"error\"\n closeToast={closeToast}\n {...props}\n >\n {error.content}\n </Toast>\n ),\n type: 'error',\n ...(placement && { position: placement }),\n ...options,\n },\n });\n};\n\nexport const useToast: useToastProps = () => {\n return {\n notify: notify,\n clearWaitingQueue: toast.clearWaitingQueue,\n dismiss: toast.dismiss,\n done: toast.done,\n error: (options, props) => {\n return notify({ variant: 'error', ...options }, props);\n },\n info: (options, props) => {\n return notify({ variant: 'info', ...options }, props);\n },\n isActive: toast.isActive,\n loading: (options, props) => {\n return notify({ variant: 'loading', ...options }, props);\n },\n promise: promise,\n success: (options, props) => {\n return notify({ variant: 'success', ...options }, props);\n },\n update: update,\n warning: (options, props) => {\n return notify({ variant: 'warning', ...options }, props);\n },\n };\n};\n","import React from 'react';\nimport { TooltipState } from './types';\n\nexport const TooltipContext = React.createContext<TooltipState | null>(null);\n","import { ReactNode } from 'react';\nimport { ValueOf } from '@redsift/design-system';\nimport { useTooltip } from './useTooltip';\n\n/**\n * Context props.\n */\nexport type TooltipState = ReturnType<typeof useTooltip> | null;\n\n/**\n * Component variant.\n */\nexport const TooltipPlacement = {\n top: 'top',\n right: 'right',\n bottom: 'bottom',\n left: 'left',\n 'top-start': 'top-start',\n 'top-end': 'top-end',\n 'right-start': 'right-start',\n 'right-end': 'right-end',\n 'bottom-start': 'bottom-start',\n 'bottom-end': 'bottom-end',\n 'left-start': 'left-start',\n 'left-end': 'left-end',\n} as const;\nexport type TooltipPlacement = ValueOf<typeof TooltipPlacement>;\n\n/**\n * Component props.\n */\nexport interface TooltipProps {\n /** Children. Can only be TooltipTrigger and TooltilContent. */\n children: ReactNode;\n /**\n * Default open status.\n * Used for uncontrolled version.\n */\n defaultOpen?: boolean;\n /** Delay time (in ms) for the tooltip to show up. */\n delay?: number;\n /** Default placement of the tooltip. */\n placement?: TooltipPlacement;\n /**\n * Whether the component is opened or not.\n * Used for controlled version.\n */\n isOpen?: boolean;\n /** Method to handle component change. */\n onOpen?: (open: boolean) => void;\n /** Id to the tooltip content. */\n tooltipId?: string;\n}\n\nexport type StyledTooltipProps = TooltipProps;\n","import styled, { css } from 'styled-components';\nimport { baseContainer } from '@redsift/design-system';\nimport { TooltipPlacement } from '../tooltip';\nimport { StyledTooltipContentProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledTooltipContent = styled.div<StyledTooltipContentProps>`\n ${baseContainer}\n\n align-items: center;\n background-color: var(--redsift-color-neutral-white);\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2);\n color: var(--redsift-color-neutral-black);\n display: flex;\n filter: drop-shadow(0px 4px 5px rgba(0, 0, 0, 0.14))\n drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.12));\n font-family: var(--redsift-typography-tooltip-font-family);\n font-size: var(--redsift-typography-tooltip-font-size);\n font-weight: var(--redsift-typography-tooltip-font-weight);\n line-height: var(--redsift-typography-tooltip-line-height);\n max-width: calc(100vw - 48px);\n padding: 4px 8px;\n z-index: var(--redsift-layout-z-index-tooltip);\n\n .redsift-tooltip-content__arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: var(--redsift-color-neutral-white);\n border-style: solid;\n }\n\n ${({ $placement }) => {\n switch ($placement) {\n case TooltipPlacement.left:\n case TooltipPlacement['left-end']:\n case TooltipPlacement['left-start']:\n return css`\n .redsift-tooltip-content__arrow {\n border-width: 6px 0 6px 6px;\n border-top-color: transparent;\n border-right-color: transparent;\n border-bottom-color: transparent;\n }\n `;\n case TooltipPlacement.top:\n case TooltipPlacement['top-end']:\n case TooltipPlacement['top-start']:\n return css`\n .redsift-tooltip-content__arrow {\n border-width: 6px 6px 0;\n border-right-color: transparent;\n border-bottom-color: transparent;\n border-left-color: transparent;\n }\n `;\n case TooltipPlacement.right:\n case TooltipPlacement['right-end']:\n case TooltipPlacement['right-start']:\n return css`\n .redsift-tooltip-content__arrow {\n border-width: 6px 6px 6px 0;\n border-top-color: transparent;\n border-bottom-color: transparent;\n border-left-color: transparent;\n }\n `;\n case TooltipPlacement.bottom:\n case TooltipPlacement['bottom-end']:\n case TooltipPlacement['bottom-start']:\n default:\n return css`\n .redsift-tooltip-content__arrow {\n border-width: 0 6px 6px;\n border-top-color: transparent;\n border-right-color: transparent;\n border-left-color: transparent;\n }\n `;\n }\n }}\n`;\n","import React, { forwardRef } from 'react';\nimport { useMergeRefs, FloatingPortal } from '@floating-ui/react';\n\nimport { Comp } from '@redsift/design-system';\nimport { TooltipContentProps } from './types';\nimport { TooltipPlacement, useTooltipContext } from '../tooltip';\nimport { StyledTooltipContent } from './styles';\nimport classNames from 'classnames';\n\nconst COMPONENT_NAME = 'TooltipContent';\nconst CLASSNAME = 'redsift-tooltip-content';\nconst DEFAULT_PROPS: Partial<TooltipContentProps> = {};\n\n/**\n * The TooltipContent component.\n */\nexport const TooltipContent: Comp<TooltipContentProps, HTMLDivElement> =\n forwardRef((props, ref) => {\n const { children, className, style } = props;\n const {\n getFloatingProps,\n isOpen,\n placement,\n refs,\n strategy,\n x,\n y,\n middlewareData: { arrow: { x: arrowX, y: arrowY } = {} },\n } = useTooltipContext();\n const popoverRef = useMergeRefs([refs.setFloating, ref]);\n\n const { arrowRef } = useTooltipContext();\n\n const staticSide = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[placement.split('-')[0]];\n\n return (\n <FloatingPortal id=\"redsift-app-container\">\n {isOpen && (\n <StyledTooltipContent\n className={classNames(TooltipContent.className, className)}\n ref={popoverRef}\n style={{\n position: strategy,\n top: y ?? 0,\n left: x ?? 0,\n visibility: x == null ? 'hidden' : 'visible',\n ...style,\n }}\n {...getFloatingProps(props)}\n $placement={placement as TooltipPlacement}\n >\n <div\n ref={arrowRef}\n className={`${TooltipContent.className}__arrow`}\n style={{\n left: arrowX != null ? `${arrowX}px` : '',\n top: arrowY != null ? `${arrowY}px` : '',\n [staticSide!]: '-6px',\n }}\n />\n <div className={`${TooltipContent.className}__inner`}>\n {children}\n </div>\n </StyledTooltipContent>\n )}\n </FloatingPortal>\n );\n });\nTooltipContent.className = CLASSNAME;\nTooltipContent.defaultProps = DEFAULT_PROPS;\nTooltipContent.displayName = COMPONENT_NAME;\n","import React, { forwardRef, ReactElement } from 'react';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Comp } from '@redsift/design-system';\nimport { useTooltipContext } from '../tooltip';\nimport { TooltipTriggerProps } from './types';\n\nconst COMPONENT_NAME = 'TooltipTrigger';\nconst CLASSNAME = 'redsift-tooltip-trigger';\nconst DEFAULT_PROPS: Partial<TooltipTriggerProps> = {};\n\n/**\n * The TooltipTrigger component.\n */\nexport const TooltipTrigger: Comp<TooltipTriggerProps, HTMLSpanElement> =\n forwardRef((props, ref) => {\n const { children } = props;\n\n const { getReferenceProps, refs, tooltipId } = useTooltipContext();\n const childrenRef = (children as any).ref;\n const triggerRef = useMergeRefs([refs.setReference, ref, childrenRef]);\n\n if (React.isValidElement(children)) {\n return React.cloneElement(children as ReactElement, {\n ...getReferenceProps({\n ref: triggerRef,\n ...props,\n 'aria-describedby': tooltipId,\n ...children.props,\n }),\n });\n }\n\n return (\n <span ref={triggerRef} {...getReferenceProps(props)}>\n {children}\n </span>\n );\n });\nTooltipTrigger.className = CLASSNAME;\nTooltipTrigger.defaultProps = DEFAULT_PROPS;\nTooltipTrigger.displayName = COMPONENT_NAME;\n","import React, { useCallback, useEffect, useId, useRef, useState } from 'react';\nimport {\n useFloating,\n arrow,\n autoUpdate,\n offset,\n flip,\n shift,\n useHover,\n useFocus,\n useDismiss,\n useRole,\n useInteractions,\n} from '@floating-ui/react';\nimport { TooltipProps } from './types';\n\nexport function useTooltip({\n defaultOpen,\n delay,\n placement,\n isOpen: propsIsOpen,\n onOpen,\n tooltipId: propsTooltipId,\n}: Omit<TooltipProps, 'children'>) {\n const arrowRef = useRef(null);\n const [isOpen, setIsOpen] = useState(propsIsOpen ?? defaultOpen);\n\n const tooltipId = propsTooltipId ?? useId();\n\n useEffect(() => {\n setIsOpen(propsIsOpen ?? defaultOpen);\n }, [propsIsOpen, defaultOpen]);\n\n const handleOpen = useCallback(\n (collapsed: boolean) => {\n if (onOpen) {\n onOpen(collapsed);\n }\n if (propsIsOpen === undefined || propsIsOpen === null) {\n setIsOpen(collapsed);\n }\n },\n [onOpen]\n );\n\n const data = useFloating({\n placement,\n open: isOpen,\n onOpenChange: handleOpen,\n whileElementsMounted: autoUpdate,\n middleware: [\n offset(8),\n flip({\n fallbackAxisSideDirection: 'start',\n }),\n shift({ padding: 8 }),\n arrow({\n element: arrowRef,\n }),\n ],\n });\n\n const context = data.context;\n\n const hover = useHover(context, {\n move: false,\n delay: {\n open: delay,\n close: 0,\n },\n });\n const focus = useFocus(context);\n const dismiss = useDismiss(context);\n const role = useRole(context, { role: 'tooltip' });\n\n const interactions = useInteractions([hover, focus, dismiss, role]);\n\n return React.useMemo(\n () => ({\n isOpen,\n handleOpen,\n ...interactions,\n ...data,\n arrowRef,\n tooltipId,\n }),\n [isOpen, handleOpen, interactions, data, arrowRef, tooltipId]\n );\n}\n","import React from 'react';\nimport { partitionComponents, isComponent } from '@redsift/design-system';\nimport { TooltipContent } from '../tooltip-content';\nimport { TooltipTrigger } from '../tooltip-trigger';\n\nimport { TooltipContext } from './context';\nimport { TooltipPlacement, TooltipProps } from './types';\nimport { useTooltip } from './useTooltip';\n\nconst COMPONENT_NAME = 'Tooltip';\nconst CLASSNAME = 'redsift-tooltip';\nconst DEFAULT_PROPS: Partial<TooltipProps> = {\n delay: 500,\n placement: TooltipPlacement.top,\n};\n\n/**\n * The Tooltip component.\n */\nexport const BaseTooltip: React.FC<TooltipProps> & {\n displayName?: string;\n className?: string;\n} = (props) => {\n const { children, defaultOpen, delay, isOpen, onOpen, placement, tooltipId } =\n props;\n\n const tooltip = useTooltip({\n defaultOpen,\n delay,\n placement,\n isOpen,\n onOpen,\n tooltipId,\n });\n\n const [[trigger], [content]] = partitionComponents(\n React.Children.toArray(children),\n [isComponent('TooltipTrigger'), isComponent('TooltipContent')]\n );\n\n return (\n <TooltipContext.Provider value={tooltip}>\n {trigger}\n {content}\n </TooltipContext.Provider>\n );\n};\nBaseTooltip.className = CLASSNAME;\nBaseTooltip.defaultProps = DEFAULT_PROPS;\nBaseTooltip.displayName = COMPONENT_NAME;\n\nexport const Tooltip = Object.assign(BaseTooltip, {\n Trigger: TooltipTrigger,\n Content: TooltipContent,\n});\n","import React from 'react';\nimport { TooltipContext } from './context';\n\nexport const useTooltipContext = () => {\n const context = React.useContext(TooltipContext);\n\n if (context == null) {\n throw new Error('Tooltip components must be wrapped in <Tooltip />');\n }\n\n return context;\n};\n"],"names":["DialogContext","React","createContext","DialogSize","small","medium","large","enUS","frFR","StyledDialogContent","styled","div","_ref","$size","css","StyledFloatingOverlay","FloatingOverlay","StyledDialogContentActions","baseContainer","COMPONENT_NAME","CLASSNAME","DEFAULT_PROPS","flexDirection","DialogContentActions","forwardRef","props","ref","children","className","forwardedProps","_objectWithoutProperties","_excluded","actionsRef","initialFocus","useDialogContext","createElement","_extends","classNames","useMergeRefs","tabIndex","undefined","defaultProps","displayName","StyledDialogContentBody","$marginTop","$marginBottom","DialogContentBody","bodyRef","hasCloseButton","headerRef","height","headerHeight","useBoundingClientRect","actionsHeight","Math","max","StyledDialogContentHeader","DialogContentHeader","header","headingProps","icon","subheader","setLabelId","setDescriptionId","labelId","useId","descriptionId","useLayoutEffect","Heading","as","color","id","variant","Icon","BaseDialogContent","context","floatingContext","getFloatingProps","refs","handleOpen","propsInitialFocus","size","isMounted","styles","useTransitionStyles","dialogRef","setFloating","stringFormatter","useLocalizedStringFormatter","intlMessages","body","actions","partitionComponents","Children","toArray","isComponent","FloatingPortal","lockScroll","style","FloatingFocusManager","DialogContent","IconButton","format","mdiClose","onClick","Object","assign","Header","Body","Actions","DialogTrigger","getReferenceProps","isOpen","childrenRef","triggerRef","setReference","cloneElement","_objectSpread","isActive","Fragment","useDialog","defaultOpen","propsIsOpen","onOpen","useRef","useState","setIsOpen","useEffect","useCallback","collapsed","data","useFloating","open","onOpenChange","dismiss","useDismiss","outsidePressEvent","role","useRole","interactions","useInteractions","useMemo","BaseDialog","dialog","trigger","content","Provider","value","Dialog","Trigger","Content","useContext","Error","PopoverContext","PopoverPlacement","top","right","bottom","left","StyledPopoverContent","PopoverContent","isModal","strategy","x","y","usePopoverContext","popoverRef","modal","position","width","PopoverTrigger","usePopover","placement","whileElementsMounted","autoUpdate","middleware","offset","flip","fallbackAxisSideDirection","shift","padding","BasePopover","popover","Popover","ToastVariant","success","error","warning","info","loading","ToastPlacement","StyledToast","baseStyling","$hasTitle","$variant","closeButton","getVariant","mdiInformation","ColorPalette","mdiAlertCircle","mdiCheckCircle","mdiAlert","Spinner","Toast","closeToast","title","Boolean","Flexbox","justifyContent","gap","alignItems","_closeButton$props$on","_closeButton$props","call","ReactToastify","StyledToastContainer","ToastContainer","autoClose","closeOnClick","draggable","pauseOnFocusLoss","pauseOnHover","newestOnTop","includes","theme","transition","Slide","notify","options","toast","type","update","_ref2","_excluded2","render","_ref3","promise","_ref5","pending","_ref4","arguments","length","_excluded3","_ref6","_ref7","_ref8","useToast","clearWaitingQueue","done","TooltipContext","TooltipPlacement","StyledTooltipContent","$placement","TooltipContent","middlewareData","arrow","arrowX","arrowY","useTooltipContext","arrowRef","staticSide","split","visibility","TooltipTrigger","tooltipId","isValidElement","useTooltip","delay","propsTooltipId","element","hover","useHover","move","close","focus","useFocus","BaseTooltip","tooltip","Tooltip"],"mappings":"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M,MAAM,CAACC,GAAI,CAAA;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAA;;AAED;AACA;AACA;AACO,MAAM4M,oBAAoB,GAAG7M,MAAM,CACxC8M,gBACF,CAA6B,CAAA;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/dialog/context.ts","../src/components/dialog/types.ts","../src/components/dialog-content/intl/index.ts","../src/components/dialog-content/styles.ts","../src/components/dialog-content-actions/styles.ts","../src/components/dialog-content-actions/DialogContentActions.tsx","../src/components/dialog-content-body/styles.ts","../src/components/dialog-content-body/DialogContentBody.tsx","../src/components/dialog-content-header/styles.ts","../src/components/dialog-content-header/DialogContentHeader.tsx","../src/components/dialog-content/DialogContent.tsx","../src/components/dialog-trigger/DialogTrigger.tsx","../src/components/dialog/useDialog.tsx","../src/components/dialog/Dialog.tsx","../src/components/dialog/useDialogContext.tsx","../src/components/popover/context.ts","../src/components/popover/types.ts","../src/components/popover-content/styles.ts","../src/components/popover-content/PopoverContent.tsx","../src/components/popover-trigger/PopoverTrigger.tsx","../src/components/popover/usePopover.tsx","../src/components/popover/Popover.tsx","../src/components/popover/usePopoverContext.tsx","../src/components/toast/types.ts","../src/components/toast/intl/index.ts","../src/components/toast/styles.ts","../src/components/toast/Toast.tsx","../src/components/toast-container/styles.ts","../src/components/toast-container/ToastContainer.tsx","../src/components/toast-container/useToast.tsx","../src/components/tooltip/context.ts","../src/components/tooltip/types.ts","../src/components/tooltip-content/styles.ts","../src/components/tooltip-content/TooltipContent.tsx","../src/components/tooltip-trigger/TooltipTrigger.tsx","../src/components/tooltip/useTooltip.tsx","../src/components/tooltip/Tooltip.tsx","../src/components/tooltip/useTooltipContext.tsx"],"sourcesContent":["import React from 'react';\nimport { DialogState } from './types';\n\nexport const DialogContext = React.createContext<DialogState | null>(null);\n","import { Dispatch, ReactNode, SetStateAction } from 'react';\nimport { ValueOf } from '@redsift/design-system';\nimport { useDialog } from './useDialog';\n\n/**\n * Context props.\n */\nexport type DialogState =\n | (ReturnType<typeof useDialog> & {\n setLabelId: Dispatch<SetStateAction<string | undefined>>;\n setDescriptionId: Dispatch<SetStateAction<string | undefined>>;\n })\n | null;\n\n/**\n * Component variant.\n */\nexport const DialogSize = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n} as const;\nexport type DialogSize = ValueOf<typeof DialogSize>;\n\n/**\n * Component props.\n */\nexport interface DialogProps {\n /** Children. Can only be DialogTrigger and DialogContent. */\n children: ReactNode;\n /**\n * Default open status.\n * Used for uncontrolled version.\n */\n defaultOpen?: boolean;\n /** Whether the Close icon button is displayed or not. */\n hasCloseButton?: boolean;\n /** Which element to initially focus. Can be either a number (tabbable index), a ref to en element, or a shortcut pointing towards a section of the dialog. See the accessibility section in the documentation to know which one to use. */\n initialFocus?:\n | number\n | React.MutableRefObject<HTMLElement | null>\n | 'header'\n | 'body'\n | 'actions';\n /**\n * Whether the component is opened or not.\n * Used for controlled version.\n */\n isOpen?: boolean;\n /** Method to handle component change. */\n onOpen?: (open: boolean) => void;\n /** Dialog size. */\n size?: DialogSize;\n}\n\nexport type StyledDialogProps = DialogProps;\n","import enUS from './en-US.json';\nimport frFR from './fr-FR.json';\n\nexport default {\n 'en-US': enUS,\n 'fr-FR': frFR,\n};\n","import { FloatingOverlay } from '@floating-ui/react';\nimport styled, { css } from 'styled-components';\nimport { DialogSize } from '../dialog/types';\nimport { StyledDialogContentProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledDialogContent = styled.div<StyledDialogContentProps>`\n background-color: var(--redsift-color-neutral-white);\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2);\n color: var(--redsift-color-neutral-black);\n display: flex;\n filter: drop-shadow(0px 4px 5px rgba(0, 0, 0, 0.14))\n drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.12));\n flex-direction: column;\n font-family: var(--redsift-typography-dialog-font-family);\n font-size: var(--redsift-typography-dialog-font-size);\n font-weight: var(--redsift-typography-dialog-font-weight);\n line-height: var(--redsift-typography-dialog-line-height);\n margin: 32px;\n max-width: calc(100vw - 48px);\n padding: 24px;\n width: 540px;\n z-index: var(--redsift-layout-z-index-dialog);\n\n ${({ $size }) => {\n switch ($size) {\n case DialogSize.small:\n return css`\n width: 540px;\n `;\n case DialogSize.large:\n return css`\n width: 800px;\n `;\n case DialogSize.medium:\n default:\n return css`\n width: 700px;\n `;\n }\n }}\n\n &:focus-visible {\n outline: none;\n }\n\n .redsift-dialog-content__header {\n align-items: flex-start;\n display: flex;\n justify-content: space-between;\n }\n\n .redsift-card-header__icon-button {\n margin-top: 8px;\n margin-left: auto;\n margin-right: 8px;\n\n [dir='rtl'] & {\n margin-left: 8px;\n margin-right: auto;\n }\n }\n`;\n\nexport const StyledFloatingOverlay = styled(FloatingOverlay)`\n background: rgba(0, 0, 0, 0.8);\n display: grid;\n place-items: center;\n z-index: var(--redsift-layout-z-index-overlay);\n`;\n","import styled from 'styled-components';\nimport { baseContainer } from '@redsift/design-system';\nimport { StyledDialogContentActionsProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledDialogContentActions = styled.div<StyledDialogContentActionsProps>`\n display: flex;\n ${baseContainer}\n\n margin-top: 8px;\n margin-bottom: 8px;\n\n &:focus-visible {\n outline: none;\n }\n`;\n","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Comp } from '@redsift/design-system';\nimport { StyledDialogContentActions } from './styles';\nimport { DialogContentActionsProps } from './types';\nimport { useDialogContext } from '../dialog';\n\nconst COMPONENT_NAME = 'DialogContentActions';\nconst CLASSNAME = 'redsift-dialog-content-actions';\nconst DEFAULT_PROPS: Partial<DialogContentActionsProps> = {\n flexDirection: 'row',\n};\n\n/**\n * The DialogContentActions component.\n */\nexport const DialogContentActions: Comp<\n DialogContentActionsProps,\n HTMLDivElement\n> = forwardRef((props, ref) => {\n const { children, className, ...forwardedProps } = props;\n\n const { actionsRef, initialFocus } = useDialogContext();\n\n return (\n <StyledDialogContentActions\n {...forwardedProps}\n className={classNames(DialogContentActions.className, className)}\n ref={useMergeRefs([ref, actionsRef])}\n tabIndex={initialFocus === 'actions' ? -1 : undefined}\n >\n {children}\n </StyledDialogContentActions>\n );\n});\nDialogContentActions.className = CLASSNAME;\nDialogContentActions.defaultProps = DEFAULT_PROPS;\nDialogContentActions.displayName = COMPONENT_NAME;\n","import styled, { css } from 'styled-components';\nimport { baseContainer } from '@redsift/design-system';\nimport { StyledDialogContentBodyProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledDialogContentBody = styled.div<StyledDialogContentBodyProps>`\n ${baseContainer}\n\n overflow-y: auto;\n ${({ $marginTop, $marginBottom }) => css`\n max-height: calc(100vh - ${$marginTop + $marginBottom}px);\n `}\n\n color: var(--redsift-color-neutral-darkgrey);\n font-family: var(--redsift-typography-body2-font-family);\n font-size: var(--redsift-typography-body2-font-size);\n font-weight: var(--redsift-typography-body2-font-weight);\n line-height: var(--redsift-typography-body2-line-height);\n padding: 0 24px;\n margin: 16px -24px;\n\n &:focus-visible {\n outline: none;\n }\n\n scrollbar-color: var(--redsift-color-neutral-midgrey) transparent;\n scrollbar-width: thin;\n\n &::-webkit-scrollbar {\n block-size: 9px;\n inline-size: 9px;\n }\n\n &::-webkit-scrollbar-thumb {\n background-clip: padding-box;\n background-color: var(--redsift-color-neutral-midgrey);\n border-radius: 0px;\n border-left: 2px solid transparent;\n border-right: 2px solid transparent;\n }\n\n &::-webkit-scrollbar-track {\n background-color: transparent;\n }\n\n &::-webkit-scrollbar-thumb:horizontal,\n &::-webkit-scrollbar-thumb:vertical {\n &:hover {\n background-color: var(--redsift-color-neutral-darkgrey);\n }\n }\n\n &::-webkit-scrollbar-corner {\n visibility: hidden;\n }\n`;\n","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Comp, useBoundingClientRect } from '@redsift/design-system';\nimport { StyledDialogContentBody } from './styles';\nimport { DialogContentBodyProps } from './types';\nimport { useDialogContext } from '../dialog';\n\nconst COMPONENT_NAME = 'DialogContentBody';\nconst CLASSNAME = 'redsift-dialog-content-body';\nconst DEFAULT_PROPS: Partial<DialogContentBodyProps> = {};\n\n/**\n * The DialogContentBody component.\n */\nexport const DialogContentBody: Comp<DialogContentBodyProps, HTMLDivElement> =\n forwardRef((props, ref) => {\n const { children, className, ...forwardedProps } = props;\n\n const { actionsRef, bodyRef, hasCloseButton, headerRef, initialFocus } =\n useDialogContext();\n\n const { height: headerHeight = 0 } = useBoundingClientRect(\n headerRef as any,\n [children, headerRef]\n );\n const { height: actionsHeight = 0 } = useBoundingClientRect(\n actionsRef as any,\n [children, actionsRef]\n );\n\n /* istanbul ignore next */\n return (\n <StyledDialogContentBody\n {...forwardedProps}\n className={classNames(DialogContentBody.className, className)}\n ref={useMergeRefs([ref, bodyRef])}\n tabIndex={initialFocus === 'body' ? -1 : undefined}\n $marginTop={Math.max(headerHeight, hasCloseButton ? 40 : 0) + 80}\n $marginBottom={(actionsHeight === 0 ? 0 : actionsHeight + 16) + 80}\n >\n {children}\n </StyledDialogContentBody>\n );\n });\nDialogContentBody.className = CLASSNAME;\nDialogContentBody.defaultProps = DEFAULT_PROPS;\nDialogContentBody.displayName = COMPONENT_NAME;\n","import styled from 'styled-components';\nimport { StyledDialogContentHeaderProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledDialogContentHeader = styled.div<StyledDialogContentHeaderProps>`\n color: var(--redsift-color-neutral-black);\n\n &:focus-visible {\n outline: none;\n }\n\n .redsift-dialog-content-header__header {\n align-items: center;\n display: flex;\n gap: 8px;\n padding: 10px 0px;\n margin: 0px;\n\n .redsift-icon {\n color: var(--redsift-color-neutral-black);\n padding-right: 8px;\n font-size: 30px;\n line-height: 30px;\n height: 30px;\n }\n }\n\n .redsift-dialog-content-header__subheader {\n font-family: var(--redsift-typography-body-font-family);\n font-size: var(--redsift-typography-body-font-size);\n font-weight: var(--redsift-typography-body-font-weight);\n line-height: var(--redsift-typography-body-line-height);\n }\n`;\n","import React, { forwardRef, useId } from 'react';\nimport classNames from 'classnames';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Icon, Heading, Comp } from '@redsift/design-system';\nimport { StyledDialogContentHeader } from './styles';\nimport { DialogContentHeaderProps } from './types';\nimport { useDialogContext } from '../dialog';\n\nconst COMPONENT_NAME = 'DialogContentHeader';\nconst CLASSNAME = 'redsift-dialog-content-header';\nconst DEFAULT_PROPS: Partial<DialogContentHeaderProps> = {};\n\n/**\n * The DialogContentHeader component.\n */\nexport const DialogContentHeader: Comp<\n DialogContentHeaderProps,\n HTMLDivElement\n> = forwardRef((props, ref) => {\n const {\n children,\n className,\n header,\n headingProps,\n icon,\n subheader,\n ...forwardedProps\n } = props;\n\n const { setLabelId, setDescriptionId, headerRef, initialFocus } =\n useDialogContext();\n const labelId = useId();\n const descriptionId = useId();\n\n // Only sets `aria-labelledby` on the Dialog root element\n // if this component is mounted inside it.\n React.useLayoutEffect(() => {\n setLabelId(labelId);\n return () => setLabelId(undefined);\n }, [labelId, setLabelId]);\n\n // Only sets `aria-describedby` on the Dialog root element\n // if this component is mounted inside it.\n React.useLayoutEffect(() => {\n setDescriptionId(descriptionId);\n return () => setDescriptionId(undefined);\n }, [descriptionId, setDescriptionId]);\n\n return (\n <StyledDialogContentHeader\n {...forwardedProps}\n className={classNames(DialogContentHeader.className, className)}\n ref={useMergeRefs([ref, headerRef])}\n tabIndex={initialFocus === 'header' ? -1 : undefined}\n >\n {subheader ? (\n <div className={`${DialogContentHeader.className}__subheader`}>\n {subheader}\n </div>\n ) : null}\n {header ? (\n <Heading\n as=\"h2\"\n color=\"black\"\n className={`${DialogContentHeader.className}__header`}\n id={labelId}\n variant=\"h2\"\n {...headingProps}\n >\n {icon ? <Icon icon={icon} aria-hidden=\"true\" /> : null}\n {header}\n </Heading>\n ) : null}\n {children ? <div id={descriptionId}>{children}</div> : null}\n </StyledDialogContentHeader>\n );\n});\nDialogContentHeader.className = CLASSNAME;\nDialogContentHeader.defaultProps = DEFAULT_PROPS;\nDialogContentHeader.displayName = COMPONENT_NAME;\n","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\nimport { useMergeRefs, FloatingPortal, FloatingFocusManager, useTransitionStyles } from '@floating-ui/react';\nimport { mdiClose } from '@redsift/icons';\n\nimport { useLocalizedStringFormatter } from '@react-aria/i18n';\nimport intlMessages from './intl';\n\nimport { Comp, IconButton, isComponent, partitionComponents } from '@redsift/design-system';\nimport { DialogContentProps } from './types';\nimport { useDialogContext } from '../dialog';\nimport { StyledDialogContent, StyledFloatingOverlay } from './styles';\nimport { DialogContentActions } from '../dialog-content-actions';\nimport { DialogContentBody } from '../dialog-content-body';\nimport { DialogContentHeader } from '../dialog-content-header';\n\nconst COMPONENT_NAME = 'DialogContent';\nconst CLASSNAME = 'redsift-dialog-content';\nconst DEFAULT_PROPS: Partial<DialogContentProps> = {};\n\n/**\n * The DialogContent component.\n */\nexport const BaseDialogContent: Comp<DialogContentProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, ...forwardedProps } = props;\n const {\n context: floatingContext,\n getFloatingProps,\n refs,\n labelId,\n descriptionId,\n handleOpen,\n hasCloseButton,\n initialFocus: propsInitialFocus,\n size,\n headerRef,\n bodyRef,\n actionsRef,\n } = useDialogContext();\n const { isMounted, styles } = useTransitionStyles(floatingContext);\n const dialogRef = useMergeRefs([refs.setFloating, ref]);\n\n const stringFormatter = useLocalizedStringFormatter(intlMessages);\n\n const [[header], [body], [actions]] = partitionComponents(React.Children.toArray(children), [\n isComponent('DialogContentHeader'),\n isComponent('DialogContentBody'),\n isComponent('DialogContentActions'),\n ]);\n\n const initialFocus: number | React.MutableRefObject<HTMLElement | null> | undefined =\n propsInitialFocus === 'header'\n ? headerRef\n : propsInitialFocus === 'body'\n ? bodyRef\n : propsInitialFocus === 'actions'\n ? actionsRef\n : propsInitialFocus\n ? propsInitialFocus\n : undefined;\n\n return (\n <FloatingPortal id=\"redsift-app-container\">\n {isMounted && (\n <StyledFloatingOverlay lockScroll style={styles}>\n <FloatingFocusManager context={floatingContext} initialFocus={initialFocus ? initialFocus : undefined}>\n <StyledDialogContent\n className={classNames(DialogContent.className, className)}\n {...forwardedProps}\n ref={dialogRef}\n aria-labelledby={labelId}\n aria-describedby={descriptionId}\n {...getFloatingProps(props)}\n style={styles}\n $size={size!}\n >\n {header || hasCloseButton ? (\n <div className={`${BaseDialogContent.className}__header`}>\n {header}\n\n {hasCloseButton ? (\n <IconButton\n aria-label={stringFormatter.format('close')}\n className={`${BaseDialogContent.className}-header__icon-button`}\n color=\"question\"\n icon={mdiClose}\n onClick={() => handleOpen(false)}\n />\n ) : null}\n </div>\n ) : null}\n\n {body || actions ? (\n <div className={`${BaseDialogContent.className}__content`}>\n {body}\n {actions}\n </div>\n ) : null}\n </StyledDialogContent>\n </FloatingFocusManager>\n </StyledFloatingOverlay>\n )}\n </FloatingPortal>\n );\n});\nBaseDialogContent.className = CLASSNAME;\nBaseDialogContent.defaultProps = DEFAULT_PROPS;\nBaseDialogContent.displayName = COMPONENT_NAME;\n\nexport const DialogContent = Object.assign(BaseDialogContent, {\n Header: DialogContentHeader,\n Body: DialogContentBody,\n Actions: DialogContentActions,\n});\n","import React, { forwardRef, ReactElement } from 'react';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Comp, isComponent } from '@redsift/design-system';\nimport { useDialogContext } from '../dialog';\nimport { DialogTriggerProps } from './types';\n\nconst COMPONENT_NAME = 'DialogTrigger';\nconst CLASSNAME = 'redsift-dialog-trigger';\nconst DEFAULT_PROPS: Partial<DialogTriggerProps> = {};\n\n/**\n * The DialogTrigger component.\n */\nexport const DialogTrigger: Comp<DialogTriggerProps, HTMLButtonElement> =\n forwardRef((props, ref) => {\n const { children } = props;\n\n const { getReferenceProps, isOpen, handleOpen, refs } = useDialogContext();\n const childrenRef = (children as any).ref;\n const triggerRef = useMergeRefs([refs.setReference, ref, childrenRef]);\n\n if (\n isComponent('Button')(children) ||\n isComponent('IconButton')(children) ||\n isComponent('LinkButton')(children)\n ) {\n return React.cloneElement(children, {\n ...getReferenceProps({\n ref: triggerRef,\n ...props,\n ...(children as ReactElement).props,\n }),\n onClick: () => handleOpen(!isOpen),\n isActive: isOpen,\n });\n }\n\n return <>{children}</>;\n });\nDialogTrigger.className = CLASSNAME;\nDialogTrigger.defaultProps = DEFAULT_PROPS;\nDialogTrigger.displayName = COMPONENT_NAME;\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport {\n useFloating,\n useDismiss,\n useRole,\n useInteractions,\n} from '@floating-ui/react';\nimport { DialogProps } from './types';\n\nexport function useDialog({\n defaultOpen,\n hasCloseButton,\n initialFocus,\n isOpen: propsIsOpen,\n onOpen,\n size,\n}: Omit<DialogProps, 'children'>) {\n const headerRef = useRef(null);\n const bodyRef = useRef(null);\n const actionsRef = useRef(null);\n const [labelId, setLabelId] = React.useState<string | undefined>();\n const [descriptionId, setDescriptionId] =\n React.useState<string | undefined>();\n\n const [isOpen, setIsOpen] = useState(propsIsOpen ?? defaultOpen);\n\n useEffect(() => {\n setIsOpen(propsIsOpen ?? defaultOpen);\n }, [propsIsOpen, defaultOpen]);\n\n const handleOpen = useCallback(\n (collapsed: boolean) => {\n if (onOpen) {\n onOpen(collapsed);\n }\n if (propsIsOpen === undefined || propsIsOpen === null) {\n setIsOpen(collapsed);\n }\n },\n [onOpen]\n );\n\n const data = useFloating({\n open: isOpen,\n onOpenChange: handleOpen,\n });\n\n const context = data.context;\n\n const dismiss = useDismiss(context, { outsidePressEvent: 'mousedown' });\n const role = useRole(context);\n\n const interactions = useInteractions([dismiss, role]);\n\n return React.useMemo(\n () => ({\n isOpen,\n handleOpen,\n ...interactions,\n ...data,\n labelId,\n descriptionId,\n setLabelId,\n setDescriptionId,\n hasCloseButton,\n initialFocus,\n size,\n headerRef,\n bodyRef,\n actionsRef,\n }),\n [\n isOpen,\n handleOpen,\n interactions,\n data,\n labelId,\n descriptionId,\n hasCloseButton,\n initialFocus,\n size,\n headerRef,\n bodyRef,\n actionsRef,\n ]\n );\n}\n","import React from 'react';\nimport { partitionComponents, isComponent } from '@redsift/design-system';\nimport { DialogContent } from '../dialog-content';\nimport { DialogTrigger } from '../dialog-trigger';\n\nimport { DialogContext } from './context';\nimport { DialogProps, DialogSize } from './types';\nimport { useDialog } from './useDialog';\n\nconst COMPONENT_NAME = 'Dialog';\nconst CLASSNAME = 'redsift-dialog';\nconst DEFAULT_PROPS: Partial<DialogProps> = {\n hasCloseButton: true,\n size: DialogSize.medium,\n};\n\n/**\n * The Dialog component.\n */\nexport const BaseDialog: React.FC<DialogProps> & {\n displayName?: string;\n className?: string;\n} = (props) => {\n const {\n children,\n defaultOpen,\n hasCloseButton = DEFAULT_PROPS.hasCloseButton,\n initialFocus,\n isOpen,\n onOpen,\n size,\n } = props;\n\n const dialog = useDialog({\n defaultOpen,\n hasCloseButton,\n initialFocus,\n isOpen,\n onOpen,\n size,\n });\n\n const [[trigger], [content]] = partitionComponents(\n React.Children.toArray(children),\n [isComponent('DialogTrigger'), isComponent('DialogContent')]\n );\n\n return (\n <DialogContext.Provider value={dialog}>\n {trigger}\n {content}\n </DialogContext.Provider>\n );\n};\nBaseDialog.className = CLASSNAME;\nBaseDialog.defaultProps = DEFAULT_PROPS;\nBaseDialog.displayName = COMPONENT_NAME;\n\nexport const Dialog = Object.assign(BaseDialog, {\n Trigger: DialogTrigger,\n Content: DialogContent,\n});\n","import React from 'react';\nimport { DialogContext } from './context';\n\nexport const useDialogContext = () => {\n const context = React.useContext(DialogContext);\n\n if (context == null) {\n throw new Error('Dialog components must be wrapped in <Dialog />');\n }\n\n return context;\n};\n","import React from 'react';\nimport { PopoverState } from './types';\n\nexport const PopoverContext = React.createContext<PopoverState | null>(null);\n","import { ReactNode } from 'react';\nimport { ValueOf } from '@redsift/design-system';\nimport { usePopover } from './usePopover';\n\n/**\n * Context props.\n */\nexport type PopoverState = ReturnType<typeof usePopover> | null;\n\n/**\n * Component variant.\n */\nexport const PopoverPlacement = {\n top: 'top',\n right: 'right',\n bottom: 'bottom',\n left: 'left',\n 'top-start': 'top-start',\n 'top-end': 'top-end',\n 'right-start': 'right-start',\n 'right-end': 'right-end',\n 'bottom-start': 'bottom-start',\n 'bottom-end': 'bottom-end',\n 'left-start': 'left-start',\n 'left-end': 'left-end',\n} as const;\nexport type PopoverPlacement = ValueOf<typeof PopoverPlacement>;\n\n/**\n * Component props.\n */\nexport interface PopoverProps {\n /** Popover content width. Can be either based on the trigger, the available space or define with a number of pixels. */\n width?: 'trigger-width' | 'available-width' | number;\n /** Popover content min width. Can be either based on the trigger, the available space or define with a number of pixels. */\n minWidth?: 'trigger-width' | 'available-width' | number;\n /** Popover content max width. Can be either based on the trigger, the available space or define with a number of pixels. */\n maxWidth?: 'trigger-width' | 'available-width' | number;\n /** Children. Can only be PopoverTrigger and PopoverContent. */\n children: ReactNode;\n /**\n * Default open status.\n * Used for uncontrolled version.\n */\n defaultOpen?: boolean;\n /** Default placement of the popover. */\n placement?: PopoverPlacement;\n /** Whether the popover is a modal or not. */\n isModal?: boolean;\n /**\n * Whether the component is opened or not.\n * Used for controlled version.\n */\n isOpen?: boolean;\n /** Method to handle component change. */\n onOpen?: (open: boolean) => void;\n /** Allows other components to be treated as trigger and content. */\n overrideDisplayName?: {\n content?: string;\n trigger?: string;\n };\n /** Role to apply to the popover. */\n role?: 'dialog' | 'menu' | 'listbox';\n}\n\nexport type StyledPopoverProps = PopoverProps;\n","import styled, { css } from 'styled-components';\nimport { StyledPopoverContentProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledPopoverContent = styled.div<StyledPopoverContentProps>`\n ${({ display }) => (display ? `display: ${display};` : 'display: flex;')}\n font-family: var(--redsift-typography-body-font-family);\n font-size: var(--redsift-typography-body-font-size);\n font-weight: var(--redsift-typography-body-font-weight);\n line-height: 20px;\n color: var(--redsift-color-neutral-black);\n\n ${({ padding, paddingBottom, paddingLeft, paddingRight, paddingTop }) =>\n css`\n ${padding ? `padding: ${padding};` : ''}\n ${paddingBottom ? `padding-bottom: ${paddingBottom};` : ''}\n ${paddingLeft ? `padding-left: ${paddingLeft};` : ''}\n ${paddingRight ? `padding-right: ${paddingRight};` : ''}\n ${paddingTop ? `padding-top: ${paddingTop};` : ''}\n `}\n ${({ margin, marginBottom, marginLeft, marginRight, marginTop }) =>\n css`\n ${margin ? `margin: ${margin};` : ''}\n ${marginBottom ? `margin-bottom: ${marginBottom};` : ''}\n ${marginLeft ? `margin-left: ${marginLeft};` : ''}\n ${marginRight ? `margin-right: ${marginRight};` : ''}\n ${marginTop ? `margin-top: ${marginTop};` : ''}\n `}\n ${({ height, maxHeight, maxWidth, minHeight, minWidth, width }) =>\n css`\n ${height !== undefined ? `height: ${typeof height === 'number' ? `${height}px` : height};` : ''}\n ${maxHeight ? `max-height: ${maxHeight};` : ''}\n ${maxWidth ? `max-width: ${maxWidth};` : ''}\n ${minHeight ? `min-height: ${minHeight};` : ''}\n ${minWidth ? `min-width: ${minWidth};` : ''}\n ${width !== undefined ? `width: ${typeof width === 'number' ? `${width}px` : width};` : ''}\n `}\n ${({ position, top, bottom, left, right, zIndex }) =>\n css`\n ${position ? `position: ${position};` : ''}\n ${top ? `top: ${top};` : ''}\n ${bottom ? `bottom: ${bottom};` : ''}\n ${left ? `left: ${left};` : ''}\n ${right ? `right: ${right};` : ''}\n ${zIndex ? `z-index: ${zIndex};` : ''}\n `}\n ${({\n alignContent,\n alignItems,\n gap,\n gridAutoColumns,\n gridAutoRows,\n gridTemplateAreas,\n gridTemplateColumns,\n gridTemplateRows,\n justifyContent,\n justifyItems,\n }) =>\n css`\n ${alignContent ? `align-content: ${alignContent};` : ''}\n ${alignItems ? `align-items: ${alignItems};` : ''}\n ${gap ? `gap: ${gap};` : ''}\n ${gridAutoColumns ? `grid-auto-columns: ${gridAutoColumns};` : ''}\n ${gridAutoRows ? `grid-auto-rows: ${gridAutoRows};` : ''}\n ${gridTemplateAreas ? `grid-template-areas: ${gridTemplateAreas};` : ''}\n ${gridTemplateColumns ? `grid-template-columns: ${gridTemplateColumns};` : ''}\n ${gridTemplateRows ? `grid-template-rows: ${gridTemplateRows};` : ''}\n ${justifyContent ? `justify-content: ${justifyContent};` : ''}\n ${justifyItems ? `justify-items: ${justifyItems};` : ''}\n `}\n ${({ alignContent, alignItems, flexDirection, flexWrap, gap, justifyContent }) =>\n css`\n ${alignContent ? `align-content: ${alignContent};` : ''}\n ${alignItems ? `align-items: ${alignItems};` : ''}\n ${flexDirection ? `flex-direction: ${flexDirection};` : ''}\n ${flexWrap ? `flex-wrap: ${flexWrap};` : ''}\n gap: ${gap};\n ${justifyContent ? `justify-content: ${justifyContent};` : ''}\n `}\n\n background-color: var(--redsift-color-neutral-white);\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2);\n color: var(--redsift-color-neutral-black);\n filter: drop-shadow(0px 4px 5px rgba(0, 0, 0, 0.14)) drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.12));\n max-width: calc(100vw - 48px);\n z-index: var(--redsift-layout-z-index-popover);\n overflow: auto;\n\n &:focus-visible {\n outline: none;\n }\n`;\n","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\nimport { useMergeRefs, FloatingPortal, FloatingFocusManager } from '@floating-ui/react';\n\nimport { Comp } from '@redsift/design-system';\nimport { PopoverContentProps } from './types';\nimport { usePopoverContext } from '../popover';\nimport { StyledPopoverContent } from './styles';\n\nconst COMPONENT_NAME = 'PopoverContent';\nconst CLASSNAME = 'redsift-popover-content';\nconst DEFAULT_PROPS: Partial<PopoverContentProps> = {};\n\n/**\n * The PopoverContent component.\n */\nexport const PopoverContent: Comp<PopoverContentProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, style, ...forwardedProps } = props;\n const { context: floatingContext, getFloatingProps, isModal, isOpen, refs, strategy, x, y } = usePopoverContext();\n const popoverRef = useMergeRefs([refs.setFloating, ref]);\n\n console.log(forwardedProps);\n return (\n <FloatingPortal id=\"redsift-app-container\">\n {isOpen && (\n <FloatingFocusManager context={floatingContext} modal={isModal}>\n <StyledPopoverContent\n style={{\n position: strategy,\n top: y ?? 0,\n left: x ?? 0,\n width: 'fit-content',\n ...style,\n }}\n {...getFloatingProps(props)}\n className={classNames(PopoverContent.className, className)}\n {...forwardedProps}\n ref={popoverRef}\n >\n {children}\n </StyledPopoverContent>\n </FloatingFocusManager>\n )}\n </FloatingPortal>\n );\n});\nPopoverContent.className = CLASSNAME;\nPopoverContent.defaultProps = DEFAULT_PROPS;\nPopoverContent.displayName = COMPONENT_NAME;\n","import React, { forwardRef, ReactElement } from 'react';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Comp, isComponent } from '@redsift/design-system';\nimport { usePopoverContext } from '../popover';\nimport { PopoverTriggerProps } from './types';\n\nconst COMPONENT_NAME = 'PopoverTrigger';\nconst CLASSNAME = 'redsift-popover-trigger';\nconst DEFAULT_PROPS: Partial<PopoverTriggerProps> = {};\n\n/**\n * The PopoverTrigger component.\n */\nexport const PopoverTrigger: Comp<PopoverTriggerProps, HTMLButtonElement> = forwardRef((props, ref) => {\n const { children } = props;\n\n const { getReferenceProps, isOpen, handleOpen, refs } = usePopoverContext();\n const childrenRef = (children as any).ref;\n const triggerRef = useMergeRefs([refs.setReference, ref, childrenRef]);\n\n if (isComponent('Button')(children) || isComponent('IconButton')(children) || isComponent('LinkButton')(children)) {\n return React.cloneElement(children, {\n ...getReferenceProps({\n ref: triggerRef,\n ...props,\n ...(children as ReactElement).props,\n }),\n onClick: () => handleOpen(!isOpen),\n isActive: isOpen,\n });\n }\n\n return <>{children}</>;\n});\nPopoverTrigger.className = CLASSNAME;\nPopoverTrigger.defaultProps = DEFAULT_PROPS;\nPopoverTrigger.displayName = COMPONENT_NAME;\n","import React, { useCallback, useEffect, useState } from 'react';\nimport {\n useFloating,\n autoUpdate,\n offset,\n flip,\n shift,\n size,\n useDismiss,\n useRole,\n useInteractions,\n} from '@floating-ui/react';\nimport { PopoverProps } from './types';\n\nexport function usePopover({\n defaultOpen,\n isModal,\n isOpen: propsIsOpen,\n maxWidth,\n minWidth,\n onOpen,\n placement,\n role: propsRole,\n width,\n}: Omit<PopoverProps, 'children'>) {\n const [isOpen, setIsOpen] = useState(propsIsOpen ?? defaultOpen);\n\n useEffect(() => {\n setIsOpen(propsIsOpen ?? defaultOpen);\n }, [propsIsOpen, defaultOpen]);\n\n const handleOpen = useCallback(\n (collapsed: boolean) => {\n if (onOpen) {\n onOpen(collapsed);\n }\n if (propsIsOpen === undefined || propsIsOpen === null) {\n setIsOpen(collapsed);\n }\n },\n [onOpen]\n );\n\n const middleware = [\n offset(2),\n flip({\n fallbackAxisSideDirection: 'end',\n }),\n shift({ padding: 2 }),\n ];\n\n middleware.push(\n size({\n apply({ availableHeight, availableWidth, rects, elements }) {\n Object.assign(elements.floating.style, {\n maxHeight: `${availableHeight}px`,\n ...(minWidth !== undefined && {\n minWidth: `${\n minWidth === 'available-width'\n ? availableWidth\n : minWidth === 'trigger-width'\n ? rects.reference.width\n : minWidth\n }px`,\n }),\n ...(width !== undefined && {\n width: `${\n width === 'available-width' ? availableWidth : width === 'trigger-width' ? rects.reference.width : width\n }px`,\n }),\n ...(maxWidth !== undefined && {\n maxWidth: `${\n maxWidth === 'available-width'\n ? availableWidth\n : maxWidth === 'trigger-width'\n ? rects.reference.width\n : maxWidth\n }px`,\n }),\n });\n },\n })\n );\n\n const data = useFloating({\n placement,\n open: isOpen,\n onOpenChange: handleOpen,\n whileElementsMounted: autoUpdate,\n middleware,\n });\n\n const context = data.context;\n\n const dismiss = useDismiss(context);\n const role = useRole(context, { role: propsRole });\n\n const interactions = useInteractions([dismiss, role]);\n\n return React.useMemo(\n () => ({\n isOpen,\n handleOpen,\n ...interactions,\n ...data,\n isModal,\n }),\n [isOpen, handleOpen, interactions, data, isModal]\n );\n}\n","import React from 'react';\nimport { partitionComponents, isComponent } from '@redsift/design-system';\nimport { PopoverContent } from '../popover-content';\nimport { PopoverTrigger } from '../popover-trigger';\n\nimport { PopoverContext } from './context';\nimport { PopoverPlacement, PopoverProps } from './types';\nimport { usePopover } from './usePopover';\n\nconst COMPONENT_NAME = 'Popover';\nconst CLASSNAME = 'redsift-popover';\nconst DEFAULT_PROPS: Partial<PopoverProps> = {\n isModal: false,\n placement: PopoverPlacement.bottom,\n role: 'dialog',\n};\n\n/**\n * The Popover component.\n */\nexport const BasePopover: React.FC<PopoverProps> & {\n displayName?: string;\n className?: string;\n} = (props) => {\n const {\n children,\n defaultOpen,\n isModal,\n isOpen,\n maxWidth,\n minWidth,\n onOpen,\n overrideDisplayName,\n placement,\n role,\n width,\n } = props;\n\n const popover = usePopover({\n defaultOpen,\n isModal,\n isOpen,\n maxWidth,\n minWidth,\n onOpen,\n placement,\n role,\n width,\n });\n\n const [[trigger], [content]] = partitionComponents(React.Children.toArray(children), [\n isComponent(overrideDisplayName?.trigger ?? 'PopoverTrigger'),\n isComponent(overrideDisplayName?.content ?? 'PopoverContent'),\n ]);\n\n return (\n <PopoverContext.Provider value={popover}>\n {trigger}\n {content}\n </PopoverContext.Provider>\n );\n};\nBasePopover.className = CLASSNAME;\nBasePopover.defaultProps = DEFAULT_PROPS;\nBasePopover.displayName = COMPONENT_NAME;\n\nexport const Popover = Object.assign(BasePopover, {\n Trigger: PopoverTrigger,\n Content: PopoverContent,\n});\n","import React from 'react';\nimport { PopoverContext } from './context';\n\nexport const usePopoverContext = () => {\n const context = React.useContext(PopoverContext);\n\n if (context == null) {\n throw new Error('Popover components must be wrapped in <Popover />');\n }\n\n return context;\n};\n","import { ComponentProps, ReactNode } from 'react';\nimport { ValueOf, SizingProps, SpacingProps } from '@redsift/design-system';\n\n/**\n * Component variant.\n */\nexport const ToastVariant = {\n success: 'success',\n error: 'error',\n warning: 'warning',\n info: 'info',\n loading: 'loading',\n} as const;\nexport type ToastVariant = ValueOf<typeof ToastVariant>;\n\nexport const ToastPlacement = {\n 'top-right': 'top-right',\n 'top-center': 'top-center',\n 'top-left': 'top-left',\n 'bottom-right': 'bottom-right',\n 'bottom-center': 'bottom-center',\n 'bottom-left': 'bottom-left',\n} as const;\nexport type ToastPlacement = ValueOf<typeof ToastPlacement>;\n\n/**\n * Component props.\n */\nexport interface ToastProps\n extends Omit<ComponentProps<'div'>, 'id' | 'style'>,\n SpacingProps,\n SizingProps {\n /** Whether the component has a close button or not. */\n closeButton?: boolean | ReactNode;\n /** Title. */\n title?: string;\n /** Variant */\n variant?: ToastVariant;\n}\n\nexport type StyledToastProps = Omit<ToastProps, 'variant' | 'id'> & {\n $hasTitle: boolean;\n $variant: ToastProps['variant'];\n};\n","import enUS from './en-US.json';\nimport frFR from './fr-FR.json';\n\nexport default {\n 'en-US': enUS,\n 'fr-FR': frFR,\n};\n","import styled, { css } from 'styled-components';\nimport { baseStyling } from '@redsift/design-system';\nimport { StyledToastProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledToast = styled.div<StyledToastProps>`\n ${baseStyling}\n\n padding: 16px;\n box-shadow: 0px 2px 4px -1px rgb(0 0 0 / 20%), 0px 4px 5px rgb(0 0 0 / 14%),\n 0px 1px 10px rgb(0 0 0 / 12%);\n\n ${({ $hasTitle, $variant }) => css`\n background-color: ${$variant === 'loading'\n ? 'var(--redsift-color-neutral-white)'\n : `var(--redsift-color-${$variant}-hover)`};\n\n .redsift-toast__header {\n h5 {\n line-height: 26px;\n }\n }\n\n .redsift-toast-header__icon-button {\n padding: 0px;\n .redsift-icon {\n color: var(--redsift-color-neutral-black);\n }\n\n &:hover,\n &:focus-visible {\n background-color: var(--redsift-color-${$variant}-active);\n }\n }\n\n .redsift-toast__content {\n margin-top: ${$hasTitle ? '8px' : '-24px'};\n margin-left: 38px;\n }\n `}\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\n\nimport { useLocalizedStringFormatter } from '@react-aria/i18n';\nimport intlMessages from './intl';\n\nimport { mdiAlert, mdiAlertCircle, mdiCheckCircle, mdiClose, mdiInformation } from '@redsift/icons';\nimport {\n ColorPalette,\n Comp,\n Icon,\n Heading,\n Flexbox,\n Spinner,\n isComponent,\n ButtonColor,\n IconButton,\n} from '@redsift/design-system';\nimport { StyledToast } from './styles';\nimport { ToastProps, ToastVariant } from './types';\n\nconst COMPONENT_NAME = 'Toast';\nconst CLASSNAME = 'redsift-toast';\nconst DEFAULT_PROPS: Partial<ToastProps> = {\n variant: 'info',\n closeButton: true,\n};\n\nconst getVariant = (variant: ToastVariant) => {\n switch (variant) {\n case ToastVariant.info:\n default:\n return <Icon icon={mdiInformation} color={ColorPalette.info} />;\n case ToastVariant.error:\n return <Icon icon={mdiAlertCircle} color={ColorPalette.error} />;\n case ToastVariant.success:\n return <Icon icon={mdiCheckCircle} color={ColorPalette.success} />;\n case ToastVariant.warning:\n return <Icon icon={mdiAlert} color={ColorPalette.warning} />;\n case ToastVariant.loading:\n return <Spinner size=\"small\" />;\n }\n};\n\n/**\n * The Toast component.\n */\nexport const Toast: Comp<ToastProps & { closeToast?: () => void }, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, closeToast, closeButton, title, variant, ...forwardedProps } = props;\n\n const stringFormatter = useLocalizedStringFormatter(intlMessages);\n\n const icon = getVariant(variant!);\n\n return (\n <StyledToast\n {...forwardedProps}\n className={classNames(Toast.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n $hasTitle={Boolean(title)}\n $variant={variant}\n >\n <Flexbox className={`${Toast.className}__header`} justifyContent=\"space-between\">\n <Flexbox justifyContent=\"space-between\" flexDirection=\"column\" gap=\"0\">\n <Flexbox className={`${Toast.className}-header__title`} gap=\"14px\" alignItems=\"flex-start\">\n {icon}\n {title ? <Heading as=\"h5\">{title}</Heading> : null}\n </Flexbox>\n\n {children ? <div className={`${Toast.className}__content`}>{children}</div> : null}\n </Flexbox>\n\n {closeButton === true ? (\n <IconButton\n aria-label={stringFormatter.format('close')}\n className={`${Toast.className}-header__icon-button`}\n icon={mdiClose}\n onClick={closeToast}\n />\n ) : isComponent('Button')(closeButton) || isComponent('IconButton')(closeButton) ? (\n React.cloneElement(closeButton, {\n color: variant === 'loading' ? 'default' : (variant as ButtonColor),\n onClick: () => {\n closeButton.props.onClick?.();\n closeToast?.();\n },\n })\n ) : null}\n </Flexbox>\n </StyledToast>\n );\n});\nToast.className = CLASSNAME;\nToast.defaultProps = DEFAULT_PROPS;\nToast.displayName = COMPONENT_NAME;\n","import styled from 'styled-components';\nimport { ToastContainer } from 'react-toastify';\nimport { StyledToastContainerProps } from './types';\n\nexport const ReactToastify = styled.div`\n :root {\n --toastify-color-light: #fff;\n --toastify-color-dark: #121212;\n --toastify-color-info: #3498db;\n --toastify-color-success: #07bc0c;\n --toastify-color-warning: #f1c40f;\n --toastify-color-error: #e74c3c;\n --toastify-color-transparent: rgba(255, 255, 255, 0.7);\n --toastify-icon-color-info: var(--toastify-color-info);\n --toastify-icon-color-success: var(--toastify-color-success);\n --toastify-icon-color-warning: var(--toastify-color-warning);\n --toastify-icon-color-error: var(--toastify-color-error);\n --toastify-toast-width: 320px;\n --toastify-toast-background: #fff;\n --toastify-toast-min-height: 64px;\n --toastify-toast-max-height: 800px;\n --toastify-font-family: sans-serif;\n --toastify-z-index: 9999;\n --toastify-text-color-light: #757575;\n --toastify-text-color-dark: #fff;\n --toastify-text-color-info: #fff;\n --toastify-text-color-success: #fff;\n --toastify-text-color-warning: #fff;\n --toastify-text-color-error: #fff;\n --toastify-spinner-color: #616161;\n --toastify-spinner-color-empty-area: #e0e0e0;\n --toastify-color-progress-light: linear-gradient(\n to right,\n #4cd964,\n #5ac8fa,\n #007aff,\n #34aadc,\n #5856d6,\n #ff2d55\n );\n --toastify-color-progress-dark: #bb86fc;\n --toastify-color-progress-info: var(--toastify-color-info);\n --toastify-color-progress-success: var(--toastify-color-success);\n --toastify-color-progress-warning: var(--toastify-color-warning);\n --toastify-color-progress-error: var(--toastify-color-error);\n }\n\n .Toastify__toast-container {\n z-index: var(--toastify-z-index);\n -webkit-transform: translate3d(0, 0, var(--toastify-z-index) px);\n position: fixed;\n padding: 4px;\n width: var(--toastify-toast-width);\n box-sizing: border-box;\n color: #fff;\n }\n .Toastify__toast-container--top-left {\n top: 1em;\n left: 1em;\n }\n .Toastify__toast-container--top-center {\n top: 1em;\n left: 50%;\n transform: translateX(-50%);\n }\n .Toastify__toast-container--top-right {\n top: 1em;\n right: 1em;\n }\n .Toastify__toast-container--bottom-left {\n bottom: 1em;\n left: 1em;\n }\n .Toastify__toast-container--bottom-center {\n bottom: 1em;\n left: 50%;\n transform: translateX(-50%);\n }\n .Toastify__toast-container--bottom-right {\n bottom: 1em;\n right: 1em;\n }\n\n @media only screen and (max-width: 480px) {\n .Toastify__toast-container {\n width: 100vw;\n padding: 0;\n left: 0;\n margin: 0;\n }\n .Toastify__toast-container--top-left,\n .Toastify__toast-container--top-center,\n .Toastify__toast-container--top-right {\n top: 0;\n transform: translateX(0);\n }\n .Toastify__toast-container--bottom-left,\n .Toastify__toast-container--bottom-center,\n .Toastify__toast-container--bottom-right {\n bottom: 0;\n transform: translateX(0);\n }\n .Toastify__toast-container--rtl {\n right: 0;\n left: initial;\n }\n }\n .Toastify__toast {\n position: relative;\n min-height: var(--toastify-toast-min-height);\n box-sizing: border-box;\n margin-bottom: 1rem;\n padding: 8px;\n border-radius: 4px;\n box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.1),\n 0 2px 15px 0 rgba(0, 0, 0, 0.05);\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: justify;\n justify-content: space-between;\n max-height: var(--toastify-toast-max-height);\n overflow: hidden;\n font-family: var(--toastify-font-family);\n cursor: default;\n direction: ltr;\n /* webkit only issue #791 */\n z-index: 0;\n }\n .Toastify__toast--rtl {\n direction: rtl;\n }\n .Toastify__toast--close-on-click {\n cursor: pointer;\n }\n .Toastify__toast-body {\n margin: auto 0;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n padding: 6px;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n }\n .Toastify__toast-body > div:last-child {\n word-break: break-word;\n -ms-flex: 1;\n flex: 1;\n }\n .Toastify__toast-icon {\n -webkit-margin-end: 10px;\n margin-inline-end: 10px;\n width: 20px;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n display: -ms-flexbox;\n display: flex;\n }\n\n .Toastify--animate {\n animation-fill-mode: both;\n animation-duration: 0.7s;\n }\n\n .Toastify--animate-icon {\n animation-fill-mode: both;\n animation-duration: 0.3s;\n }\n\n @media only screen and (max-width: 480px) {\n .Toastify__toast {\n margin-bottom: 0;\n border-radius: 0;\n }\n }\n .Toastify__toast-theme--dark {\n background: var(--toastify-color-dark);\n color: var(--toastify-text-color-dark);\n }\n .Toastify__toast-theme--light {\n background: var(--toastify-color-light);\n color: var(--toastify-text-color-light);\n }\n .Toastify__toast-theme--colored.Toastify__toast--default {\n background: var(--toastify-color-light);\n color: var(--toastify-text-color-light);\n }\n .Toastify__toast-theme--colored.Toastify__toast--info {\n color: var(--toastify-text-color-info);\n background: var(--toastify-color-info);\n }\n .Toastify__toast-theme--colored.Toastify__toast--success {\n color: var(--toastify-text-color-success);\n background: var(--toastify-color-success);\n }\n .Toastify__toast-theme--colored.Toastify__toast--warning {\n color: var(--toastify-text-color-warning);\n background: var(--toastify-color-warning);\n }\n .Toastify__toast-theme--colored.Toastify__toast--error {\n color: var(--toastify-text-color-error);\n background: var(--toastify-color-error);\n }\n\n .Toastify__progress-bar-theme--light {\n background: var(--toastify-color-progress-light);\n }\n .Toastify__progress-bar-theme--dark {\n background: var(--toastify-color-progress-dark);\n }\n .Toastify__progress-bar--info {\n background: var(--toastify-color-progress-info);\n }\n .Toastify__progress-bar--success {\n background: var(--toastify-color-progress-success);\n }\n .Toastify__progress-bar--warning {\n background: var(--toastify-color-progress-warning);\n }\n .Toastify__progress-bar--error {\n background: var(--toastify-color-progress-error);\n }\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--error {\n background: var(--toastify-color-transparent);\n }\n\n .Toastify__close-button {\n color: #fff;\n background: transparent;\n outline: none;\n border: none;\n padding: 0;\n cursor: pointer;\n opacity: 0.7;\n transition: 0.3s ease;\n -ms-flex-item-align: start;\n align-self: flex-start;\n }\n .Toastify__close-button--light {\n color: #000;\n opacity: 0.3;\n }\n .Toastify__close-button > svg {\n fill: currentColor;\n height: 16px;\n width: 14px;\n }\n .Toastify__close-button:hover,\n .Toastify__close-button:focus {\n opacity: 1;\n }\n\n @keyframes Toastify__trackProgress {\n 0% {\n transform: scaleX(1);\n }\n 100% {\n transform: scaleX(0);\n }\n }\n .Toastify__progress-bar {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 5px;\n z-index: var(--toastify-z-index);\n opacity: 0.7;\n transform-origin: left;\n }\n .Toastify__progress-bar--animated {\n animation: Toastify__trackProgress linear 1 forwards;\n }\n .Toastify__progress-bar--controlled {\n transition: transform 0.2s;\n }\n .Toastify__progress-bar--rtl {\n right: 0;\n left: initial;\n transform-origin: right;\n }\n\n .Toastify__spinner {\n width: 20px;\n height: 20px;\n box-sizing: border-box;\n border: 2px solid;\n border-radius: 100%;\n border-color: var(--toastify-spinner-color-empty-area);\n border-right-color: var(--toastify-spinner-color);\n animation: Toastify__spin 0.65s linear infinite;\n }\n\n @keyframes Toastify__bounceInRight {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n from {\n opacity: 0;\n transform: translate3d(3000px, 0, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(-25px, 0, 0);\n }\n 75% {\n transform: translate3d(10px, 0, 0);\n }\n 90% {\n transform: translate3d(-5px, 0, 0);\n }\n to {\n transform: none;\n }\n }\n @keyframes Toastify__bounceOutRight {\n 20% {\n opacity: 1;\n transform: translate3d(-20px, 0, 0);\n }\n to {\n opacity: 0;\n transform: translate3d(2000px, 0, 0);\n }\n }\n @keyframes Toastify__bounceInLeft {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n 0% {\n opacity: 0;\n transform: translate3d(-3000px, 0, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(25px, 0, 0);\n }\n 75% {\n transform: translate3d(-10px, 0, 0);\n }\n 90% {\n transform: translate3d(5px, 0, 0);\n }\n to {\n transform: none;\n }\n }\n @keyframes Toastify__bounceOutLeft {\n 20% {\n opacity: 1;\n transform: translate3d(20px, 0, 0);\n }\n to {\n opacity: 0;\n transform: translate3d(-2000px, 0, 0);\n }\n }\n @keyframes Toastify__bounceInUp {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n from {\n opacity: 0;\n transform: translate3d(0, 3000px, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(0, -20px, 0);\n }\n 75% {\n transform: translate3d(0, 10px, 0);\n }\n 90% {\n transform: translate3d(0, -5px, 0);\n }\n to {\n transform: translate3d(0, 0, 0);\n }\n }\n @keyframes Toastify__bounceOutUp {\n 20% {\n transform: translate3d(0, -10px, 0);\n }\n 40%,\n 45% {\n opacity: 1;\n transform: translate3d(0, 20px, 0);\n }\n to {\n opacity: 0;\n transform: translate3d(0, -2000px, 0);\n }\n }\n @keyframes Toastify__bounceInDown {\n from,\n 60%,\n 75%,\n 90%,\n to {\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n 0% {\n opacity: 0;\n transform: translate3d(0, -3000px, 0);\n }\n 60% {\n opacity: 1;\n transform: translate3d(0, 25px, 0);\n }\n 75% {\n transform: translate3d(0, -10px, 0);\n }\n 90% {\n transform: translate3d(0, 5px, 0);\n }\n to {\n transform: none;\n }\n }\n @keyframes Toastify__bounceOutDown {\n 20% {\n transform: translate3d(0, 10px, 0);\n }\n 40%,\n 45% {\n opacity: 1;\n transform: translate3d(0, -20px, 0);\n }\n to {\n opacity: 0;\n transform: translate3d(0, 2000px, 0);\n }\n }\n .Toastify__bounce-enter--top-left,\n .Toastify__bounce-enter--bottom-left {\n animation-name: Toastify__bounceInLeft;\n }\n .Toastify__bounce-enter--top-right,\n .Toastify__bounce-enter--bottom-right {\n animation-name: Toastify__bounceInRight;\n }\n .Toastify__bounce-enter--top-center {\n animation-name: Toastify__bounceInDown;\n }\n .Toastify__bounce-enter--bottom-center {\n animation-name: Toastify__bounceInUp;\n }\n\n .Toastify__bounce-exit--top-left,\n .Toastify__bounce-exit--bottom-left {\n animation-name: Toastify__bounceOutLeft;\n }\n .Toastify__bounce-exit--top-right,\n .Toastify__bounce-exit--bottom-right {\n animation-name: Toastify__bounceOutRight;\n }\n .Toastify__bounce-exit--top-center {\n animation-name: Toastify__bounceOutUp;\n }\n .Toastify__bounce-exit--bottom-center {\n animation-name: Toastify__bounceOutDown;\n }\n\n @keyframes Toastify__zoomIn {\n from {\n opacity: 0;\n transform: scale3d(0.3, 0.3, 0.3);\n }\n 50% {\n opacity: 1;\n }\n }\n @keyframes Toastify__zoomOut {\n from {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n transform: scale3d(0.3, 0.3, 0.3);\n }\n to {\n opacity: 0;\n }\n }\n .Toastify__zoom-enter {\n animation-name: Toastify__zoomIn;\n }\n\n .Toastify__zoom-exit {\n animation-name: Toastify__zoomOut;\n }\n\n @keyframes Toastify__flipIn {\n from {\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n animation-timing-function: ease-in;\n opacity: 0;\n }\n 40% {\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n animation-timing-function: ease-in;\n }\n 60% {\n transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n opacity: 1;\n }\n 80% {\n transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n }\n to {\n transform: perspective(400px);\n }\n }\n @keyframes Toastify__flipOut {\n from {\n transform: perspective(400px);\n }\n 30% {\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n opacity: 1;\n }\n to {\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n opacity: 0;\n }\n }\n .Toastify__flip-enter {\n animation-name: Toastify__flipIn;\n }\n\n .Toastify__flip-exit {\n animation-name: Toastify__flipOut;\n }\n\n @keyframes Toastify__slideInRight {\n from {\n transform: translate3d(110%, 0, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, 0, 0);\n }\n }\n @keyframes Toastify__slideInLeft {\n from {\n transform: translate3d(-110%, 0, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, 0, 0);\n }\n }\n @keyframes Toastify__slideInUp {\n from {\n transform: translate3d(0, 110%, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, 0, 0);\n }\n }\n @keyframes Toastify__slideInDown {\n from {\n transform: translate3d(0, -110%, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, 0, 0);\n }\n }\n @keyframes Toastify__slideOutRight {\n from {\n transform: translate3d(0, 0, 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(110%, 0, 0);\n }\n }\n @keyframes Toastify__slideOutLeft {\n from {\n transform: translate3d(0, 0, 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(-110%, 0, 0);\n }\n }\n @keyframes Toastify__slideOutDown {\n from {\n transform: translate3d(0, 0, 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(0, 500px, 0);\n }\n }\n @keyframes Toastify__slideOutUp {\n from {\n transform: translate3d(0, 0, 0);\n }\n to {\n visibility: hidden;\n transform: translate3d(0, -500px, 0);\n }\n }\n .Toastify__slide-enter--top-left,\n .Toastify__slide-enter--bottom-left {\n animation-name: Toastify__slideInLeft;\n }\n .Toastify__slide-enter--top-right,\n .Toastify__slide-enter--bottom-right {\n animation-name: Toastify__slideInRight;\n }\n .Toastify__slide-enter--top-center {\n animation-name: Toastify__slideInDown;\n }\n .Toastify__slide-enter--bottom-center {\n animation-name: Toastify__slideInUp;\n }\n\n .Toastify__slide-exit--top-left,\n .Toastify__slide-exit--bottom-left {\n animation-name: Toastify__slideOutLeft;\n }\n .Toastify__slide-exit--top-right,\n .Toastify__slide-exit--bottom-right {\n animation-name: Toastify__slideOutRight;\n }\n .Toastify__slide-exit--top-center {\n animation-name: Toastify__slideOutUp;\n }\n .Toastify__slide-exit--bottom-center {\n animation-name: Toastify__slideOutDown;\n }\n\n @keyframes Toastify__spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n }\n`;\n\n/**\n * Component style.\n */\nexport const StyledToastContainer = styled(\n ToastContainer\n)<StyledToastContainerProps>`\n --toastify-color-light: var(--redsift-color-neutral-white);\n --toastify-color-dark: var(--redsift-color-neutral-black);\n --toastify-color-info: var(--redsift-color-info-primary);\n --toastify-color-success: var(--redsift-color-success-primary);\n --toastify-color-warning: var(--redsift-color-warning-primary);\n --toastify-color-error: var(--redsift-color-error-primary);\n --toastify-color-transparent: rgba(255, 255, 255, 0.7);\n --toastify-icon-color-info: var(--toastify-color-info);\n --toastify-icon-color-success: var(--toastify-color-success);\n --toastify-icon-color-warning: var(--toastify-color-warning);\n --toastify-icon-color-error: var(--toastify-color-error);\n --toastify-toast-width: 'fit-content';\n --toastify-toast-background: var(--redsift-color-neutral-white);\n --toastify-toast-min-height: 58px;\n --toastify-toast-max-height: 800px;\n --toastify-font-family: sans-serif;\n --toastify-z-index: var(--redsift-layout-z-index-tooltip);\n --toastify-text-color-light: var(--redsift-color-neutral-black);\n --toastify-text-color-dark: var(--redsift-color-neutral-white);\n --toastify-text-color-info: var(--redsift-color-neutral-white);\n --toastify-text-color-success: var(--redsift-color-neutral-white);\n --toastify-text-color-warning: var(--redsift-color-neutral-white);\n --toastify-text-color-error: var(--redsift-color-neutral-white);\n --toastify-spinner-color: var(--redsift-color-neutral-darkgrey);\n --toastify-spinner-color-empty-area: var(--redsift-color-neutral-lightgrey);\n --toastify-color-progress-light: var(--redsift-color-neutral-darkgrey);\n --toastify-color-progress-dark: var(--redsift-color-neutral-xlightgrey);\n --toastify-color-progress-default: var(--redsift-color-default-primary);\n --toastify-color-progress-info: var(--toastify-color-info);\n --toastify-color-progress-success: var(--toastify-color-success);\n --toastify-color-progress-warning: var(--toastify-color-warning);\n --toastify-color-progress-error: var(--toastify-color-error);\n\n min-width: 350px;\n max-width: 600px;\n\n .Toastify__toast {\n border-radius: unset;\n box-shadow: 0px 2px 4px -1px rgb(0 0 0 / 20%), 0px 4px 5px rgb(0 0 0 / 14%),\n 0px 1px 10px rgb(0 0 0 / 12%);\n padding: 0;\n }\n\n .Toastify__toast-body {\n padding: 0;\n }\n\n .Toastify__toast-theme--colored.Toastify__toast--default {\n background: none;\n }\n .Toastify__toast-theme--colored.Toastify__toast--info {\n background: none;\n }\n .Toastify__toast-theme--colored.Toastify__toast--success {\n background: none;\n }\n .Toastify__toast-theme--colored.Toastify__toast--warning {\n background: none;\n }\n .Toastify__toast-theme--colored.Toastify__toast--error {\n background: none;\n }\n\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--default {\n background: var(--toastify-color-progress-default);\n }\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--info {\n background: var(--toastify-color-progress-info);\n }\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--success {\n background: var(--toastify-color-progress-success);\n }\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning {\n background: var(--toastify-color-progress-warning);\n }\n .Toastify__progress-bar-theme--colored.Toastify__progress-bar--error {\n background: var(--toastify-color-progress-error);\n }\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport { Slide } from 'react-toastify';\n\nimport { Comp } from '@redsift/design-system';\nimport { ReactToastify, StyledToastContainer } from './styles';\nimport { ToastContainerProps } from './types';\n\nconst COMPONENT_NAME = 'ToastContainer';\nconst CLASSNAME = 'redsift-toast-container';\nconst DEFAULT_PROPS: Partial<ToastContainerProps> = {\n autoClose: 5000,\n closeOnClick: false,\n draggable: true,\n pauseOnFocusLoss: true,\n pauseOnHover: true,\n placement: 'top-right',\n};\n\n/**\n * The ToastContainer component.\n */\nexport const ToastContainer: Comp<ToastContainerProps, HTMLDivElement> =\n forwardRef((props, ref) => {\n const { placement, ...forwardedProps } = props;\n\n return (\n <ReactToastify>\n <StyledToastContainer\n {...forwardedProps}\n className={ToastContainer.className}\n closeButton={false}\n icon={false}\n newestOnTop={placement!.includes('bottom')}\n position={placement}\n ref={ref as RefObject<HTMLDivElement>}\n theme=\"colored\"\n transition={Slide}\n />\n </ReactToastify>\n );\n });\nToastContainer.className = CLASSNAME;\nToastContainer.defaultProps = DEFAULT_PROPS;\nToastContainer.displayName = COMPONENT_NAME;\n","import React from 'react';\nimport { toast } from 'react-toastify';\nimport { Toast } from '../toast';\nimport { useToastProps, useToastReturnType } from './types';\n\nconst notify: useToastReturnType['notify'] = (\n { content, closeButton, placement, title, variant = 'info', ...options },\n props\n) => {\n return toast(\n <Toast title={title} variant={variant} closeButton={closeButton} {...props}>\n {content}\n </Toast>,\n {\n type: variant === 'loading' ? 'default' : variant,\n ...(placement && { position: placement }),\n ...options,\n }\n );\n};\n\nconst update: useToastReturnType['update'] = (\n id,\n { content, closeButton, placement, title, variant = 'info', ...options },\n props\n) => {\n toast.update(id, {\n render: ({ closeToast }) => (\n <Toast\n title={title}\n variant={variant}\n closeButton={closeButton}\n closeToast={closeToast}\n {...props}\n >\n {content}\n </Toast>\n ),\n type: variant === 'loading' ? 'default' : variant,\n ...(placement && { position: placement }),\n ...options,\n });\n};\n\nconst promise: useToastReturnType['promise'] = (\n promise,\n { pending, success, error },\n { closeButton, placement, ...options } = {},\n props\n) => {\n toast.promise(promise, {\n pending: {\n render: ({ closeToast }) => (\n <Toast\n closeButton={closeButton}\n title={pending.title}\n variant=\"loading\"\n closeToast={closeToast}\n {...props}\n >\n {pending.content}\n </Toast>\n ),\n type: 'default',\n ...(placement && { position: placement }),\n ...options,\n },\n success: {\n render: ({ closeToast }) => (\n <Toast\n closeButton={closeButton}\n title={success.title}\n variant=\"success\"\n closeToast={closeToast}\n {...props}\n >\n {success.content}\n </Toast>\n ),\n type: 'success',\n ...(placement && { position: placement }),\n ...options,\n },\n error: {\n render: ({ closeToast }) => (\n <Toast\n closeButton={closeButton}\n title={error.title}\n variant=\"error\"\n closeToast={closeToast}\n {...props}\n >\n {error.content}\n </Toast>\n ),\n type: 'error',\n ...(placement && { position: placement }),\n ...options,\n },\n });\n};\n\nexport const useToast: useToastProps = () => {\n return {\n notify: notify,\n clearWaitingQueue: toast.clearWaitingQueue,\n dismiss: toast.dismiss,\n done: toast.done,\n error: (options, props) => {\n return notify({ variant: 'error', ...options }, props);\n },\n info: (options, props) => {\n return notify({ variant: 'info', ...options }, props);\n },\n isActive: toast.isActive,\n loading: (options, props) => {\n return notify({ variant: 'loading', ...options }, props);\n },\n promise: promise,\n success: (options, props) => {\n return notify({ variant: 'success', ...options }, props);\n },\n update: update,\n warning: (options, props) => {\n return notify({ variant: 'warning', ...options }, props);\n },\n };\n};\n","import React from 'react';\nimport { TooltipState } from './types';\n\nexport const TooltipContext = React.createContext<TooltipState | null>(null);\n","import { ReactNode } from 'react';\nimport { ValueOf } from '@redsift/design-system';\nimport { useTooltip } from './useTooltip';\n\n/**\n * Context props.\n */\nexport type TooltipState = ReturnType<typeof useTooltip> | null;\n\n/**\n * Component variant.\n */\nexport const TooltipPlacement = {\n top: 'top',\n right: 'right',\n bottom: 'bottom',\n left: 'left',\n 'top-start': 'top-start',\n 'top-end': 'top-end',\n 'right-start': 'right-start',\n 'right-end': 'right-end',\n 'bottom-start': 'bottom-start',\n 'bottom-end': 'bottom-end',\n 'left-start': 'left-start',\n 'left-end': 'left-end',\n} as const;\nexport type TooltipPlacement = ValueOf<typeof TooltipPlacement>;\n\n/**\n * Component props.\n */\nexport interface TooltipProps {\n /** Children. Can only be TooltipTrigger and TooltilContent. */\n children: ReactNode;\n /**\n * Default open status.\n * Used for uncontrolled version.\n */\n defaultOpen?: boolean;\n /** Delay time (in ms) for the tooltip to show up. */\n delay?: number;\n /** Default placement of the tooltip. */\n placement?: TooltipPlacement;\n /**\n * Whether the component is opened or not.\n * Used for controlled version.\n */\n isOpen?: boolean;\n /** Method to handle component change. */\n onOpen?: (open: boolean) => void;\n /** Id to the tooltip content. */\n tooltipId?: string;\n}\n\nexport type StyledTooltipProps = TooltipProps;\n","import styled, { css } from 'styled-components';\nimport { baseContainer } from '@redsift/design-system';\nimport { TooltipPlacement } from '../tooltip';\nimport { StyledTooltipContentProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledTooltipContent = styled.div<StyledTooltipContentProps>`\n ${baseContainer}\n\n align-items: center;\n background-color: var(--redsift-color-neutral-white);\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2);\n color: var(--redsift-color-neutral-black);\n display: flex;\n filter: drop-shadow(0px 4px 5px rgba(0, 0, 0, 0.14))\n drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.12));\n font-family: var(--redsift-typography-tooltip-font-family);\n font-size: var(--redsift-typography-tooltip-font-size);\n font-weight: var(--redsift-typography-tooltip-font-weight);\n line-height: var(--redsift-typography-tooltip-line-height);\n max-width: calc(100vw - 48px);\n padding: 4px 8px;\n z-index: var(--redsift-layout-z-index-tooltip);\n\n .redsift-tooltip-content__arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: var(--redsift-color-neutral-white);\n border-style: solid;\n }\n\n ${({ $placement }) => {\n switch ($placement) {\n case TooltipPlacement.left:\n case TooltipPlacement['left-end']:\n case TooltipPlacement['left-start']:\n return css`\n .redsift-tooltip-content__arrow {\n border-width: 6px 0 6px 6px;\n border-top-color: transparent;\n border-right-color: transparent;\n border-bottom-color: transparent;\n }\n `;\n case TooltipPlacement.top:\n case TooltipPlacement['top-end']:\n case TooltipPlacement['top-start']:\n return css`\n .redsift-tooltip-content__arrow {\n border-width: 6px 6px 0;\n border-right-color: transparent;\n border-bottom-color: transparent;\n border-left-color: transparent;\n }\n `;\n case TooltipPlacement.right:\n case TooltipPlacement['right-end']:\n case TooltipPlacement['right-start']:\n return css`\n .redsift-tooltip-content__arrow {\n border-width: 6px 6px 6px 0;\n border-top-color: transparent;\n border-bottom-color: transparent;\n border-left-color: transparent;\n }\n `;\n case TooltipPlacement.bottom:\n case TooltipPlacement['bottom-end']:\n case TooltipPlacement['bottom-start']:\n default:\n return css`\n .redsift-tooltip-content__arrow {\n border-width: 0 6px 6px;\n border-top-color: transparent;\n border-right-color: transparent;\n border-left-color: transparent;\n }\n `;\n }\n }}\n`;\n","import React, { forwardRef } from 'react';\nimport { useMergeRefs, FloatingPortal } from '@floating-ui/react';\n\nimport { Comp } from '@redsift/design-system';\nimport { TooltipContentProps } from './types';\nimport { TooltipPlacement, useTooltipContext } from '../tooltip';\nimport { StyledTooltipContent } from './styles';\nimport classNames from 'classnames';\n\nconst COMPONENT_NAME = 'TooltipContent';\nconst CLASSNAME = 'redsift-tooltip-content';\nconst DEFAULT_PROPS: Partial<TooltipContentProps> = {};\n\n/**\n * The TooltipContent component.\n */\nexport const TooltipContent: Comp<TooltipContentProps, HTMLDivElement> =\n forwardRef((props, ref) => {\n const { children, className, style } = props;\n const {\n getFloatingProps,\n isOpen,\n placement,\n refs,\n strategy,\n x,\n y,\n middlewareData: { arrow: { x: arrowX, y: arrowY } = {} },\n } = useTooltipContext();\n const popoverRef = useMergeRefs([refs.setFloating, ref]);\n\n const { arrowRef } = useTooltipContext();\n\n const staticSide = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[placement.split('-')[0]];\n\n return (\n <FloatingPortal id=\"redsift-app-container\">\n {isOpen && (\n <StyledTooltipContent\n className={classNames(TooltipContent.className, className)}\n ref={popoverRef}\n style={{\n position: strategy,\n top: y ?? 0,\n left: x ?? 0,\n visibility: x == null ? 'hidden' : 'visible',\n ...style,\n }}\n {...getFloatingProps(props)}\n $placement={placement as TooltipPlacement}\n >\n <div\n ref={arrowRef}\n className={`${TooltipContent.className}__arrow`}\n style={{\n left: arrowX != null ? `${arrowX}px` : '',\n top: arrowY != null ? `${arrowY}px` : '',\n [staticSide!]: '-6px',\n }}\n />\n <div className={`${TooltipContent.className}__inner`}>\n {children}\n </div>\n </StyledTooltipContent>\n )}\n </FloatingPortal>\n );\n });\nTooltipContent.className = CLASSNAME;\nTooltipContent.defaultProps = DEFAULT_PROPS;\nTooltipContent.displayName = COMPONENT_NAME;\n","import React, { forwardRef, ReactElement } from 'react';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Comp } from '@redsift/design-system';\nimport { useTooltipContext } from '../tooltip';\nimport { TooltipTriggerProps } from './types';\n\nconst COMPONENT_NAME = 'TooltipTrigger';\nconst CLASSNAME = 'redsift-tooltip-trigger';\nconst DEFAULT_PROPS: Partial<TooltipTriggerProps> = {};\n\n/**\n * The TooltipTrigger component.\n */\nexport const TooltipTrigger: Comp<TooltipTriggerProps, HTMLSpanElement> =\n forwardRef((props, ref) => {\n const { children } = props;\n\n const { getReferenceProps, refs, tooltipId } = useTooltipContext();\n const childrenRef = (children as any).ref;\n const triggerRef = useMergeRefs([refs.setReference, ref, childrenRef]);\n\n if (React.isValidElement(children)) {\n return React.cloneElement(children as ReactElement, {\n ...getReferenceProps({\n ref: triggerRef,\n ...props,\n 'aria-describedby': tooltipId,\n ...children.props,\n }),\n });\n }\n\n return (\n <span ref={triggerRef} {...getReferenceProps(props)}>\n {children}\n </span>\n );\n });\nTooltipTrigger.className = CLASSNAME;\nTooltipTrigger.defaultProps = DEFAULT_PROPS;\nTooltipTrigger.displayName = COMPONENT_NAME;\n","import React, { useCallback, useEffect, useId, useRef, useState } from 'react';\nimport {\n useFloating,\n arrow,\n autoUpdate,\n offset,\n flip,\n shift,\n useHover,\n useFocus,\n useDismiss,\n useRole,\n useInteractions,\n} from '@floating-ui/react';\nimport { TooltipProps } from './types';\n\nexport function useTooltip({\n defaultOpen,\n delay,\n placement,\n isOpen: propsIsOpen,\n onOpen,\n tooltipId: propsTooltipId,\n}: Omit<TooltipProps, 'children'>) {\n const arrowRef = useRef(null);\n const [isOpen, setIsOpen] = useState(propsIsOpen ?? defaultOpen);\n\n const tooltipId = propsTooltipId ?? useId();\n\n useEffect(() => {\n setIsOpen(propsIsOpen ?? defaultOpen);\n }, [propsIsOpen, defaultOpen]);\n\n const handleOpen = useCallback(\n (collapsed: boolean) => {\n if (onOpen) {\n onOpen(collapsed);\n }\n if (propsIsOpen === undefined || propsIsOpen === null) {\n setIsOpen(collapsed);\n }\n },\n [onOpen]\n );\n\n const data = useFloating({\n placement,\n open: isOpen,\n onOpenChange: handleOpen,\n whileElementsMounted: autoUpdate,\n middleware: [\n offset(8),\n flip({\n fallbackAxisSideDirection: 'start',\n }),\n shift({ padding: 8 }),\n arrow({\n element: arrowRef,\n }),\n ],\n });\n\n const context = data.context;\n\n const hover = useHover(context, {\n move: false,\n delay: {\n open: delay,\n close: 0,\n },\n });\n const focus = useFocus(context);\n const dismiss = useDismiss(context);\n const role = useRole(context, { role: 'tooltip' });\n\n const interactions = useInteractions([hover, focus, dismiss, role]);\n\n return React.useMemo(\n () => ({\n isOpen,\n handleOpen,\n ...interactions,\n ...data,\n arrowRef,\n tooltipId,\n }),\n [isOpen, handleOpen, interactions, data, arrowRef, tooltipId]\n );\n}\n","import React from 'react';\nimport { partitionComponents, isComponent } from '@redsift/design-system';\nimport { TooltipContent } from '../tooltip-content';\nimport { TooltipTrigger } from '../tooltip-trigger';\n\nimport { TooltipContext } from './context';\nimport { TooltipPlacement, TooltipProps } from './types';\nimport { useTooltip } from './useTooltip';\n\nconst COMPONENT_NAME = 'Tooltip';\nconst CLASSNAME = 'redsift-tooltip';\nconst DEFAULT_PROPS: Partial<TooltipProps> = {\n delay: 500,\n placement: TooltipPlacement.top,\n};\n\n/**\n * The Tooltip component.\n */\nexport const BaseTooltip: React.FC<TooltipProps> & {\n displayName?: string;\n className?: string;\n} = (props) => {\n const { children, defaultOpen, delay, isOpen, onOpen, placement, tooltipId } =\n props;\n\n const tooltip = useTooltip({\n defaultOpen,\n delay,\n placement,\n isOpen,\n onOpen,\n tooltipId,\n });\n\n const [[trigger], [content]] = partitionComponents(\n React.Children.toArray(children),\n [isComponent('TooltipTrigger'), isComponent('TooltipContent')]\n );\n\n return (\n <TooltipContext.Provider value={tooltip}>\n {trigger}\n {content}\n </TooltipContext.Provider>\n );\n};\nBaseTooltip.className = CLASSNAME;\nBaseTooltip.defaultProps = DEFAULT_PROPS;\nBaseTooltip.displayName = COMPONENT_NAME;\n\nexport const Tooltip = Object.assign(BaseTooltip, {\n Trigger: TooltipTrigger,\n Content: TooltipContent,\n});\n","import React from 'react';\nimport { TooltipContext } from './context';\n\nexport const useTooltipContext = () => {\n const context = React.useContext(TooltipContext);\n\n if (context == null) {\n throw new Error('Tooltip components must be wrapped in <Tooltip />');\n }\n\n return context;\n};\n"],"names":["DialogContext","React","createContext","DialogSize","small","medium","large","enUS","frFR","StyledDialogContent","styled","div","_ref","$size","css","StyledFloatingOverlay","FloatingOverlay","StyledDialogContentActions","baseContainer","COMPONENT_NAME","CLASSNAME","DEFAULT_PROPS","flexDirection","DialogContentActions","forwardRef","props","ref","children","className","forwardedProps","_objectWithoutProperties","_excluded","actionsRef","initialFocus","useDialogContext","createElement","_extends","classNames","useMergeRefs","tabIndex","undefined","defaultProps","displayName","StyledDialogContentBody","$marginTop","$marginBottom","DialogContentBody","bodyRef","hasCloseButton","headerRef","height","headerHeight","useBoundingClientRect","actionsHeight","Math","max","StyledDialogContentHeader","DialogContentHeader","header","headingProps","icon","subheader","setLabelId","setDescriptionId","labelId","useId","descriptionId","useLayoutEffect","Heading","as","color","id","variant","Icon","BaseDialogContent","context","floatingContext","getFloatingProps","refs","handleOpen","propsInitialFocus","size","isMounted","styles","useTransitionStyles","dialogRef","setFloating","stringFormatter","useLocalizedStringFormatter","intlMessages","body","actions","partitionComponents","Children","toArray","isComponent","FloatingPortal","lockScroll","style","FloatingFocusManager","DialogContent","IconButton","format","mdiClose","onClick","Object","assign","Header","Body","Actions","DialogTrigger","getReferenceProps","isOpen","childrenRef","triggerRef","setReference","cloneElement","_objectSpread","isActive","Fragment","useDialog","defaultOpen","propsIsOpen","onOpen","useRef","useState","setIsOpen","useEffect","useCallback","collapsed","data","useFloating","open","onOpenChange","dismiss","useDismiss","outsidePressEvent","role","useRole","interactions","useInteractions","useMemo","BaseDialog","dialog","trigger","content","Provider","value","Dialog","Trigger","Content","useContext","Error","PopoverContext","PopoverPlacement","top","right","bottom","left","StyledPopoverContent","display","_ref2","padding","paddingBottom","paddingLeft","paddingRight","paddingTop","_ref3","margin","marginBottom","marginLeft","marginRight","marginTop","_ref4","maxHeight","maxWidth","minHeight","minWidth","width","_ref5","position","zIndex","_ref6","alignContent","alignItems","gap","gridAutoColumns","gridAutoRows","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","justifyContent","justifyItems","_ref7","flexWrap","PopoverContent","isModal","strategy","x","y","usePopoverContext","popoverRef","console","log","modal","PopoverTrigger","usePopover","placement","propsRole","middleware","offset","flip","fallbackAxisSideDirection","shift","push","apply","availableHeight","availableWidth","rects","elements","floating","reference","whileElementsMounted","autoUpdate","BasePopover","_overrideDisplayName$","_overrideDisplayName$2","overrideDisplayName","popover","Popover","ToastVariant","success","error","warning","info","loading","ToastPlacement","StyledToast","baseStyling","$hasTitle","$variant","closeButton","getVariant","mdiInformation","ColorPalette","mdiAlertCircle","mdiCheckCircle","mdiAlert","Spinner","Toast","closeToast","title","Boolean","Flexbox","_closeButton$props$on","_closeButton$props","call","ReactToastify","StyledToastContainer","ToastContainer","autoClose","closeOnClick","draggable","pauseOnFocusLoss","pauseOnHover","newestOnTop","includes","theme","transition","Slide","notify","options","toast","type","update","_excluded2","render","promise","pending","arguments","length","_excluded3","_ref8","useToast","clearWaitingQueue","done","TooltipContext","TooltipPlacement","StyledTooltipContent","$placement","TooltipContent","middlewareData","arrow","arrowX","arrowY","useTooltipContext","arrowRef","staticSide","split","visibility","TooltipTrigger","tooltipId","isValidElement","useTooltip","delay","propsTooltipId","element","hover","useHover","move","close","focus","useFocus","BaseTooltip","tooltip","Tooltip"],"mappings":"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AAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,EAAI,CAAA;AAChB,KAAA;AACF,GAAC,CAAC,GACA,IACG,CACE,CAAC,CAAA;AAElB,CAAC,EAAC;AACFD,KAAK,CAAC7N,SAAS,GAAGR,WAAS,CAAA;AAC3BqO,KAAK,CAAChN,YAAY,GAAGpB,eAAa,CAAA;AAClCoO,KAAK,CAAC/M,WAAW,GAAGvB,gBAAc;;AC1F3B,MAAM8O,aAAa,GAAGvP,MAAM,CAACC,GAAI,CAAA;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAA;;AAED;AACA;AACA;AACO,MAAMuP,oBA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"}
package/package.json CHANGED
@@ -30,7 +30,7 @@
30
30
  "test": "yarn test:unit && yarn test:storybook"
31
31
  },
32
32
  "types": "index.d.ts",
33
- "version": "8.0.7",
33
+ "version": "8.1.0",
34
34
  "dependencies": {
35
35
  "@floating-ui/react": "^0.19.2",
36
36
  "@react-aria/i18n": "3.7.2",
@@ -93,5 +93,5 @@
93
93
  "react-dom": "18",
94
94
  "styled-components": "^5.3.5"
95
95
  },
96
- "gitHead": "1ed2d9af25652c7a7cf003dca2e8546d060bf900"
96
+ "gitHead": "2f6ad635a5fb1901d6f43feeded183648cf97494"
97
97
  }