@redsift/popovers 11.2.2 → 11.3.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/index.d.ts CHANGED
@@ -9,6 +9,15 @@ import * as _floating_ui_utils from '@floating-ui/utils';
9
9
  import * as styled_components from 'styled-components';
10
10
  import { Theme as Theme$1, ClearWaitingQueueParams } from 'react-toastify';
11
11
 
12
+ declare const sizeToDimension: (size: DialogSize | {
13
+ width?: string;
14
+ maxWidth?: string;
15
+ minWidth?: string;
16
+ }) => {
17
+ width?: string;
18
+ maxWidth?: string;
19
+ minWidth?: string;
20
+ };
12
21
  declare function useDialog({ color, defaultOpen, hasCloseButton, initialFocus, isOpen: propsIsOpen, onOpen, size, triggerClassName, }: Omit<DialogProps, 'children'>): {
13
22
  labelId: string | undefined;
14
23
  descriptionId: string | undefined;
@@ -16,9 +25,9 @@ declare function useDialog({ color, defaultOpen, hasCloseButton, initialFocus, i
16
25
  setDescriptionId: React$1.Dispatch<React$1.SetStateAction<string | undefined>>;
17
26
  hasCloseButton: boolean | undefined;
18
27
  initialFocus: number | "body" | "header" | React$1.MutableRefObject<HTMLElement | null> | "actions" | undefined;
19
- size: DialogSize | {
20
- width: string;
21
- } | undefined;
28
+ width: string | undefined;
29
+ minWidth: string | undefined;
30
+ maxWidth: string | undefined;
22
31
  headerRef: React$1.MutableRefObject<null>;
23
32
  bodyRef: React$1.MutableRefObject<null>;
24
33
  actionsRef: React$1.MutableRefObject<null>;
@@ -115,7 +124,9 @@ interface DialogProps {
115
124
  onOpen?: (open: boolean) => void;
116
125
  /** Dialog size. */
117
126
  size?: DialogSize | {
118
- width: string;
127
+ width?: string;
128
+ maxWidth?: string;
129
+ minWidth?: string;
119
130
  };
120
131
  /** Theme. */
121
132
  theme?: Theme;
@@ -194,15 +205,12 @@ interface DialogContentProps extends ComponentProps<'div'> {
194
205
  theme?: Theme;
195
206
  }
196
207
  type StyledDialogContentProps = DialogContentProps & {
197
- $width: string;
208
+ $width?: string;
209
+ $minWidth?: string;
210
+ $maxWidth?: string;
198
211
  $theme: Theme;
199
212
  };
200
213
 
201
- declare const sizeToDimension: (size: DialogSize | {
202
- width: string;
203
- }) => {
204
- width: string;
205
- };
206
214
  /**
207
215
  * The DialogContent component.
208
216
  */
@@ -250,9 +258,9 @@ declare const useDialogContext: () => {
250
258
  setDescriptionId: React$1.Dispatch<React$1.SetStateAction<string | undefined>>;
251
259
  hasCloseButton: boolean | undefined;
252
260
  initialFocus: number | "body" | "header" | React$1.MutableRefObject<HTMLElement | null> | "actions" | undefined;
253
- size: DialogSize | {
254
- width: string;
255
- } | undefined;
261
+ width: string | undefined;
262
+ minWidth: string | undefined;
263
+ maxWidth: string | undefined;
256
264
  headerRef: React$1.MutableRefObject<null>;
257
265
  bodyRef: React$1.MutableRefObject<null>;
258
266
  actionsRef: React$1.MutableRefObject<null>;
package/index.js CHANGED
@@ -165,10 +165,14 @@ const StyledDialogContent = styled.div`
165
165
 
166
166
  ${_ref2 => {
167
167
  let {
168
- $width
168
+ $width,
169
+ $maxWidth,
170
+ $minWidth
169
171
  } = _ref2;
170
172
  return css`
171
- width: ${$width};
173
+ ${$width !== undefined ? `width: ${$width};` : ''}
174
+ ${$maxWidth !== undefined ? `min-width: ${$maxWidth};` : ''}
175
+ ${$minWidth !== undefined ? `max-width: ${$minWidth};` : ''}
172
176
  `;
173
177
  }}
174
178
 
@@ -448,30 +452,6 @@ DialogContentHeader.displayName = COMPONENT_NAME$b;
448
452
  const _excluded$a = ["children", "className", "style", "theme"];
449
453
  const COMPONENT_NAME$a = 'DialogContent';
450
454
  const CLASSNAME$a = 'redsift-dialog-content';
451
- const sizeToDimension = size => {
452
- if (typeof size !== 'string') {
453
- return size;
454
- }
455
- switch (size) {
456
- case DialogSize.small:
457
- return {
458
- width: '540px'
459
- };
460
- case DialogSize.large:
461
- return {
462
- width: '800px'
463
- };
464
- case DialogSize.xlarge:
465
- return {
466
- width: '80vw'
467
- };
468
- case DialogSize.medium:
469
- default:
470
- return {
471
- width: '700px'
472
- };
473
- }
474
- };
475
455
 
476
456
  /**
477
457
  * The DialogContent component.
@@ -494,7 +474,9 @@ const BaseDialogContent = /*#__PURE__*/forwardRef((props, ref) => {
494
474
  handleOpen,
495
475
  hasCloseButton,
496
476
  initialFocus: propsInitialFocus,
497
- size,
477
+ width,
478
+ minWidth,
479
+ maxWidth,
498
480
  headerRef,
499
481
  bodyRef,
500
482
  actionsRef
@@ -505,9 +487,6 @@ const BaseDialogContent = /*#__PURE__*/forwardRef((props, ref) => {
505
487
  styles
506
488
  } = useTransitionStyles(floatingContext);
507
489
  const dialogRef = useMergeRefs([refs.setFloating, ref]);
508
- const {
509
- width
510
- } = sizeToDimension(size);
511
490
  const format = useMessageFormatter(intlMessages$1);
512
491
  const [[header], [body], [actions]] = partitionComponents(React.Children.toArray(children), [isComponent('DialogContentHeader'), isComponent('DialogContentBody'), isComponent('DialogContentActions')]);
513
492
  const initialFocus = propsInitialFocus === 'header' ? headerRef : propsInitialFocus === 'body' ? bodyRef : propsInitialFocus === 'actions' ? actionsRef : propsInitialFocus ? propsInitialFocus : undefined;
@@ -528,7 +507,9 @@ const BaseDialogContent = /*#__PURE__*/forwardRef((props, ref) => {
528
507
  "aria-describedby": descriptionId
529
508
  }, getFloatingProps(props), {
530
509
  style: _objectSpread2(_objectSpread2({}, styles), style),
531
- $width: width
510
+ $width: width,
511
+ $minWidth: minWidth,
512
+ $maxWidth: maxWidth
532
513
  }), !header && !body && !actions ? /*#__PURE__*/React.createElement(DialogContentBody, null, children) : /*#__PURE__*/React.createElement(React.Fragment, null, header || hasCloseButton ? /*#__PURE__*/React.createElement("div", {
533
514
  className: `${BaseDialogContent.className}__header`
534
515
  }, header, hasCloseButton ? /*#__PURE__*/React.createElement(IconButton, {
@@ -588,6 +569,30 @@ const DialogTrigger = /*#__PURE__*/forwardRef((props, ref) => {
588
569
  DialogTrigger.className = CLASSNAME$9;
589
570
  DialogTrigger.displayName = COMPONENT_NAME$9;
590
571
 
572
+ const sizeToDimension = size => {
573
+ if (typeof size !== 'string') {
574
+ return size;
575
+ }
576
+ switch (size) {
577
+ case DialogSize.small:
578
+ return {
579
+ width: '540px'
580
+ };
581
+ case DialogSize.large:
582
+ return {
583
+ width: '800px'
584
+ };
585
+ case DialogSize.xlarge:
586
+ return {
587
+ width: '80vw'
588
+ };
589
+ case DialogSize.medium:
590
+ default:
591
+ return {
592
+ width: '700px'
593
+ };
594
+ }
595
+ };
591
596
  function useDialog(_ref) {
592
597
  let {
593
598
  color,
@@ -605,6 +610,11 @@ function useDialog(_ref) {
605
610
  const [labelId, setLabelId] = React.useState();
606
611
  const [descriptionId, setDescriptionId] = React.useState();
607
612
  const [isOpen, setIsOpen] = useState(propsIsOpen !== null && propsIsOpen !== void 0 ? propsIsOpen : defaultOpen);
613
+ const {
614
+ width,
615
+ minWidth,
616
+ maxWidth
617
+ } = sizeToDimension(size);
608
618
  useEffect(() => {
609
619
  setIsOpen(propsIsOpen !== null && propsIsOpen !== void 0 ? propsIsOpen : defaultOpen);
610
620
  }, [propsIsOpen, defaultOpen]);
@@ -637,12 +647,14 @@ function useDialog(_ref) {
637
647
  setDescriptionId,
638
648
  hasCloseButton,
639
649
  initialFocus,
640
- size,
650
+ width,
651
+ minWidth,
652
+ maxWidth,
641
653
  headerRef,
642
654
  bodyRef,
643
655
  actionsRef,
644
656
  triggerClassName
645
- }), [color, isOpen, handleOpen, interactions, data, labelId, descriptionId, hasCloseButton, initialFocus, size, headerRef, bodyRef, actionsRef, triggerClassName]);
657
+ }), [color, isOpen, handleOpen, interactions, data, labelId, descriptionId, hasCloseButton, initialFocus, width, minWidth, maxWidth, headerRef, bodyRef, actionsRef, triggerClassName]);
646
658
  }
647
659
 
648
660
  const COMPONENT_NAME$8 = 'Dialog';
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-content/styles.ts","../src/components/tooltip-content/TooltipContent.tsx","../src/components/tooltip-trigger/TooltipTrigger.tsx","../src/components/tooltip/context.ts","../src/components/tooltip/types.ts","../src/components/tooltip/useTooltip.tsx","../../design-system/src/components/theme/context.ts","../src/components/tooltip/Tooltip.tsx","../src/components/tooltip/ButtonLinkWithTooltip.tsx","../src/components/tooltip/ButtonWithTooltip.tsx","../src/components/tooltip/IconButtonLinkWithTooltip.tsx","../src/components/tooltip/IconButtonWithTooltip.tsx","../src/components/tooltip/LinkButtonWithTooltip.tsx","../src/components/tooltip/LinkWithTooltip.tsx","../src/components/tooltip/useTooltipContext.tsx","../src/components/tooltip/index.ts"],"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 { ButtonColor, Theme, 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 /** Class name to append to the trigger. */\n readonly triggerClassName?: string;\n })\n | null;\n\n/**\n * Component variant.\n */\nexport const DialogSize = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n xlarge: 'xlarge',\n} as const;\nexport type DialogSize = ValueOf<typeof DialogSize>;\n\n/**\n * Component props.\n */\nexport interface DialogProps {\n /** Button color that will be forward to the trigger. */\n color?: ButtonColor;\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?: number | React.MutableRefObject<HTMLElement | null> | 'header' | 'body' | '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 | { width: string };\n /** Theme. */\n theme?: Theme;\n /** Class name to append to the trigger. */\n triggerClassName?: string;\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 { StyledDialogContentProps } from './types';\nimport { Theme, baseContainer } from '@redsift/design-system';\n\n/**\n * Component style.\n */\nexport const StyledDialogContent = styled.div<StyledDialogContentProps>`\n ${baseContainer}\n ${({ $theme }) => css`\n color: var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'});\n background-color: var(--redsift-color-neutral-${$theme === Theme.dark ? 'black' : 'white'});\n `}\n\n border-radius: 4px;\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2);\n display: flex;\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 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 ${({ $width }) => css`\n width: ${$width};\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';\n\n/**\n * The DialogContentActions component.\n */\nexport const DialogContentActions: Comp<DialogContentActionsProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, flexDirection = 'row', ...forwardedProps } = props;\n\n const { actionsRef, initialFocus } = useDialogContext();\n\n return (\n <StyledDialogContentActions\n flexDirection={flexDirection}\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.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 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 padding: 0 24px;\n margin: 16px -24px;\n\n &:focus-visible {\n outline: none;\n }\n\n scrollbar-color: var(--redsift-color-neutral-mid-grey) 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-mid-grey);\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-x-dark-grey);\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';\n\n/**\n * The DialogContentBody component.\n */\nexport const DialogContentBody: Comp<DialogContentBodyProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, ...forwardedProps } = props;\n\n const { actionsRef, bodyRef, hasCloseButton, headerRef, initialFocus } = useDialogContext();\n\n const { height: headerHeight = 0 } = useBoundingClientRect(headerRef as any, [children, headerRef]);\n const { height: actionsHeight = 0 } = useBoundingClientRect(actionsRef as any, [children, actionsRef]);\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) + 32}\n $marginBottom={(actionsHeight === 0 ? 0 : actionsHeight + 16) + 32}\n >\n {children}\n </StyledDialogContentBody>\n );\n});\nDialogContentBody.className = CLASSNAME;\nDialogContentBody.displayName = COMPONENT_NAME;\n","import styled from 'styled-components';\nimport { StyledDialogContentHeaderProps } from './types';\nimport { baseFlexbox, baseStyling } from '@redsift/design-system';\n\n/**\n * Component style.\n */\nexport const StyledDialogContentHeader = styled.div<StyledDialogContentHeaderProps>`\n display: flex;\n flex-direction: column;\n width: 100%;\n ${baseStyling}\n ${baseFlexbox}\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\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 } from 'react';\nimport classNames from 'classnames';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Icon, Heading, Comp, useId, Skeleton } 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';\n\n/**\n * The DialogContentHeader component.\n */\nexport const DialogContentHeader: Comp<DialogContentHeaderProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, header, headingProps, icon, iconProps, isLoading, subheader, theme, ...forwardedProps } =\n props;\n\n const { setLabelId, setDescriptionId, headerRef, initialFocus } = 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 <Skeleton.Text theme={theme} variant=\"body\" isLoaded={!isLoading}>\n <div className={`${DialogContentHeader.className}__subheader`}>{subheader}</div>\n </Skeleton.Text>\n ) : null}\n {header ? (\n <Skeleton.Text\n theme={theme}\n variant={headingProps?.variant || 'h2'}\n isLoaded={!isLoading}\n marginTop=\"10px\"\n marginBottom=\"10px\"\n >\n <Heading\n theme={theme}\n as=\"h2\"\n color=\"black\"\n className={`${DialogContentHeader.className}__header`}\n variant=\"h2\"\n {...headingProps}\n >\n {icon ? <Icon theme={theme} icon={icon} aria-hidden=\"true\" size=\"large\" {...iconProps} /> : null}\n {header}\n </Heading>\n </Skeleton.Text>\n ) : null}\n {children ? <div id={descriptionId}>{children}</div> : null}\n </StyledDialogContentHeader>\n );\n});\nDialogContentHeader.className = CLASSNAME;\nDialogContentHeader.displayName = COMPONENT_NAME;\n","import React, { forwardRef, useContext } from 'react';\nimport classNames from 'classnames';\nimport { useMergeRefs, FloatingPortal, FloatingFocusManager, useTransitionStyles } from '@floating-ui/react';\nimport { mdiClose } from '@redsift/icons';\n\nimport { AppContainerContext, useMessageFormatter } from '@redsift/design-system';\nimport intlMessages from './intl';\n\nimport { Comp, IconButton, isComponent, partitionComponents, useTheme } from '@redsift/design-system';\nimport { DialogContentProps } from './types';\nimport { DialogSize, 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';\n\nexport const sizeToDimension = (size: DialogSize | { width: string }): { width: string } => {\n if (typeof size !== 'string') {\n return size;\n }\n\n switch (size) {\n case DialogSize.small:\n return { width: '540px' };\n case DialogSize.large:\n return { width: '800px' };\n case DialogSize.xlarge:\n return { width: '80vw' };\n case DialogSize.medium:\n default:\n return { width: '700px' };\n }\n};\n\n/**\n * The DialogContent component.\n */\nexport const BaseDialogContent: Comp<DialogContentProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, style, theme: propsTheme, ...forwardedProps } = props;\n const appContainerState = useContext(AppContainerContext);\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 theme = useTheme(propsTheme);\n const { isMounted, styles } = useTransitionStyles(floatingContext);\n const dialogRef = useMergeRefs([refs.setFloating, ref]);\n const { width } = sizeToDimension(size!);\n\n const format = useMessageFormatter(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 root={appContainerState?.appContainerRef.current}>\n {isMounted && (\n <StyledFloatingOverlay lockScroll style={styles}>\n <FloatingFocusManager context={floatingContext} initialFocus={initialFocus ? initialFocus : undefined}>\n <StyledDialogContent\n $theme={theme!}\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, ...style }}\n $width={width!}\n >\n {!header && !body && !actions ? (\n <DialogContentBody>{children}</DialogContentBody>\n ) : (\n <>\n {header || hasCloseButton ? (\n <div className={`${BaseDialogContent.className}__header`}>\n {header}\n\n {hasCloseButton ? (\n <IconButton\n theme={theme}\n aria-label={format('close')}\n className={`${BaseDialogContent.className}-header__icon-button`}\n color=\"grey\"\n icon={mdiClose}\n onClick={() => handleOpen(false)}\n />\n ) : null}\n </div>\n ) : null}\n {body || actions ? (\n <div className={`${BaseDialogContent.className}__content`}>\n {body}\n {actions}\n </div>\n ) : null}\n </>\n )}\n </StyledDialogContent>\n </FloatingFocusManager>\n </StyledFloatingOverlay>\n )}\n </FloatingPortal>\n );\n});\nBaseDialogContent.className = CLASSNAME;\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';\nimport classNames from 'classnames';\n\nconst COMPONENT_NAME = 'DialogTrigger';\nconst CLASSNAME = 'redsift-dialog-trigger';\n\n/**\n * The DialogTrigger component.\n */\nexport const DialogTrigger: Comp<DialogTriggerProps, HTMLButtonElement> = forwardRef((props, ref) => {\n const { children } = props;\n\n const { getReferenceProps, isOpen, handleOpen, refs, triggerClassName, color } = 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 isComponent('Checkbox')(children) ||\n isComponent('Switch')(children) ||\n isComponent('Radio')(children) ||\n isComponent('Item')(children)\n ) {\n return React.cloneElement(children as ReactElement, {\n ...getReferenceProps({\n ref: triggerRef,\n ...props,\n ...children.props,\n children: children.props.children ?? '',\n }),\n onClick: props.onClick ? props.onClick : () => handleOpen(!isOpen),\n isActive: isOpen,\n className: classNames((children as ReactElement).props.className, triggerClassName),\n color: color ?? children.props.color,\n });\n }\n\n return <>{children}</>;\n});\nDialogTrigger.className = CLASSNAME;\nDialogTrigger.displayName = COMPONENT_NAME;\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useFloating, useDismiss, useRole, useInteractions } from '@floating-ui/react';\nimport { DialogProps } from './types';\n\nexport function useDialog({\n color,\n defaultOpen,\n hasCloseButton,\n initialFocus,\n isOpen: propsIsOpen,\n onOpen,\n size,\n triggerClassName,\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] = 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 color,\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 triggerClassName,\n }),\n [\n color,\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 triggerClassName,\n ]\n );\n}\n","import React from 'react';\nimport { partitionComponents, isComponent, useTheme, ThemeProvider } 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';\n\n/**\n * The Dialog component.\n */\nexport const BaseDialog: React.FC<DialogProps> & {\n displayName?: string;\n className?: string;\n} = (props) => {\n const {\n color,\n children,\n defaultOpen,\n hasCloseButton = true,\n initialFocus,\n isOpen,\n onOpen,\n size = DialogSize.medium,\n theme: propsTheme,\n triggerClassName,\n } = props;\n\n const theme = useTheme(propsTheme);\n\n const dialog = useDialog({\n color,\n defaultOpen,\n hasCloseButton,\n initialFocus,\n isOpen,\n onOpen,\n size,\n triggerClassName,\n });\n\n const [[trigger], [content]] = partitionComponents(React.Children.toArray(children), [\n isComponent('DialogTrigger'),\n isComponent('DialogContent'),\n ]);\n\n return (\n <ThemeProvider value={{ theme }}>\n <DialogContext.Provider value={dialog}>\n {trigger && isComponent('DialogTrigger')(trigger) ? trigger : null}\n {content && isComponent('DialogContent')(content) ? content : null}\n </DialogContext.Provider>\n </ThemeProvider>\n );\n};\nBaseDialog.className = CLASSNAME;\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 { Dispatch, ReactNode, SetStateAction } from 'react';\nimport { ButtonColor, Theme, ValueOf } from '@redsift/design-system';\nimport { usePopover } from './usePopover';\n\n/**\n * Context props.\n */\nexport type HiddenPopoverState = {\n /** Whether the popover should be hidden or removed from the DOM. */\n hideInsteadOfClose?: boolean;\n /** Method to set the hideInsteadOfClose prop. */\n setHideInsteadOfClose?: Dispatch<SetStateAction<boolean>>;\n};\nexport type PopoverState =\n | (ReturnType<typeof usePopover> & {\n /** Class name to append to the trigger. */\n readonly triggerClassName?: string;\n } & HiddenPopoverState)\n | 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 /** Button color that will be forward to the trigger. */\n color?: ButtonColor;\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 /** Space between trigger and content (in pixels). */\n offset?: number;\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 /** Theme. */\n theme?: Theme;\n /** Class name to append to the trigger. */\n triggerClassName?: string;\n}\n\nexport type StyledPopoverProps = PopoverProps;\n","import styled, { css } from 'styled-components';\nimport { StyledPopoverContentProps } from './types';\nimport { Theme } from '@redsift/design-system';\n\n/**\n * Component style.\n */\nexport const StyledPopoverContent = styled.div<StyledPopoverContentProps>`\n ${({ display }) => (display ? `display: ${display};` : '')}\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\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 ${({ 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 ${({ 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 ${({ $theme }) => css`\n color: var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'});\n background-color: var(--redsift-color-neutral-${$theme === Theme.dark ? 'black' : 'white'});\n `}\n\n border-radius: 4px;\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2);\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 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 max-width: calc(100vw - 48px);\n overflow: auto;\n z-index: var(--redsift-layout-z-index-popover);\n\n &:focus-visible {\n outline: none;\n }\n`;\n","import React, { forwardRef, useContext } from 'react';\nimport classNames from 'classnames';\nimport { useMergeRefs, FloatingPortal, FloatingFocusManager } from '@floating-ui/react';\n\nimport { AppContainerContext, Comp, useTheme } 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';\n\n/**\n * The PopoverContent component.\n */\nexport const PopoverContent: Comp<PopoverContentProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, style, theme: propsTheme, ...forwardedProps } = props;\n const appContainerState = useContext(AppContainerContext);\n const {\n context: floatingContext,\n getFloatingProps,\n isModal,\n isOpen,\n refs,\n strategy,\n x,\n y,\n hideInsteadOfClose,\n } = usePopoverContext();\n const theme = useTheme(propsTheme);\n const popoverRef = useMergeRefs([refs.setFloating, ref]);\n\n const RenderedPopoverContent = (\n <StyledPopoverContent\n $theme={theme!}\n {...getFloatingProps(props)}\n style={{\n position: strategy,\n top: y ?? 0,\n left: x ?? 0,\n width: 'fit-content',\n display: hideInsteadOfClose && !isOpen ? 'none' : 'flex',\n ...style,\n }}\n className={classNames(PopoverContent.className, className)}\n {...forwardedProps}\n ref={popoverRef}\n >\n {children}\n </StyledPopoverContent>\n );\n\n return (\n <FloatingPortal root={appContainerState?.appContainerRef.current}>\n {isOpen || hideInsteadOfClose ? (\n <FloatingFocusManager context={floatingContext} modal={isModal}>\n {RenderedPopoverContent}\n </FloatingFocusManager>\n ) : null}\n </FloatingPortal>\n );\n});\nPopoverContent.className = CLASSNAME;\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';\nimport classNames from 'classnames';\n\nconst COMPONENT_NAME = 'PopoverTrigger';\nconst CLASSNAME = 'redsift-popover-trigger';\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, triggerClassName, color } = 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 isComponent('Checkbox')(children) ||\n isComponent('Switch')(children) ||\n isComponent('Radio')(children) ||\n isComponent('Item')(children)\n ) {\n return React.cloneElement(children as ReactElement, {\n ...getReferenceProps({\n ref: triggerRef,\n ...props,\n ...children.props,\n children: children.props.children ?? '',\n }),\n onClick: props.onClick ? props.onClick : () => handleOpen(!isOpen),\n isActive: isOpen,\n className: classNames((children as ReactElement).props.className, triggerClassName),\n color: color ?? children.props.color,\n });\n }\n\n return null;\n});\nPopoverTrigger.className = CLASSNAME;\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 { HiddenPopoverState, PopoverProps } from './types';\n\nexport function usePopover({\n color,\n defaultOpen,\n isModal,\n isOpen: propsIsOpen,\n maxWidth,\n minWidth,\n offset: propsOffset,\n onOpen,\n placement,\n role: propsRole,\n triggerClassName,\n width,\n setHideInsteadOfClose,\n hideInsteadOfClose,\n}: Omit<PopoverProps, 'children'> & HiddenPopoverState) {\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(propsOffset ?? 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 color,\n isOpen,\n handleOpen,\n ...interactions,\n ...data,\n isModal,\n triggerClassName,\n setHideInsteadOfClose,\n hideInsteadOfClose,\n }),\n [\n color,\n isOpen,\n handleOpen,\n interactions,\n data,\n isModal,\n triggerClassName,\n setHideInsteadOfClose,\n hideInsteadOfClose,\n ]\n );\n}\n","import React, { useState } from 'react';\nimport { partitionComponents, isComponent, useTheme, ThemeProvider } 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';\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 color,\n defaultOpen,\n isModal = false,\n isOpen,\n maxWidth,\n minWidth,\n offset,\n onOpen,\n overrideDisplayName,\n placement = PopoverPlacement.bottom,\n role = 'dialog',\n theme: propsTheme,\n triggerClassName,\n width,\n } = props;\n\n const theme = useTheme(propsTheme);\n const [hideInsteadOfClose, setHideInsteadOfClose] = useState(false);\n\n const popover = usePopover({\n color,\n defaultOpen,\n isModal,\n isOpen,\n maxWidth,\n minWidth,\n offset,\n onOpen,\n placement,\n role,\n triggerClassName,\n setHideInsteadOfClose,\n hideInsteadOfClose,\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 <ThemeProvider value={{ theme }}>\n <PopoverContext.Provider value={popover}>\n {trigger && isComponent(overrideDisplayName?.trigger ?? 'PopoverTrigger')(trigger) ? trigger : null}\n {content && isComponent(overrideDisplayName?.content ?? 'PopoverContent')(content) ? content : null}\n </PopoverContext.Provider>\n </ThemeProvider>\n );\n};\nBasePopover.className = CLASSNAME;\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, Theme } 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 extends Omit<ComponentProps<'div'>, 'id' | 'style'>, SpacingProps, SizingProps {\n /** Whether the component has a close button or not. */\n closeButton?: boolean | ReactNode;\n /** Title. */\n title?: string;\n /** Theme. */\n theme?: Theme;\n /** Variant */\n variant?: ToastVariant;\n}\n\nexport type StyledToastProps = Omit<ToastProps, 'variant' | 'id'> & {\n $hasTitle: boolean;\n $variant: ToastProps['variant'];\n $theme: Theme;\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 color: var(--redsift-color-neutral-x-dark-grey);\n\n padding: 16px;\n box-shadow: 0px 2px 4px -1px rgb(0 0 0 / 20%), 0px 4px 5px rgb(0 0 0 / 14%), 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-notifications-${$variant}-hover)`};\n\n .redsift-toast-header__icon-button {\n background-color: transparent;\n padding: 0px;\n .redsift-icon {\n color: var(--redsift-color-neutral-x-dark-grey);\n }\n\n &:hover,\n &:focus-visible {\n background-color: var(--redsift-color-notifications-${$variant}-active);\n\n .redsift-icon {\n color: var(--redsift-color-neutral-x-dark-grey);\n }\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 { useMessageFormatter } from '@redsift/design-system';\nimport intlMessages from './intl';\n\nimport { mdiAlert, mdiAlertCircle, mdiCheckCircle, mdiClose, mdiInformation } from '@redsift/icons';\nimport {\n NotificationsColorPalette,\n Comp,\n Icon,\n Flexbox,\n Spinner,\n Text,\n isComponent,\n ButtonColor,\n IconButton,\n RedsiftTypographyFontWeightSemiBold,\n useTheme,\n} from '@redsift/design-system';\nimport { StyledToast } from './styles';\nimport { ToastProps, ToastVariant } from './types';\n\nconst COMPONENT_NAME = 'Toast';\nconst CLASSNAME = 'redsift-toast';\n\nconst getVariant = (variant: ToastVariant) => {\n switch (variant) {\n case ToastVariant.info:\n default:\n return <Icon icon={mdiInformation} color={NotificationsColorPalette.info} />;\n case ToastVariant.error:\n return <Icon icon={mdiAlertCircle} color={NotificationsColorPalette.error} />;\n case ToastVariant.success:\n return <Icon icon={mdiCheckCircle} color={NotificationsColorPalette.success} />;\n case ToastVariant.warning:\n return <Icon icon={mdiAlert} color={NotificationsColorPalette.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 {\n children,\n className,\n closeButton = true,\n closeToast,\n theme: propsTheme,\n title,\n variant = 'info',\n ...forwardedProps\n } = props;\n\n const theme = useTheme(propsTheme);\n\n const format = useMessageFormatter(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 $theme={theme}\n >\n <Flexbox className={`${Toast.className}__header`} justifyContent=\"space-between\" alignItems=\"center\">\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 ? <Text fontWeight={RedsiftTypographyFontWeightSemiBold}>{title}</Text> : 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={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' ? 'info' : (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.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(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);\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), 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(ToastContainer)<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-notifications-info-primary);\n --toastify-color-success: var(--redsift-color-notifications-success-primary);\n --toastify-color-warning: var(--redsift-color-notifications-warning-primary);\n --toastify-color-error: var(--redsift-color-notifications-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-x-dark-grey);\n --toastify-spinner-color-empty-area: var(--redsift-color-neutral-light-grey);\n --toastify-color-progress-light: var(--redsift-color-neutral-x-dark-grey);\n --toastify-color-progress-dark: var(--redsift-color-neutral-x-light-grey);\n --toastify-color-progress-default: var(--redsift-color-primary-n);\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 box-shadow: 0px 2px 4px -1px rgb(0 0 0 / 20%), 0px 4px 5px rgb(0 0 0 / 14%), 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';\n\n/**\n * The ToastContainer component.\n */\nexport const ToastContainer: Comp<ToastContainerProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n autoClose = 5000,\n closeOnClick = false,\n draggable = true,\n pauseOnFocusLoss = true,\n pauseOnHover = true,\n placement = 'top-right',\n ...forwardedProps\n } = props;\n\n return (\n <ReactToastify>\n <StyledToastContainer\n autoClose={autoClose}\n closeOnClick={closeOnClick}\n draggable={draggable}\n pauseOnFocusLoss={pauseOnFocusLoss}\n pauseOnHover={pauseOnHover}\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.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 styled, { css } from 'styled-components';\nimport { Theme, 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 ${({ $theme }) => css`\n color: var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'});\n background-color: var(--redsift-color-neutral-${$theme === Theme.dark ? 'black' : 'white'});\n `}\n\n align-items: center;\n border-radius: 4px;\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2);\n display: flex;\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 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: ${({ $theme }) =>\n $theme === Theme.dark ? css`var(--redsift-color-neutral-black)` : css`var(--redsift-color-neutral-white)`};\n border-style: solid;\n }\n\n ${({ $placement }) => {\n switch ($placement) {\n case TooltipPlacement['right-start']:\n return css`\n border-bottom-left-radius: 0;\n `;\n case TooltipPlacement['right-end']:\n return css`\n border-top-left-radius: 0;\n `;\n case TooltipPlacement['left-start']:\n return css`\n border-bottom-right-radius: 0;\n `;\n case TooltipPlacement['left-end']:\n return css`\n border-top-right-radius: 0;\n `;\n default:\n return css``;\n }\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, useContext } from 'react';\nimport { useMergeRefs, FloatingPortal } from '@floating-ui/react';\n\nimport { AppContainerContext, Comp, useTheme } 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';\n\n/**\n * The TooltipContent component.\n */\nexport const TooltipContent: Comp<TooltipContentProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, style, theme: propsTheme } = props;\n const appContainerState = useContext(AppContainerContext);\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 theme = useTheme ? useTheme(propsTheme) : undefined;\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 root={appContainerState?.appContainerRef.current}>\n {isOpen && (\n <StyledTooltipContent\n className={classNames(TooltipContent.className, className)}\n ref={popoverRef}\n $theme={theme!}\n {...getFloatingProps(props)}\n style={{\n position: strategy,\n top: y ?? 0,\n left: x ?? 0,\n visibility: x == null ? 'hidden' : 'visible',\n ...style,\n }}\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`}>{children}</div>\n </StyledTooltipContent>\n )}\n </FloatingPortal>\n );\n});\nTooltipContent.className = CLASSNAME;\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';\nimport classNames from 'classnames';\n\nconst COMPONENT_NAME = 'TooltipTrigger';\nconst CLASSNAME = 'redsift-tooltip-trigger';\n\n/**\n * The TooltipTrigger component.\n */\nexport const TooltipTrigger: Comp<TooltipTriggerProps, HTMLSpanElement> = forwardRef((props, ref) => {\n const { children } = props;\n\n const { getReferenceProps, refs, tooltipId, triggerClassName, color } = 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 children: children.props.children ?? '',\n }),\n className: classNames((children as ReactElement).props.className, triggerClassName),\n color: color ?? children.props.color,\n });\n }\n\n return (\n <span ref={triggerRef} {...getReferenceProps(props)}>\n {children}\n </span>\n );\n});\nTooltipTrigger.className = CLASSNAME;\nTooltipTrigger.displayName = COMPONENT_NAME;\n","import React from 'react';\nimport { TooltipState } from './types';\n\nexport const TooltipContext = React.createContext<TooltipState | null>(null);\n","import { ReactNode } from 'react';\nimport { ButtonColor, Theme, ValueOf } from '@redsift/design-system';\nimport { useTooltip } from './useTooltip';\n\n/**\n * Context props.\n */\nexport type TooltipState =\n | (ReturnType<typeof useTooltip> & {\n /** Class name to append to the trigger. */\n readonly triggerClassName?: string;\n })\n | 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 /** Button color that will be forward to the trigger. */\n color?: ButtonColor;\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 | 'client-point';\n /**\n * Whether the component is opened or not.\n * Used for controlled version.\n */\n isOpen?: boolean;\n /** Space between trigger and content (in pixels). */\n offset?: number;\n /** Method to handle component change. */\n onOpen?: (open: boolean) => void;\n /** Id to the tooltip content. */\n tooltipId?: string;\n /** Theme. */\n theme?: Theme;\n /** Class name to append to the trigger. */\n triggerClassName?: string;\n}\n\nexport type StyledTooltipProps = TooltipProps;\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport {\n useFloating,\n arrow,\n autoUpdate,\n offset,\n flip,\n safePolygon,\n shift,\n useHover,\n useFocus,\n useDismiss,\n useRole,\n useInteractions,\n useClientPoint,\n} from '@floating-ui/react';\nimport { TooltipProps } from './types';\nimport { useId } from '@redsift/design-system';\n\nexport function useTooltip({\n color,\n defaultOpen,\n delay,\n placement,\n isOpen: propsIsOpen,\n offset: propsOffset,\n onOpen,\n tooltipId: propsTooltipId,\n triggerClassName,\n}: Omit<TooltipProps, 'children'>) {\n const arrowRef = useRef(null);\n const [isOpen, setIsOpen] = useState(propsIsOpen ?? defaultOpen);\n\n const [_id] = useId();\n const tooltipId = propsTooltipId ?? _id;\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: placement === 'client-point' ? 'left' : placement,\n open: isOpen,\n onOpenChange: handleOpen,\n whileElementsMounted: autoUpdate,\n middleware: [\n offset(propsOffset ?? 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 const clientPoint = useClientPoint(context, { enabled: placement === 'client-point' });\n\n const hover = useHover(context, {\n move: false,\n delay: {\n open: delay,\n close: 0,\n },\n handleClose: safePolygon(),\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, clientPoint]);\n\n return React.useMemo(\n () => ({\n color,\n isOpen,\n handleOpen,\n ...interactions,\n ...data,\n arrowRef,\n tooltipId,\n triggerClassName,\n }),\n [color, isOpen, handleOpen, interactions, data, arrowRef, tooltipId, triggerClassName]\n );\n}\n","import React from 'react';\nimport { Theme } from '../../types';\n\nexport const ThemeContext = React.createContext<{ theme?: Theme } | null>(null);\n\nexport const ThemeProvider = ThemeContext.Provider;\n","import React from 'react';\nimport { partitionComponents, isComponent, useTheme } 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\nimport { ThemeProvider } from '../../../../design-system/src/components/theme/context';\n\nconst COMPONENT_NAME = 'Tooltip';\nconst CLASSNAME = 'redsift-tooltip';\n\n/**\n * The Tooltip component.\n */\nexport const BaseTooltip: React.FC<TooltipProps> & {\n displayName?: string;\n className?: string;\n} = (props) => {\n const {\n children,\n color,\n defaultOpen,\n delay = 300,\n isOpen,\n offset,\n onOpen,\n placement = TooltipPlacement.top,\n theme: propsTheme,\n tooltipId,\n triggerClassName,\n } = props;\n\n const theme = useTheme ? useTheme(propsTheme) : undefined;\n\n const tooltip = useTooltip({\n color,\n defaultOpen,\n delay,\n placement,\n isOpen,\n offset,\n onOpen,\n tooltipId,\n theme,\n triggerClassName,\n });\n\n const [[trigger], [content]] = partitionComponents(React.Children.toArray(children), [\n isComponent('TooltipTrigger'),\n isComponent('TooltipContent'),\n ]);\n\n return (\n <ThemeProvider value={{ theme }}>\n <TooltipContext.Provider value={tooltip}>\n {trigger && isComponent('TooltipTrigger')(trigger) ? trigger : null}\n {content && isComponent('TooltipContent')(content) ? content : null}\n </TooltipContext.Provider>\n </ThemeProvider>\n );\n};\nBaseTooltip.className = CLASSNAME;\nBaseTooltip.displayName = COMPONENT_NAME;\n\nexport const Tooltip = Object.assign(BaseTooltip, {\n Trigger: TooltipTrigger,\n Content: TooltipContent,\n});\n","import { ButtonLinkProps, ButtonLink, Comp } from '@redsift/design-system';\nimport React, { forwardRef } from 'react';\nimport { Tooltip } from './Tooltip';\nimport { TooltipProps } from './types';\nimport { TooltipTriggerProps } from '../tooltip-trigger';\nimport { TooltipContentProps } from '../tooltip-content';\n\nexport const ButtonLinkWithTooltip: Comp<\n {\n tooltip: string;\n tooltipProps?: TooltipProps;\n tooltipTriggerProps?: Omit<TooltipTriggerProps, 'ref'>;\n tooltipContentProps?: Omit<TooltipContentProps, 'ref'>;\n } & Omit<ButtonLinkProps, 'ref'>,\n HTMLAnchorElement\n> = forwardRef(({ tooltip, tooltipProps, tooltipTriggerProps, tooltipContentProps, ...props }, ref) => (\n <Tooltip {...tooltipProps}>\n <Tooltip.Trigger {...tooltipTriggerProps}>\n <ButtonLink aria-label={tooltip} {...props} aria-describedby={undefined} ref={ref} />\n </Tooltip.Trigger>\n <Tooltip.Content {...tooltipContentProps}>{tooltip}</Tooltip.Content>\n </Tooltip>\n));\nButtonLinkWithTooltip.displayName = 'ButtonLink';\n","import { ButtonProps, Button, Comp } from '@redsift/design-system';\nimport React, { forwardRef } from 'react';\nimport { Tooltip } from './Tooltip';\nimport { TooltipProps } from './types';\nimport { TooltipTriggerProps } from '../tooltip-trigger';\nimport { TooltipContentProps } from '../tooltip-content';\n\nexport const ButtonWithTooltip: Comp<\n {\n tooltip: string;\n tooltipProps?: TooltipProps;\n tooltipTriggerProps?: Omit<TooltipTriggerProps, 'ref'>;\n tooltipContentProps?: Omit<TooltipContentProps, 'ref'>;\n } & Omit<ButtonProps, 'ref'>,\n HTMLButtonElement\n> = forwardRef(({ tooltip, tooltipProps, tooltipTriggerProps, tooltipContentProps, ...props }, ref) => (\n <Tooltip {...tooltipProps}>\n <Tooltip.Trigger {...tooltipTriggerProps}>\n <Button aria-label={tooltip} {...props} aria-describedby={undefined} ref={ref} />\n </Tooltip.Trigger>\n <Tooltip.Content {...tooltipContentProps}>{tooltip}</Tooltip.Content>\n </Tooltip>\n));\nButtonWithTooltip.displayName = 'Button';\n","import { IconButtonLinkProps, IconButtonLink, Comp } from '@redsift/design-system';\nimport React, { forwardRef } from 'react';\nimport { Tooltip } from './Tooltip';\nimport { TooltipProps } from './types';\nimport { TooltipTriggerProps } from '../tooltip-trigger';\nimport { TooltipContentProps } from '../tooltip-content';\n\nexport const IconButtonLinkWithTooltip: Comp<\n {\n tooltip: string;\n tooltipProps?: TooltipProps;\n tooltipTriggerProps?: Omit<TooltipTriggerProps, 'ref'>;\n tooltipContentProps?: Omit<TooltipContentProps, 'ref'>;\n } & Omit<IconButtonLinkProps, 'ref'>,\n HTMLAnchorElement\n> = forwardRef(({ tooltip, tooltipProps, tooltipTriggerProps, tooltipContentProps, ...props }, ref) => (\n <Tooltip {...tooltipProps}>\n <Tooltip.Trigger {...tooltipTriggerProps}>\n <IconButtonLink aria-label={tooltip} {...props} aria-describedby={undefined} ref={ref} />\n </Tooltip.Trigger>\n <Tooltip.Content {...tooltipContentProps}>{tooltip}</Tooltip.Content>\n </Tooltip>\n));\nIconButtonLinkWithTooltip.displayName = 'IconButtonLink';\n","import { IconButtonProps, IconButton, Comp } from '@redsift/design-system';\nimport React, { forwardRef } from 'react';\nimport { Tooltip } from './Tooltip';\nimport { TooltipProps } from './types';\nimport { TooltipTriggerProps } from '../tooltip-trigger';\nimport { TooltipContentProps } from '../tooltip-content';\n\nexport const IconButtonWithTooltip: Comp<\n {\n tooltip: string;\n tooltipProps?: TooltipProps;\n tooltipTriggerProps?: Omit<TooltipTriggerProps, 'ref'>;\n tooltipContentProps?: Omit<TooltipContentProps, 'ref'>;\n } & Omit<IconButtonProps, 'ref'>,\n HTMLButtonElement\n> = forwardRef(({ tooltip, tooltipProps, tooltipTriggerProps, tooltipContentProps, ...props }, ref) => (\n <Tooltip {...tooltipProps}>\n <Tooltip.Trigger {...tooltipTriggerProps}>\n <IconButton aria-label={tooltip} {...props} aria-describedby={undefined} ref={ref} />\n </Tooltip.Trigger>\n <Tooltip.Content {...tooltipContentProps}>{tooltip}</Tooltip.Content>\n </Tooltip>\n));\nIconButtonWithTooltip.displayName = 'IconButton';\n","import { LinkButtonProps, LinkButton, Comp } from '@redsift/design-system';\nimport React, { forwardRef } from 'react';\nimport { Tooltip } from './Tooltip';\nimport { TooltipProps } from './types';\nimport { TooltipTriggerProps } from '../tooltip-trigger';\nimport { TooltipContentProps } from '../tooltip-content';\n\nexport const LinkButtonWithTooltip: Comp<\n {\n tooltip: string;\n tooltipProps?: TooltipProps;\n tooltipTriggerProps?: Omit<TooltipTriggerProps, 'ref'>;\n tooltipContentProps?: Omit<TooltipContentProps, 'ref'>;\n } & Omit<LinkButtonProps, 'ref'>,\n HTMLButtonElement\n> = forwardRef(({ tooltip, tooltipProps, tooltipTriggerProps, tooltipContentProps, ...props }, ref) => (\n <Tooltip {...tooltipProps}>\n <Tooltip.Trigger {...tooltipTriggerProps}>\n <LinkButton aria-label={tooltip} {...props} aria-describedby={undefined} ref={ref} />\n </Tooltip.Trigger>\n <Tooltip.Content {...tooltipContentProps}>{tooltip}</Tooltip.Content>\n </Tooltip>\n));\nLinkButtonWithTooltip.displayName = 'LinkButton';\n","import { LinkProps, Link, Comp } from '@redsift/design-system';\nimport React, { forwardRef } from 'react';\nimport { Tooltip } from './Tooltip';\nimport { TooltipProps } from './types';\nimport { TooltipTriggerProps } from '../tooltip-trigger';\nimport { TooltipContentProps } from '../tooltip-content';\n\nexport const LinkWithTooltip: Comp<\n {\n tooltip: string;\n tooltipProps?: TooltipProps;\n tooltipTriggerProps?: Omit<TooltipTriggerProps, 'ref'>;\n tooltipContentProps?: Omit<TooltipContentProps, 'ref'>;\n } & Omit<LinkProps, 'ref'>,\n HTMLAnchorElement\n> = forwardRef(({ tooltip, tooltipProps, tooltipTriggerProps, tooltipContentProps, ...props }, ref) => (\n <Tooltip {...tooltipProps}>\n <Tooltip.Trigger {...tooltipTriggerProps}>\n <Link aria-label={tooltip} {...props} aria-describedby={undefined} ref={ref} />\n </Tooltip.Trigger>\n <Tooltip.Content {...tooltipContentProps}>{tooltip}</Tooltip.Content>\n </Tooltip>\n));\nLinkWithTooltip.displayName = 'Link';\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","import { ButtonLinkWithTooltip } from './ButtonLinkWithTooltip';\nimport { ButtonWithTooltip } from './ButtonWithTooltip';\nimport { IconButtonLinkWithTooltip } from './IconButtonLinkWithTooltip';\nimport { IconButtonWithTooltip } from './IconButtonWithTooltip';\nimport { LinkButtonWithTooltip } from './LinkButtonWithTooltip';\nimport { LinkWithTooltip } from './LinkWithTooltip';\n\nexport * from './context';\nexport * from './types';\nexport * from './Tooltip';\nexport * from './useTooltip';\nexport * from './useTooltipContext';\n\nexport * from './ButtonWithTooltip';\nexport * from './ButtonLinkWithTooltip';\nexport * from './IconButtonLinkWithTooltip';\nexport * from './IconButtonWithTooltip';\nexport * from './LinkWithTooltip';\nexport * from './LinkButtonWithTooltip';\n\nexport const WithTooltip = {\n Button: ButtonWithTooltip,\n ButtonLink: ButtonLinkWithTooltip,\n IconButton: IconButtonWithTooltip,\n IconButtonLink: IconButtonLinkWithTooltip,\n Link: LinkWithTooltip,\n LinkButton: LinkButtonWithTooltip,\n};\n"],"names":["DialogContext","React","createContext","DialogSize","small","medium","large","xlarge","enUS","frFR","StyledDialogContent","styled","div","baseContainer","_ref","$theme","css","Theme","dark","_ref2","$width","StyledFloatingOverlay","FloatingOverlay","StyledDialogContentActions","COMPONENT_NAME","CLASSNAME","DialogContentActions","forwardRef","props","ref","children","className","flexDirection","forwardedProps","_objectWithoutProperties","_excluded","actionsRef","initialFocus","useDialogContext","createElement","_extends","classNames","useMergeRefs","tabIndex","undefined","displayName","StyledDialogContentBody","$marginTop","$marginBottom","DialogContentBody","bodyRef","hasCloseButton","headerRef","height","headerHeight","useBoundingClientRect","actionsHeight","Math","max","StyledDialogContentHeader","baseStyling","baseFlexbox","DialogContentHeader","header","headingProps","icon","iconProps","isLoading","subheader","theme","setLabelId","setDescriptionId","labelId","useId","descriptionId","useLayoutEffect","Skeleton","Text","variant","isLoaded","marginTop","marginBottom","Heading","as","color","Icon","size","id","sizeToDimension","width","BaseDialogContent","style","propsTheme","appContainerState","useContext","AppContainerContext","context","floatingContext","getFloatingProps","refs","handleOpen","propsInitialFocus","useTheme","isMounted","styles","useTransitionStyles","dialogRef","setFloating","format","useMessageFormatter","intlMessages","body","actions","partitionComponents","Children","toArray","isComponent","FloatingPortal","root","appContainerRef","current","lockScroll","FloatingFocusManager","DialogContent","_objectSpread","Fragment","IconButton","mdiClose","onClick","Object","assign","Header","Body","Actions","DialogTrigger","getReferenceProps","isOpen","triggerClassName","childrenRef","triggerRef","setReference","_children$props$child","cloneElement","isActive","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","ThemeProvider","value","Provider","Dialog","Trigger","Content","Error","PopoverContext","PopoverPlacement","top","right","bottom","left","StyledPopoverContent","display","padding","paddingBottom","paddingLeft","paddingRight","paddingTop","_ref3","_ref4","maxHeight","maxWidth","minHeight","minWidth","_ref5","position","zIndex","_ref6","alignContent","alignItems","gap","gridAutoColumns","gridAutoRows","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","justifyContent","justifyItems","_ref7","flexWrap","_ref8","PopoverContent","isModal","strategy","x","y","hideInsteadOfClose","usePopoverContext","popoverRef","RenderedPopoverContent","modal","PopoverTrigger","usePopover","offset","propsOffset","placement","propsRole","setHideInsteadOfClose","middleware","flip","fallbackAxisSideDirection","shift","push","apply","availableHeight","availableWidth","rects","elements","floating","reference","whileElementsMounted","autoUpdate","BasePopover","_overrideDisplayName$","_overrideDisplayName$2","_overrideDisplayName$3","_overrideDisplayName$4","overrideDisplayName","popover","Popover","ToastVariant","success","error","warning","info","loading","ToastPlacement","StyledToast","$hasTitle","$variant","getVariant","mdiInformation","NotificationsColorPalette","mdiAlertCircle","mdiCheckCircle","mdiAlert","Spinner","Toast","closeButton","closeToast","title","Boolean","Flexbox","fontWeight","RedsiftTypographyFontWeightSemiBold","_closeButton$props$on","_closeButton$props","call","ReactToastify","StyledToastContainer","ToastContainer","autoClose","closeOnClick","draggable","pauseOnFocusLoss","pauseOnHover","newestOnTop","includes","transition","Slide","notify","options","toast","type","update","_excluded2","render","promise","pending","arguments","length","_excluded3","useToast","clearWaitingQueue","done","StyledTooltipContent","$placement","TooltipPlacement","TooltipContent","middlewareData","arrow","arrowX","arrowY","useTooltipContext","arrowRef","staticSide","split","visibility","TooltipTrigger","tooltipId","isValidElement","TooltipContext","useTooltip","delay","propsTooltipId","_id","element","clientPoint","useClientPoint","enabled","hover","useHover","move","close","handleClose","safePolygon","focus","useFocus","ThemeContext","BaseTooltip","tooltip","Tooltip","ButtonLinkWithTooltip","tooltipProps","tooltipTriggerProps","tooltipContentProps","ButtonLink","ButtonWithTooltip","Button","IconButtonLinkWithTooltip","IconButtonLink","IconButtonWithTooltip","LinkButtonWithTooltip","LinkButton","LinkWithTooltip","Link","WithTooltip"],"mappings":"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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,MAAM6Q,oBAAoB,GAAG9Q,MAAM,CAAC+Q,gBAAc,CAA6B,CAAA;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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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-content/styles.ts","../src/components/tooltip-content/TooltipContent.tsx","../src/components/tooltip-trigger/TooltipTrigger.tsx","../src/components/tooltip/context.ts","../src/components/tooltip/types.ts","../src/components/tooltip/useTooltip.tsx","../../design-system/src/components/theme/context.ts","../src/components/tooltip/Tooltip.tsx","../src/components/tooltip/ButtonLinkWithTooltip.tsx","../src/components/tooltip/ButtonWithTooltip.tsx","../src/components/tooltip/IconButtonLinkWithTooltip.tsx","../src/components/tooltip/IconButtonWithTooltip.tsx","../src/components/tooltip/LinkButtonWithTooltip.tsx","../src/components/tooltip/LinkWithTooltip.tsx","../src/components/tooltip/useTooltipContext.tsx","../src/components/tooltip/index.ts"],"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 { ButtonColor, Theme, 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 /** Class name to append to the trigger. */\n readonly triggerClassName?: string;\n })\n | null;\n\n/**\n * Component variant.\n */\nexport const DialogSize = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n xlarge: 'xlarge',\n} as const;\nexport type DialogSize = ValueOf<typeof DialogSize>;\n\n/**\n * Component props.\n */\nexport interface DialogProps {\n /** Button color that will be forward to the trigger. */\n color?: ButtonColor;\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?: number | React.MutableRefObject<HTMLElement | null> | 'header' | 'body' | '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 | { width?: string; maxWidth?: string; minWidth?: string };\n /** Theme. */\n theme?: Theme;\n /** Class name to append to the trigger. */\n triggerClassName?: string;\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 { StyledDialogContentProps } from './types';\nimport { Theme, baseContainer } from '@redsift/design-system';\n\n/**\n * Component style.\n */\nexport const StyledDialogContent = styled.div<StyledDialogContentProps>`\n ${baseContainer}\n ${({ $theme }) => css`\n color: var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'});\n background-color: var(--redsift-color-neutral-${$theme === Theme.dark ? 'black' : 'white'});\n `}\n\n border-radius: 4px;\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2);\n display: flex;\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 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 ${({ $width, $maxWidth, $minWidth }) => css`\n ${$width !== undefined ? `width: ${$width};` : ''}\n ${$maxWidth !== undefined ? `min-width: ${$maxWidth};` : ''}\n ${$minWidth !== undefined ? `max-width: ${$minWidth};` : ''}\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';\n\n/**\n * The DialogContentActions component.\n */\nexport const DialogContentActions: Comp<DialogContentActionsProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, flexDirection = 'row', ...forwardedProps } = props;\n\n const { actionsRef, initialFocus } = useDialogContext();\n\n return (\n <StyledDialogContentActions\n flexDirection={flexDirection}\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.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 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 padding: 0 24px;\n margin: 16px -24px;\n\n &:focus-visible {\n outline: none;\n }\n\n scrollbar-color: var(--redsift-color-neutral-mid-grey) 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-mid-grey);\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-x-dark-grey);\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';\n\n/**\n * The DialogContentBody component.\n */\nexport const DialogContentBody: Comp<DialogContentBodyProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, ...forwardedProps } = props;\n\n const { actionsRef, bodyRef, hasCloseButton, headerRef, initialFocus } = useDialogContext();\n\n const { height: headerHeight = 0 } = useBoundingClientRect(headerRef as any, [children, headerRef]);\n const { height: actionsHeight = 0 } = useBoundingClientRect(actionsRef as any, [children, actionsRef]);\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) + 32}\n $marginBottom={(actionsHeight === 0 ? 0 : actionsHeight + 16) + 32}\n >\n {children}\n </StyledDialogContentBody>\n );\n});\nDialogContentBody.className = CLASSNAME;\nDialogContentBody.displayName = COMPONENT_NAME;\n","import styled from 'styled-components';\nimport { StyledDialogContentHeaderProps } from './types';\nimport { baseFlexbox, baseStyling } from '@redsift/design-system';\n\n/**\n * Component style.\n */\nexport const StyledDialogContentHeader = styled.div<StyledDialogContentHeaderProps>`\n display: flex;\n flex-direction: column;\n width: 100%;\n ${baseStyling}\n ${baseFlexbox}\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\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 } from 'react';\nimport classNames from 'classnames';\nimport { useMergeRefs } from '@floating-ui/react';\n\nimport { Icon, Heading, Comp, useId, Skeleton } 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';\n\n/**\n * The DialogContentHeader component.\n */\nexport const DialogContentHeader: Comp<DialogContentHeaderProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, header, headingProps, icon, iconProps, isLoading, subheader, theme, ...forwardedProps } =\n props;\n\n const { setLabelId, setDescriptionId, headerRef, initialFocus } = 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 <Skeleton.Text theme={theme} variant=\"body\" isLoaded={!isLoading}>\n <div className={`${DialogContentHeader.className}__subheader`}>{subheader}</div>\n </Skeleton.Text>\n ) : null}\n {header ? (\n <Skeleton.Text\n theme={theme}\n variant={headingProps?.variant || 'h2'}\n isLoaded={!isLoading}\n marginTop=\"10px\"\n marginBottom=\"10px\"\n >\n <Heading\n theme={theme}\n as=\"h2\"\n color=\"black\"\n className={`${DialogContentHeader.className}__header`}\n variant=\"h2\"\n {...headingProps}\n >\n {icon ? <Icon theme={theme} icon={icon} aria-hidden=\"true\" size=\"large\" {...iconProps} /> : null}\n {header}\n </Heading>\n </Skeleton.Text>\n ) : null}\n {children ? <div id={descriptionId}>{children}</div> : null}\n </StyledDialogContentHeader>\n );\n});\nDialogContentHeader.className = CLASSNAME;\nDialogContentHeader.displayName = COMPONENT_NAME;\n","import React, { forwardRef, useContext } from 'react';\nimport classNames from 'classnames';\nimport { useMergeRefs, FloatingPortal, FloatingFocusManager, useTransitionStyles } from '@floating-ui/react';\nimport { mdiClose } from '@redsift/icons';\n\nimport { AppContainerContext, useMessageFormatter } from '@redsift/design-system';\nimport intlMessages from './intl';\n\nimport { Comp, IconButton, isComponent, partitionComponents, useTheme } 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';\n\n/**\n * The DialogContent component.\n */\nexport const BaseDialogContent: Comp<DialogContentProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, style, theme: propsTheme, ...forwardedProps } = props;\n const appContainerState = useContext(AppContainerContext);\n const {\n context: floatingContext,\n getFloatingProps,\n refs,\n labelId,\n descriptionId,\n handleOpen,\n hasCloseButton,\n initialFocus: propsInitialFocus,\n width,\n minWidth,\n maxWidth,\n headerRef,\n bodyRef,\n actionsRef,\n } = useDialogContext();\n const theme = useTheme(propsTheme);\n const { isMounted, styles } = useTransitionStyles(floatingContext);\n const dialogRef = useMergeRefs([refs.setFloating, ref]);\n\n const format = useMessageFormatter(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 root={appContainerState?.appContainerRef.current}>\n {isMounted && (\n <StyledFloatingOverlay lockScroll style={styles}>\n <FloatingFocusManager context={floatingContext} initialFocus={initialFocus ? initialFocus : undefined}>\n <StyledDialogContent\n $theme={theme!}\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, ...style }}\n $width={width}\n $minWidth={minWidth}\n $maxWidth={maxWidth}\n >\n {!header && !body && !actions ? (\n <DialogContentBody>{children}</DialogContentBody>\n ) : (\n <>\n {header || hasCloseButton ? (\n <div className={`${BaseDialogContent.className}__header`}>\n {header}\n\n {hasCloseButton ? (\n <IconButton\n theme={theme}\n aria-label={format('close')}\n className={`${BaseDialogContent.className}-header__icon-button`}\n color=\"grey\"\n icon={mdiClose}\n onClick={() => handleOpen(false)}\n />\n ) : null}\n </div>\n ) : null}\n {body || actions ? (\n <div className={`${BaseDialogContent.className}__content`}>\n {body}\n {actions}\n </div>\n ) : null}\n </>\n )}\n </StyledDialogContent>\n </FloatingFocusManager>\n </StyledFloatingOverlay>\n )}\n </FloatingPortal>\n );\n});\nBaseDialogContent.className = CLASSNAME;\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';\nimport classNames from 'classnames';\n\nconst COMPONENT_NAME = 'DialogTrigger';\nconst CLASSNAME = 'redsift-dialog-trigger';\n\n/**\n * The DialogTrigger component.\n */\nexport const DialogTrigger: Comp<DialogTriggerProps, HTMLButtonElement> = forwardRef((props, ref) => {\n const { children } = props;\n\n const { getReferenceProps, isOpen, handleOpen, refs, triggerClassName, color } = 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 isComponent('Checkbox')(children) ||\n isComponent('Switch')(children) ||\n isComponent('Radio')(children) ||\n isComponent('Item')(children)\n ) {\n return React.cloneElement(children as ReactElement, {\n ...getReferenceProps({\n ref: triggerRef,\n ...props,\n ...children.props,\n children: children.props.children ?? '',\n }),\n onClick: props.onClick ? props.onClick : () => handleOpen(!isOpen),\n isActive: isOpen,\n className: classNames((children as ReactElement).props.className, triggerClassName),\n color: color ?? children.props.color,\n });\n }\n\n return <>{children}</>;\n});\nDialogTrigger.className = CLASSNAME;\nDialogTrigger.displayName = COMPONENT_NAME;\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useFloating, useDismiss, useRole, useInteractions } from '@floating-ui/react';\nimport { DialogProps, DialogSize } from './types';\n\nexport const sizeToDimension = (\n size: DialogSize | { width?: string; maxWidth?: string; minWidth?: string }\n): { width?: string; maxWidth?: string; minWidth?: string } => {\n if (typeof size !== 'string') {\n return size;\n }\n\n switch (size) {\n case DialogSize.small:\n return { width: '540px' };\n case DialogSize.large:\n return { width: '800px' };\n case DialogSize.xlarge:\n return { width: '80vw' };\n case DialogSize.medium:\n default:\n return { width: '700px' };\n }\n};\n\nexport function useDialog({\n color,\n defaultOpen,\n hasCloseButton,\n initialFocus,\n isOpen: propsIsOpen,\n onOpen,\n size,\n triggerClassName,\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] = React.useState<string | undefined>();\n\n const [isOpen, setIsOpen] = useState(propsIsOpen ?? defaultOpen);\n\n const { width, minWidth, maxWidth } = sizeToDimension(size!);\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 color,\n isOpen,\n handleOpen,\n ...interactions,\n ...data,\n labelId,\n descriptionId,\n setLabelId,\n setDescriptionId,\n hasCloseButton,\n initialFocus,\n width,\n minWidth,\n maxWidth,\n headerRef,\n bodyRef,\n actionsRef,\n triggerClassName,\n }),\n [\n color,\n isOpen,\n handleOpen,\n interactions,\n data,\n labelId,\n descriptionId,\n hasCloseButton,\n initialFocus,\n width,\n minWidth,\n maxWidth,\n headerRef,\n bodyRef,\n actionsRef,\n triggerClassName,\n ]\n );\n}\n","import React from 'react';\nimport { partitionComponents, isComponent, useTheme, ThemeProvider } 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';\n\n/**\n * The Dialog component.\n */\nexport const BaseDialog: React.FC<DialogProps> & {\n displayName?: string;\n className?: string;\n} = (props) => {\n const {\n color,\n children,\n defaultOpen,\n hasCloseButton = true,\n initialFocus,\n isOpen,\n onOpen,\n size = DialogSize.medium,\n theme: propsTheme,\n triggerClassName,\n } = props;\n\n const theme = useTheme(propsTheme);\n\n const dialog = useDialog({\n color,\n defaultOpen,\n hasCloseButton,\n initialFocus,\n isOpen,\n onOpen,\n size,\n triggerClassName,\n });\n\n const [[trigger], [content]] = partitionComponents(React.Children.toArray(children), [\n isComponent('DialogTrigger'),\n isComponent('DialogContent'),\n ]);\n\n return (\n <ThemeProvider value={{ theme }}>\n <DialogContext.Provider value={dialog}>\n {trigger && isComponent('DialogTrigger')(trigger) ? trigger : null}\n {content && isComponent('DialogContent')(content) ? content : null}\n </DialogContext.Provider>\n </ThemeProvider>\n );\n};\nBaseDialog.className = CLASSNAME;\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 { Dispatch, ReactNode, SetStateAction } from 'react';\nimport { ButtonColor, Theme, ValueOf } from '@redsift/design-system';\nimport { usePopover } from './usePopover';\n\n/**\n * Context props.\n */\nexport type HiddenPopoverState = {\n /** Whether the popover should be hidden or removed from the DOM. */\n hideInsteadOfClose?: boolean;\n /** Method to set the hideInsteadOfClose prop. */\n setHideInsteadOfClose?: Dispatch<SetStateAction<boolean>>;\n};\nexport type PopoverState =\n | (ReturnType<typeof usePopover> & {\n /** Class name to append to the trigger. */\n readonly triggerClassName?: string;\n } & HiddenPopoverState)\n | 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 /** Button color that will be forward to the trigger. */\n color?: ButtonColor;\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 /** Space between trigger and content (in pixels). */\n offset?: number;\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 /** Theme. */\n theme?: Theme;\n /** Class name to append to the trigger. */\n triggerClassName?: string;\n}\n\nexport type StyledPopoverProps = PopoverProps;\n","import styled, { css } from 'styled-components';\nimport { StyledPopoverContentProps } from './types';\nimport { Theme } from '@redsift/design-system';\n\n/**\n * Component style.\n */\nexport const StyledPopoverContent = styled.div<StyledPopoverContentProps>`\n ${({ display }) => (display ? `display: ${display};` : '')}\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\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 ${({ 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 ${({ 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 ${({ $theme }) => css`\n color: var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'});\n background-color: var(--redsift-color-neutral-${$theme === Theme.dark ? 'black' : 'white'});\n `}\n\n border-radius: 4px;\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2);\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 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 max-width: calc(100vw - 48px);\n overflow: auto;\n z-index: var(--redsift-layout-z-index-popover);\n\n &:focus-visible {\n outline: none;\n }\n`;\n","import React, { forwardRef, useContext } from 'react';\nimport classNames from 'classnames';\nimport { useMergeRefs, FloatingPortal, FloatingFocusManager } from '@floating-ui/react';\n\nimport { AppContainerContext, Comp, useTheme } 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';\n\n/**\n * The PopoverContent component.\n */\nexport const PopoverContent: Comp<PopoverContentProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, style, theme: propsTheme, ...forwardedProps } = props;\n const appContainerState = useContext(AppContainerContext);\n const {\n context: floatingContext,\n getFloatingProps,\n isModal,\n isOpen,\n refs,\n strategy,\n x,\n y,\n hideInsteadOfClose,\n } = usePopoverContext();\n const theme = useTheme(propsTheme);\n const popoverRef = useMergeRefs([refs.setFloating, ref]);\n\n const RenderedPopoverContent = (\n <StyledPopoverContent\n $theme={theme!}\n {...getFloatingProps(props)}\n style={{\n position: strategy,\n top: y ?? 0,\n left: x ?? 0,\n width: 'fit-content',\n display: hideInsteadOfClose && !isOpen ? 'none' : 'flex',\n ...style,\n }}\n className={classNames(PopoverContent.className, className)}\n {...forwardedProps}\n ref={popoverRef}\n >\n {children}\n </StyledPopoverContent>\n );\n\n return (\n <FloatingPortal root={appContainerState?.appContainerRef.current}>\n {isOpen || hideInsteadOfClose ? (\n <FloatingFocusManager context={floatingContext} modal={isModal}>\n {RenderedPopoverContent}\n </FloatingFocusManager>\n ) : null}\n </FloatingPortal>\n );\n});\nPopoverContent.className = CLASSNAME;\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';\nimport classNames from 'classnames';\n\nconst COMPONENT_NAME = 'PopoverTrigger';\nconst CLASSNAME = 'redsift-popover-trigger';\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, triggerClassName, color } = 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 isComponent('Checkbox')(children) ||\n isComponent('Switch')(children) ||\n isComponent('Radio')(children) ||\n isComponent('Item')(children)\n ) {\n return React.cloneElement(children as ReactElement, {\n ...getReferenceProps({\n ref: triggerRef,\n ...props,\n ...children.props,\n children: children.props.children ?? '',\n }),\n onClick: props.onClick ? props.onClick : () => handleOpen(!isOpen),\n isActive: isOpen,\n className: classNames((children as ReactElement).props.className, triggerClassName),\n color: color ?? children.props.color,\n });\n }\n\n return null;\n});\nPopoverTrigger.className = CLASSNAME;\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 { HiddenPopoverState, PopoverProps } from './types';\n\nexport function usePopover({\n color,\n defaultOpen,\n isModal,\n isOpen: propsIsOpen,\n maxWidth,\n minWidth,\n offset: propsOffset,\n onOpen,\n placement,\n role: propsRole,\n triggerClassName,\n width,\n setHideInsteadOfClose,\n hideInsteadOfClose,\n}: Omit<PopoverProps, 'children'> & HiddenPopoverState) {\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(propsOffset ?? 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 color,\n isOpen,\n handleOpen,\n ...interactions,\n ...data,\n isModal,\n triggerClassName,\n setHideInsteadOfClose,\n hideInsteadOfClose,\n }),\n [\n color,\n isOpen,\n handleOpen,\n interactions,\n data,\n isModal,\n triggerClassName,\n setHideInsteadOfClose,\n hideInsteadOfClose,\n ]\n );\n}\n","import React, { useState } from 'react';\nimport { partitionComponents, isComponent, useTheme, ThemeProvider } 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';\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 color,\n defaultOpen,\n isModal = false,\n isOpen,\n maxWidth,\n minWidth,\n offset,\n onOpen,\n overrideDisplayName,\n placement = PopoverPlacement.bottom,\n role = 'dialog',\n theme: propsTheme,\n triggerClassName,\n width,\n } = props;\n\n const theme = useTheme(propsTheme);\n const [hideInsteadOfClose, setHideInsteadOfClose] = useState(false);\n\n const popover = usePopover({\n color,\n defaultOpen,\n isModal,\n isOpen,\n maxWidth,\n minWidth,\n offset,\n onOpen,\n placement,\n role,\n triggerClassName,\n setHideInsteadOfClose,\n hideInsteadOfClose,\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 <ThemeProvider value={{ theme }}>\n <PopoverContext.Provider value={popover}>\n {trigger && isComponent(overrideDisplayName?.trigger ?? 'PopoverTrigger')(trigger) ? trigger : null}\n {content && isComponent(overrideDisplayName?.content ?? 'PopoverContent')(content) ? content : null}\n </PopoverContext.Provider>\n </ThemeProvider>\n );\n};\nBasePopover.className = CLASSNAME;\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, Theme } 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 extends Omit<ComponentProps<'div'>, 'id' | 'style'>, SpacingProps, SizingProps {\n /** Whether the component has a close button or not. */\n closeButton?: boolean | ReactNode;\n /** Title. */\n title?: string;\n /** Theme. */\n theme?: Theme;\n /** Variant */\n variant?: ToastVariant;\n}\n\nexport type StyledToastProps = Omit<ToastProps, 'variant' | 'id'> & {\n $hasTitle: boolean;\n $variant: ToastProps['variant'];\n $theme: Theme;\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 color: var(--redsift-color-neutral-x-dark-grey);\n\n padding: 16px;\n box-shadow: 0px 2px 4px -1px rgb(0 0 0 / 20%), 0px 4px 5px rgb(0 0 0 / 14%), 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-notifications-${$variant}-hover)`};\n\n .redsift-toast-header__icon-button {\n background-color: transparent;\n padding: 0px;\n .redsift-icon {\n color: var(--redsift-color-neutral-x-dark-grey);\n }\n\n &:hover,\n &:focus-visible {\n background-color: var(--redsift-color-notifications-${$variant}-active);\n\n .redsift-icon {\n color: var(--redsift-color-neutral-x-dark-grey);\n }\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 { useMessageFormatter } from '@redsift/design-system';\nimport intlMessages from './intl';\n\nimport { mdiAlert, mdiAlertCircle, mdiCheckCircle, mdiClose, mdiInformation } from '@redsift/icons';\nimport {\n NotificationsColorPalette,\n Comp,\n Icon,\n Flexbox,\n Spinner,\n Text,\n isComponent,\n ButtonColor,\n IconButton,\n RedsiftTypographyFontWeightSemiBold,\n useTheme,\n} from '@redsift/design-system';\nimport { StyledToast } from './styles';\nimport { ToastProps, ToastVariant } from './types';\n\nconst COMPONENT_NAME = 'Toast';\nconst CLASSNAME = 'redsift-toast';\n\nconst getVariant = (variant: ToastVariant) => {\n switch (variant) {\n case ToastVariant.info:\n default:\n return <Icon icon={mdiInformation} color={NotificationsColorPalette.info} />;\n case ToastVariant.error:\n return <Icon icon={mdiAlertCircle} color={NotificationsColorPalette.error} />;\n case ToastVariant.success:\n return <Icon icon={mdiCheckCircle} color={NotificationsColorPalette.success} />;\n case ToastVariant.warning:\n return <Icon icon={mdiAlert} color={NotificationsColorPalette.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 {\n children,\n className,\n closeButton = true,\n closeToast,\n theme: propsTheme,\n title,\n variant = 'info',\n ...forwardedProps\n } = props;\n\n const theme = useTheme(propsTheme);\n\n const format = useMessageFormatter(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 $theme={theme}\n >\n <Flexbox className={`${Toast.className}__header`} justifyContent=\"space-between\" alignItems=\"center\">\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 ? <Text fontWeight={RedsiftTypographyFontWeightSemiBold}>{title}</Text> : 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={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' ? 'info' : (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.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(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);\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), 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(ToastContainer)<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-notifications-info-primary);\n --toastify-color-success: var(--redsift-color-notifications-success-primary);\n --toastify-color-warning: var(--redsift-color-notifications-warning-primary);\n --toastify-color-error: var(--redsift-color-notifications-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-x-dark-grey);\n --toastify-spinner-color-empty-area: var(--redsift-color-neutral-light-grey);\n --toastify-color-progress-light: var(--redsift-color-neutral-x-dark-grey);\n --toastify-color-progress-dark: var(--redsift-color-neutral-x-light-grey);\n --toastify-color-progress-default: var(--redsift-color-primary-n);\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 box-shadow: 0px 2px 4px -1px rgb(0 0 0 / 20%), 0px 4px 5px rgb(0 0 0 / 14%), 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';\n\n/**\n * The ToastContainer component.\n */\nexport const ToastContainer: Comp<ToastContainerProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n autoClose = 5000,\n closeOnClick = false,\n draggable = true,\n pauseOnFocusLoss = true,\n pauseOnHover = true,\n placement = 'top-right',\n ...forwardedProps\n } = props;\n\n return (\n <ReactToastify>\n <StyledToastContainer\n autoClose={autoClose}\n closeOnClick={closeOnClick}\n draggable={draggable}\n pauseOnFocusLoss={pauseOnFocusLoss}\n pauseOnHover={pauseOnHover}\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.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 styled, { css } from 'styled-components';\nimport { Theme, 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 ${({ $theme }) => css`\n color: var(--redsift-color-neutral-${$theme === Theme.dark ? 'white' : 'x-dark-grey'});\n background-color: var(--redsift-color-neutral-${$theme === Theme.dark ? 'black' : 'white'});\n `}\n\n align-items: center;\n border-radius: 4px;\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2);\n display: flex;\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 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: ${({ $theme }) =>\n $theme === Theme.dark ? css`var(--redsift-color-neutral-black)` : css`var(--redsift-color-neutral-white)`};\n border-style: solid;\n }\n\n ${({ $placement }) => {\n switch ($placement) {\n case TooltipPlacement['right-start']:\n return css`\n border-bottom-left-radius: 0;\n `;\n case TooltipPlacement['right-end']:\n return css`\n border-top-left-radius: 0;\n `;\n case TooltipPlacement['left-start']:\n return css`\n border-bottom-right-radius: 0;\n `;\n case TooltipPlacement['left-end']:\n return css`\n border-top-right-radius: 0;\n `;\n default:\n return css``;\n }\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, useContext } from 'react';\nimport { useMergeRefs, FloatingPortal } from '@floating-ui/react';\n\nimport { AppContainerContext, Comp, useTheme } 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';\n\n/**\n * The TooltipContent component.\n */\nexport const TooltipContent: Comp<TooltipContentProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, style, theme: propsTheme } = props;\n const appContainerState = useContext(AppContainerContext);\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 theme = useTheme ? useTheme(propsTheme) : undefined;\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 root={appContainerState?.appContainerRef.current}>\n {isOpen && (\n <StyledTooltipContent\n className={classNames(TooltipContent.className, className)}\n ref={popoverRef}\n $theme={theme!}\n {...getFloatingProps(props)}\n style={{\n position: strategy,\n top: y ?? 0,\n left: x ?? 0,\n visibility: x == null ? 'hidden' : 'visible',\n ...style,\n }}\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`}>{children}</div>\n </StyledTooltipContent>\n )}\n </FloatingPortal>\n );\n});\nTooltipContent.className = CLASSNAME;\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';\nimport classNames from 'classnames';\n\nconst COMPONENT_NAME = 'TooltipTrigger';\nconst CLASSNAME = 'redsift-tooltip-trigger';\n\n/**\n * The TooltipTrigger component.\n */\nexport const TooltipTrigger: Comp<TooltipTriggerProps, HTMLSpanElement> = forwardRef((props, ref) => {\n const { children } = props;\n\n const { getReferenceProps, refs, tooltipId, triggerClassName, color } = 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 children: children.props.children ?? '',\n }),\n className: classNames((children as ReactElement).props.className, triggerClassName),\n color: color ?? children.props.color,\n });\n }\n\n return (\n <span ref={triggerRef} {...getReferenceProps(props)}>\n {children}\n </span>\n );\n});\nTooltipTrigger.className = CLASSNAME;\nTooltipTrigger.displayName = COMPONENT_NAME;\n","import React from 'react';\nimport { TooltipState } from './types';\n\nexport const TooltipContext = React.createContext<TooltipState | null>(null);\n","import { ReactNode } from 'react';\nimport { ButtonColor, Theme, ValueOf } from '@redsift/design-system';\nimport { useTooltip } from './useTooltip';\n\n/**\n * Context props.\n */\nexport type TooltipState =\n | (ReturnType<typeof useTooltip> & {\n /** Class name to append to the trigger. */\n readonly triggerClassName?: string;\n })\n | 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 /** Button color that will be forward to the trigger. */\n color?: ButtonColor;\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 | 'client-point';\n /**\n * Whether the component is opened or not.\n * Used for controlled version.\n */\n isOpen?: boolean;\n /** Space between trigger and content (in pixels). */\n offset?: number;\n /** Method to handle component change. */\n onOpen?: (open: boolean) => void;\n /** Id to the tooltip content. */\n tooltipId?: string;\n /** Theme. */\n theme?: Theme;\n /** Class name to append to the trigger. */\n triggerClassName?: string;\n}\n\nexport type StyledTooltipProps = TooltipProps;\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport {\n useFloating,\n arrow,\n autoUpdate,\n offset,\n flip,\n safePolygon,\n shift,\n useHover,\n useFocus,\n useDismiss,\n useRole,\n useInteractions,\n useClientPoint,\n} from '@floating-ui/react';\nimport { TooltipProps } from './types';\nimport { useId } from '@redsift/design-system';\n\nexport function useTooltip({\n color,\n defaultOpen,\n delay,\n placement,\n isOpen: propsIsOpen,\n offset: propsOffset,\n onOpen,\n tooltipId: propsTooltipId,\n triggerClassName,\n}: Omit<TooltipProps, 'children'>) {\n const arrowRef = useRef(null);\n const [isOpen, setIsOpen] = useState(propsIsOpen ?? defaultOpen);\n\n const [_id] = useId();\n const tooltipId = propsTooltipId ?? _id;\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: placement === 'client-point' ? 'left' : placement,\n open: isOpen,\n onOpenChange: handleOpen,\n whileElementsMounted: autoUpdate,\n middleware: [\n offset(propsOffset ?? 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 const clientPoint = useClientPoint(context, { enabled: placement === 'client-point' });\n\n const hover = useHover(context, {\n move: false,\n delay: {\n open: delay,\n close: 0,\n },\n handleClose: safePolygon(),\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, clientPoint]);\n\n return React.useMemo(\n () => ({\n color,\n isOpen,\n handleOpen,\n ...interactions,\n ...data,\n arrowRef,\n tooltipId,\n triggerClassName,\n }),\n [color, isOpen, handleOpen, interactions, data, arrowRef, tooltipId, triggerClassName]\n );\n}\n","import React from 'react';\nimport { Theme } from '../../types';\n\nexport const ThemeContext = React.createContext<{ theme?: Theme } | null>(null);\n\nexport const ThemeProvider = ThemeContext.Provider;\n","import React from 'react';\nimport { partitionComponents, isComponent, useTheme } 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\nimport { ThemeProvider } from '../../../../design-system/src/components/theme/context';\n\nconst COMPONENT_NAME = 'Tooltip';\nconst CLASSNAME = 'redsift-tooltip';\n\n/**\n * The Tooltip component.\n */\nexport const BaseTooltip: React.FC<TooltipProps> & {\n displayName?: string;\n className?: string;\n} = (props) => {\n const {\n children,\n color,\n defaultOpen,\n delay = 300,\n isOpen,\n offset,\n onOpen,\n placement = TooltipPlacement.top,\n theme: propsTheme,\n tooltipId,\n triggerClassName,\n } = props;\n\n const theme = useTheme ? useTheme(propsTheme) : undefined;\n\n const tooltip = useTooltip({\n color,\n defaultOpen,\n delay,\n placement,\n isOpen,\n offset,\n onOpen,\n tooltipId,\n theme,\n triggerClassName,\n });\n\n const [[trigger], [content]] = partitionComponents(React.Children.toArray(children), [\n isComponent('TooltipTrigger'),\n isComponent('TooltipContent'),\n ]);\n\n return (\n <ThemeProvider value={{ theme }}>\n <TooltipContext.Provider value={tooltip}>\n {trigger && isComponent('TooltipTrigger')(trigger) ? trigger : null}\n {content && isComponent('TooltipContent')(content) ? content : null}\n </TooltipContext.Provider>\n </ThemeProvider>\n );\n};\nBaseTooltip.className = CLASSNAME;\nBaseTooltip.displayName = COMPONENT_NAME;\n\nexport const Tooltip = Object.assign(BaseTooltip, {\n Trigger: TooltipTrigger,\n Content: TooltipContent,\n});\n","import { ButtonLinkProps, ButtonLink, Comp } from '@redsift/design-system';\nimport React, { forwardRef } from 'react';\nimport { Tooltip } from './Tooltip';\nimport { TooltipProps } from './types';\nimport { TooltipTriggerProps } from '../tooltip-trigger';\nimport { TooltipContentProps } from '../tooltip-content';\n\nexport const ButtonLinkWithTooltip: Comp<\n {\n tooltip: string;\n tooltipProps?: TooltipProps;\n tooltipTriggerProps?: Omit<TooltipTriggerProps, 'ref'>;\n tooltipContentProps?: Omit<TooltipContentProps, 'ref'>;\n } & Omit<ButtonLinkProps, 'ref'>,\n HTMLAnchorElement\n> = forwardRef(({ tooltip, tooltipProps, tooltipTriggerProps, tooltipContentProps, ...props }, ref) => (\n <Tooltip {...tooltipProps}>\n <Tooltip.Trigger {...tooltipTriggerProps}>\n <ButtonLink aria-label={tooltip} {...props} aria-describedby={undefined} ref={ref} />\n </Tooltip.Trigger>\n <Tooltip.Content {...tooltipContentProps}>{tooltip}</Tooltip.Content>\n </Tooltip>\n));\nButtonLinkWithTooltip.displayName = 'ButtonLink';\n","import { ButtonProps, Button, Comp } from '@redsift/design-system';\nimport React, { forwardRef } from 'react';\nimport { Tooltip } from './Tooltip';\nimport { TooltipProps } from './types';\nimport { TooltipTriggerProps } from '../tooltip-trigger';\nimport { TooltipContentProps } from '../tooltip-content';\n\nexport const ButtonWithTooltip: Comp<\n {\n tooltip: string;\n tooltipProps?: TooltipProps;\n tooltipTriggerProps?: Omit<TooltipTriggerProps, 'ref'>;\n tooltipContentProps?: Omit<TooltipContentProps, 'ref'>;\n } & Omit<ButtonProps, 'ref'>,\n HTMLButtonElement\n> = forwardRef(({ tooltip, tooltipProps, tooltipTriggerProps, tooltipContentProps, ...props }, ref) => (\n <Tooltip {...tooltipProps}>\n <Tooltip.Trigger {...tooltipTriggerProps}>\n <Button aria-label={tooltip} {...props} aria-describedby={undefined} ref={ref} />\n </Tooltip.Trigger>\n <Tooltip.Content {...tooltipContentProps}>{tooltip}</Tooltip.Content>\n </Tooltip>\n));\nButtonWithTooltip.displayName = 'Button';\n","import { IconButtonLinkProps, IconButtonLink, Comp } from '@redsift/design-system';\nimport React, { forwardRef } from 'react';\nimport { Tooltip } from './Tooltip';\nimport { TooltipProps } from './types';\nimport { TooltipTriggerProps } from '../tooltip-trigger';\nimport { TooltipContentProps } from '../tooltip-content';\n\nexport const IconButtonLinkWithTooltip: Comp<\n {\n tooltip: string;\n tooltipProps?: TooltipProps;\n tooltipTriggerProps?: Omit<TooltipTriggerProps, 'ref'>;\n tooltipContentProps?: Omit<TooltipContentProps, 'ref'>;\n } & Omit<IconButtonLinkProps, 'ref'>,\n HTMLAnchorElement\n> = forwardRef(({ tooltip, tooltipProps, tooltipTriggerProps, tooltipContentProps, ...props }, ref) => (\n <Tooltip {...tooltipProps}>\n <Tooltip.Trigger {...tooltipTriggerProps}>\n <IconButtonLink aria-label={tooltip} {...props} aria-describedby={undefined} ref={ref} />\n </Tooltip.Trigger>\n <Tooltip.Content {...tooltipContentProps}>{tooltip}</Tooltip.Content>\n </Tooltip>\n));\nIconButtonLinkWithTooltip.displayName = 'IconButtonLink';\n","import { IconButtonProps, IconButton, Comp } from '@redsift/design-system';\nimport React, { forwardRef } from 'react';\nimport { Tooltip } from './Tooltip';\nimport { TooltipProps } from './types';\nimport { TooltipTriggerProps } from '../tooltip-trigger';\nimport { TooltipContentProps } from '../tooltip-content';\n\nexport const IconButtonWithTooltip: Comp<\n {\n tooltip: string;\n tooltipProps?: TooltipProps;\n tooltipTriggerProps?: Omit<TooltipTriggerProps, 'ref'>;\n tooltipContentProps?: Omit<TooltipContentProps, 'ref'>;\n } & Omit<IconButtonProps, 'ref'>,\n HTMLButtonElement\n> = forwardRef(({ tooltip, tooltipProps, tooltipTriggerProps, tooltipContentProps, ...props }, ref) => (\n <Tooltip {...tooltipProps}>\n <Tooltip.Trigger {...tooltipTriggerProps}>\n <IconButton aria-label={tooltip} {...props} aria-describedby={undefined} ref={ref} />\n </Tooltip.Trigger>\n <Tooltip.Content {...tooltipContentProps}>{tooltip}</Tooltip.Content>\n </Tooltip>\n));\nIconButtonWithTooltip.displayName = 'IconButton';\n","import { LinkButtonProps, LinkButton, Comp } from '@redsift/design-system';\nimport React, { forwardRef } from 'react';\nimport { Tooltip } from './Tooltip';\nimport { TooltipProps } from './types';\nimport { TooltipTriggerProps } from '../tooltip-trigger';\nimport { TooltipContentProps } from '../tooltip-content';\n\nexport const LinkButtonWithTooltip: Comp<\n {\n tooltip: string;\n tooltipProps?: TooltipProps;\n tooltipTriggerProps?: Omit<TooltipTriggerProps, 'ref'>;\n tooltipContentProps?: Omit<TooltipContentProps, 'ref'>;\n } & Omit<LinkButtonProps, 'ref'>,\n HTMLButtonElement\n> = forwardRef(({ tooltip, tooltipProps, tooltipTriggerProps, tooltipContentProps, ...props }, ref) => (\n <Tooltip {...tooltipProps}>\n <Tooltip.Trigger {...tooltipTriggerProps}>\n <LinkButton aria-label={tooltip} {...props} aria-describedby={undefined} ref={ref} />\n </Tooltip.Trigger>\n <Tooltip.Content {...tooltipContentProps}>{tooltip}</Tooltip.Content>\n </Tooltip>\n));\nLinkButtonWithTooltip.displayName = 'LinkButton';\n","import { LinkProps, Link, Comp } from '@redsift/design-system';\nimport React, { forwardRef } from 'react';\nimport { Tooltip } from './Tooltip';\nimport { TooltipProps } from './types';\nimport { TooltipTriggerProps } from '../tooltip-trigger';\nimport { TooltipContentProps } from '../tooltip-content';\n\nexport const LinkWithTooltip: Comp<\n {\n tooltip: string;\n tooltipProps?: TooltipProps;\n tooltipTriggerProps?: Omit<TooltipTriggerProps, 'ref'>;\n tooltipContentProps?: Omit<TooltipContentProps, 'ref'>;\n } & Omit<LinkProps, 'ref'>,\n HTMLAnchorElement\n> = forwardRef(({ tooltip, tooltipProps, tooltipTriggerProps, tooltipContentProps, ...props }, ref) => (\n <Tooltip {...tooltipProps}>\n <Tooltip.Trigger {...tooltipTriggerProps}>\n <Link aria-label={tooltip} {...props} aria-describedby={undefined} ref={ref} />\n </Tooltip.Trigger>\n <Tooltip.Content {...tooltipContentProps}>{tooltip}</Tooltip.Content>\n </Tooltip>\n));\nLinkWithTooltip.displayName = 'Link';\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","import { ButtonLinkWithTooltip } from './ButtonLinkWithTooltip';\nimport { ButtonWithTooltip } from './ButtonWithTooltip';\nimport { IconButtonLinkWithTooltip } from './IconButtonLinkWithTooltip';\nimport { IconButtonWithTooltip } from './IconButtonWithTooltip';\nimport { LinkButtonWithTooltip } from './LinkButtonWithTooltip';\nimport { LinkWithTooltip } from './LinkWithTooltip';\n\nexport * from './context';\nexport * from './types';\nexport * from './Tooltip';\nexport * from './useTooltip';\nexport * from './useTooltipContext';\n\nexport * from './ButtonWithTooltip';\nexport * from './ButtonLinkWithTooltip';\nexport * from './IconButtonLinkWithTooltip';\nexport * from './IconButtonWithTooltip';\nexport * from './LinkWithTooltip';\nexport * from './LinkButtonWithTooltip';\n\nexport const WithTooltip = {\n Button: ButtonWithTooltip,\n ButtonLink: ButtonLinkWithTooltip,\n IconButton: IconButtonWithTooltip,\n IconButtonLink: IconButtonLinkWithTooltip,\n Link: LinkWithTooltip,\n LinkButton: LinkButtonWithTooltip,\n};\n"],"names":["DialogContext","React","createContext","DialogSize","small","medium","large","xlarge","enUS","frFR","StyledDialogContent","styled","div","baseContainer","_ref","$theme","css","Theme","dark","_ref2","$width","$maxWidth","$minWidth","undefined","StyledFloatingOverlay","FloatingOverlay","StyledDialogContentActions","COMPONENT_NAME","CLASSNAME","DialogContentActions","forwardRef","props","ref","children","className","flexDirection","forwardedProps","_objectWithoutProperties","_excluded","actionsRef","initialFocus","useDialogContext","createElement","_extends","classNames","useMergeRefs","tabIndex","displayName","StyledDialogContentBody","$marginTop","$marginBottom","DialogContentBody","bodyRef","hasCloseButton","headerRef","height","headerHeight","useBoundingClientRect","actionsHeight","Math","max","StyledDialogContentHeader","baseStyling","baseFlexbox","DialogContentHeader","header","headingProps","icon","iconProps","isLoading","subheader","theme","setLabelId","setDescriptionId","labelId","useId","descriptionId","useLayoutEffect","Skeleton","Text","variant","isLoaded","marginTop","marginBottom","Heading","as","color","Icon","size","id","BaseDialogContent","style","propsTheme","appContainerState","useContext","AppContainerContext","context","floatingContext","getFloatingProps","refs","handleOpen","propsInitialFocus","width","minWidth","maxWidth","useTheme","isMounted","styles","useTransitionStyles","dialogRef","setFloating","format","useMessageFormatter","intlMessages","body","actions","partitionComponents","Children","toArray","isComponent","FloatingPortal","root","appContainerRef","current","lockScroll","FloatingFocusManager","DialogContent","_objectSpread","Fragment","IconButton","mdiClose","onClick","Object","assign","Header","Body","Actions","DialogTrigger","getReferenceProps","isOpen","triggerClassName","childrenRef","triggerRef","setReference","_children$props$child","cloneElement","isActive","sizeToDimension","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","ThemeProvider","value","Provider","Dialog","Trigger","Content","Error","PopoverContext","PopoverPlacement","top","right","bottom","left","StyledPopoverContent","display","padding","paddingBottom","paddingLeft","paddingRight","paddingTop","_ref3","_ref4","maxHeight","minHeight","_ref5","position","zIndex","_ref6","alignContent","alignItems","gap","gridAutoColumns","gridAutoRows","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","justifyContent","justifyItems","_ref7","flexWrap","_ref8","PopoverContent","isModal","strategy","x","y","hideInsteadOfClose","usePopoverContext","popoverRef","RenderedPopoverContent","modal","PopoverTrigger","usePopover","offset","propsOffset","placement","propsRole","setHideInsteadOfClose","middleware","flip","fallbackAxisSideDirection","shift","push","apply","availableHeight","availableWidth","rects","elements","floating","reference","whileElementsMounted","autoUpdate","BasePopover","_overrideDisplayName$","_overrideDisplayName$2","_overrideDisplayName$3","_overrideDisplayName$4","overrideDisplayName","popover","Popover","ToastVariant","success","error","warning","info","loading","ToastPlacement","StyledToast","$hasTitle","$variant","getVariant","mdiInformation","NotificationsColorPalette","mdiAlertCircle","mdiCheckCircle","mdiAlert","Spinner","Toast","closeButton","closeToast","title","Boolean","Flexbox","fontWeight","RedsiftTypographyFontWeightSemiBold","_closeButton$props$on","_closeButton$props","call","ReactToastify","StyledToastContainer","ToastContainer","autoClose","closeOnClick","draggable","pauseOnFocusLoss","pauseOnHover","newestOnTop","includes","transition","Slide","notify","options","toast","type","update","_excluded2","render","promise","pending","arguments","length","_excluded3","useToast","clearWaitingQueue","done","StyledTooltipContent","$placement","TooltipPlacement","TooltipContent","middlewareData","arrow","arrowX","arrowY","useTooltipContext","arrowRef","staticSide","split","visibility","TooltipTrigger","tooltipId","isValidElement","TooltipContext","useTooltip","delay","propsTooltipId","_id","element","clientPoint","useClientPoint","enabled","hover","useHover","move","close","handleClose","safePolygon","focus","useFocus","ThemeContext","BaseTooltip","tooltip","Tooltip","ButtonLinkWithTooltip","tooltipProps","tooltipTriggerProps","tooltipContentProps","ButtonLink","ButtonWithTooltip","Button","IconButtonLinkWithTooltip","IconButtonLink","IconButtonWithTooltip","LinkButtonWithTooltip","LinkButton","LinkWithTooltip","Link","WithTooltip"],"mappings":"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IAAA,IAAAoJ,qBAAA,KAAzBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAAE,IAAA,CAAAD,kBAA4B,CAAC,CAAA;AAC7BP,MAAAA,UAAU,KAAVA,IAAAA,IAAAA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,EAAI,CAAA;AAChB,KAAA;AACF,GAAC,CAAC,GACA,IACG,CACE,CAAC,CAAA;AAElB,CAAC,EAAC;AACFF,KAAK,CAAC7O,SAAS,GAAGN,WAAS,CAAA;AAC3BmP,KAAK,CAAChO,WAAW,GAAGpB,gBAAc;;ACnG3B,MAAM+P,aAAa,GAAG/Q,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,CAAC,CAAA;;AAED;AACA;AACA;AACO,MAAM+Q,oBAAoB,GAAGhR,MAAM,CAACiR,gBAAc,CAA6B,CAAA;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;;ACrtBD,MAAMjQ,gBAAc,GAAG,gBAAgB,CAAA;AACvC,MAAMC,WAAS,GAAG,yBAAyB,CAAA;;AAE3C;AACA;AACA;AACO,MAAMgQ,cAAyD,gBAAG9P,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;EAClG,MAAM;AACJ6P,MAAAA,SAAS,GAAG,IAAI;AAChBC,MAAAA,YAAY,GAAG,KAAK;AACpBC,MAAAA,SAAS,GAAG,IAAI;AAChBC,MAAAA,gBAAgB,GAAG,IAAI;AACvBC,MAAAA,YAAY,GAAG,IAAI;AACnB5D,MAAAA,SAAS,GAAG,WAAA;AAEd,KAAC,GAAGtM,KAAK;AADJK,IAAAA,cAAc,GAAAC,wBAAA,CACfN,KAAK,EAAAO,WAAA,CAAA,CAAA;AAET,EAAA,oBACErC,KAAA,CAAAyC,aAAA,CAACgP,aAAa,EAAA,IAAA,eACZzR,KAAA,CAAAyC,aAAA,CAACiP,oBAAoB,EAAAhP,QAAA,CAAA;AACnBkP,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,YAAY,EAAEA,YAAAA;AAAa,GAAA,EACvB7P,cAAc,EAAA;IAClBF,SAAS,EAAE0P,cAAc,CAAC1P,SAAU;AACpC8O,IAAAA,WAAW,EAAE,KAAM;AACnB7M,IAAAA,IAAI,EAAE,KAAM;AACZ+N,IAAAA,WAAW,EAAE7D,SAAS,CAAE8D,QAAQ,CAAC,QAAQ,CAAE;AAC3C5F,IAAAA,QAAQ,EAAE8B,SAAU;AACpBrM,IAAAA,GAAG,EAAEA,GAAiC;AACtCuC,IAAAA,KAAK,EAAC,SAAS;AACf6N,IAAAA,UAAU,EAAEC,KAAAA;AAAM,GAAA,CACnB,CACY,CAAC,CAAA;AAEpB,CAAC,EAAC;AACFT,cAAc,CAAC1P,SAAS,GAAGN,WAAS,CAAA;AACpCgQ,cAAc,CAAC7O,WAAW,GAAGpB,gBAAc;;;;;ACzC3C,MAAM2Q,MAAoC,GAAGA,CAAAxR,IAAA,EAE3CiB,KAAK,KACF;EAAA,IAFH;MAAE8I,OAAO;MAAEmG,WAAW;MAAE3C,SAAS;MAAE6C,KAAK;AAAElM,MAAAA,OAAO,GAAG,MAAA;AAAmB,KAAC,GAAAlE,IAAA;AAATyR,IAAAA,OAAO,GAAAlQ,wBAAA,CAAAvB,IAAA,EAAAwB,WAAA,CAAA,CAAA;EAGtE,OAAOkQ,KAAK,eACVvS,KAAA,CAAAyC,aAAA,CAACqO,KAAK,EAAApO,QAAA,CAAA;AAACuO,IAAAA,KAAK,EAAEA,KAAM;AAAClM,IAAAA,OAAO,EAAEA,OAAQ;AAACgM,IAAAA,WAAW,EAAEA,WAAAA;AAAY,GAAA,EAAKjP,KAAK,CACvE8I,EAAAA,OACI,CAAC,EAAA9C,cAAA,CAAAA,cAAA,CAAA;AAEN0K,IAAAA,IAAI,EAAEzN,OAAO,KAAK,SAAS,GAAG,SAAS,GAAGA,OAAAA;AAAO,GAAA,EAC7CqJ,SAAS,IAAI;AAAE9B,IAAAA,QAAQ,EAAE8B,SAAAA;GAAW,CAAA,EACrCkE,OAAO,CAEd,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAMG,MAAoC,GAAGA,CAC3CjN,EAAE,EAAAtE,KAAA,EAEFY,KAAK,KACF;EAAA,IAFH;MAAE8I,OAAO;MAAEmG,WAAW;MAAE3C,SAAS;MAAE6C,KAAK;AAAElM,MAAAA,OAAO,GAAG,MAAA;AAAmB,KAAC,GAAA7D,KAAA;AAAToR,IAAAA,OAAO,GAAAlQ,wBAAA,CAAAlB,KAAA,EAAAwR,UAAA,CAAA,CAAA;AAGtEH,EAAAA,KAAK,CAACE,MAAM,CAACjN,EAAE,EAAAsC,cAAA,CAAAA,cAAA,CAAA;AACb6K,IAAAA,MAAM,EAAE1G,KAAA,IAAA;MAAA,IAAC;AAAE+E,QAAAA,UAAAA;AAAW,OAAC,GAAA/E,KAAA,CAAA;AAAA,MAAA,oBACrBjM,KAAA,CAAAyC,aAAA,CAACqO,KAAK,EAAApO,QAAA,CAAA;AACJuO,QAAAA,KAAK,EAAEA,KAAM;AACblM,QAAAA,OAAO,EAAEA,OAAQ;AACjBgM,QAAAA,WAAW,EAAEA,WAAY;AACzBC,QAAAA,UAAU,EAAEA,UAAAA;OACRlP,EAAAA,KAAK,CAER8I,EAAAA,OACI,CAAC,CAAA;KACT;AACD4H,IAAAA,IAAI,EAAEzN,OAAO,KAAK,SAAS,GAAG,SAAS,GAAGA,OAAAA;AAAO,GAAA,EAC7CqJ,SAAS,IAAI;AAAE9B,IAAAA,QAAQ,EAAE8B,SAAAA;GAAW,CAAA,EACrCkE,OAAO,CACX,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAMM,OAAsC,GAAG,UAC7CA,OAAO,EAAAvG,KAAA,EAIJ;EAAA,IAHH;IAAEwG,OAAO;IAAE/C,OAAO;AAAEC,IAAAA,KAAAA;AAAM,GAAC,GAAA1D,KAAA,CAAA;AAAA,EAAA,IAAAH,KAAA,GAAA4G,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAxR,SAAA,GAAAwR,SAAA,CAAA,CAAA,CAAA,GACc,EAAE,CAAA;EAAA,IAC3ChR,KAAK,GAAAgR,SAAA,CAAAC,MAAA,GAAAD,CAAAA,GAAAA,SAAA,MAAAxR,SAAA,CAAA;EAAA,IADL;MAAEyP,WAAW;AAAE3C,MAAAA,SAAAA;AAAsB,KAAC,GAAAlC,KAAA;AAAToG,IAAAA,OAAO,GAAAlQ,wBAAA,CAAA8J,KAAA,EAAA8G,UAAA,CAAA,CAAA;AAGpCT,EAAAA,KAAK,CAACK,OAAO,CAACA,OAAO,EAAE;IACrBC,OAAO,EAAA/K,cAAA,CAAAA,cAAA,CAAA;AACL6K,MAAAA,MAAM,EAAEnG,KAAA,IAAA;QAAA,IAAC;AAAEwE,UAAAA,UAAAA;AAAW,SAAC,GAAAxE,KAAA,CAAA;AAAA,QAAA,oBACrBxM,KAAA,CAAAyC,aAAA,CAACqO,KAAK,EAAApO,QAAA,CAAA;AACJqO,UAAAA,WAAW,EAAEA,WAAY;UACzBE,KAAK,EAAE4B,OAAO,CAAC5B,KAAM;AACrBlM,UAAAA,OAAO,EAAC,SAAS;AACjBiM,UAAAA,UAAU,EAAEA,UAAAA;AAAW,SAAA,EACnBlP,KAAK,CAAA,EAER+Q,OAAO,CAACjI,OACJ,CAAC,CAAA;OACT;AACD4H,MAAAA,IAAI,EAAE,SAAA;AAAS,KAAA,EACXpE,SAAS,IAAI;AAAE9B,MAAAA,QAAQ,EAAE8B,SAAAA;KAAW,CAAA,EACrCkE,OAAO,CACX;IACDxC,OAAO,EAAAhI,cAAA,CAAAA,cAAA,CAAA;AACL6K,MAAAA,MAAM,EAAExF,KAAA,IAAA;QAAA,IAAC;AAAE6D,UAAAA,UAAAA;AAAW,SAAC,GAAA7D,KAAA,CAAA;AAAA,QAAA,oBACrBnN,KAAA,CAAAyC,aAAA,CAACqO,KAAK,EAAApO,QAAA,CAAA;AACJqO,UAAAA,WAAW,EAAEA,WAAY;UACzBE,KAAK,EAAEnB,OAAO,CAACmB,KAAM;AACrBlM,UAAAA,OAAO,EAAC,SAAS;AACjBiM,UAAAA,UAAU,EAAEA,UAAAA;AAAW,SAAA,EACnBlP,KAAK,CAAA,EAERgO,OAAO,CAAClF,OACJ,CAAC,CAAA;OACT;AACD4H,MAAAA,IAAI,EAAE,SAAA;AAAS,KAAA,EACXpE,SAAS,IAAI;AAAE9B,MAAAA,QAAQ,EAAE8B,SAAAA;KAAW,CAAA,EACrCkE,OAAO,CACX;IACDvC,KAAK,EAAAjI,cAAA,CAAAA,cAAA,CAAA;AACH6K,MAAAA,MAAM,EAAEtF,KAAA,IAAA;QAAA,IAAC;AAAE2D,UAAAA,UAAAA;AAAW,SAAC,GAAA3D,KAAA,CAAA;AAAA,QAAA,oBACrBrN,KAAA,CAAAyC,aAAA,CAACqO,KAAK,EAAApO,QAAA,CAAA;AACJqO,UAAAA,WAAW,EAAEA,WAAY;UACzBE,KAAK,EAAElB,KAAK,CAACkB,KAAM;AACnBlM,UAAAA,OAAO,EAAC,OAAO;AACfiM,UAAAA,UAAU,EAAEA,UAAAA;AAAW,SAAA,EACnBlP,KAAK,CAAA,EAERiO,KAAK,CAACnF,OACF,CAAC,CAAA;OACT;AACD4H,MAAAA,IAAI,EAAE,OAAA;AAAO,KAAA,EACTpE,SAAS,IAAI;AAAE9B,MAAAA,QAAQ,EAAE8B,SAAAA;AAAU,KAAC,GACrCkE,OAAO,CAAA;AAEd,GAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAEYW,MAAAA,QAAuB,GAAGA,MAAM;EAC3C,OAAO;AACLZ,IAAAA,MAAM,EAAEA,MAAM;IACda,iBAAiB,EAAEX,KAAK,CAACW,iBAAiB;IAC1CjJ,OAAO,EAAEsI,KAAK,CAACtI,OAAO;IACtBkJ,IAAI,EAAEZ,KAAK,CAACY,IAAI;AAChBpD,IAAAA,KAAK,EAAEA,CAACuC,OAAO,EAAExQ,KAAK,KAAK;MACzB,OAAOuQ,MAAM,CAAAvK,cAAA,CAAA;AAAG/C,QAAAA,OAAO,EAAE,OAAA;OAAYuN,EAAAA,OAAO,CAAIxQ,EAAAA,KAAK,CAAC,CAAA;KACvD;AACDmO,IAAAA,IAAI,EAAEA,CAACqC,OAAO,EAAExQ,KAAK,KAAK;MACxB,OAAOuQ,MAAM,CAAAvK,cAAA,CAAA;AAAG/C,QAAAA,OAAO,EAAE,MAAA;OAAWuN,EAAAA,OAAO,CAAIxQ,EAAAA,KAAK,CAAC,CAAA;KACtD;IACDmH,QAAQ,EAAEsJ,KAAK,CAACtJ,QAAQ;AACxBiH,IAAAA,OAAO,EAAEA,CAACoC,OAAO,EAAExQ,KAAK,KAAK;MAC3B,OAAOuQ,MAAM,CAAAvK,cAAA,CAAA;AAAG/C,QAAAA,OAAO,EAAE,SAAA;OAAcuN,EAAAA,OAAO,CAAIxQ,EAAAA,KAAK,CAAC,CAAA;KACzD;AACD8Q,IAAAA,OAAO,EAAEA,OAAO;AAChB9C,IAAAA,OAAO,EAAEA,CAACwC,OAAO,EAAExQ,KAAK,KAAK;MAC3B,OAAOuQ,MAAM,CAAAvK,cAAA,CAAA;AAAG/C,QAAAA,OAAO,EAAE,SAAA;OAAcuN,EAAAA,OAAO,CAAIxQ,EAAAA,KAAK,CAAC,CAAA;KACzD;AACD2Q,IAAAA,MAAM,EAAEA,MAAM;AACdzC,IAAAA,OAAO,EAAEA,CAACsC,OAAO,EAAExQ,KAAK,KAAK;MAC3B,OAAOuQ,MAAM,CAAAvK,cAAA,CAAA;AAAG/C,QAAAA,OAAO,EAAE,SAAA;OAAcuN,EAAAA,OAAO,CAAIxQ,EAAAA,KAAK,CAAC,CAAA;AAC1D,KAAA;GACD,CAAA;AACH;;AC1HA;AACA;AACA;AACO,MAAMsR,oBAAoB,GAAG1S,MAAM,CAACC,GAA+B,CAAA;AAC1E,EAAA,EAAIC,aAAc,CAAA;AAClB,EAAA,EAAIC,IAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,MAAAA;AAAO,GAAC,GAAAD,IAAA,CAAA;AAAA,EAAA,OAAKE,GAAI,CAAA;AACxB,uCAAyCD,EAAAA,MAAM,KAAKE,KAAK,CAACC,IAAI,GAAG,OAAO,GAAG,aAAc,CAAA;AACzF,kDAAoDH,EAAAA,MAAM,KAAKE,KAAK,CAACC,IAAI,GAAG,OAAO,GAAG,OAAQ,CAAA;AAC9F,EAAG,CAAA,CAAA;AAAA,CAAC,CAAA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAA,EAAoBC,KAAA,IAAA;EAAA,IAAC;AAAEJ,IAAAA,MAAAA;AAAO,GAAC,GAAAI,KAAA,CAAA;EAAA,OACzBJ,MAAM,KAAKE,KAAK,CAACC,IAAI,GAAGF,GAAI,CAAA,kCAAA,CAAmC,GAAGA,GAAI,CAAmC,kCAAA,CAAA,CAAA;AAAA,CAAC,CAAA;AAChH;AACA;AACA;AACA,EAAA,EAAIkL,KAAA,IAAoB;EAAA,IAAnB;AAAEoH,IAAAA,UAAAA;AAAW,GAAC,GAAApH,KAAA,CAAA;AACf,EAAA,QAAQoH,UAAU;IAChB,KAAKC,gBAAgB,CAAC,aAAa,CAAC;AAClC,MAAA,OAAOvS,GAAI,CAAA;AACnB;AACA,QAAS,CAAA,CAAA;IACH,KAAKuS,gBAAgB,CAAC,WAAW,CAAC;AAChC,MAAA,OAAOvS,GAAI,CAAA;AACnB;AACA,QAAS,CAAA,CAAA;IACH,KAAKuS,gBAAgB,CAAC,YAAY,CAAC;AACjC,MAAA,OAAOvS,GAAI,CAAA;AACnB;AACA,QAAS,CAAA,CAAA;IACH,KAAKuS,gBAAgB,CAAC,UAAU,CAAC;AAC/B,MAAA,OAAOvS,GAAI,CAAA;AACnB;AACA,QAAS,CAAA,CAAA;AACH,IAAA;AACE,MAAA,OAAOA,GAAI,CAAC,CAAA,CAAA;AAChB,GAAA;AACF,CAAE,CAAA;AACJ;AACA,EAAA,EAAImL,KAAA,IAAoB;EAAA,IAAnB;AAAEmH,IAAAA,UAAAA;AAAW,GAAC,GAAAnH,KAAA,CAAA;AACf,EAAA,QAAQmH,UAAU;IAChB,KAAKC,gBAAgB,CAAC7H,IAAI,CAAA;IAC1B,KAAK6H,gBAAgB,CAAC,UAAU,CAAC,CAAA;IACjC,KAAKA,gBAAgB,CAAC,YAAY,CAAC;AACjC,MAAA,OAAOvS,GAAI,CAAA;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,QAAS,CAAA,CAAA;IACH,KAAKuS,gBAAgB,CAAChI,GAAG,CAAA;IACzB,KAAKgI,gBAAgB,CAAC,SAAS,CAAC,CAAA;IAChC,KAAKA,gBAAgB,CAAC,WAAW,CAAC;AAChC,MAAA,OAAOvS,GAAI,CAAA;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,QAAS,CAAA,CAAA;IACH,KAAKuS,gBAAgB,CAAC/H,KAAK,CAAA;IAC3B,KAAK+H,gBAAgB,CAAC,WAAW,CAAC,CAAA;IAClC,KAAKA,gBAAgB,CAAC,aAAa,CAAC;AAClC,MAAA,OAAOvS,GAAI,CAAA;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,QAAS,CAAA,CAAA;IACH,KAAKuS,gBAAgB,CAAC9H,MAAM,CAAA;IAC5B,KAAK8H,gBAAgB,CAAC,YAAY,CAAC,CAAA;IACnC,KAAKA,gBAAgB,CAAC,cAAc,CAAC,CAAA;AACrC,IAAA;AACE,MAAA,OAAOvS,GAAI,CAAA;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,QAAS,CAAA,CAAA;AACL,GAAA;AACF,CAAE,CAAA;AACJ,CAAC;;ACpGD,MAAMW,gBAAc,GAAG,gBAAgB,CAAA;AACvC,MAAMC,WAAS,GAAG,yBAAyB,CAAA;;AAE3C;AACA;AACA;AACO,MAAM4R,cAAyD,gBAAG1R,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;EAClG,MAAM;IAAEC,QAAQ;IAAEC,SAAS;IAAEyD,KAAK;AAAEpB,IAAAA,KAAK,EAAEqB,UAAAA;AAAW,GAAC,GAAG7D,KAAK,CAAA;AAC/D,EAAA,MAAM8D,iBAAiB,GAAGC,UAAU,CAACC,mBAAmB,CAAC,CAAA;EACzD,MAAM;IACJG,gBAAgB;IAChByC,MAAM;IACN0F,SAAS;IACTlI,IAAI;IACJsH,QAAQ;IACRC,CAAC;IACDC,CAAC;AACD8F,IAAAA,cAAc,EAAE;AAAEC,MAAAA,KAAK,EAAE;AAAEhG,QAAAA,CAAC,EAAEiG,MAAM;AAAEhG,QAAAA,CAAC,EAAEiG,MAAAA;AAAO,OAAC,GAAG,EAAC;AAAE,KAAA;GACxD,GAAGC,iBAAiB,EAAE,CAAA;EACvB,MAAMtP,KAAK,GAAGkC,QAAQ,GAAGA,QAAQ,CAACb,UAAU,CAAC,GAAGrE,SAAS,CAAA;EACzD,MAAMuM,UAAU,GAAGjL,YAAY,CAAC,CAACsD,IAAI,CAACW,WAAW,EAAE9E,GAAG,CAAC,CAAC,CAAA;EAExD,MAAM;AAAE8R,IAAAA,QAAAA;GAAU,GAAGD,iBAAiB,EAAE,CAAA;AAExC,EAAA,MAAME,UAAU,GAAG;AACjBxI,IAAAA,GAAG,EAAE,QAAQ;AACbC,IAAAA,KAAK,EAAE,MAAM;AACbC,IAAAA,MAAM,EAAE,KAAK;AACbC,IAAAA,IAAI,EAAE,OAAA;GACP,CAAC2C,SAAS,CAAC2F,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAE1B,EAAA,oBACE/T,KAAA,CAAAyC,aAAA,CAAC8E,cAAc,EAAA;IAACC,IAAI,EAAE5B,iBAAiB,KAAjBA,IAAAA,IAAAA,iBAAiB,uBAAjBA,iBAAiB,CAAE6B,eAAe,CAACC,OAAAA;GACtDgB,EAAAA,MAAM,iBACL1I,KAAA,CAAAyC,aAAA,CAAC2Q,oBAAoB,EAAA1Q,QAAA,CAAA;IACnBT,SAAS,EAAEU,UAAU,CAAC4Q,cAAc,CAACtR,SAAS,EAAEA,SAAS,CAAE;AAC3DF,IAAAA,GAAG,EAAE8L,UAAW;AAChB/M,IAAAA,MAAM,EAAEwD,KAAAA;GACJ2B,EAAAA,gBAAgB,CAACnE,KAAK,CAAC,EAAA;AAC3B4D,IAAAA,KAAK,EAAAoC,cAAA,CAAA;AACHwE,MAAAA,QAAQ,EAAEkB,QAAQ;AAClBlC,MAAAA,GAAG,EAAEoC,CAAC,KAAA,IAAA,IAADA,CAAC,KAADA,KAAAA,CAAAA,GAAAA,CAAC,GAAI,CAAC;AACXjC,MAAAA,IAAI,EAAEgC,CAAC,KAAA,IAAA,IAADA,CAAC,KAADA,KAAAA,CAAAA,GAAAA,CAAC,GAAI,CAAC;AACZuG,MAAAA,UAAU,EAAEvG,CAAC,IAAI,IAAI,GAAG,QAAQ,GAAG,SAAA;AAAS,KAAA,EACzC/H,KAAK,CACR;AACF2N,IAAAA,UAAU,EAAEjF,SAAAA;GAEZpO,CAAAA,eAAAA,KAAA,CAAAyC,aAAA,CAAA,KAAA,EAAA;AACEV,IAAAA,GAAG,EAAE8R,QAAS;AACd5R,IAAAA,SAAS,EAAG,CAAA,EAAEsR,cAAc,CAACtR,SAAU,CAAS,OAAA,CAAA;AAChDyD,IAAAA,KAAK,EAAE;MACL+F,IAAI,EAAEiI,MAAM,IAAI,IAAI,GAAI,CAAEA,EAAAA,MAAO,CAAG,EAAA,CAAA,GAAG,EAAE;MACzCpI,GAAG,EAAEqI,MAAM,IAAI,IAAI,GAAI,CAAEA,EAAAA,MAAO,CAAG,EAAA,CAAA,GAAG,EAAE;AACxC,MAAA,CAACG,UAAU,GAAI,MAAA;AACjB,KAAA;AAAE,GACH,CAAC,eACF9T,KAAA,CAAAyC,aAAA,CAAA,KAAA,EAAA;AAAKR,IAAAA,SAAS,EAAG,CAAA,EAAEsR,cAAc,CAACtR,SAAU,CAAA,OAAA,CAAA;GAAWD,EAAAA,QAAc,CACjD,CAEV,CAAC,CAAA;AAErB,CAAC,EAAC;AACFuR,cAAc,CAACtR,SAAS,GAAGN,WAAS,CAAA;AACpC4R,cAAc,CAACzQ,WAAW,GAAGpB,gBAAc;;ACjE3C,MAAMA,gBAAc,GAAG,gBAAgB,CAAA;AACvC,MAAMC,WAAS,GAAG,yBAAyB,CAAA;;AAE3C;AACA;AACA;AACO,MAAMsS,cAA0D,gBAAGpS,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACnG,MAAM;AAAEC,IAAAA,QAAAA;AAAS,GAAC,GAAGF,KAAK,CAAA;EAE1B,MAAM;IAAE2G,iBAAiB;IAAEvC,IAAI;IAAEgO,SAAS;IAAEvL,gBAAgB;AAAEtD,IAAAA,KAAAA;GAAO,GAAGuO,iBAAiB,EAAE,CAAA;AAC3F,EAAA,MAAMhL,WAAW,GAAI5G,QAAQ,CAASD,GAAG,CAAA;AACzC,EAAA,MAAM8G,UAAU,GAAGjG,YAAY,CAAC,CAACsD,IAAI,CAAC4C,YAAY,EAAE/G,GAAG,EAAE6G,WAAW,CAAC,CAAC,CAAA;AAEtE,EAAA,kBAAI5I,KAAK,CAACmU,cAAc,CAACnS,QAAQ,CAAC,EAAE;AAAA,IAAA,IAAA+G,qBAAA,CAAA;AAClC,IAAA,oBAAO/I,KAAK,CAACgJ,YAAY,CAAChH,QAAQ,EAAA8F,cAAA,CAAAA,cAAA,CAAA,EAAA,EAC7BW,iBAAiB,CAAAX,cAAA,CAAAA,cAAA,CAAAA,cAAA,CAAA;AAClB/F,MAAAA,GAAG,EAAE8G,UAAAA;AAAU,KAAA,EACZ/G,KAAK,CAAA,EAAA,EAAA,EAAA;AACR,MAAA,kBAAkB,EAAEoS,SAAAA;KACjBlS,EAAAA,QAAQ,CAACF,KAAK,CAAA,EAAA,EAAA,EAAA;AACjBE,MAAAA,QAAQ,EAAA+G,CAAAA,qBAAA,GAAE/G,QAAQ,CAACF,KAAK,CAACE,QAAQ,MAAA+G,IAAAA,IAAAA,qBAAA,KAAAA,KAAAA,CAAAA,GAAAA,qBAAA,GAAI,EAAA;AAAE,KAAA,CACxC,CAAC,CAAA,EAAA,EAAA,EAAA;MACF9G,SAAS,EAAEU,UAAU,CAAEX,QAAQ,CAAkBF,KAAK,CAACG,SAAS,EAAE0G,gBAAgB,CAAC;MACnFtD,KAAK,EAAEA,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAALA,KAAK,GAAIrD,QAAQ,CAACF,KAAK,CAACuD,KAAAA;AAAK,KAAA,CACrC,CAAC,CAAA;AACJ,GAAA;AAEA,EAAA,oBACErF,KAAA,CAAAyC,aAAA,CAAA,MAAA,EAAAC,QAAA,CAAA;AAAMX,IAAAA,GAAG,EAAE8G,UAAAA;AAAW,GAAA,EAAKJ,iBAAiB,CAAC3G,KAAK,CAAC,CAAA,EAChDE,QACG,CAAC,CAAA;AAEX,CAAC,EAAC;AACFiS,cAAc,CAAChS,SAAS,GAAGN,WAAS,CAAA;AACpCsS,cAAc,CAACnR,WAAW,GAAGpB,gBAAc;;ACvCpC,MAAM0S,cAAc,gBAAGpU,KAAK,CAACC,aAAa,CAAsB,IAAI;;ACC3E;AACA;AACA;;AAQA;AACA;AACA;AACO,MAAMqT,gBAAgB,GAAG;AAC9BhI,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,IAAI,EAAE,MAAM;AACZ,EAAA,WAAW,EAAE,WAAW;AACxB,EAAA,SAAS,EAAE,SAAS;AACpB,EAAA,aAAa,EAAE,aAAa;AAC5B,EAAA,WAAW,EAAE,WAAW;AACxB,EAAA,cAAc,EAAE,cAAc;AAC9B,EAAA,YAAY,EAAE,YAAY;AAC1B,EAAA,YAAY,EAAE,YAAY;AAC1B,EAAA,UAAU,EAAE,UAAA;AACd,EAAU;;AAGV;AACA;AACA;;AChBO,SAAS4I,UAAUA,CAAAxT,IAAA,EAUS;EAAA,IAVR;IACzBwE,KAAK;IACL+D,WAAW;IACXkL,KAAK;IACLlG,SAAS;AACT1F,IAAAA,MAAM,EAAEW,WAAW;AACnB6E,IAAAA,MAAM,EAAEC,WAAW;IACnB7E,MAAM;AACN4K,IAAAA,SAAS,EAAEK,cAAc;AACzB5L,IAAAA,gBAAAA;AAC8B,GAAC,GAAA9H,IAAA,CAAA;AAC/B,EAAA,MAAMgT,QAAQ,GAAGtK,MAAM,CAAC,IAAI,CAAC,CAAA;AAC7B,EAAA,MAAM,CAACb,MAAM,EAAEe,SAAS,CAAC,GAAGD,QAAQ,CAACH,WAAW,aAAXA,WAAW,KAAA,KAAA,CAAA,GAAXA,WAAW,GAAID,WAAW,CAAC,CAAA;AAEhE,EAAA,MAAM,CAACoL,GAAG,CAAC,GAAG9P,KAAK,EAAE,CAAA;EACrB,MAAMwP,SAAS,GAAGK,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAdA,KAAAA,CAAAA,GAAAA,cAAc,GAAIC,GAAG,CAAA;AAEvC9K,EAAAA,SAAS,CAAC,MAAM;IACdD,SAAS,CAACJ,WAAW,KAAXA,IAAAA,IAAAA,WAAW,cAAXA,WAAW,GAAID,WAAW,CAAC,CAAA;AACvC,GAAC,EAAE,CAACC,WAAW,EAAED,WAAW,CAAC,CAAC,CAAA;AAE9B,EAAA,MAAMjD,UAAU,GAAGwD,WAAW,CAC3BC,SAAkB,IAAK;AACtB,IAAA,IAAIN,MAAM,EAAE;MACVA,MAAM,CAACM,SAAS,CAAC,CAAA;AACnB,KAAA;AACA,IAAA,IAAIP,WAAW,KAAK/H,SAAS,IAAI+H,WAAW,KAAK,IAAI,EAAE;MACrDI,SAAS,CAACG,SAAS,CAAC,CAAA;AACtB,KAAA;AACF,GAAC,EACD,CAACN,MAAM,CACT,CAAC,CAAA;EAED,MAAMO,IAAI,GAAGC,WAAW,CAAC;AACvBsE,IAAAA,SAAS,EAAEA,SAAS,KAAK,cAAc,GAAG,MAAM,GAAGA,SAAS;AAC5DrE,IAAAA,IAAI,EAAErB,MAAM;AACZsB,IAAAA,YAAY,EAAE7D,UAAU;AACxBgJ,IAAAA,oBAAoB,EAAEC,UAAU;AAChCb,IAAAA,UAAU,EAAE,CACVL,MAAM,CAACC,WAAW,KAAXA,IAAAA,IAAAA,WAAW,KAAXA,KAAAA,CAAAA,GAAAA,WAAW,GAAI,CAAC,CAAC,EACxBK,IAAI,CAAC;AACHC,MAAAA,yBAAyB,EAAE,OAAA;KAC5B,CAAC,EACFC,KAAK,CAAC;AAAE9C,MAAAA,OAAO,EAAE,CAAA;KAAG,CAAC,EACrB6H,KAAK,CAAC;AACJgB,MAAAA,OAAO,EAAEZ,QAAAA;AACX,KAAC,CAAC,CAAA;AAEN,GAAC,CAAC,CAAA;AAEF,EAAA,MAAM9N,OAAO,GAAG8D,IAAI,CAAC9D,OAAO,CAAA;AAC5B,EAAA,MAAM2O,WAAW,GAAGC,cAAc,CAAC5O,OAAO,EAAE;IAAE6O,OAAO,EAAExG,SAAS,KAAK,cAAA;AAAe,GAAC,CAAC,CAAA;AAEtF,EAAA,MAAMyG,KAAK,GAAGC,QAAQ,CAAC/O,OAAO,EAAE;AAC9BgP,IAAAA,IAAI,EAAE,KAAK;AACXT,IAAAA,KAAK,EAAE;AACLvK,MAAAA,IAAI,EAAEuK,KAAK;AACXU,MAAAA,KAAK,EAAE,CAAA;KACR;IACDC,WAAW,EAAEC,WAAW,EAAC;AAC3B,GAAC,CAAC,CAAA;AACF,EAAA,MAAMC,KAAK,GAAGC,QAAQ,CAACrP,OAAO,CAAC,CAAA;AAC/B,EAAA,MAAMkE,OAAO,GAAGC,UAAU,CAACnE,OAAO,CAAC,CAAA;AACnC,EAAA,MAAMqE,IAAI,GAAGC,OAAO,CAACtE,OAAO,EAAE;AAAEqE,IAAAA,IAAI,EAAE,SAAA;AAAU,GAAC,CAAC,CAAA;AAElD,EAAA,MAAME,YAAY,GAAGC,eAAe,CAAC,CAACsK,KAAK,EAAEM,KAAK,EAAElL,OAAO,EAAEG,IAAI,EAAEsK,WAAW,CAAC,CAAC,CAAA;EAEhF,OAAO1U,KAAK,CAACwK,OAAO,CAClB,MAAA1C,cAAA,CAAAA,cAAA,CAAAA,cAAA,CAAA;IACEzC,KAAK;IACLqD,MAAM;AACNvC,IAAAA,UAAAA;GACGmE,EAAAA,YAAY,GACZT,IAAI,CAAA,EAAA,EAAA,EAAA;IACPgK,QAAQ;IACRK,SAAS;AACTvL,IAAAA,gBAAAA;AAAgB,GAAA,CAChB,EACF,CAACtD,KAAK,EAAEqD,MAAM,EAAEvC,UAAU,EAAEmE,YAAY,EAAET,IAAI,EAAEgK,QAAQ,EAAEK,SAAS,EAAEvL,gBAAgB,CACvF,CAAC,CAAA;AACH;;AChGO,MAAM0M,YAAY,gBAAGrV,KAAK,CAACC,aAAa,CAA2B,IAAI,CAAC,CAAA;AAExE,MAAM4K,aAAa,GAAGwK,YAAY,CAACtK,QAAQ;;ACMlD,MAAMrJ,cAAc,GAAG,SAAS,CAAA;AAChC,MAAMC,SAAS,GAAG,iBAAiB,CAAA;;AAEnC;AACA;AACA;AACa2T,MAAAA,WAGZ,GAAIxT,KAAK,IAAK;EACb,MAAM;IACJE,QAAQ;IACRqD,KAAK;IACL+D,WAAW;AACXkL,IAAAA,KAAK,GAAG,GAAG;IACX5L,MAAM;IACNwF,MAAM;IACN5E,MAAM;IACN8E,SAAS,GAAGkF,gBAAgB,CAAChI,GAAG;AAChChH,IAAAA,KAAK,EAAEqB,UAAU;IACjBuO,SAAS;AACTvL,IAAAA,gBAAAA;AACF,GAAC,GAAG7G,KAAK,CAAA;EAET,MAAMwC,KAAK,GAAGkC,QAAQ,GAAGA,QAAQ,CAACb,UAAU,CAAC,GAAGrE,SAAS,CAAA;EAEzD,MAAMiU,OAAO,GAAGlB,UAAU,CAAC;IACzBhP,KAAK;IACL+D,WAAW;IACXkL,KAAK;IACLlG,SAAS;IACT1F,MAAM;IACNwF,MAAM;IACN5E,MAAM;IACN4K,SAAS;IACT5P,KAAK;AACLqE,IAAAA,gBAAAA;AACF,GAAC,CAAC,CAAA;AAEF,EAAA,MAAM,CAAC,CAACgC,OAAO,CAAC,EAAE,CAACC,OAAO,CAAC,CAAC,GAAGzD,mBAAmB,CAACnH,KAAK,CAACoH,QAAQ,CAACC,OAAO,CAACrF,QAAQ,CAAC,EAAE,CACnFsF,WAAW,CAAC,gBAAgB,CAAC,EAC7BA,WAAW,CAAC,gBAAgB,CAAC,CAC9B,CAAC,CAAA;AAEF,EAAA,oBACEtH,KAAA,CAAAyC,aAAA,CAACoI,aAAa,EAAA;AAACC,IAAAA,KAAK,EAAE;AAAExG,MAAAA,KAAAA;AAAM,KAAA;AAAE,GAAA,eAC9BtE,KAAA,CAAAyC,aAAA,CAAC2R,cAAc,CAACrJ,QAAQ,EAAA;AAACD,IAAAA,KAAK,EAAEyK,OAAAA;AAAQ,GAAA,EACrC5K,OAAO,IAAIrD,WAAW,CAAC,gBAAgB,CAAC,CAACqD,OAAO,CAAC,GAAGA,OAAO,GAAG,IAAI,EAClEC,OAAO,IAAItD,WAAW,CAAC,gBAAgB,CAAC,CAACsD,OAAO,CAAC,GAAGA,OAAO,GAAG,IACxC,CACZ,CAAC,CAAA;AAEpB,EAAC;AACD0K,WAAW,CAACrT,SAAS,GAAGN,SAAS,CAAA;AACjC2T,WAAW,CAACxS,WAAW,GAAGpB,cAAc,CAAA;AAEjC,MAAM8T,OAAO,GAAGrN,MAAM,CAACC,MAAM,CAACkN,WAAW,EAAE;AAChDrK,EAAAA,OAAO,EAAEgJ,cAAc;AACvB/I,EAAAA,OAAO,EAAEqI,cAAAA;AACX,CAAC;;;AC/DM,MAAMkC,qBAQZ,gBAAG5T,UAAU,CAAC,CAAAhB,IAAA,EAAgFkB,GAAG,KAAA;EAAA,IAAlF;MAAEwT,OAAO;MAAEG,YAAY;MAAEC,mBAAmB;AAAEC,MAAAA,mBAAAA;AAA8B,KAAC,GAAA/U,IAAA;AAAPiB,IAAAA,KAAK,GAAAM,wBAAA,CAAAvB,IAAA,EAAAwB,WAAA,CAAA,CAAA;EAAA,oBACzFrC,KAAA,CAAAyC,aAAA,CAAC+S,OAAO,EAAKE,YAAY,eACvB1V,KAAA,CAAAyC,aAAA,CAAC+S,OAAO,CAACvK,OAAO,EAAK0K,mBAAmB,eACtC3V,KAAA,CAAAyC,aAAA,CAACoT,UAAU,EAAAnT,QAAA,CAAA;IAAC,YAAY6S,EAAAA,OAAAA;AAAQ,GAAA,EAAKzT,KAAK,EAAA;AAAE,IAAA,kBAAA,EAAkBR,SAAU;AAACS,IAAAA,GAAG,EAAEA,GAAAA;AAAI,GAAA,CAAE,CACrE,CAAC,eAClB/B,KAAA,CAAAyC,aAAA,CAAC+S,OAAO,CAACtK,OAAO,EAAK0K,mBAAmB,EAAGL,OAAyB,CAC7D,CAAC,CAAA;AAAA,CACX,EAAC;AACFE,qBAAqB,CAAC3S,WAAW,GAAG,YAAY;;;AChBzC,MAAMgT,iBAQZ,gBAAGjU,UAAU,CAAC,CAAAhB,IAAA,EAAgFkB,GAAG,KAAA;EAAA,IAAlF;MAAEwT,OAAO;MAAEG,YAAY;MAAEC,mBAAmB;AAAEC,MAAAA,mBAAAA;AAA8B,KAAC,GAAA/U,IAAA;AAAPiB,IAAAA,KAAK,GAAAM,wBAAA,CAAAvB,IAAA,EAAAwB,WAAA,CAAA,CAAA;EAAA,oBACzFrC,KAAA,CAAAyC,aAAA,CAAC+S,OAAO,EAAKE,YAAY,eACvB1V,KAAA,CAAAyC,aAAA,CAAC+S,OAAO,CAACvK,OAAO,EAAK0K,mBAAmB,eACtC3V,KAAA,CAAAyC,aAAA,CAACsT,MAAM,EAAArT,QAAA,CAAA;IAAC,YAAY6S,EAAAA,OAAAA;AAAQ,GAAA,EAAKzT,KAAK,EAAA;AAAE,IAAA,kBAAA,EAAkBR,SAAU;AAACS,IAAAA,GAAG,EAAEA,GAAAA;AAAI,GAAA,CAAE,CACjE,CAAC,eAClB/B,KAAA,CAAAyC,aAAA,CAAC+S,OAAO,CAACtK,OAAO,EAAK0K,mBAAmB,EAAGL,OAAyB,CAC7D,CAAC,CAAA;AAAA,CACX,EAAC;AACFO,iBAAiB,CAAChT,WAAW,GAAG,QAAQ;;;AChBjC,MAAMkT,yBAQZ,gBAAGnU,UAAU,CAAC,CAAAhB,IAAA,EAAgFkB,GAAG,KAAA;EAAA,IAAlF;MAAEwT,OAAO;MAAEG,YAAY;MAAEC,mBAAmB;AAAEC,MAAAA,mBAAAA;AAA8B,KAAC,GAAA/U,IAAA;AAAPiB,IAAAA,KAAK,GAAAM,wBAAA,CAAAvB,IAAA,EAAAwB,WAAA,CAAA,CAAA;EAAA,oBACzFrC,KAAA,CAAAyC,aAAA,CAAC+S,OAAO,EAAKE,YAAY,eACvB1V,KAAA,CAAAyC,aAAA,CAAC+S,OAAO,CAACvK,OAAO,EAAK0K,mBAAmB,eACtC3V,KAAA,CAAAyC,aAAA,CAACwT,cAAc,EAAAvT,QAAA,CAAA;IAAC,YAAY6S,EAAAA,OAAAA;AAAQ,GAAA,EAAKzT,KAAK,EAAA;AAAE,IAAA,kBAAA,EAAkBR,SAAU;AAACS,IAAAA,GAAG,EAAEA,GAAAA;AAAI,GAAA,CAAE,CACzE,CAAC,eAClB/B,KAAA,CAAAyC,aAAA,CAAC+S,OAAO,CAACtK,OAAO,EAAK0K,mBAAmB,EAAGL,OAAyB,CAC7D,CAAC,CAAA;AAAA,CACX,EAAC;AACFS,yBAAyB,CAAClT,WAAW,GAAG,gBAAgB;;;AChBjD,MAAMoT,qBAQZ,gBAAGrU,UAAU,CAAC,CAAAhB,IAAA,EAAgFkB,GAAG,KAAA;EAAA,IAAlF;MAAEwT,OAAO;MAAEG,YAAY;MAAEC,mBAAmB;AAAEC,MAAAA,mBAAAA;AAA8B,KAAC,GAAA/U,IAAA;AAAPiB,IAAAA,KAAK,GAAAM,wBAAA,CAAAvB,IAAA,EAAAwB,WAAA,CAAA,CAAA;EAAA,oBACzFrC,KAAA,CAAAyC,aAAA,CAAC+S,OAAO,EAAKE,YAAY,eACvB1V,KAAA,CAAAyC,aAAA,CAAC+S,OAAO,CAACvK,OAAO,EAAK0K,mBAAmB,eACtC3V,KAAA,CAAAyC,aAAA,CAACuF,UAAU,EAAAtF,QAAA,CAAA;IAAC,YAAY6S,EAAAA,OAAAA;AAAQ,GAAA,EAAKzT,KAAK,EAAA;AAAE,IAAA,kBAAA,EAAkBR,SAAU;AAACS,IAAAA,GAAG,EAAEA,GAAAA;AAAI,GAAA,CAAE,CACrE,CAAC,eAClB/B,KAAA,CAAAyC,aAAA,CAAC+S,OAAO,CAACtK,OAAO,EAAK0K,mBAAmB,EAAGL,OAAyB,CAC7D,CAAC,CAAA;AAAA,CACX,EAAC;AACFW,qBAAqB,CAACpT,WAAW,GAAG,YAAY;;;AChBzC,MAAMqT,qBAQZ,gBAAGtU,UAAU,CAAC,CAAAhB,IAAA,EAAgFkB,GAAG,KAAA;EAAA,IAAlF;MAAEwT,OAAO;MAAEG,YAAY;MAAEC,mBAAmB;AAAEC,MAAAA,mBAAAA;AAA8B,KAAC,GAAA/U,IAAA;AAAPiB,IAAAA,KAAK,GAAAM,wBAAA,CAAAvB,IAAA,EAAAwB,WAAA,CAAA,CAAA;EAAA,oBACzFrC,KAAA,CAAAyC,aAAA,CAAC+S,OAAO,EAAKE,YAAY,eACvB1V,KAAA,CAAAyC,aAAA,CAAC+S,OAAO,CAACvK,OAAO,EAAK0K,mBAAmB,eACtC3V,KAAA,CAAAyC,aAAA,CAAC2T,UAAU,EAAA1T,QAAA,CAAA;IAAC,YAAY6S,EAAAA,OAAAA;AAAQ,GAAA,EAAKzT,KAAK,EAAA;AAAE,IAAA,kBAAA,EAAkBR,SAAU;AAACS,IAAAA,GAAG,EAAEA,GAAAA;AAAI,GAAA,CAAE,CACrE,CAAC,eAClB/B,KAAA,CAAAyC,aAAA,CAAC+S,OAAO,CAACtK,OAAO,EAAK0K,mBAAmB,EAAGL,OAAyB,CAC7D,CAAC,CAAA;AAAA,CACX,EAAC;AACFY,qBAAqB,CAACrT,WAAW,GAAG,YAAY;;;AChBzC,MAAMuT,eAQZ,gBAAGxU,UAAU,CAAC,CAAAhB,IAAA,EAAgFkB,GAAG,KAAA;EAAA,IAAlF;MAAEwT,OAAO;MAAEG,YAAY;MAAEC,mBAAmB;AAAEC,MAAAA,mBAAAA;AAA8B,KAAC,GAAA/U,IAAA;AAAPiB,IAAAA,KAAK,GAAAM,wBAAA,CAAAvB,IAAA,EAAAwB,SAAA,CAAA,CAAA;EAAA,oBACzFrC,KAAA,CAAAyC,aAAA,CAAC+S,OAAO,EAAKE,YAAY,eACvB1V,KAAA,CAAAyC,aAAA,CAAC+S,OAAO,CAACvK,OAAO,EAAK0K,mBAAmB,eACtC3V,KAAA,CAAAyC,aAAA,CAAC6T,IAAI,EAAA5T,QAAA,CAAA;IAAC,YAAY6S,EAAAA,OAAAA;AAAQ,GAAA,EAAKzT,KAAK,EAAA;AAAE,IAAA,kBAAA,EAAkBR,SAAU;AAACS,IAAAA,GAAG,EAAEA,GAAAA;AAAI,GAAA,CAAE,CAC/D,CAAC,eAClB/B,KAAA,CAAAyC,aAAA,CAAC+S,OAAO,CAACtK,OAAO,EAAK0K,mBAAmB,EAAGL,OAAyB,CAC7D,CAAC,CAAA;AAAA,CACX,EAAC;AACFc,eAAe,CAACvT,WAAW,GAAG,MAAM;;ACpBvB8Q,MAAAA,iBAAiB,GAAGA,MAAM;AACrC,EAAA,MAAM7N,OAAO,GAAG/F,KAAK,CAAC6F,UAAU,CAACuO,cAAc,CAAC,CAAA;EAEhD,IAAIrO,OAAO,IAAI,IAAI,EAAE;AACnB,IAAA,MAAM,IAAIoF,KAAK,CAAC,mDAAmD,CAAC,CAAA;AACtE,GAAA;AAEA,EAAA,OAAOpF,OAAO,CAAA;AAChB;;ACSO,MAAMwQ,WAAW,GAAG;AACzBR,EAAAA,MAAM,EAAED,iBAAiB;AACzBD,EAAAA,UAAU,EAAEJ,qBAAqB;AACjCzN,EAAAA,UAAU,EAAEkO,qBAAqB;AACjCD,EAAAA,cAAc,EAAED,yBAAyB;AACzCM,EAAAA,IAAI,EAAED,eAAe;AACrBD,EAAAA,UAAU,EAAED,qBAAAA;AACd;;;;"}
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": "11.2.2",
33
+ "version": "11.3.0",
34
34
  "dependencies": {
35
35
  "@floating-ui/react": "^0.27.5",
36
36
  "classnames": "^2.3.1",
@@ -86,11 +86,11 @@
86
86
  "ts-jest": "^28.0.3"
87
87
  },
88
88
  "peerDependencies": {
89
- "@redsift/design-system": "^11.2.2-0",
90
- "@redsift/icons": "^11.2.2-0",
89
+ "@redsift/design-system": "^11.3.0-0",
90
+ "@redsift/icons": "^11.3.0-0",
91
91
  "react": ">=17",
92
92
  "react-dom": ">=17",
93
93
  "styled-components": "^5.3.5"
94
94
  },
95
- "gitHead": "03653cfd458c7788d26a45089bd3d4bedd6ae225"
95
+ "gitHead": "ce56c2d0a2960a77197c0f71fc685b556d409ef6"
96
96
  }