@activecollab/components 1.0.267 → 1.0.268

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.min.js","sources":["../src/components/FontStyle.ts","../src/components/BoxSizingStyle.ts","../src/components/Button/Styles.ts","../src/components/Button/Button.tsx","../src/components/Icons/collection/AddCrossTiny.tsx","../src/components/Button/GlobalAddButton/Styles.ts","../src/components/Button/GlobalAddButton/GlobalAddButton.tsx","../src/components/ButtonGroup/Styles.ts","../src/components/ButtonGroup/ButtonGroup.tsx","../src/utils/layers.ts","../src/utils/setRef.ts","../src/utils/useForkRef.ts","../src/utils/useResizeObserver.ts","../src/components/Menu/context/index.ts","../src/components/Popper/Popper.tsx","../src/components/Overlay/Styles.ts","../src/components/Overlay/Overlay.tsx","../src/helpers/Portal/Portal.tsx","../src/helpers/LayerContext/LayerContext.ts","../src/components/Window/Style.ts","../src/components/Window/Window.tsx","../src/components/Bubble/Styles.ts","../src/components/Bubble/Bubble.tsx","../src/components/Menu/Styles.ts","../src/components/Menu/Menu.tsx","../src/components/Typography/Styles.ts","../src/components/Typography/Typography.tsx","../src/components/Menu/MenuHeader.tsx","../src/components/Menu/MenuFooter.tsx","../src/components/List/Styles.ts","../src/components/List/ListItem.tsx","../src/components/List/ListSeparator.tsx","../src/components/List/List.tsx","../src/components/IconButton/Styles.ts","../src/components/IconButton/IconButton.tsx","../src/components/Icons/collection/Activity.tsx","../src/components/Icons/collection/AddCross.tsx","../src/components/Icons/collection/ArrowBackMobile.tsx","../src/components/Icons/collection/ArrowCollapseMultiple.tsx","../src/components/Icons/collection/ArrowDownLong.tsx","../src/components/Icons/collection/ArrowDown.tsx","../src/components/Icons/collection/ArrowExpandeMultiple.tsx","../src/components/Icons/collection/ArrowLeftBox.tsx","../src/components/Icons/collection/ArrowLeft.tsx","../src/components/Icons/collection/ArrowRefresh.tsx","../src/components/Icons/collection/ArrowRight.tsx","../src/components/Icons/collection/ArrowUpLong.tsx","../src/components/Icons/collection/ArrowUp.tsx","../src/components/Icons/collection/Assign.tsx","../src/components/Icons/collection/Attachment.tsx","../src/components/Icons/collection/BellOffSmall.tsx","../src/components/Icons/collection/BellOff.tsx","../src/components/Icons/collection/Billing.tsx","../src/components/Icons/collection/BudgetAlert.tsx","../src/components/Icons/collection/CalendarAddX.tsx","../src/components/Icons/collection/Calendar.tsx","../src/components/Icons/collection/CancelCross.tsx","../src/components/Icons/collection/CaretLeft.tsx","../src/components/Icons/collection/CaretRight.tsx","../src/components/Icons/collection/Chat.tsx","../src/components/Icons/collection/Check.tsx","../src/components/Icons/collection/CheckboxBlankToggler.tsx","../src/components/Icons/collection/Checkbox.tsx","../src/components/Icons/collection/ChecklistSmall.tsx","../src/components/Icons/collection/Checklist.tsx","../src/components/Icons/collection/CircleMultiple.tsx","../src/components/Icons/collection/ClockAdd.tsx","../src/components/Icons/collection/ClockSmall.tsx","../src/components/Icons/collection/ClockStopwatchSmall.tsx","../src/components/Icons/collection/ClockStopwatch.tsx","../src/components/Icons/collection/Clock.tsx","../src/components/Icons/collection/CloseSmall.tsx","../src/components/Icons/collection/Close.tsx","../src/components/Icons/collection/CollapsIcon.tsx","../src/components/Icons/collection/CollapseAll.tsx","../src/components/Icons/collection/CollapseExpandSingle.tsx","../src/components/Icons/collection/Computer.tsx","../src/components/Icons/collection/Copy.tsx","../src/components/Icons/collection/CrownBlank.tsx","../src/components/Icons/collection/CrownSelected.tsx","../src/components/Icons/collection/DependencySmall.tsx","../src/components/Icons/collection/Dependency.tsx","../src/components/Icons/collection/DiscussionAdd.tsx","../src/components/Icons/collection/DollarCheckmarkSmall.tsx","../src/components/Icons/collection/DollarCheckmark.tsx","../src/components/Icons/collection/DollarClockSmall.tsx","../src/components/Icons/collection/DollarClock.tsx","../src/components/Icons/collection/DollarOffSmall.tsx","../src/components/Icons/collection/DollarOff.tsx","../src/components/Icons/collection/DollarSmall.tsx","../src/components/Icons/collection/Dollar.tsx","../src/components/Icons/collection/Download.tsx","../src/components/Icons/collection/Drive.tsx","../src/components/Icons/collection/Dropbox.tsx","../src/components/Icons/collection/Duplicate.tsx","../src/components/Icons/collection/EditMultiple.tsx","../src/components/Icons/collection/Edit.tsx","../src/components/Icons/collection/Emoji.tsx","../src/components/Icons/collection/EstimatePlus.tsx","../src/components/Icons/collection/Estimates.tsx","../src/components/Icons/collection/ExpandAll.tsx","../src/components/Icons/collection/ExpenseAdd.tsx","../src/components/Icons/collection/EyeOffSmall.tsx","../src/components/Icons/collection/EyeOff.tsx","../src/components/Icons/collection/EyeSmall.tsx","../src/components/Icons/collection/Eye.tsx","../src/components/Icons/collection/Filter.tsx","../src/components/Icons/collection/FolderMove.tsx","../src/components/Icons/collection/FolderOutline.tsx","../src/components/Icons/collection/Gift.tsx","../src/components/Icons/collection/Hashtag.tsx","../src/components/Icons/collection/Help.tsx","../src/components/Icons/collection/Image.tsx","../src/components/Icons/collection/InfoSmall.tsx","../src/components/Icons/collection/Info.tsx","../src/components/Icons/collection/InsertLink.tsx","../src/components/Icons/collection/Integrations.tsx","../src/components/Icons/collection/Invoices.tsx","../src/components/Icons/collection/Labels.tsx","../src/components/Icons/collection/LockSmall.tsx","../src/components/Icons/collection/Lock.tsx","../src/components/Icons/collection/Marker.tsx","../src/components/Icons/collection/MessageAdd.tsx","../src/components/Icons/collection/MessageEmpty.tsx","../src/components/Icons/collection/MessageSmall.tsx","../src/components/Icons/collection/Message.tsx","../src/components/Icons/collection/Minus.tsx","../src/components/Icons/collection/MoveTrigger.tsx","../src/components/Icons/collection/MyWork.tsx","../src/components/Icons/collection/NoteAdd.tsx","../src/components/Icons/collection/Note.tsx","../src/components/Icons/collection/NotificationBell.tsx","../src/components/Icons/collection/OpenExpanded.tsx","../src/components/Icons/collection/OpenSheet.tsx","../src/components/Icons/collection/OrderFirst.tsx","../src/components/Icons/collection/PaidSmall.tsx","../src/components/Icons/collection/PauseCircleOutline.tsx","../src/components/Icons/collection/PauseIcon.tsx","../src/components/Icons/collection/PauseSmall.tsx","../src/components/Icons/collection/PencilSmall.tsx","../src/components/Icons/collection/Pencil.tsx","../src/components/Icons/collection/PendingPaymentSmall.tsx","../src/components/Icons/collection/People.tsx","../src/components/Icons/collection/PersonCircleOff.tsx","../src/components/Icons/collection/PersonCircle.tsx","../src/components/Icons/collection/PersonPlus.tsx","../src/components/Icons/collection/Person.tsx","../src/components/Icons/collection/PlayCircleOutline.tsx","../src/components/Icons/collection/PlayIcon.tsx","../src/components/Icons/collection/PlaySmall.tsx","../src/components/Icons/collection/PriorityLow.tsx","../src/components/Icons/collection/ProjectAdd.tsx","../src/components/Icons/collection/ProjectTemplateAdd.tsx","../src/components/Icons/collection/ProjectTemplateConvert.tsx","../src/components/Icons/collection/ProjectTemplate.tsx","../src/components/Icons/collection/Projects.tsx","../src/components/Icons/collection/RadioBlank.tsx","../src/components/Icons/collection/RadioButton.tsx","../src/components/Icons/collection/Rearange.tsx","../src/components/Icons/collection/RearrangeSmall.tsx","../src/components/Icons/collection/RecurringCheckmarkSmall.tsx","../src/components/Icons/collection/RecurringCheckmark.tsx","../src/components/Icons/collection/ReportTime.tsx","../src/components/Icons/collection/Reports.tsx","../src/components/Icons/collection/Rocket.tsx","../src/components/Icons/collection/SearchLarge.tsx","../src/components/Icons/collection/Search.tsx","../src/components/Icons/collection/SendBlank.tsx","../src/components/Icons/collection/SendFilled.tsx","../src/components/Icons/collection/Settings.tsx","../src/components/Icons/collection/SortGeneral.tsx","../src/components/Icons/collection/SortIcon.tsx","../src/components/Icons/collection/StarOutline.tsx","../src/components/Icons/collection/Star.tsx","../src/components/Icons/collection/SystemSettings.tsx","../src/components/Icons/collection/TaskAdd.tsx","../src/components/Icons/collection/TaskListAdd.tsx","../src/components/Icons/collection/TaskListComplete.tsx","../src/components/Icons/collection/ThumbUpOutline.tsx","../src/components/Icons/collection/Trash.tsx","../src/components/Icons/collection/TreeDots.tsx","../src/components/Icons/collection/Upload.tsx","../src/components/Icons/collection/ViewGrid.tsx","../src/components/Icons/collection/ViewList.tsx","../src/components/Icons/collection/ViewTimeline.tsx","../src/components/Icons/collection/VolumeHigh.tsx","../src/components/Icons/collection/WarningTriangleSmall.tsx","../src/components/Icons/collection/WarningTriangle.tsx","../src/components/Icons/collection/Warning.tsx","../src/components/Icons/collection/Workload.tsx","../src/components/Breadcrumbs/Styles.ts","../src/components/Breadcrumbs/Breadcrumbs.tsx","../src/components/Transitions/FromElement/FromElement.tsx","../src/components/Tooltip/Styles.ts","../src/components/Tooltip/Tooltip.tsx","../src/components/Typography/Variants/Body2.tsx","../src/components/CounterButton/Styles.ts","../src/components/CounterButton/CounterButton.tsx","../src/components/DatePicker/ClassNames.tsx","../src/components/Pickers/Styles.ts","../src/components/Pickers/YearMonthPicker.tsx","../src/components/Pickers/NavBarElement.tsx","../src/components/DatePicker/CustomNavBarElement.tsx","../src/components/DatePicker/Styles.ts","../src/components/DatePicker/DatePicker.tsx","../src/components/BreakPoints.ts","../src/components/Steppers/DateStepper/Styles.ts","../src/components/Steppers/DateStepper/DateStepper.tsx","../src/components/Steppers/Steps/Styles.ts","../src/components/Steppers/Steps/Steps.tsx","../src/components/Tables/Styles.ts","../src/components/Tables/Table.tsx","../src/components/Loaders/Linear/Styles.ts","../src/components/Loaders/Linear/LinearLoader.tsx","../src/components/Loaders/Dots/Styles.ts","../src/components/Loaders/Dots/DotsLoader.tsx","../src/components/Loaders/Spinner/Styles.ts","../src/components/Loaders/Spinner/SpinnerLoader.tsx","../src/components/Tables/DataTable.tsx","../src/components/CompleteCheckbox/Styles.ts","../src/components/CompleteCheckbox/CompleteCheckbox.tsx","../src/components/Paper/Styles.ts","../src/components/Paper/Paper.tsx","../src/components/ScaleBar/Styles.ts","../src/components/ScaleBar/ScaleBar.tsx","../src/components/Card/Styles.ts","../src/components/Card/Card.tsx","../src/components/EntityCard/Styles.ts","../src/components/EntityCard/EntityCard.tsx","../src/components/Typography/Variants/Title1.tsx","../src/components/Typography/Variants/Title2.tsx","../src/components/Typography/Variants/Header2.tsx","../src/components/Typography/Variants/Header3.tsx","../src/components/Typography/Variants/Body1.tsx","../src/components/Typography/Variants/Caption1.tsx","../src/components/Typography/Variants/Caption2.tsx","../src/components/Signifier/Styles.ts","../src/components/Signifier/Signifier.tsx","../src/components/Avatar/Styles.ts","../src/components/Avatar/Avatar.tsx","../src/components/Dot/Styles.ts","../src/components/Dot/Dot.tsx","../src/components/Tag/Styles.ts","../src/components/Tag/Tag.tsx","../src/hooks/useHighlightText.tsx","../src/components/Autocomplete/HandleKeyboard.tsx","../src/components/Select/Option/Styles.ts","../src/components/Select/Option/Option.tsx","../src/components/Checkbox/Styles.ts","../src/components/Checkbox/Checkbox.tsx","../src/components/Select/OptionGroup/Styles.ts","../src/components/Select/OptionGroup/OptionGroup.tsx","../src/components/ScrollShadow/Styles.ts","../src/components/ScrollShadow/ScrollShadow.tsx","../src/hooks/useInitScrollRef.tsx","../src/hooks/useHeight.tsx","../src/components/ScrollShadow/ScrollElement.tsx","../src/components/Autocomplete/Styles.ts","../src/components/Autocomplete/Autocomplete.tsx","../src/components/Input/Styles.ts","../src/components/Input/Input.tsx","../src/components/RadioButton/Styles.ts","../src/components/RadioButton/RadioButton.tsx","../src/components/Select/Styles.ts","../src/components/Select/OptionContent/Styles.ts","../src/components/MultiAvatar/Styles.ts","../src/components/MultiAvatar/MultiAvatar.tsx","../src/components/Select/OptionContent/OptionContent.tsx","../src/components/Select/Select.tsx","../src/components/Nav/Styles.ts","../src/components/Nav/Item/Item.tsx","../src/components/Nav/Item/Styles.ts","../src/components/Expanders/Styles.ts","../src/components/Expanders/ExpandSingle.tsx","../src/components/Nav/Nav.tsx","../src/components/Input/InputAdornment.tsx","../src/components/Expanders/ExpandAll.tsx","../src/components/MenuSelector/Styles.ts","../src/components/MenuSelector/MenuSelector.tsx","../src/components/Textarea/Styles.ts","../src/components/Textarea/Textarea.tsx","../src/utils/createChainedFunction.ts","../src/components/Modal/Modal.tsx","../src/components/Sheet/Styles.ts","../src/components/Sheet/Sheet.tsx","../src/components/Header/Styles.ts","../src/components/Header/Header.tsx","../src/components/AutoResizeTextarea/Styles.ts","../src/components/AutoResizeTextarea/AutoResizeTextarea.tsx","../src/components/Accordion/Styles.ts","../src/components/Accordion/Accordion.tsx","../src/components/Accordion/AccordionItem.tsx","../src/components/Accordion/AccordionItemHead.tsx","../src/components/Accordion/AccordionItemBody.tsx","../src/components/Choose/Styles.ts","../src/components/Choose/Choose.tsx","../src/components/Links/Styles.ts","../src/components/Links/BackLink.tsx","../src/components/Links/Link.tsx","../src/components/Transitions/SlideFromTop/SlideFromTop.tsx","../src/components/Dialog/Styles.ts","../src/components/Dialog/DialogTitle.tsx","../src/components/Dialog/DialogContent.tsx","../src/components/Dialog/DialogContentDivider.tsx","../src/components/Dialog/DialogActions.tsx","../src/components/Dialog/Dialog.tsx","../src/components/ConfirmDialog/ConfirmDialog.tsx","../src/components/SelectDate/Styles.ts","../src/components/SelectDate/DatePickerForm.tsx","../src/components/Pressed/Styles.ts","../src/components/Pressed/Pressed.tsx","../src/components/SelectDate/SelectDateTarget.tsx","../src/components/SelectDate/SelectDate.tsx","../src/components/ToastMessage/Styles.ts","../src/components/ToastMessage/ToastMessage.tsx","../src/components/Transitions/Fade/Fade.tsx","../src/components/Transitions/Slide/Slide.tsx","../src/components/Transitions/SlideLeftRightTransition/Styles.ts","../src/components/Transitions/SlideLeftRightTransition/SlideLeftRightTransition.tsx","../src/components/Transitions/ResizeTransition/ResizeTransition.tsx","../src/components/Transitions/Reveal/Reveal.tsx","../src/components/Transitions/Scale/Scale.tsx","../src/components/ValueButton/Styles.ts","../src/components/ValueButton/ValueButton.tsx","../src/components/Trigger/Styles.ts","../src/components/Trigger/Trigger.tsx","../src/components/SelectTrigger/Styles.ts","../src/components/SelectTrigger/SelectTrigger.tsx","../src/components/Toggle/Styles.ts","../src/components/Toggle/Toggle.tsx","../src/components/ComboBox/Styles.ts","../src/components/Chip/Styles.ts","../src/components/Chip/Chip.tsx","../src/helpers/ConditionWrapper/ConditionWrapper.tsx","../src/components/ComboBox/ComboBox.tsx","../src/hooks/useIsFirstRender.ts","../src/hooks/useOnClickOutside.tsx","../src/components/Button/AddToListButton/Styles.ts","../src/components/Button/AddToListButton/AddToListButton.tsx","../src/components/ProgressBar/Styles.ts","../src/components/ProgressBar/ProgressBar.tsx","../src/components/ProgressRing/Styles.ts","../src/components/ProgressRing/ProgressRing.tsx","../src/components/ProgressPie/ProgressPie.tsx","../src/components/Reactions/collection/ApplauseIcon.tsx","../src/components/Reactions/collection/HeartIcon.tsx","../src/components/Reactions/collection/PartyIcon.tsx","../src/components/Reactions/collection/SmileIcon.tsx","../src/components/Reactions/collection/ThinkingIcon.tsx","../src/components/Reactions/collection/ThumbsUpIcon.tsx","../src/components/Reactions/collection/ThumbsDownIcon.tsx","../src/components/Label/Label.tsx","../src/components/GlobalStyle.ts","../src/components/EditableContent/Styles.ts","../src/components/EditableContent/EditableContent.tsx","../src/components/EditableText/EditableText.tsx","../src/components/Folder/FolderIcon.tsx","../src/components/Entity/Styles.ts","../src/components/Entity/EntityGroup.tsx","../src/components/Entity/EntityCard.tsx","../src/components/Entity/EntityProperty.tsx","../src/components/Entity/index.ts","../src/components/Filter/Submenu.tsx","../src/components/Filter/Styles.ts","../src/components/Filter/StartMenu.tsx","../src/components/Wizard/context/index.ts","../src/components/Wizard/StepActionButton.tsx","../src/components/Wizard/Styles.ts","../src/components/Wizard/Step.tsx","../src/components/Wizard/Wizard.tsx","../src/components/Badge/Styles.ts","../src/components/Badge/Badge.tsx","../src/components/Filter/Filter.tsx"],"sourcesContent":["import { css } from \"styled-components\";\n\nexport const FontStyle = css`\n font-family: -apple-system, BlinkMacSystemFont, \"Roboto\", \"Helvetica Neue\",\n Arial, sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n`;\n","import { css } from \"styled-components\";\n\nexport const BoxSizingStyle = css`\n box-sizing: border-box;\n * {\n box-sizing: border-box;\n }\n`;\n","import styled, { css } from \"styled-components\";\nimport { ButtonProps } from \"./Button\";\nimport { FontStyle } from \"../FontStyle\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\n\ninterface StyledButtonProps extends ButtonProps {\n iconOnly: boolean;\n}\n\nexport const StyledButton = styled.button<StyledButtonProps>`\n ${FontStyle}\n ${BoxSizingStyle}\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n vertical-align: middle;\n font-weight: 500;\n display: inline-block;\n line-height: 1;\n margin: 0;\n text-decoration: none;\n font-size: 0.875rem;\n user-select: none;\n cursor: pointer;\n text-align: center;\n\n border: none;\n height: 32px;\n transition: background-color 0.3s ease, box-shadow 0.3s ease, color 0.3s ease,\n border-color 0.3s ease;\n\n svg {\n fill: currentColor;\n }\n\n &:focus {\n outline: none;\n }\n\n &:hover {\n text-decoration: none;\n }\n\n &:disabled {\n cursor: default;\n opacity: 50%;\n pointer-events: none;\n }\n\n ${(props) =>\n props.size === \"small\" &&\n css`\n height: 24px;\n `}\n\n ${(props) =>\n props.size === \"big\" &&\n css`\n height: 40px;\n `}\n\n ${(props) =>\n (props.variant === \"primary\" || props.variant === \"contained\") &&\n css`\n padding: 0 16px;\n background-color: var(--color-primary);\n border-radius: var(--ac-br-rounded);\n color: var(--page-paper-main);\n\n &:hover,\n &:focus-visible {\n box-shadow: 0 3px 6px -2px var(--color-primary-500);\n background-color: var(--color-primary-800);\n }\n\n &:active {\n box-shadow: 0 4px 10px -2px var(--color-primary-600);\n background-color: var(--color-primary-800);\n }\n `}\n\n ${(props) =>\n (props.variant === \"secondary\" || props.variant === \"outlined\") &&\n css`\n padding: 0 16px;\n background-color: transparent;\n border-radius: var(--ac-br-rounded);\n border: solid 1px var(--color-theme-700);\n color: var(--color-theme-700);\n\n &:hover,\n &:focus-visible {\n border-color: var(--color-primary);\n color: var(--color-primary);\n }\n\n &:active {\n border-color: var(--color-primary);\n color: var(--color-primary);\n background-color: var(--color-primary-200);\n }\n `}\n\n ${(props) =>\n props.variant === \"dark transparent\" &&\n css`\n padding: 0 8px;\n background-color: rgba(0, 0, 0, 0.5);\n border-radius: var(--ac-br-6);\n color: var(--only-white);\n\n &:hover,\n &:focus-visible {\n background-color: rgba(0, 0, 0, 0.85);\n }\n\n &:active {\n background-color: var(--only-black);\n }\n `}\n\n ${(props) =>\n (props.variant === \"tertiary\" || props.variant === \"text colored\") &&\n css`\n padding: 0 8px;\n background-color: transparent;\n border-radius: var(--ac-br-6);\n color: var(--color-primary);\n\n &:hover,\n &:focus-visible {\n background-color: var(--color-primary-200);\n }\n\n &:active {\n background-color: var(--color-primary-300);\n }\n `}\n\n ${(props) =>\n (props.variant === \"option\" || props.variant === \"text gray\") &&\n css`\n padding: 0 8px;\n background-color: transparent;\n border-radius: var(--ac-br-6);\n color: var(--color-theme-700);\n\n &:hover,\n &:focus-visible {\n background-color: var(--color-theme-300);\n color: var(--color-theme-900);\n }\n\n &:active {\n background-color: var(--color-theme-400);\n color: var(--color-theme-900);\n }\n `}\n\n ${(props) =>\n props.variant === \"circle raised\" &&\n css`\n padding: 0 6px;\n background-color: transparent;\n border-radius: var(--ac-br-rounded);\n color: var(--color-theme-700);\n\n &:hover,\n &:focus-visible {\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary);\n }\n\n &:active {\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary-hover);\n }\n `}\n\n ${(props) =>\n props.iconOnly &&\n css`\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding: 0;\n width: 32px;\n\n ${(props.size === \"small\" || props.size === \"big\") &&\n css`\n border-radius: var(--ac-br-rounded);\n `};\n\n ${props.size === \"small\" &&\n css`\n width: 24px;\n `}\n\n ${props.size === \"big\" &&\n css`\n width: 40px;\n `}\n `}\n\n ${(props) =>\n (props.variant === \"primary\" ||\n props.variant === \"contained\" ||\n props.variant === \"secondary\" ||\n props.variant === \"outlined\") &&\n css`\n .c-btn__elements__element:first-child svg {\n margin-left: -6px;\n }\n .c-btn__elements__element:last-child svg {\n margin-right: -6px;\n }\n\n ${(props.size === \"small\" || props.size === \"big\") &&\n css`\n border-radius: var(--ac-br-rounded);\n `}\n `}\n\n ${(props) =>\n (props.variant === \"tertiary\" ||\n props.variant === \"text colored\" ||\n props.variant === \"option\" ||\n props.variant === \"text gray\" ||\n props.variant === \"dark transparent\") &&\n css`\n .c-btn__elements__element:first-child svg {\n margin-left: -4px;\n }\n .c-btn__elements__element:last-child svg {\n margin-right: -4px;\n }\n ${props.size === \"small\" &&\n css`\n border-radius: var(--ac-br-4);\n `}\n ${props.size === \"big\" &&\n css`\n border-radius: var(--ac-br-8);\n `}\n `}\n\n ${(props) =>\n props.active &&\n css`\n pointer-events: none;\n\n ${(props.variant === \"primary\" || props.variant === \"contained\") &&\n css`\n background-color: var(--color-primary-800);\n `}\n\n ${(props.variant === \"secondary\" || props.variant === \"outlined\") &&\n css`\n border-color: var(--color-primary);\n color: var(--color-primary);\n `}\n\n ${props.variant === \"dark transparent\" &&\n css`\n background-color: var(--only-black);\n `}\n\n ${props.variant === \"circle raised\" &&\n css`\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary-hover);\n `}\n\n ${(props.variant === \"tertiary\" || props.variant === \"text colored\") &&\n css`\n background-color: var(--color-primary-200);\n `}\n\n ${(props.variant === \"option\" || props.variant === \"text gray\") &&\n css`\n color: var(--color-primary);\n ${props.children instanceof Array &&\n css`\n background-color: var(--color-theme-300);\n `}\n `}\n `}\n`;\n\nStyledButton.displayName = \"StyledButton\";\n\nexport const StyledButtonElements = styled.span`\n display: flex;\n align-items: center;\n`;\n\nStyledButtonElements.displayName = \"StyledButtonElements\";\n\nexport const StyledButtonElement = styled.span`\n display: inline-flex;\n svg {\n margin: 0 4px;\n }\n`;\n\nStyledButtonElement.displayName = \"StyledButtonElement\";\n","import React, {\n ComponentPropsWithoutRef,\n forwardRef,\n PropsWithChildren,\n} from \"react\";\nimport classnames from \"classnames\";\nimport {\n StyledButton,\n StyledButtonElement,\n StyledButtonElements,\n} from \"./Styles\";\n\nexport interface ButtonProps extends ComponentPropsWithoutRef<\"button\"> {\n /** Types of a button. */\n variant?:\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"option\"\n | \"contained\"\n | \"outlined\"\n | \"text colored\"\n | \"text gray\"\n | \"dark transparent\"\n | \"circle raised\";\n /** Button size dictates the height. */\n size?: \"big\" | \"small\" | \"medium\";\n /** Active or pressed state. */\n active?: boolean;\n}\n/**\n * @component Button\n * @description\n * Button component is used to trigger an action or event, such as submitting a form,\n * opening a Dialog, canceling an action, or performing a delete operation.\n *\n * @prop {variant} - adds unique look and feel to button.\n * @prop {size} - controls the size of a button.\n * @prop {active} - adds active/pressed state to a button.\n *\n * @example\n * return (\n * <Button className=\"mr-2\" variant=\"primary\" size=\"big\">\n * Save\n * </Button>\n * )\n * @see\n * https://system.activecollab.com/?path=/story/components-button-indicators-button--button\n * https://design.activecollab.com/docs/components/button\n */\nexport const Button = forwardRef<\n HTMLButtonElement,\n PropsWithChildren<ButtonProps>\n>(\n (\n {\n children,\n active = false,\n variant = \"contained\",\n size = \"medium\",\n className,\n ...args\n },\n ref\n ) => {\n return (\n <StyledButton\n className={classnames(\"c-btn\", className, {\n \"c-btn--contained\": variant === \"primary\" || variant === \"contained\",\n \"c-btn--outlined\": variant === \"secondary\" || variant === \"outlined\",\n \"c-btn--text_colored\":\n variant === \"tertiary\" || variant === \"text colored\",\n \"c-btn--text_gray\": variant === \"option\" || variant === \"text gray\",\n \"c-btn--dark_transparent\": variant === \"dark transparent\",\n \"c-btn--circle-raised\": variant === \"circle raised\",\n \"c-btn--big\": size === \"big\",\n \"c-btn--small\": size === \"small\",\n \"c-btn--icon-only\":\n children instanceof Object && !(children instanceof Array),\n })}\n iconOnly={children instanceof Object && !(children instanceof Array)}\n variant={variant}\n active={active}\n size={size}\n ref={ref}\n aria-pressed={active}\n role=\"button\"\n {...args}\n >\n {children instanceof Array ? (\n <StyledButtonElements className=\"c-btn__elements\">\n {children.map((value, index) =>\n value ? (\n <StyledButtonElement\n className=\"c-btn__elements__element\"\n key={index}\n >\n {value}\n </StyledButtonElement>\n ) : null\n )}\n </StyledButtonElements>\n ) : (\n children\n )}\n </StyledButton>\n );\n }\n);\n\nButton.displayName = \"Button\";\n","import React from \"react\";\n\n/**\n * @component AddCrossTinyIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <AddCrossTinyIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst AddCrossTinyIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"AddCrossTinyIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 4a1 1 0 011 1v6h6a1 1 0 010 2h-6v6a1 1 0 01-2 0l-.001-6H5a1 1 0 010-2h6V5a1 1 0 011-1z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nAddCrossTinyIcon.displayName = \"AddCrossTinyIcon\";\nexport default AddCrossTinyIcon;\n","import styled from \"styled-components\";\nimport { Button } from \"../Button\";\n\nexport const StyledGlobalAddButton = styled(Button)`\n svg {\n fill: var(--color-theme-100);\n }\n &:hover svg {\n transform: rotate(90deg);\n transition: ease 0.3s;\n }\n`;\n\nStyledGlobalAddButton.displayName = \"StyledGlobalAddButton\";\n","import React, { forwardRef, ButtonHTMLAttributes } from \"react\";\nimport classnames from \"classnames\";\nimport AddCrossTinyIcon from \"../../Icons/collection/AddCrossTiny\";\nimport { StyledGlobalAddButton } from \"./Styles\";\n\nexport interface IGlobalAddButton\n extends ButtonHTMLAttributes<HTMLButtonElement> {\n /** Disabled prop */\n disabled?: boolean;\n /** CSS classes */\n className?: string;\n}\n\nexport const GlobalAddButton = forwardRef<HTMLButtonElement, IGlobalAddButton>(\n ({ className, disabled = false, ...rest }, ref) => {\n return (\n <StyledGlobalAddButton\n ref={ref}\n variant=\"contained\"\n disabled={disabled}\n className={classnames(\"c-global-add-btn\", className)}\n {...rest}\n >\n <AddCrossTinyIcon />\n </StyledGlobalAddButton>\n );\n }\n);\n\nGlobalAddButton.displayName = \"GlobalAddButton\";\n","import styled from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\nexport const StyledButtonGroup = styled.div`\n ${tw`tw-flex tw-flex-row`}\n ${FontStyle}\n ${BoxSizingStyle}\n\n button {\n &:first-child:not(:last-child) {\n svg {\n margin-right: -4px;\n }\n ${tw`tw--mr-px tw-rounded-r-none`}\n }\n\n &:last-child:not(:first-child) {\n svg {\n margin-left: -4px;\n }\n ${tw`tw-rounded-l-none`}\n }\n\n &:not(:first-child):not(:last-child) {\n ${tw`tw--mr-px tw-rounded-none`}\n }\n }\n\n svg {\n ${tw`tw-text-theme-900 tw-fill-current`}\n }\n`;\n\nStyledButtonGroup.displayName = \"StyledButtonGroup\";\n","import React, { forwardRef } from \"react\";\nimport classNames from \"classnames\";\nimport { StyledButtonGroup } from \"./Styles\";\n\nexport const ButtonGroup = forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<\"div\">\n>(({ children, className, ...rest }, ref) => (\n <StyledButtonGroup\n ref={ref}\n className={classNames(\"c-btn-group\", className)}\n {...rest}\n >\n {children}\n </StyledButtonGroup>\n));\n\nButtonGroup.displayName = \"ButtonGroup\";\n","export const layers = {\n cloud: 100000,\n skyscraper: 1300,\n tower: 1200,\n house: 1000,\n};\n","import { MutableRefObject } from \"react\";\n\nexport default function setRef<T>(\n ref:\n | MutableRefObject<T | null>\n | ((instance: T | null) => void)\n | null\n | undefined,\n value: T | null\n): void {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}\n","import { useMemo, MutableRefObject } from \"react\";\nimport setRef from \"./setRef\";\n\nexport default function useForkRef<T>(\n refA:\n | MutableRefObject<T | null>\n | ((instance: T | null) => void)\n | null\n | undefined,\n refB:\n | MutableRefObject<T | null>\n | ((instance: T | null) => void)\n | null\n | undefined\n): (instance: T | null) => void {\n return useMemo(() => {\n return (refValue): void => {\n setRef(refA, refValue);\n setRef(refB, refValue);\n };\n }, [refA, refB]);\n}\n","import { useState, useEffect } from \"react\";\nimport ResizeObserver from \"resize-observer-polyfill\";\n\nconst useResizeObserver = (ref: { current?: HTMLElement | null }) => {\n const [dimensions, setDimensions] = useState<DOMRectReadOnly>();\n\n useEffect(() => {\n const observeTarget = ref?.current;\n const resizeObserver = new ResizeObserver(\n (entries: ResizeObserverEntry[]) => {\n entries.forEach((entry) => {\n setDimensions(entry.contentRect);\n });\n }\n );\n\n observeTarget && resizeObserver.observe(observeTarget);\n\n return () => {\n observeTarget && resizeObserver.unobserve(observeTarget);\n };\n }, [ref]);\n\n return dimensions;\n};\n\nexport default useResizeObserver;\n","import { createContext, useContext } from \"react\";\n\ninterface IMenuContext {\n open?: boolean;\n setOpen?: (open: boolean) => void;\n}\n\nconst MenuContext = createContext<IMenuContext>({});\n\nexport const MenuContextProvider = MenuContext.Provider;\nexport const MenuContextConsumer = MenuContext.Consumer;\n\nexport const useMenuContext = (): IMenuContext => useContext(MenuContext);\n\nexport default MenuContext;\n","import React, {\n forwardRef,\n useCallback,\n useRef,\n useEffect,\n useState,\n CSSProperties,\n HTMLAttributes,\n} from \"react\";\nimport {\n createPopper,\n Instance,\n PositioningStrategy,\n State,\n} from \"@popperjs/core\";\nimport { Placement } from \".\";\nimport useForkRef from \"../../utils/useForkRef\";\n\ninterface TransitionProps {\n in: boolean;\n onEnter: () => void;\n onExited: () => void;\n}\ninterface IChildProps {\n placement: Placement;\n transitionProps: Partial<TransitionProps>;\n}\n\ninterface PopperProps {\n /** Anchor Element. */\n anchorEl?: Element | null;\n /** Open */\n open?: boolean;\n /** Inline style */\n style?: CSSProperties;\n /** Child with transition */\n transition?: boolean;\n /** Placement */\n placement?: Placement;\n /** Strategy */\n strategy?: PositioningStrategy;\n}\n\nexport const Popper = forwardRef<\n HTMLDivElement,\n PopperProps & HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n children,\n anchorEl,\n open = false,\n style,\n transition = false,\n placement: initialPlacement = \"bottom\",\n strategy = \"absolute\",\n ...rest\n },\n ref\n ) => {\n const [exited, setExited] = useState(true);\n const [placement, setPlacement] = useState(initialPlacement);\n const ownRef = useRef<HTMLDivElement | null>(null);\n const popperRef = useRef<Instance>();\n\n const handleInnerRef = useForkRef(ownRef, ref);\n\n const handlePopperUpdate = (data: Partial<State>): void => {\n setPlacement(data.placement || \"bottom\");\n };\n\n const handleOpen = useCallback(() => {\n if (!ownRef.current || !anchorEl || !open) {\n return;\n }\n\n if (popperRef.current) {\n popperRef.current.destroy();\n }\n\n popperRef.current = createPopper(anchorEl, ownRef.current, {\n placement,\n onFirstUpdate: handlePopperUpdate,\n strategy,\n });\n }, [anchorEl, open, placement, strategy]);\n\n const handleClose = (): void => {\n if (!popperRef.current) {\n return;\n }\n\n popperRef.current.destroy();\n };\n\n const handleRef = useCallback(\n (node: HTMLDivElement) => {\n handleInnerRef(node);\n handleOpen();\n },\n [handleOpen, handleInnerRef]\n );\n\n const handleEnter = (): void => {\n setExited(false);\n };\n\n const handleExited = (): void => {\n setExited(true);\n handleClose();\n };\n\n useEffect(() => {\n return (): void => {\n handleClose();\n };\n }, []);\n\n useEffect(() => {\n if (!open && !transition) {\n handleClose();\n }\n }, [open, transition]);\n\n useEffect(() => {\n if (popperRef.current) {\n popperRef.current.update();\n }\n });\n\n if (!open && (!transition || exited)) {\n return null;\n }\n\n const childProps: Partial<IChildProps> = { placement };\n\n if (transition) {\n childProps.transitionProps = {\n in: open,\n onEnter: handleEnter,\n onExited: handleExited,\n };\n }\n\n return (\n <div\n ref={handleRef}\n {...rest}\n style={{\n ...style,\n }}\n >\n {typeof children === \"function\" ? children(childProps) : children}\n </div>\n );\n }\n);\n\nPopper.displayName = \"Popper\";\n","import styled, { css } from \"styled-components\";\n\nexport const StyledOverlay = styled.div<{\n $disableBackgroundColor: boolean;\n}>`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n ${(props) =>\n !props.$disableBackgroundColor &&\n css`\n background: var(--modal-background);\n backdrop-filter: blur(2px);\n `}\n`;\n\nStyledOverlay.displayName = \"StyledOverlay\";\n","import React, { FC } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledOverlay } from \"./Styles\";\n\nexport interface IOverlay {\n disableBackgroundColor?: boolean;\n}\n\nexport const Overlay: FC<\n IOverlay & Omit<React.ComponentPropsWithoutRef<\"div\">, keyof IOverlay>\n> = ({ className, disableBackgroundColor = false, ...rest }) => {\n return (\n <StyledOverlay\n className={classnames(\"c-overlay\", className)}\n $disableBackgroundColor={disableBackgroundColor}\n {...rest}\n />\n );\n};\n\nOverlay.displayName = \"Overlay\";\n","import { FC, useEffect, useState } from \"react\";\nimport ReactDOM from \"react-dom\";\n\ntype ContainerFunc = () => HTMLElement;\ntype Container = HTMLElement | ContainerFunc;\ninterface IPortal {\n container?: Container;\n}\n\nconst getContainer = (container: Container) => {\n return typeof container === \"function\" ? container() : container;\n};\n\nexport const Portal: FC<IPortal> = ({\n children,\n container = document.body,\n}) => {\n const [mountNode, setMountNode] = useState<HTMLElement | null>(null);\n\n useEffect(() => {\n setMountNode(getContainer(container));\n }, [container]);\n\n return mountNode ? ReactDOM.createPortal(children, mountNode) : mountNode;\n};\n\nPortal.displayName = \"Portal\";\n","import { createContext, useContext } from \"react\";\n\ninterface ILayerContext {\n root?: HTMLElement;\n zIndex?: number;\n}\n\nconst LayerContext = createContext<ILayerContext>({});\n\nexport const LayerContextProvider = LayerContext.Provider;\nexport const LayerContextConsumer = LayerContext.Consumer;\n\nexport const useLayerContext = (): ILayerContext => useContext(LayerContext);\n\nexport default LayerContext;\n","import styled from \"styled-components\";\nimport { FontStyle } from \"../FontStyle\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\n\nexport const StyledWindow = styled.div`\n ${FontStyle}\n ${BoxSizingStyle}\n\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n`;\n\nStyledWindow.displayName = \"StyledWindow\";\n","import React, { useCallback, useRef, forwardRef, KeyboardEvent } from \"react\";\nimport classnames from \"classnames\";\nimport FocusLock from \"react-focus-lock\";\nimport { Portal, useLayerContext } from \"../../helpers\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { StyledWindow } from \"./Style\";\nimport { layers } from \"../../utils\";\n\nexport interface IWindow {\n onClose?: () => void;\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n disableCloseOnEsc?: boolean;\n}\n\nconst returnFocus = { preventScroll: true };\n\nexport const Window = forwardRef<\n HTMLDivElement,\n IWindow & Omit<React.ComponentPropsWithoutRef<\"div\">, keyof IWindow>\n>(\n (\n {\n children,\n onClose,\n className,\n style,\n onKeyDown,\n disableFocusLock = false,\n disableScrollLock = false,\n disableCloseOnEsc = false,\n onClick,\n ...rest\n },\n ref\n ) => {\n const innerRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(innerRef, ref);\n const { zIndex = layers.skyscraper } = useLayerContext();\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (\n !event.defaultPrevented &&\n (event.key === \"Esc\" || event.key === \"Escape\") &&\n !disableCloseOnEsc\n ) {\n event.preventDefault();\n if (onClose) {\n onClose();\n }\n }\n if (typeof onKeyDown === \"function\") {\n onKeyDown(event);\n }\n },\n [disableCloseOnEsc, onClose, onKeyDown]\n );\n\n const handleClick = useCallback(\n (event) => {\n event?.stopPropagation();\n typeof onClick === \"function\" && onClick(event);\n },\n [onClick]\n );\n\n return (\n <Portal>\n <FocusLock returnFocus={returnFocus} disabled={disableFocusLock}>\n <RemoveScroll\n forwardProps\n ref={handleRef}\n enabled={!disableScrollLock}\n noIsolation\n >\n <StyledWindow\n {...rest}\n style={{ zIndex, ...style }}\n onKeyDown={handleKeyDown}\n tabIndex={0}\n className={classnames(\"c-window\", className)}\n onClick={handleClick}\n >\n {children}\n </StyledWindow>\n </RemoveScroll>\n </FocusLock>\n </Portal>\n );\n }\n);\n\nWindow.displayName = \"Window\";\n","import styled from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\nexport const StyledBubble = styled.div`\n ${tw`tw-bg-white tw-shadow-md tw-border-theme-200 tw-rounded-lg tw-border tw-border-solid tw-text-theme-800 tw-opacity-100 tw-block tw-visible`}\n transition: opacity 0.2s, visibility 0.2s;\n ${FontStyle}\n ${BoxSizingStyle}\n background-color: var(--page-paper-main);\n`;\n\nStyledBubble.displayName = \"StyledBubble\";\n","import React, {\n FC,\n HTMLAttributes,\n MouseEvent,\n ReactNode,\n RefObject,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { StyledBubble } from \"./Styles\";\n\nexport interface IBubble {\n /** Children element. */\n children: ReactNode;\n /** Class names. */\n className?: string;\n /** Ref object for Bubble. */\n innerRef?: RefObject<HTMLDivElement>;\n /** Bubble styles. */\n style?: object;\n /** On click on bubble. */\n onClick?: (event: MouseEvent<HTMLElement>) => void;\n /** On mouse down event. */\n onMouseDown?: (event: MouseEvent<HTMLElement>) => void;\n}\n\nexport const Bubble: FC<IBubble & HTMLAttributes<HTMLDivElement>> = ({\n children,\n className,\n innerRef = null,\n style = {},\n ...rest\n}) => {\n return (\n <StyledBubble\n {...rest}\n ref={innerRef}\n className={classnames(\"c-bubble\", className)}\n style={style}\n >\n {children}\n </StyledBubble>\n );\n};\n\nBubble.displayName = \"Bubble\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { Bubble } from \"../Bubble\";\nimport { FontStyle } from \"../FontStyle\";\n\nexport const StyledMenu = styled(Bubble)<{ $mode: string }>`\n ${tw`tw-bg-page-paper-main tw-border-border-primary tw-my-1 tw-overflow-auto`}\n\n ${FontStyle}\n ${BoxSizingStyle}\n\n color: var(--color-theme-700);\n a:focus,\n a:active {\n outline: none;\n }\n\n ${(props) =>\n props.$mode === \"normal\" &&\n css`\n width: 260px;\n `}\n\n ${(props) =>\n props.$mode === \"wider\" &&\n css`\n width: 350px;\n `}\n\n ${(props) =>\n props.$mode === \"tiny\" &&\n css`\n width: 180px;\n `}\n`;\nStyledMenu.displayName = \"StyledMenu\";\n\nexport const StyledMenuFooter = styled.div`\n ${tw`tw-flex tw-px-2 tw-py-1`}\n\n display: flex;\n border-top: 1px solid var(--border-primary);\n height: 32px;\n align-items: center;\n`;\nStyledMenuFooter.displayName = \"StyledMenuFooter\";\n\nexport const StyledMenuHeader = styled.div`\n ${tw`tw-flex tw-items-center tw-justify-between tw-px-2 tw-py-1`}\n\n border-bottom: 1px solid var(--border-primary);\n height: 32px;\n`;\nStyledMenuHeader.displayName = \"StyledMenuHeader\";\n","import React, {\n useRef,\n FC,\n ReactNode,\n MouseEvent,\n useState,\n useCallback,\n useEffect,\n ReactElement,\n Ref,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { Popper } from \"../Popper\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Overlay } from \"../Overlay\";\nimport { Window } from \"../Window\";\nimport { Placement } from \"@popperjs/core\";\nimport { MenuContextProvider } from \"./context\";\nimport { StyledMenu } from \"./Styles\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport type MenuMode = \"normal\" | \"wider\" | \"tiny\";\n\nexport interface IMenu {\n /** Menu content */\n children: ReactNode;\n /** On menu element click */\n onMenuClick?: (event: MouseEvent<HTMLElement>) => void;\n /** Handle scroll bar */\n handleScroll?: boolean;\n /** Disable Focus Lock */\n disableFocusLock?: boolean;\n /** Menu width mode */\n mode?: MenuMode;\n /** Should menu be open when it's mounted */\n open?: boolean;\n /** Callback triggered when modal has been opened */\n onOpen?: () => void;\n /** Callback triggered when modal has been closed */\n onClose?: () => void;\n /** Before close callback */\n onBeforeClose?: () => boolean;\n /** Position Menu */\n position?: Placement;\n /** Target element */\n target?: ElementWithRef<Element>;\n className?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Should Window be positioned absolutely */\n windowAbsolutelyPositioned?: boolean;\n}\n\nexport const Menu: FC<IMenu> = ({\n children,\n disableFocusLock = false,\n onMenuClick,\n handleScroll = true,\n mode = \"normal\",\n open: defaultOpen = false,\n onOpen,\n onClose,\n onBeforeClose,\n position = \"bottom-start\",\n target,\n className,\n menuClassName,\n popperClassName,\n backgroundElementClass,\n windowAbsolutelyPositioned = false,\n}) => {\n const [open, setOpen] = useState(defaultOpen);\n const [childNode, setChildNode] = useState<Element | null>();\n const elementRef = useRef<HTMLElement | null>(null);\n const isOpenAtLeastOnce = useRef(false);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleRefRef = useForkRef(\n target ? target.ref : undefined,\n setChildNode\n );\n const handleRef = useForkRef(handleRefRef, elementRef);\n\n const handleOpen = useCallback(\n (\n event: Pick<MouseEvent<Element>, \"preventDefault\" | \"stopPropagation\">\n ) => {\n event?.preventDefault();\n event?.stopPropagation();\n setOpen(true);\n typeof onOpen === \"function\" && onOpen();\n typeof target?.props?.onClick === \"function\" &&\n target.props.onClick(event);\n },\n [onOpen, target?.props]\n );\n\n const handleClose = useCallback(() => {\n if (typeof onBeforeClose === \"function\" && !onBeforeClose()) {\n return;\n }\n setOpen(false);\n typeof onClose === \"function\" && onClose();\n }, [onClose, onBeforeClose]);\n\n const childProps = {\n forceClose: handleClose,\n };\n\n const targetProps = {\n open,\n ref: handleRef,\n onClick: handleOpen,\n };\n\n useEffect(() => {\n if (open) {\n isOpenAtLeastOnce.current = true;\n } else if (!open && isOpenAtLeastOnce.current) {\n elementRef.current?.focus();\n isOpenAtLeastOnce.current = false;\n }\n }, [open]);\n\n return (\n <>\n {target && React.cloneElement(target, targetProps)}\n {open ? (\n <Window\n onClose={handleClose}\n disableScrollLock={!handleScroll}\n disableFocusLock={disableFocusLock}\n style={{\n position: windowAbsolutelyPositioned ? \"absolute\" : \"fixed\",\n }}\n >\n <Overlay\n className={backgroundElementClass}\n onClick={handleClose}\n tabIndex={-1}\n disableBackgroundColor\n />\n <Popper\n anchorEl={childNode}\n open={childNode ? open : false}\n placement={position}\n className={popperClassName}\n tabIndex={-1}\n >\n <StyledMenu\n className={classnames(\n \"c-simple-menu__paper\",\n `c-simple-menu__${mode}`,\n menuClassName,\n className\n )}\n $mode={mode}\n onMouseDown={onMenuClick}\n >\n <MenuContextProvider value={{ open, setOpen }}>\n {typeof children === \"function\"\n ? children(childProps)\n : children}\n </MenuContextProvider>\n </StyledMenu>\n </Popper>\n </Window>\n ) : null}\n </>\n );\n};\n\nMenu.displayName = \"Menu\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\ninterface IStyledTypographyProps {\n $variant:\n | \"Title 1\"\n | \"Title 2\"\n | \"Header 2\"\n | \"Header 3\"\n | \"Body 1\"\n | \"Body 2\"\n | \"Caption 1\"\n | \"Caption 2\";\n $italic: boolean;\n $tabularNums: boolean;\n $letterSpacing: \"tight\" | \"regular\" | \"wide\";\n $lineHeight: \"tight\" | \"regular\" | \"loose\";\n $align: \"left\" | \"center\" | \"right\" | \"justify\";\n $decoration: \"underline\" | \"line-through\" | \"none\";\n $transform: \"uppercase\" | \"lowercase\" | \"capitalize\" | \"regular\";\n $overflow: \"truncate\" | \"ellipsis\" | \"visible\";\n $whitespace?:\n | \"regular\"\n | \"no-wrap\"\n | \"pre\"\n | \"pre-wrap\"\n | \"pre-line\"\n | \"break-spaces\";\n $wordBreak: \"regular\" | \"smart\" | \"all\";\n $color:\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"quaternary\"\n | \"theme-primary\"\n | \"theme-secondary\"\n | \"only-white\"\n | \"only-black\"\n | \"page-paper\"\n | \"success\"\n | \"alert\"\n | \"warning\";\n $weight?: \"light\" | \"regular\" | \"medium\" | \"bold\";\n}\n\nconst colors = {\n primary: tw`tw-text-theme-900`,\n secondary: tw`tw-text-theme-700`,\n tertiary: tw`tw-text-theme-600`,\n quaternary: tw`tw-text-theme-transparent-500`,\n \"theme-primary\": tw`tw-text-primary`,\n \"theme-secondary\": tw`tw-text-secondary`,\n \"page-paper\": tw`tw-text-page-paper-main`,\n \"only-white\": tw`tw-text-only-white`,\n \"only-black\": tw`tw-text-only-black`,\n success: tw`tw-text-success`,\n alert: tw`tw-text-alert`,\n warning: tw`tw-text-warning`,\n};\n\nexport const StyledTypography = styled.div<IStyledTypographyProps>`\n ${FontStyle}\n ${BoxSizingStyle}\n\n //color\n ${(props) => colors[props.$color]}\n\n //variant - font size\n ${(props) =>\n props.$variant === \"Title 1\" &&\n css`\n ${tw`tw-text-title-1`}\n `}\n ${(props) =>\n props.$variant === \"Title 2\" &&\n css`\n ${tw`tw-text-title-2`}\n `}\n ${(props) =>\n props.$variant === \"Header 2\" &&\n css`\n ${tw`tw-text-header-2`}\n `}\n ${(props) =>\n (props.$variant === \"Header 3\" || props.$variant === \"Body 1\") &&\n css`\n ${tw`tw-text-body-1`}\n `}\n ${(props) =>\n props.$variant === \"Body 2\" &&\n css`\n ${tw`tw-text-body-2`}\n `}\n ${(props) =>\n props.$variant === \"Caption 1\" &&\n css`\n ${tw`tw-text-caption-1`}\n `}\n ${(props) =>\n props.$variant === \"Caption 2\" &&\n css`\n ${tw`tw-text-caption-2`}\n `}\n\n //italic\n ${(props) =>\n props.$italic\n ? css`\n font-style: italic;\n `\n : css`\n font-style: normal;\n `}\n\n //tabularNums\n ${(props) =>\n props.$tabularNums\n ? css`\n font-variant-numeric: tabular-nums;\n `\n : css`\n font-variant-numeric: normal;\n `}\n\n //letterSpacing\n ${(props) =>\n props.$letterSpacing === \"regular\" &&\n css`\n ${tw`tw-tracking-regular`}\n `}\n ${(props) =>\n props.$letterSpacing === \"tight\" &&\n css`\n ${tw`tw-tracking-tight`}\n `}\n ${(props) =>\n props.$letterSpacing === \"wide\" &&\n css`\n ${tw`tw-tracking-wide`}\n `}\n\n //lineHeight\n ${(props) =>\n props.$lineHeight === \"regular\" &&\n css`\n ${tw`tw-leading-regular`}\n `}\n ${(props) =>\n props.$lineHeight === \"tight\" &&\n css`\n ${tw`tw-leading-tight`}\n `}\n ${(props) =>\n props.$lineHeight === \"loose\" &&\n css`\n ${tw`tw-leading-loose`}\n `}\n\n //align\n ${(props) =>\n props.$align === \"left\" &&\n css`\n text-align: left;\n `}\n ${(props) =>\n props.$align === \"right\" &&\n css`\n text-align: right;\n `}\n ${(props) =>\n props.$align === \"center\" &&\n css`\n text-align: center;\n `}\n ${(props) =>\n props.$align === \"justify\" &&\n css`\n text-align: justify;\n `}\n\n //decoration\n ${(props) =>\n props.$decoration === \"none\" &&\n css`\n text-decoration: none;\n `}\n ${(props) =>\n props.$decoration === \"underline\" &&\n css`\n text-decoration: underline;\n `}\n ${(props) =>\n props.$decoration === \"line-through\" &&\n css`\n text-decoration: line-through;\n `}\n\n //transform\n ${(props) =>\n props.$transform === \"regular\" &&\n css`\n text-transform: none;\n `}\n ${(props) =>\n props.$transform === \"uppercase\" &&\n css`\n text-transform: uppercase;\n `}\n ${(props) =>\n props.$transform === \"lowercase\" &&\n css`\n text-transform: lowercase;\n `}\n ${(props) =>\n props.$transform === \"capitalize\" &&\n css`\n text-transform: capitalize;\n `}\n\n //overflow\n ${(props) =>\n props.$overflow === \"visible\" &&\n css`\n overflow: visible;\n `}\n ${(props) =>\n props.$overflow === \"ellipsis\" &&\n css`\n text-overflow: ellipsis;\n `}\n ${(props) =>\n props.$overflow === \"truncate\" &&\n css`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `}\n\n //whitespace\n ${(props) =>\n props.$whitespace === \"regular\" &&\n css`\n white-space: normal;\n `}\n ${(props) =>\n props.$whitespace === \"no-wrap\" &&\n css`\n white-space: nowrap;\n `}\n ${(props) =>\n props.$whitespace === \"pre\" &&\n css`\n white-space: pre;\n `}\n ${(props) =>\n props.$whitespace === \"pre-wrap\" &&\n css`\n white-space: pre-wrap;\n `}\n ${(props) =>\n props.$whitespace === \"pre-line\" &&\n css`\n white-space: pre-line;\n `}\n ${(props) =>\n props.$whitespace === \"break-spaces\" &&\n css`\n white-space: break-spaces;\n `}\n\n //wordBreak\n ${(props) =>\n props.$wordBreak === \"regular\" &&\n css`\n overflow-wrap: normal;\n word-break: normal;\n `}\n ${(props) =>\n props.$wordBreak === \"smart\" &&\n css`\n overflow-wrap: break-word;\n `}\n ${(props) =>\n props.$wordBreak === \"all\" &&\n css`\n word-break: break-all;\n `}\n\n //weight\n ${(props) =>\n props.$weight === \"regular\" &&\n css`\n ${tw`tw-font-regular`}\n `}\n ${(props) =>\n props.$weight === \"light\" &&\n css`\n ${tw`tw-font-light`}\n `}\n ${(props) =>\n props.$weight === \"medium\" &&\n css`\n ${tw`tw-font-medium`}\n `}\n ${(props) =>\n props.$weight === \"bold\" &&\n css`\n ${tw`tw-font-bold`}\n `}\n`;\n\nStyledTypography.displayName = \"StyledTypography\";\n","import React, { HTMLAttributes, forwardRef } from \"react\";\nimport classNames from \"classnames\";\nimport { StyledTypography } from \"./Styles\";\nimport {\n PolymorphicComponentPropsWithRef,\n PolymorphicRef,\n} from \"../../utils/types\";\n\nexport type Variant =\n | \"Title 1\"\n | \"Title 2\"\n | \"Header 2\"\n | \"Header 3\"\n | \"Body 1\"\n | \"Body 2\"\n | \"Caption 1\"\n | \"Caption 2\";\n\nexport interface ITypographyProps extends HTMLAttributes<HTMLElement> {\n /** Font color. */\n color?:\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"quaternary\"\n | \"theme-primary\"\n | \"theme-secondary\"\n | \"only-white\"\n | \"only-black\"\n | \"page-paper\"\n | \"success\"\n | \"alert\"\n | \"warning\";\n /** Tabular numbers. */\n tabularNums?: boolean;\n /** Italic font style. */\n italic?: boolean;\n /** Font letter spacing. */\n letterSpacing?: \"tight\" | \"regular\" | \"wide\";\n /** Font line height. */\n lineHeight?: \"tight\" | \"regular\" | \"loose\";\n /** Font align. */\n align?: \"left\" | \"center\" | \"right\" | \"justify\";\n /** Underline font style. */\n decoration?: \"underline\" | \"line-through\" | \"none\";\n /** Font transform. */\n transform?: \"uppercase\" | \"lowercase\" | \"capitalize\" | \"regular\";\n /** Font overflow. */\n overflow?: \"truncate\" | \"ellipsis\" | \"visible\";\n /** Font whitespace. */\n whitespace?:\n | \"regular\"\n | \"no-wrap\"\n | \"pre\"\n | \"pre-wrap\"\n | \"pre-line\"\n | \"break-spaces\";\n /** Font word break. */\n wordBreak?: \"regular\" | \"smart\" | \"all\";\n /** Custom className for styling. */\n className?: string;\n /** Element variant. */\n variant?: Variant;\n /** Font weight. */\n weight?: \"light\" | \"regular\" | \"medium\" | \"bold\";\n /** Font size. */\n size?: \"32\" | \"18\" | \"16\" | \"14\" | \"12\" | \"10\";\n}\n\nexport type TypographyProps<C extends React.ElementType> =\n PolymorphicComponentPropsWithRef<C, ITypographyProps>;\n\nexport type TypographyComponent = <C extends React.ElementType = \"div\">(\n props: TypographyProps<C>\n) => React.ReactElement | null;\n\nexport const Typography: TypographyComponent & { displayName?: string } =\n forwardRef(\n <C extends React.ElementType = \"div\">(\n {\n variant = \"Title 1\",\n as,\n color = \"primary\",\n italic = false,\n tabularNums = false,\n letterSpacing = \"tight\",\n lineHeight = \"regular\",\n align = \"left\",\n decoration = \"none\",\n transform = \"regular\",\n overflow = \"visible\",\n whitespace = \"regular\",\n wordBreak = \"regular\",\n weight = \"regular\",\n className,\n children,\n ...props\n }: TypographyProps<C>,\n ref?: PolymorphicRef<C>\n ) => {\n const Component = as || \"div\";\n return (\n <StyledTypography\n as={Component}\n className={classNames(\"typography\", className)}\n $italic={italic}\n $tabularNums={tabularNums}\n $letterSpacing={letterSpacing}\n $lineHeight={lineHeight}\n $align={align}\n $decoration={decoration}\n $transform={transform}\n $overflow={overflow}\n $whitespace={whitespace}\n $wordBreak={wordBreak}\n $variant={variant}\n $color={color}\n $weight={weight}\n ref={ref}\n {...props}\n >\n {children}\n </StyledTypography>\n );\n }\n );\n\nTypography.displayName = \"Typography\";\n","import React, { forwardRef, HTMLAttributes, ReactNode, Ref } from \"react\";\nimport classnames from \"classnames\";\nimport { Typography } from \"../Typography/Typography\";\nimport { StyledMenuHeader } from \"./Styles\";\n\ninterface IMenuHeader {\n className?: string;\n title?: string;\n leftElement?: ReactNode;\n rightElement?: ReactNode;\n}\n\nexport const MenuHeader = forwardRef(\n (\n {\n title,\n className,\n leftElement,\n rightElement,\n ...props\n }: IMenuHeader & HTMLAttributes<HTMLDivElement>,\n ref: Ref<HTMLDivElement>\n ) => {\n return (\n <StyledMenuHeader\n {...props}\n className={classnames(\"c-menu-header\", className)}\n ref={ref}\n >\n {leftElement || <div style={{ minWidth: \"24px\" }}>&nbsp;</div>}\n <Typography\n variant=\"Body 2\"\n color=\"secondary\"\n weight=\"bold\"\n overflow=\"truncate\"\n style={{ marginLeft: \"4px\", marginRight: \"4px \" }}\n >\n {title}\n </Typography>\n {rightElement || <div style={{ minWidth: \"24px\" }}>&nbsp;</div>}\n </StyledMenuHeader>\n );\n }\n);\n\nMenuHeader.displayName = \"MenuHeader\";\n","import React, {\n forwardRef,\n HTMLAttributes,\n ReactNode,\n ReactNodeArray,\n Ref,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { StyledMenuFooter } from \"./Styles\";\n\nexport interface IMenuFooter {\n className?: string;\n children?: ReactNode | ReactNodeArray;\n}\n\nexport const MenuFooter = forwardRef(\n (\n {\n children,\n className,\n ...props\n }: IMenuFooter & HTMLAttributes<HTMLDivElement>,\n ref: Ref<HTMLDivElement>\n ) => {\n return (\n <StyledMenuFooter\n {...props}\n className={classnames(\"c-menu-footer\", className)}\n ref={ref}\n >\n {children}\n </StyledMenuFooter>\n );\n }\n);\n\nMenuFooter.displayName = \"MenuFooter\";\n","import styled from \"styled-components\";\nimport { FontStyle } from \"../FontStyle\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\n\nexport const StyledList = styled.ul`\n list-style-type: none;\n margin: 0;\n padding: 0;\n`;\n\nStyledList.displayName = \"StyledList\";\n\nexport const StyledListItem = styled.li`\n ${BoxSizingStyle}\n ${FontStyle}\n\n display: flex;\n flex-direction: row;\n align-items: center;\n cursor: pointer;\n padding: 0 1rem;\n margin: 0.25rem 0;\n font-size: 0.875rem;\n user-select: none;\n\n color: var(--color-theme-900);\n line-height: 28px;\n\n > svg:first-child {\n margin-right: 8px;\n }\n\n &:hover,\n &:focus-visible {\n background-color: var(--color-theme-200);\n outline: none;\n }\n`;\n\nStyledListItem.displayName = \"StyledListItem\";\n\nexport const StyledListSeparator = styled.div`\n border-top: 1px solid var(--border-primary);\n margin: 12px 16px;\n height: 1px;\n`;\n\nStyledListSeparator.displayName = \"StyledListSeparator\";\n","import React, {\n forwardRef,\n HTMLAttributes,\n PropsWithChildren,\n Ref,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { StyledListItem } from \"./Styles\";\n\nexport interface ListItemProps {\n className?: string;\n}\n\nexport const ListItem = forwardRef(\n (\n {\n children,\n className,\n ...props\n }: PropsWithChildren<ListItemProps> & HTMLAttributes<HTMLLIElement>,\n ref: Ref<HTMLLIElement> | null | undefined\n ) => {\n return (\n <StyledListItem\n className={classnames(\"c-list-item\", className)}\n ref={ref}\n tabIndex={0}\n {...props}\n >\n {children}\n </StyledListItem>\n );\n }\n);\n\nListItem.displayName = \"ListItem\";\n","import React, { HTMLAttributes } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledListSeparator } from \"./Styles\";\n\nexport const ListSeparator = ({\n className,\n ...props\n}: HTMLAttributes<HTMLDivElement>) => {\n return (\n <StyledListSeparator\n className={classnames(\"c-list-separator\", className)}\n {...props}\n />\n );\n};\n\nListSeparator.displayName = \"ListSeparator\";\n","import React, {\n forwardRef,\n HTMLAttributes,\n Ref,\n PropsWithChildren,\n} from \"react\";\n\nimport { ListItem } from \"./ListItem\";\nimport { ListSeparator } from \"./ListSeparator\";\n\nimport { StyledList } from \"./Styles\";\n\nexport interface ListProps {\n /** Applies passed classes */\n className?: string;\n}\n\nexport const _List = forwardRef(\n (\n {\n children,\n className,\n ...props\n }: PropsWithChildren<ListProps> & HTMLAttributes<HTMLUListElement>,\n ref: Ref<HTMLUListElement> | null | undefined\n ) => {\n return (\n <StyledList className={className} ref={ref} tabIndex={-1} {...props}>\n {children}\n </StyledList>\n );\n }\n);\n\n_List.displayName = \"List\";\n\n// https://github.com/DefinitelyTyped/DefinitelyTyped/issues/34757\nexport const List = Object.assign({}, _List, {\n Item: ListItem,\n Separator: ListSeparator,\n});\n","import styled, { css } from \"styled-components\";\nimport { Button } from \"../Button\";\n\nexport const StyledIconButton = styled(Button)`\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding: 0;\n width: 32px;\n\n ${({ size }) =>\n size === \"small\" &&\n css`\n width: 24px;\n `}\n\n ${({ size }) =>\n size === \"big\" &&\n css`\n width: 40px;\n `}\n`;\n","import React, { forwardRef, PropsWithChildren } from \"react\";\nimport { ButtonProps } from \"../Button\";\nimport { StyledIconButton } from \"./Styles\";\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IconButtonProps extends ButtonProps {}\n\n/**\n * @component IconButton\n * @description\n * IconButton composes the Button component except that it renders only an icon.\n * Since IconButton only renders an icon, you have to pass the aria-label prop,\n * so screen readers can give meaning to the button.\n *\n * @props See Button props.\n *\n * @example\n * return (\n * <IconButton className=\"mr-2\" variant=\"primary\" size=\"medium\" aria-label=\"Close dialog\">\n * <CloseIcon />\n * </IconButton>\n * )\n * @see\n * https://system.activecollab.com/?path=/story/components-button-indicators-button--icon-button\n * https://design.activecollab.com/docs/components/button\n */\n\nexport const IconButton = forwardRef<\n HTMLButtonElement,\n PropsWithChildren<IconButtonProps>\n>(({ children, className, variant, size, active, ...args }, ref) => {\n return (\n <StyledIconButton\n className={className}\n variant={variant}\n size={size}\n active={active}\n ref={ref}\n {...args}\n >\n {children}\n </StyledIconButton>\n );\n});\n\nIconButton.displayName = \"IconButton\";\n","import React from \"react\";\n\n/**\n * @component ActivityIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ActivityIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ActivityIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ActivityIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M6 4a2 2 0 00-2 2v12a2 2 0 002 2h12a2 2 0 002-2V6a2 2 0 00-2-2H6zm0-2h12a4 4 0 014 4v12a4 4 0 01-4 4H6a4 4 0 01-4-4V6a4 4 0 014-4zm2.962 10.317a1 1 0 01-.949.684H5.76a1 1 0 010-2h1.532l1.772-5.317c.304-.912 1.594-.912 1.898 0l3.051 9.154 1.051-3.154a1 1 0 01.95-.684H18a1 1 0 010 2h-1.266l-1.772 5.316c-.304.912-1.594.912-1.898 0l-3.05-9.153-1.052 3.154z\" />\n <path\n stroke=\"#F4F5F7\"\n strokeWidth={0.1}\n opacity={0.01}\n d=\"M.05.05h23.9v23.9H.05z\"\n />\n </svg>\n )\n);\nActivityIcon.displayName = \"ActivityIcon\";\nexport default ActivityIcon;\n","import React from \"react\";\n\n/**\n * @component AddCrossIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <AddCrossIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst AddCrossIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={10}\n height={10}\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"AddCrossIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M6 0v4h4v2H6v4H4V6H0V4h4V0h2z\" fillRule=\"nonzero\" />\n </svg>\n )\n);\nAddCrossIcon.displayName = \"AddCrossIcon\";\nexport default AddCrossIcon;\n","import React from \"react\";\n\n/**\n * @component ArrowBackMobileIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ArrowBackMobileIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ArrowBackMobileIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ArrowBackMobileIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.293 4.222a1 1 0 011.492 1.327l-.078.087L9.343 12l6.364 6.364a1 1 0 01.078 1.327l-.078.087a1 1 0 01-1.327.078l-.087-.078-7.071-7.07a1 1 0 01-.078-1.328l.078-.087 7.07-7.071z\"\n />\n </svg>\n )\n);\nArrowBackMobileIcon.displayName = \"ArrowBackMobileIcon\";\nexport default ArrowBackMobileIcon;\n","import React from \"react\";\n\n/**\n * @component ArrowCollapseMultipleIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ArrowCollapseMultipleIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ArrowCollapseMultipleIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ArrowCollapseMultipleIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 15l4.72 4.461a.867.867 0 010 1.275.995.995 0 01-1.25.08l-.098-.08L12 17.549l-3.372 3.187a.993.993 0 01-1.349 0 .865.865 0 01-.079-1.19l.08-.085L12 15zm4.72-11.736a.867.867 0 010 1.275L12 9 7.28 4.539a.867.867 0 010-1.275.993.993 0 011.348 0L12 6.451l3.372-3.187a.993.993 0 011.349 0zM6 11h12a1 1 0 010 2H6a1 1 0 010-2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nArrowCollapseMultipleIcon.displayName = \"ArrowCollapseMultipleIcon\";\nexport default ArrowCollapseMultipleIcon;\n","import React from \"react\";\n\n/**\n * @component ArrowDownLongIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ArrowDownLongIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ArrowDownLongIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ArrowDownLongIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M13 5v9h4l-5 5-5-5h4V5z\" fillRule=\"evenodd\" />\n </svg>\n )\n);\nArrowDownLongIcon.displayName = \"ArrowDownLongIcon\";\nexport default ArrowDownLongIcon;\n","import React from \"react\";\n\n/**\n * @component ArrowDownIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ArrowDownIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ArrowDownIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n data-testid=\"ArrowDownIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n d=\"M15.372 10.264a.993.993 0 011.349 0 .867.867 0 010 1.275L12 16l-4.72-4.461a.867.867 0 010-1.275.993.993 0 011.348 0L12 13.451l3.372-3.187z\"\n />\n </svg>\n )\n);\nArrowDownIcon.displayName = \"ArrowDownIcon\";\nexport default ArrowDownIcon;\n","import React from \"react\";\n\n/**\n * @component ArrowExpandeMultipleIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ArrowExpandeMultipleIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ArrowExpandeMultipleIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ArrowExpandeMultipleIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M16.72 15.264a.867.867 0 010 1.275L12 21l-4.72-4.461a.867.867 0 010-1.275.993.993 0 011.348 0L12 18.451l3.372-3.187a.993.993 0 011.349 0zM18 11a1 1 0 010 2H6a1 1 0 010-2h12zm-6-8l4.72 4.461a.867.867 0 010 1.275.995.995 0 01-1.25.08l-.098-.08L12 5.549 8.628 8.736a.993.993 0 01-1.349 0 .865.865 0 01-.079-1.19l.08-.085L12 3z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nArrowExpandeMultipleIcon.displayName = \"ArrowExpandeMultipleIcon\";\nexport default ArrowExpandeMultipleIcon;\n","import React from \"react\";\n\n/**\n * @component ArrowLeftBoxIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ArrowLeftBoxIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ArrowLeftBoxIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ArrowLeftBoxIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M8.92 15.59L6.33 13H16v-2H6.33l2.59-2.59L7.5 7l-5 5 5 5 1.42-1.41zM8 3v2h11v14H8v2h11a2 2 0 002-2V5c0-1.11-.89-2-2-2H8z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nArrowLeftBoxIcon.displayName = \"ArrowLeftBoxIcon\";\nexport default ArrowLeftBoxIcon;\n","import React from \"react\";\n\n/**\n * @component ArrowLeftIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ArrowLeftIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ArrowLeftIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ArrowLeftIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M13.45 6.337l-5.657 5.657 5.657 5.657a1 1 0 101.414-1.414l-4.241-4.243 4.241-4.243a1 1 0 00-1.414-1.414z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nArrowLeftIcon.displayName = \"ArrowLeftIcon\";\nexport default ArrowLeftIcon;\n","import React from \"react\";\n\n/**\n * @component ArrowRefreshIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ArrowRefreshIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ArrowRefreshIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ArrowRefreshIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 3a9 9 0 00-9 9H1l3 3.89L7 12H5a7 7 0 117 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42A8.896 8.896 0 0012 21a9 9 0 000-18z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nArrowRefreshIcon.displayName = \"ArrowRefreshIcon\";\nexport default ArrowRefreshIcon;\n","import React from \"react\";\n\n/**\n * @component ArrowRightIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ArrowRightIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ArrowRightIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ArrowRightIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M10.914 6.337l5.657 5.657-5.657 5.657A1 1 0 019.5 16.237l4.241-4.243L9.5 7.751a1 1 0 011.414-1.414z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nArrowRightIcon.displayName = \"ArrowRightIcon\";\nexport default ArrowRightIcon;\n","import React from \"react\";\n\n/**\n * @component ArrowUpLongIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ArrowUpLongIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ArrowUpLongIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ArrowUpLongIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M13 19v-9h4l-5-5-5 5h4v9z\" fillRule=\"evenodd\" />\n </svg>\n )\n);\nArrowUpLongIcon.displayName = \"ArrowUpLongIcon\";\nexport default ArrowUpLongIcon;\n","import React from \"react\";\n\n/**\n * @component ArrowUpIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ArrowUpIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ArrowUpIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n data-testid=\"ArrowUpIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n d=\"M15.372 14.236a.993.993 0 001.349 0 .867.867 0 000-1.275L12 8.5l-4.72 4.461a.867.867 0 000 1.275.993.993 0 001.348 0L12 11.049l3.372 3.187z\"\n />\n </svg>\n )\n);\nArrowUpIcon.displayName = \"ArrowUpIcon\";\nexport default ArrowUpIcon;\n","import React from \"react\";\n\n/**\n * @component AssignIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <AssignIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst AssignIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"AssignIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2c.685 0 1.354.069 2.001.2v2.052a8 8 0 00-7.86 13.195 3.988 3.988 0 011.981-1.05A19.248 19.248 0 0112 16c1.292 0 2.585.133 3.877.398.76.156 1.444.525 1.983 1.048A7.97 7.97 0 0020 12c0-.69-.087-1.36-.252-2H21.8c.131.646.2 1.315.2 2a9.971 9.971 0 01-3.073 7.212l-.001.001-.056.053a10.057 10.057 0 01-1.61 1.24A9.953 9.953 0 0112 22a9.954 9.954 0 01-4.951-1.31l-.31-.184-.02-.013a10.02 10.02 0 01-1.634-1.27l-.012-.01A9.971 9.971 0 012 12C2 6.477 6.477 2 12 2zm0 16c-1.157 0-2.315.119-3.476.357a1.998 1.998 0 00-.831.385A7.958 7.958 0 0012 20a7.963 7.963 0 004.307-1.257 1.984 1.984 0 00-.832-.386A17.249 17.249 0 0012 18zm0-11a4 4 0 110 8 4 4 0 010-8zm0 2a2 2 0 100 4 2 2 0 000-4zm8-7v2h2v2h-2v2h-2V5.999L16 6V4l2-.001V2h2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nAssignIcon.displayName = \"AssignIcon\";\nexport default AssignIcon;\n","import React from \"react\";\n\n/**\n * @component AttachmentIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <AttachmentIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst AttachmentIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"AttachmentIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12.814 2.454l1.414 1.414-8.485 8.486a4 4 0 005.512 5.794l.144-.138 8.132-8.131a1.5 1.5 0 00-2.014-2.219l-.107.097-8.58 8.58-1.414-1.414 8.58-8.58a3.5 3.5 0 015.082 4.81l-.133.14-8.131 8.132A6 6 0 014.172 11.1l.156-.162 8.486-8.485z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nAttachmentIcon.displayName = \"AttachmentIcon\";\nexport default AttachmentIcon;\n","import React from \"react\";\n\n/**\n * @component BellOffSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <BellOffSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst BellOffSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"BellOffSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M8 11v1H4v-1h4zM1.414.707l9.9 9.9-.707.707L9.293 10H2V5c0-.665.162-1.292.45-1.843L.706 1.414l.707-.707zm1.591 4.117L3 5v4h5.293l-5.09-5.09c-.11.286-.18.593-.198.914zM7 0v1.126c1.725.444 3 2.01 3 3.874v2.9l-1-1V5a3 3 0 00-2.824-2.995L6 2c-.546 0-1.058.146-1.499.4l-.726-.725A3.98 3.98 0 015 1.126L5 0h2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nBellOffSmallIcon.displayName = \"BellOffSmallIcon\";\nexport default BellOffSmallIcon;\n","import React from \"react\";\n\n/**\n * @component BellOffIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <BellOffIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst BellOffIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"BellOffIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M11 19c0 .6.4 1 1 1s1-.4 1-1h2c0 1.7-1.3 3-3 3s-3-1.3-3-3h2zM4.222 2.808l16.97 16.97-1.414 1.414L16.586 18H3v-3.9l.7-.2C4.5 13.6 5 12.8 5 12v-2c0-1.029.232-2.028.652-2.932L2.808 4.222l1.414-1.414zM12 1c1.44 0 2.696 1.014 2.97 2.51l.03.19c2.4 1.2 4 3.6 4 6.3v2c0 .8.5 1.6 1.3 1.9l.7.2v2.674l-3.909-3.907A4.121 4.121 0 0117 12v-2c0-1.9-1.1-3.7-2.9-4.5l-1-.5-.1-1.1c-.1-.5-.5-.9-1-.9s-.9.4-1 .9L10.9 5l-1 .5-.118.055-1.481-1.482c.224-.137.458-.262.699-.373.2-1.6 1.5-2.7 3-2.7zm2.586 15L7.198 8.613C7.068 9.06 7 9.527 7 10v2c0 1.4-.8 2.8-2 3.5v.5h9.586z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nBellOffIcon.displayName = \"BellOffIcon\";\nexport default BellOffIcon;\n","import React from \"react\";\n\n/**\n * @component BillingIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <BillingIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst BillingIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"BillingIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M4 5h3v2H4v10h3v2H4a2 2 0 01-2-2V7a2 2 0 012-2zm16 12h-3v2h3a2 2 0 002-2V7a2 2 0 00-2-2h-3v2h3v10zm-9 0h2v-1h1a1 1 0 001-1v-3a1 1 0 00-1-1h-3v-1h4V8h-2V7h-2v1h-1a1 1 0 00-1 1v3a1 1 0 001 1h3v1H9v2h2v1z\"\n />\n </svg>\n )\n);\nBillingIcon.displayName = \"BillingIcon\";\nexport default BillingIcon;\n","import React from \"react\";\n\n/**\n * @component BudgetAlertIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <BudgetAlertIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst BudgetAlertIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"BudgetAlertIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M14 17v1h-4v-1h4zM13 5l.001 1.1A5.002 5.002 0 0117 11v5H7v-5a5.002 5.002 0 014-4.9V5h2zm-1 2a4 4 0 00-3.995 3.8L8 11v4h8v-4a4 4 0 00-3.8-3.995L12 7z\"\n fillRule=\"nonzero\"\n />\n </svg>\n )\n);\nBudgetAlertIcon.displayName = \"BudgetAlertIcon\";\nexport default BudgetAlertIcon;\n","import React from \"react\";\n\n/**\n * @component CalendarAddXIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CalendarAddXIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CalendarAddXIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CalendarAddXIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M7 2v2h10V2h2v2h1a2 2 0 012 2v6h-2V9H4v11h8v2H4a2 2 0 01-2-2V6a2 2 0 012-2h1V2h2zm12 12v3h3v2h-3v3h-2v-3h-3v-2l3-.001V14h2zm-9.586-3.828l1.414 1.414L9.414 13l1.414 1.414-1.414 1.414L8 14.414l-1.413 1.414-1.414-1.414L6.585 13l-1.413-1.413 1.414-1.414L8 11.586l1.414-1.414z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nCalendarAddXIcon.displayName = \"CalendarAddXIcon\";\nexport default CalendarAddXIcon;\n","import React from \"react\";\n\n/**\n * @component CalendarIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CalendarIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CalendarIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CalendarIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M7 2v2h10V2h2v2h1a2 2 0 012 2v14a2 2 0 01-2 2H4a2 2 0 01-2-2V6a2 2 0 012-2h1V2h2zm13 7H4v11h16V9zm-10 2v4H6v-4h4z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nCalendarIcon.displayName = \"CalendarIcon\";\nexport default CalendarIcon;\n","import React from \"react\";\n\n/**\n * @component CancelCrossIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CancelCrossIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CancelCrossIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CancelCrossIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M16.95 5.636l1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95L7.05 5.636l4.95 4.95z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nCancelCrossIcon.displayName = \"CancelCrossIcon\";\nexport default CancelCrossIcon;\n","import React from \"react\";\n\n/**\n * @component CaretLeftIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CaretLeftIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CaretLeftIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={18}\n height={18}\n viewBox=\"0 0 18 18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CaretLeftIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M10 5v8L6 9l4-4z\" fillRule=\"evenodd\" />\n </svg>\n )\n);\nCaretLeftIcon.displayName = \"CaretLeftIcon\";\nexport default CaretLeftIcon;\n","import React from \"react\";\n\n/**\n * @component CaretRightIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CaretRightIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CaretRightIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={18}\n height={18}\n viewBox=\"0 0 18 18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CaretRightIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M8 5v8l4-4-4-4z\" fillRule=\"evenodd\" />\n </svg>\n )\n);\nCaretRightIcon.displayName = \"CaretRightIcon\";\nexport default CaretRightIcon;\n","import React from \"react\";\n\n/**\n * @component ChatIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ChatIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ChatIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ChatIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M20 4a3 3 0 013 3v9.2a3 3 0 01-3 3H7.794L1 23V7a3 3 0 013-3h16z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nChatIcon.displayName = \"ChatIcon\";\nexport default ChatIcon;\n","import React from \"react\";\n\n/**\n * @component CheckIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CheckIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CheckIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CheckIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M5.613 10.21l.094.083L10 14.585l8.293-8.292a1 1 0 011.497 1.32l-.083.094-9 9a1 1 0 01-1.414 0l-5-5a1 1 0 011.32-1.497z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nCheckIcon.displayName = \"CheckIcon\";\nexport default CheckIcon;\n","import React from \"react\";\n\n/**\n * @component CheckboxBlankTogglerIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CheckboxBlankTogglerIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CheckboxBlankTogglerIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CheckboxBlankTogglerIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 100 16 8 8 0 000-16zm3.607 5.707a1 1 0 010 1.414l-3.657 3.657a1 1 0 01-1.414 0L8.707 12.95a1 1 0 011.414-1.414l1.12 1.12 2.951-2.949a1 1 0 011.415 0z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nCheckboxBlankTogglerIcon.displayName = \"CheckboxBlankTogglerIcon\";\nexport default CheckboxBlankTogglerIcon;\n","import React from \"react\";\n\n/**\n * @component CheckboxIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CheckboxIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CheckboxIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={16}\n height={16}\n viewBox=\"0 0 16 16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CheckboxIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <g fillRule=\"evenodd\">\n <rect stroke=\"#8E8E8E\" x={0.5} y={0.5} width={15} height={15} rx={2} />\n <path\n stroke=\"#979797\"\n strokeWidth={2}\n d=\"M12.243 5l-5.657 5.657-2.829-2.829\"\n />\n </g>\n </svg>\n )\n);\nCheckboxIcon.displayName = \"CheckboxIcon\";\nexport default CheckboxIcon;\n","import React from \"react\";\n\n/**\n * @component ChecklistSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ChecklistSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ChecklistSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ChecklistSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M2.5 9a1.5 1.5 0 110 3 1.5 1.5 0 010-3zm0 1a.5.5 0 100 1 .5.5 0 000-1zm8.5 0v1H5v-1h6zM2.5 5a1.5 1.5 0 110 3 1.5 1.5 0 010-3zm0 1a.5.5 0 100 1 .5.5 0 000-1zM11 6v1H5V6h6zM2.5 1a1.5 1.5 0 110 3 1.5 1.5 0 010-3zm0 1a.5.5 0 100 1 .5.5 0 000-1zM11 2v1H5V2h6z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nChecklistSmallIcon.displayName = \"ChecklistSmallIcon\";\nexport default ChecklistSmallIcon;\n","import React from \"react\";\n\n/**\n * @component ChecklistIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ChecklistIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ChecklistIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ChecklistIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M5 16a3 3 0 110 6 3 3 0 010-6zm16 2a1 1 0 010 2H11a1 1 0 010-2h10zM5 18a1 1 0 100 2 1 1 0 000-2zm0-9a3 3 0 110 6 3 3 0 010-6zm16 2a1 1 0 010 2H11a1 1 0 010-2h10zM5 11a1 1 0 100 2 1 1 0 000-2zm0-9a3 3 0 110 6 3 3 0 010-6zm16 2a1 1 0 010 2H11a1 1 0 010-2h10zM5 4a1 1 0 100 2 1 1 0 000-2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nChecklistIcon.displayName = \"ChecklistIcon\";\nexport default ChecklistIcon;\n","import React from \"react\";\n\n/**\n * @component CircleMultipleIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CircleMultipleIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CircleMultipleIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CircleMultipleIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M19.657 8.343A8 8 0 118.343 19.657 8 8 0 0119.657 8.343zm-9.9 1.414a6 6 0 108.486 8.486 6 6 0 00-8.486-8.486zM10 2a7.97 7.97 0 015.291 2H10a6 6 0 00-5.996 5.775L4 10v5.291A8 8 0 0110 2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nCircleMultipleIcon.displayName = \"CircleMultipleIcon\";\nexport default CircleMultipleIcon;\n","import React from \"react\";\n\n/**\n * @component ClockAddIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ClockAddIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ClockAddIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ClockAddIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M2 12C2 6.477 6.477 2 12 2s10 4.477 10 10h-2a8 8 0 10-8 8v2C6.477 22 2 17.523 2 12zm17 2v3h3v2h-3v3h-2v-3.001L14 19v-2l3-.001V14h2zm-8-8v4.999L6 11v2h7V6h-2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nClockAddIcon.displayName = \"ClockAddIcon\";\nexport default ClockAddIcon;\n","import React from \"react\";\n\n/**\n * @component ClockSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ClockSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ClockSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ClockSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M5.5.9a5.5 5.5 0 110 11 5.5 5.5 0 010-11zm0 1a4.5 4.5 0 100 9 4.5 4.5 0 000-9zM6 3v3h3v1H5V3h1z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nClockSmallIcon.displayName = \"ClockSmallIcon\";\nexport default ClockSmallIcon;\n","import React from \"react\";\n\n/**\n * @component ClockStopwatchSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ClockStopwatchSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ClockStopwatchSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ClockStopwatchSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M5.5.9a5.5 5.5 0 110 11 5.5 5.5 0 010-11zm0 1a4.5 4.5 0 100 9 4.5 4.5 0 000-9zm.515 1v4H5v-4h1.015zM9.797 0l2.152 2.121-.717.707L9.08.708 9.797 0z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nClockStopwatchSmallIcon.displayName = \"ClockStopwatchSmallIcon\";\nexport default ClockStopwatchSmallIcon;\n","import React from \"react\";\n\n/**\n * @component ClockStopwatchIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ClockStopwatchIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ClockStopwatchIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ClockStopwatchIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2c2.393 0 4.59.84 6.312 2.243l1.604-1.657L21.33 4 19.73 5.654A9.959 9.959 0 0122 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 100 16 8 8 0 000-16zm-1 2v7h2V6h-2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nClockStopwatchIcon.displayName = \"ClockStopwatchIcon\";\nexport default ClockStopwatchIcon;\n","import React from \"react\";\n\n/**\n * @component ClockIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ClockIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ClockIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ClockIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 100 16 8 8 0 000-16zm1 2v7H6v-2h5V6h2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nClockIcon.displayName = \"ClockIcon\";\nexport default ClockIcon;\n","import React from \"react\";\n\n/**\n * @component CloseSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CloseSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CloseSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CloseSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M9.485 8.071l2.828 2.827 2.83-2.827a1 1 0 011.413 1.414l-2.828 2.828 2.828 2.83a1 1 0 01-1.414 1.413l-2.829-2.828-2.828 2.828a1 1 0 11-1.414-1.414l2.827-2.829-2.827-2.828a1 1 0 011.414-1.414z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nCloseSmallIcon.displayName = \"CloseSmallIcon\";\nexport default CloseSmallIcon;\n","import React from \"react\";\n\n/**\n * @component CloseIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CloseIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CloseIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CloseIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.613 6.21l.094.083L12 10.585l4.293-4.292a1 1 0 011.497 1.32l-.083.094L13.415 12l4.292 4.293a1 1 0 01-1.32 1.497l-.094-.083L12 13.415l-4.293 4.292a1 1 0 01-1.497-1.32l.083-.094L10.585 12 6.293 7.707a1 1 0 011.32-1.497z\"\n />\n </svg>\n )\n);\nCloseIcon.displayName = \"CloseIcon\";\nexport default CloseIcon;\n","import React from \"react\";\n\n/**\n * @component CollapsIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CollapsIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CollapsIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={6}\n height={9}\n viewBox=\"0 0 6 9\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CollapsIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M4.243.22L0 4.462l4.243 4.243a.75.75 0 101.06-1.06l-3.18-3.183 3.18-3.182A.75.75 0 004.243.22z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nCollapsIcon.displayName = \"CollapsIcon\";\nexport default CollapsIcon;\n","import React from \"react\";\n\n/**\n * @component CollapseAllIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CollapseAllIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CollapseAllIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CollapseAllIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 15l4.72 4.461a.867.867 0 010 1.275.993.993 0 01-1.348 0L12 17.549l-3.372 3.187a.993.993 0 01-1.349 0 .867.867 0 010-1.275L12 15zm4.72-11.736a.867.867 0 010 1.275L12 9 7.28 4.539a.867.867 0 010-1.275.993.993 0 011.348 0L12 6.451l3.372-3.187a.993.993 0 011.349 0zM12 14a2 2 0 100-4 2 2 0 000 4z\"\n fillRule=\"nonzero\"\n />\n </svg>\n )\n);\nCollapseAllIcon.displayName = \"CollapseAllIcon\";\nexport default CollapseAllIcon;\n","import React from \"react\";\n\n/**\n * @component CollapseExpandSingleIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CollapseExpandSingleIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CollapseExpandSingleIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CollapseExpandSingleIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M15.372 14.736a.993.993 0 001.349 0 .867.867 0 000-1.275L12 9l-4.72 4.461a.867.867 0 000 1.275.993.993 0 001.348 0L12 11.549l3.372 3.187z\"\n fillRule=\"nonzero\"\n />\n </svg>\n )\n);\nCollapseExpandSingleIcon.displayName = \"CollapseExpandSingleIcon\";\nexport default CollapseExpandSingleIcon;\n","import React from \"react\";\n\n/**\n * @component ComputerIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ComputerIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ComputerIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ComputerIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M21 16H3V4h18m0-2H3c-1.11 0-2 .89-2 2v12a2 2 0 002 2h7v2H8v2h8v-2h-2v-2h7a2 2 0 002-2V4a2 2 0 00-2-2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nComputerIcon.displayName = \"ComputerIcon\";\nexport default ComputerIcon;\n","import React from \"react\";\n\n/**\n * @component CopyIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CopyIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CopyIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CopyIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M20 20V8H8v12h12m2 0a2 2 0 01-2 2H8a2 2 0 01-2-2V8c0-1.11.89-2 2-2h12a2 2 0 012 2v12M4 16H2V4a2 2 0 012-2h13v2H4v12z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nCopyIcon.displayName = \"CopyIcon\";\nexport default CopyIcon;\n","import React from \"react\";\n\n/**\n * @component CrownBlankIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CrownBlankIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CrownBlankIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CrownBlankIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M15.674 9.488l2.704-.98L17.3 13H6.7L5.663 8.507l2.662.978A1 1 0 009.45 9.17L12 5.988l2.552 3.186a1 1 0 001.122.314zM8.5 7.482L4.69 6.097a1 1 0 00-1.32 1.145L5 15h14l1.63-7.758a1 1 0 00-1.32-1.145L15.5 7.482l-2.747-3.14a1 1 0 00-1.506 0L8.5 7.482zM19 17H5v1c0 .6.4 1 1 1h12c.6 0 1-.4 1-1v-1z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nCrownBlankIcon.displayName = \"CrownBlankIcon\";\nexport default CrownBlankIcon;\n","import React from \"react\";\n\n/**\n * @component CrownSelectedIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CrownSelectedIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CrownSelectedIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CrownSelectedIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M8.5 7.487L4.69 6.1a1 1 0 00-1.32 1.146L5 15h14l1.63-7.753A1 1 0 0019.31 6.1L15.5 7.487l-2.747-3.14a1 1 0 00-1.506 0L8.5 7.487zM19 17H5v1c0 .6.4 1 1 1h12c.6 0 1-.4 1-1v-1z\"\n fillRule=\"nonzero\"\n />\n </svg>\n )\n);\nCrownSelectedIcon.displayName = \"CrownSelectedIcon\";\nexport default CrownSelectedIcon;\n","import React from \"react\";\n\n/**\n * @component DependencySmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DependencySmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DependencySmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DependencySmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M10 7a2 2 0 110 4 2 2 0 010-4zm0 1a1 1 0 100 2 1 1 0 000-2zM4.5 6v2.499L7 8.5v1H3.5V6h1zM4 1a2 2 0 110 4 2 2 0 010-4zm0 1a1 1 0 100 2 1 1 0 000-2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDependencySmallIcon.displayName = \"DependencySmallIcon\";\nexport default DependencySmallIcon;\n","import React from \"react\";\n\n/**\n * @component DependencyIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DependencyIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DependencyIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DependencyIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M19 14a4 4 0 110 8 4 4 0 010-8zm0 2a2 2 0 100 4 2 2 0 000-4zM8 12v4.998L13 17v2H6v-7h2zM7 2a4 4 0 110 8 4 4 0 010-8zm0 2a2 2 0 100 4 2 2 0 000-4z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDependencyIcon.displayName = \"DependencyIcon\";\nexport default DependencyIcon;\n","import React from \"react\";\n\n/**\n * @component DiscussionAddIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DiscussionAddIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DiscussionAddIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DiscussionAddIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M22 13v9l-4-4H8a2 2 0 01-1.995-1.85L6 16v-1h10a3.001 3.001 0 002.829-2H22zM12 2v2H4v8.17L5.17 11H16l.001 1.732a1.987 1.987 0 01-.82.26L15 13H6l-4 4V4a2 2 0 011.85-1.995L4 2h8zm7 0v3h3v2h-3v3h-2V6.999L14 7V5l3-.001V2h2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDiscussionAddIcon.displayName = \"DiscussionAddIcon\";\nexport default DiscussionAddIcon;\n","import React from \"react\";\n\n/**\n * @component DollarCheckmarkSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DollarCheckmarkSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DollarCheckmarkSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DollarCheckmarkSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M11.243 8.121l.707.707-2.829 2.829L7 9.536l.707-.708 1.414 1.414 2.122-2.12zM5.5 0a5.5 5.5 0 015.293 7l-1.05.001A4.5 4.5 0 106 9.972v1.006A5.5 5.5 0 115.5 0zM6 2v1h1v1H5v1h2v3H6v1H5V8H4V7h2V6H4V3h1V2h1z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDollarCheckmarkSmallIcon.displayName = \"DollarCheckmarkSmallIcon\";\nexport default DollarCheckmarkSmallIcon;\n","import React from \"react\";\n\n/**\n * @component DollarCheckmarkIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DollarCheckmarkIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DollarCheckmarkIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DollarCheckmarkIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2c5.523 0 10 4.477 10 10h-2a8 8 0 10-8 8v2C6.477 22 2 17.523 2 12S6.477 2 12 2zm9.607 13.707a1 1 0 010 1.414l-3.657 3.657a1 1 0 01-1.414 0l-1.829-1.828a1 1 0 011.414-1.414l1.12 1.12 2.951-2.949a1 1 0 011.415 0zM13 7v1h2v2h-4v1h3a1 1 0 01.993.883L15 12v3a1 1 0 01-.883.993L14 16h-1v1h-2v-1H9v-2h4v-1h-3a1 1 0 01-.993-.883L9 12V9a1 1 0 01.883-.993L10 8h1V7h2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDollarCheckmarkIcon.displayName = \"DollarCheckmarkIcon\";\nexport default DollarCheckmarkIcon;\n","import React from \"react\";\n\n/**\n * @component DollarClockSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DollarClockSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DollarClockSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DollarClockSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M10 5v1h1v1H9v1h2v3h-1v1H9v-1H8v-1h2V9H8V6h1V5h1zM8 1v3L6 6l1 1v1.25l-2-2-2 2V10h4v1H2V8l2-2-2-2V1h6zM7 2H3v1.75l2 2 2-2V2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDollarClockSmallIcon.displayName = \"DollarClockSmallIcon\";\nexport default DollarClockSmallIcon;\n","import React from \"react\";\n\n/**\n * @component DollarClockIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DollarClockIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DollarClockIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DollarClockIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M20 13v1h2v2h-4v1h3a1 1 0 01.993.883L22 18v3a1 1 0 01-.883.993L21 22h-1v1h-2v-1h-2v-2h4v-1h-3a1 1 0 01-.993-.883L16 18v-3a1 1 0 01.883-.993L17 14h1v-1h2zM18 2v6l-4 4 1.199 1.199L14.2 14.7 12 12.5l-4 4V20h6v2H6v-6l4-4-4-4V2h12zm-2 2H8v3.5l4 4 4-4V4z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDollarClockIcon.displayName = \"DollarClockIcon\";\nexport default DollarClockIcon;\n","import React from \"react\";\n\n/**\n * @component DollarOffSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DollarOffSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DollarOffSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DollarOffSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M1.05 1.05l9.9 9.9-.707.707L8.47 9.883A.996.996 0 018 10H7v1H5v-1H4a1 1 0 01-1-1V8h1v.7a.3.3 0 00.3.3h3.286l-3-3H4a1 1 0 01-1-1v-.587L.342 1.757l.707-.707zM8 5a1 1 0 011 1v1.586l-1-1V6.3a.3.3 0 00-.3-.3h-.286l-1-1H8zM7 1v1h1a1 1 0 011 1v1H8v-.7a.3.3 0 00-.3-.3H4.414l-.883-.883C3.67 2.042 3.83 2 4 2h1V1h2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDollarOffSmallIcon.displayName = \"DollarOffSmallIcon\";\nexport default DollarOffSmallIcon;\n","import React from \"react\";\n\n/**\n * @component DollarOffIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DollarOffIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DollarOffIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DollarOffIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M3 4.27L4.28 3 21 19.72 19.73 21l-3.67-3.67c-.62.67-1.52 1.22-2.56 1.49V21h-3v-2.18C8.47 18.31 7 16.79 7 15h2c0 1.08 1.37 2 3 2 1.13 0 2.14-.44 2.65-1.08l-2.97-2.97C9.58 12.42 7 11.75 7 9c0-.23 0-.45.07-.66L3 4.27m7.5.91V3h3v2.18C15.53 5.69 17 7.21 17 9h-2c0-1.08-1.37-2-3-2-.37 0-.72.05-1.05.13L9.4 5.58l1.1-.4z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDollarOffIcon.displayName = \"DollarOffIcon\";\nexport default DollarOffIcon;\n","import React from \"react\";\n\n/**\n * @component DollarSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DollarSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DollarSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DollarSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M8 10H7v1H5v-1H4a1 1 0 01-1-1V8h1v.7a.3.3 0 00.3.3h3.4a.3.3 0 00.3-.3V6.3a.3.3 0 00-.3-.3H4a1 1 0 01-1-1V3a1 1 0 011-1h1V1h2v1h1a1 1 0 011 1v1H8v-.7a.3.3 0 00-.3-.3H4.3a.3.3 0 00-.3.3v1.4a.3.3 0 00.3.3H8a1 1 0 011 1v3a1 1 0 01-1 1z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDollarSmallIcon.displayName = \"DollarSmallIcon\";\nexport default DollarSmallIcon;\n","import React from \"react\";\n\n/**\n * @component DollarIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DollarIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DollarIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DollarIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M7 15h2c0 1.08 1.37 2 3 2s3-.92 3-2c0-1.1-1.04-1.5-3.24-2.03C9.64 12.44 7 11.78 7 9c0-1.79 1.47-3.31 3.5-3.82V3h3v2.18C15.53 5.69 17 7.21 17 9h-2c0-1.08-1.37-2-3-2s-3 .92-3 2c0 1.1 1.04 1.5 3.24 2.03C14.36 11.56 17 12.22 17 15c0 1.79-1.47 3.31-3.5 3.82V21h-3v-2.18C8.47 18.31 7 16.79 7 15z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDollarIcon.displayName = \"DollarIcon\";\nexport default DollarIcon;\n","import React from \"react\";\n\n/**\n * @component DownloadIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DownloadIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DownloadIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DownloadIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M5 21h14v-2H5m14-9h-4V4H9v6H5l7 7 7-7z\" fillRule=\"nonzero\" />\n </svg>\n )\n);\nDownloadIcon.displayName = \"DownloadIcon\";\nexport default DownloadIcon;\n","import React from \"react\";\n\n/**\n * @component DriveIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DriveIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DriveIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DriveIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M7.71 3.5L1.15 15l3.43 6 6.55-11.5M9.73 15L6.3 21h13.12l3.43-6m-.57-1L15.42 2H8.57l6.86 12h6.85z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDriveIcon.displayName = \"DriveIcon\";\nexport default DriveIcon;\n","import React from \"react\";\n\n/**\n * @component DropboxIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DropboxIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DropboxIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DropboxIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M2 7.2l5 3.19 5-3.19L7 4 2 7.2m10 0l5 3.19 5-3.19L17 4l-5 3.2M2 13.55l5 3.19 5-3.19-5-3.2-5 3.2m15-3.2l-5 3.2 5 3.19 5-3.19-5-3.2M7.03 17.8l5.01 3.2 5-3.2-5-3.19-5.01 3.19z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDropboxIcon.displayName = \"DropboxIcon\";\nexport default DropboxIcon;\n","import React from \"react\";\n\n/**\n * @component DuplicateIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DuplicateIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DuplicateIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DuplicateIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M20 20V8H8v12h12m2 0a2 2 0 01-2 2H8a2 2 0 01-2-2V8c0-1.11.89-2 2-2h12a2 2 0 012 2v12m-7-9v2h2v2h-2v2h-2v-2.001L11 15v-2l2-.001V11h2zM4 16H2V4a2 2 0 012-2h13v2H4v12z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDuplicateIcon.displayName = \"DuplicateIcon\";\nexport default DuplicateIcon;\n","import React from \"react\";\n\n/**\n * @component EditMultipleIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <EditMultipleIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst EditMultipleIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"EditMultipleIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M17.83 11l1.41 1.41-7.125 7.125a.997.997 0 01-1.493-1.316l.083-.094L17.83 11zM10 13a1 1 0 01.117 1.993L10 15H4a1 1 0 01-.117-1.993L4 13h6zm10.83-5l1.41 1.41-1.83 1.83L19 9.83 20.83 8zM14 9a1 1 0 01.117 1.993L14 11H4a1 1 0 01-.117-1.993L4 9h10zm3-4a1 1 0 01.117 1.993L17 7H4a1 1 0 01-.117-1.993L4 5h13z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nEditMultipleIcon.displayName = \"EditMultipleIcon\";\nexport default EditMultipleIcon;\n","import React from \"react\";\n\n/**\n * @component EditIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <EditIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst EditIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"EditIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M3 5v14a2 2 0 002 2h14a2 2 0 002-2v-7h-2v7H5V5h7V3H5c-1.11 0-2 .89-2 2zm6.875 10.535L18 7.41 16.59 6l-8.125 8.125a.997.997 0 101.41 1.41zM19.17 6.24L21 4.41 19.59 3l-1.83 1.83 1.41 1.41z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nEditIcon.displayName = \"EditIcon\";\nexport default EditIcon;\n","import React from \"react\";\n\n/**\n * @component EmojiIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <EmojiIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst EmojiIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"EmojiIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 17.5c2.33 0 4.3-1.46 5.11-3.5H6.89c.8 2.04 2.78 3.5 5.11 3.5M8.5 11a1.5 1.5 0 100-3 1.5 1.5 0 000 3m7 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3M12 20a8 8 0 110-16 8 8 0 010 16m0-18C6.47 2 2 6.5 2 12a10 10 0 0010 10c5.523 0 10-4.477 10-10A10 10 0 0012 2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nEmojiIcon.displayName = \"EmojiIcon\";\nexport default EmojiIcon;\n","import React from \"react\";\n\n/**\n * @component EstimatePlusIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <EstimatePlusIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst EstimatePlusIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"EstimatePlusIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 2c5.523 0 10 4.477 10 10 0 .338-.017.672-.05 1.001L20 13v-1a8 8 0 10-8 8h1l.001 1.95c-.33.033-.663.05-1.001.05-5.523 0-10-4.477-10-10S6.477 2 12 2zm7 12v3h3v2h-3v3h-2v-3.001L14 19v-2l3-.001V14h2zm-7-8a6 6 0 016 6h-2a4 4 0 10-4 4v2a6 6 0 010-12zm0 4a2 2 0 110 4 2 2 0 010-4z\"\n />\n </svg>\n )\n);\nEstimatePlusIcon.displayName = \"EstimatePlusIcon\";\nexport default EstimatePlusIcon;\n","import React from \"react\";\n\n/**\n * @component EstimatesIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <EstimatesIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst EstimatesIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"EstimatesIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M12 20a8 8 0 100-16 8 8 0 000 16zm0 2C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-6a4 4 0 100-8 4 4 0 000 8zm0 2a6 6 0 110-12 6 6 0 010 12zm0-4a2 2 0 110-4 2 2 0 010 4z\" />\n <path\n stroke=\"#F4F5F7\"\n strokeWidth={0.1}\n opacity={0.01}\n d=\"M.05.05h23.9v23.9H.05z\"\n />\n </svg>\n )\n);\nEstimatesIcon.displayName = \"EstimatesIcon\";\nexport default EstimatesIcon;\n","import React from \"react\";\n\n/**\n * @component ExpandAllIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ExpandAllIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ExpandAllIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ExpandAllIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M16.72 15.264a.867.867 0 010 1.275L12 21l-4.72-4.461a.867.867 0 010-1.275.993.993 0 011.348 0L12 18.451l3.372-3.187a.993.993 0 011.349 0zM12 3l4.72 4.461a.867.867 0 010 1.275.993.993 0 01-1.348 0L12 5.549 8.628 8.736a.993.993 0 01-1.349 0 .867.867 0 010-1.275L12 3zm0 11a2 2 0 100-4 2 2 0 000 4z\"\n fillRule=\"nonzero\"\n />\n </svg>\n )\n);\nExpandAllIcon.displayName = \"ExpandAllIcon\";\nexport default ExpandAllIcon;\n","import React from \"react\";\n\n/**\n * @component ExpenseAddIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ExpenseAddIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ExpenseAddIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ExpenseAddIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M19 14v3h3v2h-3v3h-2v-3.001L14 19v-2l3-.001V14h2zm1-11a2 2 0 011.994 1.85L22 5v7h-2V5H4v14h8v2H4a2 2 0 01-1.995-1.85L2 19V5c0-1.06.81-1.919 1.85-1.995L4 3h16zm-9 4v1h2v2H9v1h3a1 1 0 01.993.883L13 12v3a1 1 0 01-.883.993L12 16h-1v1H9v-1H7v-2h4v-1H8a1 1 0 01-.993-.883L7 12V9a1 1 0 01.883-.993L8 8h1V7h2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nExpenseAddIcon.displayName = \"ExpenseAddIcon\";\nexport default ExpenseAddIcon;\n","import React from \"react\";\n\n/**\n * @component EyeOffSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <EyeOffSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst EyeOffSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"EyeOffSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M1.05 1.05l9.9 9.9-.707.707L8.205 9.62C7.517 9.866 6.775 10 6 10 3.273 10 .944 8.341 0 6a6.35 6.35 0 011.971-2.615L.343 1.757l.707-.707zM1.19 6C2.09 7.792 3.95 8.933 6 8.933c.463 0 .915-.058 1.35-.168L6.176 7.59c-.058.006-.117.009-.176.009-.904 0-1.636-.716-1.636-1.6 0-.07.004-.14.013-.207L2.736 4.15A5.273 5.273 0 001.189 6zM6 2c2.727 0 5.056 1.659 6 4a6.35 6.35 0 01-1.972 2.615l-.765-.766A5.273 5.273 0 0010.811 6C9.91 4.208 8.05 3.067 6 3.067c-.463 0-.916.058-1.35.168l-.857-.855A6.553 6.553 0 016 2zm0 2.4c.904 0 1.636.716 1.636 1.6 0 .07-.004.14-.013.208l-1.8-1.799C5.88 4.403 5.94 4.4 6 4.4z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nEyeOffSmallIcon.displayName = \"EyeOffSmallIcon\";\nexport default EyeOffSmallIcon;\n","import React from \"react\";\n\n/**\n * @component EyeOffIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <EyeOffIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst EyeOffIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"EyeOffIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M2 5.27L3.28 4 20 20.72 18.73 22l-3.08-3.08c-1.15.38-2.37.58-3.65.58-5 0-9.27-3.11-11-7.5.69-1.76 1.79-3.31 3.19-4.54L2 5.27M12 9a3 3 0 012.83 4L11 9.17A3 3 0 0112 9m0-4.5c5 0 9.27 3.11 11 7.5a11.79 11.79 0 01-4 5.19l-1.42-1.43A9.862 9.862 0 0020.82 12 9.821 9.821 0 0012 6.5c-1.09 0-2.16.18-3.16.5L7.3 5.47c1.44-.62 3.03-.97 4.7-.97M3.18 12A9.821 9.821 0 0012 17.5c.69 0 1.37-.07 2-.21L11.72 15A3.064 3.064 0 019 12.28L5.6 8.87c-.99.85-1.82 1.91-2.42 3.13z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nEyeOffIcon.displayName = \"EyeOffIcon\";\nexport default EyeOffIcon;\n","import React from \"react\";\n\n/**\n * @component EyeSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <EyeSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst EyeSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"EyeSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M6 4.4c.904 0 1.636.716 1.636 1.6 0 .884-.732 1.6-1.636 1.6-.904 0-1.636-.716-1.636-1.6 0-.884.732-1.6 1.636-1.6M6 2c2.727 0 5.056 1.659 6 4-.944 2.341-3.273 4-6 4S.944 8.341 0 6c.944-2.341 3.273-4 6-4M1.19 6C2.09 7.792 3.95 8.933 6 8.933S9.91 7.792 10.81 6C9.91 4.208 8.05 3.067 6 3.067S2.09 4.208 1.19 6z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nEyeSmallIcon.displayName = \"EyeSmallIcon\";\nexport default EyeSmallIcon;\n","import React from \"react\";\n\n/**\n * @component EyeIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <EyeIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst EyeIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"EyeIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 9a3 3 0 110 6 3 3 0 010-6m0-4.5c5 0 9.27 3.11 11 7.5-1.73 4.39-6 7.5-11 7.5S2.73 16.39 1 12c1.73-4.39 6-7.5 11-7.5M3.18 12a9.821 9.821 0 0017.64 0 9.821 9.821 0 00-17.64 0z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nEyeIcon.displayName = \"EyeIcon\";\nexport default EyeIcon;\n","import React from \"react\";\n\n/**\n * @component FilterIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <FilterIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst FilterIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"FilterIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M7 13h10a1 1 0 000-2H7a1 1 0 000 2zM3 7a1 1 0 001 1h16a1 1 0 000-2H4a1 1 0 00-1 1zm8 11h2a1 1 0 000-2h-2a1 1 0 000 2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nFilterIcon.displayName = \"FilterIcon\";\nexport default FilterIcon;\n","import React from \"react\";\n\n/**\n * @component FolderMoveIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <FolderMoveIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst FolderMoveIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"FolderMoveIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M10 4l2 2h8a2 2 0 011.995 1.851L22 8v10c0 1.06-.81 1.919-1.85 1.995L20 20H4a2 2 0 01-1.994-1.85L2 18V6a2 2 0 011.851-1.995L4 4h6zm10 4H4v10h16V8zm-10 2l4 3-4 3v-2H6v-2h4v-2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nFolderMoveIcon.displayName = \"FolderMoveIcon\";\nexport default FolderMoveIcon;\n","import React from \"react\";\n\n/**\n * @component FolderOutlineIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <FolderOutlineIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst FolderOutlineIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"FolderOutlineIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M20 18H4V8h16m0-2h-8l-2-2H4c-1.11 0-2 .89-2 2v12a2 2 0 002 2h16a2 2 0 002-2V8a2 2 0 00-2-2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nFolderOutlineIcon.displayName = \"FolderOutlineIcon\";\nexport default FolderOutlineIcon;\n","import React from \"react\";\n\n/**\n * @component GiftIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <GiftIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst GiftIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"GiftIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M22 12v8a2 2 0 01-2 2H4a2 2 0 01-2-2v-8a1 1 0 01-1-1V8a2 2 0 012-2h3.17A3 3 0 019 2c1 0 1.88.5 2.43 1.24v-.01L12 4l.57-.77v.01C13.12 2.5 14 2 15 2a3 3 0 012.83 4H21a2 2 0 012 2v3a1 1 0 01-1 1zM4 20h7v-8H4v8zm16 0v-8h-7v8h7zM9 4a1 1 0 100 2 1 1 0 000-2zm6 0a1 1 0 100 2 1 1 0 000-2zM3 8v2h8V8H3zm10 0v2h8V8h-8z\"\n />\n </svg>\n )\n);\nGiftIcon.displayName = \"GiftIcon\";\nexport default GiftIcon;\n","import React from \"react\";\n\n/**\n * @component HashtagIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <HashtagIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst HashtagIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"HashtagIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.33 21l.719-4H2l.354-2h4.049l1.073-6H3.427l.354-2H7.83l.719-4h2.024l-.719 4h6.073l.719-4h2.024l-.719 4H22l-.354 2h-4.049l-1.073 6h4.049l-.354 2H16.17l-.719 4h-2.024l.719-4H8.073l-.719 4H5.33zM9.5 9l-1.073 6H14.5l1.073-6H9.5z\"\n />\n </svg>\n )\n);\nHashtagIcon.displayName = \"HashtagIcon\";\nexport default HashtagIcon;\n","import React from \"react\";\n\n/**\n * @component HelpIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <HelpIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst HelpIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"HelpIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 4a8 8 0 100 16 8 8 0 000-16zm0-2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm-1 13h2v2h-2v-2zm2-5a1 1 0 00-2 0H9a3 3 0 114 2.83V14h-2v-1a2 2 0 011.276-1.865c.572-.311.724-.653.724-1.135z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nHelpIcon.displayName = \"HelpIcon\";\nexport default HelpIcon;\n","import React from \"react\";\n\n/**\n * @component ImageIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ImageIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ImageIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={20}\n height={16}\n viewBox=\"0 0 20 16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ImageIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M18 0a2 2 0 011.994 1.85L20 2v12a2 2 0 01-1.85 1.995L18 16H2a2 2 0 01-1.995-1.85L0 14V2A2 2 0 011.85.005L2 0h16zm0 2H2v12h16V2zm-5.5 4l4.5 6H3l3.5-4.5 2.5 3L12.5 6zm-8-3a1.5 1.5 0 110 3 1.5 1.5 0 010-3z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nImageIcon.displayName = \"ImageIcon\";\nexport default ImageIcon;\n","import React from \"react\";\n\n/**\n * @component InfoSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <InfoSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst InfoSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={15}\n height={15}\n viewBox=\"0 0 15 15\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"InfoSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M7.5 14a6.5 6.5 0 100-13 6.5 6.5 0 000 13zm0 1a7.5 7.5 0 110-15 7.5 7.5 0 010 15zM7 6h1v6H7V6zm0-3h1v1H7V3z\"\n fillRule=\"nonzero\"\n />\n </svg>\n )\n);\nInfoSmallIcon.displayName = \"InfoSmallIcon\";\nexport default InfoSmallIcon;\n","import React from \"react\";\n\n/**\n * @component InfoIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <InfoIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst InfoIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"InfoIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 100 16 8 8 0 000-16zm-1 5V7h2v2h-2zm0 8v-6h2v6h-2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nInfoIcon.displayName = \"InfoIcon\";\nexport default InfoIcon;\n","import React from \"react\";\n\n/**\n * @component InsertLinkIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <InsertLinkIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst InsertLinkIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"InsertLinkIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1 0 1.71-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nInsertLinkIcon.displayName = \"InsertLinkIcon\";\nexport default InsertLinkIcon;\n","import React from \"react\";\n\n/**\n * @component IntegrationsIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <IntegrationsIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst IntegrationsIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"IntegrationsIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M10 6H5v13h13v-5h-8V6zm2 6h8v7a2 2 0 01-2 2H5a2 2 0 01-2-2V6a2 2 0 012-2h7v8zm4-7v3h3V5h-3zm-2-2h5a2 2 0 012 2v5h-7V3z\" />\n <path\n stroke=\"#F4F5F7\"\n strokeWidth={0.1}\n opacity={0.01}\n d=\"M.05.05h23.9v23.9H.05z\"\n />\n </svg>\n )\n);\nIntegrationsIcon.displayName = \"IntegrationsIcon\";\nexport default IntegrationsIcon;\n","import React from \"react\";\n\n/**\n * @component InvoicesIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <InvoicesIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst InvoicesIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"InvoicesIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M15.19 4H5v16h14V7.891L15.19 4zM5 2h11.03L21 7.075V20a2 2 0 01-2 2H5a2 2 0 01-2-2V4a2 2 0 012-2zm4.974 11.752c-.01.532.13.952.42 1.26.29.308.649.504 1.078.588v-2.926a3.017 3.017 0 00-.448-.126 11.322 11.322 0 01-1.022-.329 3.337 3.337 0 01-.903-.504 2.325 2.325 0 01-.637-.784c-.159-.313-.238-.702-.238-1.169 0-.476.091-.896.273-1.26.182-.364.422-.67.721-.917a3.291 3.291 0 011.036-.574 4.667 4.667 0 011.218-.245V5.688h.826v1.078c.42.047.814.138 1.183.273.369.135.693.322.973.56.28.238.509.534.686.889.177.355.28.775.308 1.26H13.46a1.472 1.472 0 00-.35-.952c-.224-.261-.495-.392-.812-.392v2.478l.343.084a9 9 0 01.371.098c.69.187 1.223.418 1.596.693.373.275.649.562.826.861.177.299.282.597.315.896.033.299.049.565.049.798 0 .205-.051.464-.154.777a2.62 2.62 0 01-.553.917c-.266.299-.623.565-1.071.798-.448.233-1.022.373-1.722.42v1.19h-.826v-1.19c-1.045-.075-1.862-.397-2.45-.966-.588-.57-.929-1.405-1.022-2.506h1.974zm2.324 1.848c.168-.019.343-.058.525-.119a1.63 1.63 0 00.49-.259 1.38 1.38 0 00.357-.413c.093-.163.14-.357.14-.581 0-.364-.114-.637-.343-.819-.229-.182-.618-.348-1.169-.497V15.6zm-.826-7.196a1.54 1.54 0 00-.462.07 1.22 1.22 0 00-.406.217c-.121.098-.217.22-.287.364-.07.145-.105.315-.105.511 0 .308.098.546.294.714.196.168.518.303.966.406V8.404z\" />\n <path\n stroke=\"#F4F5F7\"\n strokeWidth={0.1}\n opacity={0.01}\n d=\"M.05.05h23.9v23.9H.05z\"\n />\n </svg>\n )\n);\nInvoicesIcon.displayName = \"InvoicesIcon\";\nexport default InvoicesIcon;\n","import React from \"react\";\n\n/**\n * @component LabelsIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <LabelsIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst LabelsIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"LabelsIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M17 2a3 3 0 013 3v17l-8-4-8 4V5a3 3 0 013-3h10zm0 2H7a1 1 0 00-.993.883L6 5v13.764l6-3 6 3V5a1 1 0 00-.883-.993L17 4z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nLabelsIcon.displayName = \"LabelsIcon\";\nexport default LabelsIcon;\n","import React from \"react\";\n\n/**\n * @component LockSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <LockSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst LockSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"LockSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M7 0a2 2 0 012 2v1h1a1 1 0 011 1v7a1 1 0 01-1 1H2a1 1 0 01-1-1V4c0-.555.445-1 1-1h1V2a2 2 0 012-2h2zm3 4H2v7h8V4zM7 6v3H5V6h2zm0-5H5a1 1 0 00-.993.883L4 2v1h4V2a1 1 0 00-.883-.993L7 1z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nLockSmallIcon.displayName = \"LockSmallIcon\";\nexport default LockSmallIcon;\n","import React from \"react\";\n\n/**\n * @component LockIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <LockIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst LockIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"LockIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 17a2 2 0 01-2-2c0-1.11.89-2 2-2a2 2 0 110 4m6 3V10H6v10h12m0-12a2 2 0 012 2v10a2 2 0 01-2 2H6a2 2 0 01-2-2V10c0-1.11.89-2 2-2h1V6a5 5 0 1110 0v2h1m-6-5a3 3 0 00-3 3v2h6V6a3 3 0 00-3-3z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nLockIcon.displayName = \"LockIcon\";\nexport default LockIcon;\n","import React from \"react\";\n\n/**\n * @component MarkerIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <MarkerIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst MarkerIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"MarkerIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 17a1 1 0 010 2H4a1 1 0 010-2h8zm0-4a1 1 0 010 2H4a1 1 0 010-2h8zm10-1a1 1 0 01-.883.993l-5.25-.002c-.214 0-.442-.06-.626-.2L13.436 11H4a1 1 0 010-2h9.592l1.611-1.604A.998.998 0 0116 7h5a1 1 0 011 1v4zm-5.579-3.001l-1.079 1.079.921.921 3.736.001V9l-3.578-.001zM12 5a1 1 0 010 2H4a1 1 0 110-2h8z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nMarkerIcon.displayName = \"MarkerIcon\";\nexport default MarkerIcon;\n","import React from \"react\";\n\n/**\n * @component MessageAddIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <MessageAddIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst MessageAddIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"MessageAddIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M11 4v2H6v11.26L10.39 15H18v-2h2v2a2 2 0 01-2 2H9.995L4 21V6a2 2 0 012-2h5zm7-1v3h3v2h-3v3h-2V8h-3V6h3V3h2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nMessageAddIcon.displayName = \"MessageAddIcon\";\nexport default MessageAddIcon;\n","import React from \"react\";\n\n/**\n * @component MessageEmptyIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <MessageEmptyIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst MessageEmptyIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"MessageEmptyIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M22 4v12a2 2 0 01-2 2H7.995L2 22V4a2 2 0 012-2h16a2 2 0 012 2zm-2 0H4v14.26L7.39 16H20V4z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nMessageEmptyIcon.displayName = \"MessageEmptyIcon\";\nexport default MessageEmptyIcon;\n","import React from \"react\";\n\n/**\n * @component MessageSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <MessageSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst MessageSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"MessageSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2v8H3.998L1 12V2h11zm-1 1H2v7.13L3.695 9H11V3zM6 6v1H3V6h3zm4-2v1H3V4h7z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nMessageSmallIcon.displayName = \"MessageSmallIcon\";\nexport default MessageSmallIcon;\n","import React from \"react\";\n\n/**\n * @component MessageIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <MessageIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst MessageIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"MessageIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M22 4v12a2 2 0 01-2 2H7.995L2 22V4a2 2 0 012-2h16a2 2 0 012 2zm-2 0H4v14.26L7.39 16H20V4zm-8 6v2H6v-2h6zm6-4v2H6V6h12z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nMessageIcon.displayName = \"MessageIcon\";\nexport default MessageIcon;\n","import React from \"react\";\n\n/**\n * @component MinusIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <MinusIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst MinusIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"MinusIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <rect x={5} y={11} width={14} height={2} rx={1} fillRule=\"evenodd\" />\n </svg>\n )\n);\nMinusIcon.displayName = \"MinusIcon\";\nexport default MinusIcon;\n","import React from \"react\";\n\n/**\n * @component MoveTriggerIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <MoveTriggerIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst MoveTriggerIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={10}\n height={10}\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"MoveTriggerIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M0 0h10v1H0zm0 3h10v1H0zm0 3h10v1H0zm0 3h10v1H0z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nMoveTriggerIcon.displayName = \"MoveTriggerIcon\";\nexport default MoveTriggerIcon;\n","import React from \"react\";\n\n/**\n * @component MyWorkIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <MyWorkIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst MyWorkIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"MyWorkIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M12 12a2 2 0 100-4 2 2 0 000 4zm0 2a4 4 0 110-8 4 4 0 010 8zm-7 5c.4-1.647 1.356-2.88 2.53-3.265A14.25 14.25 0 0112 15c1.49 0 2.98.245 4.47.735C17.645 16.12 18.6 17.353 19 19h-2.085c-.274-.757-.696-1.243-1.068-1.365A12.252 12.252 0 0012 17c-1.275 0-2.555.21-3.847.635-.372.122-.794.608-1.068 1.365H5zM5 4a1 1 0 00-1 1v14a1 1 0 001 1h14a1 1 0 001-1V5a1 1 0 00-1-1H5zm0-2h14a3 3 0 013 3v14a3 3 0 01-3 3H5a3 3 0 01-3-3V5a3 3 0 013-3z\" />\n <path\n stroke=\"#F4F5F7\"\n strokeWidth={0.1}\n opacity={0.01}\n d=\"M.05.05h23.9v23.9H.05z\"\n />\n </svg>\n )\n);\nMyWorkIcon.displayName = \"MyWorkIcon\";\nexport default MyWorkIcon;\n","import React from \"react\";\n\n/**\n * @component NoteAddIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <NoteAddIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst NoteAddIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"NoteAddIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M7 14v3h3v2H7v3H5v-3.001L2 19v-2l3-.001V14h2zM19 3c1.05 0 1.918.82 1.994 1.851L21 5v10l-6 6h-3v-2h2v-5h5V5H5v7H3V5c0-1.05.82-1.918 1.851-1.994L5 3h14zm-7 8v2H8v-2h4zm5-4v2H7V7h10z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nNoteAddIcon.displayName = \"NoteAddIcon\";\nexport default NoteAddIcon;\n","import React from \"react\";\n\n/**\n * @component NoteIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <NoteIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst NoteIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"NoteIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M19 5v9h-5v5H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h10l6-6V5c0-1.1-.9-2-2-2zm-7 10H7v-2h5v2zm5-4H7V7h10v2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nNoteIcon.displayName = \"NoteIcon\";\nexport default NoteIcon;\n","import React from \"react\";\n\n/**\n * @component NotificationBellIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <NotificationBellIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst NotificationBellIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"NotificationBellIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M21 19H3v-3.9l.7-.2C4.5 14.6 5 13.8 5 13v-2c0-2.7 1.6-5.2 4-6.3.2-1.6 1.5-2.7 3-2.7s2.8 1.1 3 2.7c2.4 1.2 4 3.6 4 6.3v2c0 .8.5 1.6 1.3 1.9l.7.2V19zM5 17h14v-.5c-1.2-.7-2-2-2-3.5v-2c0-1.9-1.1-3.7-2.9-4.5l-1-.5-.1-1.1c-.1-.5-.5-.9-1-.9s-.9.4-1 .9L10.9 6l-1 .5C8.1 7.3 7 9.1 7 11v2c0 1.4-.8 2.8-2 3.5v.5zm8 3h2c0 1.7-1.3 3-3 3s-3-1.3-3-3h2c0 .6.4 1 1 1s1-.4 1-1zm0 0h2c0 1.7-1.3 3-3 3s-3-1.3-3-3h2c0 .6.4 1 1 1s1-.4 1-1z\" />\n </svg>\n )\n);\nNotificationBellIcon.displayName = \"NotificationBellIcon\";\nexport default NotificationBellIcon;\n","import React from \"react\";\n\n/**\n * @component OpenExpandedIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <OpenExpandedIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst OpenExpandedIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"OpenExpandedIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3m-2 16H5V5h5V3H5a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-5h-2v5z\"\n fillRule=\"nonzero\"\n />\n </svg>\n )\n);\nOpenExpandedIcon.displayName = \"OpenExpandedIcon\";\nexport default OpenExpandedIcon;\n","import React from \"react\";\n\n/**\n * @component OpenSheetIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <OpenSheetIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst OpenSheetIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"OpenSheetIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 5a1 1 0 00-1 1v6L8 9v2.25H5v1.5h3V15l3-3v6a1 1 0 001 1h6a1 1 0 001-1V6a1 1 0 00-1-1h-6zm5 2h-4v10h4V7z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2 4a2 2 0 012-2h16a2 2 0 012 2v16a2 2 0 01-2 2H4a2 2 0 01-2-2V4zm18 0H4v16h16V4z\"\n />\n </svg>\n )\n);\nOpenSheetIcon.displayName = \"OpenSheetIcon\";\nexport default OpenSheetIcon;\n","import React from \"react\";\n\n/**\n * @component OrderFirstIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <OrderFirstIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst OrderFirstIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"OrderFirstIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M4 4h16a1 1 0 011 1v2a1 1 0 01-1 1H4a1 1 0 01-1-1V5a1 1 0 011-1zm2 14h12a1 1 0 010 2H6a1 1 0 010-2zm0-4h12a1 1 0 010 2H6a1 1 0 010-2zm0-4h12a1 1 0 010 2H6a1 1 0 010-2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nOrderFirstIcon.displayName = \"OrderFirstIcon\";\nexport default OrderFirstIcon;\n","import React from \"react\";\n\n/**\n * @component PaidSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PaidSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PaidSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PaidSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M11.243 8.121l.707.707-2.829 2.829L7 9.536l.707-.708 1.414 1.414 2.122-2.12zM5.5 0a5.5 5.5 0 015.293 7l-1.05.001A4.5 4.5 0 106 9.972v1.006A5.5 5.5 0 115.5 0zM6 2v1h1v1H5v1h2v3H6v1H5V8H4V7h2V6H4V3h1V2h1z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nPaidSmallIcon.displayName = \"PaidSmallIcon\";\nexport default PaidSmallIcon;\n","import React from \"react\";\n\n/**\n * @component PauseCircleOutlineIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PauseCircleOutlineIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PauseCircleOutlineIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PauseCircleOutlineIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 100 16 8 8 0 000-16zm-1 5v6H9V9h2zm4 0v6h-2V9h2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nPauseCircleOutlineIcon.displayName = \"PauseCircleOutlineIcon\";\nexport default PauseCircleOutlineIcon;\n","import React from \"react\";\n\n/**\n * @component PauseIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PauseIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PauseIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PauseIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 3a9 9 0 110 18 9 9 0 010-18zm-1 6H9v6h2V9zm4 0h-2v6h2V9z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nPauseIcon.displayName = \"PauseIcon\";\nexport default PauseIcon;\n","import React from \"react\";\n\n/**\n * @component PauseSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PauseSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PauseSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PauseSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M8 7h3v10H8V7zm5 0h3v10h-3V7z\" fillRule=\"evenodd\" />\n </svg>\n )\n);\nPauseSmallIcon.displayName = \"PauseSmallIcon\";\nexport default PauseSmallIcon;\n","import React from \"react\";\n\n/**\n * @component PencilSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PencilSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PencilSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PencilSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M9 3.47L2.46 10H2v-.46L8.53 3l.47.47zM9.98.145l-.915.915 1.875 1.875.915-.915a.498.498 0 000-.705l-1.17-1.17a.5.5 0 00-.705 0zm-1.45 1.45L1 9.125V11h1.875l7.53-7.53L8.53 1.595z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nPencilSmallIcon.displayName = \"PencilSmallIcon\";\nexport default PencilSmallIcon;\n","import React from \"react\";\n\n/**\n * @component PencilIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PencilIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PencilIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PencilIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M14.06 9l.94.94L5.92 19H5v-.92L14.06 9m3.6-6c-.25 0-.51.1-.7.29l-1.83 1.83 3.75 3.75 1.83-1.83c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.2-.2-.45-.29-.71-.29m-3.6 3.19L3 17.25V21h3.75L17.81 9.94l-3.75-3.75z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nPencilIcon.displayName = \"PencilIcon\";\nexport default PencilIcon;\n","import React from \"react\";\n\n/**\n * @component PendingPaymentSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PendingPaymentSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PendingPaymentSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PendingPaymentSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M10 5v1h1v1H9v1h2v3h-1v1H9v-1H8v-1h2V9H8V6h1V5h1zM8 1v3L6 6l1 1v1.25l-2-2-2 2V10h4v1H2V8l2-2-2-2V1h6zM7 2H3v1.75l2 2 2-2V2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nPendingPaymentSmallIcon.displayName = \"PendingPaymentSmallIcon\";\nexport default PendingPaymentSmallIcon;\n","import React from \"react\";\n\n/**\n * @component PeopleIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PeopleIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PeopleIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PeopleIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M20.998 16.775l-.148-.387a2.001 2.001 0 00-1.601-1.27 12.961 12.961 0 00-2.317-.105c-.253-.76-.683-1.527-.932-1.937a14.912 14.912 0 013.518.06 4.003 4.003 0 013.203 2.54l.147.387a2 2 0 01-1.614 2.696 27.849 27.849 0 01-3.248.24c0-.355-.004-.741-.127-1.115L17.587 17a27.311 27.311 0 003.41-.225zM17.5 10a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm0 2a3.5 3.5 0 110-7 3.5 3.5 0 010 7zM5.437 14.315a2 2 0 00-1.494 1.333L3 18.51c1.826.327 3.65.49 5.473.49a30.99 30.99 0 005.474-.49l-.943-2.862a2 2 0 00-1.494-1.333A14.924 14.924 0 008.473 14c-1.01 0-2.021.105-3.036.315zm-.406-1.958A16.924 16.924 0 018.473 12c1.148 0 2.295.119 3.443.357a4 4 0 012.987 2.665l.943 2.862A2 2 0 0114.3 20.48a33.015 33.015 0 01-5.827.52c-1.941 0-3.883-.174-5.825-.521a2 2 0 01-1.547-2.595l.942-2.862a4 4 0 012.988-2.665zM8.474 9a2.5 2.5 0 100-5 2.5 2.5 0 000 5zm0 2a4.5 4.5 0 110-9 4.5 4.5 0 010 9z\" />\n <path\n stroke=\"#F4F5F7\"\n strokeWidth={0.1}\n opacity={0.01}\n d=\"M.05.05h23.9v23.9H.05z\"\n />\n </svg>\n )\n);\nPeopleIcon.displayName = \"PeopleIcon\";\nexport default PeopleIcon;\n","import React from \"react\";\n\n/**\n * @component PersonCircleOffIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PersonCircleOffIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PersonCircleOffIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PersonCircleOffIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2l.28.004.316.013.244.018.402.041.14.019.267.04.162.029.19.036a10.013 10.013 0 017.753 7.587l.062.3.042.233.044.276.031.244.017.154.022.257.02.367c.006.127.008.254.008.382l-.002.207-.01.299-.022.323-.04.397-.032.238-.059.354-.062.308-.05.22-.046.184a9.93 9.93 0 01-.12.422l-.092.283-.13.357-.113.283-.094.215-.161.341-.136.265-.178.32-.13.217c-.145.237-.302.47-.47.696l-.274.356-.229.273-.14.157-.258.274-.226.224-.104.099-.238.215-.312.262-.398.305-.284.199-.33.213a9.99 9.99 0 01-.35.208l-.266.145-.383.19-.291.132-.346.142-.358.132-.31.1-.402.116-.138.035-.187.045-.347.072-.443.074-.305.04-.16.016-.423.032-.271.011L12 22l-.2-.002-.331-.012-.373-.026-.167-.017-.164-.019-.246-.033-.336-.056-.3-.06-.31-.072-.415-.113-.297-.093-.323-.112-.284-.11-.343-.147-.266-.124-.28-.14-.159-.086-.328-.188-.177-.108-.297-.193-.383-.272-.316-.247-.316-.267-.333-.307-.208-.207-.247-.262-.17-.192-.245-.294-.18-.233a10.017 10.017 0 01-.361-.511l-.171-.27-.063-.103-.1-.17-.142-.259-.198-.392-.1-.213-.126-.295-.11-.281a9.91 9.91 0 01-.312-.984l-.096-.403-.062-.309-.059-.354-.06-.49-.028-.376-.013-.278A10.18 10.18 0 012 12C2 6.477 6.477 2 12 2zm0 16c-1.157 0-2.315.119-3.476.357a1.998 1.998 0 00-.831.385c.264.17.538.323.822.46l.287.133.295.122.356.13.292.09.146.042.27.068.248.055.281.051c.108.018.216.034.325.047l.38.037.28.017L12 20l.368-.008.167-.01.167-.012c.12-.01.24-.024.36-.04l.289-.044.24-.044.248-.054.313-.08.16-.047.234-.075.3-.107.395-.163.247-.114.304-.156.214-.12a8 8 0 00.3-.183 1.984 1.984 0 00-.83-.386A17.249 17.249 0 0012 18zm-8-6l.008.352.014.24.025.28.024.196.04.265.043.236.063.29.046.184.083.29.034.11.113.329.17.42.07.158c.09.193.186.382.29.567l.202.34.126.194.241.34.18.23.134.162.235.264a3.988 3.988 0 011.981-1.05A19.248 19.248 0 0112 16c1.05 0 2.102.088 3.152.263L13.57 14.68a4 4 0 01-5.25-5.25L5.814 6.927A7.967 7.967 0 004 12zm8-8a7.966 7.966 0 00-4.935 1.703l11.231 11.231.118-.152.18-.25.17-.258.097-.157.094-.16.14-.257.131-.263.103-.225.133-.321.119-.328.098-.313.104-.39.063-.291.053-.297c.02-.12.036-.242.05-.365l.03-.32.01-.181c.008-.135.011-.27.011-.406l-.012-.443a8.034 8.034 0 00-.078-.762l-.081-.449a8.012 8.012 0 00-5.843-6.097l-.422-.096-.353-.062-.358-.046-.477-.036L12 4zm-.117 8.997l-1.879-1.881L10 11a2 2 0 001.883 1.997zM12 7a4 4 0 013.92 4.804L11.194 7.08c.26-.053.53-.081.805-.081z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nPersonCircleOffIcon.displayName = \"PersonCircleOffIcon\";\nexport default PersonCircleOffIcon;\n","import React from \"react\";\n\n/**\n * @component PersonCircleIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PersonCircleIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PersonCircleIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PersonCircleIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2l.28.004.316.013.244.018.402.041.14.019.267.04.162.029.19.036a10.01 10.01 0 017.864 8.151L21.8 10l.046.244.056.352.031.244.017.154.022.257.02.367c.006.127.008.254.008.382l-.002.207-.01.299-.022.323-.04.397-.032.238-.059.354-.062.308-.05.22-.046.184a9.93 9.93 0 01-.12.422l-.092.283-.13.357-.113.283-.094.215-.161.341-.136.265-.178.32-.13.217c-.145.237-.302.47-.47.696l-.274.356-.229.273-.14.157-.258.274-.226.224-.104.099-.238.215-.312.262-.398.305-.284.199-.33.213a9.99 9.99 0 01-.35.208l-.266.145-.383.19-.291.132-.346.142-.358.132-.31.1-.402.116-.138.035-.187.045-.347.072-.443.074-.305.04-.16.016-.423.032-.271.011L12 22l-.2-.002-.331-.012-.373-.026-.167-.017-.164-.019-.246-.033-.336-.056-.3-.06-.31-.072-.415-.113-.297-.093-.323-.112-.284-.11-.343-.147-.266-.124-.28-.14-.159-.086-.328-.188-.177-.108-.297-.193-.383-.272-.316-.247-.316-.267-.333-.307-.208-.207-.247-.262-.17-.192-.245-.294-.18-.233a10.017 10.017 0 01-.361-.511l-.171-.27-.063-.103-.1-.17-.142-.259-.198-.392-.1-.213-.126-.295-.11-.281a9.91 9.91 0 01-.312-.984l-.096-.403-.062-.309-.059-.354-.06-.49-.028-.376-.013-.278A10.18 10.18 0 012 12C2 6.477 6.477 2 12 2zm0 16c-1.157 0-2.315.119-3.476.357a1.998 1.998 0 00-.831.385c.264.17.538.323.822.46l.287.133.295.122.356.13.292.09.146.042.27.068.248.055.281.051c.108.018.216.034.325.047l.38.037.28.017L12 20l.368-.008.167-.01.167-.012c.12-.01.24-.024.36-.04l.289-.044.24-.044.248-.054.313-.08.16-.047.234-.075.3-.107.395-.163.247-.114.304-.156.214-.12a8 8 0 00.3-.183 1.984 1.984 0 00-.83-.386A17.249 17.249 0 0012 18zm0-14a8 8 0 00-8 8l.008.352.014.24.025.28.024.196.04.265.043.236.063.29.046.184.083.29.034.11.113.329.17.42.07.158c.09.193.186.382.29.567l.202.34.126.194.241.34.18.23.134.162.235.264a3.988 3.988 0 011.981-1.05A19.248 19.248 0 0112 16c1.292 0 2.585.133 3.877.398.76.156 1.444.525 1.983 1.048l.236-.265.193-.236.125-.163.18-.25.17-.258.097-.157.094-.16.14-.257.131-.263.103-.225.133-.321.119-.328.098-.313.104-.39.063-.291.053-.297c.02-.12.036-.242.05-.365l.03-.32.01-.181c.008-.135.011-.27.011-.406l-.012-.443a8.034 8.034 0 00-.078-.762l-.081-.449a8.012 8.012 0 00-5.843-6.097l-.422-.096-.353-.062-.358-.046a8.054 8.054 0 00-.409-.033l.359.028-.213-.019-.214-.012L12 4zm0 3a4 4 0 110 8 4 4 0 010-8zm0 2a2 2 0 100 4 2 2 0 000-4z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nPersonCircleIcon.displayName = \"PersonCircleIcon\";\nexport default PersonCircleIcon;\n","import React from \"react\";\n\n/**\n * @component PersonPlusIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PersonPlusIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PersonPlusIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PersonPlusIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 13c1.382 0 2.764.119 4.145.357 1.687.29 3.06 1.306 3.598 2.665l1.135 2.862c.417 1.05-.27 2.18-1.534 2.526-.107.03-.217.052-.329.069A47.673 47.673 0 0112 22c-2.339 0-4.677-.174-7.015-.521-1.31-.195-2.181-1.234-1.947-2.321a1.73 1.73 0 01.083-.274l1.136-2.862c.539-1.359 1.91-2.375 3.597-2.665A24.402 24.402 0 0112 13zm0 2c-1.292 0-2.586.105-3.884.315-.896.145-1.624.653-1.91 1.333L5 19.51c2.335.327 4.668.49 7 .49a50.46 50.46 0 007-.49l-1.206-2.862c-.286-.68-1.014-1.188-1.91-1.333A24.237 24.237 0 0012 15zm0-13c.711 0 1.388.149 2 .416v2.349A3 3 0 1014.829 8h2.072A5.002 5.002 0 017 7a5 5 0 015-5zm8 0v2h2v2h-2v2h-2V5.999L16 6V4l2-.001V2h2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nPersonPlusIcon.displayName = \"PersonPlusIcon\";\nexport default PersonPlusIcon;\n","import React from \"react\";\n\n/**\n * @component PersonIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PersonIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PersonIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PersonIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 13c1.382 0 2.764.119 4.145.357 1.687.29 3.06 1.306 3.598 2.665l1.135 2.862c.417 1.05-.27 2.18-1.534 2.526-.107.03-.217.052-.329.069A47.673 47.673 0 0112 22c-2.339 0-4.677-.174-7.015-.521-1.31-.195-2.181-1.234-1.947-2.321a1.73 1.73 0 01.083-.274l1.136-2.862c.539-1.359 1.91-2.375 3.597-2.665A24.402 24.402 0 0112 13zm0 2c-1.292 0-2.586.105-3.884.315-.896.145-1.624.653-1.91 1.333L5 19.51c2.335.327 4.668.49 7 .49a50.46 50.46 0 007-.49l-1.206-2.862c-.286-.68-1.014-1.188-1.91-1.333A24.237 24.237 0 0012 15zm0-13a5 5 0 110 10 5 5 0 010-10zm0 2a3 3 0 100 6 3 3 0 000-6z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nPersonIcon.displayName = \"PersonIcon\";\nexport default PersonIcon;\n","import React from \"react\";\n\n/**\n * @component PlayCircleOutlineIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PlayCircleOutlineIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PlayCircleOutlineIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PlayCircleOutlineIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 100 16 8 8 0 000-16zM9.8 8l6.4 4-6.4 4V8z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nPlayCircleOutlineIcon.displayName = \"PlayCircleOutlineIcon\";\nexport default PlayCircleOutlineIcon;\n","import React from \"react\";\n\n/**\n * @component PlayIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PlayIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PlayIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PlayIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 3a9 9 0 110 18 9 9 0 010-18zm-2 6v6l5-3-5-3z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nPlayIcon.displayName = \"PlayIcon\";\nexport default PlayIcon;\n","import React from \"react\";\n\n/**\n * @component PlaySmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PlaySmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PlaySmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PlaySmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M9 17V7l8 5z\" fillRule=\"evenodd\" />\n </svg>\n )\n);\nPlaySmallIcon.displayName = \"PlaySmallIcon\";\nexport default PlaySmallIcon;\n","import React from \"react\";\n\n/**\n * @component PriorityLowIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PriorityLowIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PriorityLowIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n data-testid=\"PriorityLowIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 17.25c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5-1.5-.67-1.5-1.5.67-1.5 1.5-1.5zm0-13.5c.748 0 1.363.57 1.432 1.3l.006.169L13 14.75h-2l-.438-9.501a1.439 1.439 0 011.24-1.485l.168-.014H12z\"\n />\n </svg>\n )\n);\nPriorityLowIcon.displayName = \"PriorityLowIcon\";\nexport default PriorityLowIcon;\n","import React from \"react\";\n\n/**\n * @component ProjectAddIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ProjectAddIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ProjectAddIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ProjectAddIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M4 4v5h5V4H4zm0-2h5a2 2 0 012 2v5a2 2 0 01-2 2H4a2 2 0 01-2-2V4a2 2 0 012-2zm0 13v5h5v-5H4zm0-2h5a2 2 0 012 2v5a2 2 0 01-2 2H4a2 2 0 01-2-2v-5a2 2 0 012-2zm11-9v5h5V4h-5zm4 10v3h3v2h-3v3h-2v-3h-3v-2h3v-3h2zm1-12a2 2 0 012 2v5a2 2 0 01-2 2h-5a2 2 0 01-2-2V4a2 2 0 012-2h5z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nProjectAddIcon.displayName = \"ProjectAddIcon\";\nexport default ProjectAddIcon;\n","import React from \"react\";\n\n/**\n * @component ProjectTemplateAddIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ProjectTemplateAddIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ProjectTemplateAddIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ProjectTemplateAddIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M20 15v3h3v2h-3v3h-2v-3h-3v-2h3v-3h2zm0-7a2 2 0 012 2v3h-2v-3H10v10h3v2h-3a2 2 0 01-2-2V10a2 2 0 012-2h10zM7 5h10a2 2 0 011.995 1.85L19 7H7v12a2 2 0 01-2-2V7a2 2 0 012-2zm7-3a2 2 0 011.995 1.85L16 4H4v12a2 2 0 01-2-2V4a2 2 0 012-2h10z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nProjectTemplateAddIcon.displayName = \"ProjectTemplateAddIcon\";\nexport default ProjectTemplateAddIcon;\n","import React from \"react\";\n\n/**\n * @component ProjectTemplateConvertIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ProjectTemplateConvertIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ProjectTemplateConvertIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ProjectTemplateConvertIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M20 4a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2v-8h2v8h14V6h-8V4h8zM8 1a2 2 0 012 2v5a2 2 0 01-2 2H3a2 2 0 01-2-2V3a2 2 0 012-2h5zm8.37 10.121l-1.906 1.93L17 15.585 15.586 17l-2.536-2.536-1.929 1.907v-5.25h5.25zM8 3v5H3V3h5z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nProjectTemplateConvertIcon.displayName = \"ProjectTemplateConvertIcon\";\nexport default ProjectTemplateConvertIcon;\n","import React from \"react\";\n\n/**\n * @component ProjectTemplateIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ProjectTemplateIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ProjectTemplateIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ProjectTemplateIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M20 4a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2v-8h2v8h14V6h-8V4h8zm-8.464 6.121l2.535 2.536L16 10.75V16h-5.249l1.906-1.929-2.536-2.535 1.415-1.415zM8 1a2 2 0 012 2v5a2 2 0 01-2 2H3a2 2 0 01-2-2V3a2 2 0 012-2h5zm0 2H3v5h5V3z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nProjectTemplateIcon.displayName = \"ProjectTemplateIcon\";\nexport default ProjectTemplateIcon;\n","import React from \"react\";\n\n/**\n * @component ProjectsIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ProjectsIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ProjectsIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ProjectsIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M4 4v5h5V4H4zm0-2h5a2 2 0 012 2v5a2 2 0 01-2 2H4a2 2 0 01-2-2V4a2 2 0 012-2zm0 13v5h5v-5H4zm0-2h5a2 2 0 012 2v5a2 2 0 01-2 2H4a2 2 0 01-2-2v-5a2 2 0 012-2zm11-9v5h5V4h-5zm0-2h5a2 2 0 012 2v5a2 2 0 01-2 2h-5a2 2 0 01-2-2V4a2 2 0 012-2zm0 13v5h5v-5h-5zm0-2h5a2 2 0 012 2v5a2 2 0 01-2 2h-5a2 2 0 01-2-2v-5a2 2 0 012-2z\" />\n <path\n stroke=\"#F4F5F7\"\n strokeWidth={0.1}\n opacity={0.01}\n d=\"M.05.05h23.9v23.9H.05z\"\n />\n </svg>\n )\n);\nProjectsIcon.displayName = \"ProjectsIcon\";\nexport default ProjectsIcon;\n","import React from \"react\";\n\n/**\n * @component RadioBlankIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <RadioBlankIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst RadioBlankIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"RadioBlankIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 100 16 8 8 0 000-16z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nRadioBlankIcon.displayName = \"RadioBlankIcon\";\nexport default RadioBlankIcon;\n","import React from \"react\";\n\n/**\n * @component RadioButtonIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <RadioButtonIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst RadioButtonIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={16}\n height={16}\n viewBox=\"0 0 16 16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"RadioButtonIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <g fillRule=\"evenodd\">\n <circle stroke=\"#5D2BFF\" cx={8} cy={8} r={7.5} />\n <circle cx={8} cy={8} r={5} />\n </g>\n </svg>\n )\n);\nRadioButtonIcon.displayName = \"RadioButtonIcon\";\nexport default RadioButtonIcon;\n","import React from \"react\";\n\n/**\n * @component RearangeIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <RearangeIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst RearangeIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"RearangeIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M9 16a2 2 0 110 4 2 2 0 010-4zm6 0a2 2 0 110 4 2 2 0 010-4zm-6-6a2 2 0 110 4 2 2 0 010-4zm6 0a2 2 0 110 4 2 2 0 010-4zM9 4a2 2 0 110 4 2 2 0 010-4zm6 0a2 2 0 110 4 2 2 0 010-4z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nRearangeIcon.displayName = \"RearangeIcon\";\nexport default RearangeIcon;\n","import React from \"react\";\n\n/**\n * @component RearrangeSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <RearrangeSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst RearrangeSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"RearrangeSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M4 8a1 1 0 110 2 1 1 0 010-2zm4 0a1 1 0 110 2 1 1 0 010-2zM4 5a1 1 0 110 2 1 1 0 010-2zm4 0a1 1 0 110 2 1 1 0 010-2zM4 2a1 1 0 110 2 1 1 0 010-2zm4 0a1 1 0 110 2 1 1 0 010-2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nRearrangeSmallIcon.displayName = \"RearrangeSmallIcon\";\nexport default RearrangeSmallIcon;\n","import React from \"react\";\n\n/**\n * @component RecurringCheckmarkSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <RecurringCheckmarkSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst RecurringCheckmarkSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"RecurringCheckmarkSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M1 5.874a5.002 5.002 0 008.743 3.442l-.78-.45 2.3-.982.3 2.482-.939-.542A6.002 6.002 0 01.001 6.141l1-.267zm6.93-1.177a.5.5 0 010 .707L5.975 7.39a.5.5 0 01-.707 0l-.971-.975a.5.5 0 01.707-.708l.617.622 1.602-1.63a.5.5 0 01.707 0zM9 .804a5.996 5.996 0 013 5.052l-1.001.268.001-.043a5.002 5.002 0 00-8.743-3.398l.779.451-2.3.982-.298-2.482.938.54A6.002 6.002 0 019 .805z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nRecurringCheckmarkSmallIcon.displayName = \"RecurringCheckmarkSmallIcon\";\nexport default RecurringCheckmarkSmallIcon;\n","import React from \"react\";\n\n/**\n * @component RecurringCheckmarkIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <RecurringCheckmarkIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst RecurringCheckmarkIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"RecurringCheckmarkIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M5.014 12a6.944 6.944 0 001.826 4.73l.21.22a7 7 0 009.727.167l.173-.167-1.414-1.414 4.871-.63-.629 4.872-1.414-1.414a9 9 0 01-12.728 0 8.891 8.891 0 01-2.498-4.788A9.017 9.017 0 013 12.01h.006V12h2.008zm10.593-2.293a1 1 0 010 1.414l-3.657 3.657a1 1 0 01-1.414 0L8.707 12.95a1 1 0 011.414-1.414l1.12 1.12 2.951-2.949a1 1 0 011.415 0zm-3.246-6.7c2.1.084 4.175.898 5.813 2.444l.19.185.225.234.096.104.118.133a8.861 8.861 0 012.04 4.216l.043.25c.071.44.109.886.113 1.332h-.006l.001.095h-2.008a6.955 6.955 0 00-1.245-4.005l-.186-.254-.094-.12a7 7 0 00-10.238-.737l-.173.166 1.414 1.414-4.871.63.629-4.872 1.414 1.414a8.976 8.976 0 016.725-2.629z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nRecurringCheckmarkIcon.displayName = \"RecurringCheckmarkIcon\";\nexport default RecurringCheckmarkIcon;\n","import React from \"react\";\n\n/**\n * @component ReportTimeIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ReportTimeIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ReportTimeIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ReportTimeIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M15 9a7 7 0 110 14 7 7 0 010-14zm-3-9c1.235 0 2.29.758 2.752 1.828L14.82 2H19c1.05 0 1.918.82 1.994 1.851L21 4v5.292a9.017 9.017 0 00-1.999-1.356L19 4h-2v3H7V4H5v16l1.936.001c.362.728.82 1.4 1.356 2L5 22c-1.05 0-1.918-.82-1.994-1.851L3 20V4c0-1.05.82-1.918 1.851-1.994L5 2h4.18C9.6.84 10.7 0 12 0zm3 11a5 5 0 100 10 5 5 0 000-10zm1 2v1.999L19 15v2h-5v-4h2zM12 2c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nReportTimeIcon.displayName = \"ReportTimeIcon\";\nexport default ReportTimeIcon;\n","import React from \"react\";\n\n/**\n * @component ReportsIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ReportsIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ReportsIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ReportsIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M17 6v2H7V6H6v15h12V6h-1zm0-2h1a2 2 0 012 2v15a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h1V3h2c.336-2 1.336-3 3-3s2.664 1 3 3h2v1zM8 16h2v3H8v-3zm3-3h2v6h-2v-6zm3-3h2v9h-2v-9zm-1-5V3.332C13 2.327 12.61 2 12 2s-1 .303-1 1.332V5H9v1h6V5h-2z\" />\n <path\n stroke=\"#F4F5F7\"\n strokeWidth={0.1}\n opacity={0.01}\n d=\"M.05.05h23.9v23.9H.05z\"\n />\n </svg>\n )\n);\nReportsIcon.displayName = \"ReportsIcon\";\nexport default ReportsIcon;\n","import React from \"react\";\n\n/**\n * @component RocketIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <RocketIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst RocketIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"RocketIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M15.2 17.8H4v-4l2.437-3.046A17.833 17.833 0 016.4 9.637C6.4 6.772 8.8 3.36 12 1c3.2 2.36 5.6 5.772 5.6 8.637 0 .354-.012.73-.037 1.117L20 13.8v4h-4.8zm1.186-1.6H18.4v-1.839l-1.1-1.374c-.202 1.171-.507 2.312-.915 3.213zm-8.771 0c-.408-.901-.713-2.042-.916-3.213L5.6 14.361V16.2h2.015zm7.97 3.2L12 23.4l-3.585-4h7.17zM12 21l1.536-1.6h-3.072L12 21zM8 9.637c0 2.61.694 5.579 1.42 6.563h5.16c.726-.984 1.42-3.952 1.42-6.563 0-1.93-1.57-4.51-4-6.594-2.43 2.084-4 4.664-4 6.594zm4 .963a1.6 1.6 0 110-3.2 1.6 1.6 0 010 3.2z\" />\n </svg>\n )\n);\nRocketIcon.displayName = \"RocketIcon\";\nexport default RocketIcon;\n","import React from \"react\";\n\n/**\n * @component SearchLargeIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <SearchLargeIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst SearchLargeIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={32}\n height={32}\n viewBox=\"0 0 32 32\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"SearchLargeIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14 4c5.523 0 10 4.477 10 10 0 2.31-.783 4.436-2.098 6.129.088.04.17.09.248.15l.126.111 5.334 5.334a1.333 1.333 0 01-1.76 1.996l-.126-.11-5.334-5.334a1.332 1.332 0 01-.263-.373A9.953 9.953 0 0114 24C8.477 24 4 19.523 4 14S8.477 4 14 4zm0 2.667a7.333 7.333 0 100 14.666 7.333 7.333 0 000-14.666z\"\n />\n </svg>\n )\n);\nSearchLargeIcon.displayName = \"SearchLargeIcon\";\nexport default SearchLargeIcon;\n","import React from \"react\";\n\n/**\n * @component SearchIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <SearchIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst SearchIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"SearchIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M16.717 15.708a6 6 0 10-1.07 1.056l.602-.46.468-.596zm1.572 1.238l2.883 2.882a1 1 0 01-1.415 1.415l-2.891-2.892a8 8 0 111.423-1.405z\" />\n </svg>\n )\n);\nSearchIcon.displayName = \"SearchIcon\";\nexport default SearchIcon;\n","import React from \"react\";\n\n/**\n * @component SendBlankIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <SendBlankIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst SendBlankIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"SendBlankIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M1.241 1.405A2 2 0 013.812.53l.14.07 17.801 9.641a2 2 0 01.135 3.438l-.135.08-17.8 9.642a2 2 0 01-2.948-1.61L1 21.642V15l6-3-6-3V2.358a2 2 0 01.241-.953zM3 2.358v5.406L11.472 12 3 16.235v5.406L20.799 12 3 2.358z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nSendBlankIcon.displayName = \"SendBlankIcon\";\nexport default SendBlankIcon;\n","import React from \"react\";\n\n/**\n * @component SendFilledIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <SendFilledIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst SendFilledIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"SendFilledIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M3.953 23.4l17.8-9.641a2 2 0 000-3.518L3.953.6A2 2 0 001 2.358V9l8 3-8 3v6.642a2 2 0 002.953 1.759z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nSendFilledIcon.displayName = \"SendFilledIcon\";\nexport default SendFilledIcon;\n","import React from \"react\";\n\n/**\n * @component SettingsIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <SettingsIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst SettingsIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"SettingsIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M4.14 16H3a1 1 0 000 2h1.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H21a1 1 0 000-2h-9.14c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3zM6 17c0-1.1.9-2 2-2s2 .9 2 2-.9 2-2 2-2-.9-2-2zM16 3c-1.86 0-3.41 1.28-3.86 3H3a1 1 0 100 2h9.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H21a1 1 0 000-2h-1.14c-.45-1.72-2-3-3.86-3zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nSettingsIcon.displayName = \"SettingsIcon\";\nexport default SettingsIcon;\n","import React from \"react\";\n\n/**\n * @component SortGeneralIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <SortGeneralIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst SortGeneralIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"SortGeneralIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M17 6v11h3l-4 4-4-4h3V6h2zM8 3l4 4H9v11H7V7H4l4-4z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nSortGeneralIcon.displayName = \"SortGeneralIcon\";\nexport default SortGeneralIcon;\n","import React from \"react\";\n\n/**\n * @component SortIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <SortIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst SortIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={10}\n height={10}\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"SortIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M10 8v2H0V8h10zM7 4v2H0V4h7zM4 0v2H0V0h4z\" fillRule=\"evenodd\" />\n </svg>\n )\n);\nSortIcon.displayName = \"SortIcon\";\nexport default SortIcon;\n","import React from \"react\";\n\n/**\n * @component StarOutlineIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <StarOutlineIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst StarOutlineIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"StarOutlineIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12.706 2.103a1 1 0 01.454.455l2.63 5.329 5.881.854a1 1 0 01.554 1.706l-4.255 4.148 1.005 5.857a1 1 0 01-1.451 1.054l-5.26-2.765-5.26 2.765a1 1 0 01-1.451-1.054l1.004-5.857-4.255-4.148a1 1 0 01.554-1.706l5.881-.854 2.63-5.33a1 1 0 011.34-.454zm1.756 7.612L12.263 5.26l-2.198 4.455-4.916.713 3.557 3.469-.84 4.895 4.398-2.31 4.396 2.31-.839-4.895 3.557-3.468-4.916-.714z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nStarOutlineIcon.displayName = \"StarOutlineIcon\";\nexport default StarOutlineIcon;\n","import React from \"react\";\n\n/**\n * @component StarIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <StarIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst StarIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"StarIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12.264 18.74l-5.26 2.766a1 1 0 01-1.451-1.054l1.004-5.857-4.255-4.148a1 1 0 01.554-1.706l5.881-.854 2.63-5.33a1 1 0 011.793 0l2.63 5.33 5.881.854a1 1 0 01.554 1.706l-4.255 4.148 1.005 5.857a1 1 0 01-1.451 1.054l-5.26-2.765z\"\n fillRule=\"nonzero\"\n />\n </svg>\n )\n);\nStarIcon.displayName = \"StarIcon\";\nexport default StarIcon;\n","import React from \"react\";\n\n/**\n * @component SystemSettingsIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <SystemSettingsIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst SystemSettingsIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"SystemSettingsIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10.75 2a2 2 0 00-2 2v.154l-.029-.029a2 2 0 00-2.828 0L4.125 5.893a2 2 0 000 2.828l.029.029H4a2 2 0 00-2 2v2.5a2 2 0 002 2h.314l-.189.189a2 2 0 000 2.828l1.768 1.768a2 2 0 002.828 0l.029-.029A1.998 1.998 0 0010.748 22h2.502a2 2 0 002-2v-.154l.189.189a2 2 0 002.828 0l1.768-1.768a2 2 0 000-2.828l-.189-.189H20a2 2 0 002-2v-2.502a1.998 1.998 0 00-1.994-1.998l.029-.029a2 2 0 000-2.828l-1.768-1.768a2 2 0 00-2.828 0l-.189.189V4a2 2 0 00-2-2h-2.5zm0 2h2.5v.314c0 1.782 2.154 2.674 3.414 1.414l.189-.189 1.768 1.768-.032.032C17.33 8.597 18.22 10.749 20 10.75v2.5h-.154c-1.782 0-2.674 2.154-1.414 3.414l.189.189-1.768 1.768-.189-.189c-1.26-1.26-3.414-.368-3.414 1.414V20h-2.5c-.001-1.779-2.153-2.67-3.411-1.411l-.032.032-1.768-1.768.189-.189c1.26-1.26.368-3.414-1.414-3.414H4v-2.5h.154c1.782 0 2.674-2.154 1.414-3.414l-.029-.029 1.768-1.768.029.029c1.26 1.26 3.414.368 3.414-1.414V4zM10 12a2 2 0 114 0 2 2 0 01-4 0zm2-4a4 4 0 100 8 4 4 0 000-8z\"\n />\n </svg>\n )\n);\nSystemSettingsIcon.displayName = \"SystemSettingsIcon\";\nexport default SystemSettingsIcon;\n","import React from \"react\";\n\n/**\n * @component TaskAddIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <TaskAddIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst TaskAddIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"TaskAddIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2c5.523 0 10 4.477 10 10h-2a8 8 0 10-8 8v2C6.477 22 2 17.523 2 12S6.477 2 12 2zm7 12v3h3v2h-3v3h-2v-3.001L14 19v-2l3-.001V14h2zm-3.393-4.293a1 1 0 010 1.414l-3.657 3.657a1 1 0 01-1.414 0L8.707 12.95a1 1 0 011.414-1.414l1.12 1.12 2.951-2.949a1 1 0 011.415 0z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nTaskAddIcon.displayName = \"TaskAddIcon\";\nexport default TaskAddIcon;\n","import React from \"react\";\n\n/**\n * @component TaskListAddIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <TaskListAddIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst TaskListAddIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"TaskListAddIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M20 14v3h3v2h-3v3h-2v-3h-3v-2h3v-3h2zm-8 4a1 1 0 010 2H5a1 1 0 010-2h7zm0-4a1 1 0 010 2H5a1 1 0 010-2h7zm7-4a1 1 0 010 2H5a1 1 0 010-2h14zm0-6a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5a1 1 0 011-1h14z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nTaskListAddIcon.displayName = \"TaskListAddIcon\";\nexport default TaskListAddIcon;\n","import React from \"react\";\n\n/**\n * @component TaskListCompleteIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <TaskListCompleteIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst TaskListCompleteIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"TaskListCompleteIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11 18a1 1 0 110 2H5a1 1 0 110-2h6zm0-4a1 1 0 110 2H5a1 1 0 110-2h6zm8-4a1 1 0 110 2H5a1 1 0 110-2h14zm0-6a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5a1 1 0 011-1h14zm3.192 11.293a1 1 0 010 1.414l-3.657 3.657a1 1 0 01-1.414 0l-1.828-1.828a1 1 0 011.414-1.415l1.12 1.121 2.951-2.95a1 1 0 011.414 0z\"\n />\n </svg>\n )\n);\nTaskListCompleteIcon.displayName = \"TaskListCompleteIcon\";\nexport default TaskListCompleteIcon;\n","import React from \"react\";\n\n/**\n * @component ThumbUpOutlineIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ThumbUpOutlineIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ThumbUpOutlineIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={14}\n height={14}\n viewBox=\"0 0 14 14\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ThumbUpOutlineIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M8.647.034c.424.02.847.164 1.173.542.263.305.403.73.403 1.262l-.003.513-.015.658-.019.374-.028.33c-.033.312-.08.567-.148.796l-.022.065.069.091c.289.364.59.477 1.119.496l.15.003h.251c.682 0 1.239.08 1.679.286.37.175.624.435.726.876.07 2.43-.78 5.856-1.727 6.803a3.787 3.787 0 01-.494.433c-.39.278-.697.388-1.434.434l-.344.017-.405.01-.71.009c-1.71 0-2.668-.214-4.006-.754l-.393-.158a1.468 1.468 0 01-1.36.912H1.53c-.81 0-1.468-.657-1.468-1.468V7.5c0-.81.657-1.468 1.468-1.468h1.58c.443 0 .84.196 1.11.506.097-.236.216-.453.359-.635.21-.266.434-.459.881-.79l.286-.213c.973-.745 1.316-1.249 1.316-2.158l.005-.264c.028-.685.165-1.227.4-1.635.304-.526.745-.77 1.132-.808zM8.615.71l.027.003-.05.008c-.171.042-.377.18-.54.46-.199.347-.313.86-.313 1.56l-.005.202c-.054 1.114-.572 1.755-1.776 2.645l-.237.175-.23.182c-.168.138-.28.25-.381.377-.265.337-.448.94-.533 1.415v4.697l.539.216c1.172.473 2.01.675 3.414.702l.334.003.855-.012.335-.01.28-.016.122-.01.213-.025.177-.033a1.34 1.34 0 00.344-.126l.118-.072.06-.04c.12-.086.248-.2.406-.36.788-.787 1.597-4.044 1.54-6.234-.036-.148-.145-.259-.346-.354-.33-.154-.8-.222-1.39-.222h-.253c-.94-.005-1.484-.228-1.998-1.036l-.092-.145.062-.16c.11-.282.175-.626.21-1.134l.02-.363.012-.419.006-.746c0-.378-.087-.645-.238-.82C9.127.81 8.87.722 8.615.71zm-5.505 6H1.529a.79.79 0 00-.79.79v5.064c0 .437.354.79.79.79h1.58a.79.79 0 00.791-.79V7.5a.79.79 0 00-.79-.79z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nThumbUpOutlineIcon.displayName = \"ThumbUpOutlineIcon\";\nexport default ThumbUpOutlineIcon;\n","import React from \"react\";\n\n/**\n * @component TrashIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <TrashIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst TrashIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"TrashIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M8 4l1-2h6l1 2h4v2h-1v13a2 2 0 01-2 2H7a2 2 0 01-2-2V6H4V4h4zm3 2v13h2V6h-2zM7 6v13h2V6H7zm10 0h-2v13h2V6z\" />\n <path\n stroke=\"#F4F5F7\"\n strokeWidth={0.1}\n opacity={0.01}\n d=\"M.05.05h23.9v23.9H.05z\"\n />\n </svg>\n )\n);\nTrashIcon.displayName = \"TrashIcon\";\nexport default TrashIcon;\n","import React from \"react\";\n\n/**\n * @component TreeDotsIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <TreeDotsIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst TreeDotsIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"TreeDotsIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M6 10a2 2 0 110 4 2 2 0 010-4zm6 0a2 2 0 110 4 2 2 0 010-4zm6 0a2 2 0 110 4 2 2 0 010-4z\"\n fillRule=\"nonzero\"\n />\n </svg>\n )\n);\nTreeDotsIcon.displayName = \"TreeDotsIcon\";\nexport default TreeDotsIcon;\n","import React from \"react\";\n\n/**\n * @component UploadIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <UploadIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst UploadIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"UploadIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M6 18v-4h2v1.999h8V14h2v4H6zm6-14l4.95 4.95-1.414 1.414L13 7.829V14h-2V7.827l-2.536 2.537L7.05 8.95 12 4z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nUploadIcon.displayName = \"UploadIcon\";\nexport default UploadIcon;\n","import React from \"react\";\n\n/**\n * @component ViewGridIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ViewGridIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ViewGridIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ViewGridIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 16c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0-6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0-6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2M6 16c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0-6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0-6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m12 12c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0-6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0-6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nViewGridIcon.displayName = \"ViewGridIcon\";\nexport default ViewGridIcon;\n","import React from \"react\";\n\n/**\n * @component ViewListIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ViewListIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ViewListIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ViewListIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M19 17a1 1 0 010 2H5a1 1 0 010-2h14zm0-6a1 1 0 010 2H5a1 1 0 010-2h14zm0-6a1 1 0 010 2H5a1 1 0 110-2h14z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nViewListIcon.displayName = \"ViewListIcon\";\nexport default ViewListIcon;\n","import React from \"react\";\n\n/**\n * @component ViewTimelineIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ViewTimelineIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ViewTimelineIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ViewTimelineIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M10 17h10a1 1 0 010 2H10a1 1 0 010-2zm-3-6h10a1 1 0 010 2H7a1 1 0 010-2zM4 5h10a1 1 0 010 2H4a1 1 0 110-2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nViewTimelineIcon.displayName = \"ViewTimelineIcon\";\nexport default ViewTimelineIcon;\n","import React from \"react\";\n\n/**\n * @component VolumeHighIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <VolumeHighIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst VolumeHighIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"VolumeHighIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M14 3.23c4 .91 7 4.49 7 8.77 0 4.187-2.871 7.704-6.74 8.707l-.26.063V18.7c2.89-.86 5-3.53 5-6.7a7.005 7.005 0 00-4.754-6.632L14 5.29V3.23zM12 4v16l-5-5H3V9h4l5-5zm2 3.97c1.5.74 2.5 2.26 2.5 4.03a4.403 4.403 0 01-2.307 3.903L14 16V7.97z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nVolumeHighIcon.displayName = \"VolumeHighIcon\";\nexport default VolumeHighIcon;\n","import React from \"react\";\n\n/**\n * @component WarningTriangleSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <WarningTriangleSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst WarningTriangleSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"WarningTriangleSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M6.54 1.123c.19.093.347.233.45.403l4.872 7.982c.298.49.097 1.102-.45 1.369-.166.08-.352.123-.541.123H1.129C.505 11 0 10.548 0 9.991c0-.169.047-.335.138-.483l4.871-7.982c.298-.49.984-.67 1.531-.403zM6 2l-5 8h10L6 2zm0 4a1.5 1.5 0 110 3 1.5 1.5 0 010-3z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nWarningTriangleSmallIcon.displayName = \"WarningTriangleSmallIcon\";\nexport default WarningTriangleSmallIcon;\n","import React from \"react\";\n\n/**\n * @component WarningTriangleIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <WarningTriangleIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst WarningTriangleIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"WarningTriangleIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M13.08 2.247c.381.185.694.465.902.805l8.742 14.964c.597.978.194 2.204-.9 2.738a2.472 2.472 0 01-1.082.246H3.258C2.01 21 1 20.097 1 18.982c0-.337.095-.67.276-.966l8.742-14.964c.597-.978 1.968-1.339 3.063-.805zM12 4L3 19h18L12 4zm0 7a3 3 0 110 6 3 3 0 010-6z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nWarningTriangleIcon.displayName = \"WarningTriangleIcon\";\nexport default WarningTriangleIcon;\n","import React from \"react\";\n\n/**\n * @component WarningIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <WarningIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst WarningIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"WarningIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 100 16 8 8 0 000-16zm1 11v2h-2v-2h2zm0-8v6h-2V7h2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nWarningIcon.displayName = \"WarningIcon\";\nexport default WarningIcon;\n","import React from \"react\";\n\n/**\n * @component WorkloadIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <WorkloadIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst WorkloadIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"WorkloadIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n stroke=\"#F4F5F7\"\n strokeWidth={0.1}\n opacity={0.01}\n d=\"M.05.05h23.9v23.9H.05z\"\n />\n <path d=\"M22 12a.834.834 0 00-.41-.717l-1.959-1.158 1.96-1.157a.834.834 0 000-1.435l-9.167-5.417a.833.833 0 00-.848 0L2.409 7.533a.833.833 0 000 1.435l1.96 1.157-1.96 1.158a.833.833 0 000 1.435l1.96 1.157-1.96 1.158a.833.833 0 000 1.435l9.167 5.416a.829.829 0 00.848 0l9.167-5.416a.834.834 0 000-1.435l-1.96-1.158 1.96-1.157A.834.834 0 0022 12zM12 3.801l7.528 4.45L12 12.698 4.471 8.25 12 3.801zm-.424 10.583a.829.829 0 00.848 0l5.57-3.29 1.535.907L12 16.449 4.471 12l1.536-.907 5.569 3.291zm7.952 1.366L12 20.2l-7.529-4.45 1.536-.907 5.57 3.29a.829.829 0 00.848 0l5.57-3.29 1.533.907z\" />\n </svg>\n )\n);\nWorkloadIcon.displayName = \"WorkloadIcon\";\nexport default WorkloadIcon;\n","import styled from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\nimport { List } from \"../List\";\n\nexport const StyledNavElement = styled.nav`\n ${tw`tw-w-full`}\n ${tw`tw-overflow-hidden`}\n ${FontStyle}\n ${BoxSizingStyle}\n`;\n\nStyledNavElement.displayName = \"StyledNavElement\";\n\nexport const StyledListWrapper = styled.div`\n ${tw`tw-inline-block`}\n`;\n\nStyledListWrapper.displayName = \"StyledListWrapper\";\n\nexport const StyledOList = styled.ol`\n ${tw`tw-flex`}\n ${tw`tw-items-start`}\n ${tw`tw-items-center`}\n ${tw`tw-list-none`}\n ${tw`tw-p-0`}\n ${tw`tw-m-0`}\n`;\n\nStyledOList.displayName = \"StyledOList\";\n\nexport const StyledMenuList = styled(List)`\n ${tw`tw-py-2`}\n`;\n\nStyledMenuList.displayName = \"StyledMenuList\";\n\nexport const StyledBreadcrumbListItem = styled.li`\n ${tw`tw-flex`}\n ${tw`tw-flex-shrink-0`}\n`;\n\nStyledBreadcrumbListItem.displayName = \"StyledBreadcrumbListItem\";\n","import React, {\n ReactElement,\n useRef,\n useMemo,\n useEffect,\n useState,\n} from \"react\";\nimport { useForkRef, useResizeObserver } from \"../../utils\";\nimport { Menu } from \"../Menu\";\nimport { ListItem } from \"../List\";\nimport { IconButton } from \"../IconButton\";\nimport { TreeDotsIcon } from \"../Icons\";\nimport {\n StyledNavElement,\n StyledOList,\n StyledMenuList,\n StyledListWrapper,\n StyledBreadcrumbListItem,\n} from \"./Styles\";\n\nexport interface BreadcrumbsProps {\n /** Separator element */\n separator?: ReactElement | string;\n}\n\nexport const Breadcrumbs = React.forwardRef<\n HTMLElement,\n BreadcrumbsProps &\n Omit<React.ComponentPropsWithoutRef<\"nav\">, keyof BreadcrumbsProps>\n>(({ children, className, separator = \"/\", ...rest }, ref) => {\n const internalRef = useRef<HTMLElement | null>(null);\n const listWrapperRef = useRef<HTMLDivElement | null>(null);\n const olRef = useRef<HTMLOListElement | null>(null);\n const widthCollectionRef = useRef<number[]>([]);\n const handleRef = useForkRef(ref, internalRef);\n const [menuBreadcrumbs, setMenuBreadcrumbs] = useState(0);\n const dimensions = useResizeObserver(internalRef);\n const childDimensions = useResizeObserver(listWrapperRef);\n\n const parentWidth = dimensions?.width ?? 0;\n const childWidth = childDimensions?.width ?? 0;\n\n const childrenCollection = useMemo(\n () => React.Children.toArray(children),\n [children]\n );\n\n const [menuCollection, listCollection] = useMemo(() => {\n return [\n childrenCollection.slice(0, menuBreadcrumbs),\n childrenCollection.slice(menuBreadcrumbs, childrenCollection.length),\n ];\n }, [childrenCollection, menuBreadcrumbs]);\n\n useEffect(() => {\n widthCollectionRef.current = [];\n setMenuBreadcrumbs(0);\n }, [childrenCollection.length]);\n\n useEffect(() => {\n const diffWidth = childWidth - parentWidth;\n\n if (diffWidth > 0) {\n const separatorWidth =\n (\n olRef.current?.querySelectorAll(\n `[data-role=\"separator\"]`\n )[0] as HTMLLIElement\n )?.offsetWidth ?? 0;\n const breadcrumbItems =\n olRef.current?.querySelectorAll(`[data-role=\"item\"]`) ?? [];\n const childWidthCollection: number[] = [];\n\n const maxIndex = (breadcrumbItems?.length ?? 1) - 1;\n let currentIndex = 0;\n let childSumWidth = 0;\n\n while (diffWidth > childSumWidth && maxIndex >= currentIndex) {\n const childWidth =\n (breadcrumbItems[currentIndex] as HTMLLIElement)?.offsetWidth ?? 0;\n const result = separatorWidth + childWidth;\n childWidthCollection.push(result);\n childSumWidth += result;\n currentIndex += 1;\n }\n\n if (childWidthCollection.length === listCollection.length) {\n childWidthCollection.pop();\n }\n\n widthCollectionRef.current = [\n ...widthCollectionRef.current,\n ...childWidthCollection,\n ];\n\n setMenuBreadcrumbs((oldVal) => oldVal + childWidthCollection.length);\n }\n }, [listCollection.length, parentWidth, childWidth]);\n\n useEffect(() => {\n const diffWidth = parentWidth - childWidth;\n\n if (diffWidth > 0 && widthCollectionRef.current.length > 0) {\n const total = widthCollectionRef.current.length;\n const collection = [...widthCollectionRef.current];\n\n let sumWidth = 0;\n\n while (diffWidth > sumWidth && collection.length > 0) {\n const lastWidth = collection[collection.length - 1] ?? 0;\n if (diffWidth < lastWidth + sumWidth) {\n sumWidth = diffWidth;\n } else {\n sumWidth += collection.pop() ?? 0;\n }\n }\n\n const totalToDecrease = total - collection.length;\n\n setMenuBreadcrumbs((oldVal) => {\n const newValue = oldVal - totalToDecrease;\n return newValue > 0 ? newValue : 0;\n });\n\n const end = total - totalToDecrease;\n\n widthCollectionRef.current =\n end > 0 ? widthCollectionRef.current.slice(0, end) : [];\n }\n }, [parentWidth, childWidth]);\n\n return (\n <StyledNavElement className={className} ref={handleRef} {...rest}>\n <StyledListWrapper ref={listWrapperRef}>\n <StyledOList ref={olRef}>\n {menuCollection.length > 0 ? (\n <StyledBreadcrumbListItem data-role=\"menu\">\n <Menu\n target={\n <IconButton variant=\"text gray\">\n <TreeDotsIcon />\n </IconButton>\n }\n >\n <StyledMenuList>\n {menuCollection.map((child, index) => (\n <ListItem key={index}>{child}</ListItem>\n ))}\n </StyledMenuList>\n </Menu>\n </StyledBreadcrumbListItem>\n ) : null}\n {listCollection.map((child, index) => {\n return (\n <React.Fragment key={index}>\n {index > 0 || menuCollection.length > 0 ? (\n <StyledBreadcrumbListItem data-role=\"separator\">\n {separator}\n </StyledBreadcrumbListItem>\n ) : null}\n <StyledBreadcrumbListItem data-role=\"item\">\n {child}\n </StyledBreadcrumbListItem>\n </React.Fragment>\n );\n })}\n </StyledOList>\n </StyledListWrapper>\n </StyledNavElement>\n );\n});\n\nBreadcrumbs.displayName = \"Breadcrumbs\";\n","import React, { ReactElement, FC, cloneElement } from \"react\";\nimport { Transition } from \"react-transition-group\";\nimport { TransitionProps } from \"../types\";\n\ninterface IFromElementProps extends TransitionProps {\n children: ReactElement;\n}\n\nconst defaultStyle = {\n transitionProperty: \"opacity, transform\",\n transitionDuration: \".15s, .10s, .15s\",\n transitionTimingFunction: \"ease, ease, cubic-bezier(0.39, 0.575, 0.565, 1)\",\n transformOrigin: \"50% 0\",\n transform: \"scale(.85)\",\n opacity: 0,\n};\n\nconst transitionStyles = {\n entering: { opacity: 1, transform: \"scale(1)\", transitionDelay: \".6s\" },\n entered: { opacity: 1, transform: \"scale(1)\" },\n exiting: { opacity: 0, transform: \"scale(.85)\" },\n exited: { opacity: 0, transform: \"scale(.85)\" },\n};\n\nexport const FromElement: FC<IFromElementProps> = ({\n in: inProp = false,\n onEnter,\n onExited,\n children,\n style,\n timeout = 1000,\n}) => {\n return (\n <Transition\n appear\n in={inProp}\n timeout={timeout}\n onEnter={onEnter}\n onExited={onExited}\n >\n {(state): ReactElement => {\n return cloneElement(children, {\n style: {\n visibility: state === \"exited\" && !inProp ? \"hidden\" : undefined,\n ...defaultStyle,\n ...transitionStyles[state],\n ...style,\n ...children.props.style,\n },\n });\n }}\n </Transition>\n );\n};\n\nFromElement.displayName = \"FromElement\";\n","import styled, { css } from \"styled-components\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\nexport const StyledTooltip = styled.div<{ $isLight: boolean }>`\n ${BoxSizingStyle}\n ${FontStyle}\n\n max-width: 200px;\n border-radius: 8px;\n padding: 4px 10px;\n text-align: center;\n background-color: rgba(0, 0, 0, 0.9);\n font-size: 12px;\n font-weight: 500;\n line-height: normal;\n color: #fff;\n margin: 4px;\n\n ${(props) =>\n props.$isLight &&\n css`\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-secondary);\n color: var(--color-theme-700);\n `}\n`;\n","import React, {\n ReactElement,\n useState,\n CSSProperties,\n MouseEvent,\n forwardRef,\n Ref,\n FC,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { Popper, Placement } from \"../Popper\";\nimport { FromElement } from \"../Transitions/FromElement\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { TransitionProps } from \"../Transitions\";\nimport { Portal, useLayerContext } from \"../../helpers\";\nimport { StyledTooltip } from \"./Styles\";\nimport { layers } from \"../../utils\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport interface ITooltipProps {\n /** Children element. */\n children: ElementWithRef<HTMLElement>;\n /** Title element. */\n title: ReactElement | string;\n /** Applies passed styles */\n style?: CSSProperties;\n /** Applies passed classes */\n className?: string;\n /** Open */\n open?: boolean;\n /** Placement */\n placement?: Placement;\n /** Transition component */\n TransitionComponent?: React.FC<TransitionProps>;\n /** Light tooltip */\n isLight?: boolean;\n /** Popper Tooltip style */\n popperTooltipStyle?: CSSProperties;\n /** Popper Tooltip class name*/\n popperTooltipClassName?: string;\n /** Remove tooltip */\n disable?: boolean;\n}\n\ninterface ITooltipAnimation extends TransitionProps {\n children: ReactElement;\n}\n\nconst TooltipAnimation: FC<ITooltipAnimation> = ({ children, ...props }) => {\n return (\n <FromElement timeout={0} {...props}>\n {children}\n </FromElement>\n );\n};\n\nexport const Tooltip = forwardRef<HTMLElement, ITooltipProps>(\n (\n {\n children,\n title,\n className,\n style,\n isLight = false,\n placement = \"top\",\n TransitionComponent = TooltipAnimation,\n popperTooltipStyle,\n popperTooltipClassName,\n disable,\n },\n ref\n ) => {\n const { zIndex = layers.skyscraper } = useLayerContext();\n const [open, setOpen] = useState(false);\n const [childNode, setChildNode] = useState<HTMLElement | null>();\n\n const handleEnter = (event: MouseEvent<HTMLElement>): void => {\n const childrenProps = children.props;\n\n if (event.type === \"mouseover\" && childrenProps.onMouseOver) {\n childrenProps.onMouseOver(event);\n }\n\n childNode && childNode.removeAttribute(\"title\");\n\n setOpen(true);\n };\n\n const handleLeave = (event: MouseEvent<HTMLElement>): void => {\n const childrenProps = children.props;\n\n if (\n event.type === \"mouseleave\" &&\n childrenProps.onMouseLeave &&\n event.currentTarget === childNode\n ) {\n childrenProps.onMouseLeave(event);\n }\n\n setOpen(false);\n };\n\n const handleOwnRef = useForkRef(children.ref, ref);\n const handleRef = useForkRef(setChildNode, handleOwnRef);\n\n const childrenProps = {\n onMouseOver: handleEnter,\n onMouseLeave: handleLeave,\n ref: handleRef,\n };\n\n return (\n <>\n {React.cloneElement(children, childrenProps)}\n {!disable && (\n <Portal>\n <Popper\n anchorEl={childNode}\n open={childNode ? open : false}\n placement={placement}\n transition\n className={popperTooltipClassName}\n style={{ zIndex, ...popperTooltipStyle }}\n role=\"tooltip\"\n >\n {({ transitionProps = {} }): ReactElement => (\n <TransitionComponent {...transitionProps} style={style}>\n <StyledTooltip\n className={classnames(\"c-tooltip-ds\", className)}\n $isLight={isLight}\n >\n {title}\n </StyledTooltip>\n </TransitionComponent>\n )}\n </Popper>\n </Portal>\n )}\n </>\n );\n }\n);\n\nTooltip.displayName = \"Tooltip\";\n","import React, { forwardRef } from \"react\";\nimport { ITypographyProps, Typography } from \"../Typography\";\nexport interface IBodyProps {\n /** Font weight. */\n weight?: \"regular\" | \"bold\" | \"medium\";\n}\n\nexport const Body2 = forwardRef<\n HTMLDivElement,\n IBodyProps & Omit<ITypographyProps, keyof IBodyProps | \"variant\">\n>(({ weight = \"regular\", children, ...props }, ref) => {\n return (\n <Typography variant=\"Body 2\" weight={weight} ref={ref} {...props}>\n {children}\n </Typography>\n );\n});\n\nBody2.displayName = \"Body2\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { Body2 } from \"../Typography/Variants/Body2\";\nimport { Button } from \"../Button/Button\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\ninterface StyledCounterButtonProps {\n $active?: boolean;\n $selected?: boolean;\n}\n\nexport const StyledCounterButtonWrapper = styled.div`\n ${tw`tw-flex`}\n ${FontStyle}\n ${BoxSizingStyle}\n width: fit-content;\n`;\n\nStyledCounterButtonWrapper.displayName = \"StyledCounterButtonWrapper\";\n\nexport const StyledCounterButton = styled(Button)<StyledCounterButtonProps>`\n ${(props) =>\n props.$active &&\n css`\n padding: 0 8px;\n\n svg {\n fill: var(--color-primary);\n }\n\n &:hover {\n background: var(--color-primary-300);\n }\n `}\n\n ${(props) =>\n props.$selected &&\n css`\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n background-color: var(--color-primary-200);\n `}\n`;\n\nStyledCounterButton.displayName = \"StyledCounterButton\";\n\nexport const StyledCounterButtonCounter = styled.div<{ $selected?: boolean }>`\n border-radius: 50%;\n background-color: var(--color-primary);\n color: var(--page-paper-main);\n line-height: 15px;\n width: 15px;\n font-weight: bold;\n font-size: 10px;\n text-align: center;\n margin-left: 4px;\n margin-right: -6px;\n`;\n\nStyledCounterButtonCounter.displayName = \"StyledCounterButtonCounter\";\n\nexport const StyledCounterButtonReset = styled(Button)`\n background-color: var(--color-primary-200);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n\n &:hover,\n &:focus-visible {\n background-color: var(--color-primary-300);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n`;\n\nStyledCounterButtonReset.displayName = \"StyledCounterButtonReset\";\n\nexport const StyledCounterButtonLabel = styled(Body2)<{ $active?: boolean }>`\n ${tw`tw-pointer-events-none`}\n\n ${StyledCounterButton}:hover && {\n ${(props) =>\n !props.$active &&\n css`\n color: var(--color-theme-900);\n `}\n }\n\n ${(props) =>\n props.$active &&\n css`\n color: var(--color-primary);\n `}\n`;\n\nStyledCounterButtonLabel.displayName = \"StyledCounterButtonLabel\";\n","import React, { forwardRef, ReactElement } from \"react\";\nimport classNames from \"classnames\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\nimport CloseSmallIcon from \"../Icons/collection/CloseSmall\";\nimport {\n StyledCounterButton,\n StyledCounterButtonCounter,\n StyledCounterButtonLabel,\n StyledCounterButtonReset,\n StyledCounterButtonWrapper,\n} from \"./Styles\";\n\nexport interface ICounterButtonProps {\n /** Set active state */\n active?: boolean;\n /** Label for value */\n label?: string;\n /** Icon */\n icon?: ReactElement;\n /** Number of applied filters */\n counter?: number;\n /** OnClearAll callback */\n onClearAll: (event?) => void;\n /** Tooltip content */\n tooltipText?: string;\n /** Applies passed classes */\n className?: string;\n}\n\nexport const CounterButton = forwardRef<HTMLDivElement, ICounterButtonProps>(\n (\n {\n label,\n icon,\n active,\n counter = 0,\n tooltipText,\n onClearAll,\n className,\n ...args\n },\n ref\n ) => {\n return (\n <StyledCounterButtonWrapper ref={ref} className={className}>\n <StyledCounterButton\n className={classNames(\"c-counter-button\", {\n \"c-counter-button__selected\": counter,\n })}\n {...args}\n variant=\"text gray\"\n $active={counter > 0 || active}\n $selected={counter > 0}\n >\n {icon &&\n React.cloneElement(icon, {\n className: classNames(\"c-counter-button__icon\"),\n })}\n {label && (\n <StyledCounterButtonLabel\n color=\"secondary\"\n weight=\"medium\"\n className=\"c-counter-button__label\"\n $active={counter > 0 || active}\n >\n {label}\n </StyledCounterButtonLabel>\n )}\n {counter > 0 ? (\n <StyledCounterButtonCounter className=\"c-counter-button__counter\">\n {counter}\n </StyledCounterButtonCounter>\n ) : null}\n </StyledCounterButton>\n {counter > 0 ? (\n <Tooltip\n title={`${tooltipText}`}\n popperTooltipClassName=\"z-index-1300\"\n >\n <StyledCounterButtonReset\n variant=\"text colored\"\n className=\"c-counter-button__reset\"\n onClick={onClearAll}\n >\n <CloseSmallIcon />\n </StyledCounterButtonReset>\n </Tooltip>\n ) : null}\n </StyledCounterButtonWrapper>\n );\n }\n);\n\nCounterButton.displayName = \"CounterButton\";\n","export const customClassNames = {\n container: \"c-DayPicker\",\n wrapper: \"c-DayPicker-wrapper\",\n interactionDisabled: \"c-DayPicker--interactionDisabled\",\n months: \"c-DayPicker-Months\",\n month: \"c-DayPicker-Month\",\n\n navBar: \"c-DayPicker-NavBar\",\n navButtonPrev: \"c-DayPicker-NavButton DayPicker-NavButton--prev\",\n navButtonNext: \"c-DayPicker-NavButton DayPicker-NavButton--next\",\n navButtonInteractionDisabled: \"c-DayPicker-NavButton--interactionDisabled\",\n\n caption: \"c-DayPicker-Caption\",\n weekdays: \"c-DayPicker-Weekdays\",\n weekdaysRow: \"c-DayPicker-WeekdaysRow\",\n weekday: \"c-DayPicker-Weekday\",\n body: \"c-DayPicker-Body\",\n week: \"c-DayPicker-Week\",\n weekNumber: \"c-DayPicker-WeekNumber\",\n day: \"c-DayPicker-Day\",\n footer: \"c-DayPicker-Footer\",\n todayButton: \"c-DayPicker-TodayButton\",\n\n // default modifiers\n today: \"c-DayPicker-Day--today\",\n selected: \"c-DayPicker-Day--selected\",\n disabled: \"c-DayPicker-Day--disabled\",\n outside: \"c-DayPicker-Day--outside\",\n\n // custom modifiers\n weekend: \"c-DayPicker-Day--weekend\",\n userAvailability: \"c-DayPicker-Day--userAvailability\",\n nonWorkingDay: \"c-DayPicker-Day--nonWorkingDay\",\n};\n","import styled, { css } from \"styled-components\";\nimport { Button } from \"../Button/Button\";\nimport tw from \"twin.macro\";\n\nexport const StyledNavBarButton = styled(Button)<{\n $direction: \"next\" | \"previous\";\n}>`\n position: absolute;\n margin-top: 1px;\n cursor: pointer;\n z-index: 2;\n background-image: none;\n\n ${(props) =>\n props.$direction === \"previous\" &&\n css`\n right: auto;\n left: 1px;\n `}\n\n ${(props) =>\n props.$direction === \"next\" &&\n css`\n right: 1px;\n `}\n`;\n\ninterface StyledMonthInterface {\n $isCurrent: boolean;\n $isSelected: boolean;\n $isCurrentQuarter: boolean;\n}\n\nexport const StyledMonths = styled.div`\n top: 30px;\n height: 230px;\n\n ${tw`\n tw-absolute\n tw-left-0\n tw-p-5\n tw-flex\n tw-flex-wrap\n tw-bg-page-paper-main\n tw-z-10\n `}\n`;\nexport const StyledMonth = styled.div<StyledMonthInterface>`\n width: 26%;\n transition-duration: 0.3s;\n\n ${tw`\n tw-m-auto\n tw-cursor-pointer\n tw-rounded-xl\n tw-font-bold\n tw-text-sm\n `}\n\n ${(props) =>\n !props.$isSelected\n ? css`\n &:hover {\n background-color: var(--color-primary-300);\n }\n `\n : css`\n ${tw`tw-text-theme-100`}\n background-color: var(--color-primary);\n `}\n\n ${(props) =>\n props.$isCurrent &&\n !props.$isSelected &&\n css`\n ${tw`tw-text-primary`}\n `}\n\n ${(props) =>\n props.$isCurrent &&\n props.$isSelected &&\n css`\n color: var(--color-theme-100);\n `}\n\n ${(props) =>\n props.$isCurrentQuarter &&\n css`\n background-color: var(--color-primary-300);\n `}\n`;\n\nexport const StyledYearMonthPicker = styled.div`\n display: table-caption;\n margin-bottom: 0.5rem;\n padding: 0 0.5rem;\n\n ${tw`tw-text-center tw-text-theme-900`}\n\n &> div {\n font-weight: 500;\n font-size: 1.15rem;\n }\n`;\n\nexport const StyledYearMonthPickerNavBar = styled.div`\n width: auto;\n margin: 0 auto;\n`;\n\nexport const StyledYearMonthPickerNavBarItem = styled.span`\n ${tw`tw-px-4 tw-cursor-pointer`}\n transition-duration: 0.3s;\n display: inline-block;\n\n &:hover {\n background-color: var(--color-primary-300);\n border-radius: 15px;\n }\n`;\n\nStyledNavBarButton.displayName = \"StyledNavBarButton\";\nStyledMonths.displayName = \"StyledMonths\";\nStyledMonth.displayName = \"StyledMonth\";\n","import React, { FC, useCallback, useMemo, useState } from \"react\";\nimport { CaptionElementProps } from \"react-day-picker\";\nimport {\n StyledMonth,\n StyledMonths,\n StyledYearMonthPicker,\n StyledYearMonthPickerNavBar,\n StyledYearMonthPickerNavBarItem,\n} from \"./Styles\";\n\ninterface IYearMonthForm {\n onChange?: (modifiersArg) => void;\n isShown?: boolean;\n text: string;\n selectedDays?: { from; to } | Date;\n selectionMode?: string;\n}\n\nexport const YearMonthPicker: FC<CaptionElementProps & IYearMonthForm> = ({\n date,\n localeUtils,\n onChange = (): null => null,\n isShown = true,\n onClick,\n text,\n selectedDays,\n selectionMode,\n}) => {\n const [enteredTo, setEnteredTo] = useState<number | undefined>();\n const months = localeUtils.getMonths();\n\n const handleMonthChange = useCallback(\n (e) => {\n onChange(new Date(date.getFullYear(), e.target.dataset.value));\n if (onClick) {\n onClick(e);\n }\n },\n [date, onChange, onClick]\n );\n\n const onMouseEnterCallback = useCallback(\n (e) => {\n if (selectionMode === \"quarterly\") {\n setEnteredTo(Math.floor(e.target.getAttribute(\"data-value\") / 3));\n }\n },\n [selectionMode]\n );\n\n const renderMonths = useMemo(() => {\n return (\n <StyledMonths className=\"c-monthPicker\" data-test=\"months\">\n {months.map((month, i) => {\n return (\n <StyledMonth\n className=\"c-monthPicker__month\"\n key={i}\n onClick={handleMonthChange}\n onMouseEnter={onMouseEnterCallback}\n data-value={i}\n data-test=\"month\"\n $isCurrent={\n date.getFullYear() === new Date().getFullYear() &&\n new Date().getMonth() === i\n }\n $isCurrentQuarter={Math.floor(i / 3) === enteredTo}\n $isSelected={\n selectedDays &&\n !(selectedDays instanceof Date) &&\n selectedDays.from &&\n selectedDays.to &&\n selectedDays.from.getFullYear() === date.getFullYear() &&\n i >= selectedDays.from.getMonth() &&\n i <= selectedDays.to.getMonth()\n }\n >\n {month.substring(0, 3)}\n </StyledMonth>\n );\n })}\n </StyledMonths>\n );\n }, [\n date,\n handleMonthChange,\n months,\n selectedDays,\n enteredTo,\n onMouseEnterCallback,\n ]);\n\n return (\n <StyledYearMonthPicker className=\"c-DayPicker-Caption\" role=\"button\">\n <StyledYearMonthPickerNavBar role=\"button\">\n <StyledYearMonthPickerNavBarItem\n data-test=\"show-picker\"\n onClick={onClick}\n >\n {text}\n </StyledYearMonthPickerNavBarItem>\n </StyledYearMonthPickerNavBar>\n {isShown && renderMonths}\n </StyledYearMonthPicker>\n );\n};\n\nYearMonthPicker.displayName = \"YearMonthPicker\";\n","import React, { MouseEvent, forwardRef, useCallback } from \"react\";\nimport { NavbarElementProps } from \"react-day-picker\";\nimport { ArrowRightIcon } from \"../Icons\";\nimport ArrowLeftIcon from \"../Icons/collection/ArrowLeft\";\nimport { StyledNavBarButton } from \"./Styles\";\n\ninterface INavBarElementProps {\n onClick?: (e: MouseEvent) => void;\n}\n\nexport const NavBarElement = forwardRef<\n HTMLDivElement,\n NavbarElementProps & INavBarElementProps\n>(({ onPreviousClick, onNextClick }, ref) => {\n const onPrevious = useCallback(() => {\n onPreviousClick();\n }, [onPreviousClick]);\n\n const onNext = useCallback(() => {\n onNextClick();\n }, [onNextClick]);\n\n return (\n <div className=\"c-DayPicker-NavBar\" ref={ref} tabIndex={0}>\n <StyledNavBarButton\n type=\"button\"\n variant=\"text gray\"\n size=\"small\"\n tabIndex={0}\n onClick={onPrevious}\n $direction=\"previous\"\n >\n <ArrowLeftIcon aria-label=\"Previous Month\" width=\"24\" height=\"24\" />\n </StyledNavBarButton>\n <StyledNavBarButton\n type=\"button\"\n variant=\"text gray\"\n size=\"small\"\n tabIndex={0}\n onClick={onNext}\n $direction=\"next\"\n >\n <ArrowRightIcon aria-label=\"Next Month\" width=\"24\" height=\"24\" />\n </StyledNavBarButton>\n </div>\n );\n});\n\nNavBarElement.displayName = \"NavBarElement\";\n","import React, { FC, useCallback } from \"react\";\nimport { DateUtils, NavbarElementProps } from \"react-day-picker\";\nimport { NavBarElement } from \"../Pickers/NavBarElement\";\n\ninterface ICustomNavBarElementProps extends NavbarElementProps {\n showMonthPicker: boolean;\n onChangeDirection?: (direction: boolean) => void;\n onMonthChange?: (month: Date) => void;\n onClick?: () => void;\n}\n\nexport const CustomNavBarElement: FC<ICustomNavBarElementProps> = ({\n className,\n classNames,\n month,\n showPreviousButton,\n showNextButton,\n labels,\n localeUtils,\n locale,\n showMonthPicker = false,\n onChangeDirection,\n onMonthChange,\n onClick,\n}) => {\n const nextMonth = showMonthPicker\n ? DateUtils.addMonths(month, 12)\n : DateUtils.addMonths(month, 1);\n const previousMonth = showMonthPicker\n ? DateUtils.addMonths(month, -12)\n : DateUtils.addMonths(month, -1);\n\n const onNextClick = useCallback(() => {\n if (onChangeDirection) {\n onChangeDirection(true);\n }\n if (onMonthChange) {\n onMonthChange(nextMonth);\n }\n }, [nextMonth, onChangeDirection, onMonthChange]);\n\n const onPreviousClick = useCallback(() => {\n if (onChangeDirection) {\n onChangeDirection(false);\n }\n if (onMonthChange) {\n onMonthChange(previousMonth);\n }\n }, [onChangeDirection, onMonthChange, previousMonth]);\n\n return (\n <NavBarElement\n className={className}\n classNames={classNames}\n month={month}\n showPreviousButton={showPreviousButton}\n showNextButton={showNextButton}\n labels={labels}\n localeUtils={localeUtils}\n locale={locale}\n previousMonth={previousMonth}\n nextMonth={nextMonth}\n onNextClick={onNextClick}\n onPreviousClick={onPreviousClick}\n onClick={onClick}\n />\n );\n};\n","import styled, { css } from \"styled-components\";\nimport { FontStyle } from \"../FontStyle\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport tw from \"twin.macro\";\nimport DayPicker from \"react-day-picker\";\nimport { CSSTransition } from \"react-transition-group\";\n\nexport const StyledDatePicker = styled.div`\n ${FontStyle}\n ${BoxSizingStyle}\n\n overflow: hidden;\n min-width: 230px;\n\n ${tw`tw-flex tw-justify-center`}\n`;\n\nexport const StyledDayPicker = styled(DayPicker)<{ $isYearlyView: boolean }>`\n ${tw`tw-bg-page-paper-main`}\n width: 230px;\n\n ${(props) =>\n props.$isYearlyView &&\n css`\n .c-DayPicker-Weekdays,\n .c-DayPicker-Body {\n opacity: 0 !important;\n }\n `}\n\n .c-DayPicker-Month {\n display: table;\n user-select: none;\n border-collapse: separate;\n border-spacing: 4px;\n }\n\n .c-DayPicker-wrapper {\n position: relative;\n flex-direction: row;\n user-select: none;\n }\n\n .c-DayPicker-Caption {\n display: table-caption;\n margin-bottom: 0.5em;\n padding: 0 0.5em;\n ${tw`tw-text-center tw-text-theme-900`}\n }\n\n .c-DayPicker-Weekday {\n font-size: 11px;\n display: table-cell;\n padding: 0.5em;\n text-align: center;\n ${tw`tw-text-theme-600`}\n }\n\n .c-DayPicker-Body {\n display: table-row-group;\n font-size: 13px;\n ${tw`tw-text-theme-900 tw-font-bold`}\n }\n\n .c-DayPicker-Day {\n display: table-cell;\n border-radius: 50%;\n vertical-align: middle;\n text-align: center;\n cursor: pointer;\n transition-duration: 0.3s;\n width: 27px;\n height: 27px;\n line-height: 27px;\n }\n\n .c-DayPicker {\n display: inline-block;\n font-size: 1rem;\n }\n\n .c-DayPicker-Months {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n }\n\n .c-DayPicker-NavButton--interactionDisabled {\n display: none;\n }\n\n .c-DayPicker-Weekdays {\n text-decoration: none;\n display: table-header-group;\n margin-top: 1em;\n }\n\n .c-DayPicker-WeekdaysRow {\n display: table-row;\n }\n\n .c-DayPicker-Weekday * {\n display: block;\n border-bottom: none;\n text-decoration: none;\n overflow: hidden;\n text-overflow: \"\";\n white-space: nowrap;\n width: 12px;\n letter-spacing: 10px;\n transform: translateX(30%);\n }\n\n .c-DayPicker-Week {\n display: table-row;\n }\n\n .c-DayPicker--interactionDisabled .c-DayPicker-Day {\n cursor: default;\n }\n\n .hovered:not(.c-DayPicker-Day--selected) {\n background-color: var(--color-primary-300);\n color: var(--color-theme-900);\n }\n\n .c-DayPicker-Day--today {\n font-weight: 700;\n color: var(--color-primary);\n position: relative;\n\n &:after {\n position: absolute;\n content: \"\";\n bottom: 3px;\n height: 3px;\n width: 3px;\n border-radius: 3px;\n margin: 0 auto;\n left: 0;\n right: 0;\n background: var(--color-primary);\n }\n &.hovered:not(.c-DayPicker-Day--selected) {\n color: var(--color-primary);\n &:after {\n background-color: var(--color-primary);\n }\n }\n }\n\n .c-DayPicker-Day--userAvailability {\n color: var(--red-alert);\n &.hovered:not(.c-DayPicker-Day--selected) {\n background-color: rgba(237, 97, 97, 0.1);\n color: var(--red-alert);\n }\n &.c-DayPicker-Day--today {\n color: var(--red-alert);\n &:after {\n background-color: var(--red-alert);\n }\n &.hovered:not(.c-DayPicker-Day--selected):after {\n background-color: var(--red-alert);\n }\n }\n }\n\n .c-DayPicker-Day--selected {\n background-color: var(--color-primary);\n color: var(--color-theme-100);\n &.c-DayPicker-Day--today {\n color: var(--color-theme-100);\n &:after {\n background-color: var(--color-theme-100);\n }\n }\n &.c-DayPicker-Day--userAvailability {\n background-color: var(--red-alert);\n color: var(--color-theme-100);\n }\n }\n\n .c-DayPicker-Day--nonWorkingDay {\n color: var(--color-theme-500);\n &.hovered:not(.c-DayPicker-Day--selected) {\n color: var(--color-theme-500);\n }\n &.c-DayPicker-Day--today {\n color: var(--color-primary-500);\n &:after {\n background-color: var(--color-primary-500);\n }\n &.hovered:not(.c-DayPicker-Day--selected) {\n color: var(--color-theme-500);\n &:after {\n background-color: var(--color-theme-500);\n }\n }\n }\n &.c-DayPicker-Day--userAvailability {\n &.hovered:not(.c-DayPicker-Day--selected) {\n color: var(--color-theme-500);\n background-color: var(--color-primary-300);\n &.c-DayPicker-Day--today:after {\n background-color: var(--color-theme-500);\n }\n }\n }\n &.c-DayPicker-Day--selected {\n color: rgba(255, 255, 255, 0.6);\n background-color: var(--color-primary);\n .neon & {\n color: rgba(0, 0, 0, 0.4);\n }\n &.c-DayPicker-Day--today {\n color: rgba(255, 255, 255, 0.6);\n .neon & {\n color: rgba(0, 0, 0, 0.4);\n }\n &:after {\n background-color: rgba(255, 255, 255, 0.6);\n .neon & {\n background-color: rgba(0, 0, 0, 0.4);\n }\n }\n }\n }\n }\n .c-DayPicker-Day--disabled {\n cursor: default;\n color: var(--color-theme-500);\n &.hovered {\n color: var(--color-theme-500);\n }\n }\n\n .c-DayPicker-Day--outside {\n cursor: default;\n opacity: 0.15;\n color: var(--color-theme-900);\n\n &.c-DayPicker-Day--userAvailability.hovered:not(.c-DayPicker-Day--selected) {\n background: var(--color-primary-300);\n }\n &.c-DayPicker-Day--userAvailability:not(.c-DayPicker-Day--selected),\n &.c-DayPicker-Day--userAvailability.hovered:not(.c-DayPicker-Day--selected),\n &.c-DayPicker-Day--nonWorkingDay.hovered:not(.c-DayPicker-Day--selected),\n &.c-DayPicker-Day--nonWorkingDay:not(.c-DayPicker-Day--selected),\n &.c-DayPicker-Day--today.hovered:not(.c-DayPicker-Day--selected),\n &.c-DayPicker-Day--today:not(.c-DayPicker-Day--selected) {\n color: var(--color-theme-900);\n }\n\n &.c-DayPicker-Day--userAvailability.c-DayPicker-Day--today:not(.c-DayPicker-Day--selected):after,\n &.c-DayPicker-Day--userAvailability.c-DayPicker-Day--today.hovered:not(.c-DayPicker-Day--selected):after,\n &.c-DayPicker-Day--nonWorkingDay.c-DayPicker-Day--today:not(.c-DayPicker-Day--selected):after,\n &.c-DayPicker-Day--nonWorkingDay.c-DayPicker-Day--today.hovered:not(.c-DayPicker-Day--selected):after,\n &.c-DayPicker-Day--today.hovered:not(.c-DayPicker-Day--selected):after,\n &.c-DayPicker-Day--today:not(.c-DayPicker-Day--selected):after {\n background-color: var(--color-theme-900);\n }\n\n &.hovered:not(.c-DayPicker-Day--selected) {\n background: var(--color-primary-400);\n }\n\n &.c-DayPicker-Day--selected {\n color: var(--page-paper-main);\n background: var(--color-primary);\n .neon & {\n color: var(--page-paper-main);\n }\n &.c-DayPicker-Day--today {\n &:after {\n background: var(--page-paper-main);\n .neon & {\n background: var(--page-paper-main);\n }\n }\n &.c-DayPicker-Day--nonWorkingDay {\n color: var(--page-paper-main);\n .neon & {\n color: var(--page-paper-main);\n }\n }\n }\n }\n }\n`;\n\nexport const StyledDatePickerCSSTransition = styled(CSSTransition)<{\n $direction: boolean;\n}>`\n ${(props) =>\n props.$direction\n ? css`\n &.c-date-picker__animation-enter {\n .c-DayPicker-Caption,\n .c-DayPicker-Body {\n opacity: 0;\n transform: translateY(-20px);\n }\n }\n\n &.c-date-picker__animation-enter-active {\n .c-DayPicker-Caption,\n .c-DayPicker-Body {\n opacity: 1;\n transform: translateY(0px);\n transition-duration: 300ms;\n }\n }\n &.c-date-picker__animation-exit {\n .c-DayPicker-Caption,\n .c-DayPicker-Body {\n opacity: 1;\n }\n }\n &.c-date-picker__animation-exit-active {\n .c-DayPicker-Caption,\n .c-DayPicker-Body {\n opacity: 0;\n transform: translateY(20px);\n transition-duration: 300ms;\n }\n }\n `\n : css`\n &.c-date-picker__animation-enter {\n .c-DayPicker-Caption,\n .c-DayPicker-Body {\n opacity: 0;\n transform: translateY(20px);\n }\n }\n\n &.c-date-picker__animation-enter-active {\n .c-DayPicker-Caption,\n .c-DayPicker-Body {\n opacity: 1;\n transform: translateY(0px);\n transition-duration: 300ms;\n }\n }\n\n &.c-date-picker__animation-exit {\n .c-DayPicker-Caption,\n .c-DayPicker-Body {\n opacity: 1;\n }\n }\n\n &.c-date-picker__animation-exit-active {\n .c-DayPicker-Caption,\n .c-DayPicker-Body {\n opacity: 0;\n transform: translateY(-20px);\n transition-duration: 300ms;\n }\n }\n `}\n`;\n\nStyledDatePickerCSSTransition.displayName = \"StyledDatePickerCSSTransition\";\nStyledDatePicker.displayName = \"StyledDatePicker\";\nStyledDayPicker.displayName = \"StyledDayPicker\";\n","import React, { FC, useState, useCallback, useMemo, useEffect } from \"react\";\nimport {\n DayPickerProps,\n DateUtils,\n RangeModifier,\n Modifiers,\n DayModifiers,\n} from \"react-day-picker\";\nimport { customClassNames } from \"./ClassNames\";\nimport { SwitchTransition } from \"react-transition-group\";\nimport moment from \"moment\";\nimport { YearMonthPicker } from \"../Pickers/YearMonthPicker\";\nimport { CustomNavBarElement } from \"./CustomNavBarElement\";\nimport {\n StyledDatePicker,\n StyledDatePickerCSSTransition,\n StyledDayPicker,\n} from \"./Styles\";\n\nexport interface IDatePicker extends DayPickerProps {\n /** Calls when value is picked */\n onChange?: (dates?: { from: Date; to: Date }) => void;\n /** Called when day is clicked */\n onDayClick?: (day: Date, modifiers: DayModifiers) => void;\n /** Set selected day or days */\n selectedDays?: RangeModifier;\n /** Set selection range */\n selectionMode?: string;\n /** Set is date required */\n dateRequired?: boolean;\n /** Set first day of week */\n firstDayOfWeek?: number;\n /** Set fixed number of weeks in month */\n fixedWeeks?: boolean;\n}\n\nexport const DatePicker: FC<IDatePicker> = ({\n className,\n onChange,\n onDayClick,\n selectedDays,\n disabledDays,\n selectionMode = \"daily\",\n month = new Date(),\n onMonthChange = (): null => null,\n dateRequired = false,\n firstDayOfWeek = 0,\n fixedWeeks = true,\n modifiers: defaultModifiers,\n ...rest\n}) => {\n const [enteredTo, setEnteredTo] = useState<Date>();\n const [enteredFrom, setEnteredFrom] = useState<Date>();\n const [stopScroll, setStopScroll] = useState<Date>();\n const [direction, setDirection] = useState(true);\n const [isPreselected, setIsPreselected] = useState(() => {\n return (\n selectedDays?.from instanceof Date && selectedDays?.to instanceof Date\n );\n });\n const [showMonthPicker, setShowMonthPicker] = useState(\n selectionMode === \"quarterly\" || selectionMode === \"monthly\"\n );\n const [modifiers, setModifiers] = useState<Partial<Modifiers> | undefined>(\n defaultModifiers\n );\n const week = firstDayOfWeek === 0 ? \"week\" : \"isoWeek\";\n\n useEffect(() => {\n if (enteredFrom instanceof Date && enteredTo instanceof Date) {\n setModifiers((prev) => {\n return { ...prev, hovered: { from: enteredFrom, to: enteredTo } };\n });\n } else {\n setModifiers(defaultModifiers);\n }\n }, [enteredTo, enteredFrom, defaultModifiers]);\n\n const handleDayClick = useCallback(\n (day: Date, modifiers: DayModifiers) => {\n if (onDayClick) {\n onDayClick(day, modifiers);\n }\n if (!onChange) {\n return;\n }\n if (month.getMonth() !== day.getMonth()) {\n onMonthChange(day);\n }\n if (modifiers[\"c-DayPicker-Day--disabled\"] || selectionMode === \"none\") {\n return;\n }\n // reset the selectedDays if the user clicks on the same day\n if (\n !dateRequired &&\n ((selectedDays?.from &&\n moment(day).isSame(moment(selectedDays.from), \"day\")) ||\n (selectedDays?.to &&\n moment(day).isSame(moment(selectedDays.to), \"day\")))\n ) {\n setEnteredTo(undefined);\n setEnteredFrom(undefined);\n\n return onChange(undefined);\n }\n\n if (selectionMode === \"daily\") {\n return onChange({ from: day, to: day });\n }\n\n if (selectionMode === \"weekly\") {\n if (\n !dateRequired &&\n selectedDays?.from &&\n moment(day).isSame(moment(selectedDays.from), week)\n ) {\n return onChange(undefined);\n }\n return onChange({\n from: moment(day).startOf(week).toDate(),\n to: moment(day).endOf(week).toDate(),\n });\n }\n\n if (selectionMode === \"custom\") {\n if (isPreselected) {\n setIsPreselected(false);\n return onChange({ from: day, to: day });\n }\n if (\n !selectedDays ||\n (selectedDays?.from &&\n selectedDays?.to &&\n !moment(selectedDays.from).isSame(moment(selectedDays.to)))\n ) {\n if (\n !dateRequired &&\n selectedDays?.from &&\n selectedDays?.to &&\n moment(day).isBetween(\n moment(selectedDays.from),\n moment(selectedDays.to)\n )\n ) {\n setEnteredTo(day);\n setEnteredFrom(day);\n return onChange(undefined);\n }\n setEnteredFrom(day);\n return onChange({ from: day, to: day });\n }\n if (\n selectedDays?.from &&\n DateUtils.isDayAfter(day, selectedDays.from)\n ) {\n setEnteredTo(undefined);\n setEnteredFrom(undefined);\n return onChange({ from: selectedDays.from, to: day });\n }\n if (selectedDays?.to) {\n setEnteredTo(undefined);\n setEnteredFrom(undefined);\n return onChange({ from: day, to: selectedDays.to });\n }\n }\n },\n [\n onDayClick,\n onChange,\n month,\n selectionMode,\n dateRequired,\n selectedDays,\n onMonthChange,\n week,\n isPreselected,\n ]\n );\n\n const isSelectedFirstDay = useCallback(() => {\n if (selectionMode !== \"custom\") {\n return false;\n }\n if (selectedDays?.from && selectedDays?.to) {\n return moment(selectedDays.from).isSame(selectedDays.to);\n }\n }, [selectionMode, selectedDays]);\n\n const handleDayMouseEnter = useCallback(\n (day: Date) => {\n if (isPreselected && selectionMode !== \"weekly\") {\n setEnteredTo(day);\n setEnteredFrom(day);\n return;\n }\n if (selectionMode === \"daily\") {\n setEnteredTo(day);\n setEnteredFrom(day);\n }\n if (selectionMode === \"weekly\") {\n setEnteredFrom(moment(day).startOf(week).toDate());\n setEnteredTo(moment(day).endOf(week).toDate());\n }\n\n if (\n selectionMode !== \"weekly\" &&\n (!selectedDays ||\n (selectedDays?.from &&\n selectedDays?.to &&\n !moment(selectedDays.from).isSame(moment(selectedDays.to))))\n ) {\n setEnteredTo(day);\n setEnteredFrom(day);\n }\n\n if (isSelectedFirstDay() && selectedDays?.from) {\n setEnteredFrom(selectedDays.from);\n setEnteredTo(day);\n }\n },\n [selectionMode, isSelectedFirstDay, selectedDays, week, isPreselected]\n );\n\n const onDayMouseLeave = useCallback(() => {\n if (\n selectionMode === \"weekly\" ||\n selectionMode === \"daily\" ||\n selectionMode === \"custom\"\n ) {\n setEnteredFrom(undefined);\n setEnteredTo(undefined);\n }\n }, [setEnteredFrom, setEnteredTo, selectionMode]);\n\n const onWheel = useCallback(\n (e: { deltaY: number }) => {\n if (\n stopScroll &&\n (new Date().getTime() - stopScroll.getTime()) / 1000 < 0.9\n ) {\n return;\n }\n const nextMonth = showMonthPicker\n ? DateUtils.addMonths(month, 12)\n : DateUtils.addMonths(month, 1);\n const previousMonth = showMonthPicker\n ? DateUtils.addMonths(month, -12)\n : DateUtils.addMonths(month, -1);\n if (e.deltaY > 0.9) {\n setDirection(true);\n onMonthChange(nextMonth);\n setStopScroll(new Date());\n }\n if (e.deltaY < -0.9) {\n setDirection(false);\n onMonthChange(previousMonth);\n setStopScroll(new Date());\n }\n },\n [stopScroll, showMonthPicker, month, onMonthChange]\n );\n\n const togglePicker = useCallback(() => {\n if (selectionMode !== \"monthly\" && selectionMode !== \"quarterly\") {\n return setShowMonthPicker(!showMonthPicker);\n }\n setShowMonthPicker(true);\n }, [showMonthPicker, selectionMode]);\n\n const customNavBarElement = useCallback(\n (props) => {\n return (\n <CustomNavBarElement\n {...props}\n showMonthPicker={showMonthPicker}\n month={month}\n onChangeDirection={setDirection}\n onMonthChange={onMonthChange}\n onClick={togglePicker}\n />\n );\n },\n [showMonthPicker, month, onMonthChange, togglePicker]\n );\n\n const handleYearMonthChange = useCallback(\n (m: Date) => {\n if (onChange) {\n if (selectionMode === \"monthly\") {\n if (\n !dateRequired &&\n selectedDays?.from &&\n moment(m).isSame(moment(selectedDays.from), \"month\")\n ) {\n return onChange(undefined);\n }\n onChange({\n from: moment(m).startOf(\"month\").toDate(),\n to: moment(m).endOf(\"month\").toDate(),\n });\n }\n if (selectionMode === \"quarterly\") {\n if (\n !dateRequired &&\n selectedDays?.from &&\n moment(m).isSame(\n moment(selectedDays.from).startOf(\"quarter\"),\n \"quarter\"\n )\n ) {\n return onChange(undefined);\n }\n onChange({\n from: moment(m).startOf(\"quarter\").toDate(),\n to: moment(m).endOf(\"quarter\").toDate(),\n });\n }\n }\n onMonthChange(m);\n },\n [onMonthChange, onChange, selectedDays, selectionMode, dateRequired]\n );\n\n const text = useMemo(() => {\n if (showMonthPicker) {\n return `${month.getFullYear()}`;\n }\n return `${moment(month).format(\"MMMM\")} ${\n moment(month).isSame(moment(), \"year\") ? \"\" : month.getFullYear()\n }`;\n }, [showMonthPicker, month]);\n\n const handleYearMonthForm = useCallback(\n (props) => {\n return (\n <YearMonthPicker\n {...props}\n text={text}\n selectedDays={selectedDays}\n onChange={handleYearMonthChange}\n isShown={showMonthPicker}\n selectionMode={selectionMode}\n />\n );\n },\n [text, selectedDays, handleYearMonthChange, showMonthPicker, selectionMode]\n );\n\n const onKeyDownCallback = useCallback(\n (e: KeyboardEvent) => {\n // Right Arrow\n if (e.key === \"ArrowRight\") {\n setDirection(true);\n if (showMonthPicker) {\n onMonthChange(new Date(month.getFullYear() + 1, month.getMonth()));\n } else {\n onMonthChange(new Date(month.getFullYear(), month.getMonth() + 1));\n }\n }\n // Left Arrow\n if (e.key === \"ArrowLeft\") {\n setDirection(false);\n if (showMonthPicker) {\n onMonthChange(new Date(month.getFullYear() - 1, month.getMonth()));\n } else {\n onMonthChange(new Date(month.getFullYear(), month.getMonth() - 1));\n }\n }\n // Up Arrow\n if (e.key === \"ArrowUp\") {\n setDirection(true);\n onMonthChange(new Date(month.getFullYear() + 1, month.getMonth()));\n }\n // Down Arrow\n if (e.key === \"ArrowDown\") {\n setDirection(false);\n onMonthChange(new Date(month.getFullYear() - 1, month.getMonth()));\n }\n },\n [showMonthPicker, onMonthChange, month]\n );\n\n useEffect(() => {\n document.addEventListener(\"keydown\", onKeyDownCallback);\n return (): void => {\n document.removeEventListener(\"keydown\", onKeyDownCallback);\n };\n }, [month, onMonthChange, showMonthPicker, onKeyDownCallback]);\n\n return (\n <StyledDatePicker className=\"c-date-picker-wrapper\" onWheel={onWheel}>\n <SwitchTransition mode=\"out-in\">\n <StyledDatePickerCSSTransition\n key={showMonthPicker ? month.getFullYear() : month.getMonth()}\n timeout={300}\n classNames=\"c-date-picker__animation\"\n $direction={direction}\n >\n <StyledDayPicker\n {...rest}\n disabledDays={disabledDays}\n selectedDays={selectedDays}\n onDayClick={handleDayClick}\n modifiers={modifiers}\n onDayMouseEnter={handleDayMouseEnter}\n onDayMouseLeave={onDayMouseLeave}\n className={className}\n $isYearlyView={showMonthPicker}\n month={month}\n navbarElement={customNavBarElement}\n onCaptionClick={togglePicker}\n captionElement={handleYearMonthForm}\n classNames={customClassNames}\n fixedWeeks={fixedWeeks}\n firstDayOfWeek={firstDayOfWeek}\n />\n </StyledDatePickerCSSTransition>\n </SwitchTransition>\n </StyledDatePicker>\n );\n};\n\nDatePicker.displayName = \"DatePicker\";\n","import { theme } from \"twin.macro\";\n\nconst size = {\n sm: theme(\"screens.sm\"),\n md: theme(\"screens.md\"),\n lg: theme(\"screens.lg\"),\n xl: theme(\"screens.xl\"),\n xxl: theme(\"screens.2xl\"),\n};\n\nexport const screen = {\n sm: `@media (min-width: ${size.sm})`,\n md: `@media (min-width: ${size.md})`,\n lg: `@media (min-width: ${size.lg})`,\n xl: `@media (min-width: ${size.xl})`,\n xxl: `@media (min-width: ${size.xxl})`,\n};\n","import styled, { css } from \"styled-components\";\nimport { ButtonGroup } from \"../../ButtonGroup\";\nimport { FontStyle } from \"../../FontStyle\";\nimport { BoxSizingStyle } from \"../../BoxSizingStyle\";\nimport { screen } from \"../../BreakPoints\";\nimport tw from \"twin.macro\";\nimport { Menu } from \"../../Menu\";\nimport { IconButton } from \"../../IconButton\";\n\nexport const StyledButton = styled.button`\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${tw`\n tw-relative\n tw-antialiased\n tw-align-middle\n tw-font-medium\n tw-inline-block\n tw-leading-none\n tw-m-0\n tw-no-underline\n tw-text-sm\n tw-select-none\n tw-cursor-pointer\n tw-text-center\n `}\n\n color: var(--color-theme-700);\n margin: 0;\n padding: 0;\n background: none;\n width: 100%;\n height: auto;\n border: none;\n height: 30px;\n line-height: 1;\n transition: all 0.3s ease;\n\n svg {\n fill: currentColor;\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n\n &:focus {\n outline: none;\n }\n\n &:hover {\n text-decoration: none;\n }\n\n &:disabled {\n cursor: default;\n opacity: 50%;\n pointer-events: none;\n }\n`;\n\nexport const StyledMenu = styled(Menu)`\n ${tw`\n tw-w-auto\n tw-h-auto\n tw-py-4\n tw-px-2\n `}\n`;\n\nexport const StyledButtonGroup = styled(ButtonGroup)`\n ${FontStyle}\n ${BoxSizingStyle}\n\n button:hover {\n position: relative;\n z-index: 1;\n }\n`;\n\nexport const StyledSpan = styled.span`\n line-height: 30px;\n color: var(--color-theme-700);\n`;\n\ninterface StyledDiv {\n $isTargetable: boolean;\n $isRounded: boolean;\n}\n\nexport const StyledDiv = styled.div<StyledDiv>`\n ${(props) =>\n props.$isTargetable &&\n css`\n ${tw`tw-pointer-events-none`}\n `}\n\n ${(props) =>\n props.$isRounded &&\n css`\n border-radius: var(--ac-br-rounded);\n `}\n\n ${tw`\n tw-relative\n tw-text-center\n tw-p-0\n tw-antialiased\n tw-align-middle\n tw-font-medium\n tw-inline-block\n tw-leading-none\n tw-m-0\n tw-no-underline\n tw-text-sm\n tw-select-none\n tw-cursor-pointer\n tw-border\n tw-border-solid\n `}\n\n height: 32px;\n transition: all 0.3s ease;\n background-color: transparent;\n border: solid 1px var(--color-theme-700);\n color: var(--color-theme-700);\n margin-right: -1px;\n display: none;\n\n ${screen.md} {\n display: block;\n }\n\n svg {\n fill: currentColor;\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n\n &:focus {\n outline: none;\n }\n\n &:disabled {\n cursor: default;\n opacity: 50%;\n pointer-events: none;\n }\n\n &:hover {\n border-color: var(--color-primary);\n color: var(--color-primary);\n text-decoration: none;\n }\n\n &:active {\n border-color: var(--color-primary);\n color: var(--color-primary);\n background-color: var(--color-primary-200);\n }\n`;\n\nexport const StyledControl = styled(IconButton)`\n border-radius: var(--ac-br-8);\n`;\n\nStyledButtonGroup.displayName = \"StyledButtonGroup\";\nStyledSpan.displayName = \"StyledSpan\";\nStyledDiv.displayName = \"StyledDiv\";\nStyledMenu.displayName = \"StyledMenu\";\nStyledButton.displayName = \"StyledButton\";\nStyledControl.displayName = \"StyledControl\";\n","import React, { FC, useCallback, useMemo, useState, useEffect } from \"react\";\nimport classNames from \"classnames\";\nimport moment, { Moment } from \"moment\";\nimport MomentLocaleUtils from \"react-day-picker/moment\";\nimport { Placement } from \"@popperjs/core\";\nimport ArrowLeftIcon from \"../../Icons/collection/ArrowLeft\";\nimport { DatePicker } from \"../../DatePicker\";\nimport { customClassNames } from \"../../DatePicker/ClassNames\";\nimport {\n StyledButton,\n StyledButtonGroup,\n StyledDiv,\n StyledMenu,\n StyledSpan,\n StyledControl,\n} from \"./Styles\";\nimport { ArrowRightIcon } from \"../../Icons\";\n\ninterface IDateStepperProps {\n /** One of the possible steps for this component */\n step:\n | \"daily\"\n | \"weekly\"\n | \"monthly\"\n | \"quarterly\"\n | \"yearly\"\n | \"custom\"\n | string;\n /** Callback function that will be called after the changed range */\n onChange?: (from: Date, to: Date) => void;\n /** Start date of the range */\n from: Date | string;\n /** End date of the range */\n to: Date | string;\n /** Callback function that will format the text label */\n formatCallback?: (from: string | Date, to: string | Date) => string;\n /** Default month */\n defaultMonth?: Date;\n /** Callback function onBack */\n onBack?: (from: Date, to: Date) => void;\n /** Callback function onForward */\n onForward?: (from: Date, to: Date) => void;\n /** Min date */\n minValue?: Date;\n /** Max fate */\n maxValue?: Date;\n /** html class */\n className?: string;\n /** Period for calculating week (isoWeek) */\n period?: \"week\" | \"isoWeek\";\n /** Classes for datePicker */\n datePickerClass?: string;\n /** Show datePicker in the middle button */\n withDatePicker?: boolean;\n /** Popper class name*/\n popperClassName?: string;\n /** DatePicker menu position */\n position?: Placement;\n}\n\n/**\n * This component allow you to select date range. It accepts two parameters \"from\" and \"to\" as valid format\n * onChange and onBack and onForward it will return \"from: Date\" and \"to: Date\" as function arguments\n */\nexport const DateStepper: FC<IDateStepperProps> = ({\n step,\n formatCallback,\n onChange,\n from,\n to,\n onBack,\n onForward,\n minValue,\n maxValue,\n className,\n period = \"week\",\n datePickerClass,\n withDatePicker = true,\n defaultMonth = new Date(),\n popperClassName,\n position = \"bottom\",\n}) => {\n const [fromDate, setFromDate] = useState(moment(from));\n const [toDate, setToDate] = useState(moment(to));\n const [showDatePicker, setShowDatePicker] = useState(false);\n const [month, setMonth] = useState(defaultMonth);\n\n const getDatesByPeriod = useCallback(\n (interval: number): Moment[] => {\n const date = fromDate ? fromDate : moment();\n if (step === \"daily\") {\n date.add(interval, \"days\");\n return [date, date.clone()];\n } else if (step === \"weekly\") {\n date.add(interval, \"weeks\");\n return [date.clone().startOf(period), date.clone().endOf(period)];\n } else if (step === \"monthly\") {\n date.add(interval, \"months\");\n return [date.clone().startOf(\"month\"), date.clone().endOf(\"month\")];\n } else if (step === \"quarterly\") {\n date.add(interval, \"quarters\");\n return [date.clone().startOf(\"quarter\"), date.clone().endOf(\"quarter\")];\n } else if (step === \"yearly\") {\n date.add(interval, \"years\");\n return [date.clone().startOf(\"year\"), date.clone().endOf(\"year\")];\n }\n return [date, date];\n },\n [fromDate, period, step]\n );\n\n const getDateFormatted = useMemo(() => {\n if (formatCallback) {\n return formatCallback(fromDate.toDate(), toDate.toDate());\n }\n\n const actualYear = moment().year();\n\n const showWeekOrCustomDateFormat = (start, end): string => {\n if (start.year() === actualYear && end.year() === actualYear) {\n return start.format(\"MMM DD\") + \" - \" + end.format(\"MMM DD\");\n } else {\n return start.format(\"MMM DD YYYY\") + \" - \" + end.format(\"MMM DD YYYY\");\n }\n };\n\n if (step === \"daily\") {\n if (fromDate.year() === actualYear) {\n return fromDate.format(\"MMM DD\");\n }\n return fromDate.format(\"MMM DD YYYY\");\n } else if (step === \"weekly\") {\n const startDate = fromDate.clone().startOf(period);\n const endDate = startDate.clone().endOf(period);\n return showWeekOrCustomDateFormat(startDate, endDate);\n } else if (step === \"monthly\") {\n return fromDate.format(\"MMM YYYY\");\n } else if (step === \"quarterly\") {\n return `Q${fromDate.quarter()}/${fromDate.format(\"YYYY\")}`;\n } else if (step === \"yearly\") {\n return fromDate.format(\"YYYY\");\n } else if (step === \"custom\") {\n return showWeekOrCustomDateFormat(fromDate, toDate);\n }\n\n return \"\";\n }, [fromDate, step, toDate, formatCallback, period]);\n\n const onChangeCallback = useCallback(\n (amount: number) => {\n const [newFrom, newTo] = getDatesByPeriod(amount);\n setFromDate(moment(newFrom));\n setToDate(moment(newTo));\n\n if (onChange) {\n onChange(newFrom.toDate(), newTo.toDate());\n }\n },\n [onChange, getDatesByPeriod]\n );\n\n const onDatePickerChange = useCallback(\n (dates?: { from: Date; to: Date }) => {\n const fromDateTemp = dates?.from;\n const toDateTemp = dates?.to;\n\n setFromDate(moment(fromDateTemp));\n setToDate(moment(toDateTemp));\n\n if (\n onChange &&\n fromDateTemp instanceof Date &&\n toDateTemp instanceof Date\n ) {\n onChange(fromDateTemp, toDateTemp);\n }\n },\n [onChange, setFromDate, setToDate]\n );\n\n const isAfterMaxDate = useMemo(() => {\n return (\n maxValue instanceof Date &&\n moment(moment(maxValue).format(\"YYYY-MM-DD\")).isSameOrBefore(\n toDate.format(\"YYYY-MM-DD\")\n )\n );\n }, [maxValue, toDate]);\n\n const isBeforeMinDate = useMemo(() => {\n return (\n minValue instanceof Date &&\n moment(moment(minValue).format(\"YYYY-MM-DD\")).isSameOrAfter(\n toDate.format(\"YYYY-MM-DD\")\n )\n );\n }, [minValue, toDate]);\n\n useEffect(() => {\n if (isBeforeMinDate) {\n if (step === \"daily\") {\n setFromDate(moment(minValue));\n setToDate(moment(minValue));\n }\n }\n if (isAfterMaxDate) {\n if (step === \"daily\") {\n setFromDate(moment(maxValue));\n setToDate(moment(maxValue));\n }\n }\n }, [step, minValue, maxValue, isBeforeMinDate, isAfterMaxDate]);\n\n const onRightClickHandler = useCallback(() => {\n if (isAfterMaxDate) {\n return;\n }\n\n onChangeCallback(1);\n\n if (onForward) {\n onForward(fromDate.toDate(), toDate.toDate());\n }\n }, [isAfterMaxDate, onChangeCallback, onForward, fromDate, toDate]);\n\n const onLeftClickHandler = useCallback(() => {\n if (isBeforeMinDate) {\n return;\n }\n\n onChangeCallback(-1);\n\n if (onBack) {\n onBack(fromDate.toDate(), toDate.toDate());\n }\n }, [isBeforeMinDate, onChangeCallback, onBack, fromDate, toDate]);\n\n const renderLeftRightButtons = useMemo(() => {\n return step !== \"custom\";\n }, [step]);\n\n const handleShow = useCallback(() => {\n setShowDatePicker(!showDatePicker);\n if (fromDate) {\n setMonth(fromDate.toDate());\n }\n }, [setShowDatePicker, showDatePicker, fromDate]);\n\n const closeMenu = useCallback(() => {\n setShowDatePicker(false);\n }, []);\n\n const onMonthChange = useCallback(\n (m: Date) => {\n setMonth(m);\n },\n [setMonth]\n );\n\n useEffect(() => {\n setFromDate(moment(from));\n setToDate(moment(to));\n }, [from, to]);\n\n const dateStepperWidth = (\n fromDay: Moment,\n toDay: Moment,\n range: string\n ): { minWidth: string } => {\n if (\n fromDay.year() !== moment().year() ||\n toDay.year() !== moment().year()\n ) {\n switch (range) {\n case \"daily\":\n case \"monthly\":\n return { minWidth: \"122px\" };\n case \"weekly\":\n case \"custom\":\n return { minWidth: \"232px\" };\n }\n }\n switch (range) {\n case \"monthly\":\n return { minWidth: \"122px\" };\n case \"weekly\":\n case \"custom\":\n return { minWidth: \"182px\" };\n }\n\n return { minWidth: \"102px\" };\n };\n const isDisabled = useCallback(\n (day: Date): boolean => {\n const dayFormat = moment(day).format(\"YYYY-MM-DD\");\n\n const isBefore =\n maxValue instanceof Date &&\n moment(moment(maxValue).format(\"YYYY-MM-DD\")).isBefore(dayFormat);\n const isAfter =\n minValue instanceof Date &&\n moment(moment(minValue).format(\"YYYY-MM-DD\")).isAfter(dayFormat);\n\n return isBefore || isAfter;\n },\n [maxValue, minValue]\n );\n\n const modifiers = useMemo(() => {\n return {\n [customClassNames.disabled]: (day: Date): boolean => {\n return isDisabled(day);\n },\n [customClassNames.nonWorkingDay]: (day: Date): boolean => {\n return isDisabled(day);\n },\n };\n }, [isDisabled]);\n\n return (\n <StyledButtonGroup className={classNames(\"c-date-stepper\", className)}>\n {renderLeftRightButtons ? (\n <StyledControl\n type=\"button\"\n variant=\"secondary\"\n onClick={onLeftClickHandler}\n disabled={isBeforeMinDate}\n >\n <ArrowLeftIcon />\n </StyledControl>\n ) : null}\n <StyledDiv\n $isTargetable={step === \"yearly\" || !withDatePicker}\n $isRounded={step === \"custom\"}\n style={dateStepperWidth(fromDate, toDate, step)}\n >\n {withDatePicker ? (\n <StyledMenu\n target={\n <StyledButton type=\"button\">\n <span>{getDateFormatted}</span>\n </StyledButton>\n }\n open={showDatePicker}\n onOpen={handleShow}\n onClose={closeMenu}\n popperClassName={popperClassName}\n position={position}\n >\n <DatePicker\n month={month}\n localeUtils={MomentLocaleUtils}\n locale=\"en\"\n selectionMode={step}\n className={datePickerClass}\n selectedDays={{ from: fromDate.toDate(), to: toDate.toDate() }}\n onChange={onDatePickerChange}\n onMonthChange={onMonthChange}\n firstDayOfWeek={period === \"week\" ? 0 : 1}\n modifiers={modifiers}\n dateRequired\n fixedWeeks\n />\n </StyledMenu>\n ) : (\n <StyledSpan>{getDateFormatted}</StyledSpan>\n )}\n </StyledDiv>\n {renderLeftRightButtons ? (\n <StyledControl\n type=\"button\"\n variant=\"secondary\"\n onClick={onRightClickHandler}\n disabled={isAfterMaxDate}\n >\n <ArrowRightIcon />\n </StyledControl>\n ) : null}\n </StyledButtonGroup>\n );\n};\n\nDateStepper.displayName = \"DateStepper\";\n","import styled, { css } from \"styled-components\";\nimport { FontStyle } from \"../../FontStyle\";\nimport { BoxSizingStyle } from \"../../BoxSizingStyle\";\n\nexport const StyledSteps = styled.div`\n ${FontStyle}\n ${BoxSizingStyle}\n\n display: flex;\n justify-content: center;\n`;\n\nexport const StyledStep = styled.div<{ $isActiveStep: boolean }>`\n display: inline-block;\n width: 8px;\n height: 8px;\n background-color: var(--color-theme-400);\n border-radius: 50%;\n margin: 0 5px;\n\n ${(props) =>\n props.$isActiveStep &&\n css`\n background-color: var(--color-primary);\n `}\n`;\n\nStyledSteps.displayName = \"StyledSteps\";\nStyledStep.displayName = \"StyledStep\";\n","import React, { Ref, useMemo, forwardRef } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledStep, StyledSteps } from \"./Styles\";\n\ninterface IStepsProps {\n /** Number of steps */\n numberOfSteps: number;\n /** If not progressive, the index of the only active step. If progressive, the index of the last active steps */\n activeStep: number;\n /** Does the stepper can have only single active step */\n progressive?: boolean;\n /** Class for wrapper div */\n wrapperClassName?: string;\n}\n\nexport const Steps = forwardRef(\n (\n {\n numberOfSteps,\n activeStep,\n progressive = false,\n wrapperClassName,\n }: IStepsProps,\n ref: Ref<HTMLDivElement> | null | undefined\n ) => {\n const steps = useMemo(() => {\n // fastest way to generate an array of N numbers\n const a: number[] = [];\n let b = numberOfSteps;\n while (b--) {\n a[b] = b + 1;\n }\n return a;\n }, [numberOfSteps]);\n\n const activeSteps = useMemo(() => {\n if (!progressive) {\n return [activeStep];\n }\n\n return steps.filter((step) => {\n return step <= activeStep;\n });\n }, [activeStep, progressive, steps]);\n\n return (\n <StyledSteps\n className={classnames(\"c-steps-wrapper\", wrapperClassName)}\n ref={ref}\n >\n {steps.map((step) => {\n return (\n <StyledStep\n key={`step-${step}`}\n $isActiveStep={activeSteps.indexOf(step) > -1}\n />\n );\n })}\n </StyledSteps>\n );\n }\n);\n\nSteps.displayName = \"Steps\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\nexport const StyledTableHead = styled.thead<{\n $headerVariant: \"primary\" | \"secondary\";\n}>`\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${tw`tw-text-left tw-uppercase`}\n ${tw`tw-text-theme-700 tw-font-semibold tw-text-xxs`}\n\n ${(props) =>\n props.$headerVariant &&\n props.$headerVariant === \"primary\" &&\n css`\n th {\n ${tw`tw-whitespace-nowrap tw-pl-4 tw-pr-4 tw-pb-8 tw-pt-2`}\n }\n\n tr {\n td:first-child,\n th:first-child {\n ${tw`tw-pl-6`}\n }\n }\n `}\n\n ${(props) =>\n props.$headerVariant &&\n props.$headerVariant === \"secondary\" &&\n css`\n th {\n ${tw`tw-whitespace-nowrap`}\n }\n\n tr {\n th {\n padding-bottom: 8px;\n padding-left: 16px;\n }\n }\n\n tr {\n th:last-child {\n padding-right: 16px;\n }\n }\n `}\n`;\nStyledTableHead.displayName = \"StyledTableHead\";\n\nexport const StyledTableBody = styled.tbody`\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${tw`tw-truncate`}\n\n td {\n ${tw`tw-truncate`}\n }\n\n &:not(.c-table__grouped__head) {\n td {\n ${tw`tw-text-theme-700`}\n }\n }\n\n a {\n ${tw`tw-no-underline tw-text-primary`}\n &:hover {\n ${tw`tw-underline`}\n }\n }\n`;\nStyledTableBody.displayName = \"StyledTableBody\";\n\nexport const StyledTableWrapper = styled.div`\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${tw`tw-mt-8 tw-mx-4 tw-overflow-x-auto tw-overflow-y-hidden`}\n\n &:before {\n ${tw`tw-absolute tw-left-0 tw-right-0 tw-bottom-0 tw-bg-page-paper-main tw-rounded-lg tw-shadow-lg`}\n content: \"\";\n top: 39px;\n z-index: -1;\n }\n`;\nStyledTableWrapper.displayName = \"StyledTableWrapper\";\n\nexport const StyledTable = styled.table<{\n $striped: boolean;\n}>`\n ${tw`tw-w-full tw-p-0 tw-text-xs tw-pb-4`}\n border-spacing: 0;\n\n ${StyledTableHead} tr th,\n ${StyledTableBody} tr td {\n &:last-child {\n ${tw`tw-text-right`}\n }\n }\n\n td {\n ${tw`tw-py-3 tw-px-4`}\n }\n\n ${(props) =>\n props.$striped &&\n css`\n ${StyledTableBody}:not(.c-table__grouped__head) {\n tr:nth-child(odd) {\n ${tw`tw-bg-theme-200`}\n }\n }\n `}\n`;\nStyledTable.displayName = \"StyledTable\";\n\nexport const StyledDataTable = styled.div`\n ${FontStyle}\n ${BoxSizingStyle}\n\n &.c-table__collapsible {\n .c-table__head {\n tr {\n th {\n position: sticky;\n top: 0;\n z-index: 1;\n }\n }\n }\n }\n &.c-table__grouped {\n .c-table__head th {\n ${tw`tw-pb-4`}\n &:last-child {\n ${tw`tw-pr-0`}\n }\n }\n }\n &.c-data-table {\n position: relative;\n .c-table__head th {\n &:last-child {\n ${tw`tw-pr-0`}\n }\n }\n }\n .c-table__cell {\n ${tw`tw-relative`}\n &:hover {\n .c-table__icon {\n ${tw`tw-opacity-50`}\n }\n }\n }\n .c-table__overlay {\n ${tw`tw-absolute tw-w-full tw-left-0 tw-pointer-events-none`}\n top: 0px;\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n background: rgba(0, 0, 0, 0.02);\n .neon & {\n background: rgba(0, 0, 0, 0.1);\n }\n z-index: 5;\n }\n .c-table__icon-wrapper {\n ${tw`tw-inline-block tw-select-none`}\n }\n .c-table__label {\n ${tw`tw-border-0 tw-border-0 tw-border-transparent tw-border-solid`}\n }\n .c-table__icon {\n transform: translateY(1px);\n ${tw`tw-ml-1`}\n fill: var(--color-theme-900);\n\n &:hover {\n ${tw`tw-opacity-100`}\n }\n }\n .c-table__icon--inactive {\n ${tw`tw-opacity-0`}\n }\n .c-table__icon--active {\n ${tw`tw-opacity-100`}\n }\n .c-table__icon--desc {\n transform: rotate(-180deg) scale(-1, 1);\n }\n .c-table__grouped__head {\n ${tw`tw-font-bold`}\n > :first-child {\n ${tw`tw-text-theme-900`}\n }\n a:first-child {\n ${tw`tw-text-primary`}\n }\n }\n .c-table__head--hidden {\n ${tw`tw-pointer-events-none tw-opacity-0`}\n }\n .c-table__collapse_icon--expanded {\n transition-duration: 0.3s;\n ${tw`tw-cursor-pointer`}\n }\n .c-table__collapse_icon--collapsed {\n transform: rotate(180deg);\n transition-duration: 0.3s;\n ${tw`tw-cursor-pointer`}\n }\n .c-table__head__icon-wrapper__icon {\n ${tw`tw-absolute tw-cursor-pointer`}\n transform: translate(-24px, -5px);\n }\n &.c-table__collapsible {\n .c-table__group {\n .c-table__row:last-child .c-table__cell {\n border-bottom: 1px solid var(--border-primary);\n }\n &:last-child {\n .c-table__row:last-child .c-table__cell {\n border-bottom: 0;\n }\n }\n }\n .c-table__grouped__head {\n tr td {\n border-bottom: 1px solid var(--border-primary);\n }\n .c-table__body__collapse td {\n border-bottom: 0;\n }\n &.last {\n tr td {\n border-bottom: 0 !important;\n }\n }\n }\n .c-table__grouped__head--expanded {\n tr:last-child td {\n border-bottom: 0;\n }\n }\n }\n .c-table__collapse_body {\n tr {\n background-color: transparent !important;\n }\n td:last-child {\n ${tw`tw-border-0`}\n }\n ${tw`tw-absolute`}\n }\n .c-table__row {\n td:first-child {\n position: sticky;\n left: 0;\n z-index: 1;\n }\n &:nth-child(odd) {\n td {\n ${tw`tw-bg-theme-200`}\n }\n }\n &:nth-child(even) {\n td {\n ${tw`tw-bg-page-paper-main`}\n }\n }\n }\n .c-table__row {\n th:first-child {\n position: sticky;\n left: 0;\n z-index: 2 !important;\n }\n }\n &.c-table__collapsible .c-table__body {\n tr {\n td:first-child,\n th:first-child {\n ${tw`tw-pl-6`}\n }\n }\n }\n .c-table__body__icon {\n ${tw`tw-p-0`}\n padding-left: 0 !important;\n transform: translateY(8px);\n }\n &.padding-b-0 {\n ${tw`tw-pb-0`}\n }\n .cursor-pointer {\n ${tw`tw-cursor-pointer`}\n }\n .text-center {\n ${tw`tw-text-center`}\n }\n .opacity-75 {\n ${tw`tw-opacity-75`}\n }\n .hidden {\n ${tw`tw-hidden`}\n }\n`;\nStyledDataTable.displayName = \"StyledDataTable\";\n","import React, { ReactNode, FC, RefObject } from \"react\";\nimport classNames from \"classnames\";\nimport {\n StyledTableWrapper,\n StyledTable,\n StyledTableBody,\n StyledTableHead,\n} from \"./Styles\";\n\nexport interface ITableWithChildren {\n /** Children prop can be ReactNode. */\n children: ReactNode;\n /** Classname prop for custom styling. */\n className?: string;\n}\n\nexport interface ITableProps {\n /** Darker color on odd column. */\n striped?: boolean;\n /** CSS classes. */\n className?: string;\n /** CSS classes for wrapper */\n wrapperClassName?: string;\n /** Ref object for table. */\n innerRef?: RefObject<HTMLTableElement>;\n}\n\nexport const Table: FC<ITableProps & ITableWithChildren> = ({\n children,\n className,\n wrapperClassName,\n striped = false,\n innerRef,\n}) => {\n return (\n <StyledTableWrapper\n className={classNames(\"c-table__wrap\", wrapperClassName)}\n >\n <StyledTable\n ref={innerRef}\n className={classNames(\"c-table\", className)}\n $striped={striped}\n >\n {children}\n </StyledTable>\n </StyledTableWrapper>\n );\n};\n\nTable.displayName = \"Table\";\n\nexport const Thead: FC<\n ITableWithChildren & { headerVariant?: \"primary\" | \"secondary\" }\n> = ({ children, className, headerVariant = \"primary\" }) => (\n <StyledTableHead\n $headerVariant={headerVariant}\n className={classNames(\"c-table__head\", className)}\n >\n {children}\n </StyledTableHead>\n);\n\nThead.displayName = \"Thead\";\n\nexport const Tbody: FC<ITableWithChildren> = ({ children, className }) => (\n <StyledTableBody className={classNames(\"c-table__body\", className)}>\n {children}\n </StyledTableBody>\n);\n\nTbody.displayName = \"Tbody\";\n","import styled, { keyframes } from \"styled-components\";\n\nconst linearAnimation = keyframes`\n 0% {\n background-position: left;\n }\n 100% {\n background-position: right;\n }\n`;\n\nexport const StyledLinearLoader = styled.div`\n width: 70%;\n background: linear-gradient(\n 90deg,\n rgba(255, 255, 255, 0) 20%,\n rgba(0, 0, 0, 0.05) 50%,\n rgba(255, 255, 255, 0) 60%\n );\n background-size: 400%;\n height: 16px;\n border-radius: 8px;\n .neon & {\n background: linear-gradient(\n 90deg,\n rgba(255, 255, 255, 0) 20%,\n rgba(0, 0, 0, 0.2) 50%,\n rgba(255, 255, 255, 0) 60%\n );\n background-size: 500%;\n }\n animation-duration: 1s;\n animation-iteration-count: infinite;\n animation-name: ${linearAnimation};\n animation-timing-function: linear;\n animation-direction: reverse;\n`;\n","import React, { forwardRef } from \"react\";\nimport classNames from \"classnames\";\nimport { StyledLinearLoader } from \"./Styles\";\n\nexport const LinearLoader = forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<\"div\">\n>(({ className, ...rest }, ref) => {\n return (\n <StyledLinearLoader\n ref={ref}\n className={classNames(\"c-loader c-loader--linear\", className)}\n {...rest}\n />\n );\n});\n\nLinearLoader.displayName = \"LinearLoader\";\n","import styled, { keyframes } from \"styled-components\";\n\nconst dotAnimation = keyframes`\n 0%,\n 80%,\n 100% {\n transform: scale(0);\n }\n 40% {\n transform: scale(1);\n }\n`;\n\nexport const StyledDotsLoader = styled.span`\n display: inline-block;\n text-align: center;\n\n & > span {\n display: inline-block;\n width: 18px;\n height: 18px;\n background-color: #777;\n border-radius: 100%;\n animation: ${dotAnimation} 1.4s infinite ease-in-out both;\n }\n\n span:nth-child(1) {\n animation-delay: -0.32s;\n }\n span:nth-child(2) {\n animation-delay: -0.16s;\n }\n`;\n","import React, { forwardRef } from \"react\";\nimport classNames from \"classnames\";\nimport { StyledDotsLoader } from \"./Styles\";\n\nexport const DotsLoader = forwardRef<\n HTMLSpanElement,\n React.ComponentPropsWithoutRef<\"span\">\n>(({ className, ...rest }, ref) => {\n return (\n <StyledDotsLoader\n ref={ref}\n className={classNames(\"c-loader c-loader--dots\", className)}\n {...rest}\n >\n <span />\n <span />\n <span />\n </StyledDotsLoader>\n );\n});\n\nDotsLoader.displayName = \"DotsLoader\";\n","import styled, { css, keyframes } from \"styled-components\";\nimport { BoxSizingStyle } from \"../../BoxSizingStyle\";\n\nconst rotateAnimation = keyframes`\n from { transform: rotate(0deg); }\n to { transform: rotate(359deg); }\n`;\n\nexport interface StyledSpinnerLoaderProps {\n $diameter: number;\n $stroke: number;\n $activeStrokeColor: string;\n $inactiveStrokeColor: string;\n $activeColorPercentage: \"25%\" | \"50%\" | \"75%\";\n $rotateDurationInSeconds: number;\n}\n\nexport const StyledSpinnerLoader = styled.div<StyledSpinnerLoaderProps>`\n ${BoxSizingStyle}\n border-radius: 100%;\n flex-shrink: 0;\n ${(props) =>\n css`\n width: ${props.$diameter}px;\n height: ${props.$diameter}px;\n animation: ${rotateAnimation} ${props.$rotateDurationInSeconds}s infinite\n linear;\n `}\n\n ${(props) =>\n props.$activeColorPercentage === \"25%\" &&\n css`\n border-right: ${props.$stroke}px solid ${props.$inactiveStrokeColor};\n border-bottom: ${props.$stroke}px solid ${props.$inactiveStrokeColor};\n border-left: ${props.$stroke}px solid ${props.$inactiveStrokeColor};\n border-top: ${props.$stroke}px solid ${props.$activeStrokeColor};\n `}\n\n ${(props) =>\n props.$activeColorPercentage === \"50%\" &&\n css`\n border-right: ${props.$stroke}px solid ${props.$activeStrokeColor};\n border-bottom: ${props.$stroke}px solid ${props.$inactiveStrokeColor};\n border-left: ${props.$stroke}px solid ${props.$inactiveStrokeColor};\n border-top: ${props.$stroke}px solid ${props.$activeStrokeColor};\n `}\n\n ${(props) =>\n props.$activeColorPercentage === \"75%\" &&\n css`\n border-right: ${props.$stroke}px solid ${props.$activeStrokeColor};\n border-bottom: ${props.$stroke}px solid ${props.$activeStrokeColor};\n border-left: ${props.$stroke}px solid ${props.$inactiveStrokeColor};\n border-top: ${props.$stroke}px solid ${props.$activeStrokeColor};\n `}\n`;\n","import React, { forwardRef } from \"react\";\nimport { StyledSpinnerLoader } from \"./Styles\";\n\nexport interface SpinnerLoaderProps {\n /** Loader circumference size */\n radius?: number;\n /** Stroke width of the loader */\n stroke?: number;\n /** Active color of spinning loader */\n activeStrokeColor?: string;\n /** Percentage of the circle which the active color takes */\n activeColorPercentage?: \"25%\" | \"50%\" | \"75%\";\n /** Inactive color of spinning loader */\n inactiveStrokeColor?: string;\n /** Rotate speed of animation in seconds */\n rotateDurationInSeconds?: number;\n}\n\nexport const SpinnerLoader = forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<\"div\"> & SpinnerLoaderProps\n>(\n (\n {\n radius = 10,\n stroke = 2,\n activeStrokeColor = \"var(--color-secondary)\",\n inactiveStrokeColor = \"var(--color-theme-transparent-300)\",\n activeColorPercentage = \"25%\",\n rotateDurationInSeconds = 0.75,\n className,\n ...rest\n },\n ref\n ) => {\n return (\n <StyledSpinnerLoader\n ref={ref}\n className={className}\n $diameter={radius * 2}\n $stroke={stroke}\n $activeStrokeColor={activeStrokeColor}\n $inactiveStrokeColor={inactiveStrokeColor}\n $activeColorPercentage={activeColorPercentage}\n $rotateDurationInSeconds={rotateDurationInSeconds}\n {...rest}\n />\n );\n }\n);\n\nSpinnerLoader.displayName = \"SpinnerLoader\";\n","import React, {\n FC,\n useCallback,\n useState,\n ReactNode,\n useEffect,\n useRef,\n useMemo,\n Fragment,\n} from \"react\";\nimport classNames from \"classnames\";\nimport { ITableProps, Table, Tbody, Thead } from \"./Table\";\nimport { ISyntheticEvent } from \"../../types\";\nimport CollapseExpandSingleIcon from \"../Icons/collection/CollapseExpandSingle\";\nimport ExpandAllIcon from \"../Icons/collection/ExpandAll\";\nimport CollapseAllIcon from \"../Icons/collection/CollapseAll\";\nimport SortIcon from \"../Icons/collection/SortIcon\";\nimport { StyledDataTable } from \"./Styles\";\nimport { LinearLoader } from \"../Loaders\";\n\nexport enum SortDirection {\n None = \"none\",\n Asc = \"asc\",\n Desc = \"desc\",\n}\n\ninterface IHeaderDefinition {\n key: string;\n label?: string;\n sortable?: boolean;\n renderCallback?: (row: object, key?: string, index?: number) => ReactNode;\n style?: object;\n hideCollapsed?: boolean;\n}\n\nexport interface IDataTableProps extends ITableProps {\n /** Object of header name, sort and style. */\n header: IHeaderDefinition[];\n /** Object of rows. */\n rows?: object[];\n /** CSS classes. */\n className?: string;\n /** Name of row by which we are sorting. */\n sortBy?: string;\n /** Direction by which we are sorting. */\n sortDirection?: SortDirection;\n /** Callback for sorting. */\n onSortCallback?: (sortKey: string, sortDirection: SortDirection) => void;\n /** Switch for column highlighting. */\n columnHighlight?: boolean;\n /** CSS classes for thead. */\n theadClass?: string;\n /** Column by which is data-table grouped. */\n groupBy?: string;\n /** No results Callback. */\n noResultsCallback?: () => ReactNode;\n /** Header of grouped list in data-table. */\n groupHead?: (row: object, index: string | null) => ReactNode;\n /** Grouped rows can be collapsed */\n isCollapsible?: boolean;\n /** Value to replace when column is empty */\n emptyValue?: object;\n /** loading indicator */\n loading?: boolean;\n /** loading rows */\n loadingRows?: number;\n}\n\nconst groupByKey = (items: object[], key: string): object => {\n if (items[0] instanceof Array) {\n items = items[0];\n }\n return items.reduce((result: object, item: object) => {\n return {\n ...result,\n [item[key] !== null ? \" \" + item[key] : item[key]]: [\n ...(result[item[key] !== null ? \" \" + item[key] : item[key]] || []),\n item,\n ],\n };\n }, {});\n};\n\nconst initialCollapsed = (rows: object[], groupBy?: string): object => {\n if (groupBy) {\n const groupedData = groupByKey(rows, groupBy);\n const keys = Object.keys(groupedData);\n const collapsedKeys = {};\n keys.forEach((key) => {\n collapsedKeys[key] = true;\n });\n return collapsedKeys;\n }\n return {};\n};\n\nexport const DataTable: FC<IDataTableProps> = ({\n header,\n rows = [],\n className,\n sortBy,\n sortDirection = SortDirection.None,\n onSortCallback,\n theadClass,\n noResultsCallback,\n groupBy,\n groupHead = (): null => null,\n isCollapsible,\n emptyValue,\n loading,\n loadingRows = 7,\n ...args\n}) => {\n const [columnDirection, setColumnDirection] = useState(sortDirection);\n const [active, setActive] = useState(sortBy);\n const [hovered, setHovered] = useState<string | null>();\n const [collapsed, setCollapsed] = useState(() => {\n return initialCollapsed(rows, groupBy);\n });\n const sort = (\n sortByKey: string,\n direction: SortDirection,\n rowsData: Record<string, string>[] | object\n ): object => {\n if (direction === SortDirection.None) {\n return rowsData;\n }\n\n if (rowsData instanceof Array)\n return rowsData.sort((a: object, b: object) => {\n if (direction === SortDirection.Asc) {\n if (a[sortByKey] === null) {\n return 1;\n }\n if (b[sortByKey] === null) {\n return -1;\n }\n }\n if (a[sortByKey] === null) {\n return -1;\n }\n if (b[sortByKey] === null) {\n return 1;\n }\n if (typeof a[sortByKey] === \"number\") {\n if (direction === SortDirection.Asc) {\n return a[sortByKey] - b[sortByKey];\n }\n return b[sortByKey] - a[sortByKey];\n }\n\n const first = a[sortByKey].toString();\n const second = b[sortByKey].toString();\n\n if (direction === SortDirection.Asc) {\n return first.localeCompare(second);\n }\n\n return second.localeCompare(first);\n });\n return {};\n };\n\n const initialData = useCallback(() => {\n if (sortBy && !groupBy) {\n return sort(sortBy, sortDirection, rows);\n }\n if (sortBy && groupBy) {\n sort(sortBy, sortDirection, rows);\n return groupByKey(rows, groupBy);\n }\n if (!sortBy && groupBy) {\n return groupByKey(rows, groupBy);\n }\n return rows;\n }, [groupBy, rows, sortBy, sortDirection]);\n\n const [data, setData] = useState<Record<string, string> | object>(\n initialData\n );\n\n const getNextSortDirection = (\n previousDirection: SortDirection,\n sameColumn: boolean\n ): SortDirection => {\n if (!sameColumn) {\n return SortDirection.Asc;\n }\n if (previousDirection === SortDirection.Asc) {\n return SortDirection.Desc;\n }\n return SortDirection.Asc;\n };\n\n const sortColumn = useCallback(\n (event: ISyntheticEvent) => {\n const index = event.currentTarget.dataset.index;\n if (index && header[index] && header[index].sortable) {\n const direction = getNextSortDirection(\n columnDirection,\n header[index].key === active\n );\n setActive(header[index].key);\n setColumnDirection(direction);\n if (groupBy) {\n let grouped: object = {\n ...data,\n };\n\n if (groupBy !== header[index].key) {\n Object.keys(grouped).map((key: string) => {\n grouped[key] = sort(header[index].key, direction, grouped[key]);\n });\n } else {\n if (rows instanceof Object) {\n grouped = sort(header[index].key, direction, rows);\n grouped = groupByKey([grouped], groupBy);\n }\n }\n setData(grouped);\n } else {\n setData(sort(header[index].key, direction, data));\n }\n if (onSortCallback) {\n onSortCallback(header[index].key, direction);\n }\n }\n\n return null;\n },\n [\n setData,\n data,\n columnDirection,\n setColumnDirection,\n header,\n active,\n setActive,\n onSortCallback,\n groupBy,\n rows,\n ]\n );\n\n const cellMouseOver = useCallback((e: ISyntheticEvent) => {\n if (e.target instanceof HTMLElement) {\n if (e.target.dataset.key) {\n setHovered(e.target.dataset.key);\n }\n }\n }, []);\n\n const cellMouseOut = useCallback(() => {\n setHovered(null);\n }, []);\n\n useEffect(() => {\n setData(initialData());\n setCollapsed(initialCollapsed(rows, groupBy));\n }, [rows, groupBy, initialData]);\n\n const renderNoResults = useCallback(() => {\n return (\n <tr>\n <td\n colSpan={header.length}\n className={classNames({ \"text-center\": !noResultsCallback })}\n >\n {noResultsCallback ? noResultsCallback() : \"There is no data.\"}\n </td>\n </tr>\n );\n }, [header, noResultsCallback]);\n\n const tableRef = useRef<HTMLTableElement>(null);\n\n const overlayStyles = (): number | undefined => {\n if (tableRef.current) {\n return tableRef.current.clientHeight + 5;\n }\n };\n\n const renderCell = useCallback(\n (h: IHeaderDefinition, row: object, colIndex: number) => {\n if (h.renderCallback) {\n return h.renderCallback(row, h.key, colIndex);\n }\n if (row[h.key] === null && emptyValue) {\n return <i className=\"opacity-75\">{emptyValue[h.key]}</i>;\n }\n return row[h.key];\n },\n [emptyValue]\n );\n\n const renderRow = useCallback(\n (row: object, rowIndex: number) => {\n return (\n <tr\n key={rowIndex}\n data-index={rowIndex}\n data-direction=\"asc\"\n className=\"c-table__row\"\n onMouseOver={cellMouseOver}\n onMouseLeave={cellMouseOut}\n >\n {header.map((h: IHeaderDefinition, colIndex: number) => {\n return (\n <td\n key={colIndex}\n className={classNames(`c-table__cell c-data-table__item`, {\n hovered: hovered === h.key,\n })}\n data-key={h.key}\n style={header[colIndex].style ? header[colIndex].style : {}}\n >\n {renderCell(h, row, colIndex)}\n </td>\n );\n })}\n </tr>\n );\n },\n [cellMouseOut, cellMouseOver, header, hovered, renderCell]\n );\n\n const toggleCollapse = useCallback((event) => {\n const collapseKey = event.currentTarget.dataset.groupkey;\n setCollapsed((prevState) => {\n const newState = { ...prevState };\n newState[collapseKey] = !prevState[collapseKey];\n return newState;\n });\n }, []);\n\n const renderPlaceholders = useMemo(() => {\n const placeholders = Array(loadingRows)\n .fill({})\n .map((_, index) => {\n return (\n <tr\n key={index}\n className=\"c-table__row\"\n onMouseOver={cellMouseOver}\n onMouseLeave={cellMouseOut}\n >\n {header.map((col, colIndex) => {\n return (\n <td\n key={colIndex}\n className={classNames(`c-table__cell c-data-table__item`, {\n hovered: hovered === col.key,\n })}\n data-key={col.key}\n >\n <LinearLoader />\n </td>\n );\n })}\n </tr>\n );\n });\n\n return <Tbody>{placeholders}</Tbody>;\n }, [cellMouseOut, cellMouseOver, header, hovered, loadingRows]);\n\n const renderRows = useMemo(() => {\n if (\n (data && data instanceof Array && data.length > 0) ||\n (typeof data === \"object\" && Object.keys(data).length > 0)\n ) {\n if (groupBy) {\n const keys = Object.keys(data);\n return keys.map((key: string, i: number) => {\n return (\n <Fragment key={key}>\n {isCollapsible && (\n <Tbody className=\"c-table__collapse_body\">\n <tr>\n <td\n data-groupkey={key}\n onClick={toggleCollapse}\n className=\"c-table__body__icon c-table--toggle-collapsed\"\n >\n <CollapseExpandSingleIcon\n className={classNames({\n \"c-table__collapse_icon--expanded\": !collapsed[key],\n \"c-table__collapse_icon--collapsed\": collapsed[key],\n })}\n />\n </td>\n </tr>\n </Tbody>\n )}\n <Tbody\n className={classNames(\"c-table__grouped__head\", `head_${i}`, {\n \"c-table__grouped__head--expanded\":\n isCollapsible && !collapsed[key],\n \"c-table__grouped__head--collapsed\":\n isCollapsible && collapsed[key],\n last: i === keys.length - 1,\n first: i === 0,\n })}\n >\n {groupHead(\n data[key],\n keys[i] !== \"null\" ? keys[i].trim() : null\n )}\n </Tbody>\n <Tbody\n className={classNames(`c-table__group c-table_group_${i}`, {\n hidden: collapsed[key],\n })}\n >\n {data[key].map((row: object, index: number) => {\n return renderRow(row, index);\n })}\n </Tbody>\n </Fragment>\n );\n });\n }\n return (\n <Tbody>\n {data instanceof Array &&\n data.map((row: object, rowIndex: number) => {\n return renderRow(row, rowIndex);\n })}\n </Tbody>\n );\n }\n return renderNoResults();\n }, [\n data,\n groupBy,\n renderRow,\n groupHead,\n collapsed,\n isCollapsible,\n renderNoResults,\n toggleCollapse,\n ]);\n\n const allGroupsCollapsed = useMemo(() => {\n return Object.keys(collapsed).every((key) => {\n return collapsed[key];\n });\n }, [collapsed]);\n\n const hasCollapsed = useMemo(() => {\n return Object.keys(collapsed).some((key) => {\n return collapsed[key];\n });\n }, [collapsed]);\n\n const toggleAllCollapsed = useCallback(() => {\n if (hasCollapsed) {\n setCollapsed((prevState) => {\n const newState = { ...prevState };\n Object.keys(newState).forEach((key) => {\n newState[key] = false;\n });\n return newState;\n });\n } else {\n setCollapsed((prevState) => {\n const newState = { ...prevState };\n Object.keys(newState).forEach((key) => {\n newState[key] = true;\n });\n return newState;\n });\n }\n }, [hasCollapsed]);\n\n return (\n <StyledDataTable\n as={Table}\n innerRef={tableRef}\n className={classNames(\"c-data-table\", className, {\n \"c-table__grouped\": groupBy,\n \"c-table__collapsible\": isCollapsible,\n \"padding-b-0\": groupBy && collapsed[Object.keys(data).slice(-1)[0]],\n })}\n {...args}\n >\n <Thead className={theadClass}>\n {header.length > 0 && (\n <tr className=\"c-table__row\">\n {header.map((h: IHeaderDefinition, index: number) => {\n return (\n <th\n key={h.key}\n className={classNames(`c-table__cell`, {\n \"c-table__cell--hovered\": hovered === h.key,\n \"c-table__head--hidden\":\n groupBy && allGroupsCollapsed && h.hideCollapsed,\n })}\n onMouseOver={cellMouseOver}\n onMouseLeave={cellMouseOut}\n data-key={h.key}\n style={h.style}\n >\n {isCollapsible && groupBy && index === 0 && (\n <span\n className=\"c-table__head__icon-wrapper\"\n onClick={toggleAllCollapsed}\n data-test=\"toggle-collapse\"\n >\n {hasCollapsed ? (\n <ExpandAllIcon className=\"c-table__head__icon-wrapper__icon\" />\n ) : (\n <CollapseAllIcon className=\"c-table__head__icon-wrapper__icon\" />\n )}\n </span>\n )}\n {hovered === h.key && (\n <div\n className=\"c-table__overlay\"\n style={{ height: overlayStyles() + `px` }}\n />\n )}\n <div\n onClick={sortColumn}\n data-index={index}\n className={classNames(\"c-table__icon-wrapper\", {\n \"cursor-pointer\": h.sortable === true,\n })}\n >\n <span className=\"c-table__label\">{h.label}</span>\n {h.sortable && (\n <SortIcon\n width=\"10px\"\n height=\"10px\"\n className={classNames(\"c-table__icon\", {\n \"c-table__icon--inactive\": h.key !== active,\n \"c-table__icon--active\": h.key === active,\n \"c-table__icon--asc\":\n columnDirection === SortDirection.Asc &&\n h.key === active,\n \"c-table__icon--desc\":\n columnDirection === SortDirection.Desc &&\n h.key === active,\n })}\n />\n )}\n </div>\n </th>\n );\n })}\n </tr>\n )}\n </Thead>\n\n {loading ? renderPlaceholders : renderRows}\n </StyledDataTable>\n );\n};\n\nDataTable.displayName = \"DataTable\";\n","import styled, { css, keyframes } from \"styled-components\";\nimport tw from \"twin.macro\";\n\ninterface StyledCompleteCheckboxProps {\n $primary?: boolean;\n $completed?: boolean;\n $disabled?: boolean;\n $animation?: boolean;\n $checkMarkClassName?: boolean;\n}\n\nconst burstScale = keyframes`\n from {\n transform: scale(0);\n }\n to {\n transform: scale(1);\n }\n`;\n\nconst burstAnimation = keyframes`\n from {\n stroke-dashoffset: 0;\n }\n to {\n stroke-dashoffset: 8;\n }\n`;\n\nexport const StyledCompleteCheckbox = styled.div<StyledCompleteCheckboxProps>`\n ${tw`tw-w-6 tw-h-6 tw-rounded-full tw-border tw-border-solid tw-relative tw-cursor-pointer`}\n border-color: var(--color-theme-600);\n transition: ease 0.3s all;\n\n svg {\n ${tw`tw-absolute tw-pointer-events-none`}\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n\n svg path {\n fill: none;\n stroke: #32b370;\n stroke-width: 3;\n transform: scale(0);\n }\n\n ${(props) =>\n props.$primary &&\n css`\n svg path {\n stroke: var(--color-primary);\n }\n `}\n\n svg polyline {\n fill: none;\n stroke-width: 2;\n stroke-linecap: round;\n stroke-linejoin: round;\n transition: 0.3s;\n stroke-dasharray: 13;\n stroke-dashoffset: 13;\n stroke: #d2d2d2;\n ${(props) =>\n props.$primary &&\n css`\n stroke: var(--color-theme-500);\n `}\n }\n\n ${(props) =>\n props.$completed &&\n css`\n box-shadow: inset 0 0 0 12px var(--color-primary);\n border-color: var(--color-primary);\n border-width: 0px;\n\n ${!props.$primary &&\n css`\n ${tw`tw-border tw-border-solid`}\n box-shadow: inset 0 0 0 12px #84cc7c;\n border-color: #84cc7c;\n `}\n\n &:hover {\n box-shadow: inset 0 0 0 12px #84cc7c;\n ${props.$primary &&\n css`\n box-shadow: inset 0 0 0 12px var(--color-primary);\n `}\n }\n\n svg polyline {\n stroke-dashoffset: 0;\n stroke: #fff;\n ${props.$primary &&\n css`\n stroke: var(--color-theme-100);\n `}\n }\n\n svg path {\n stroke-dasharray: 8;\n stroke-dashoffset: 0;\n transform-origin: 24px 24px;\n }\n `}\n\n ${(props) =>\n !props.$completed &&\n !props.$disabled &&\n css`\n &:hover {\n border: 1px solid var(--color-primary);\n box-shadow: inset 0 0 0 2px var(--color-primary);\n border-width: 0px;\n ${!props.$primary &&\n css`\n border: 1px solid #84cc7c;\n box-shadow: inset 0 0 0 2px #84cc7c;\n `}\n svg polyline {\n stroke-dashoffset: 0;\n }\n }\n `}\n\n ${(props) =>\n props.$animation &&\n css`\n /* Delay of 0.01s is for safari transform bug. */\n svg path {\n animation: ${burstScale} 0.6s ease 0s 1 normal,\n ${burstAnimation} 0.4s ease 0.2s 1 normal;\n }\n `}\n\n ${(props) =>\n props.$disabled &&\n css`\n ${tw`tw-cursor-default`}\n opacity: 0.5;\n `}\n\n ${(props) =>\n !props.$checkMarkClassName &&\n css`\n svg {\n ${tw`tw-w-12 tw-h-12`}\n }\n `}\n`;\n\nStyledCompleteCheckbox.displayName = \"StyledCompleteCheckbox\";\n","import React, { FC, MouseEvent } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledCompleteCheckbox } from \"./Styles\";\n\nexport interface ICompleteCheckboxProps {\n /** Change completed state of checkbox */\n completed?: boolean;\n /** Callback */\n onClick?: (event: MouseEvent) => void;\n /** Make component disabled for interaction */\n disabled?: boolean;\n /** Animation (works only when is completed and not disabled) */\n animate?: boolean;\n /** Class names */\n className?: string | undefined;\n /** Set green color for checkbox */\n primary?: boolean;\n /** Set checkmark height and width */\n checkMarkClassName?: string;\n}\n\nexport const CompleteCheckbox: FC<ICompleteCheckboxProps> = ({\n completed = false,\n disabled = false,\n animate = false,\n onClick,\n className,\n primary = false,\n checkMarkClassName,\n}) => {\n return (\n <StyledCompleteCheckbox\n onClick={onClick}\n className={classnames(\"c-complete-checkbox\", className)}\n $primary={primary}\n $completed={completed}\n $disabled={disabled}\n $animation={!disabled && completed && animate}\n $checkMarkClassName={!!checkMarkClassName}\n >\n <svg viewBox=\"0 0 48 48\" className={checkMarkClassName}>\n <path d=\"M7,7l5.7,5.7 M0,24h8 M7,41l5.7-5.7 M24,48v-8 M41,41l-5.7-5.7 M48,24h-8 M41,7l-5.7,5.7 M24,0v8\" />\n <polyline points=\"19.5,24 22.5,27 28.5,21\" />\n </svg>\n </StyledCompleteCheckbox>\n );\n};\n\nCompleteCheckbox.displayName = \"CompleteCheckbox\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\nimport { IPaperProps } from \"./Paper\";\n\nexport const PaperStyles = css`\n ${tw`tw-bg-page-paper-main`}\n border-radius: var(--ac-br-8);\n\n ${FontStyle}\n ${BoxSizingStyle}\n`;\nexport const StyledPaper = styled.div<IPaperProps>`\n ${PaperStyles}\n\n ${(props) =>\n props.type === \"paper-3\" &&\n css`\n border: solid 1px var(--border-primary);\n `}\n`;\n\nStyledPaper.displayName = \"StyledPaper\";\n","import React, {\n forwardRef,\n HTMLAttributes,\n ReactNode,\n Ref,\n RefObject,\n} from \"react\";\nimport classNames from \"classnames\";\nimport { StyledPaper } from \"./Styles\";\n\nexport interface IPaperProps {\n /** Children type of node or string */\n children: ReactNode;\n /** CSS classes */\n className?: string;\n /** Ref object. */\n innerRef?: RefObject<HTMLDivElement>;\n /** Define custom style */\n style?: object;\n /** Type of paper to be used */\n type?: \"paper-1\" | \"paper-2\" | \"paper-3\";\n /** Paper has hover or not */\n hover?: boolean;\n /** Use optimized shadow */\n useOptimizedShadow?: boolean;\n}\n\n/**\n * This is a component description and should sit directly above your component\n */\nexport const Paper = forwardRef(\n (\n {\n children,\n className,\n type = \"paper-1\",\n hover = false,\n useOptimizedShadow = false,\n ...rest\n }: HTMLAttributes<HTMLDivElement> & IPaperProps,\n innerRef: Ref<HTMLDivElement> | null | undefined\n ) => {\n return (\n <StyledPaper\n className={classNames(className, {\n \"ac-shadow--raised--lg\":\n !useOptimizedShadow && hover && type === \"paper-1\",\n \"ac-shadow-optimized--lg\":\n useOptimizedShadow && hover && type === \"paper-1\",\n \"ac-shadow--lg\": !hover && type === \"paper-1\",\n \"ac-shadow--raised--sm\":\n (!useOptimizedShadow && hover && type === \"paper-2\") ||\n (!useOptimizedShadow && hover && type === \"paper-3\"),\n \"ac-shadow-optimized--sm\":\n (useOptimizedShadow && hover && type === \"paper-2\") ||\n (useOptimizedShadow && hover && type === \"paper-3\"),\n \"ac-shadow--sm\":\n (!hover && type === \"paper-2\") || (!hover && type === \"paper-3\"),\n })}\n ref={innerRef}\n type={type}\n {...rest}\n >\n {children}\n </StyledPaper>\n );\n }\n);\n\nPaper.displayName = \"Paper\";\n","import styled, { css } from \"styled-components\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport tw from \"twin.macro\";\n\nexport const StyledScaleBarInner = styled.div<{ $width: string | number }>`\n ${tw`tw-relative`}\n\n height: 3px;\n background: #37ba82;\n z-index: 1;\n\n ${(props) =>\n props.$width &&\n css`\n width: ${props.$width}%;\n `}\n`;\n\nexport const StyledScaleBar = styled.div`\n ${tw`tw-w-full`}\n ${BoxSizingStyle}\n`;\n\nStyledScaleBar.displayName = \"StyledScaleBar\";\nStyledScaleBarInner.displayName = \"StyledScaleBarInner\";\n","import React, { FC } from \"react\";\nimport classNames from \"classnames\";\nimport { StyledScaleBar, StyledScaleBarInner } from \"./Styles\";\n\nexport interface IScaleBarProps {\n /** Width prop can be string or number. */\n width: string | number;\n /** Custom classname for styling. */\n className?: string;\n}\n\nexport const ScaleBar: FC<IScaleBarProps> = ({ width, className }) => {\n return (\n <StyledScaleBar className={classNames(\"c-scale-bar\", className)}>\n <StyledScaleBarInner className=\"c-scale-bar__progress\" $width={width} />\n </StyledScaleBar>\n );\n};\n\nScaleBar.displayName = \"ScaleBar\";\n","import styled from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { Paper } from \"../Paper\";\n\nexport const StyledCard = styled(Paper)`\n ${tw`tw-text-theme-900`}\n`;\n\nStyledCard.displayName = \"StyledCard\";\n","import React, { Ref, HTMLAttributes, forwardRef } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledCard } from \"./Styles\";\n\nexport interface ICardProps {\n /** Choose if card should be hoverable or not */\n hoverable?: boolean;\n /** Set the type of the Paper */\n paperType?: \"paper-1\" | \"paper-2\";\n /** Ref element */\n ref?: Ref<HTMLDivElement>;\n}\n\nexport const Card = forwardRef(\n (\n {\n children,\n className,\n hoverable = false,\n paperType = \"paper-2\",\n ...rest\n }: HTMLAttributes<HTMLDivElement> & ICardProps,\n ref: Ref<HTMLDivElement> | null | undefined\n ) => {\n return (\n <StyledCard\n {...rest}\n type={paperType}\n className={classnames(\"c-card\", className)}\n hover={hoverable}\n useOptimizedShadow\n ref={ref}\n >\n {children}\n </StyledCard>\n );\n }\n);\n\nCard.displayName = \"Card\";\n","import styled, { css } from \"styled-components\";\nimport { Card } from \"../Card\";\n\nexport const StyledEntityCard = styled(Card)<{ $renderAs: string }>`\n padding: 12px;\n line-height: 1.375;\n\n ${(props) =>\n props.$renderAs === \"list-item\" &&\n css`\n display: grid;\n grid-auto-flow: column;\n align-items: center;\n min-height: 48px;\n margin-bottom: 4px;\n `}\n\n ${(props) =>\n props.$renderAs === \"grid-item\" &&\n css`\n display: flex;\n flex-direction: column;\n height: 250px;\n width: 250px;\n\n .card-body {\n flex-grow: 1;\n }\n `}\n`;\nStyledEntityCard.displayName = \"StyledEntityCard\";\n","import React, {\n Ref,\n HTMLAttributes,\n forwardRef,\n ReactNode,\n useCallback,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { StyledEntityCard } from \"./Styles\";\n\nexport type cardSection = \"header\" | \"body\" | \"footer\";\n\nexport interface IEntityProperties {\n name: string;\n render: () => ReactNode;\n showInList?: boolean;\n cardSection: cardSection;\n className?: string;\n}\n\nexport interface IEntityCardProps {\n renderAs?: \"list-item\" | \"grid-item\";\n properties: IEntityProperties[];\n ref?: Ref<HTMLDivElement>;\n link?: string;\n className?: string;\n}\n\nexport const EntityCard = forwardRef(\n (\n {\n renderAs = \"list-item\",\n properties,\n className,\n }: HTMLAttributes<HTMLDivElement> & IEntityCardProps,\n ref: Ref<HTMLDivElement> | null | undefined\n ) => {\n const renderAsListItem = useCallback((properties: IEntityProperties[]) => {\n return properties\n .filter((p) => p.showInList)\n .map((p) => {\n return (\n <div key={p.name} className={`entity-property-${p.name}`}>\n {p.render()}\n </div>\n );\n });\n }, []);\n\n const renderAsGridItem = useCallback((properties: IEntityProperties[]) => {\n const headerSection = properties.filter(\n (p: IEntityProperties) => p.cardSection === \"header\"\n );\n const bodySection = properties.filter(\n (p: IEntityProperties) => p.cardSection === \"body\"\n );\n const footerSection = properties.filter(\n (p) => p.cardSection === \"footer\"\n );\n const renderProperty = (p: IEntityProperties): ReactNode => (\n <div key={p.name} className={`entity-property-${p.name}`}>\n {p.render()}\n </div>\n );\n return (\n <>\n <div className=\"card-header\">\n {headerSection.map((p) => renderProperty(p))}\n </div>\n <div className=\"card-body\">\n {bodySection.map((p) => renderProperty(p))}\n </div>\n <div className=\"card-footer\">\n {footerSection.map((p) => renderProperty(p))}\n </div>\n </>\n );\n }, []);\n\n return (\n <StyledEntityCard\n ref={ref}\n hoverable\n className={classnames(\n \"entity-card-wrapper\",\n {\n \"grid-item\": renderAs === \"grid-item\",\n \"list-item\": renderAs === \"list-item\",\n },\n className\n )}\n paperType={renderAs === \"grid-item\" ? \"paper-1\" : \"paper-2\"}\n $renderAs={renderAs}\n >\n {renderAs === \"list-item\" ? renderAsListItem(properties) : null}\n {renderAs === \"grid-item\" ? renderAsGridItem(properties) : null}\n </StyledEntityCard>\n );\n }\n);\n\nEntityCard.displayName = \"EntityCard\";\n","import React, { forwardRef } from \"react\";\nimport { ITypographyProps, Typography } from \"../Typography\";\n\ninterface ITitleProps {\n /** Font weight. */\n weight?: \"light\" | \"bold\";\n}\n\nexport const Title1 = forwardRef<\n HTMLDivElement,\n ITitleProps & Omit<ITypographyProps, keyof ITitleProps | \"variant\">\n>(({ weight = \"light\", children, ...props }, ref) => {\n return (\n <Typography weight={weight} variant=\"Title 1\" ref={ref} {...props}>\n {children}\n </Typography>\n );\n});\n\nTitle1.displayName = \"Title1\";\n","import React, { forwardRef } from \"react\";\nimport { ITypographyProps, Typography } from \"../Typography\";\n\ninterface ITitleProps {\n /** Font weight. */\n weight?: \"light\" | \"bold\";\n}\n\nexport const Title2 = forwardRef<\n HTMLDivElement,\n ITitleProps & Omit<ITypographyProps, keyof ITitleProps | \"variant\">\n>(({ weight = \"light\", children, ...props }, ref) => {\n return (\n <Typography weight={weight} variant=\"Title 2\" ref={ref} {...props}>\n {children}\n </Typography>\n );\n});\n\nTitle2.displayName = \"Title2\";\n","import React, { forwardRef } from \"react\";\nimport { ITypographyProps, Typography } from \"../Typography\";\n\nexport const Header2 = forwardRef<\n HTMLDivElement,\n Omit<ITypographyProps, \"weight\" | \"variant\">\n>(({ children, ...props }, ref) => {\n return (\n <Typography weight=\"bold\" variant=\"Header 2\" ref={ref} {...props}>\n {children}\n </Typography>\n );\n});\n\nHeader2.displayName = \"Header2\";\n","import React, { forwardRef } from \"react\";\nimport { ITypographyProps, Typography } from \"../Typography\";\n\nexport const Header3 = forwardRef<\n HTMLDivElement,\n Omit<ITypographyProps, \"weight\" | \"variant\">\n>(({ children, ...props }, ref) => {\n return (\n <Typography weight=\"bold\" variant=\"Header 3\" ref={ref} {...props}>\n {children}\n </Typography>\n );\n});\n\nHeader3.displayName = \"Header3\";\n","import React, { forwardRef } from \"react\";\nimport { ITypographyProps, Typography } from \"../Typography\";\n\ninterface IBodyProps {\n /** Font weight. */\n weight?: \"regular\" | \"bold\" | \"medium\";\n}\n\nexport const Body1 = forwardRef<\n HTMLDivElement,\n IBodyProps & Omit<ITypographyProps, keyof IBodyProps | \"variant\">\n>(({ weight = \"regular\", children, ...props }, ref) => {\n return (\n <Typography variant=\"Body 1\" weight={weight} ref={ref} {...props}>\n {children}\n </Typography>\n );\n});\n\nBody1.displayName = \"Body1\";\n","import React, { forwardRef } from \"react\";\nimport { ITypographyProps, Typography } from \"../Typography\";\n\ninterface ICaptionProps {\n /** Font weight. */\n weight?: \"regular\" | \"bold\";\n}\n\nexport const Caption1 = forwardRef<\n HTMLDivElement,\n ICaptionProps & Omit<ITypographyProps, keyof ICaptionProps | \"variant\">\n>(({ weight = \"regular\", children, ...props }, ref) => {\n return (\n <Typography variant=\"Caption 1\" weight={weight} ref={ref} {...props}>\n {children}\n </Typography>\n );\n});\n\nCaption1.displayName = \"Caption1\";\n","import React, { forwardRef } from \"react\";\nimport { ITypographyProps, Typography } from \"../Typography\";\n\ninterface ICaptionProps {\n /** Font weight. */\n weight?: \"regular\" | \"bold\";\n}\n\nexport const Caption2 = forwardRef<\n HTMLDivElement,\n ICaptionProps & Omit<ITypographyProps, keyof ICaptionProps | \"variant\">\n>(({ weight = \"regular\", children, ...props }, ref) => {\n return (\n <Typography variant=\"Caption 2\" weight={weight} ref={ref} {...props}>\n {children}\n </Typography>\n );\n});\n\nCaption2.displayName = \"Caption2\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\nexport const StyledSignifier = styled.div<{ $direction: string }>`\n ${tw`tw-inline-flex tw-items-center tw-text-theme-800`}\n ${FontStyle}\n ${BoxSizingStyle}\n\n cursor: default;\n\n ${(props) =>\n props.$direction === \"c-signifier--top\" &&\n css`\n --signifier-in: 60%;\n --signifier-out: -60%;\n `}\n\n ${(props) =>\n props.$direction === \"c-signifier--bottom\" &&\n css`\n --signifier-in: -60%;\n --signifier-out: 60%;\n `}\n`;\nStyledSignifier.displayName = \"StyledSignifier\";\n\nexport const StyledSignifierTransition = styled(CSSTransition)`\n &.c-signifier--animate-enter {\n opacity: 0;\n transform: translateY(var(--signifier-in));\n }\n &.c-signifier--animate-enter-active {\n opacity: 1;\n transform: translateY(0%);\n transition-duration: 300ms;\n }\n &.c-signifier--animate-exit {\n transform: translateY(0%);\n opacity: 1;\n }\n &.c-signifier--animate-exit-active {\n transform: translateY(var(--signifier-out));\n opacity: 0;\n transition-duration: 300ms;\n }\n`;\nStyledSignifierTransition.displayName = \"StyledSignifierTransition\";\n\nexport const StyledIcon = styled.svg`\n ${tw`tw-text-xs tw-mr-1`}\n`;\nStyledIcon.displayName = \"StyledIcon\";\n","import React, { FC, useMemo, ElementType, useState, useEffect } from \"react\";\nimport classnames from \"classnames\";\nimport { SwitchTransition } from \"react-transition-group\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Body1, Caption1 } from \"../Typography\";\nimport {\n StyledIcon,\n StyledSignifier,\n StyledSignifierTransition,\n} from \"./Styles\";\n\ninterface ISignifierProps {\n /** One of icon types */\n type: ElementType;\n /** Number that represent total value */\n value?: number;\n /** Value that represent class names */\n className?: string;\n /** The text that will be displayed on hover in tooltip */\n tooltipText?: string;\n /** ClassName for tooltip if there is one */\n tooltipClassName?: string;\n}\n\nexport const signifierTypes = [\n \"EyeIcon\",\n \"EyeSmallIcon\",\n \"PencilIcon\",\n \"PencilSmallIcon\",\n \"EyeOffIcon\",\n \"EyeOffSmallIcon\",\n \"ChecklistIcon\",\n \"ChecklistSmallIcon\",\n \"WarningTriangleIcon\",\n \"WarningTriangleSmallIcon\",\n \"DependencyIcon\",\n \"DependencySmallIcon\",\n \"MessageIcon\",\n \"MessageSmallIcon\",\n \"ClockStopwatchIcon\",\n \"ClockStopwatchSmallIcon\",\n \"ClockIcon\",\n \"ClockSmallIcon\",\n \"DollarOffIcon\",\n \"DollarOffSmallIcon\",\n \"DollarIcon\",\n \"DollarSmallIcon\",\n \"DollarCheckmarkIcon\",\n \"DollarCheckmarkSmallIcon\",\n \"DollarClockIcon\",\n \"DollarClockSmallIcon\",\n \"BellOffIcon\",\n \"BellOffSmallIcon\",\n \"LockIcon\",\n \"LockSmallIcon\",\n \"RecurringCheckmarkIcon\",\n \"RecurringCheckmarkSmallIcon\",\n];\n\nexport const Signifier: FC<ISignifierProps> = ({\n type: Component,\n value = null,\n className,\n tooltipText,\n tooltipClassName,\n}) => {\n if (\n signifierTypes.indexOf(\n (Component as { displayName: string }).displayName\n ) === -1\n ) {\n console.warn(\"You are using unsupported Signifier icon\");\n }\n\n const [direction, setDirection] = useState(\"c-signifier--top\");\n const [, setPrevValue] = useState(value);\n\n const label: string | null = useMemo(() => {\n if (!value || value < 1) return null;\n\n const max = 1_000_000_000;\n let newValue = value;\n\n if (newValue > max) {\n newValue = max;\n }\n\n if (newValue === max) {\n return `${Math.floor(newValue / 1_000_000_000)}B+`;\n } else if (newValue > 999_999) {\n return `${Math.floor(newValue / 1_000_000)}M`;\n } else if (newValue > 999) {\n return `${Math.floor(newValue / 1000)}k`;\n }\n\n return `${newValue}`;\n }, [value]);\n\n useEffect(() => {\n value &&\n setPrevValue((v) => {\n v &&\n setDirection(\n v - value > 0 ? \"c-signifier--top\" : \"c-signifier--bottom\"\n );\n return value;\n });\n }, [value]);\n\n const renderSignifier = useMemo(\n () => (\n <StyledSignifier\n className={classnames(\"c-signifier\", className)}\n $direction={direction}\n >\n <StyledIcon as={Component} />\n {value !== null && (\n <SwitchTransition mode=\"out-in\">\n <StyledSignifierTransition\n key={label}\n timeout={300}\n classNames=\"c-signifier--animate\"\n >\n {(Component as { displayName: string }).displayName.includes(\n \"SmallIcon\"\n ) ? (\n <Caption1 color=\"secondary\">{label}</Caption1>\n ) : (\n <Body1 color=\"secondary\">{label}</Body1>\n )}\n </StyledSignifierTransition>\n </SwitchTransition>\n )}\n </StyledSignifier>\n ),\n [className, direction, Component, value, label]\n );\n\n return (\n <Tooltip\n title={tooltipText ?? \"\"}\n disable={!tooltipText}\n popperTooltipClassName={tooltipClassName}\n >\n {renderSignifier}\n </Tooltip>\n );\n};\n\nSignifier.displayName = \"Signifier\";\n","import styled from \"styled-components\";\nimport { AvatarProps } from \"./Avatar\";\n\nexport const StyledWrapper = styled.span`\n display: inline-flex;\n position: relative;\n border-radius: 100%;\n`;\n\nexport const StyledAvatar = styled.img<Pick<AvatarProps, \"size\">>`\n border-radius: 100%;\n object-fit: cover;\n\n block-size: ${(props) => props.size + \"px\"};\n inline-size: ${(props) => props.size + \"px\"};\n`;\n","import React, { forwardRef, PropsWithChildren } from \"react\";\nimport { StyledAvatar, StyledWrapper } from \"./Styles\";\n\nexport interface AvatarProps extends React.ComponentPropsWithoutRef<\"img\"> {\n /** Path url. */\n url: string;\n /** Alt text. */\n alt?: string;\n /** Image size. */\n size?: number;\n /** Custom class. */\n className?: string;\n}\n\n/**\n * @component Avatar\n * @description\n * The Avatar component is used to represent user, and displays the profile picture, initials or fallback icon.\n *\n * @prop {url} - The image url of the Avatar.\n * @prop {size} - controls the size of an Avatar (width and height) in pixels.\n * @prop {alt} - alt attribute of the img.\n *\n * @example\n * <Avatar url=\"https://faces-img.xcdn.link/image-lorem-face-954.jpg\" alt=\"Profile picture of John\" />\n *\n * @example\n * <Avatar\n * url=\"https://faces-img.xcdn.link/image-lorem-face-954.jpg\"\n * alt=\"Profile picture of John\">\n * <Badge size={8} backgroundColor=\"green\" position=\"bottom-left\" />\n * </Avatar>\n *\n * @see\n * https://system.activecollab.com/?path=/story/components-button-indicators-avatar--avatar\n * @see\n * https://design.activecollab.com/docs/components/avatar\n */\nexport const Avatar = forwardRef<\n HTMLImageElement,\n PropsWithChildren<AvatarProps>\n>(\n (\n { url, alt = \"Avatar Image\", size = 24, className, children, ...rest },\n ref\n ) => (\n <StyledWrapper className={className}>\n {children}\n <StyledAvatar\n size={size}\n ref={ref}\n src={url}\n alt={alt}\n role=\"img\"\n {...rest}\n />\n </StyledWrapper>\n )\n);\n\nAvatar.displayName = \"Avatar\";\n","import styled, { css } from \"styled-components\";\n\ninterface StyledDotProps {\n $color: string;\n $size: number;\n}\n\nexport const StyledDot = styled.div<StyledDotProps>`\n border-radius: 100%;\n\n ${(props) =>\n props.$size &&\n css`\n width: ${props.$size}px;\n height: ${props.$size}px;\n `}\n\n ${(props) =>\n props.$color &&\n css`\n background-color: ${props.$color};\n `}\n`;\n","import classnames from \"classnames\";\nimport React, { forwardRef } from \"react\";\nimport { StyledDot } from \"./Styles\";\n\nexport interface DotProps {\n color: string;\n size?: number;\n className?: string;\n}\n\nexport const Dot = forwardRef<\n HTMLDivElement,\n DotProps & Omit<React.ComponentPropsWithoutRef<\"div\">, keyof DotProps>\n>(({ color, size = 8, className, ...rest }, ref) => {\n return (\n <StyledDot\n className={classnames(\"c-dot\", className)}\n ref={ref}\n $color={color}\n $size={size}\n {...rest}\n />\n );\n});\n\nDot.displayName = \"Dot\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { Dot } from \"../Dot\";\nimport { FontStyle } from \"../FontStyle\";\n\nexport const StyledTag = styled.div`\n ${tw`tw-flex tw-items-center`}\n font-size: 13px;\n line-height: 1.375;\n ${BoxSizingStyle}\n ${FontStyle}\n`;\n\nStyledTag.displayName = \"StyledTag\";\n\ninterface IStyledTagDot {\n $showText?: boolean;\n}\n\nexport const StyledTagDot = styled(Dot)<IStyledTagDot>`\n ${(props) =>\n props.$showText &&\n css`\n ${tw`tw-mr-1`}\n `}\n`;\n\nStyledTagDot.displayName = \"StyledTagDot\";\n\nexport const StyledTagText = styled.div`\n ${tw`tw-uppercase`}\n ${(props) =>\n props.color &&\n css`\n color: ${props.color};\n `}\n`;\n\nStyledTagText.displayName = \"StyledTagText\";\n","import React, { forwardRef } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledTag, StyledTagText, StyledTagDot } from \"./Styles\";\n\nexport interface TagProps {\n name: string;\n color: string;\n showText?: boolean;\n showDot?: boolean;\n className?: string;\n}\n\nexport const Tag = forwardRef<\n HTMLDivElement,\n TagProps & Omit<React.ComponentPropsWithoutRef<\"div\">, keyof TagProps>\n>(\n (\n { name, color, showText = true, showDot = true, className, ...rest },\n ref\n ) => {\n return (\n <StyledTag className={classnames(\"c-tag\", className)} ref={ref} {...rest}>\n {showDot ? <StyledTagDot $showText={showText} color={color} /> : null}\n {showText ? <StyledTagText color={color}>{name}</StyledTagText> : null}\n </StyledTag>\n );\n }\n);\n\nTag.displayName = \"Tag\";\n","import React, { Fragment, ReactNode } from \"react\";\nimport styled from \"styled-components\";\n\nconst StyledHiglightedText = styled.span`\n background-color: var(--color-primary-200);\n`;\n\nStyledHiglightedText.displayName = \"StyledHiglightedText\";\n\nconst useHighlightText = (\n text: string,\n searchBy: string,\n matchCase = false\n): ReactNode => {\n let textComparator = text;\n let searchByComparator = searchBy;\n\n if (!matchCase) {\n textComparator = text.toLowerCase();\n searchByComparator = searchBy.toLowerCase();\n }\n\n if (\n searchBy &&\n textComparator &&\n textComparator.indexOf(searchByComparator) >= 0\n ) {\n const beforeHighlighted = text.substring(\n 0,\n textComparator.indexOf(searchByComparator)\n );\n const highLighted = text.substring(\n textComparator.indexOf(searchByComparator),\n textComparator.indexOf(searchByComparator) + searchBy.length\n );\n const afterHighlighted = text.substring(\n textComparator.indexOf(searchByComparator) + searchBy.length\n );\n\n return (\n <Fragment>\n {beforeHighlighted.replace(/ /g, \"\\u00a0\")}\n <StyledHiglightedText className=\"c-option--text__highlight\">\n {highLighted.replace(/ /g, \"\\u00a0\")}\n </StyledHiglightedText>\n {afterHighlighted.replace(/ /g, \"\\u00a0\")}\n </Fragment>\n );\n }\n\n return text;\n};\n\nexport default useHighlightText;\n","export const handleKeyboardMovement = (\n e: KeyboardEvent,\n hover: string | number | null | undefined,\n flatOptions,\n showAddNew: boolean,\n showDefaultOption\n): number | string | undefined => {\n if (e.key === \"ArrowDown\" || e.key === \"ArrowUp\") {\n e.preventDefault();\n }\n\n let options = flatOptions;\n if (showDefaultOption) options = [{ id: null }, ...options];\n if (showAddNew) options = [...options, { id: \"addNew\" }];\n\n const hoveredIndex = options.findIndex((option) => option.id === hover);\n\n if (e.key === \"ArrowDown\") {\n const isHoveredLastOption =\n options.findIndex((v) => v.id === hover) + 1 >= options.length;\n return hoveredIndex === -1 || isHoveredLastOption\n ? options[0].id\n : options[hoveredIndex + 1].id;\n }\n\n if (e.key === \"ArrowUp\") {\n const isHoveredFirstOption = options[0].id === hover;\n return hoveredIndex === -1 || isHoveredFirstOption\n ? options[options.length - 1].id\n : options[hoveredIndex - 1].id;\n }\n};\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../../BoxSizingStyle\";\nimport { FontStyle } from \"../../FontStyle\";\n\nexport const StyledOption = styled.li<{ hover?: boolean }>`\n ${tw`tw-select-none tw-font-normal`}\n font-size: 14px;\n display: flex;\n justify-content: space-between;\n height: 28px;\n padding-left: 16px;\n padding-right: 16px;\n margin-top: 4px;\n margin-bottom: 4px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: space-between;\n transition-duration: 0.1s;\n color: var(--color-theme-900);\n\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${(props) =>\n props.hover &&\n css`\n background-color: var(--color-theme-200);\n `}\n`;\n\nStyledOption.displayName = \"StyledOption\";\n","import React, {\n forwardRef,\n MouseEventHandler,\n ReactNode,\n Ref,\n useCallback,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { StyledOption } from \"./Styles\";\n\nexport interface IOptionItemProps {\n /** Value of option */\n id: string | number;\n /** Label of option */\n name: string;\n /** Additional info right-side of name */\n additionalInfo?: string;\n /** image url for Avatar or MultiAvatar */\n image?: string | string[];\n /** Hex color for label */\n color?: string;\n}\n\ninterface IAdditionalOptionItemProps {\n /** Value of option */\n id?: string | number;\n /** Label of option */\n name: string;\n /** Hovered state */\n hover?: boolean;\n /** Class name of option */\n className?: string;\n /** Render option function */\n renderOption?: ReactNode;\n /** On mouse enter callback */\n onMouseEnter?: (e: string | number | undefined) => void;\n /** On mouse click */\n onClick?: MouseEventHandler<HTMLLIElement>;\n}\n\nexport const Option = forwardRef(\n (\n {\n id,\n name,\n hover,\n className,\n renderOption,\n onMouseEnter,\n onClick = () => null,\n }: IAdditionalOptionItemProps,\n ref: Ref<HTMLLIElement>\n ) => {\n const handleOnMouseEnter = useCallback(() => {\n if (onMouseEnter) {\n onMouseEnter(id);\n }\n }, [onMouseEnter, id]);\n\n return (\n <StyledOption\n ref={hover ? ref : null}\n title={name}\n onMouseEnter={handleOnMouseEnter}\n className={classnames(\"c-option\", className)}\n hover={hover}\n onClick={onClick}\n >\n {renderOption ? renderOption : name}\n </StyledOption>\n );\n }\n);\n\nOption.displayName = \"Option\";\n","import styled, { css } from \"styled-components\";\nimport { ICheckboxProps } from \"./Checkbox\";\n\nexport const StyledInput = styled.input`\n display: none;\n`;\nStyledInput.displayName = \"StyledInput\";\n\nexport const StyledLabel = styled.label``;\nStyledLabel.displayName = \"StyledLabel\";\n\nexport const StyledCheckbox = styled.div<ICheckboxProps>`\n height: 16px;\n width: 16px;\n position: relative;\n transition-duration: 0.2s;\n border-radius: 2px;\n path {\n transition-duration: 0.2s;\n stroke: transparent;\n stroke-dashoffset: 12;\n stroke-dasharray: 12;\n }\n svg {\n cursor: pointer;\n border-radius: 2px;\n fill: transparent;\n }\n rect {\n transition-duration: 0.2s;\n stroke: var(--color-theme-500);\n }\n\n ${StyledInput}:disabled ~ ${StyledLabel} {\n pointer-events: none;\n opacity: 0.5;\n }\n\n ${StyledInput}:focus ~ ${StyledLabel} {\n rect {\n stroke: var(--color-secondary);\n stroke-width: 3px;\n }\n }\n\n &:not(.c-checkbox__controlled)\n ${StyledInput}:hover:not(:checked)\n ~ ${StyledLabel} {\n path {\n stroke: var(--color-secondary-500);\n stroke-dashoffset: 24;\n }\n rect {\n stroke: var(--color-secondary);\n stroke-width: 3px;\n }\n }\n\n ${(props) =>\n props.hover &&\n css`\n ${StyledInput}:not(:checked) ~ ${StyledLabel} {\n path {\n stroke: var(--color-secondary-500);\n stroke-dashoffset: 24;\n }\n rect {\n stroke: var(--color-secondary);\n stroke-width: 3px;\n }\n }\n `}\n\n ${StyledInput}:checked ~ ${StyledLabel} {\n path {\n stroke: var(--page-paper-main);\n stroke-dashoffset: 24;\n }\n rect {\n stroke: var(--color-secondary);\n stroke-width: 19px;\n }\n }\n`;\nStyledCheckbox.displayName = \"StyledCheckbox\";\n","import React, {\n forwardRef,\n BaseHTMLAttributes,\n InputHTMLAttributes,\n Ref,\n} from \"react\";\nimport classnames from \"classnames\";\nimport CheckboxIcon from \"../Icons/collection/Checkbox\";\nimport { StyledCheckbox, StyledInput, StyledLabel } from \"./Styles\";\n\nexport interface ICheckboxProps extends BaseHTMLAttributes<HTMLInputElement> {\n /** CSS classes */\n className?: string;\n /** Set hover style */\n hover?: boolean;\n /** Id of input and for of label */\n id?: string;\n}\n\n/**\n * Checkbox component\n */\nexport const Checkbox = forwardRef(\n (\n {\n className,\n hover,\n id = \"checkbox\",\n ...rest\n }: InputHTMLAttributes<HTMLInputElement> & ICheckboxProps,\n ref: Ref<HTMLInputElement> | null | undefined\n ) => {\n return (\n <StyledCheckbox\n className={classnames(\n \"c-checkbox\",\n {\n \"c-checkbox__hover\": hover,\n \"c-checkbox__controlled\": typeof hover === \"boolean\",\n },\n className\n )}\n hover={hover}\n >\n <StyledInput\n id={id}\n className=\"c-checkbox--input\"\n type=\"checkbox\"\n ref={ref}\n {...rest}\n />\n <StyledLabel htmlFor={id} className=\"c-checkbox--label\">\n <CheckboxIcon height={16} width={16} />\n </StyledLabel>\n </StyledCheckbox>\n );\n }\n);\n\nCheckbox.displayName = \"Checkbox\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../../BoxSizingStyle\";\nimport { FontStyle } from \"../../FontStyle\";\n\nexport const StyledOptionGroupLi = styled.li`\n flex-direction: column;\n`;\nexport const StyledOptionGroup = styled.div`\n ${tw`tw-select-none`}\n ${FontStyle}\n ${BoxSizingStyle}\n`;\n\nStyledOptionGroup.displayName = \"StyledOptionGroup\";\n\nexport const StyledOptionGroupHeader = styled.h3`\n height: 28px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0 16px;\n color: var(--color-theme-900);\n margin: 6px 0;\n * {\n margin: auto 0;\n }\n`;\n\nStyledOptionGroupHeader.displayName = \"StyledOptionGroupHeader\";\n\nexport const StyledOptionGroupOption = styled.div<{ hover?: boolean }>`\n ${(props) =>\n props.hover &&\n css`\n background-color: var(--color-theme-200);\n `}\n`;\n\nStyledOptionGroupOption.displayName = \"StyledOptionGroupOption\";\n","import React, { useCallback, useEffect, useMemo, FC } from \"react\";\nimport classNames from \"classnames\";\nimport { IOptionItemProps } from \"../Option/Option\";\nimport { Checkbox } from \"../../Checkbox/Checkbox\";\nimport {\n StyledOptionGroup,\n StyledOptionGroupHeader,\n StyledOptionGroupOption,\n StyledOptionGroupLi,\n} from \"./Styles\";\nimport { List } from \"../../List\";\n\nexport interface IOptionGroupProps extends IOptionItemProps {\n /** Options items list */\n options: IOptionItemProps[];\n}\n\ninterface IAdditionalOptionGroupProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** Value of hovered element */\n hover?: number | string | null;\n /** Filter for labels */\n filter?: string;\n /** Checked values */\n checked: (string | number)[];\n /** onChange callback */\n onChange?: (e: (string | number)[]) => void;\n /** Set value of hovered element */\n setHover?: (e: number | string | undefined) => void;\n /** Render function */\n renderOptions?: (item: IOptionItemProps, index: number) => void;\n /** Value that represent class names */\n optionGroupClassName?: string;\n}\n\nexport const OptionGroup: FC<\n IOptionGroupProps & IAdditionalOptionGroupProps\n> = ({\n id,\n name,\n options,\n type,\n hover,\n filter,\n checked,\n onChange,\n setHover,\n renderOptions,\n optionGroupClassName,\n}) => {\n const list = useMemo(\n () =>\n filter\n ? options.filter((v) =>\n v.name.toLowerCase().includes(filter.trim().toLowerCase())\n )\n : options,\n [filter, options]\n );\n\n useEffect(() => {\n if (hover === id && type !== \"single\") {\n document.getElementById(`${id}`)?.focus();\n }\n }, [hover, type, id]);\n\n const isAllOptionsChecked = useMemo(\n () => options.every((option) => checked.includes(option.id)),\n [options, checked]\n );\n\n const handleHover = useCallback(() => {\n if (setHover) {\n setHover(type === \"single\" ? undefined : id);\n }\n }, [setHover, type, id]);\n\n const allOptionValues = useMemo(\n () => options.map((option) => option.id),\n [options]\n );\n\n const handleClick = useCallback(\n (e) => {\n e.stopPropagation();\n if (onChange) {\n if (isAllOptionsChecked) {\n onChange(\n checked.filter((i) => allOptionValues.includes(i) === false)\n );\n } else {\n const values = [...checked, ...allOptionValues];\n const unique = values.filter((item, pos) => {\n return values.indexOf(item) === pos;\n });\n onChange(unique);\n }\n }\n },\n [allOptionValues, checked, isAllOptionsChecked, onChange]\n );\n\n return (\n <StyledOptionGroupLi\n key={id}\n className={classNames(\"c-option-group\", optionGroupClassName)}\n >\n <StyledOptionGroup key={id}>\n <StyledOptionGroupOption\n onMouseEnter={handleHover}\n hover={hover === id && type === \"multiple\"}\n >\n <StyledOptionGroupHeader>\n {name}\n {type === \"multiple\" && (\n <Checkbox\n id={`${id}`}\n checked={isAllOptionsChecked}\n onChange={handleClick}\n type=\"checkbox\"\n />\n )}\n </StyledOptionGroupHeader>\n </StyledOptionGroupOption>\n <List>\n {list.map((item: IOptionItemProps, index) => {\n return typeof renderOptions === \"function\"\n ? renderOptions(item, index)\n : item.name;\n })}\n </List>\n </StyledOptionGroup>\n </StyledOptionGroupLi>\n );\n};\n\nOptionGroup.displayName = \"OptionGroup\";\n","import styled from \"styled-components\";\nimport tw from \"twin.macro\";\n\ninterface Colors {\n $innerColor?: string;\n $outerColor?: string;\n}\n\nexport const StyledScrollShadow = styled.div`\n ${tw`tw-relative`}\n`;\n\nexport const StyledScrollShadowTop = styled.div<Colors>`\n ${tw`tw-absolute tw-top-0 tw-inset-x-0 tw-h-2`}\n\n background-image: linear-gradient(\n to top,\n ${(props) =>\n props.$innerColor ? props.$innerColor : \"var(--page-paper-main-shadow)\"},\n ${(props) =>\n props.$outerColor ? props.$outerColor : \"var(--page-paper-main)\"}\n );\n`;\n\nexport const StyledScrollShadowBottom = styled.div<Colors>`\n ${tw`tw-absolute tw-bottom-0 tw-inset-x-0 tw-h-2`}\n\n background-image: linear-gradient(\n to top,\n ${(props) =>\n props.$outerColor ? props.$outerColor : \"var(--page-paper-main)\"},\n ${(props) =>\n props.$innerColor ? props.$innerColor : \"var(--page-paper-main-shadow)\"}\n );\n`;\n\nexport const StyledScrollShadowLeft = styled.div<Colors>`\n ${tw`tw-absolute tw-left-0 tw-inset-y-0 tw-w-2`}\n\n background-image: linear-gradient(\n to left,\n ${(props) =>\n props.$innerColor ? props.$innerColor : \"var(--page-paper-main-shadow)\"},\n ${(props) =>\n props.$outerColor ? props.$outerColor : \"var(--page-paper-main)\"}\n );\n`;\n\nexport const StyledScrollShadowRight = styled.div<Colors>`\n ${tw`tw-absolute tw-right-0 tw-inset-y-0 tw-w-2`}\n\n background-image: linear-gradient(\n to right,\n ${(props) =>\n props.$innerColor ? props.$innerColor : \"var(--page-paper-main-shadow)\"},\n ${(props) =>\n props.$outerColor ? props.$outerColor : \"var(--page-paper-main)\"}\n );\n`;\n\nStyledScrollShadow.displayName = \"StyledScrollShadow\";\nStyledScrollShadowTop.displayName = \"StyledScrollShadowTop\";\nStyledScrollShadowBottom.displayName = \"StyledScrollShadowBottom\";\nStyledScrollShadowLeft.displayName = \"StyledScrollShadowLeft\";\nStyledScrollShadowRight.displayName = \"StyledScrollShadowRight\";\n","import React, {\n forwardRef,\n useState,\n useCallback,\n UIEventHandler,\n UIEvent,\n HTMLAttributes,\n} from \"react\";\nimport classnames from \"classnames\";\nimport {\n StyledScrollShadow,\n StyledScrollShadowBottom,\n StyledScrollShadowLeft,\n StyledScrollShadowRight,\n StyledScrollShadowTop,\n} from \"./Styles\";\n\nexport interface IScrollShadowProps {\n /** Children */\n children: ({ onScroll: UIEventHandler }) => void;\n /** Applies passed classes */\n className?: string;\n /** Disable vertical shadow */\n disableVertical?: boolean;\n /** Disable horizontal shadow */\n disableHorizontal?: boolean;\n /** Invert horizontal shadow logic */\n invertHorizontal?: boolean;\n /** Invert vertical shadow logic */\n invertVertical?: boolean;\n /** Inner gradient color */\n innerColor?: string;\n /** Outer gradient color */\n outerColor?: string;\n}\n\nexport const ScrollShadow = forwardRef<\n HTMLDivElement,\n IScrollShadowProps & HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n children,\n className,\n disableVertical = false,\n disableHorizontal = false,\n invertHorizontal = false,\n invertVertical = false,\n innerColor,\n outerColor,\n ...rest\n },\n ref\n ) => {\n const [opacity, setOpacity] = useState({\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n });\n\n const handleScroll: UIEventHandler = useCallback(\n (event: UIEvent) => {\n const { scrollHeight, clientHeight, scrollWidth, clientWidth } =\n event.target as Element;\n let { scrollTop, scrollLeft } = event.target as Element;\n\n if (scrollLeft < 0) {\n scrollLeft *= -1;\n }\n if (scrollTop < 0) {\n scrollTop *= -1;\n }\n\n setOpacity((prevState) => {\n const top = (1 / 20) * Math.min(scrollTop, 20);\n const bottomScrollTop = scrollHeight - clientHeight;\n const bottom =\n (1 / 20) *\n (bottomScrollTop - Math.max(scrollTop, bottomScrollTop - 20));\n const left = (1 / 20) * Math.min(scrollLeft, 20);\n const offset = scrollWidth - clientWidth;\n const right = (1 / 20) * (offset - Math.max(scrollLeft, offset - 20));\n\n const newState = { top: 0, bottom: 0, left: 0, right: 0 };\n\n if (!disableVertical) {\n newState.top = invertVertical ? bottom : top;\n newState.bottom = invertVertical ? top : bottom;\n }\n\n if (!disableHorizontal) {\n newState.left = invertHorizontal ? right : left;\n newState.right = invertHorizontal ? left : right;\n }\n\n if (\n newState.top !== prevState.top ||\n newState.bottom !== prevState.bottom ||\n newState.left !== prevState.left ||\n newState.right !== prevState.right\n ) {\n return newState;\n }\n\n return prevState;\n });\n },\n [invertHorizontal, invertVertical, disableVertical, disableHorizontal]\n );\n\n return (\n <StyledScrollShadow\n {...rest}\n ref={ref}\n className={classnames(\"c-scroll-shadow\", className)}\n >\n {children({ onScroll: handleScroll })}\n {!disableVertical ? (\n <>\n <StyledScrollShadowTop\n $innerColor={innerColor}\n $outerColor={outerColor}\n style={{ opacity: opacity.top }}\n />\n <StyledScrollShadowBottom\n $innerColor={innerColor}\n $outerColor={outerColor}\n style={{ opacity: opacity.bottom }}\n />\n </>\n ) : null}\n {!disableHorizontal ? (\n <>\n <StyledScrollShadowLeft\n $innerColor={innerColor}\n $outerColor={outerColor}\n style={{ opacity: opacity.left }}\n />\n <StyledScrollShadowRight\n $innerColor={innerColor}\n $outerColor={outerColor}\n style={{ opacity: opacity.right }}\n />\n </>\n ) : null}\n </StyledScrollShadow>\n );\n }\n);\n\nScrollShadow.displayName = \"ScrollShadow\";\n","import { useRef, useEffect, MutableRefObject } from \"react\";\n\nexport const useInitScrollRef = (\n element: HTMLDivElement | null,\n invert = false\n): MutableRefObject<HTMLDivElement | null> => {\n const ref = useRef<HTMLDivElement | null>(element);\n\n useEffect(() => {\n if (ref.current) {\n ref.current.scrollTop = invert ? -1 : 1;\n ref.current.scrollTop = 0;\n ref.current.scrollLeft = invert ? -1 : 1;\n ref.current.scrollLeft = 0;\n }\n }, [invert]);\n\n return ref;\n};\n","import { RefObject, useEffect, useState } from \"react\";\n\nexport const useHeight = (ref: RefObject<HTMLElement>): number => {\n const [height, setHeight] = useState(0);\n\n useEffect(() => {\n if (ref && ref.current) {\n const element = ref.current;\n const prevMaxHeight = element.style.maxHeight;\n const prevVisibility = element.style.visibility;\n\n element.style.visibility = \"hidden\";\n element.style.maxHeight = \"none\";\n\n const elementHeight = element.clientHeight;\n\n element.style.visibility = prevVisibility;\n element.style.maxHeight = prevMaxHeight;\n\n return setHeight(elementHeight);\n }\n }, [ref]);\n\n return height;\n};\n","import React, { forwardRef, HTMLAttributes, ReactNode } from \"react\";\nimport classNames from \"classnames\";\nimport { useInitScrollRef } from \"../../hooks\";\nimport useForkRef from \"../../utils/useForkRef\";\n\ninterface IScrollElement extends HTMLAttributes<HTMLElement> {\n as?: string;\n children?: ReactNode;\n invert?: boolean;\n}\n\nexport const ScrollElement = forwardRef<HTMLElement, IScrollElement>(\n ({ as = \"div\", className, invert = false, style, ...rest }, ref) => {\n const internalRef = useInitScrollRef(null, invert);\n const handleRef = useForkRef(internalRef, ref);\n\n const props = {\n ...rest,\n ref: handleRef,\n className: classNames(\"c-scroll-element\", className),\n style: { overflow: \"auto\", ...style },\n };\n\n return React.createElement(as, props);\n }\n);\n\nScrollElement.displayName = \"ScrollElement\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { ScrollShadow } from \"../ScrollShadow\";\nimport { List } from \"../List\";\nimport { StyledOption } from \"../Select/Option/Styles\";\n\nexport const StyledAutocompleteScrollShadow = styled(ScrollShadow)<{\n $isHidden: boolean;\n}>`\n margin-top: 4px;\n\n ${(props) =>\n props.$isHidden &&\n css`\n ${tw`tw-hidden`};\n `}\n`;\n\nStyledAutocompleteScrollShadow.displayName = \"StyledAutocompleteScrollShadow\";\n\nexport const StyledAutocompleteBody = styled(List)`\n max-height: 340px;\n overflow: auto;\n margin-bottom: 6px;\n`;\n\nStyledAutocompleteBody.displayName = \"StyledAutocompleteBody\";\n\nexport const StyledAutocompleteNewItem = styled(StyledOption)<{ hover }>`\n ${tw`tw-cursor-pointer tw-select-none`};\n justify-content: start;\n\n &:before {\n content: \"+ \";\n margin-right: 4px;\n }\n\n ${(props) =>\n props.hover &&\n css`\n background-color: var(--color-theme-200);\n content: \"+ \";\n `}\n`;\n\nStyledAutocompleteNewItem.displayName = \"StyledAutocompleteNewItem\";\n","import React, {\n FC,\n useCallback,\n useState,\n useMemo,\n useEffect,\n useRef,\n ReactNode,\n ReactElement,\n MutableRefObject,\n} from \"react\";\nimport { Scrollbars } from \"react-custom-scrollbars-2\";\nimport highlightText from \"../../hooks/useHighlightText\";\nimport { handleKeyboardMovement } from \"./HandleKeyboard\";\nimport { IOptionItemProps, Option } from \"../Select/Option\";\nimport { IOptionGroupProps, OptionGroup } from \"../Select/OptionGroup\";\nimport {\n StyledAutocompleteBody,\n StyledAutocompleteNewItem,\n StyledAutocompleteScrollShadow,\n} from \"./Styles\";\nimport { StyledOption } from \"../Select/Option/Styles\";\n\nexport function isOptionGroup(\n item: IOptionGroupProps | IOptionItemProps\n): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n}\n\nexport interface IAutocompleteProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** List of options or group options */\n options?: (IOptionGroupProps | IOptionItemProps)[];\n /** Selected values */\n selected?: (string | number)[] | string | number;\n /** Input Element. */\n inputEl?: MutableRefObject<HTMLInputElement | null | undefined>;\n /** Text for empty value */\n emptyValue?: string;\n /** Text for No result */\n noResultText?: string;\n /** Render option */\n renderOption?: (\n option: Record<string, ReactNode>,\n data: Record<string, unknown>\n ) => string | ReactElement;\n /** Default value that renders on top of list */\n defaultValue?: string;\n /** Sort direction for labels */\n sortDirection?: \"asc\" | \"desc\";\n /** handleChange callback */\n handleChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** ClassName for single option */\n optionClassName?: string;\n /** handleEmptyAction */\n handleEmptyAction?: (e: string | number) => void;\n /** Disable sorting options */\n disabledInternalSort?: boolean;\n /** ClassName for Autocomplete component */\n AutocompleteClassName?: string;\n /** handleDefaultOptionChange callback */\n handleDefaultOptionChange?: () => void;\n /** Should default value be selected */\n preselectDefaultValue?: boolean;\n /** Should order stay the same after choosing an option */\n keepSameOptionsOrder?: boolean;\n /** Set max height property for scrollbars */\n autoHeightMax?: number;\n /** Clear input on select - works in single mode */\n clearInputOnSelect?: boolean;\n}\n\ninterface IHover {\n item: number | string | undefined | null;\n by: \"mouse\" | \"keyboard\" | undefined;\n}\n\nexport const Autocomplete: FC<IAutocompleteProps> = ({\n type,\n options = [],\n inputEl,\n selected = [],\n emptyValue,\n noResultText,\n renderOption = (option) => option?.name,\n defaultValue,\n sortDirection = \"asc\",\n handleChange,\n optionClassName,\n handleEmptyAction,\n disabledInternalSort,\n AutocompleteClassName,\n handleDefaultOptionChange,\n preselectDefaultValue,\n keepSameOptionsOrder = false,\n autoHeightMax = 340,\n clearInputOnSelect,\n}) => {\n const itemRef = useRef<HTMLLIElement>(null);\n const listRef = useRef<Scrollbars>(null);\n\n const selectedOptions = useMemo(() => {\n if (Array.isArray(selected)) {\n return selected;\n }\n return [selected];\n }, [selected]);\n\n const handleSort = useCallback((opts) => {\n if (keepSameOptionsOrder) {\n return opts;\n }\n return opts.sort((a: IOptionItemProps, b: IOptionItemProps) => {\n if (selectedOptions.includes(b.id) && !selectedOptions.includes(a.id)) {\n return 1;\n }\n if (selectedOptions.includes(a.id) && !selectedOptions.includes(b.id)) {\n return -1;\n }\n return 0;\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const sortList = useCallback(\n (options) => {\n if (disabledInternalSort) {\n return handleSort([...options]);\n }\n return handleSort(\n [...options].sort((a: IOptionItemProps, b: IOptionItemProps) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n )\n );\n },\n [sortDirection, disabledInternalSort, handleSort]\n );\n\n const sortedList = useMemo(() => sortList(options), [options, sortList]);\n\n const [hover, setHover] = useState<IHover>({\n item: undefined,\n by: undefined,\n });\n const [filter, setFilter] = useState(\"\");\n\n const handleEmpty = useCallback(\n (e) => {\n if (e && e.button !== 0) {\n return;\n }\n if (handleEmptyAction) {\n inputEl?.current?.focus();\n setFilter(\"\");\n handleEmptyAction(filter);\n }\n },\n [filter, handleEmptyAction, inputEl]\n );\n\n const onAddNewMouseEnter = useCallback(\n () => setHover({ item: \"addNew\", by: \"mouse\" }),\n []\n );\n\n const showAddNew = useMemo(() => {\n return !!(\n emptyValue &&\n filter.trim() &&\n options.every((option) => {\n if (isOptionGroup(option)) {\n return option.options.every(\n (v) => v.name.toLowerCase() !== filter.trim().toLowerCase()\n );\n }\n return option.name.toLowerCase() !== filter.trim().toLowerCase();\n })\n );\n }, [emptyValue, filter, options]);\n\n const renderAddNew = useMemo(() => {\n return (\n <StyledAutocompleteNewItem\n ref={hover.item === \"addNew\" ? itemRef : null}\n key=\"emptyValue\"\n hover={hover.item === \"addNew\"}\n onMouseDown={handleEmpty}\n onMouseEnter={onAddNewMouseEnter}\n >\n {emptyValue}\n </StyledAutocompleteNewItem>\n );\n }, [emptyValue, handleEmpty, hover, onAddNewMouseEnter]);\n\n const filterOptions = useCallback(\n (options, filter) => {\n const trimmedFilter = filter.trim();\n const isGrouped = options[0] && isOptionGroup(options[0]);\n if (isGrouped) {\n let hovered = false;\n return options.reduce((acc, groupedOption) => {\n const filteredOptions = groupedOption.options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filteredOptions.length > 0) {\n if (!hovered && filter) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n hovered = true;\n return [...acc, { ...groupedOption, options: filteredOptions }];\n }\n return [...acc];\n }, []);\n } else {\n const filteredOptions = options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filter && filteredOptions.length > 0) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n if (filteredOptions.length === 0 && emptyValue) {\n setHover({ item: \"addNew\", by: \"keyboard\" });\n }\n return filteredOptions;\n }\n },\n [emptyValue]\n );\n\n const list = useMemo(\n () => filterOptions(sortedList, filter),\n [filter, filterOptions, sortedList]\n );\n\n const showDefaultOption = useMemo(\n () => !!defaultValue && !filter,\n [defaultValue, filter]\n );\n\n const flatOptions = useMemo(() => {\n const options = list.reduce(\n (\n acc: (IOptionItemProps | IOptionGroupProps | [])[],\n option: IOptionItemProps | IOptionGroupProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option];\n }\n return [...acc, ...option.options];\n },\n []\n );\n return filterOptions(options, filter);\n }, [filter, filterOptions, list]);\n\n const handleInputChange = useCallback((e) => {\n if (\n e.target &&\n !(e.key === \"ArrowDown\") &&\n !(e.key === \"ArrowUp\") &&\n !(e.key === \"Enter\")\n ) {\n setFilter(e.target.value);\n }\n }, []);\n\n const handleHoverCallback = useCallback(\n (e: number | string | undefined): void => {\n setHover({ item: e, by: \"mouse\" });\n },\n []\n );\n\n const toggleSelected = useCallback(\n (id) => {\n let result;\n\n if (id !== null) {\n if (type === \"multiple\") {\n if (selectedOptions.includes(id)) {\n result = selectedOptions.filter((_id) => _id !== id);\n } else {\n result = [...selectedOptions, id];\n }\n } else {\n result = id;\n }\n if (clearInputOnSelect && inputEl?.current) {\n inputEl.current.value = \"\";\n inputEl.current.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n setFilter(\"\");\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n return;\n }\n }\n\n if (typeof handleChange === \"function\") {\n handleChange(result);\n }\n },\n [\n clearInputOnSelect,\n handleChange,\n handleDefaultOptionChange,\n inputEl,\n selectedOptions,\n type,\n ]\n );\n\n const handleMouseEnter = useCallback((e) => {\n if (e === undefined || e === null) {\n return setHover({ item: null, by: \"mouse\" });\n }\n setHover({ item: e, by: \"mouse\" });\n }, []);\n\n const handleClick = useCallback(\n (e) => {\n e.preventDefault();\n toggleSelected(hover.item);\n },\n [toggleSelected, hover]\n );\n\n const handleRenderOption = useCallback(\n (item: IOptionItemProps | IOptionGroupProps, index) => {\n if (isOptionGroup(item)) {\n return (\n <OptionGroup\n checked={selectedOptions}\n name={item.name}\n key={item.id}\n setHover={handleHoverCallback}\n id={item.id}\n hover={hover.item}\n options={item.options}\n renderOptions={handleRenderOption}\n type={type}\n onChange={handleChange}\n filter={filter}\n />\n );\n }\n return (\n <Option\n name={item.name}\n ref={itemRef}\n key={index}\n onMouseEnter={handleMouseEnter}\n onClick={handleClick}\n id={item.id}\n hover={item.id === hover.item}\n className={optionClassName}\n renderOption={renderOption(\n { ...item, name: highlightText(item.name, filter) },\n {\n id: `option_${item.id}`,\n checked: selectedOptions && selectedOptions.includes(item.id),\n hover: hover.item === item.id,\n onChange: () => null,\n }\n )}\n />\n );\n },\n [\n handleClick,\n handleMouseEnter,\n hover.item,\n optionClassName,\n renderOption,\n filter,\n selectedOptions,\n handleHoverCallback,\n type,\n handleChange,\n ]\n );\n\n const handleOnMouseLeave = useCallback(() => {\n setHover({ item: undefined, by: \"mouse\" });\n }, []);\n\n const handleScroll = useCallback((list: Scrollbars, itemOffset: number) => {\n if (list.getClientHeight() + list.getScrollTop() < itemOffset + 40) {\n return list.scrollTop(itemOffset - list.getClientHeight() + 30);\n }\n if (list.getScrollTop() > itemOffset) {\n return list.scrollTop(itemOffset);\n }\n }, []);\n\n useEffect(() => {\n if (hover.by === \"keyboard\" && hover.item !== undefined) {\n const item: HTMLLIElement | null = itemRef.current;\n const list = listRef.current;\n if (itemRef && item && list) {\n handleScroll(list, item.offsetTop);\n }\n }\n }, [handleScroll, hover]);\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n\n if (hover.item === undefined && filter === \"\") {\n return;\n }\n if (hover.item === \"addNew\") {\n handleEmpty(null);\n return;\n }\n if (hover.item === null && handleDefaultOptionChange) {\n handleDefaultOptionChange();\n return;\n }\n\n if (typeof hover.item !== \"undefined\" || hover.item !== null) {\n toggleSelected(hover.item);\n setFilter(\"\");\n }\n return;\n }\n setHover({\n item: handleKeyboardMovement(\n e,\n hover.item,\n flatOptions,\n showAddNew,\n showDefaultOption\n ),\n by: \"keyboard\",\n });\n },\n [\n filter,\n flatOptions,\n toggleSelected,\n handleDefaultOptionChange,\n handleEmpty,\n hover,\n showAddNew,\n showDefaultOption,\n ]\n );\n\n useEffect(() => {\n const inputRef = inputEl?.current;\n if (inputRef) {\n inputRef.addEventListener(\"input\", handleInputChange);\n inputRef.addEventListener(\"keydown\", handleOnKeyDown);\n }\n return () => {\n if (inputRef) {\n inputRef.removeEventListener(\"input\", handleInputChange);\n inputRef.removeEventListener(\"keydown\", handleOnKeyDown);\n }\n };\n }, [handleInputChange, handleOnKeyDown, inputEl]);\n\n const isDefaultOptionSelected = useCallback(() => {\n if (preselectDefaultValue) {\n return selectedOptions.length < 1 || selectedOptions[0] === \"\";\n } else {\n return (\n selectedOptions[0] === null ||\n selectedOptions.length === flatOptions.length\n );\n }\n }, [flatOptions.length, preselectDefaultValue, selectedOptions]);\n\n const showNoResult = useMemo(\n () => noResultText && !showAddNew && list.length < 1,\n [list.length, noResultText, showAddNew]\n );\n\n const renderNoResult = useMemo(\n () => <StyledOption css=\"cursor: auto\">{noResultText}</StyledOption>,\n [noResultText]\n );\n\n return (\n <StyledAutocompleteScrollShadow\n className={AutocompleteClassName}\n $isHidden={\n !defaultValue && !emptyValue && !noResultText && list.length < 1\n }\n >\n {({ onScroll }): JSX.Element => (\n <StyledAutocompleteBody key=\"body\" onMouseLeave={handleOnMouseLeave}>\n <Scrollbars\n ref={listRef}\n key=\"scrollBar\"\n autoHeight\n autoHeightMax={autoHeightMax}\n onScroll={onScroll}\n >\n {defaultValue && !filter && (\n <Option\n name={defaultValue}\n ref={itemRef}\n hover={hover.item === null}\n onMouseEnter={handleMouseEnter}\n onClick={(e) => {\n e.preventDefault();\n toggleSelected(null);\n }}\n renderOption={renderOption(\n { name: defaultValue, id: null },\n {\n checked: isDefaultOptionSelected(),\n hover: hover.item === null,\n onChange: () => null,\n }\n )}\n />\n )}\n {list.map((item: IOptionItemProps, index) =>\n handleRenderOption(item, index)\n )}\n {showNoResult && renderNoResult}\n {showAddNew && renderAddNew}\n </Scrollbars>\n </StyledAutocompleteBody>\n )}\n </StyledAutocompleteScrollShadow>\n );\n};\n\nAutocomplete.displayName = \"Autocomplete\";\n","import styled, { css } from \"styled-components\";\nimport { InputSize } from \"./types\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\ninterface StyledInputWrapperProps {\n $size?: InputSize;\n $invalid?: boolean;\n $disabled?: boolean;\n}\n\nexport const StyledInputWrapper = styled.div<StyledInputWrapperProps>`\n align-items: center;\n background-color: var(--input-background-color);\n border-color: var(--color-theme-500);\n border-radius: 8px;\n border-style: solid;\n border-width: 1px;\n cursor: text;\n display: flex;\n height: 32px;\n padding-block: 4px;\n padding-inline: 4px;\n transition: all 0.3s ease;\n width: 360px;\n\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${(props) =>\n props.$size === \"small\" &&\n css`\n border-radius: 6px;\n height: 24px;\n `}\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n height: 40px;\n `}\n\n ${(props) =>\n props.$disabled &&\n css`\n cursor: default;\n opacity: 50%;\n `}\n\n ${(props) =>\n !props.$disabled &&\n !props.$invalid &&\n css`\n &:focus-within,\n &:hover {\n border-color: var(--color-primary);\n }\n `}\n\n ${(props) =>\n !props.$disabled &&\n props.$invalid &&\n css`\n border-color: var(--red-alert);\n `}\n`;\n\nStyledInputWrapper.displayName = \"StyledInputWrapper\";\n\ninterface StyledInputProps {\n $size?: InputSize;\n $loading?: boolean;\n}\n\nexport const StyledInput = styled.input<StyledInputProps>`\n background-color: var(--input-background-color);\n border: none;\n color: var(--color-theme-900);\n /* @TODO: Prebaciti velicine fontova, weight, razmake, itd... u naše varijable. */\n font-size: 0.875rem;\n font-weight: 400;\n letter-spacing: 0.02em;\n line-height: 1.375;\n margin-block: 0;\n margin-inline: 4px;\n outline: none;\n padding: 0;\n width: 100%;\n\n &::placeholder {\n color: var(--color-theme-transparent-500);\n }\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n font-size: 1rem;\n `}\n\n ${(props) =>\n props.disabled &&\n css`\n cursor: default;\n `}\n ${(props) =>\n props.$loading &&\n css`\n cursor: progress;\n `}\n`;\n\nStyledInput.displayName = \"StyledInput\";\n","import React, { ReactNode, Ref, useCallback, useRef } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledInput, StyledInputWrapper } from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { InputSize } from \"./types\";\nexport interface InputProps {\n /** Velicina inputa koja definse font-size i border radius */\n size?: InputSize;\n invalid?: boolean;\n startAdornment?: ReactNode;\n endAdornment?: ReactNode;\n wrapRef?: Ref<HTMLDivElement>;\n}\n\nexport const Input = React.forwardRef<\n HTMLInputElement,\n InputProps & Omit<React.ComponentPropsWithoutRef<\"input\">, keyof InputProps>\n>(\n (\n {\n className = \"\",\n style,\n type = \"text\",\n disabled = false,\n size = \"regular\",\n invalid = false,\n startAdornment,\n endAdornment,\n wrapRef,\n ...rest\n },\n ref\n ) => {\n const intInputRef = useRef<HTMLInputElement>(null);\n const handleRef = useForkRef(ref, intInputRef);\n\n const handleWrapperClick = useCallback(() => {\n intInputRef.current?.focus();\n }, []);\n\n return (\n <StyledInputWrapper\n $size={size}\n $invalid={invalid}\n $disabled={disabled}\n style={style}\n className={classnames(\"c-input-wrapper\", className)}\n onClick={handleWrapperClick}\n ref={wrapRef}\n >\n {startAdornment}\n <StyledInput\n ref={handleRef}\n type={type}\n $size={size}\n disabled={disabled}\n className=\"c-input\"\n aria-invalid={invalid}\n {...rest}\n />\n {endAdornment}\n </StyledInputWrapper>\n );\n }\n);\n\nInput.displayName = \"Input\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\n\nexport const StyledRadioInput = styled.input`\n display: none;\n`;\n\nStyledRadioInput.displayName = \"StyledRadioInput\";\n\nexport const StyledRadioLabel = styled.label`\n ${tw`tw-inline-flex tw-items-center`}\n`;\n\nStyledRadioLabel.displayName = \"StyledRadioLabel\";\n\nexport interface IStyledRadioButton {\n $isHovered?: boolean;\n $isControlled?: boolean;\n}\n\nexport const StyledRadioButton = styled.div<IStyledRadioButton>`\n ${BoxSizingStyle}\n ${tw`tw-inline-flex tw-items-center`}\n\n height: 16px;\n width: 16px;\n position: relative;\n\n svg {\n cursor: pointer;\n fill: transparent;\n }\n\n circle:first-child {\n transition-duration: 0.2s;\n stroke: var(--color-theme-500);\n }\n\n circle:last-child {\n transition-duration: 0.2s;\n transform-origin: center;\n transform: scale(0);\n fill: var(--color-secondary-500);\n }\n\n input:focus ~ ${StyledRadioLabel} {\n circle:first-child {\n stroke: var(--color-secondary);\n }\n }\n\n input:disabled ~ ${StyledRadioLabel} {\n pointer-events: none;\n opacity: 0.5;\n }\n\n ${(props) =>\n props.$isControlled !== true &&\n css`\n input:hover ~ ${StyledRadioLabel} {\n circle:first-child {\n stroke: var(--color-secondary);\n }\n circle:last-child {\n transform: scale(1);\n }\n }\n `}\n\n ${(props) =>\n props.$isHovered &&\n css`\n ${StyledRadioLabel} {\n circle:first-child {\n stroke: var(--color-secondary);\n }\n circle:last-child {\n transform: scale(1);\n }\n }\n `}\n\n input:checked ~ ${StyledRadioLabel} {\n circle:first-child {\n stroke: var(--color-secondary);\n }\n circle:last-child {\n transform: scale(1);\n fill: var(--color-secondary);\n }\n }\n`;\n\nStyledRadioButton.displayName = \"StyledRadioButton\";\n","import React, { forwardRef, InputHTMLAttributes, Ref } from \"react\";\nimport classnames from \"classnames\";\nimport RadioButtonIcon from \"../Icons/collection/RadioButton\";\nimport {\n StyledRadioButton,\n StyledRadioInput,\n StyledRadioLabel,\n} from \"./Styles\";\n\nexport interface IRadioButtonProps {\n /** Class names */\n className?: string;\n /** Set hover style */\n hover?: boolean;\n /** Id for RadioButton */\n id?: string;\n}\n\nexport const RadioButton = forwardRef(\n (\n {\n className = \"\",\n id = \"radio\",\n hover,\n ...props\n }: InputHTMLAttributes<HTMLInputElement> & IRadioButtonProps,\n ref: Ref<HTMLInputElement> | null | undefined\n ) => {\n return (\n <StyledRadioButton\n className={classnames(\n \"c-radio-btn\",\n {\n \"c-radio-btn__hover\": hover,\n \"c-radio-btn__controlled\": typeof hover === \"boolean\",\n },\n className\n )}\n $isHovered={hover}\n $isControlled={typeof hover === \"boolean\"}\n >\n <StyledRadioInput\n id={id}\n className=\"c-radio-btn--input\"\n type=\"radio\"\n ref={ref}\n {...props}\n />\n <StyledRadioLabel htmlFor={id} className=\"c-radio-btn--label\">\n <RadioButtonIcon width=\"16\" height=\"16\" />\n </StyledRadioLabel>\n </StyledRadioButton>\n );\n }\n);\n\nRadioButton.displayName = \"RadioButton\";\n","import styled from \"styled-components\";\nimport { Input } from \"../Input/Input\";\nimport { Checkbox } from \"../Checkbox\";\nimport { RadioButton } from \"../RadioButton\";\n\nexport const StyledSelectInput = styled(Input)``;\n\nStyledSelectInput.displayName = \"StyledSelectInput\";\n\nexport const StyledSelectForm = styled.form`\n margin: 12px 12px 0 12px;\n display: flex;\n\n ${StyledSelectInput} {\n width: 100%;\n border-radius: 4px;\n }\n\n * {\n margin: auto 0;\n }\n`;\n\nStyledSelectForm.displayName = \"StyledSelectForm\";\n\nexport const StyledCheckbox = styled(Checkbox)`\n margin-left: 12px;\n`;\n\nStyledCheckbox.displayName = \"StyledCheckbox\";\n\nexport const StyledRadioButton = styled(RadioButton)`\n margin-left: 12px;\n`;\n\nStyledRadioButton.displayName = \"StyledRadioButton\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { Body2 } from \"../../Typography\";\n\nexport const StyledOptionContentWrapper = styled.div`\n display: flex;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n align-items: center;\n height: 100%;\n flex-grow: 1;\n`;\n\nStyledOptionContentWrapper.displayName = \"StyledOptionContentWrapper\";\n\nexport const StyledOptionIndicator = styled.div<{ backgroundColor?: string }>`\n height: 24px;\n width: 24px;\n border-radius: 100%;\n margin-right: 8px;\n flex-shrink: 0;\n ${(props) =>\n props.backgroundColor &&\n !props.children &&\n css`\n background-color: ${props.backgroundColor};\n `}\n`;\n\nStyledOptionIndicator.displayName = \"StyledOptionIndicator\";\n\nexport const StyledOptionText = styled(Body2)<{ textColor?: string }>`\n ${tw`tw-truncate`}\n flex-grow: 1;\n line-height: 28px;\n padding-right: 10px;\n ${(props) =>\n props.textColor &&\n css`\n color: ${props.textColor};\n `}\n`;\n\nStyledOptionText.displayName = \"StyledOptionText\";\n\nexport const StyledAdditionalInfo = styled.span`\n margin: 0 0 0 5px;\n line-height: 18px;\n flex-shrink: 0;\n`;\n\nStyledAdditionalInfo.displayName = \"StyledAdditionalInfo\";\n","import styled, { css } from \"styled-components\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\n\nconst StyledMultiAvatarImg = css`\n width: inherit;\n height: inherit;\n`;\n\nexport const StyledMultiAvatarInner = styled.div`\n overflow: hidden;\n position: absolute;\n display: inline-flex;\n`;\n\nexport const StyledMultiAvatar = styled.div<{ $urlCount: number }>`\n ${BoxSizingStyle}\n\n border-radius: 100%;\n position: relative;\n overflow: hidden;\n\n ${(props) =>\n props.$urlCount === 2 &&\n css`\n ${StyledMultiAvatarInner}:first-child {\n left: 0;\n img {\n transform: translateX(-20%);\n }\n }\n ${StyledMultiAvatarInner}:last-child {\n right: 0;\n img {\n transform: translateX(-20%);\n }\n }\n `}\n\n ${(props) =>\n props.$urlCount === 3 &&\n css`\n ${StyledMultiAvatarInner}:nth-child(1) {\n left: 0;\n img {\n transform: translateX(-20%);\n }\n }\n ${StyledMultiAvatarInner}:nth-child(2) {\n right: 0;\n top: 0;\n\n img {\n ${StyledMultiAvatarImg}\n }\n }\n ${StyledMultiAvatarInner}:nth-child(3) {\n right: 0;\n bottom: 0;\n\n img {\n ${StyledMultiAvatarImg}\n }\n }\n `}\n\n ${(props) =>\n props.$urlCount > 3 &&\n css`\n img {\n ${StyledMultiAvatarImg}\n }\n ${StyledMultiAvatarInner}:nth-child(1) {\n left: 0;\n }\n ${StyledMultiAvatarInner}:nth-child(2) {\n left: 0;\n bottom: 0;\n }\n ${StyledMultiAvatarInner}:nth-child(3) {\n right: 0;\n top: 0;\n }\n ${StyledMultiAvatarInner}:nth-child(4) {\n right: 0;\n bottom: 0;\n }\n `}\n`;\n\nStyledMultiAvatar.displayName = \"StyledMultiAvatar\";\nStyledMultiAvatarInner.displayName = \"StyledMultiAvatarInner\";\n","import React, { PropsWithChildren, useCallback, useMemo } from \"react\";\nimport { StyledMultiAvatar, StyledMultiAvatarInner } from \"./Styles\";\n\nexport interface MultiAvatarProps {\n /** Path url. */\n url: string[];\n /** Alt text. */\n alt?: string[];\n /** Image size. */\n size?: number;\n /** Custom class. */\n className?: string;\n}\n\n/**\n * @component MultiAvatar\n * @description\n * The MultiAvatar component is used to represent user, and displays the profile picture, initials or fallback icon.\n *\n * @prop {url} - The image urls of the MultiAvatar.\n * @prop {size} - controls the size of an MultiAvatar (width and height) in pixels.\n * @prop {alt} - alt attributes of the imgs.\n *\n * @example\n * <MultiAvatar\n * url={[\"https://faces-img.xcdn.link/image-lorem-face-954.jpg\", \"https://faces-img.xcdn.link/image-lorem-face-953.jpg\"]}\n * alt={[\"Profile picture of John\", \"Profile picture of Sarah\"]} />\n *\n * @example\n * <MultiAvatar\n * url={[\"https://faces-img.xcdn.link/image-lorem-face-954.jpg\", \"https://faces-img.xcdn.link/image-lorem-face-953.jpg\"]}\n * alt={[\"Profile picture of John\", \"Profile picture of Sarah\"]}\n * >\n * <Badge />\n * </MultiAvatar>\n *\n * @see\n * https://system.activecollab.com/?path=/story/components-button-indicators-avatar--avatar\n * @see\n * https://design.activecollab.com/docs/components/avatar\n */\nexport const MultiAvatar = ({\n url,\n alt,\n size = 24,\n className,\n children,\n}: PropsWithChildren<MultiAvatarProps>) => {\n const setSize = useCallback(\n (i: number): object => {\n switch (url.length) {\n case 1:\n return { width: `${size}px`, height: `${size}px` };\n case 2:\n return { width: `${size / 2}px`, height: `${size}px` };\n case 3:\n if (i === 0) {\n return { width: `${size / 2}px`, height: `${size}px` };\n } else {\n return { width: `${size / 2}px`, height: `${size / 2}px` };\n }\n default:\n return { width: `${size / 2}px`, height: `${size / 2}px` };\n }\n },\n [size, url.length]\n );\n\n const slicedUrl = useMemo(() => {\n if (url?.length > 4) {\n return url.slice(0, 4);\n }\n\n return url;\n }, [url]);\n\n return (\n <span className=\"tw-relative tw-inline-flex\">\n <StyledMultiAvatar\n style={{ width: `${size}px`, height: `${size}px` }}\n className={className}\n $urlCount={url.length}\n >\n {slicedUrl.map((v, i) => (\n <StyledMultiAvatarInner\n style={setSize(i)}\n className=\"c-multi-avatar__wrapper\"\n key={`avatar_${i}`}\n >\n <img\n src={v}\n alt={alt && alt[i] ? alt[i] : `avatar_${i}`}\n width={size}\n height={size}\n />\n </StyledMultiAvatarInner>\n ))}\n </StyledMultiAvatar>\n {children}\n </span>\n );\n};\n\nMultiAvatar.displayName = \"MultiAvatar\";\n","import React, { FC } from \"react\";\nimport { Avatar } from \"../../Avatar/Avatar\";\nimport {\n StyledOptionIndicator,\n StyledOptionText,\n StyledAdditionalInfo,\n StyledOptionContentWrapper,\n} from \"./Styles\";\nimport { MultiAvatar } from \"../../MultiAvatar\";\n\ninterface OptionContentProps {\n imageUrl?: string | string[];\n color?: string;\n textColor?: string;\n name: string;\n additionalInfo?: string;\n}\n\nexport const OptionContent: FC<OptionContentProps> = ({\n imageUrl,\n color,\n textColor,\n name,\n additionalInfo,\n}) => {\n return (\n <StyledOptionContentWrapper>\n {imageUrl || color ? (\n <StyledOptionIndicator\n className=\"c-option--label\"\n backgroundColor={color}\n >\n {imageUrl ? (\n <>\n {Array.isArray(imageUrl) ? (\n <MultiAvatar\n className=\"c-option--multi-avatar\"\n url={imageUrl}\n />\n ) : (\n <Avatar className=\"c-option--avatar\" url={imageUrl} />\n )}\n </>\n ) : null}\n </StyledOptionIndicator>\n ) : null}\n <StyledOptionText className=\"c-option--text\" textColor={textColor}>\n {name}\n </StyledOptionText>\n {additionalInfo ? (\n <StyledAdditionalInfo>{additionalInfo}</StyledAdditionalInfo>\n ) : null}\n </StyledOptionContentWrapper>\n );\n};\n\nOptionContent.displayName = \"OptionContent\";\n","import React, {\n FC,\n useCallback,\n useState,\n ReactElement,\n useMemo,\n useEffect,\n useRef,\n Ref,\n} from \"react\";\nimport { Autocomplete, isOptionGroup } from \"../Autocomplete\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\nimport classNames from \"classnames\";\nimport { Placement } from \"@popperjs/core\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n} from \"./Styles\";\nimport { OptionContent } from \"./OptionContent/OptionContent\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport interface ISelectProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"handleEmptyAction\" | \"clearInputOnSelect\"\n > {\n /** Menu width mode */\n mode?: \"normal\" | \"wider\" | \"tiny\";\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Set Select position */\n position?: Placement;\n /** onChange callback */\n onChange?: (e: (string | number)[] | string | number) => void;\n /** Set action icon in select */\n actionIcon?: ReactElement;\n /** Set label for action icon */\n actionLabel?: string;\n /** Placeholder for Select input */\n placeholder?: string;\n /** Function that triggers when empty is clicked */\n emptyAction?: (e: string | undefined) => void;\n /** Removes input from Select */\n disableSearch?: boolean;\n /** Close menu on select */\n forceCloseMenu?: boolean;\n /** Set select classNames */\n selectClassName?: string;\n /** Callback called when the Select menu is opened */\n onSelectOpen?: () => void;\n /** Callback called when the Select menu is closed */\n onSelectClose?: () => void;\n}\n\nexport const Select: FC<ISelectProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n position = \"bottom-start\",\n onChange = () => null,\n actionIcon,\n actionLabel,\n placeholder,\n emptyAction = (): null => null,\n disableSearch = false,\n forceCloseMenu,\n selectClassName,\n keepSameOptionsOrder = false,\n onSelectOpen,\n onSelectClose,\n renderOption,\n handleDefaultOptionChange,\n preselectDefaultValue = type === \"single\",\n ...prop\n}) => {\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n\n const handleRef = useForkRef(childNode, elementRef);\n\n const Tag = !target ? \"div\" : Menu;\n const formRef = useRef<HTMLFormElement | null>(null);\n\n const [open, setOpen] = useState(false);\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const selectOptions = useMemo(() => {\n if (!options) {\n return [];\n }\n return options;\n }, [options]);\n\n const allOptionValues = useMemo(() => {\n return selectOptions.reduce(\n (\n acc: (string | number)[],\n option: IOptionGroupProps | IOptionItemProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option.id];\n }\n const allGroupOptions = option.options.map((option) => option.id);\n return [...acc, ...allGroupOptions];\n },\n []\n );\n }, [selectOptions]);\n\n const isAllOptionsChecked = useMemo(\n () => allOptionValues.every((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n useEffect(() => {\n open && childNode?.current?.focus();\n }, [childNode, open]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (forceCloseMenu) {\n if (typeof onSelectClose === \"function\") onSelectClose();\n setOpen(false);\n }\n if (selectedValue !== selected) {\n onChange(selectedValue);\n }\n },\n [forceCloseMenu, selected, onSelectClose, onChange]\n );\n\n const onClose = useCallback(() => {\n setOpen(false);\n if (onSelectClose) {\n onSelectClose();\n }\n }, [onSelectClose]);\n\n const onOpen = useCallback(() => {\n setOpen(true);\n if (onSelectOpen) {\n onSelectOpen();\n }\n }, [onSelectOpen]);\n\n const props = useMemo(() => {\n if (target) {\n return {\n menuClassName: classNames(\"c-select\", selectClassName),\n onClose,\n onOpen,\n target,\n mode,\n open,\n position,\n };\n }\n return { className: classNames(\"c-select\", selectClassName) };\n }, [target, selectClassName, onClose, onOpen, mode, open, position]);\n\n const handleEmptyAction = useCallback(\n (value) => {\n emptyAction(value);\n if (forceCloseMenu) {\n setOpen(false);\n }\n formRef.current?.reset();\n },\n [emptyAction, forceCloseMenu]\n );\n\n const handleDefaultOptionChangeCallback = useCallback(() => {\n if (type === \"multiple\") {\n if (selectedOptions.length === allOptionValues.length) {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange([]);\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(allOptionValues);\n }\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(\"\");\n }\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n }, [\n onChange,\n type,\n forceCloseMenu,\n selectedOptions.length,\n allOptionValues,\n handleDefaultOptionChange,\n ]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n additionalInfo={option.additionalInfo}\n />\n {option.id === null ? (\n type === \"multiple\" ? (\n <StyledCheckbox checked={isAllOptionsChecked} {...props} />\n ) : (\n <StyledRadioButton\n checked={selectedOptions.length < 1 || !selectedOptions[0]}\n {...props}\n />\n )\n ) : type === \"multiple\" ? (\n <StyledCheckbox {...props} />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [isAllOptionsChecked, renderOption, selectedOptions, type]\n );\n\n return (\n <Tag {...props}>\n <div>\n {!disableSearch ? (\n <StyledSelectForm ref={formRef}>\n <StyledSelectInput\n ref={handleRef}\n autoFocus\n placeholder={placeholder}\n />\n {actionIcon && actionLabel && (\n <Tooltip\n popperTooltipStyle={{ zIndex: 1301 }}\n title={actionLabel}\n >\n <div>{actionIcon}</div>\n </Tooltip>\n )}\n {actionIcon && !actionLabel && actionIcon}\n </StyledSelectForm>\n ) : null}\n <Autocomplete\n {...prop}\n clearInputOnSelect\n inputEl={childNode}\n handleEmptyAction={handleEmptyAction}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n handleDefaultOptionChange={handleDefaultOptionChangeCallback}\n type={type}\n preselectDefaultValue={preselectDefaultValue}\n keepSameOptionsOrder={keepSameOptionsOrder}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { NavAlignType, NavRoleType } from \"./Nav\";\n\ninterface StyledNavProps {\n $align?: NavAlignType;\n $role?: NavRoleType;\n}\n\nexport const StyledNav = styled.nav<StyledNavProps>`\n ${tw`tw-flex`}\n height: 100%;\n overflow: clip visible;\n\n ${(props) =>\n props.$align === \"left\" &&\n css`\n ${tw`tw-justify-start`}\n `}\n\n ${(props) =>\n props.$align === \"center\" &&\n css`\n ${tw`tw-justify-center`}\n `}\n\n ${(props) =>\n props.$align === \"right\" &&\n css`\n ${tw`tw-justify-end`}\n `}\n\n ${(props) =>\n props.$role === \"light\" &&\n css`\n height: auto;\n `}\n`;\n\nStyledNav.displayName = \"StyledNav\";\n\nexport const StyledNavList = styled.ul`\n ${tw`tw-flex tw-list-none tw-m-0 tw-p-0`}\n overflow: clip visible;\n`;\n\nStyledNavList.displayName = \"StyledNavList\";\n\ninterface StyledNavListItemProps {\n $active?: boolean;\n $disabled?: boolean;\n $role?: NavRoleType;\n $asMore?: boolean;\n}\n\nexport const StyledNavListItem = styled.li<StyledNavListItemProps>`\n ${tw`tw-text-sm tw-cursor-default tw-relative tw-select-none`}\n color: var(--color-theme-700);\n font-size: 15px;\n display: flex;\n align-items: center;\n font-weight: 500;\n padding: 0 10px;\n flex-shrink: 0;\n\n &:hover,\n &:hover * {\n ${(props) =>\n !props.$disabled &&\n css`\n ${tw`tw-text-primary`}\n `}\n }\n\n ${(props) =>\n !props.$active &&\n !props.$disabled &&\n css`\n ${tw`tw-cursor-pointer`}\n `}\n\n &::after {\n content: \"\";\n ${tw`tw-absolute tw-block tw-m-auto tw-w-0 tw-bg-transparent`}\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n height: 3px;\n transition: width 0.3s ease, background-color 0.3s ease;\n }\n\n ${(props) =>\n props.$active &&\n css`\n ${tw`tw-pointer-events-none`}\n &::after {\n ${tw`tw-w-full tw-bg-primary`}\n }\n `}\n\n ${(props) =>\n props.$disabled &&\n css`\n ${tw`tw-select-none tw-cursor-not-allowed tw-opacity-50`}\n `}\n\n ${(props) =>\n props.$role === \"light\" &&\n css`\n ${tw`tw-text-sm`}\n color: var(--color-theme-800);\n font-weight: 400;\n padding: 0 8px;\n\n &::after {\n bottom: -4px;\n height: 2px;\n }\n `}\n\n ${(props) =>\n props.$active &&\n css`\n ${tw`tw-text-primary`}\n & * {\n ${tw`tw-text-primary`}\n }\n `}\n`;\n\nStyledNavListItem.displayName = \"StyledNavListItem\";\n\nexport const StyledNavAsSelect = styled.div`\n padding: 0 10px;\n height: 100%;\n display: flex;\n align-items: center;\n\n svg {\n color: var(--color-primary);\n }\n`;\n\nStyledNavAsSelect.displayName = \"StyledNavAsSelect\";\n\nexport const StyledNavAsMoreTarget = styled.div<{\n $role?: NavRoleType;\n}>`\n padding: 0 10px;\n height: 100%;\n display: flex;\n align-items: center;\n\n ${(props) =>\n props.$role === \"light\" &&\n css`\n padding: 0;\n `}\n`;\n\nStyledNavAsMoreTarget.displayName = \"StyledNavAsMoreTarget\";\n","import classNames from \"classnames\";\nimport React, { ReactChild } from \"react\";\nimport { NavRoleType } from \"../Nav\";\nimport { StyledNavListItem } from \"../Styles\";\n\nexport interface ItemProps {\n /** Classname prop for custom styling. */\n children: ReactChild | string;\n /** Active state(underline). */\n active?: boolean;\n /** Disabled state. */\n disabled?: boolean;\n className?: string;\n name: string;\n role?: NavRoleType;\n}\n\nexport const Item = React.forwardRef<\n HTMLLIElement,\n ItemProps & React.ComponentPropsWithoutRef<\"li\">\n>(\n (\n { children, active = false, disabled = false, className, role, ...rest },\n ref\n ) => {\n return (\n <StyledNavListItem\n className={classNames(\n `c-nav__item`,\n {\n \"c-nav__item--active\": active,\n },\n className\n )}\n ref={ref}\n {...rest}\n $active={active}\n $disabled={disabled}\n $role={role}\n >\n {children}\n </StyledNavListItem>\n );\n }\n);\n\nItem.displayName = \"Item\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { Item } from \"./Item\";\n\nexport const StyledNavListItemMore = styled(Item)`\n ${(props) =>\n props.role !== \"light\" &&\n css`\n padding: 0;\n `}\n cursor: pointer;\n ${tw`tw-pointer-events-auto`}\n`;\n\nStyledNavListItemMore.displayName = \"StyledNavListItemMore\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nexport const StyledExpand = styled.svg`\n ${tw`tw-fill-current tw-w-6 tw-h-6`}\n`;\n\nStyledExpand.displayName = \"StyledExpand\";\n\nexport const StyledExpandSingle = styled(StyledExpand)<{ $expanded?: boolean }>`\n ${(props) =>\n !props.$expanded &&\n css`\n transform: rotate(180deg);\n `}\n`;\n\nStyledExpandSingle.displayName = \"StyledExpandSingle\";\n","import React, { forwardRef } from \"react\";\nimport { IExpander } from \"./ExpanderInterface\";\nimport { StyledExpandSingle } from \"./Styles\";\n\nexport const ExpandSingle = forwardRef<\n SVGSVGElement,\n IExpander & React.ComponentPropsWithoutRef<\"svg\">\n>(({ expanded = false, ...rest }, ref) => {\n return (\n <StyledExpandSingle\n ref={ref}\n viewBox=\"0 0 24 24\"\n $expanded={expanded}\n {...rest}\n >\n <path\n d=\"M15.372 14.736a.993.993 0 001.349 0 .867.867 0 000-1.275L12 9l-4.72 4.461a.867.867 0 000 1.275.993.993 0 001.348 0L12 11.549l3.372 3.187z\"\n fillRule=\"nonzero\"\n />\n </StyledExpandSingle>\n );\n});\n\nExpandSingle.displayName = \"ExpandSingle\";\n","import React, {\n ReactElement,\n FC,\n ReactNode,\n useState,\n useRef,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n Children,\n cloneElement,\n} from \"react\";\nimport classNames from \"classnames\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport debounce from \"lodash.debounce\";\nimport { ISyntheticEvent } from \"../../types\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { Select } from \"../Select/Select\";\nimport {\n StyledNav,\n StyledNavAsMoreTarget,\n StyledNavAsSelect,\n StyledNavList,\n} from \"./Styles\";\nimport { StyledNavListItemMore } from \"./Item/Styles\";\nimport { ItemProps } from \"./Item/Item\";\nimport { ExpandSingle } from \"../Expanders/ExpandSingle\";\n\ntype NavType = \"inline\" | \"dropdown\";\nexport type NavAlignType = \"left\" | \"center\" | \"right\";\nexport type NavRoleType = \"bold\" | \"light\";\n\nexport interface INavProps {\n children: ReactElement<ItemProps>[];\n /** Function for changing active navs. */\n onSelect?: (index: number) => void;\n /** Function triggered when option in More... is selected */\n onMoreOptionSelect?: (index: number) => void;\n /** Aligment of nav component. */\n alignment?: NavAlignType;\n /** CSS classes. */\n className?: string;\n /** Role of nav component. */\n role?: NavRoleType;\n /** Label for More... item */\n moreLabel?: string;\n /** Nav type */\n type?: NavType;\n}\n\nexport const Nav: FC<INavProps> = ({\n children,\n alignment = \"left\",\n onSelect,\n onMoreOptionSelect,\n className,\n role = \"bold\",\n moreLabel,\n type = \"inline\",\n}) => {\n const [active, setActive] = useState(0);\n const [visibleTabIndexes, setVisibleTabIndexes] = useState<number[]>([]);\n const [measuringRender, setMeasuringRender] = useState(false);\n const [moreVisible, setMoreVisible] = useState(false);\n const [renderNavAsSelect, setRenderNavAsSelect] = useState(false);\n const [options, setOptions] = useState<IOptionItemProps[]>([]);\n const [moreOpened, setMoreOpened] = useState(false);\n const [isMounted, setIsMounted] = useState(false);\n\n const navItemNames = useMemo(\n () => children.map((item) => item.props.name),\n [children]\n );\n\n const allOptions = useMemo(() => {\n return navItemNames.map((name, index) => {\n return { id: index, name: name };\n });\n }, [navItemNames]);\n\n // REFS\n const navRef = useRef<HTMLUListElement | null>(null);\n const navItemsRefs = useRef<\n { index: number; element: HTMLLIElement } | Record<string, unknown>\n >({});\n const moreItemRef = useRef<HTMLLIElement | null>(null);\n\n const onClick = useCallback(\n (e: ISyntheticEvent) => {\n if (\n e.target &&\n e.currentTarget.dataset.index &&\n !e.currentTarget.dataset.disabled\n ) {\n const index = Number(e.currentTarget.dataset.index);\n setActive(index);\n if (onSelect) {\n onSelect(index);\n }\n setMeasuringRender(true);\n }\n },\n [onSelect]\n );\n\n useMemo(() => {\n Children.forEach(\n children as ReactElement[],\n (child: ReactElement, index) => {\n if (child && child.props.active) {\n setActive(index);\n }\n }\n );\n }, [children]);\n\n useLayoutEffect(() => {\n if (type === \"inline\" && measuringRender && isMounted) {\n const containerWidth = navRef.current?.offsetWidth || 0;\n const itemsWidth = Object.values(navItemsRefs.current).reduce(\n (acc: number, item) => {\n const itemEl = item as HTMLLIElement;\n return acc + (itemEl ? itemEl.offsetWidth : 0);\n },\n 0\n );\n\n // all tabs are visible\n if (containerWidth >= itemsWidth) {\n setVisibleTabIndexes(Array.from(navItemNames.keys()));\n setMoreVisible(false);\n setRenderNavAsSelect(false);\n return setMeasuringRender(false);\n }\n\n setMoreVisible(true);\n\n if (moreVisible) {\n const moreItemWidth = moreItemRef.current?.offsetWidth || 0;\n const firstItemWidth = navItemsRefs.current[0].offsetWidth;\n\n // collapse Nav to Select, there is no enough room\n if (containerWidth < moreItemWidth + firstItemWidth) {\n setVisibleTabIndexes([]);\n const options = navItemNames.map((name, index) => {\n return { id: index, name: name };\n });\n setOptions(options);\n setRenderNavAsSelect(true);\n setMoreVisible(false);\n return setMeasuringRender(false);\n }\n\n // item(s) + More...\n const visible: number[] = [];\n let allWidth = 0;\n Object.values(navItemsRefs.current).forEach((item, index) => {\n const liItem = item as HTMLLIElement;\n allWidth += liItem.offsetWidth;\n if (moreItemWidth + allWidth <= containerWidth) {\n visible.push(index);\n }\n });\n setVisibleTabIndexes(visible);\n const options = navItemNames\n .map((name, index) => {\n return { id: index, name: name };\n })\n .filter((item) => !visible.includes(item.id));\n setOptions(options);\n setRenderNavAsSelect(false);\n setMeasuringRender(false);\n }\n }\n }, [\n children,\n isMounted,\n measuringRender,\n moreVisible,\n navItemNames,\n type,\n visibleTabIndexes,\n ]);\n\n useEffect(() => {\n if (type === \"inline\") {\n const handleResize = debounce((): void => {\n setMeasuringRender(true);\n }, 300);\n window.addEventListener(\"resize\", handleResize);\n return (): void => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }\n }, [type]);\n\n // we are using observer to solve the problem of the initial rendering\n useEffect(() => {\n if (type === \"inline\" && navRef.current) {\n const resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n const { contentRect } = entry;\n const { width = 0 } = contentRect;\n if (width > 0) {\n setMeasuringRender(true);\n }\n }\n });\n\n resizeObserver.observe(navRef.current);\n\n setTimeout(() => {\n if (navRef.current) {\n resizeObserver.unobserve(navRef.current);\n }\n }, 2000);\n\n return (): void => {\n resizeObserver.disconnect();\n };\n }\n }, [type]);\n\n useEffect(() => {\n setMeasuringRender(true);\n setIsMounted(true);\n }, []);\n\n const visibleTabs = useMemo(() => {\n const tabs = Children.toArray(children);\n if (measuringRender || !isMounted) {\n return tabs;\n } else {\n return tabs.filter((child, index) => {\n return visibleTabIndexes.includes(index);\n });\n }\n }, [children, isMounted, measuringRender, visibleTabIndexes]);\n\n const onMoreOptionClick = useCallback(\n (id) => {\n setActive(id);\n if (onMoreOptionSelect) {\n onMoreOptionSelect(id);\n }\n setMeasuringRender(true);\n },\n [onMoreOptionSelect]\n );\n\n const navAsSelect = useMemo(() => {\n return (\n <StyledNavAsSelect>\n <span>{navItemNames[active]}</span>\n <ExpandSingle expanded={moreOpened} fill=\"currentColor\" />\n </StyledNavAsSelect>\n );\n }, [active, moreOpened, navItemNames]);\n\n const setMoreOpen = useCallback(() => setMoreOpened(true), []);\n const setMoreClose = useCallback(() => setMoreOpened(false), []);\n\n return (\n <StyledNav\n className={classNames(\"c-nav\", className)}\n $align={alignment}\n $role={role}\n >\n <StyledNavList ref={navRef}>\n {type === \"inline\" &&\n visibleTabs.map((child: ReactNode, index: number) => {\n const element = child as ReactElement;\n return cloneElement(element, {\n active: index === active,\n role,\n ref: (el) => {\n navItemsRefs.current[index] = el;\n },\n onClick,\n \"data-index\": index,\n \"data-disabled\": element.props.disabled,\n });\n })}\n {type === \"inline\" && moreVisible ? (\n <StyledNavListItemMore\n ref={moreItemRef}\n name=\"More\"\n active={visibleTabIndexes.indexOf(active) === -1}\n role={role}\n >\n <Select\n selected={active}\n target={\n <StyledNavAsMoreTarget $role={role}>\n {moreLabel}\n </StyledNavAsMoreTarget>\n }\n disabledInternalSort\n onChange={onMoreOptionClick}\n options={options}\n type=\"single\"\n mode=\"normal\"\n forceCloseMenu\n disableSearch\n keepSameOptionsOrder\n onSelectOpen={setMoreOpen}\n onSelectClose={setMoreClose}\n />\n </StyledNavListItemMore>\n ) : null}\n {type === \"dropdown\" || renderNavAsSelect ? (\n <StyledNavListItemMore\n name=\"More\"\n active={visibleTabIndexes.indexOf(active) === -1}\n role={role}\n >\n <Select\n selected={active}\n target={navAsSelect}\n disabledInternalSort\n onChange={onMoreOptionClick}\n options={allOptions}\n type=\"single\"\n mode=\"normal\"\n forceCloseMenu\n disableSearch\n keepSameOptionsOrder\n onSelectOpen={setMoreOpen}\n onSelectClose={setMoreClose}\n />\n </StyledNavListItemMore>\n ) : null}\n </StyledNavList>\n </StyledNav>\n );\n};\n\nNav.displayName = \"Nav\";\n","import React from \"react\";\nimport styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport {\n PolymorphicComponentPropsWithRef,\n PolymorphicRef,\n} from \"../../utils/types\";\n\ninterface BaseInputAdornmentProps {\n disablePointerEvents?: boolean;\n}\n\nconst InputAdornmentBase = styled.div<{ $disablePointerEvents?: boolean }>`\n ${tw`tw-flex`}\n ${tw`tw-items-center`}\n\n ${(props) =>\n props.$disablePointerEvents &&\n css`\n ${tw`tw-pointer-events-none`}\n `}\n`;\n\nexport type InputAdornmentProps<C extends React.ElementType> =\n PolymorphicComponentPropsWithRef<C, BaseInputAdornmentProps>;\n\nexport type InputAdornmentComponent = <C extends React.ElementType = \"div\">(\n props: InputAdornmentProps<C>\n) => React.ReactElement | null;\n\nexport const InputAdornment: InputAdornmentComponent & {\n displayName?: string;\n} = React.forwardRef(\n <C extends React.ElementType = \"div\">(\n { children, as, disablePointerEvents, ...rest }: InputAdornmentProps<C>,\n ref: PolymorphicRef<C>\n ) => {\n const Component = as || \"div\";\n return (\n <InputAdornmentBase\n {...rest}\n as={Component}\n $disablePointerEvents={disablePointerEvents}\n ref={ref}\n >\n {children}\n </InputAdornmentBase>\n );\n }\n);\n\nInputAdornment.displayName = \"InputAdornment\";\n","import React, { forwardRef } from \"react\";\nimport { IExpander } from \"./ExpanderInterface\";\nimport { StyledExpand } from \"./Styles\";\n\nexport const ExpandAll = forwardRef<\n SVGSVGElement,\n IExpander & React.ComponentPropsWithoutRef<\"svg\">\n>(({ expanded = false, ...rest }, ref) => {\n return (\n <StyledExpand ref={ref} viewBox=\"0 0 24 24\" {...rest}>\n {expanded ? (\n <path d=\"M13 16l4.72 4.461a.867.867 0 010 1.275.993.993 0 01-1.348 0L13 18.549l-3.372 3.187a.993.993 0 01-1.349 0 .867.867 0 010-1.275L13 16zm4.72-11.736a.867.867 0 010 1.275L13 10 8.28 5.539a.867.867 0 010-1.275.993.993 0 011.348 0L13 7.451l3.372-3.187a.993.993 0 011.349 0zM13 15a2 2 0 100-4 2 2 0 000 4z\" />\n ) : (\n <path d=\"M17.72 16.264a.867.867 0 010 1.275L13 22l-4.72-4.461a.867.867 0 010-1.275.993.993 0 011.348 0L13 19.451l3.372-3.187a.993.993 0 011.349 0zM13 4l4.72 4.461a.867.867 0 010 1.275.993.993 0 01-1.348 0L13 6.549 9.628 9.736a.993.993 0 01-1.349 0 .867.867 0 010-1.275L13 4zm0 11a2 2 0 100-4 2 2 0 000 4z\" />\n )}\n </StyledExpand>\n );\n});\n\nExpandAll.displayName = \"ExpandAll\";\n","import styled from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { FontStyle } from \"../FontStyle\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport ArrowLeftIcon from \"../Icons/collection/ArrowLeft\";\nimport TreeDotsIcon from \"../Icons/collection/TreeDots\";\n\nexport const StyledMenuSelectorDots = styled(TreeDotsIcon)`\n ${tw`tw-cursor-pointer tw-flex-shrink-0 tw-ml-2`}\n`;\n\nStyledMenuSelectorDots.displayName = \"StyledMenuSelectorDots\";\n\nexport const StyledMenuSelectorBack = styled(ArrowLeftIcon)`\n ${tw`tw-cursor-pointer tw-stroke-current tw-flex-shrink-0 tw-mr-2`}\n`;\n\nStyledMenuSelectorBack.displayName = \"StyledMenuSelectorBack\";\n\nexport const StyledMenuSelector = styled.div`\n ${BoxSizingStyle}\n ${FontStyle}\n\n color: var(--color-theme-700);\n`;\n\nStyledMenuSelector.displayName = \"StyledMenuSelector\";\n\nexport const StyledMenuSelectorInner = styled.div`\n ${tw`tw-flex tw-items-center tw-m-4`}\n`;\n\nStyledMenuSelectorInner.displayName = \"StyledMenuSelectorInner\";\n","import React, { FC, FocusEvent, useCallback, ChangeEvent } from \"react\";\nimport classNames from \"classnames\";\nimport { Input } from \"../Input\";\nimport {\n StyledMenuSelector,\n StyledMenuSelectorBack,\n StyledMenuSelectorDots,\n StyledMenuSelectorInner,\n} from \"./Styles\";\n\ninterface IMenuSelector {\n /** Initial value on mount */\n defaultValue?: string;\n /** Input placeholder */\n placeholder?: string;\n /** Execute callback when input has been changed */\n onChange?: (value: string) => void;\n /** Execute callback when click on back button */\n onBack?: () => void;\n /** Execute callback when click on edit button */\n onEdit?: () => void;\n /** Auto focus on mount */\n autoFocus?: boolean;\n /** Applies passed classes */\n className?: string;\n /** Input focus event callback */\n onFocus?: (e: FocusEvent<HTMLInputElement>) => void;\n /** Input focus event callback */\n onBlur?: (e: FocusEvent<HTMLInputElement>) => void;\n /** Set auto complete option on/off */\n autoComplete?: boolean;\n}\n\nexport const MenuSelector: FC<IMenuSelector> = ({\n defaultValue,\n children,\n placeholder,\n onChange,\n onBack,\n onEdit,\n autoFocus = false,\n className,\n onFocus,\n onBlur,\n autoComplete = false,\n}) => {\n const handleChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n if (typeof onChange === \"function\") {\n onChange(e.target.value);\n }\n },\n [onChange]\n );\n\n return (\n <StyledMenuSelector className={classNames(\"c-menu-selector\", className)}>\n <StyledMenuSelectorInner>\n {typeof onBack === \"function\" ? (\n <StyledMenuSelectorBack onClick={onBack} width=\"16px\" height=\"16px\" />\n ) : null}\n <Input\n onChange={handleChange}\n placeholder={placeholder}\n autoFocus={autoFocus}\n defaultValue={defaultValue}\n onFocus={onFocus}\n onBlur={onBlur}\n autoComplete={autoComplete ? \"on\" : \"off\"}\n />\n {typeof onEdit === \"function\" ? (\n <StyledMenuSelectorDots onClick={onEdit} />\n ) : null}\n </StyledMenuSelectorInner>\n {children}\n </StyledMenuSelector>\n );\n};\n\nMenuSelector.displayName = \"MenuSelector\";\n","import styled, { css } from \"styled-components\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\nimport tw from \"twin.macro\";\n\ninterface StyledTextareaProps {\n disabled: boolean;\n $invalid: boolean;\n}\n\nexport const StyledTextarea = styled.textarea<StyledTextareaProps>`\n ${tw`tw-text-body-2`}\n ${tw`tw-text-theme-900`}\n ${tw`tw-leading-regular`}\n ${tw`tw-tracking-regular`}\n ${tw`tw-font-regular`}\n border-width: 1px;\n border-style: solid;\n ${tw`tw-border-theme-500`}\n border-radius: 8px;\n padding: 4px 8px 6px 8px;\n height: auto;\n background-color: var(--input-background-color);\n transition: all 0.3s ease;\n width: 360px;\n min-height: 90px;\n outline: none;\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${(props) =>\n props.disabled &&\n css`\n ${tw`tw-cursor-not-allowed tw-opacity-50`}\n `}\n\n ${(props) =>\n !props.disabled &&\n !props.$invalid &&\n css`\n &:active,\n &:focus,\n &:hover {\n ${tw`tw-border-primary`}\n }\n `}\n\n &::placeholder {\n ${tw`tw-text-theme-transparent-500`}\n }\n\n ${(props) =>\n !props.disabled &&\n props.$invalid &&\n css`\n ${tw`tw-border-alert`}\n `}\n`;\n\nStyledTextarea.displayName = \"StyledTextarea\";\n","import React, { forwardRef, Ref } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledTextarea } from \"./Styles\";\n\nexport interface TextareaProps {\n invalid?: boolean;\n}\n\nexport const Textarea = forwardRef(\n (\n {\n className,\n disabled = false,\n invalid = false,\n ...rest\n }: TextareaProps &\n Omit<React.ComponentPropsWithoutRef<\"textarea\">, keyof TextareaProps>,\n ref: Ref<HTMLTextAreaElement> | null | undefined\n ) => {\n return (\n <StyledTextarea\n {...rest}\n $invalid={invalid}\n ref={ref}\n disabled={disabled}\n className={classnames(\n \"c-textarea\",\n { \"c-textarea__disabled\": disabled },\n className\n )}\n />\n );\n }\n);\n\nTextarea.displayName = \"Textarea\";\n","export type ChainedFunction = ((...args: unknown[]) => void) | undefined | null;\n\nexport default function createChainedFunction(\n ...functions: ChainedFunction[]\n): ChainedFunction {\n return functions.reduce(\n (acc, func) => {\n if (func === null) {\n return acc;\n }\n\n return function chainedFunction(this: void, ...args): void {\n acc && acc.apply(this, args);\n func && func.apply(this, args);\n };\n },\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n () => {}\n );\n}\n","import React, {\n forwardRef,\n HTMLAttributes,\n useRef,\n cloneElement,\n useMemo,\n useCallback,\n ReactElement,\n useState,\n useEffect,\n MouseEvent,\n} from \"react\";\nimport { Window } from \"../Window\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport createChainedFunction from \"../../utils/createChainedFunction\";\nimport { Overlay } from \"../Overlay\";\n\nexport interface IModal {\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n open?: boolean;\n disableBackgroundClick?: boolean;\n disableCloseOnEsc?: boolean;\n disableBackgroundColor?: boolean;\n onClose?: () => void;\n children: ReactElement;\n}\n\nconst getHasTransition = (children): boolean => {\n return children.props\n ? Object.prototype.hasOwnProperty.call(children.props, \"in\")\n : false;\n};\n\nexport const Modal = forwardRef<\n HTMLDivElement,\n IModal & HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n children,\n disableFocusLock = false,\n disableScrollLock = false,\n disableBackgroundClick = false,\n disableBackgroundColor = false,\n disableCloseOnEsc = false,\n open: defaultOpen = false,\n onClose,\n ...rest\n },\n ref\n ) => {\n const [open, setOpen] = useState(defaultOpen);\n const [exited, setExited] = useState(true);\n const innerRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(innerRef, ref);\n\n const hasTransition = useMemo(() => {\n return getHasTransition(children);\n }, [children]);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleClose = useCallback(() => {\n setOpen(false);\n if (!hasTransition) {\n typeof onClose === \"function\" && onClose();\n }\n }, [hasTransition, onClose]);\n\n const handleBackgroundClick = useCallback(\n (event: MouseEvent<HTMLDivElement>) => {\n if (!disableBackgroundClick) {\n event.preventDefault();\n handleClose();\n }\n },\n [disableBackgroundClick, handleClose]\n );\n\n const handleEnter = useCallback(() => {\n setExited(false);\n }, []);\n\n const handleExited = useCallback(() => {\n setExited(true);\n typeof onClose === \"function\" && onClose();\n }, [onClose]);\n\n const childProps = useMemo(() => {\n let props = {};\n\n // It's a Transition like component\n if (hasTransition && children) {\n props = {\n onEnter: createChainedFunction(handleEnter, children.props.onEnter),\n onExited: createChainedFunction(\n handleExited,\n children.props.onExited\n ),\n in: open,\n };\n }\n\n return props;\n }, [children, handleEnter, handleExited, hasTransition, open]);\n\n if (!open && (!hasTransition || exited)) {\n return null;\n }\n\n return (\n <Window\n {...rest}\n ref={handleRef}\n onClose={handleClose}\n disableFocusLock={disableFocusLock}\n disableScrollLock={disableScrollLock}\n disableCloseOnEsc={disableCloseOnEsc}\n >\n {open ? (\n <Overlay\n onClick={handleBackgroundClick}\n disableBackgroundColor={disableBackgroundColor}\n />\n ) : null}\n {cloneElement(children, childProps)}\n </Window>\n );\n }\n);\n\nModal.displayName = \"Modal\";\n","import styled, { css, keyframes } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\nimport { CSSTransition } from \"react-transition-group\";\n\nexport const StyledSheetIcons = styled.div`\n display: flex;\n height: 0;\n position: relative;\n\n span {\n position: relative;\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-secondary);\n cursor: pointer;\n border-radius: 100%;\n width: 40px;\n height: 40px;\n display: flex;\n justify-content: center;\n align-items: center;\n & > * {\n height: 40px;\n width: 40px;\n padding: 8px;\n fill: var(--color-theme-600);\n }\n }\n`;\n\nStyledSheetIcons.displayName = \"StyledSheetIcons\";\n\ninterface IStyledSheetWrapper {\n $position?: \"center\" | \"left\" | \"right\";\n $mode?: \"normal\" | \"stretch\";\n}\n\nexport const StyledSheetWrapper = styled.div<IStyledSheetWrapper>`\n ${BoxSizingStyle}\n ${FontStyle}\n\n position: relative;\n max-width: 95vw;\n display: flex;\n flex-direction: row;\n\n ${(props) =>\n props.$mode === \"stretch\"\n ? css`\n margin-top: 8px;\n height: calc(100vh - 16px);\n width: calc(100vw - 100px);\n max-width: 1000px;\n ${StyledSheetIcons} {\n flex-direction: column;\n width: 0;\n height: calc(100vh - 32px);\n & > * {\n margin-bottom: 8px;\n animation-fill-mode: both;\n }\n span {\n top: 8px;\n }\n }\n `\n : css`\n max-height: calc(100vh - 156px);\n margin-top: 126px;\n margin-bottom: 30px;\n width: 540px;\n flex-direction: column;\n\n ${StyledSheetIcons} {\n flex-direction: row-reverse;\n & > * {\n margin-left: 8px;\n animation-fill-mode: both;\n }\n span {\n top: -48px;\n right: 8px;\n }\n }\n `}\n\n ${(props) =>\n props.$position === \"center\" &&\n css`\n ${tw`tw-mx-auto`}\n `}\n\n ${(props) =>\n props.$position === \"left\" &&\n css`\n ${tw`tw-ml-2 tw-mr-auto`}\n `}\n\n ${(props) =>\n props.$position === \"right\" &&\n css`\n ${tw`tw-mr-2 tw-ml-auto`}\n `}\n\n ${(props) =>\n props.$mode === \"stretch\" &&\n props.$position !== \"left\" &&\n css`\n ${StyledSheetIcons} {\n span {\n right: 48px;\n }\n }\n `}\n\n ${(props) =>\n props.$mode === \"stretch\" &&\n props.$position === \"left\" &&\n css`\n flex-direction: row-reverse;\n\n ${StyledSheetIcons} {\n span {\n right: -8px;\n }\n }\n `}\n`;\n\nStyledSheetWrapper.displayName = \"StyledSheetWrapper\";\n\ninterface IStyledSheetWrapperPaper {\n paperClass?: string;\n}\n\nexport const StyledSheetWrapperPaper = styled.div.attrs<IStyledSheetWrapperPaper>(\n (props) => ({\n className: props.paperClass,\n })\n)<IStyledSheetWrapperPaper>`\n background-color: var(--page-paper-main);\n color: var(--color-theme-900);\n box-shadow: var(--shadow-primary);\n border-radius: 6px;\n overflow: auto;\n animation: 0.3s linear ease-out;\n\n ${tw`tw-flex-auto`}\n`;\n\nStyledSheetWrapperPaper.displayName = \"StyledSheetWrapperPaper\";\n\nexport const StyledSheetControlsTop = keyframes`\n 0% {\n opacity: 0;\n transform: translateY(-200px);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n`;\n\nexport const StyledSheetControlsBottom = keyframes`\n 0% {\n opacity: 1;\n transform: translateY(0);\n }\n 100% {\n opacity: 0;\n transform: translateY(-200px);\n}\n`;\n\nexport const StyledSheetControlsCenterIn = keyframes`\n 0% {\n transform: translateY(-150px);\n opacity: 0;\n }\n 100% {\n transform: translateY(0);\n opacity: 1;\n }\n`;\n\nexport const StyledSheetControlsCenterOut = keyframes`\n 0% {\n transform: translateY(0);\n opacity: 1;\n }\n 100% {\n transform: translateY(-150px);\n opacity: 0;\n }\n`;\n\ninterface IStyledAnimatedSpan {\n $mode: string;\n $state: string;\n $maxDurationIn: number;\n $maxDurationOut: number;\n $durationOut: number;\n $durationIn: number;\n}\n\nexport const StyledAnimatedSpan = styled.span<IStyledAnimatedSpan>`\n background: red;\n ${(props) =>\n props.$state === \"entering\" &&\n css`\n opacity: 1;\n\n ${props.$mode === \"stretch\"\n ? css`\n animation-name: ${StyledSheetControlsTop};\n animation-duration: ${`${props.$durationIn}s`};\n animation-delay: ${`${props.$durationIn}s`};\n `\n : css`\n animation-name: ${StyledSheetControlsCenterIn};\n animation-duration: ${`${props.$maxDurationIn}s`};\n animation-delay: 0s;\n `}\n `}\n\n ${(props) =>\n props.$state === \"entered\" &&\n css`\n opacity: 1;\n `}\n\n ${(props) =>\n props.$state === \"exiting\" &&\n css`\n opacity: 0;\n\n ${props.$mode === \"stretch\"\n ? css`\n animation-name: ${StyledSheetControlsBottom};\n animation-duration: ${`${props.$durationOut}s`};\n animation-delay: ${`${props.$durationOut}s`};\n `\n : css`\n animation-name: ${StyledSheetControlsCenterOut};\n animation-duration: ${`${props.$maxDurationOut}s`};\n animation-delay: 0;\n `}\n `}\n\n ${(props) =>\n props.$state === \"exited\" &&\n css`\n opacity: 0;\n `}\n`;\n\nStyledAnimatedSpan.displayName = \"StyledAnimatedSpan\";\n\nexport const StyledCssTransition = styled(CSSTransition)<{\n $direction: string;\n}>`\n ${(props) =>\n props.$direction === \"top\" &&\n css`\n &.c-sheet__animation-enter {\n opacity: 0;\n transform: translateY(-100%);\n }\n &.c-sheet__animation-enter-active {\n opacity: 1;\n transform: translateY(0);\n transition: opacity 400ms, transform 400ms;\n }\n &.c-sheet__animation-appear {\n opacity: 0;\n transform: translateY(-100%);\n }\n &.c-sheet__animation-appear-active {\n opacity: 1;\n transform: translateY(0);\n transition: opacity 400ms, transform 400ms;\n }\n &.c-sheet__animation-exit {\n opacity: 1;\n }\n &.c-sheet__animation-exit-active {\n opacity: 0;\n transform: translateY(-100%);\n transition: opacity 200ms, transform 200ms;\n }\n `}\n\n ${(props) =>\n props.$direction === \"bottom\" &&\n css`\n &.c-sheet__animation-enter {\n opacity: 0;\n transform: translateY(100%);\n }\n &.c-sheet__animation-enter-active {\n opacity: 1;\n transform: translateY(0);\n transition: opacity 400ms, transform 400ms;\n }\n &.c-sheet__animation-appear {\n opacity: 0;\n transform: translateY(100%);\n }\n &.c-sheet__animation-appear-active {\n opacity: 1;\n transform: translateY(0);\n transition: opacity 400ms, transform 400ms;\n }\n &.c-sheet__animation-exit {\n opacity: 1;\n }\n &.c-sheet__animation-exit-active {\n opacity: 0;\n transform: translateY(100%);\n transition: opacity 200ms, transform 200ms;\n }\n `}\n\n ${(props) =>\n props.$direction === \"left\" &&\n css`\n &.c-sheet__animation-enter {\n opacity: 0;\n transform: translateX(-100%);\n }\n &.c-sheet__animation-enter-active {\n opacity: 1;\n transform: translateX(0);\n transition: opacity 400ms, transform 400ms;\n }\n &.c-sheet__animation-appear {\n opacity: 0;\n transform: translateX(-100%);\n }\n &.c-sheet__animation-appear-active {\n opacity: 1;\n transform: translateX(0);\n transition: opacity 400ms, transform 400ms;\n }\n &.c-sheet__animation-exit {\n opacity: 1;\n }\n &.c-sheet__animation-exit-active {\n opacity: 0;\n transform: translateX(-100%);\n transition: opacity 200ms, transform 200ms;\n }\n `}\n\n ${(props) =>\n props.$direction === \"right\" &&\n css`\n &.c-sheet__animation-enter {\n opacity: 0;\n transform: translateX(100%);\n }\n &.c-sheet__animation-enter-active {\n opacity: 1;\n transform: translateX(0);\n transition: opacity 400ms, transform 400ms;\n }\n &.c-sheet__animation-appear {\n opacity: 0;\n transform: translateX(100%);\n }\n &.c-sheet__animation-appear-active {\n opacity: 1;\n transform: translateX(0);\n transition: opacity 400ms, transform 400ms;\n }\n &.c-sheet__animation-exit {\n opacity: 1;\n }\n &.c-sheet__animation-exit-active {\n opacity: 0;\n transform: translateX(100%);\n transition: opacity 200ms, transform 200ms;\n }\n `}\n`;\n\nStyledCssTransition.displayName = \"StyledCssTransition\";\n","import React, {\n useRef,\n useCallback,\n useEffect,\n forwardRef,\n HTMLAttributes,\n useState,\n CSSProperties,\n ReactElement,\n MouseEvent,\n} from \"react\";\n\nimport { Transition } from \"react-transition-group\";\nimport { Window } from \"../Window\";\nimport classnames from \"classnames\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport {\n StyledAnimatedSpan,\n StyledCssTransition,\n StyledSheetIcons,\n StyledSheetWrapper,\n StyledSheetWrapperPaper,\n} from \"./Styles\";\nimport { Overlay } from \"../Overlay\";\n\ninterface ISheet {\n onClose?: () => void;\n controls?: JSX.Element[];\n open?: boolean;\n animation?: \"top\" | \"bottom\" | \"left\" | \"right\";\n position?: \"center\" | \"left\" | \"right\";\n mode?: \"normal\" | \"stretch\";\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n disableBackgroundColor?: boolean;\n bodyStyle?: CSSProperties;\n bodyClassName?: string;\n disableBackgroundClick?: boolean;\n}\n\nexport const Sheet = forwardRef<\n HTMLDivElement,\n ISheet & HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n children,\n onClose,\n controls = [],\n open: defaultOpen = false,\n animation = \"top\",\n position = \"center\",\n mode = \"normal\",\n disableFocusLock = false,\n disableScrollLock = false,\n disableBackgroundColor = false,\n bodyStyle,\n bodyClassName,\n disableBackgroundClick = false,\n ...rest\n },\n ref\n ) => {\n const [open, setOpen] = useState(defaultOpen);\n const [exited, setExited] = useState(true);\n const innerRef = useRef<HTMLDivElement>(null);\n\n const handleRef = useForkRef(innerRef, ref);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleEnter = useCallback(() => {\n setExited(false);\n }, []);\n\n const handleExited = useCallback(() => {\n setExited(true);\n typeof onClose === \"function\" && onClose();\n }, [onClose]);\n\n const handleClose = useCallback(() => {\n setOpen(false);\n }, []);\n\n const handleBackgroundClick = useCallback(\n (event: MouseEvent<HTMLDivElement>) => {\n if (!disableBackgroundClick) {\n event.preventDefault();\n handleClose();\n }\n },\n [disableBackgroundClick, handleClose]\n );\n\n if (!open && exited) {\n return null;\n }\n\n return (\n <Window\n {...rest}\n ref={handleRef}\n onClose={handleClose}\n disableFocusLock={disableFocusLock}\n disableScrollLock={disableScrollLock}\n >\n {open ? (\n <Overlay\n onClick={handleBackgroundClick}\n disableBackgroundColor={disableBackgroundColor}\n />\n ) : null}\n <StyledSheetWrapper\n className={classnames(\"c-sheet__wrapper\", bodyClassName)}\n style={bodyStyle}\n $position={position}\n $mode={mode}\n >\n {controls.length ? (\n <StyledSheetIcons>\n {controls.map((item, index) => {\n const maxDurationIn = 4; // max duration 4 for 400ms, shorten .4s\n const maxDurationOut = 2; // max duration 2 for 200ms, shorten .2s\n const control = index + 1;\n const durationOut =\n controls.length > maxDurationOut\n ? maxDurationOut\n : maxDurationOut - control;\n const durationIn = control >= maxDurationIn ? 1 : control;\n return (\n <Transition\n appear\n in={open}\n timeout={maxDurationIn * 100}\n key={`c-sheet-control-${index}`}\n >\n {(state): ReactElement => (\n <StyledAnimatedSpan\n $state={state}\n $mode={mode}\n $maxDurationIn={maxDurationIn / 10}\n $maxDurationOut={maxDurationOut / 10}\n $durationOut={durationOut / 10}\n $durationIn={durationIn / 10}\n >\n {item}\n </StyledAnimatedSpan>\n )}\n </Transition>\n );\n })}\n </StyledSheetIcons>\n ) : null}\n <StyledCssTransition\n appear\n in={open}\n timeout={400}\n classNames=\"c-sheet__animation\"\n $direction={animation}\n onEnter={handleEnter}\n onExited={handleExited}\n >\n <StyledSheetWrapperPaper paperClass=\"c-sheet__wrapper__paper\">\n {children}\n </StyledSheetWrapperPaper>\n </StyledCssTransition>\n </StyledSheetWrapper>\n </Window>\n );\n }\n);\n\nSheet.displayName = \"Sheet\";\n","import styled, { css } from \"styled-components\";\nimport { Paper } from \"../Paper\";\n\nexport const StyledHeader = styled(Paper)<{ size?: string }>`\n ${(props) =>\n props.size === \"big\" &&\n css`\n height: 140px;\n `}\n\n ${(props) =>\n props.size === \"small\" &&\n css`\n height: 4rem;\n `}\n\n padding: 0 1rem;\n display: flex;\n overflow: hidden;\n min-width: 350px;\n\n @media screen and (max-width: 350px) {\n overflow: auto;\n }\n`;\n\nStyledHeader.displayName = \"StyledHeader\";\n","import React, { forwardRef, HTMLAttributes, ReactNode, Ref } from \"react\";\nimport classNames from \"classnames\";\nimport { StyledHeader } from \"./Styles\";\n\ninterface IHeaderProps {\n /** CSS classes. */\n className?: string;\n /** Size */\n size?: \"small\" | \"big\";\n /** Children */\n children: ReactNode;\n}\n\nexport const Header = forwardRef(\n (\n {\n className,\n size = \"small\",\n children,\n ...rest\n }: HTMLAttributes<HTMLDivElement> & IHeaderProps,\n ref: Ref<HTMLDivElement> | null | undefined\n ) => {\n return (\n <StyledHeader\n type=\"paper-2\"\n className={classNames(\"c-header\", className)}\n size={size}\n ref={ref}\n {...rest}\n >\n {children}\n </StyledHeader>\n );\n }\n);\n\nHeader.displayName = \"Header\";\n","import styled from \"styled-components\";\nimport { Textarea } from \"../Textarea\";\n\nexport const StyledAutoResizeTextarea = styled(Textarea)`\n white-space: pre-wrap;\n overflow-wrap: break-word;\n resize: none;\n`;\n\nStyledAutoResizeTextarea.displayName = \"StyledAutoResizeTextarea\";\n","import React, {\n useState,\n useCallback,\n ChangeEvent,\n KeyboardEvent,\n FocusEvent,\n Ref,\n forwardRef,\n useRef,\n useEffect,\n} from \"react\";\nimport classnames from \"classnames\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { StyledAutoResizeTextarea } from \"./Styles\";\n\nexport interface IAutoResizeTextarea\n extends React.ComponentPropsWithoutRef<\"textarea\"> {\n minRows?: number;\n maxRows?: number;\n lineHeight?: number;\n preventNewRowOnEnter?: boolean;\n cursorAtTextEnd?: boolean;\n value?: string;\n}\n\nexport const AutoResizeTextarea = forwardRef(\n (\n {\n minRows = 1,\n maxRows = 6,\n lineHeight = 18,\n onChange,\n className,\n preventNewRowOnEnter = false,\n cursorAtTextEnd = false,\n onKeyDown,\n value,\n ...rest\n }: IAutoResizeTextarea,\n ref: Ref<HTMLTextAreaElement> | null | undefined\n ) => {\n const innerRef = useRef<HTMLTextAreaElement | null>(null);\n const [rows, setRows] = useState(minRows);\n\n const handleRef = useForkRef(ref, innerRef);\n\n const calcRows = useCallback(\n (elem: HTMLTextAreaElement | null) => {\n if (elem) {\n const previousRows = elem.rows || minRows;\n\n elem.rows = minRows;\n const currentRows = Math.floor(elem.scrollHeight / lineHeight);\n\n if (currentRows === previousRows) {\n elem.rows = currentRows;\n }\n\n if (currentRows >= maxRows) {\n elem.rows = maxRows;\n elem.scrollTop = elem.scrollHeight;\n }\n\n setRows(currentRows < maxRows ? currentRows : maxRows);\n }\n },\n [lineHeight, maxRows, minRows]\n );\n\n useEffect(() => {\n calcRows(innerRef.current);\n }, [value, calcRows]);\n\n const handleOnChange = useCallback(\n (e: ChangeEvent<HTMLTextAreaElement>) => {\n calcRows(e.target);\n typeof onChange === \"function\" && onChange(e);\n },\n [onChange, calcRows]\n );\n\n const handleFocus = useCallback(\n (e: FocusEvent<HTMLTextAreaElement>) => {\n if (cursorAtTextEnd) {\n e.target.setSelectionRange(\n e.target.value.length,\n e.target.value.length\n );\n }\n },\n [cursorAtTextEnd]\n );\n\n const handleTextAreaKeyDown = useCallback(\n (e: KeyboardEvent<HTMLTextAreaElement>) => {\n if (preventNewRowOnEnter && e.key === \"Enter\") {\n e.preventDefault();\n }\n typeof onKeyDown === \"function\" && onKeyDown(e);\n },\n [preventNewRowOnEnter, onKeyDown]\n );\n\n return (\n <StyledAutoResizeTextarea\n {...rest}\n value={value}\n ref={handleRef}\n onChange={handleOnChange}\n onKeyDown={handleTextAreaKeyDown}\n onFocus={handleFocus}\n rows={rows}\n className={classnames(\"c-autoresizetextarea\", className)}\n style={{\n minHeight: `${lineHeight}px`,\n lineHeight: `${lineHeight}px`,\n }}\n />\n );\n }\n);\n\nAutoResizeTextarea.displayName = \"AutoResizeTextarea\";\n","import styled from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\nexport const StyledAccordion = styled.div`\n ${tw`tw-rounded-lg tw-overflow-hidden tw-border-solid tw-border tw-border-border-primary tw-border-b-0`}\n ${FontStyle}\n ${BoxSizingStyle}\n`;\n\nStyledAccordion.displayName = \"StyledAccordion\";\n\nexport const StyledAccordionItem = styled.div`\n display: flex;\n flex-direction: column;\n background-color: var(--page-paper-main);\n border: 1px solid transparent;\n border-bottom: 1px solid var(--border-primary);\n overflow: hidden;\n ${FontStyle}\n ${BoxSizingStyle}\n`;\n\nStyledAccordionItem.displayName = \"StyledAccordionItem\";\n\nexport const StyledAccordionItemBody = styled.div`\n margin: 0 16px;\n ${FontStyle}\n ${BoxSizingStyle}\n`;\n\nStyledAccordionItemBody.displayName = \"StyledAccordionItemHead\";\n\nexport const StyledAccordionItemHead = styled.div`\n user-select: none;\n padding: 8px 16px;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n color: var(--color-theme-900);\n cursor: pointer;\n ${FontStyle}\n ${BoxSizingStyle}\n .text {\n font-weight: bold;\n font-size: 13px;\n }\n .icon {\n width: 16px;\n height: 16px;\n fill: currentColor;\n transform: translateY(-4px);\n }\n`;\n\nStyledAccordionItemHead.displayName = \"StyledAccordionItemHead\";\n\nexport const StyledAccordionItemHeadText = styled.div`\n font-weight: bold;\n font-size: 13px;\n`;\n\nStyledAccordionItemHeadText.displayName = \"StyledAccordionItemHeadText\";\n\nexport const StyledAccordionItemHeadIcon = styled.div`\n width: 16px;\n height: 16px;\n fill: currentColor;\n transform: translateY(-4px);\n`;\n\nStyledAccordionItemHeadIcon.displayName = \"StyledAccordionItemHeadIcon\";\n","import React, {\n FC,\n ReactNodeArray,\n useState,\n useCallback,\n ReactNode,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { StyledAccordion } from \"./Styles\";\n\nexport interface IAccordion {\n /** Children type of node or string */\n children: ReactNodeArray;\n /** ClassName */\n className?: string;\n /** Could all items be collapsed */\n allowZeroExpanded?: boolean;\n /** Could more than one item be expanded */\n allowMultipleExpanded?: boolean;\n /** Callback function that will be called with id of the accordion item that was clicked */\n onChange?: (itemId: string) => void;\n /** List of item id's that are expanded on initial render */\n preExpanded?: string[];\n /** Do not show the toggle icon in the AccordionItemHead component */\n disableToggleIcon?: boolean;\n /** Custom toggle icon to replace the default one */\n customToggleIcon?: ReactNode;\n}\n\nexport interface IAccordionContextType {\n expandedItems: string[];\n toggleExpanded: (itemId: string) => void;\n disableToggleIcon: boolean;\n customToggleIcon: ReactNode;\n}\n\nexport const AccordionContext =\n React.createContext<IAccordionContextType | null>(null);\n\nexport const Accordion: FC<IAccordion> = ({\n children,\n className,\n allowMultipleExpanded = false,\n allowZeroExpanded = false,\n onChange,\n preExpanded = [],\n disableToggleIcon = false,\n customToggleIcon,\n}) => {\n const [expandedItems, setExpandedItems] = useState<string[]>(preExpanded);\n\n const toggleExpandedCallback = useCallback(\n (id: string) => {\n setExpandedItems((prevExpanded: string[]) => {\n if (prevExpanded.indexOf(id) > -1) {\n if (!allowZeroExpanded && prevExpanded.length === 1) {\n return prevExpanded;\n }\n return prevExpanded.filter((item: string) => {\n return item !== id;\n });\n } else {\n if (!allowMultipleExpanded) {\n return [id];\n }\n return [...prevExpanded, id];\n }\n });\n if (onChange) {\n onChange(id);\n }\n },\n [allowMultipleExpanded, allowZeroExpanded, onChange]\n );\n\n return (\n <AccordionContext.Provider\n value={{\n expandedItems,\n toggleExpanded: toggleExpandedCallback,\n disableToggleIcon,\n customToggleIcon,\n }}\n >\n <StyledAccordion className={classnames(\"accordion\", className)}>\n {children}\n </StyledAccordion>\n </AccordionContext.Provider>\n );\n};\n\nAccordion.displayName = \"Accordion\";\n","import React, { FC, ReactNode, useContext, useMemo } from \"react\";\nimport classnames from \"classnames\";\nimport { AccordionContext } from \"./Accordion\";\nimport { StyledAccordionItem } from \"./Styles\";\n\nexport interface IAccordionItem {\n /** Children type of node or string */\n children: ReactNode;\n /** ClassName */\n className?: string;\n /** Id of the accordion item */\n id?: string;\n}\n\nexport interface IItemContext {\n isItemExpanded: boolean;\n id: string;\n}\n\nexport const ItemContext = React.createContext(null as IItemContext | null);\n\nexport const AccordionItem: FC<IAccordionItem> = ({\n children,\n className,\n id,\n}) => {\n const accordionContext = useContext(AccordionContext);\n\n const itemId = useMemo(() => {\n if (!id) {\n const randomString = Math.random().toString(36).slice(2);\n return `accordion-item-${randomString}`;\n }\n return id;\n }, [id]);\n\n return (\n <ItemContext.Provider\n value={{\n isItemExpanded: accordionContext\n ? accordionContext.expandedItems.indexOf(itemId) > -1\n : false,\n id: itemId,\n }}\n >\n <StyledAccordionItem className={classnames(\"accordionItem\", className)}>\n {children}\n </StyledAccordionItem>\n </ItemContext.Provider>\n );\n};\n\nAccordionItem.displayName = \"AccordionItem\";\n","import React, { ReactNode, FC, useContext, useCallback, useMemo } from \"react\";\nimport classnames from \"classnames\";\nimport { ItemContext } from \"./AccordionItem\";\nimport { AccordionContext } from \"./Accordion\";\nimport CollapseExpandSingleIcon from \"../Icons/collection/CollapseExpandSingle\";\nimport {\n StyledAccordionItemHead,\n StyledAccordionItemHeadText,\n StyledAccordionItemHeadIcon,\n} from \"./Styles\";\n\nexport interface IAccordionItemHead {\n /** Children type of node or string */\n children: ReactNode | string;\n /** ClassName */\n className?: string;\n}\n\nexport const AccordionItemHead: FC<IAccordionItemHead> = ({\n children,\n className,\n}) => {\n const accordionContext = useContext(AccordionContext);\n const itemContext = useContext(ItemContext);\n\n const { toggleExpanded, disableToggleIcon, customToggleIcon } =\n useMemo(() => {\n return {\n toggleExpanded: accordionContext\n ? accordionContext.toggleExpanded\n : null,\n disableToggleIcon: accordionContext\n ? accordionContext.disableToggleIcon\n : false,\n customToggleIcon: accordionContext\n ? accordionContext.customToggleIcon\n : null,\n };\n }, [accordionContext]);\n\n const id = useMemo(() => (itemContext ? itemContext.id : \"\"), [itemContext]);\n\n const onClickCallback = useCallback(() => {\n if (toggleExpanded) {\n toggleExpanded(id);\n }\n }, [id, toggleExpanded]);\n\n const toggleIcon = useMemo(\n () =>\n customToggleIcon ? (\n customToggleIcon\n ) : (\n <CollapseExpandSingleIcon style={{ transform: \"rotate(180deg)\" }} />\n ),\n [customToggleIcon]\n );\n\n return (\n <StyledAccordionItemHead\n onClick={onClickCallback}\n className={classnames(\"accordionItemHead\", className)}\n >\n <StyledAccordionItemHeadText className=\"accordionItemHead__text\">\n {children}\n </StyledAccordionItemHeadText>\n <StyledAccordionItemHeadIcon className=\"accordionItemHead__icon\">\n {!disableToggleIcon ? toggleIcon : null}\n </StyledAccordionItemHeadIcon>\n </StyledAccordionItemHead>\n );\n};\n\nAccordionItemHead.displayName = \"AccordionItemHead\";\n","import React, { ReactNode, FC, useContext, useRef, ReactElement } from \"react\";\nimport classnames from \"classnames\";\nimport { Transition } from \"react-transition-group\";\nimport { ItemContext, IItemContext } from \"./AccordionItem\";\nimport { useHeight } from \"../../hooks/useHeight\";\nimport { StyledAccordionItemBody } from \"./Styles\";\n\nexport interface IAccordionItemBody {\n /** Children type of node or string */\n children: ReactNode | string;\n /** ClassName */\n className?: string;\n}\n\nexport const AccordionItemBody: FC<IAccordionItemBody> = ({\n children,\n className,\n}) => {\n const itemContext = useContext<IItemContext | null>(ItemContext);\n const divRef = useRef(null);\n const duration = 200;\n const height = useHeight(divRef);\n\n const defaultStyle = {\n transition: `max-height ${duration}ms linear`,\n maxHeight: 0,\n };\n\n const transitionStyles = {\n entering: { maxHeight: height },\n entered: { maxHeight: height },\n exiting: { maxHeight: 0 },\n exited: { maxHeight: 0 },\n };\n\n return (\n <Transition timeout={200} in={itemContext?.isItemExpanded}>\n {(state): ReactElement => (\n <StyledAccordionItemBody\n ref={divRef}\n className={classnames(\"accordionItemBody\", className)}\n style={{\n ...defaultStyle,\n ...transitionStyles[state],\n }}\n >\n {children}\n </StyledAccordionItemBody>\n )}\n </Transition>\n );\n};\n\nAccordionItemBody.displayName = \"AccordionItemBody\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\nimport { IChooseProps } from \"./Choose\";\n\nexport const StyledChoose = styled.button<IChooseProps>`\n ${tw`tw-antialiased tw-align-middle tw-font-medium tw-inline-block tw-leading-none tw-m-0 tw-no-underline`}\n ${tw`tw-select-none tw-cursor-pointer tw-text-center tw-rounded-lg tw-text-theme-700`}\n ${FontStyle}\n ${BoxSizingStyle}\n height: 32px;\n padding: 0 16px;\n transition: all 0.3s ease;\n border: 1px solid var(--border-primary);\n font-size: 13px;\n transition-duration: 0.3s;\n &:hover {\n ${tw`tw-border-primary`}\n box-shadow: inset 0 0 5px 3px var(--color-primary-300);\n }\n ${(props) =>\n props.active &&\n css`\n ${tw`tw-border-primary tw-z-0`}\n background-color: var(--color-primary-300);\n `}\n`;\n\nStyledChoose.displayName = \"StyledChoose\";\n","import React, { FC, BaseHTMLAttributes, ReactElement } from \"react\";\nimport classNames from \"classnames\";\nimport { StyledChoose } from \"./Styles\";\n\nexport interface IChooseProps extends BaseHTMLAttributes<HTMLButtonElement> {\n /** Children type of node or string */\n children: ReactElement | string;\n /** Disabled prop */\n disabled?: boolean;\n /** Active prop */\n active?: boolean;\n /** CSS classes */\n className?: string;\n}\n\n/**\n * Choose component\n */\nexport const Choose: FC<IChooseProps> = ({\n children,\n disabled = false,\n active = false,\n className,\n ...args\n}) => {\n return (\n <StyledChoose\n disabled={disabled}\n className={classNames(\"c-choose\", className)}\n active={active}\n {...args}\n >\n {children}\n </StyledChoose>\n );\n};\n\nChoose.displayName = \"Choose\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { FontStyle } from \"../FontStyle\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { ILinkProps } from \"./Link\";\n\ninterface StyledLinkProps extends ILinkProps {\n $iconOnly: boolean;\n}\n\nexport const StyledLinkElement = styled.div``;\n\nexport const StyledLink = styled.a<StyledLinkProps>`\n ${FontStyle}\n ${BoxSizingStyle}\n ${tw`\n tw-antialiased\n tw-font-medium\n tw-leading-none\n tw-m-0\n tw-no-underline\n tw-text-sm\n tw-select-none\n tw-cursor-pointer\n tw-inline-flex\n tw-items-center\n tw-justify-center`}\n\n border: none;\n height: 32px;\n transition: background-color 0.3s ease, box-shadow 0.3s ease, color 0.3s ease,\n border-color 0.3s ease;\n\n svg {\n fill: currentColor;\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n\n &:focus {\n outline: none;\n }\n\n &:hover {\n text-decoration: none;\n }\n\n ${(props) =>\n props.disabled &&\n css`\n cursor: default;\n opacity: 50%;\n pointer-events: none;\n `}\n\n ${(props) =>\n props.size === \"small\" &&\n css`\n height: 24px;\n `}\n\n ${(props) =>\n props.size === \"big\" &&\n css`\n height: 40px;\n `}\n\n ${(props) =>\n (props.variant === \"primary\" || props.variant === \"contained\") &&\n css`\n padding: 0 16px;\n background-color: var(--color-primary);\n border-radius: 16px;\n color: var(--color-theme-100);\n\n &:focus,\n &:hover {\n box-shadow: 0 3px 6px -2px var(--color-primary-500);\n background-color: var(--color-primary-800);\n }\n\n &:active {\n box-shadow: 0 4px 10px -2px var(--color-primary-600);\n background-color: var(--color-primary-800);\n }\n `}\n\n ${(props) =>\n (props.variant === \"secondary\" || props.variant === \"outlined\") &&\n css`\n padding: 0 16px;\n background-color: transparent;\n border-radius: 16px;\n border: solid 1px var(--color-theme-600);\n color: var(--color-theme-600);\n\n &:focus,\n &:hover {\n border-color: var(--color-primary);\n color: var(--color-primary);\n }\n\n &:active {\n border-color: var(--color-primary);\n color: var(--color-primary);\n background-color: var(--color-primary-200);\n }\n `}\n\n ${(props) =>\n (props.variant === \"tertiary\" || props.variant === \"text colored\") &&\n css`\n padding: 0 8px;\n background-color: transparent;\n border-radius: 6px;\n color: var(--color-primary);\n\n &:focus,\n &:hover {\n background-color: var(--color-primary-200);\n }\n\n &:active {\n background-color: var(--color-primary-300);\n }\n `}\n\n ${(props) =>\n (props.variant === \"option\" || props.variant === \"text gray\") &&\n css`\n padding: 0 8px;\n background-color: transparent;\n border-radius: 6px;\n color: var(--color-theme-600);\n\n &:focus,\n &:hover {\n background-color: var(--color-theme-300);\n color: var(--color-theme-900);\n }\n\n &:active {\n background-color: var(--color-theme-400);\n color: var(--color-theme-900);\n }\n `}\n\n ${(props) =>\n props.variant === \"dark transparent\" &&\n css`\n padding: 0 8px;\n background-color: rgba(0, 0, 0, 0.5);\n border-radius: var(--ac-br-6);\n color: var(--only-white);\n\n &:hover {\n background-color: rgba(0, 0, 0, 0.85);\n }\n\n &:active {\n background-color: var(--only-black);\n }\n `}\n\n ${(props) =>\n props.variant === \"circle raised\" &&\n css`\n padding: 0 6px;\n background-color: transparent;\n border-radius: var(--ac-br-rounded);\n color: var(--color-theme-700);\n transition: ease 0.3s all;\n\n &:hover {\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary);\n }\n\n &:active {\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary-hover);\n }\n `}\n\n ${(props) =>\n props.variant === \"text link-primary\" &&\n css`\n line-height: 14px;\n letter-spacing: 0.25px;\n color: var(--color-primary);\n text-decoration: underline var(--color-primary);\n text-underline-offset: 3px;\n height: fit-content;\n\n &:hover {\n text-decoration: none;\n }\n\n &:focus {\n text-decoration: none;\n outline: 1px solid var(--color-primary);\n outline-offset: 2px;\n border-radius: 2px;\n }\n `}\n\n ${(props) =>\n props.variant === \"text link-gray\" &&\n css`\n line-height: 14px;\n letter-spacing: 0.25px;\n color: var(--color-theme-700);\n text-decoration: underline var(--color-theme-700);\n text-underline-offset: 3px;\n height: fit-content;\n\n &:hover {\n text-decoration: none;\n }\n\n &:focus {\n text-decoration: none;\n outline: 1px solid var(--color-primary);\n outline-offset: 2px;\n border-radius: 2px;\n }\n `}\n\n\n ${(props) =>\n props.$iconOnly &&\n css`\n padding: 0;\n width: 32px;\n\n ${props.size === \"small\" &&\n css`\n radius: 16px;\n width: 24px;\n `}\n\n ${props.size === \"big\" &&\n css`\n radius: 20px;\n width: 40px;\n `}\n `}\n\n ${(props) =>\n (props.variant === \"primary\" ||\n props.variant === \"contained\" ||\n props.variant === \"secondary\" ||\n props.variant === \"outlined\") &&\n css`\n ${StyledLinkElement}:first-child svg {\n margin-left: -6px;\n }\n ${StyledLinkElement}:last-child svg {\n margin-right: -6px;\n }\n\n ${props.size === \"small\" &&\n css`\n radius: 16px;\n `}\n\n ${props.size === \"big\" &&\n css`\n radius: 20px;\n `}\n `}\n\n ${(props) =>\n (props.variant === \"tertiary\" ||\n props.variant === \"text colored\" ||\n props.variant === \"option\" ||\n props.variant === \"text gray\" ||\n props.variant === \"dark transparent\") &&\n css`\n ${StyledLinkElement}:first-child svg {\n margin-left: -4px;\n }\n ${StyledLinkElement}:last-child svg {\n margin-right: -4px;\n }\n\n ${props.size === \"small\" &&\n css`\n radius: 4px;\n `}\n\n ${props.size === \"big\" &&\n css`\n radius: 8px;\n `}\n `}\n`;\n\nexport const StyledLinkElements = styled.div`\n display: flex;\n align-items: center;\n\n ${StyledLinkElement} {\n display: inline-flex;\n svg {\n margin: 0 4px;\n }\n }\n`;\n\nexport const StyledBackLink = styled.a`\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${tw`\n tw-pl-8\n tw-text-xxs\n tw-uppercase\n tw-inline-flex\n tw-align-middle\n tw-pr-4\n tw-text-theme-600\n tw-cursor-pointer\n `}\n\n text-decoration: none;\n border: transparent 1px solid;\n border-radius: 20px;\n height: 32px;\n font-size: 10px;\n font-weight: 500;\n display: table-cell;\n vertical-align: middle;\n\n &:before,\n &:after {\n content: \"\";\n ${tw`\n tw-border-solid\n tw-text-theme-700\n tw-inline-block\n tw-p-0\n tw-w-2\n tw-h-2\n tw-bg-no-repeat\n `}\n border-width: 0 1px 1px 0;\n position: absolute;\n left: 0;\n transition: all ease 0.3s;\n }\n &:before {\n ${tw`tw-opacity-100`}\n transform: translateX(1rem) translateY(0.1rem) rotate(135deg);\n }\n &:after {\n ${tw`tw-opacity-0`}\n transform: translateX(2rem) translateY(0.1rem) rotate(135deg);\n }\n &:hover {\n text-decoration: none;\n border-color: var(--border-primary);\n &:before {\n ${tw`tw-opacity-0`}\n transform: translateX(0rem) translateY(0.1rem) rotate(135deg);\n }\n &:after {\n ${tw`tw-opacity-100`}\n transform: translateX(1rem) translateY(0.1rem) rotate(135deg);\n }\n }\n`;\n\nStyledBackLink.displayName = \"StyledBackLink\";\nStyledLinkElement.displayName = \"StyledLinkElement\";\nStyledLinkElements.displayName = \"StyledLinkElements\";\nStyledLink.displayName = \"StyledLink\";\n","import React, { FC, BaseHTMLAttributes } from \"react\";\nimport classNames from \"classnames\";\nimport { StyledBackLink } from \"./Styles\";\n\ninterface IBackLinkProps extends BaseHTMLAttributes<HTMLAnchorElement> {\n /** Children type of node or string */\n children: string;\n /** CSS classes */\n className?: string;\n}\n/**\n * Back link component\n */\nexport const BackLink: FC<IBackLinkProps> = ({\n children,\n className,\n ...args\n}) => {\n return (\n <StyledBackLink className={classNames(\"c-back-link\", className)} {...args}>\n {children}\n </StyledBackLink>\n );\n};\n\nBackLink.displayName = \"BackLink\";\n","import React, { BaseHTMLAttributes, ReactNode, forwardRef } from \"react\";\nimport classNames from \"classnames\";\nimport { StyledLink, StyledLinkElement, StyledLinkElements } from \"./Styles\";\nimport {\n PolymorphicComponentPropsWithRef,\n PolymorphicRef,\n} from \"../../utils/types\";\n\nexport interface ILinkProps extends BaseHTMLAttributes<HTMLElement> {\n /** Children type of node or string */\n children: ReactNode | string;\n /** Variant Buttons */\n variant?:\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"option\"\n | \"contained\"\n | \"outlined\"\n | \"text colored\"\n | \"text gray\"\n | \"dark transparent\"\n | \"circle raised\"\n | \"text link-primary\"\n | \"text link-gray\";\n /** Button size can be big, medium or small */\n size?: \"big\" | \"small\";\n /** Disabled prop */\n disabled?: boolean;\n /** CSS classes */\n className?: string;\n}\n\nexport type LinkProps<C extends React.ElementType> =\n PolymorphicComponentPropsWithRef<C, ILinkProps>;\n\nexport type LinkComponent = <C extends React.ElementType = \"a\">(\n props: LinkProps<C>\n) => React.ReactElement | null;\n\n/**\n * Link component\n */\nexport const Link: LinkComponent & { displayName?: string } = forwardRef(\n <C extends React.ElementType = \"a\">(\n {\n as,\n children,\n variant = \"contained\",\n size,\n disabled = false,\n className,\n ...args\n }: LinkProps<C>,\n ref?: PolymorphicRef<C>\n ) => {\n const Component = as || \"a\";\n\n return (\n <StyledLink\n ref={ref}\n as={Component}\n disabled={disabled}\n className={classNames(\"c-link\", className, {\n \"c-link--contained\": variant === \"primary\" || variant === \"contained\",\n \"c-link--outlined\": variant === \"secondary\" || variant === \"outlined\",\n \"c-link--text_colored\":\n variant === \"tertiary\" || variant === \"text colored\",\n \"c-link--text_gray\": variant === \"option\" || variant === \"text gray\",\n \"c-link--dark_transparent\": variant === \"dark transparent\",\n \"c-link--circle_raised\": variant === \"circle raised\",\n \"c-link--big\": size === \"big\",\n \"c-link--small\": size === \"small\",\n \"c-link--icon-only\":\n children instanceof Object && !(children instanceof Array),\n \"c-link--disabled\": disabled,\n })}\n variant={variant}\n size={size}\n $iconOnly={children instanceof Object && !(children instanceof Array)}\n {...args}\n tabIndex={1}\n >\n {children instanceof Array ? (\n <StyledLinkElements className=\"c-link__elements\">\n {children.map((value, index) =>\n value ? (\n <StyledLinkElement\n className=\"c-link__elements__element\"\n key={index}\n >\n {value}\n </StyledLinkElement>\n ) : null\n )}\n </StyledLinkElements>\n ) : (\n children\n )}\n </StyledLink>\n );\n }\n);\n\nLink.displayName = \"Link\";\n","import React, { FC, ReactElement, cloneElement } from \"react\";\nimport { Transition } from \"react-transition-group\";\nimport { TransitionProps } from \"../types\";\n\ninterface ISlideFromTop extends Omit<TransitionProps, \"timeout\"> {\n children: ReactElement;\n timeout?: number;\n}\n\nconst defaultStyle = {\n transitionProperty: \"opacity, transform\",\n transitionTimingFunction: \"linear ease-out\",\n transform: \"translateY(-100%)\",\n opacity: 0,\n};\n\nconst transitionStyles = {\n entering: {\n opacity: 1,\n transform: \"translateY(0)\",\n transitionDuration: \".3s\",\n },\n entered: {\n opacity: 1,\n transform: \"translateY(0)\",\n transitionDuration: \".3s\",\n },\n exiting: {\n opacity: 0,\n transform: \"translateY(-100%)\",\n transitionDuration: \".2s\",\n },\n exited: {\n opacity: 0,\n transform: \"translateY(-100%)\",\n transitionDuration: \".2s\",\n },\n};\n\nexport const SlideFromTop: FC<ISlideFromTop> = ({\n in: inProp = false,\n onEnter,\n onExited,\n children,\n style,\n timeout = 400,\n}) => (\n <Transition\n appear\n in={inProp}\n timeout={timeout}\n onEnter={onEnter}\n onExited={onExited}\n >\n {(state): ReactElement => {\n return cloneElement(children, {\n style: {\n visibility: state === \"exited\" && !inProp ? \"hidden\" : undefined,\n ...defaultStyle,\n ...transitionStyles[state],\n ...style,\n ...children.props.style,\n },\n });\n }}\n </Transition>\n);\n\nSlideFromTop.displayName = \"SlideFromTop\";\n","import styled from \"styled-components\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\nimport { screen } from \"../BreakPoints\";\n\nexport const StyledDialog = styled.div`\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n max-height: calc(100vh - 156px);\n background-color: var(--page-paper-main);\n color: var(--color-theme-900);\n box-shadow: var(--shadow-primary);\n border-radius: 8px;\n width: 310px;\n margin: 60px auto 30px auto;\n position: relative;\n\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${screen.sm} {\n width: 540px;\n margin: 126px auto 30px auto;\n }\n`;\n\nStyledDialog.displayName = \"StyledDialog\";\n\nexport const StyledDialogTitle = styled.div`\n padding: 20px 30px;\n\n ${FontStyle}\n ${BoxSizingStyle}\n`;\nStyledDialogTitle.displayName = \"StyledDialogTitle\";\n\nexport const StyledDialogContent = styled.div`\n padding: 20px 30px;\n max-height: 580px;\n overflow-y: auto;\n flex: 1 1 auto;\n\n ${FontStyle}\n ${BoxSizingStyle}\n`;\nStyledDialogContent.displayName = \"StyledDialogContent\";\n\nexport const StyledDialogContentDivider = styled.div`\n border-top: 1px solid var(--border-primary);\n height: 1px;\n`;\nStyledDialogContentDivider.displayName = \"StyledDialogContentDivider\";\n\nexport const StyledDialogActions = styled.div`\n padding: 20px 30px;\n\n ${FontStyle}\n ${BoxSizingStyle}\n`;\nStyledDialogActions.displayName = \"StyledDialogActions\";\n","import React, { PropsWithChildren } from \"react\";\nimport classnames from \"classnames\";\nimport { Header3 } from \"../Typography/Variants/Header3\";\nimport { StyledDialogTitle } from \"./Styles\";\n// import { useDialogContext } from \"./DialogContext\";\n\nexport interface DialogTitleProps {\n className?: string;\n disableDefaultHeading?: boolean;\n}\n\nexport const DialogTitle = ({\n children,\n className,\n disableDefaultHeading = false,\n ...rest\n}: PropsWithChildren<DialogTitleProps>) => {\n // useDialogContext();\n\n return (\n <StyledDialogTitle\n className={classnames(\"c-dialog-title-wrapper\", className)}\n {...rest}\n >\n {disableDefaultHeading ? children : <Header3>{children}</Header3>}\n </StyledDialogTitle>\n );\n};\n\nDialogTitle.displayName = \"DialogTitle\";\n","import React, { HTMLAttributes } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledDialogContent } from \"./Styles\";\n// import { useDialogContext } from \"./DialogContext\";\n\nexport const DialogContent = ({\n className,\n children,\n ...rest\n}: HTMLAttributes<HTMLDivElement>) => {\n // useDialogContext();\n\n return (\n <StyledDialogContent\n className={classnames(\"c-dialog-content\", className)}\n {...rest}\n >\n {children}\n </StyledDialogContent>\n );\n};\n\nDialogContent.displayName = \"DialogContent\";\n","import React, { HTMLAttributes } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledDialogContentDivider } from \"./Styles\";\n// import { useDialogContext } from \"./DialogContext\";\n\nexport const DialogContentDivider = ({\n className,\n}: HTMLAttributes<HTMLDivElement>) => {\n // useDialogContext();\n\n return (\n <StyledDialogContentDivider\n className={classnames(\"c-dialog-content-divider\", className)}\n />\n );\n};\n\nDialogContentDivider.displayName = \"DialogContentDivider\";\n","import React, { HTMLAttributes } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledDialogActions } from \"./Styles\";\n// import { useDialogContext } from \"./DialogContext\";\n\nexport const DialogActions = ({\n className,\n children,\n ...rest\n}: HTMLAttributes<HTMLDivElement>) => {\n // useDialogContext();\n\n return (\n <StyledDialogActions\n className={classnames(\"c-dialog-actions\", className)}\n {...rest}\n >\n {children}\n </StyledDialogActions>\n );\n};\n\nDialogActions.displayName = \"DialogActions\";\n","import React, { forwardRef, PropsWithChildren } from \"react\";\nimport classnames from \"classnames\";\nimport { Modal } from \"../Modal\";\nimport { SlideFromTop } from \"../Transitions/SlideFromTop\";\nimport { StyledDialog } from \"./Styles\";\n\n// import { DialogContext } from \"./DialogContext\";\n\nimport { DialogTitle } from \"./DialogTitle\";\nimport { DialogContent } from \"./DialogContent\";\nimport { DialogContentDivider } from \"./DialogContentDivider\";\nimport { DialogActions } from \"./DialogActions\";\n\nexport interface DialogProps {\n open?: boolean;\n onClose?: () => void;\n className?: string;\n enableBackgroundClick?: boolean;\n disableCloseOnEsc?: boolean;\n}\n\nexport const _Dialog = forwardRef<\n HTMLDivElement,\n PropsWithChildren<DialogProps>\n>(\n (\n {\n children,\n open = false,\n onClose,\n className,\n enableBackgroundClick = false,\n disableCloseOnEsc = false,\n },\n ref\n ) => {\n return (\n // <DialogContext.Provider value={{}}>\n <Modal\n ref={ref}\n open={open}\n onClose={onClose}\n disableBackgroundClick={!enableBackgroundClick}\n disableCloseOnEsc={disableCloseOnEsc}\n >\n <SlideFromTop in={open}>\n <StyledDialog className={classnames(\"c-dialog\", className)}>\n {children}\n </StyledDialog>\n </SlideFromTop>\n </Modal>\n // </DialogContext.Provider>\n );\n }\n);\n\n_Dialog.displayName = \"Dialog\";\n\n// https://github.com/DefinitelyTyped/DefinitelyTyped/issues/34757\nexport const Dialog = Object.assign({}, _Dialog, {\n Title: DialogTitle,\n Content: DialogContent,\n ContentDivider: DialogContentDivider,\n Actions: DialogActions,\n});\n","import React, { forwardRef } from \"react\";\nimport classnames from \"classnames\";\nimport { Dialog } from \"../Dialog\";\nimport { Button } from \"../Button/Button\";\nimport { Body2 } from \"../Typography/Variants/Body2\";\n\nexport interface ConfirmDialogProps {\n open?: boolean;\n onCancel?: () => void;\n onConfirm?: () => void;\n className?: string;\n dialogTitle?: string;\n dialogContent?: string;\n confirmBtnText?: string;\n cancelBtnText?: string;\n shouldShowCancelButton?: boolean;\n isLoading?: boolean;\n}\n\nexport const ConfirmDialog = forwardRef<HTMLDivElement, ConfirmDialogProps>(\n (\n {\n open = false,\n onCancel,\n onConfirm,\n className,\n dialogTitle = \"Discard changes?\",\n dialogContent = \"All unsaved changes will be lost.\",\n confirmBtnText = \"OK\",\n cancelBtnText = \"Cancel\",\n shouldShowCancelButton = true,\n isLoading = false,\n },\n ref\n ) => {\n return (\n <Dialog\n ref={ref}\n open={open}\n onClose={onCancel}\n className={classnames(\"c-confirm-dialog\", className)}\n disableCloseOnEsc={isLoading}\n >\n <Dialog.Title>{dialogTitle}</Dialog.Title>\n <Dialog.ContentDivider />\n <Dialog.Content>\n <Body2 lineHeight=\"loose\" color=\"secondary\" whitespace=\"pre-line\">\n {dialogContent}\n </Body2>\n </Dialog.Content>\n <Dialog.ContentDivider />\n <Dialog.Actions>\n <Button\n variant=\"primary\"\n style={{ marginRight: \"12px\" }}\n onClick={onConfirm}\n disabled={isLoading}\n >\n {confirmBtnText}\n </Button>\n {shouldShowCancelButton ? (\n <Button\n variant=\"secondary\"\n data-action=\"cancel\"\n onClick={onCancel}\n type=\"button\"\n disabled={isLoading}\n >\n {cancelBtnText}\n </Button>\n ) : null}\n </Dialog.Actions>\n </Dialog>\n );\n }\n);\n\nConfirmDialog.displayName = \"ConfirmDialog\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { FontStyle } from \"../FontStyle\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { ConfirmDialog } from \"../ConfirmDialog\";\nimport { Button } from \"../Button/Button\";\n\nexport const StyledSelectDate = styled.div`\n ${FontStyle}\n ${BoxSizingStyle}\n`;\n\nStyledSelectDate.displayName = \"StyledSelectDate\";\n\nexport const StyledSelectDateButton = styled.button`\n margin: 0;\n padding: 0;\n border: none;\n background: none;\n width: auto;\n height: auto;\n color: var(--color-theme-700);\n\n span,\n svg {\n cursor: pointer;\n }\n span {\n color: var(--color-secondary);\n }\n svg:hover {\n fill: var(--color-secondary);\n }\n`;\n\nStyledSelectDateButton.displayName = \"StyledSelectDateButton\";\n\nexport const StyledConfirmDialog = styled(ConfirmDialog)`\n .modal-header {\n padding: 16px 30px;\n h1 {\n margin: 0;\n font-size: 16px;\n }\n }\n .modal-body {\n padding: 10px 30px;\n }\n .modal-divider {\n border-top: 1px solid var(--border-primary);\n height: 1px;\n }\n .modal-footer {\n padding: 16px 30px;\n }\n`;\n\nStyledConfirmDialog.displayName = \"StyledConfirmDialog\";\n\nexport const StyledSelectDateDatePicker = styled.div`\n ${tw`tw-pt-4 tw-pb-2`}\n color: red;\n`;\n\nStyledSelectDateDatePicker.displayName = \"StyledSelectDateDatePicker\";\n\nexport const StyledSelectDateFooter = styled.div<{\n $mode?: \"atomic\" | \"instant\";\n}>`\n ${tw`tw-px-4 tw-py-2`}\n border-top: 1px solid var(--border-primary);\n\n ${(props) =>\n props.$mode === \"instant\" &&\n css`\n ${tw`tw-flex`}\n `}\n`;\n\nStyledSelectDateFooter.displayName = \"StyledSelectDateFooter\";\n\nexport const StyledSelectDateButtons = styled.div`\n ${tw`tw-flex`}\n`;\n\nStyledSelectDateButtons.displayName = \"StyledSelectDateButtons\";\n\nexport const StyledButtonSave = styled(Button)`\n ${tw`tw-mr-2`}\n`;\n\nStyledButtonSave.displayName = \"StyledButtonSave\";\n\nexport const StyledButtonClose = styled(Button)`\n ${tw`tw-ml-auto`}\n`;\n\nStyledButtonClose.displayName = \"StyledButtonClose\";\n\nexport const StyledButtonCloseColored = styled(Button)`\n ${tw`tw-ml-auto tw-mr-auto`}\n`;\n\nStyledButtonCloseColored.displayName = \"StyledButtonCloseColored\";\n\nexport const StyledIconComponent = styled.svg`\n span,\n svg {\n cursor: pointer;\n }\n span {\n color: var(--color-secondary);\n }\n svg:hover {\n fill: var(--color-secondary);\n }\n`;\n\nStyledIconComponent.displayName = \"StyledIconComponent\";\n","import React, { FC, ReactNode, MouseEvent, useCallback } from \"react\";\nimport { RangeModifier, Modifiers, DayModifiers } from \"react-day-picker\";\nimport MomentLocaleUtils from \"react-day-picker/moment\";\nimport { DatePicker } from \"../DatePicker/DatePicker\";\nimport { IconButton } from \"../IconButton\";\nimport CancelCrossIcon from \"../Icons/collection/CancelCross\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\nimport {\n StyledButtonClose,\n StyledButtonCloseColored,\n StyledButtonSave,\n StyledSelectDateButtons,\n StyledSelectDateDatePicker,\n StyledSelectDateFooter,\n} from \"./Styles\";\n\ninterface IDatePickerForm {\n mode: \"instant\" | \"atomic\";\n saveButtonText?: string;\n cancelButtonText?: string;\n clearButtonText?: string;\n onSave?: () => void;\n onCancel?: (event: MouseEvent<HTMLElement>) => void;\n onClear?: () => void;\n onChange?: (dates?: { from: Date; to: Date }) => void;\n /** Called when day is clicked */\n onDayClick?: (day: Date, modifiers: DayModifiers) => void;\n /** Set selected day or days */\n selectedDays?: RangeModifier;\n /** Modifiers */\n modifiers?: Partial<Modifiers>;\n /** Render day callback */\n renderDay?: (date: Date, modifiers: DayModifiers) => ReactNode;\n /** Set selection range */\n selectionMode?: string;\n /** Set is date required */\n dateRequired?: boolean;\n /** Set first day of week */\n firstDayOfWeek?: number;\n /** on month change callback */\n onMonthChange?: (month: Date) => void;\n /** Selected month */\n month: Date;\n disabledSaveButton?: boolean;\n}\n\nexport const DatePickerForm: FC<IDatePickerForm> = ({\n mode,\n saveButtonText = \"Save\",\n cancelButtonText = \"Cancel\",\n clearButtonText = \"Clear\",\n onSave,\n onCancel,\n onClear,\n dateRequired = false,\n firstDayOfWeek = 0,\n selectedDays,\n selectionMode = \"custom\",\n onChange,\n onDayClick,\n onMonthChange,\n month,\n disabledSaveButton = false,\n modifiers,\n renderDay,\n}) => {\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\" && typeof onSave === \"function\") {\n onSave();\n } else if (\n (e.key === \"Esc\" || e.key === \"Escape\") &&\n typeof onCancel === \"function\"\n ) {\n onCancel(e);\n }\n },\n [onSave, onCancel]\n );\n\n return (\n <div onKeyDown={handleOnKeyDown} tabIndex={-1} className=\"date-picker-form\">\n <StyledSelectDateDatePicker>\n <DatePicker\n month={month}\n onMonthChange={onMonthChange}\n onChange={onChange}\n onDayClick={onDayClick}\n selectedDays={selectedDays}\n selectionMode={selectionMode}\n dateRequired={dateRequired}\n firstDayOfWeek={firstDayOfWeek}\n modifiers={modifiers}\n renderDay={renderDay}\n localeUtils={MomentLocaleUtils}\n />\n </StyledSelectDateDatePicker>\n {mode === \"atomic\" || !dateRequired ? (\n <StyledSelectDateFooter className=\"date-picker-footer\" $mode={mode}>\n {mode === \"atomic\" ? (\n <StyledSelectDateButtons className=\"date-picker-buttons\">\n <StyledButtonSave\n size=\"small\"\n variant=\"primary\"\n onClick={onSave}\n disabled={disabledSaveButton}\n >\n {saveButtonText}\n </StyledButtonSave>\n <Tooltip\n title={cancelButtonText}\n popperTooltipStyle={{ zIndex: 1301 }}\n >\n <IconButton size=\"small\" variant=\"text gray\" onClick={onCancel}>\n <CancelCrossIcon />\n </IconButton>\n </Tooltip>\n {!dateRequired ? (\n <StyledButtonClose\n size=\"small\"\n onClick={onClear}\n variant=\"text gray\"\n >\n {clearButtonText}\n </StyledButtonClose>\n ) : null}\n </StyledSelectDateButtons>\n ) : (\n !dateRequired && (\n <StyledButtonCloseColored\n size=\"small\"\n onClick={onClear}\n variant=\"text colored\"\n >\n {clearButtonText}\n </StyledButtonCloseColored>\n )\n )}\n </StyledSelectDateFooter>\n ) : null}\n </div>\n );\n};\n\nDatePickerForm.displayName = \"DatePickerForm\";\n","import styled, { css } from \"styled-components\";\nimport { PressedProps } from \"./Pressed\";\nimport { Button } from \"../Button/Button\";\nimport tw from \"twin.macro\";\n\nexport const StyledPressed = styled(Button)<PressedProps>`\n ${(props) =>\n props.active &&\n css`\n ${tw`tw-pointer-events-none`}\n\n ${(props.variant === \"primary\" || props.variant === \"contained\") &&\n css`\n background-color: var(--color-primary-800);\n `}\n\n ${(props.variant === \"secondary\" || props.variant === \"outlined\") &&\n css`\n border-color: var(--color-primary);\n color: var(--color-primary);\n `}\n\n ${props.variant === \"dark transparent\" &&\n css`\n background-color: var(--only-black);\n `}\n\n ${props.variant === \"circle raised\" &&\n css`\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary-hover);\n `}\n\n ${(props.variant === \"tertiary\" || props.variant === \"text colored\") &&\n css`\n background-color: var(--color-primary-200);\n `}\n\n ${(props.variant === \"option\" || props.variant === \"text gray\") &&\n css`\n color: var(--color-primary);\n ${props.children instanceof Array &&\n css`\n background-color: var(--color-theme-300);\n `}\n `}\n `}\n`;\n\nStyledPressed.displayName = \"StyledPressed\";\n","import React, { forwardRef } from \"react\";\nimport classNames from \"classnames\";\nimport { ButtonProps } from \"../Button\";\nimport { StyledPressed } from \"./Styles\";\n\nexport interface PressedProps extends ButtonProps {\n /** Set active state */\n active?: boolean;\n}\n\n/**\n * Pressed wrapper for button component\n * @deprecated\n */\nexport const Pressed = forwardRef<HTMLButtonElement, PressedProps>(\n ({ children, active = false, className, ...args }, ref) => {\n return (\n <StyledPressed\n active={active}\n ref={ref}\n className={classNames({ \"c-pressed__active\": active }, className)}\n {...args}\n >\n {children}\n </StyledPressed>\n );\n }\n);\n\nPressed.displayName = \"Pressed\";\n","import React, {\n ElementType,\n forwardRef,\n Ref,\n MouseEvent,\n CSSProperties,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Pressed } from \"../Pressed\";\nimport { StyledIconComponent } from \"./Styles\";\n\ninterface ISelectDateTargetProps {\n icon: ElementType;\n title?: string;\n onClick?: (event: MouseEvent<Element>) => void;\n forceHideTooltip?: boolean;\n targetIconClassName?: string;\n popperTooltipStyle?: CSSProperties;\n popperTooltipClassName?: string;\n active?: boolean;\n}\n\nexport const SelectDateTarget = forwardRef(\n (\n {\n icon: IconComponent,\n title = \"\",\n onClick,\n forceHideTooltip = false,\n targetIconClassName,\n popperTooltipStyle,\n popperTooltipClassName,\n active = false,\n }: ISelectDateTargetProps,\n ref: Ref<HTMLButtonElement>\n ) => {\n return (\n <Tooltip\n title={title}\n popperTooltipStyle={popperTooltipStyle}\n popperTooltipClassName={popperTooltipClassName}\n disable={forceHideTooltip || title === \"\"}\n >\n <Pressed\n variant=\"text gray\"\n size=\"small\"\n active={active}\n ref={ref}\n onClick={onClick}\n type=\"button\"\n >\n <StyledIconComponent\n as={IconComponent}\n className={classnames(\"date-picker-target\", targetIconClassName)}\n />\n </Pressed>\n </Tooltip>\n );\n }\n);\n\nSelectDateTarget.displayName = \"SelectDateTarget\";\n","import React, {\n ElementType,\n FC,\n useCallback,\n useEffect,\n useMemo,\n useState,\n ReactNode,\n CSSProperties,\n} from \"react\";\nimport moment from \"moment\";\nimport classnames from \"classnames\";\nimport { DayModifiers } from \"react-day-picker\";\nimport { Placement } from \"@popperjs/core\";\nimport { Menu } from \"../Menu/Menu\";\nimport { DatePickerForm } from \"./DatePickerForm\";\nimport { customClassNames } from \"../DatePicker/ClassNames\";\nimport { DaysToModify } from \"./types\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\nimport { SelectDateTarget } from \"./SelectDateTarget\";\nimport {\n StyledConfirmDialog,\n StyledSelectDate,\n StyledSelectDateButton,\n} from \"./Styles\";\n\nconst getUtcTimestampFromDate = (date: Date): number => {\n return moment\n .utc([date.getFullYear(), date.getMonth(), date.getDate()])\n .unix();\n};\n\nconst isDayInRange = (day: Date, data: DaysToModify): boolean => {\n if (data.repeating) {\n const from = new Date(\n day.getFullYear(),\n data.from.getMonth(),\n data.from.getDate()\n );\n const to = new Date(\n day.getFullYear(),\n data.to.getMonth(),\n data.to.getDate()\n );\n return day >= from && day <= to;\n }\n\n return day >= data.from && day <= data.to;\n};\n\ntype TriggerStringType = \"text\" | \"icon\" | \"inline\";\ntype TriggerFunctionType = (text: string) => JSX.Element;\n\ninterface ISelectDate {\n /** Change mode - can be atomic and instant */\n changeMode?: \"atomic\" | \"instant\";\n /** Trigger - can be text, icon, inline, or custom render function */\n trigger?: TriggerStringType | TriggerFunctionType;\n /** Save button text */\n saveButtonText?: string;\n /** Cancel button text */\n cancelButtonText?: string;\n /** Clear button text */\n clearButtonText?: string;\n /** Modal header text */\n modalHeaderText?: string;\n /** Modal cancel button text */\n modalCancelBtnText?: string;\n /** Modal discard button text */\n modalDiscardBtnText?: string;\n /** Modal discard message text */\n modalDiscardMessage?: string;\n /** Tooltip text */\n tooltipText?: string;\n /** Called when day is clicked */\n onDayClick?: (day: Date, modifiers: DayModifiers) => void;\n /** Save changes in atomic mode */\n onSave?: (dates?: { from: number; to: number }) => void;\n /** On cancel closes datepicker or opens disard modal in atomic mode */\n onCancel?: () => void;\n /** Clear dates when they are not required */\n onClear?: () => void;\n /** Use this callback to get is picker visible */\n onToggleDatePicker?: (value: boolean) => void;\n /** Set selected day or days */\n selectedDays?: { from: number; to: number };\n /** Set month */\n defaultMonth?: Date;\n /** Set selection range */\n selectionMode?: string;\n /** Set is date required */\n required?: boolean;\n /** Set default show on date picker (only for text and icon mode) */\n defaultShowDatePicker?: boolean;\n /** Long date format (Always show year) */\n longDateFormat?: boolean;\n /** Set is date required */\n defaultTimezoneAware?: boolean;\n /** Set first day of week */\n firstDayOfWeek?: number;\n /** One of icon types */\n icon?: ElementType;\n /** Default Label text */\n defaultLabelText?: string;\n /** Date format */\n dateFormat?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Target element classes */\n targetClassName?: string;\n /** Target element text classes */\n targetTextClassName?: string;\n /** Target element icon classes */\n targetIconClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Days to modify */\n daysToModify?: DaysToModify[];\n /** Array of weekend days */\n weekends?: number[];\n /** Weekend label */\n weekendLabel?: string;\n /** Allows weekends to be selected */\n weekendIsSelectable?: boolean;\n /** Popper Tooltip style */\n popperTooltipStyle?: CSSProperties;\n /** Popper Tooltip class name*/\n popperTooltipClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Position of selectDate menu */\n position?: Placement;\n /** Disable days before specified date */\n disableDaysBefore?: Date;\n}\n\nexport const SelectDate: FC<ISelectDate> = ({\n changeMode: mode = \"instant\",\n trigger: labelType = \"text\",\n saveButtonText = \"Save\",\n cancelButtonText = \"Cancel\",\n clearButtonText = \"Clear\",\n modalHeaderText = \"Discard changes?\",\n modalDiscardMessage = \"All unsaved changes will be lost.\",\n modalDiscardBtnText = \"OK\",\n modalCancelBtnText = \"Cancel\",\n onDayClick,\n onSave,\n onCancel,\n onToggleDatePicker,\n required: dateRequired = false,\n defaultTimezoneAware = false,\n longDateFormat = false,\n defaultShowDatePicker = false,\n firstDayOfWeek = 0,\n selectedDays,\n selectionMode = \"custom\",\n menuClassName,\n targetClassName,\n icon,\n defaultLabelText = \"Set...\",\n targetTextClassName,\n targetIconClassName,\n backgroundElementClass,\n dateFormat = \"DD MM. YYYY\",\n defaultMonth,\n daysToModify = [],\n weekends = [],\n weekendLabel = \"Weekend\",\n weekendIsSelectable = false,\n tooltipText,\n popperTooltipClassName,\n popperClassName,\n popperTooltipStyle,\n position,\n disableDaysBefore,\n}) => {\n const [timezoneAware, setTimezoneAware] = useState(defaultTimezoneAware);\n\n const labelText = useMemo(() => {\n if (!selectedDays) {\n return defaultLabelText;\n } else {\n const endDate = timezoneAware\n ? moment.unix(selectedDays.to).local()\n : moment.unix(selectedDays.to).utc();\n\n const startDate = timezoneAware\n ? moment.unix(selectedDays.from).local()\n : moment.unix(selectedDays.from).utc();\n\n const currentYear = moment.utc().year();\n\n const formattedEndDate =\n !longDateFormat && endDate.year() === currentYear\n ? endDate.format(dateFormat.replace(/Y|,$/gi, ``).trim())\n : endDate.format(dateFormat);\n const formattedStartDate =\n !longDateFormat && startDate.year() === currentYear\n ? startDate.format(dateFormat.replace(/Y|,$/gi, ``).trim())\n : startDate.format(dateFormat);\n\n if (selectedDays.from === selectedDays.to) {\n return formattedEndDate;\n }\n\n return `${formattedStartDate} - ${formattedEndDate}`;\n }\n }, [\n selectedDays,\n dateFormat,\n timezoneAware,\n defaultLabelText,\n longDateFormat,\n ]);\n\n const modifiedDates = useMemo(() => {\n if (\n typeof selectedDays === \"object\" &&\n !!selectedDays.from &&\n !!selectedDays.to\n ) {\n if (timezoneAware) {\n return {\n from: moment.unix(selectedDays.from).toDate(),\n to: moment.unix(selectedDays.to).toDate(),\n };\n }\n const offsetFrom = moment.unix(selectedDays.from).utcOffset() * 60;\n const offsetTo = moment.unix(selectedDays.to).utcOffset() * 60;\n return {\n from: new Date((selectedDays.from - offsetFrom) * 1000),\n to: new Date((selectedDays.to - offsetTo) * 1000),\n };\n }\n }, [selectedDays, timezoneAware]);\n\n const handleModifiedSave = useCallback(\n (selectedDates) => {\n setTimezoneAware(false);\n if (typeof onSave === \"function\") {\n if (\n typeof selectedDates === \"object\" &&\n Object.prototype.hasOwnProperty.call(selectedDates, \"from\") &&\n Object.prototype.hasOwnProperty.call(selectedDates, \"to\")\n ) {\n onSave({\n from: getUtcTimestampFromDate(selectedDates.from),\n to: getUtcTimestampFromDate(selectedDates.to),\n });\n } else {\n onSave(undefined);\n }\n }\n },\n [onSave]\n );\n\n const getDefaultMonth = useCallback(() => {\n let date = new Date();\n\n if (typeof selectedDays === \"object\" && !!selectedDays.from) {\n date = timezoneAware\n ? new Date(selectedDays.from * 1000)\n : new Date(\n (selectedDays.from -\n moment.unix(selectedDays.from).utcOffset() * 60) *\n 1000\n );\n } else if (defaultMonth) {\n date = defaultMonth;\n }\n\n // forcing second day in month\n return new Date(date.getFullYear(), date.getMonth(), 2);\n }, [defaultMonth, selectedDays, timezoneAware]);\n\n const [month, setMonth] = useState(getDefaultMonth);\n\n const handleMonthChange = useCallback(\n (month) => {\n setMonth(month);\n },\n [setMonth]\n );\n\n const [newDates, setNewDates] = useState(modifiedDates);\n const [showDiscardModal, setShowDiscardModal] = useState(false);\n const [showDatePicker, setShowDatePicker] = useState(defaultShowDatePicker);\n\n const disabledSaveButton = useMemo(() => {\n return (\n modifiedDates?.from === newDates?.from &&\n modifiedDates?.to === newDates?.to\n );\n }, [modifiedDates, newDates]);\n\n useEffect(() => {\n setShowDatePicker(defaultShowDatePicker);\n }, [defaultShowDatePicker]);\n\n useEffect(() => {\n modifiedDates && setNewDates(modifiedDates);\n }, [modifiedDates]);\n\n useEffect(() => {\n typeof onToggleDatePicker === \"function\" &&\n onToggleDatePicker(showDatePicker);\n }, [showDatePicker, onToggleDatePicker]);\n\n useEffect(() => {\n if (!showDatePicker) {\n setMonth(getDefaultMonth());\n }\n }, [showDatePicker, getDefaultMonth]);\n\n const handleSave = useCallback(() => {\n handleModifiedSave(newDates);\n setShowDatePicker(false);\n }, [newDates, handleModifiedSave]);\n\n const handleChange = useCallback(\n (dates) => {\n if (mode !== \"atomic\") {\n handleModifiedSave(dates);\n }\n setNewDates(dates);\n },\n [mode, handleModifiedSave]\n );\n\n const handleBeforeCloseMenu = useCallback(() => {\n let result = true;\n\n if ((modifiedDates && !newDates) || (!modifiedDates && newDates)) {\n result = false;\n }\n\n const selectedDaysFrom = modifiedDates?.from;\n const selectedDaysTo = modifiedDates?.to;\n const newDatesFrom = newDates?.from;\n const newDatesTo = newDates?.to;\n\n if (\n selectedDaysFrom &&\n newDatesFrom &&\n selectedDaysTo &&\n newDatesTo &&\n (moment(selectedDaysFrom).format(\"DD-MM-YYYY\") !==\n moment(newDatesFrom).format(\"DD-MM-YYYY\") ||\n moment(selectedDaysTo).format(\"DD-MM-YYYY\") !==\n moment(newDatesTo).format(\"DD-MM-YYYY\"))\n ) {\n result = false;\n }\n\n if (!result) {\n setShowDiscardModal(true);\n }\n\n return result;\n }, [modifiedDates, newDates]);\n\n const handleClose = useCallback(() => {\n if (mode !== \"atomic\" || handleBeforeCloseMenu()) {\n typeof onCancel === \"function\" && onCancel();\n setShowDatePicker(false);\n }\n }, [mode, onCancel, handleBeforeCloseMenu]);\n\n const handleCancel = useCallback(\n (event) => {\n event && event.preventDefault();\n return handleClose();\n },\n [handleClose]\n );\n\n const handleShowDatePicker = useCallback(() => {\n setShowDatePicker(!showDatePicker);\n }, [showDatePicker]);\n\n const handleCloseDiscardModal = useCallback(() => {\n setShowDiscardModal(false);\n }, []);\n\n const handleClear = useCallback(() => {\n if (!dateRequired) {\n setNewDates(undefined);\n if (mode === \"instant\") {\n handleModifiedSave(undefined);\n }\n }\n }, [mode, dateRequired, handleModifiedSave]);\n\n const handleSaveDiscardModal = useCallback(() => {\n setNewDates(modifiedDates);\n setShowDiscardModal(false);\n setShowDatePicker(false);\n }, [modifiedDates]);\n\n const modifiers = useMemo(() => {\n const userAvailabilities = daysToModify.filter(\n (data) => data.type === \"user_day_off\"\n );\n const globalDaysOff = daysToModify.filter(\n (data) => data.type === \"global_day_off\"\n );\n const selectableGlobalDaysOff = daysToModify.filter(\n (data) => data.type === \"selectable_global_day_off\"\n );\n\n return {\n [customClassNames.userAvailability]: (day: Date): boolean => {\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return userAvailabilities.some((data) =>\n isDayInRange(currentDay, data)\n );\n },\n [customClassNames.weekend]: (day: Date): boolean => {\n return weekends.some((value) => day.getDay() === value);\n },\n [customClassNames.nonWorkingDay]: (day: Date): boolean => {\n // return true if day is weekend day\n if (weekends.some((value) => value === day.getDay())) {\n return true;\n }\n const nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return nonWorkingDays.some((data) => isDayInRange(currentDay, data));\n },\n [customClassNames.disabled]: (day: Date): boolean => {\n if (disableDaysBefore) {\n if (\n day.toJSON().slice(0, 10) < disableDaysBefore.toJSON().slice(0, 10)\n ) {\n return true;\n }\n }\n // return true if day is weekend day\n if (\n !weekendIsSelectable &&\n weekends.some((value) => value === day.getDay())\n ) {\n return true;\n }\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return globalDaysOff.some((data) => isDayInRange(currentDay, data));\n },\n };\n }, [daysToModify, weekends, disableDaysBefore, weekendIsSelectable]);\n\n const renderDay = useCallback(\n (day: Date): ReactNode => {\n const titles: string[] = [];\n\n if (weekends.some((value) => day.getDay() === value)) {\n titles.push(weekendLabel);\n }\n\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n\n daysToModify.forEach((data) => {\n if (isDayInRange(currentDay, data)) {\n titles.push(data.title);\n }\n });\n\n const child = (\n <div className=\"c-DayPicker-Day-Number\">{day.getDate()}</div>\n );\n\n if (titles.length) {\n const title = (\n <div key={`title-wrapper-${day.getDate()}`}>\n {titles.map((title: string, index: number) => (\n <div key={`title-text-${index}`}>{title}</div>\n ))}\n </div>\n );\n\n return (\n <Tooltip\n title={title}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n >\n {child}\n </Tooltip>\n );\n }\n\n return child;\n },\n [\n weekendLabel,\n weekends,\n daysToModify,\n popperTooltipClassName,\n popperTooltipStyle,\n ]\n );\n\n const renderDatePickerForm = useCallback((): JSX.Element => {\n return (\n <DatePickerForm\n onMonthChange={handleMonthChange}\n month={month}\n mode={mode}\n selectionMode={selectionMode}\n dateRequired={dateRequired}\n selectedDays={newDates}\n firstDayOfWeek={firstDayOfWeek}\n saveButtonText={saveButtonText}\n cancelButtonText={cancelButtonText}\n clearButtonText={clearButtonText}\n onDayClick={onDayClick}\n onSave={handleSave}\n onChange={handleChange}\n onCancel={handleCancel}\n onClear={handleClear}\n disabledSaveButton={disabledSaveButton}\n modifiers={modifiers}\n renderDay={renderDay}\n />\n );\n }, [\n handleMonthChange,\n month,\n mode,\n selectionMode,\n dateRequired,\n newDates,\n firstDayOfWeek,\n saveButtonText,\n cancelButtonText,\n clearButtonText,\n onDayClick,\n handleSave,\n handleChange,\n handleCancel,\n handleClear,\n disabledSaveButton,\n modifiers,\n renderDay,\n ]);\n\n const renderTargetEl = useMemo(() => {\n if (labelType === \"icon\" && icon) {\n return (\n <SelectDateTarget\n icon={icon}\n title={tooltipText}\n targetIconClassName={targetIconClassName}\n forceHideTooltip={showDatePicker}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n active={showDatePicker}\n />\n );\n }\n if (typeof labelType === \"function\") {\n return labelType(labelText);\n }\n return (\n <StyledSelectDateButton\n type=\"button\"\n className={classnames(\"date-picker-target\", targetClassName)}\n >\n <span className={targetTextClassName}>{labelText}</span>\n </StyledSelectDateButton>\n );\n }, [\n icon,\n labelText,\n labelType,\n popperTooltipClassName,\n popperTooltipStyle,\n showDatePicker,\n targetClassName,\n targetIconClassName,\n targetTextClassName,\n tooltipText,\n ]);\n\n return (\n <StyledSelectDate className=\"select-date\">\n {labelType !== \"inline\" ? (\n <Menu\n target={renderTargetEl}\n open={showDatePicker}\n onOpen={handleShowDatePicker}\n onBeforeClose={handleBeforeCloseMenu}\n onClose={handleClose}\n position={position}\n menuClassName={menuClassName}\n popperClassName={popperClassName}\n backgroundElementClass={backgroundElementClass}\n >\n {renderDatePickerForm()}\n </Menu>\n ) : (\n renderDatePickerForm()\n )}\n {mode === \"atomic\" ? (\n <StyledConfirmDialog\n className=\"modal-select-date\"\n open={showDiscardModal}\n onCancel={handleCloseDiscardModal}\n onConfirm={handleSaveDiscardModal}\n dialogTitle={modalHeaderText}\n dialogContent={modalDiscardMessage}\n cancelBtnText={modalCancelBtnText}\n confirmBtnText={modalDiscardBtnText}\n />\n ) : null}\n </StyledSelectDate>\n );\n};\n\nSelectDate.displayName = \"SelectDate\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { CloseSmallIcon } from \"../Icons\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\ninterface StyledToastMessageProps {\n $type: \"error\" | \"success\" | \"general\" | \"warning\";\n $dropShadow?: boolean;\n}\n\nexport const StyledToastMessage = styled.div<StyledToastMessageProps>`\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 36px;\n width: fit-content;\n max-width: 100%;\n padding: 10px 8px 10px 16px;\n border-radius: 18px;\n\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${(props) =>\n props.$type === \"error\" &&\n css`\n background-color: #f1a5a5;\n ${props.$dropShadow &&\n css`\n box-shadow: 0px 7px 12px -4px rgba(234, 179, 179, 0.7);\n `}\n `}\n\n ${(props) =>\n props.$type === \"success\" &&\n css`\n background-color: #afdfdb;\n ${props.$dropShadow &&\n css`\n box-shadow: 0px 7px 12px -4px rgba(182, 218, 215, 0.7);\n `}\n `}\n\n ${(props) =>\n props.$type === \"general\" &&\n css`\n background-color: #bddff6;\n ${props.$dropShadow &&\n css`\n box-shadow: 0px 7px 12px -4px rgba(166, 199, 220, 0.7);\n `}\n `}\n\n ${(props) =>\n props.$type === \"warning\" &&\n css`\n background-color: #ffffd1;\n ${props.$dropShadow &&\n css`\n box-shadow: 0px 7px 12px -4px rgba(242, 242, 208, 0.7);\n `}\n `}\n`;\n\nexport const StyledToastMessageText = styled.div`\n ${tw`tw-text-caption-1`}\n ${tw`tw-font-bold`}\n ${tw`tw-truncate`}\n ${tw`tw-mr-2`}\n color: rgba(48, 48, 55, 0.65);\n`;\n\nexport const StyledCloseSmallIcon = styled(CloseSmallIcon)`\n fill: rgba(48, 48, 55, 0.3);\n flex-shrink: 0;\n cursor: pointer;\n\n &:hover {\n fill: rgba(48, 48, 55, 0.65);\n }\n`;\n\nStyledToastMessage.displayName = \"StyledToastMessage\";\nStyledCloseSmallIcon.displayName = \"StyledCloseSmallIcon\";\n","import React, {\n forwardRef,\n HTMLAttributes,\n Ref,\n useEffect,\n useCallback,\n} from \"react\";\nimport {\n StyledToastMessage,\n StyledToastMessageText,\n StyledCloseSmallIcon,\n} from \"./Styles\";\n\nexport interface ToastMessageProps {\n text: string;\n type: \"error\" | \"success\" | \"general\" | \"warning\";\n onClose?: () => void;\n dismissible?: boolean;\n dropShadow?: boolean;\n timeout?: number;\n}\n\nexport const ToastMessage = forwardRef(\n (\n {\n text,\n type,\n onClose,\n dismissible = false,\n dropShadow = false,\n timeout = 0,\n ...rest\n }: ToastMessageProps & HTMLAttributes<HTMLDivElement>,\n ref: Ref<HTMLDivElement> | null | undefined\n ) => {\n const handleOnClose = useCallback(() => {\n if (typeof onClose === \"function\") {\n onClose();\n }\n }, [onClose]);\n\n useEffect(() => {\n if (timeout > 0) {\n const timer = setTimeout(handleOnClose, timeout);\n\n return () => clearTimeout(timer);\n }\n }, [dismissible, timeout, handleOnClose]);\n\n return (\n <StyledToastMessage\n ref={ref}\n $type={type}\n $dropShadow={dropShadow}\n {...rest}\n >\n <StyledToastMessageText>{text}</StyledToastMessageText>\n {dismissible ? <StyledCloseSmallIcon onClick={handleOnClose} /> : null}\n </StyledToastMessage>\n );\n }\n);\n\nToastMessage.displayName = \"ToastMessage\";\n","import React, { FC, ReactElement, cloneElement } from \"react\";\nimport { Transition } from \"react-transition-group\";\nimport { TransitionProps } from \"../types\";\n\ninterface IFadeProps extends Omit<TransitionProps, \"timeout\"> {\n children: ReactElement;\n timeout?: number;\n}\n\nconst defaultStyle = (\n duration: number\n): Partial<{ transition: string; opacity: number }> => ({\n transition: `all ${duration}ms ease-in-out`,\n opacity: 0,\n});\n\nconst transitionStyles = {\n entering: { opacity: 1 },\n entered: { opacity: 1 },\n exiting: { opacity: 0 },\n exited: { opacity: 0 },\n};\n\nexport const Fade: FC<IFadeProps> = ({\n in: inProp = false,\n children,\n style,\n timeout = 500,\n ...rest\n}) => (\n <Transition appear in={inProp} timeout={timeout} {...rest}>\n {(state): ReactElement => {\n return cloneElement(children, {\n style: {\n visibility: state === \"exited\" && !inProp ? \"hidden\" : undefined,\n ...defaultStyle(timeout),\n ...transitionStyles[state],\n ...style,\n ...children.props.style,\n },\n });\n }}\n </Transition>\n);\n\nFade.displayName = \"Fade\";\n","import React, { FC, ReactElement, cloneElement } from \"react\";\nimport { Transition } from \"react-transition-group\";\nimport { TransitionProps } from \"../types\";\n\ninterface ISlide extends Omit<TransitionProps, \"timeout\"> {\n children: ReactElement;\n timeout?: number;\n initialDirection?: string;\n}\n\nexport const Slide: FC<ISlide> = ({\n in: inProp = false,\n children,\n style,\n timeout = 300,\n initialDirection = \"left\",\n ...rest\n}) => {\n let directionSign: string;\n\n switch (initialDirection) {\n case \"right\":\n directionSign = \"100%, 0\";\n break;\n case \"top\":\n directionSign = \"0, -100%\";\n break;\n case \"bottom\":\n directionSign = \"0, 100%\";\n break;\n default:\n directionSign = \"-100%, 0\";\n }\n\n const defaultStyle = (timeout: number): Partial<{ transition: string }> => ({\n transition: `all ${timeout}ms ease`,\n });\n\n const transitionStyles = {\n entering: {\n transform: `translate(0,0)`,\n },\n entered: {\n transform: `translate(0,0)`,\n },\n exiting: {\n transform: `translate(${directionSign})`,\n },\n exited: {\n transform: `translate(${directionSign})`,\n },\n };\n\n return (\n <Transition in={inProp} timeout={timeout} {...rest}>\n {(state): ReactElement => {\n return cloneElement(children, {\n style: {\n visibility: state === \"exited\" && !inProp ? \"hidden\" : undefined,\n ...defaultStyle(timeout),\n ...transitionStyles[state],\n ...style,\n ...children.props.style,\n },\n });\n }}\n </Transition>\n );\n};\n\nSlide.displayName = \"Slide\";\n","import { createGlobalStyle, css } from \"styled-components\";\n\nexport const StyledSlideLeftRight = createGlobalStyle<{\n $direction: \"left\" | \"right\";\n}>`\n\n${(props) =>\n props.$direction === \"left\" &&\n css`\n &.c-slide-enter {\n position: absolute;\n transform: translateX(100%);\n }\n &.c-slide-enter-active {\n transform: translateX(0%);\n transition: all 200ms ease;\n }\n &.c-slide-exit {\n position: absolute;\n }\n &.c-slide-exit-active {\n transform: translateX(-100%);\n transition: all 200ms ease;\n }\n `}\n\n ${(props) =>\n props.$direction === \"right\" &&\n css`\n &.c-slide-enter {\n position: absolute;\n transform: translateX(-100%);\n }\n &.c-slide-enter-active {\n transform: translateX(0%);\n transition: all 200ms ease;\n }\n\n &.c-slide-exit {\n position: absolute;\n }\n\n &.c-slide-exit-active {\n transform: translateX(100%);\n transition: all 200ms ease;\n }\n `}\n\n`;\n","import React, { FC, ReactElement } from \"react\";\nimport { TransitionProps } from \"../types\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { StyledSlideLeftRight } from \"./Styles\";\n\ninterface ISlideLeftRightTransition extends TransitionProps {\n children: ReactElement;\n direction?: \"left\" | \"right\";\n}\n\nexport const SlideLeftRightTransition: FC<ISlideLeftRightTransition> = ({\n children,\n direction = \"left\",\n ...props\n}) => {\n return (\n <CSSTransition timeout={200} classNames=\"c-slide\" unmountOnExit {...props}>\n <>\n {children}\n <StyledSlideLeftRight $direction={direction} />\n </>\n </CSSTransition>\n );\n};\n\nSlideLeftRightTransition.displayName = \"SlideLeftRightTransition\";\n","import React, { ReactElement, FC, cloneElement, useMemo } from \"react\";\nimport { Transition } from \"react-transition-group\";\nimport { TransitionProps } from \"../types\";\n\ninterface IResizeTransition extends TransitionProps {\n children: ReactElement;\n}\n\nexport const ResizeTransition: FC<IResizeTransition> = ({\n in: inProp = false,\n onEnter,\n onExited,\n children,\n style,\n timeout = 200,\n}) => {\n const defaultStyle = useMemo(() => {\n return {\n transitionProperty: \"width, height\",\n transitionDuration: `${timeout}ms`,\n transitionTimingFunction: \"ease\",\n };\n }, [timeout]);\n\n return (\n <Transition\n appear\n in={inProp}\n timeout={timeout}\n onEnter={onEnter}\n onExited={onExited}\n >\n {(state): ReactElement => {\n return cloneElement(children, {\n style: {\n visibility: state === \"exited\" && !inProp ? \"hidden\" : undefined,\n ...defaultStyle,\n ...style,\n ...children.props.style,\n },\n });\n }}\n </Transition>\n );\n};\n\nResizeTransition.displayName = \"ResizeTransition\";\n","import React, { FC, ReactElement, cloneElement } from \"react\";\nimport { Transition } from \"react-transition-group\";\nimport { TransitionProps } from \"../types\";\n\ninterface IRevealProps extends Omit<TransitionProps, \"timeout\"> {\n children: ReactElement;\n timeout?: number;\n oppositeDirection?: boolean;\n}\n\nconst defaultStyle = (\n duration: number\n): Partial<{\n transition: string;\n transform: string;\n transformOrigin: string;\n opacity: number;\n}> => ({\n transition: `all ${duration}ms ease-in`,\n transform: `scaleX(0)`,\n opacity: 0,\n transformOrigin: \"left\",\n});\n\nconst transitionStyles = {\n entering: { transform: `scaleX(1)`, opacity: 1 },\n entered: { transform: `scaleX(1)`, opacity: 1 },\n exiting: { transform: `scaleX(0)`, opacity: 0 },\n exited: { transform: `scaleX(0)`, opacity: 0 },\n};\n\nexport const Reveal: FC<IRevealProps> = ({\n in: inProp = false,\n children,\n style,\n timeout = 200,\n ...rest\n}) => {\n return (\n <Transition appear in={inProp} timeout={timeout} {...rest}>\n {(state): ReactElement => {\n return cloneElement(children, {\n style: {\n ...defaultStyle(inProp ? timeout : 0),\n ...transitionStyles[state],\n ...style,\n ...children.props.style,\n },\n });\n }}\n </Transition>\n );\n};\n\nReveal.displayName = \"Reveal\";\n","import React, { cloneElement, FC, ReactElement, useMemo } from \"react\";\nimport { Transition } from \"react-transition-group\";\nimport { TransitionProps } from \"../types\";\n\ninterface IScale extends TransitionProps {\n children: ReactElement;\n}\n\nconst transitionStyles = {\n entered: { transform: \"scale(1)\" },\n exiting: { transform: \"scale(0)\" },\n};\n\nexport const Scale: FC<IScale> = ({\n in: inProp = false,\n onEnter,\n onExited,\n children,\n style,\n timeout = 200,\n}) => {\n const defaultStyle = useMemo(() => {\n return {\n transitionProperty: \"transform\",\n transitionDuration: `${timeout}ms`,\n transform: \"scale(0)\",\n };\n }, [timeout]);\n\n return (\n <Transition\n in={inProp}\n timeout={timeout}\n onEnter={onEnter}\n onExited={onExited}\n >\n {(state): ReactElement => {\n return cloneElement(children, {\n style: {\n ...defaultStyle,\n ...transitionStyles[state],\n ...style,\n ...children.props.style,\n },\n });\n }}\n </Transition>\n );\n};\n\nScale.displayName = \"Scale\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { Body2 } from \"../Typography\";\nimport { Button, ButtonProps } from \"../Button\";\n\nexport const StyledValueButtonLabel = styled(Body2)`\n opacity: 60%;\n margin-right: 2px;\n`;\n\nStyledValueButtonLabel.displayName = \"StyledValueButtonLabel\";\n\nexport const StyledValueButtonValue = styled(Body2)``;\n\nStyledValueButtonValue.displayName = \"StyledValueButtonValue\";\n\ninterface IStyledValueButton extends ButtonProps {\n $active?: boolean;\n}\n\nexport const StyledValueButton = styled(Button)<IStyledValueButton>`\n ${(props) =>\n props.$active &&\n css`\n ${StyledValueButtonLabel},\n ${StyledValueButtonValue} {\n ${tw`tw-pointer-events-none`}\n color: var(--color-theme-900) !important;\n }\n\n svg {\n fill: var(--color-primary);\n }\n `}\n\n ${(props) =>\n props.$active !== true &&\n css`{\n &:hover {\n ${StyledValueButtonLabel},\n ${StyledValueButtonValue} {\n ${tw`tw-pointer-events-none`}\n color: var(--color-theme-900) !important;\n }\n }\n `}\n`;\n\nStyledValueButton.displayName = \"StyledValueButton\";\n","import React, { forwardRef, ReactElement } from \"react\";\nimport {\n StyledValueButton,\n StyledValueButtonLabel,\n StyledValueButtonValue,\n} from \"./Styles\";\n\ninterface IValueButtonProps {\n /** Set active state */\n active?: boolean;\n /** Label for value */\n label?: string;\n /** Value */\n value: string;\n /** Icon */\n icon?: ReactElement;\n /** Always show icon */\n alwaysShowIcon?: boolean;\n}\n\nexport const ValueButton = forwardRef<HTMLButtonElement, IValueButtonProps>(\n (\n { active = false, alwaysShowIcon = false, icon, label, value, ...args },\n ref\n ) => {\n return (\n <StyledValueButton\n className=\"c-value-button\"\n {...args}\n ref={ref}\n variant=\"text gray\"\n $active={active}\n >\n {icon && alwaysShowIcon\n ? React.cloneElement(icon, {\n style: { display: \"inline-block\" },\n })\n : null}\n {label ? (\n <StyledValueButtonLabel\n color=\"secondary\"\n weight=\"medium\"\n className=\"c-value-button__label\"\n >\n {label}:\n </StyledValueButtonLabel>\n ) : null}\n <StyledValueButtonValue\n color=\"secondary\"\n weight=\"medium\"\n className=\"c-value-button__value\"\n >\n {value}\n </StyledValueButtonValue>\n </StyledValueButton>\n );\n }\n);\n\nValueButton.displayName = \"ValueButton\";\n","import styled from \"styled-components\";\n\nexport const StyledButton = styled.button`\n border: none;\n margin: 0;\n padding: 0;\n width: auto;\n overflow: visible;\n cursor: pointer;\n\n background: transparent;\n\n outline: none;\n color: inherit;\n font: inherit;\n\n line-height: inherit;\n\n -webkit-font-smoothing: inherit;\n -moz-osx-font-smoothing: inherit;\n\n -webkit-appearance: none;\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n`;\n\nStyledButton.displayName = \"StyledButton\";\n","import React, { forwardRef, ComponentPropsWithoutRef } from \"react\";\nimport { StyledButton } from \"./Styles\";\n\nexport const Trigger = forwardRef<\n HTMLButtonElement,\n ComponentPropsWithoutRef<\"button\">\n>(({ children, type = \"button\", ...rest }, ref) => {\n return (\n <StyledButton ref={ref} role=\"button\" type={type} {...rest}>\n {children}\n </StyledButton>\n );\n});\n\nTrigger.displayName = \"Trigger\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { CollapseExpandSingleIcon } from \"../Icons\";\nimport { Trigger } from \"../Trigger\";\nimport { Size } from \"./SelectTrigger\";\n\nexport const StyledSelectTrigger = styled(Trigger)<{\n $size?: Size;\n $invalid?: boolean;\n}>`\n display: flex;\n align-items: center;\n justify-content: space-between;\n border: 1px solid var(--color-theme-500);\n padding: 0 4px 0 8px;\n width: 300px;\n transition: border-color 0.3s ease;\n background-color: var(--input-background-color);\n\n ${({ disabled }) =>\n disabled &&\n css`\n opacity: 50%;\n cursor: default;\n `}\n\n ${({ $invalid, disabled }) =>\n !$invalid &&\n !disabled &&\n css`\n &:hover,\n &:focus {\n border-color: var(--color-primary-700);\n }\n `}\n\n ${({ $invalid }) =>\n $invalid &&\n css`\n ${tw`tw-border-alert`}\n\n &:hover {\n ${tw`tw-border-alert`}\n }\n `}\n\n ${({ $size }) =>\n $size === \"small\" &&\n css`\n height: 24px;\n border-radius: var(--ac-br-6);\n `}\n\n ${({ $size }) =>\n $size === \"regular\" &&\n css`\n height: 32px;\n border-radius: var(--ac-br-8);\n `}\n\n ${({ $size }) =>\n $size === \"big\" &&\n css`\n height: 40px;\n border-radius: var(--ac-br-8);\n `};\n`;\n\nStyledSelectTrigger.displayName = \"StyledSelectTrigger\";\n\nexport const StyledCaretIcon = styled(CollapseExpandSingleIcon)<{\n $open: boolean;\n}>`\n margin-left: 8px;\n flex-shrink: 0;\n transition: transform 200ms ease;\n\n ${({ $open }) =>\n !$open &&\n css`\n transform: rotate(180deg);\n `}\n`;\n\nStyledCaretIcon.displayName = \"StyledCaretIcon\";\n","import React, { forwardRef, ComponentPropsWithoutRef } from \"react\";\nimport { Typography } from \"../Typography/Typography\";\nimport { StyledCaretIcon, StyledSelectTrigger } from \"./Styles\";\n\nexport type Size = \"regular\" | \"big\" | \"small\";\n\nexport interface SelectTriggerProps extends ComponentPropsWithoutRef<\"button\"> {\n size?: Size;\n invalid?: boolean;\n endAdornment?: JSX.Element;\n open?: boolean;\n}\n\nexport const SelectTrigger = forwardRef<HTMLButtonElement, SelectTriggerProps>(\n (\n {\n children,\n type = \"button\",\n size = \"regular\",\n invalid = false,\n open = false,\n endAdornment,\n ...rest\n },\n ref\n ) => {\n return (\n <StyledSelectTrigger\n ref={ref}\n role=\"button\"\n type={type}\n $size={size}\n $invalid={invalid}\n {...rest}\n >\n <Typography\n as=\"div\"\n overflow=\"truncate\"\n whitespace=\"no-wrap\"\n variant={size === \"small\" || size === \"regular\" ? \"Body 2\" : \"Body 1\"}\n >\n {children}\n </Typography>\n\n {endAdornment ? endAdornment : <StyledCaretIcon $open={open} />}\n </StyledSelectTrigger>\n );\n }\n);\n\nSelectTrigger.displayName = \"SelectTrigger\";\n","import styled, { css } from \"styled-components\";\nimport { FontStyle } from \"../FontStyle\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\n\nexport const StyledToggleSlider = styled.div`\n padding-left: 6px;\n position: absolute;\n cursor: pointer;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: space-evenly;\n background-color: transparent;\n border: 1px solid var(--color-theme-600);\n overflow: hidden;\n border-radius: 12.5px;\n font-size: 11px;\n transition: 0.3s;\n\n &::before {\n position: absolute;\n content: \"\";\n user-select: none;\n height: 16px;\n width: 16px;\n left: 4px;\n bottom: 3px;\n background-color: var(--color-theme-600);\n border-radius: 50%;\n transition: 0.3s;\n }\n`;\n\nStyledToggleSlider.displayName = \"StyledToggleSlider\";\n\nexport const StyledToggleSliderOff = styled.div`\n user-select: none;\n transform: translateX(-3px);\n opacity: 1;\n transition-duration: 0.3s;\n white-space: nowrap;\n color: var(--color-theme-600);\n`;\n\nStyledToggleSliderOff.displayName = \"StyledToggleSliderOff\";\n\nexport const StyledToggleSliderOn = styled.div`\n user-select: none;\n transform: translateX(-30px);\n opacity: 0;\n transition-duration: 0.3s;\n white-space: nowrap;\n color: var(--page-paper-main);\n`;\n\nStyledToggleSliderOn.displayName = \"StyledToggleSliderOn\";\n\nexport const StyledToggleCheckbox = styled.input`\n opacity: 0;\n width: 0;\n height: 0;\n\n &:checked + ${StyledToggleSlider}:before {\n background-color: var(--page-paper-main);\n transform: translateX(25px);\n }\n\n &:checked + ${StyledToggleSlider} {\n border-color: var(--color-sucess-green);\n background-color: var(--color-sucess-green);\n color: var(--color-sucess-green);\n\n ${StyledToggleSliderOff} {\n transform: translateX(30px);\n opacity: 0;\n }\n\n ${StyledToggleSliderOn} {\n transform: translateX(0);\n opacity: 1;\n }\n }\n\n &:disabled + ${StyledToggleSlider} {\n opacity: 0.5;\n cursor: default;\n }\n`;\n\nStyledToggleCheckbox.displayName = \"StyledToggleCheckbox\";\n\nconst StyledHelper = css`\n ${StyledToggleSliderOff} {\n transform: translateX(0);\n }\n\n ${StyledToggleCheckbox} + ${StyledToggleSlider}:before {\n transform: translateX(3px);\n }\n\n ${StyledToggleCheckbox}:checked + ${StyledToggleSlider} {\n &::before {\n transform: translateX(23px);\n }\n\n ${StyledToggleSliderOn} {\n transform: translateX(-2px);\n }\n }\n`;\n\nexport const StyledToggle = styled.label<{ $isHovered?: boolean }>`\n ${FontStyle}\n ${BoxSizingStyle}\n\n position: relative;\n display: inline-block;\n width: 50px;\n height: 24px;\n font-size: 13px;\n font-weight: bold;\n line-height: 13px;\n border-radius: 12.5px;\n\n &:hover {\n ${StyledHelper}\n }\n\n &:focus {\n outline: 1px solid var(--color-sucess-green);\n outline-offset: 4px;\n }\n\n ${(props) =>\n props.$isHovered &&\n css`\n ${StyledHelper}\n `}\n`;\n\nStyledToggle.displayName = \"StyledToggle\";\n","import React, { forwardRef } from \"react\";\nimport classNames from \"classnames\";\nimport {\n StyledToggle,\n StyledToggleCheckbox,\n StyledToggleSlider,\n StyledToggleSliderOff,\n StyledToggleSliderOn,\n} from \"./Styles\";\n\nexport interface IToggleProps {\n /** Set hovered state. */\n hovered?: boolean;\n /** Custom classname for styling. */\n className?: string;\n}\n\nexport const Toggle = forwardRef<\n HTMLInputElement,\n IToggleProps & Omit<React.ComponentPropsWithoutRef<\"div\">, keyof IToggleProps>\n>(({ hovered, className, ...args }, ref) => {\n return (\n <StyledToggle\n className={classNames(\"c-toggle\", className)}\n $isHovered={hovered}\n tabIndex={0}\n >\n <StyledToggleCheckbox ref={ref} type=\"checkbox\" {...args} />\n <StyledToggleSlider>\n <StyledToggleSliderOn>ON</StyledToggleSliderOn>\n <StyledToggleSliderOff>OFF</StyledToggleSliderOff>\n </StyledToggleSlider>\n </StyledToggle>\n );\n});\n\nToggle.displayName = \"Toggle\";\n","import styled, { css } from \"styled-components\";\nimport { CollapseExpandSingleIcon, CloseSmallIcon } from \"../Icons/collection\";\nimport { Input } from \"../Input\";\nimport { StyledInputWrapper } from \"../Input/Styles\";\nimport tw from \"twin.macro\";\n\nexport const StyledComboBoxInput = styled(Input)<{ $loading?: boolean }>`\n overflow: hidden;\n text-overflow: ellipsis;\n width: 100%;\n`;\n\nStyledComboBoxInput.displayName = \"StyledComboBoxInput\";\n\nconst StyledIconDefaults = css`\n flex-shrink: 0;\n cursor: pointer;\n`;\n\nexport const StyledComboBoxCollapseExpandSingleIcon = styled(\n CollapseExpandSingleIcon\n)<{ $open?: boolean }>`\n ${StyledIconDefaults};\n color: var(--color-theme-600);\n transform: rotate(180deg);\n\n ${(props) =>\n props.$open &&\n css`\n transform: rotate(0deg);\n `}\n`;\n\nStyledComboBoxCollapseExpandSingleIcon.displayName =\n \"StyledComboBoxCollapseExpandSingleIcon\";\n\nexport const StyledComboBoxCloseSmallIcon = styled(CloseSmallIcon)`\n ${StyledIconDefaults};\n opacity: 0;\n transition-property: all;\n transition-duration: 0.2s;\n transition-delay: 0.5s;\n\n ${StyledComboBoxInput}:hover, ${StyledInputWrapper}:hover & {\n opacity: 1;\n transition-delay: 0s;\n }\n`;\n\nStyledComboBoxCloseSmallIcon.displayName = \"StyledComboBoxCloseSmallIcon\";\n\nexport const StyledComboBoxList = styled.div<{ $width?: number }>`\n min-width: 260px;\n background-color: var(--page-paper-main);\n border-radius: 8px;\n border: 1px solid var(--border-primary);\n box-shadow: var(--shadow-tertiary);\n margin: 8px 0;\n width: ${(props) => `${props.$width}px`};\n`;\n\nStyledComboBoxList.displayName = \"StyledComboBoxList\";\n\nexport const StyledChipWrapper = styled.div<{\n $autoSize: string;\n $open?: boolean;\n}>`\n ${tw`tw-flex`};\n ${tw`tw-gap-1`};\n ${tw`tw-flex-1`};\n\n overflow: ${({ $open }) => ($open ? \"auto\" : \"hidden\")};\n\n ${({ $autoSize }) =>\n $autoSize === \"auto\" &&\n css`\n ${tw`tw-flex-wrap`};\n ${tw`tw-w-full`};\n `}\n\n ${({ $autoSize }) =>\n $autoSize !== \"auto\" &&\n css`\n align-items: center;\n `}\n`;\nStyledChipWrapper.displayName = \"StyledChipWrapper\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { CloseSmallIcon } from \"../Icons\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { Trigger } from \"../Trigger\";\nimport { FontStyle } from \"../FontStyle\";\nimport { StyledTypography } from \"../Typography/Styles\";\n\nexport const ChipContainer = styled.div<{\n $showClose?: boolean;\n $size?: string;\n $color?: string;\n $backgroundColor?: string;\n}>`\n max-width: 220px;\n ${tw`tw-h-6`}\n ${tw`tw-rounded`}\n ${tw`tw-flex`}\n ${tw`tw-items-center`}\n ${tw`tw-pl-1.5`}\n ${tw`tw-overflow-hidden`}\n\n ${FontStyle}\n ${BoxSizingStyle}\n\n // font\n ${tw`tw-text-body-2`}\n ${tw`tw-text-theme-900`}\n ${tw`tw-leading-regular`}\n ${tw`tw-tracking-regular`}\n ${tw`tw-font-regular`}\n\n // background\n ${tw`tw-bg-theme-400`}\n\n ${StyledTypography} {\n ${tw`tw-flex-1`}\n ${tw`tw-truncate`}\n }\n\n ${({ $color }) =>\n $color &&\n css`\n ${StyledTypography} {\n color: ${$color};\n }\n `}\n\n ${({ $backgroundColor }) =>\n $backgroundColor &&\n css`\n background-color: ${$backgroundColor};\n `}\n\n ${(props) =>\n props.$showClose\n ? null\n : css`\n ${tw`tw-pr-1.5`}\n `}\n\n ${(props) =>\n props.$size === \"regular\" &&\n css`\n height: 24px;\n `}\n\n ${(props) =>\n props.$size === \"small\" &&\n css`\n height: 18px;\n `}\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n height: 30px;\n `}\n`;\n\nChipContainer.displayName = \"ChipContainer\";\n\nexport const ChipLabel = styled.span`\n ${tw`tw-w-full`}\n ${tw`tw-truncate`}\n`;\n\nChipLabel.displayName = \"ChipLabel\";\n\nexport const ChipTrigger = styled(Trigger)<{ $size?: string }>`\n ${tw`tw-flex`}\n ${tw`tw-items-center`}\n ${tw`tw-justify-center`}\n ${tw`tw-ml-0.5`}\n\n\n &:hover {\n ${tw`tw-bg-theme-transparent-400`}\n }\n\n ${(props) =>\n props.$size === \"regular\" &&\n css`\n height: 24px;\n width: 24px;\n `}\n\n ${(props) =>\n props.$size === \"small\" &&\n css`\n height: 18px;\n width: 18px;\n `}\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n height: 30px;\n width: 30px;\n `}\n`;\n\nChipTrigger.displayName = \"ChipTrigger\";\n\nexport const ChipCloseIcon = styled(CloseSmallIcon)`\n ${tw`tw-text-theme-700`}\n`;\n\nChipCloseIcon.displayName = \"ChipCloseIcon\";\n","import React, { ReactNode, useMemo } from \"react\";\nimport { ChipCloseIcon, ChipContainer, ChipTrigger } from \"./Styles\";\nimport { InputSize } from \"../Input/types\";\nimport {\n Typography,\n Variant,\n ITypographyProps,\n} from \"../Typography/Typography\";\n\nexport interface ChipProps {\n label: string;\n onClose?: React.MouseEventHandler<HTMLButtonElement>;\n leftAdornment?: ReactNode;\n size?: InputSize;\n color?: string;\n backgroundColor?: string;\n closeClassName?: string;\n variant?: Variant;\n typographyProps?: ITypographyProps;\n}\n\nexport const Chip = React.forwardRef<\n HTMLDivElement,\n ChipProps & Omit<React.ComponentPropsWithoutRef<\"div\">, keyof ChipProps>\n>(\n (\n {\n leftAdornment,\n label,\n onClose,\n size = \"regular\",\n color,\n backgroundColor,\n closeClassName,\n variant,\n typographyProps,\n ...rest\n },\n ref\n ) => {\n const showClose = typeof onClose === \"function\";\n const _variant = useMemo(() => {\n if (typeof variant !== \"undefined\") {\n return variant;\n }\n switch (size) {\n case \"regular\":\n return \"Body 2\";\n case \"big\":\n return \"Body 1\";\n default:\n return \"Caption 1\";\n }\n }, [variant, size]);\n return (\n <ChipContainer\n {...rest}\n ref={ref}\n $size={size}\n $showClose={showClose}\n $color={color}\n $backgroundColor={backgroundColor}\n data-testid=\"chip-container\"\n >\n {leftAdornment}\n <Typography\n variant={_variant}\n data-testid=\"chip-typography\"\n {...typographyProps}\n >\n {label}\n </Typography>\n {showClose ? (\n <ChipTrigger\n $size={size}\n onClick={onClose}\n className={closeClassName}\n >\n <ChipCloseIcon fill={color ? color : \"currentColor\"} />\n </ChipTrigger>\n ) : null}\n </ChipContainer>\n );\n }\n);\n\nChip.displayName = \"Chip\";\n","export const ConditionalWrapper = ({ condition, wrap, children }) =>\n condition ? wrap(children) : children;\n","import React, {\n FC,\n useCallback,\n useState,\n useEffect,\n useRef,\n useMemo,\n Fragment,\n} from \"react\";\nimport { RadioButton } from \"../RadioButton\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport { IconButton } from \"../IconButton\";\nimport {\n IAutocompleteProps,\n isOptionGroup,\n} from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Popper } from \"../Popper\";\nimport { IOptionGroupProps, IOptionItemProps } from \"../Select\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { SpinnerLoader } from \"../Loaders/Spinner/SpinnerLoader\";\nimport { OptionContent } from \"../Select/OptionContent/OptionContent\";\nimport {\n StyledComboBoxCloseSmallIcon,\n StyledComboBoxCollapseExpandSingleIcon,\n StyledComboBoxInput,\n StyledComboBoxList,\n StyledChipWrapper,\n} from \"./Styles\";\nimport { InputSize } from \"../Input/types\";\nimport { InputAdornment } from \"../Input/InputAdornment\";\nimport { Checkbox } from \"../Checkbox\";\nimport { Chip } from \"../Chip\";\nimport { StyledInput, StyledInputWrapper } from \"../Input/Styles\";\nimport { useOnClickOutside } from \"../../hooks/useOnClickOutside\";\nimport { Avatar, AvatarProps } from \"../Avatar\";\nimport { Trigger } from \"../Trigger\";\nimport { Typography } from \"../Typography/Typography\";\nimport tw from \"twin.macro\";\nimport { Portal } from \"../../helpers\";\nimport { ConditionalWrapper } from \"../../helpers/ConditionWrapper/ConditionWrapper\";\nimport classNames from \"classnames\";\nimport { useIsFirstRender } from \"../../hooks/useIsFirstRender\";\nimport { MultiAvatar } from \"../MultiAvatar\";\n\nexport interface IComboBoxProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"clearInputOnSelect\"\n > {\n /** Set combobox in to loading state */\n loading?: boolean;\n /** Text to display while in loading state */\n loadingText?: string;\n /** onChange callback */\n onChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** disable Input element */\n disabled?: boolean;\n /** Combobox size */\n size?: InputSize;\n /** Invalid state */\n invalid?: boolean;\n /** Render Chip */\n renderChip?: <T extends IOptionItemProps>(\n item: T,\n key?: string | number\n ) => JSX.Element;\n /** Close menu on change */\n forceCloseMenu?: boolean;\n /** Limit chips */\n limitChips?: number;\n /** Hidden number text */\n hiddenNumberText?: (hidden: number) => string;\n /** Render Autocomplete in <Portal> */\n inPortal?: boolean;\n /** inputWrapperClassName */\n inputWrapperClassName?: string;\n /** scrollWrapper */\n scrollWrapper?: boolean;\n /** onClose (f) will be called when Popper close */\n onClose?: () => void;\n /** onClear (f) will be called when user clear input on X icon*/\n onClear?: () => void;\n}\n\nexport const ComboBox: FC<IComboBoxProps> = ({\n options = [],\n selected,\n loading = false,\n loadingText,\n onChange,\n placeholder,\n handleEmptyAction,\n disabled = false,\n size = \"regular\",\n invalid = false,\n type = \"single\",\n renderChip,\n forceCloseMenu = type === \"single\",\n renderOption,\n limitChips = 2,\n hiddenNumberText,\n inPortal = false,\n inputWrapperClassName,\n scrollWrapper,\n onClose,\n onClear,\n ...prop\n}) => {\n const selectedName = useMemo(() => {\n let value = \"\";\n if (!selected) {\n return value;\n }\n options.map((v) => {\n if ((v as IOptionGroupProps)?.options) {\n return (v as IOptionGroupProps).options.find((q) => {\n if (q.id === selected) {\n value = q.name;\n return;\n }\n });\n } else {\n if (v.id === selected) {\n value = v.name;\n return;\n }\n }\n });\n return value;\n }, [options, selected]);\n const [value, setValue] = useState(selectedName);\n const handleOnChange = useCallback((e) => setValue(e.target.value), []);\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(childNode, elementRef);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const chipWrapper = useRef<HTMLDivElement>(null);\n const comboBoxRef = useRef<HTMLDivElement | null>(null);\n\n const [open, setOpen] = useState(false);\n const isFirstRender = useIsFirstRender();\n\n useOnClickOutside(wrapperRef, (e) => {\n if (e.target && comboBoxRef.current?.contains(e.target as Node)) {\n return;\n }\n setOpen(false);\n });\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Escape\" && open) {\n setOpen(false);\n setValue(selectedName);\n e.stopPropagation();\n }\n if (e.key === \"Enter\" && type === \"multiple\") {\n setValue(\"\");\n }\n },\n [open, selectedName, type]\n );\n\n useEffect(() => {\n open && childNode?.current?.focus();\n !open && childNode?.current?.blur();\n }, [childNode, open]);\n\n useEffect(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n useEffect(() => {\n if (!open && !isFirstRender) {\n if (typeof onClose === \"function\") {\n onClose();\n }\n }\n }, [isFirstRender, onClose, open]);\n\n const emptyAction = useCallback(\n (v) => {\n handleEmptyAction?.(v);\n setOpen(false);\n },\n [handleEmptyAction]\n );\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (selectedValue !== selected && typeof onChange === \"function\") {\n onChange(selectedValue);\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n },\n [forceCloseMenu, onChange, selected]\n );\n\n const onOpen = useCallback(() => {\n if (!disabled) {\n setOpen(true);\n }\n }, [disabled]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n if (type === \"multiple\") {\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <Checkbox {...props} />\n </>\n );\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <RadioButton {...props} />\n </>\n );\n },\n [type, renderOption]\n );\n\n const handleDeselect = useCallback(\n (e) => {\n e.stopPropagation();\n if (type === \"multiple\") {\n onChange?.([]);\n onClear?.();\n } else {\n onChange?.(\"\");\n onClear?.();\n }\n\n setOpen(false);\n },\n [type, onChange, onClear]\n );\n\n const handleMouseDown = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const handleBlur = useCallback(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n const renderChipAdornment = useCallback(\n (option, index) => {\n if (typeof renderChip === \"function\") {\n return renderChip(option, index);\n }\n const avatarProps: Partial<AvatarProps> = {\n size: 18,\n };\n switch (size) {\n case \"big\":\n avatarProps.size = 22;\n break;\n case \"small\":\n avatarProps.size = 14;\n break;\n }\n const leftAdornment = option.image ? (\n <Avatar\n css={`\n ${tw`tw-my-0.5`}\n ${tw`tw-mr-0.5`}\n `}\n url={option.image}\n {...avatarProps}\n />\n ) : undefined;\n\n const onClose = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (Array.isArray(selected) && selected.includes(option.id)) {\n if (typeof onChange === \"function\") {\n const newSelected = selected.filter((item) => item !== option.id);\n onChange(newSelected);\n }\n }\n };\n\n let showOnClose = true;\n if (disabled) {\n showOnClose = false;\n }\n if (option.color) {\n showOnClose = false;\n }\n\n return (\n <Chip\n className=\"c-combo-box-chip\"\n leftAdornment={leftAdornment}\n label={option.name}\n key={index}\n backgroundColor={option.color}\n color=\"#303037\"\n onClose={showOnClose ? onClose : undefined}\n size={size}\n variant=\"Caption 2\"\n />\n );\n },\n [disabled, onChange, renderChip, selected, size]\n );\n\n const autoSize = useMemo(() => {\n if (\n type === \"multiple\" &&\n open &&\n Array.isArray(selected) &&\n selected.length > 1\n ) {\n return \"auto\";\n }\n return size;\n }, [open, selected, size, type]);\n\n const startAdornment = useMemo(() => {\n if (type === \"multiple\" && Array.isArray(selected) && selected.length > 0) {\n const elements: JSX.Element[] = [];\n let total = 0;\n options.forEach((option, index) => {\n const isGrouped = isOptionGroup(option);\n if (selected.includes(option.id) && !isGrouped) {\n total = total + 1;\n elements.push(renderChipAdornment(option, index));\n } else if (isGrouped) {\n const groupedOptions = option.options.filter((o) =>\n selected.includes(o.id)\n );\n total = total + groupedOptions.length;\n if (groupedOptions.length > 0) {\n groupedOptions.forEach((o, _index) => {\n elements.push(renderChipAdornment(o, `${index}_${_index}`));\n });\n }\n }\n });\n let hidden = 0;\n if (!open && limitChips > 0 && elements.length > limitChips) {\n hidden = elements.splice(\n limitChips,\n elements.length - limitChips\n ).length;\n }\n\n return (\n <Fragment>\n {elements}\n {hidden > 0 && (\n <Typography\n variant={\n size === \"small\"\n ? \"Caption 1\"\n : size === \"regular\"\n ? \"Body 2\"\n : \"Body 1\"\n }\n css={`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n `}\n >\n {typeof hiddenNumberText === \"function\"\n ? hiddenNumberText(hidden)\n : `+${hidden}`}\n </Typography>\n )}\n </Fragment>\n );\n }\n if (type === \"single\" && selected) {\n let optionItem;\n options.forEach((option) => {\n if (isOptionGroup(option)) {\n optionItem = option.options.find((child) => child.id === selected);\n } else if (!optionItem && option.id === selected) {\n optionItem = option;\n }\n });\n if (optionItem && optionItem.image) {\n const avatarSize = size === \"big\" ? 22 : size === \"regular\" ? 18 : 14;\n if (Array.isArray(optionItem.image)) {\n return <MultiAvatar url={optionItem.image} size={avatarSize} />;\n }\n return <Avatar url={optionItem.image} size={avatarSize} />;\n }\n }\n\n return undefined;\n }, [\n type,\n selected,\n options,\n open,\n limitChips,\n hiddenNumberText,\n renderChipAdornment,\n size,\n ]);\n\n const showXIcon =\n Array.isArray(selected) && type === \"multiple\" && selected.length > 0;\n\n const hasSelected =\n type === \"multiple\" && Array.isArray(selected) && selected.length > 0;\n\n return (\n <div className=\"c-combo-box\">\n {type === \"multiple\" ? (\n <>\n <StyledInputWrapper\n $disabled={disabled}\n $size={size}\n $invalid={invalid}\n ref={comboBoxRef}\n css={`\n display: flex;\n justify-content: space-between;\n flex: 1;\n height: ${autoSize === \"auto\" ? \"auto\" : undefined};\n overflow-y: ${autoSize === \"auto\" && scrollWrapper\n ? \"scroll\"\n : undefined};\n max-height: ${autoSize === \"auto\" && scrollWrapper\n ? \"80px\"\n : undefined};\n `}\n className={classNames(\n \"c-combo-box-input-wrapper\",\n inputWrapperClassName\n )}\n onClick={() => {\n elementRef.current?.focus();\n }}\n >\n <StyledChipWrapper\n $autoSize={autoSize}\n $open={open}\n ref={chipWrapper}\n >\n {startAdornment}\n <StyledInput\n className=\"c-combo-box-input\"\n onBlur={handleBlur}\n onFocus={onOpen}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={!hasSelected ? placeholder : undefined}\n disabled={disabled}\n $size={size}\n $loading={loading}\n style={{\n display: \"flex\",\n flex: 1,\n alignSelf: \"center\",\n width: autoSize === \"auto\" ? \"auto\" : \"100%\",\n }}\n />\n </StyledChipWrapper>\n {!disabled && (\n <>\n {loading ? (\n <SpinnerLoader />\n ) : (\n <>\n {showXIcon && (\n <Trigger\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n data-testid=\"deselect-all\"\n css={`\n display: flex;\n justify-content: center;\n `}\n >\n <StyledComboBoxCloseSmallIcon />\n </Trigger>\n )}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </>\n )}\n </>\n )}\n </StyledInputWrapper>\n </>\n ) : (\n <StyledComboBoxInput\n className={classNames(\"c-combo-box-input\", inputWrapperClassName)}\n onBlur={handleBlur}\n onFocus={onOpen}\n wrapRef={comboBoxRef}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={placeholder}\n disabled={disabled}\n size={size}\n invalid={invalid}\n $loading={loading}\n startAdornment={startAdornment}\n endAdornment={\n !disabled ? (\n <InputAdornment disablePointerEvents={disabled}>\n {loading ? (\n <SpinnerLoader />\n ) : selected ? (\n <IconButton\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n >\n <StyledComboBoxCloseSmallIcon />\n </IconButton>\n ) : null}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </InputAdornment>\n ) : null\n }\n />\n )}\n\n {!disabled ? (\n <ConditionalWrapper\n condition={inPortal}\n wrap={(children) => <Portal>{children}</Portal>}\n >\n <Popper\n anchorEl={comboBoxRef.current}\n open={open}\n placement=\"bottom\"\n style={{\n zIndex: 10,\n width: comboBoxRef.current?.clientWidth,\n }}\n ref={wrapperRef}\n strategy=\"fixed\"\n >\n <RemoveScroll noIsolation allowPinchZoom>\n <StyledComboBoxList $width={comboBoxRef.current?.clientWidth}>\n <Autocomplete\n {...prop}\n inputEl={childNode}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n type={type}\n handleEmptyAction={emptyAction}\n />\n </StyledComboBoxList>\n </RemoveScroll>\n </Popper>\n </ConditionalWrapper>\n ) : null}\n </div>\n );\n};\n\nComboBox.displayName = \"ComboBox\";\n","import { useRef } from \"react\";\n\nexport const useIsFirstRender = () => {\n const isFirst = useRef(true);\n if (isFirst.current) {\n isFirst.current = false;\n\n return true;\n }\n\n return isFirst.current;\n};\n","import { RefObject, useEffect } from \"react\";\n\nexport function useOnClickOutside<T extends HTMLElement>(\n ref: RefObject<T>,\n handler: (e: MouseEvent) => void\n) {\n useEffect(\n () => {\n const listener = (event) => {\n // Do nothing if clicking ref's element or descendent elements\n if (!ref.current || ref.current.contains(event.target)) {\n return;\n }\n handler(event);\n };\n document.addEventListener(\"mousedown\", listener);\n document.addEventListener(\"touchstart\", listener);\n return () => {\n document.removeEventListener(\"mousedown\", listener);\n document.removeEventListener(\"touchstart\", listener);\n };\n },\n // Add ref and handler to effect dependencies\n // It's worth noting that because passed in handler is a new ...\n // ... function on every render that will cause this effect ...\n // ... callback/cleanup to run every render. It's not a big deal ...\n // ... but to optimize you can wrap handler in useCallback before ...\n // ... passing it into this hook.\n [ref, handler]\n );\n}\n","import styled from \"styled-components\";\nimport { Body2 } from \"../../Typography\";\nimport { AddCrossIcon } from \"../../Icons/collection\";\n\nexport const StyledText = styled(Body2)`\n transition: ease 0.3s all;\n color: var(--color-primary);\n position: relative;\n`;\n\nStyledText.displayName = \"StyledText\";\n\nexport const StyledAddCrossIcon = styled(AddCrossIcon)`\n fill: var(--page-paper-main);\n background: var(--color-primary);\n border-radius: 30px;\n padding: 7px;\n box-sizing: content-box;\n`;\nStyledAddCrossIcon.displayName = \"StyledAddCrossIcon\";\n\nexport const StyledAddToListButton = styled(\"button\")`\n display: flex;\n justify-content: center;\n gap: 12px;\n align-items: center;\n height: 32px;\n padding: 4px 16px 4px 4px;\n position: relative;\n background: none;\n border: none;\n cursor: pointer;\n\n &:before {\n content: \"\";\n display: block;\n height: 2px;\n width: 0%;\n position: absolute;\n left: 16px;\n background: var(--color-primary);\n transition: ease 0.3s all;\n border-radius: 30px;\n opacity: 0;\n }\n\n &:hover {\n ${StyledText} {\n color: var(--page-paper-main);\n }\n\n &:before {\n height: 32px;\n width: 100%;\n left: 0;\n opacity: 1;\n }\n\n ${StyledAddCrossIcon} {\n fill: var(--page-paper-main);\n transform: rotate(90deg);\n transition: ease 0.3s;\n }\n }\n`;\n\nStyledAddToListButton.displayName = \"StyledAddToListButton\";\n","import React, { forwardRef, ButtonHTMLAttributes } from \"react\";\nimport classnames from \"classnames\";\nimport {\n StyledAddCrossIcon,\n StyledAddToListButton,\n StyledText,\n} from \"./Styles\";\n\nexport interface IAddToListButton\n extends ButtonHTMLAttributes<HTMLButtonElement> {\n /** Text to display */\n text: string;\n /** CSS classes */\n className?: string;\n}\n\nexport const AddToListButton = forwardRef<HTMLButtonElement, IAddToListButton>(\n ({ text, className, ...rest }, ref) => {\n return (\n <StyledAddToListButton\n ref={ref}\n className={classnames(\"c--add-to-list-btn\", className)}\n {...rest}\n >\n <StyledAddCrossIcon />\n <StyledText weight=\"medium\">{text}</StyledText>\n </StyledAddToListButton>\n );\n }\n);\n\nAddToListButton.displayName = \"AddToListButton\";\n","import styled, { css } from \"styled-components\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\n\ninterface IStyledProgressBar {\n $color?: string;\n $height?: number;\n $width?: number;\n}\n\nexport const StyledProgressBar = styled.div<IStyledProgressBar>`\n ${BoxSizingStyle}\n\n ${(props) =>\n props.$width\n ? css`\n width: ${props.$width}%;\n `\n : css`\n width: 100%;\n `}\n\n ${(props) =>\n props.$color\n ? css`\n background-color: ${props.$color};\n `\n : css`\n background-color: var(--color-theme-300);\n `}\n`;\n\nStyledProgressBar.displayName = \"StyledProgressBar\";\n\nexport const StyledProgressBarProgress = styled.div<IStyledProgressBar>`\n ${(props) =>\n props.$height\n ? css`\n height: ${props.$height}px;\n `\n : css`\n height: 3px;\n `}\n\n ${(props) =>\n props.$color\n ? css`\n background-color: ${props.$color};\n `\n : css`\n background-color: var(--color-secondary);\n `}\n`;\n\nStyledProgressBarProgress.displayName = \"StyledProgressBarProgress\";\n","import React, { FC, useMemo } from \"react\";\nimport { StyledProgressBar, StyledProgressBarProgress } from \"./Styles\";\n\nexport interface IProgressBarProps {\n /** Progress prop can be number. */\n progress: number;\n /** Custom classname for styling. */\n backgroundColor?: string;\n /** Custom classname for styling. */\n progressColor?: string;\n /** Progress height. */\n stroke?: number;\n /** Progress width in percentage. */\n width?: number;\n}\n\nexport const ProgressBar: FC<IProgressBarProps> = ({\n progress = 0,\n backgroundColor,\n progressColor,\n stroke = 3,\n width = 100,\n}) => {\n const progressNumber = useMemo(() => {\n let width = progress;\n if (progress > 100) {\n width = 100;\n }\n if (progress < 0) {\n width = 0;\n }\n return width;\n }, [progress]);\n\n const widthPercent = useMemo(() => {\n let width_percent = width;\n\n if (width > 100) {\n width_percent = 100;\n }\n\n if (width <= 0) {\n width_percent = 100;\n }\n\n return width_percent;\n }, [width]);\n\n const height = useMemo(() => {\n let stroke_min = stroke;\n\n if (stroke <= 0) {\n stroke_min = 3;\n }\n\n return stroke_min;\n }, [stroke]);\n\n return (\n <StyledProgressBar\n className=\"c-progress-bar\"\n $color={backgroundColor}\n $width={widthPercent}\n >\n <StyledProgressBarProgress\n className=\"c-progress-bar__progress\"\n style={{ width: `${progressNumber}%` }}\n $height={height}\n $color={progressColor}\n />\n </StyledProgressBar>\n );\n};\n\nProgressBar.displayName = \"ProgressBar\";\n","import styled, { css } from \"styled-components\";\n\ninterface IStyledProgressRing {\n $color?: string;\n $strokeDashOffset?: number;\n $fontSize?: number;\n}\n\nexport const StyledSvg = styled.svg`\n transform: rotate(-90deg);\n`;\n\nStyledSvg.displayName = \"StyledSvg\";\n\nexport const StyledBackgroundCircle = styled.circle<IStyledProgressRing>`\n fill: transparent;\n transition: stroke-dashoffset 0.5s linear;\n\n ${(props) =>\n props.$color\n ? css`\n stroke: ${props.$color};\n `\n : css`\n stroke: var(--color-theme-transparent-300);\n `}\n\n ${(props) =>\n props.$strokeDashOffset &&\n css`\n stroke-dashoffset: ${props.$strokeDashOffset};\n `}\n`;\n\nStyledBackgroundCircle.displayName = \"StyledBackgroundCircle\";\n\nexport const StyledForegroundCircle = styled.circle<IStyledProgressRing>`\n fill: transparent;\n transition: stroke-dashoffset 0.5s linear;\n\n ${(props) =>\n props.$color\n ? css`\n stroke: ${props.$color};\n `\n : css`\n stroke: var(--color-secondary);\n `}\n\n ${(props) =>\n props.$strokeDashOffset &&\n css`\n stroke-dashoffset: ${props.$strokeDashOffset};\n `}\n`;\n\nStyledForegroundCircle.displayName = \"StyledForegroundCircle\";\n\nexport const StyledProgressRingPercentage = styled.text<IStyledProgressRing>`\n transform: rotate(90deg);\n\n ${(props) =>\n props.$color\n ? css`\n fill: ${props.$color};\n `\n : css`\n fill: var(--color-secondary);\n `}\n\n ${(props) =>\n props.$fontSize\n ? css`\n font-size: ${props.$fontSize}px;\n `\n : css`\n font-size: 10px;\n `}\n`;\n\nStyledProgressRingPercentage.displayName = \"StyledProgressRingPercentage\";\n","import React, { useMemo } from \"react\";\nimport {\n StyledBackgroundCircle,\n StyledForegroundCircle,\n StyledSvg,\n StyledProgressRingPercentage,\n} from \"./Styles\";\nimport classNames from \"classnames\";\n\nexport interface ProgressRingProps {\n /** Progress prop can be number. */\n progress?: number;\n /** Custom classname for styling. */\n backgroundColor?: string;\n /** Custom classname for styling. */\n progressColor?: string;\n /** Custom classname for styling. */\n radius?: number;\n /** Custom classname for styling. */\n stroke?: number;\n /** Applies passed classes */\n className?: string;\n /** Should the percentage be displayed inside ring or not */\n showPercentage?: boolean;\n /** Size of displayed percentage */\n fontSize?: number;\n}\n\nexport const ProgressRing = ({\n backgroundColor,\n progressColor,\n progress = 0,\n radius = 20,\n stroke = 3,\n className,\n showPercentage = false,\n fontSize,\n}: ProgressRingProps) => {\n if (stroke > radius) {\n console.warn(\"Stroke can not have value greater than the radius.\");\n stroke = radius;\n }\n const progressNumber = useMemo(() => {\n let width = progress;\n if (progress > 100) {\n width = 100;\n }\n if (progress < 0) {\n width = 0;\n }\n return width;\n }, [progress]);\n\n const normalizedRadius = useMemo(() => radius - stroke / 2, [radius, stroke]);\n const circumference = useMemo(\n () => normalizedRadius * 2 * Math.PI,\n [normalizedRadius]\n );\n const strokeDashoffsetOuter = useMemo(\n () => circumference - ((100 - progressNumber) / 100) * circumference,\n [circumference, progressNumber]\n );\n const strokeDashoffsetInner = useMemo(\n () => circumference - (progressNumber / 100) * circumference,\n [circumference, progressNumber]\n );\n\n return (\n <StyledSvg\n height={radius * 2}\n width={radius * 2}\n className={classNames(className)}\n >\n <StyledBackgroundCircle\n $color={backgroundColor}\n $strokeDashOffset={-strokeDashoffsetOuter}\n strokeWidth={stroke}\n strokeDasharray={`${circumference} ${circumference}`}\n r={normalizedRadius}\n cx={radius}\n cy={radius}\n />\n <StyledForegroundCircle\n $color={progressColor}\n $strokeDashOffset={strokeDashoffsetInner}\n strokeWidth={stroke}\n strokeDasharray={`${circumference} ${circumference}`}\n r={normalizedRadius}\n cx={radius}\n cy={radius}\n />\n {showPercentage ? (\n <StyledProgressRingPercentage\n $color={progressColor}\n $fontSize={fontSize}\n x=\"50%\"\n y=\"-50%\"\n dominantBaseline=\"central\"\n textAnchor=\"middle\"\n >\n {progressNumber}%\n </StyledProgressRingPercentage>\n ) : null}\n </StyledSvg>\n );\n};\n\nProgressRing.displayName = \"ProgressRing\";\n","import React from \"react\";\nimport { ProgressRing, ProgressRingProps } from \"../ProgressRing\";\n\nexport const ProgressPie = ({\n radius = 20,\n ...rest\n}: Omit<ProgressRingProps, \"stroke\" | \"fontSize\" | \"showPercentage\">) => {\n return <ProgressRing {...rest} stroke={radius} radius={radius} />;\n};\n\nProgressPie.displayName = \"ProgressPie\";\n","import React from \"react\";\nconst ApplauseIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width=\"14\"\n height=\"14\"\n xmlns=\"http://www.w3.org/2000/svg\"\n ref={svgRef}\n {...props}\n >\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M8.247 7.533 4.746 4.49s-.94-.783-1.826.167c-.197.21-.288.435-.339.63-.12.461.073.948.446 1.244l3.61 2.859-2.488-1.973s-.647-.51-1.325.171c-.55.552-.747 1.206.266 2.073l3.58 3.007s3.844 2.701 6.374-.832c1.36-1.901.122-1.806.451-6.802 0 0-.01-1.13-1.223-1.13s-1.035 2.823-1.035 2.823L6.792 3.153s-.916-.743-1.6 0c-.845.917.09 1.772.09 1.772l2.965 2.608Z\"\n stroke=\"#000\"\n strokeWidth=\".677\"\n fill=\"#FFD60B\"\n />\n <path\n d=\"M6.215 5.817 2.714 2.775s-.94-.783-1.826.167c-.197.21-.288.434-.34.63-.12.461.074.948.447 1.243l3.61 2.86-2.489-1.973s-.647-.51-1.324.171c-.55.552-.747 1.206.266 2.073l3.579 3.007s3.844 2.701 6.374-.832c1.362-1.901.123-1.806.452-6.802 0 0-.01-1.13-1.223-1.13-1.214 0-1.035 2.823-1.035 2.823L4.76 1.437s-.916-.743-1.6 0c-.845.917.09 1.772.09 1.772l2.965 2.608Z\"\n fill=\"#975F00\"\n />\n <path\n d=\"M8.247 7.533 4.746 4.49s-.94-.783-1.826.167c-.197.21-.288.435-.339.63-.12.461.073.948.446 1.244l3.61 2.859-2.488-1.973s-.647-.51-1.325.171c-.55.552-.747 1.206.266 2.073l3.58 3.007s3.844 2.701 6.374-.832c1.36-1.901.122-1.806.451-6.802 0 0-.01-1.13-1.223-1.13s-1.035 2.823-1.035 2.823L6.792 3.153s-.916-.743-1.6 0c-.845.917.09 1.772.09 1.772l2.965 2.608Z\"\n stroke=\"#975F00\"\n strokeWidth=\".677\"\n fill=\"#FFD60B\"\n />\n <path\n stroke=\"#29ABE2\"\n strokeWidth=\".677\"\n strokeLinecap=\"round\"\n d=\"M10.387.339v.79M11.9 1.59 12.938.555M8.873 1.591 7.836.554\"\n />\n </g>\n </svg>\n )\n);\nApplauseIcon.displayName = \"ApplauseIcon\";\nexport default ApplauseIcon;\n","import React from \"react\";\nconst HeartIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width=\"14\"\n height=\"14\"\n xmlns=\"http://www.w3.org/2000/svg\"\n ref={svgRef}\n {...props}\n >\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M10.274 0a3.726 3.726 0 0 1 3.047 5.871h.002L7 14 .677 5.871A3.726 3.726 0 1 1 7 1.947 3.724 3.724 0 0 1 10.274 0Z\"\n fill=\"#ED1C24\"\n />\n <path\n d=\"M3.726 1.355c.363 0 .708.082 1.015.228A3.274 3.274 0 0 0 1.583 4.74a2.371 2.371 0 0 1 2.143-3.386Z\"\n fill=\"#FFF\"\n />\n <path\n d=\"M10.274 0a3.726 3.726 0 0 1 3.047 5.871h.002L7 14 .677 5.871.67 5.86l-.012-.02-.005-.013c-.003-.01.001-.013.01-.011l.015.005a.18.18 0 0 1 .01.004l.036.021.05.033.085.062.108.084.168.133.248.204.41.346.571.49.367.317.84.735L4.989 9.5l1.308 1.163.652.581 4.666-6A3.185 3.185 0 0 0 9.08.227h-.085C9.393.08 9.824 0 10.274 0Z\"\n fill=\"#C1272D\"\n />\n <path\n d=\"M10.274.339c.936 0 1.782.379 2.395.992s.992 1.46.992 2.395c0 .723-.226 1.393-.612 1.943L7 13.45.95 5.668a3.382 3.382 0 0 1-.611-1.943c0-.936.379-1.782.992-2.395A3.376 3.376 0 0 1 3.726.339a3.37 3.37 0 0 1 1.728.473A3.405 3.405 0 0 1 7 2.853 3.396 3.396 0 0 1 8.546.812a3.37 3.37 0 0 1 1.728-.473Z\"\n stroke=\"#650408\"\n strokeWidth=\".677\"\n />\n </g>\n </svg>\n )\n);\nHeartIcon.displayName = \"HeartIcon\";\nexport default HeartIcon;\n","import React from \"react\";\nconst PartyIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width=\"14\"\n height=\"14\"\n xmlns=\"http://www.w3.org/2000/svg\"\n ref={svgRef}\n {...props}\n >\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M6.774 3.048s.903-2.71-2.71-2.71\"\n stroke=\"#ED1C24\"\n strokeWidth=\".645\"\n />\n <path\n d=\"M10.952 6.875s2.71-.904 2.71 2.71\"\n stroke=\"#00A4FF\"\n strokeWidth=\".645\"\n />\n <path\n d=\"M9.71 3.839s1.806.903 1.806-.904c0-.903.903-.903.903-.903s1.807 0 .904-1.806\"\n stroke=\"#ED1C24\"\n strokeWidth=\".645\"\n />\n <path\n d=\"M2.935 2.484a.678.678 0 1 1 .001-1.355.678.678 0 0 1 0 1.355M13.554 4.8l-.451.238-.06.507-.366-.356-.5.099.225-.457-.249-.445.505.072.346-.374.087.503z\"\n fill=\"#BF0FCE\"\n />\n <path\n fill=\"#00A4FF\"\n d=\"m9.058.36-.301.442.194.498-.513-.149-.414.339-.017-.535-.45-.289.503-.181.136-.517.328.422z\"\n />\n <path\n d=\"M11.95 10.04s.412.935 1.807 1.807\"\n stroke=\"#ED1C24\"\n strokeWidth=\".645\"\n />\n <path\n d=\"M9.422 2.705S9.556 1.26 10.96.909M10.417 13.02s.487-.946 1.616-.355\"\n stroke=\"#00A4FF\"\n strokeWidth=\".645\"\n />\n <g transform=\"rotate(45 .483 7.493)\">\n <path fill=\"#FFD60B\" d=\"M0 1.806h9.484L4.742 12.419z\" />\n <path\n d=\"M8.806 1.806 4.742 12.42l-.773-2.017L7.26 1.806h1.546Z\"\n fill=\"#FFB000\"\n />\n <path\n d=\"m8.962 2.145-4.22 9.444-4.22-9.444h8.44Z\"\n stroke=\"#975F00\"\n strokeWidth=\".677\"\n />\n <ellipse\n stroke=\"#975F00\"\n strokeWidth=\".677\"\n fill=\"#FFF\"\n cx=\"4.742\"\n cy=\"1.581\"\n rx=\"4.403\"\n ry=\"1.242\"\n />\n </g>\n </g>\n </svg>\n )\n);\nPartyIcon.displayName = \"PartyIcon\";\nexport default PartyIcon;\n","import React from \"react\";\nconst SmileIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width=\"14\"\n height=\"14\"\n xmlns=\"http://www.w3.org/2000/svg\"\n ref={svgRef}\n {...props}\n >\n <g fill=\"none\" fillRule=\"evenodd\">\n <circle fill=\"#FFD60B\" cx=\"7\" cy=\"7\" r=\"7\" />\n <path\n d=\"M7 0A7 7 0 1 1 .008 6.653 6.323 6.323 0 1 0 6.653.008C6.768.003 6.883 0 7 0Z\"\n fill=\"#FFB000\"\n />\n <path\n d=\"M7 0a6.989 6.989 0 0 1 5.58 2.774 7 7 0 0 0-9.807 9.807A7 7 0 0 1 7 0Z\"\n fill=\"#FFEB97\"\n />\n <circle stroke=\"#975F00\" strokeWidth=\".677\" cx=\"7\" cy=\"7\" r=\"6.661\" />\n <path d=\"M11.853 7.226a4.29 4.29 0 0 1-8.577 0h8.577Z\" fill=\"#FFF\" />\n <path\n d=\"M11.19 7.75a3.92 3.92 0 0 1-3.69 3.5 3.92 3.92 0 0 1-3.69-3.5h7.38M12 7H3a4.77 4.77 0 0 0 4.5 5A4.77 4.77 0 0 0 12 7Z\"\n fill=\"#975F00\"\n fillRule=\"nonzero\"\n />\n <rect\n fill=\"#000\"\n fillRule=\"nonzero\"\n x=\"5\"\n y=\"4\"\n width=\"2\"\n height=\"2\"\n rx=\"1\"\n />\n <rect\n fill=\"#000\"\n fillRule=\"nonzero\"\n x=\"9\"\n y=\"4\"\n width=\"2\"\n height=\"2\"\n rx=\"1\"\n />\n </g>\n </svg>\n )\n);\nSmileIcon.displayName = \"SmileIcon\";\nexport default SmileIcon;\n","import React from \"react\";\nconst ThinkingIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width=\"14\"\n height=\"14\"\n xmlns=\"http://www.w3.org/2000/svg\"\n ref={svgRef}\n {...props}\n >\n <g fill=\"none\" fillRule=\"evenodd\">\n <circle fill=\"#FFD60B\" cx=\"7\" cy=\"7\" r=\"7\" />\n <rect\n fill=\"#000\"\n fillRule=\"nonzero\"\n x=\"6\"\n y=\"4\"\n width=\"2\"\n height=\"2\"\n rx=\"1\"\n />\n <rect\n fill=\"#000\"\n fillRule=\"nonzero\"\n x=\"10\"\n y=\"5\"\n width=\"2\"\n height=\"2\"\n rx=\"1\"\n />\n <path\n d=\"M7 0A7 7 0 1 1 .008 6.653 6.323 6.323 0 1 0 6.653.008C6.768.003 6.883 0 7 0Z\"\n fill=\"#FFB000\"\n />\n <path\n d=\"M7 0a6.989 6.989 0 0 1 5.58 2.774 7 7 0 0 0-9.807 9.807A7 7 0 0 1 7 0Z\"\n fill=\"#FFEB97\"\n />\n <circle stroke=\"#975F00\" strokeWidth=\".677\" cx=\"7\" cy=\"7\" r=\"6.661\" />\n <path fill=\"#FFF\" d=\"M2 14V7h2.968v2.258H10v2.484H7.687V14z\" />\n <path fill=\"#CCC\" d=\"M2 12h5.113v2H2z\" />\n <path\n d=\"M4.593 7.375v2.258h5.032v1.734h-2.21v2.258h-5.04v-6.25h2.218Z\"\n stroke=\"#5A3900\"\n strokeWidth=\".75\"\n />\n <path d=\"M6.206 7.71s3.326-.847 4.657.847\" stroke=\"#000\" />\n <path fill=\"#000\" fillRule=\"nonzero\" d=\"M10 3h2v1h-2zM6 2h2v1H6z\" />\n </g>\n </svg>\n )\n);\nThinkingIcon.displayName = \"ThinkingIcon\";\nexport default ThinkingIcon;\n","import React from \"react\";\nconst ThumbsUpIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width=\"14\"\n height=\"14\"\n xmlns=\"http://www.w3.org/2000/svg\"\n ref={svgRef}\n {...props}\n >\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M7 2.71C7 4.477 5.308 4.866 4.516 5.87c-.487.62-.677 1.806-.677 1.806v5.194C5.182 13.341 6.096 14 8.806 14c2.164-.021 2.54-.045 3.388-.903.903-.903 1.806-4.39 1.806-6.323 0-.15-.04-.322-.08-.514-.198-.934-1.401-1.129-2.404-1.129-.718 0-1.401.11-1.423.11-.214 0-.315-.299-.226-.527.266-.684.294-1.755.294-2.908C10.161 0 8.581 0 8.581 0S7 0 7 2.71Z\"\n fill=\"#FFD60B\"\n />\n <path\n d=\"m4.122 12.763 1.516.785 2.565.34h1.985l1.61-.822 1.469-4.105V7.484c-.558 2.76-1.498 4.33-2.818 4.71-1.32.38-3.408.145-6.265-.702l-.062 1.271Z\"\n fill=\"#FFB000\"\n />\n <path\n d=\"m4.516 6.473 1.659-1.416.967-1.495.365-2.419L8.695.341l1.088.525-.14 1.328c-.231-.748-.577-1.001-1.037-.759-.69.364.198 3.188-1.653 4.131-1.851.943-2.83 3.42-2.83 4.836V7.398l.393-.925Z\"\n fill=\"#FFEB97\"\n />\n <path\n d=\"M8.57.34c.155.007.614.055.932.425.19.22.32.553.32 1.041 0 1.103-.015 2.13-.27 2.785.518.815 1.092.876 1.713.88h.251c.518 0 1.098.049 1.534.254.256.12.462.297.532.579.069 2.345-.761 5.687-1.63 6.555-.787.797-1.156.783-3.146.802-1.968 0-2.958-.358-3.878-.73a37.501 37.501 0 0 0-.75-.297v-4.93c.028-.168.2-1.11.605-1.624.241-.306.576-.548.912-.797.83-.613 1.644-1.26 1.644-2.573 0-.815.148-1.364.36-1.73.31-.539.758-.63.87-.64Z\"\n stroke=\"#975F00\"\n strokeWidth=\".677\"\n />\n <rect\n stroke=\"#975F00\"\n strokeWidth=\".677\"\n fill=\"#FFF\"\n x=\".339\"\n y=\"6.339\"\n width=\"3.839\"\n height=\"7.323\"\n rx=\"1.129\"\n />\n <path\n d=\"M.677 11.516c0 .25.203.452.452.452h2.258c.25 0 .452-.202.452-.452v1.355c0 .25-.202.452-.452.452H1.13a.452.452 0 0 1-.452-.452Z\"\n fill=\"#CCC\"\n />\n </g>\n </svg>\n )\n);\nThumbsUpIcon.displayName = \"ThumbsUpIcon\";\nexport default ThumbsUpIcon;\n","import React from \"react\";\nconst ThumbsDownIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width=\"14\"\n height=\"14\"\n xmlns=\"http://www.w3.org/2000/svg\"\n ref={svgRef}\n {...props}\n >\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M7 11.29C7 9.523 8.692 9.134 9.484 8.13c.487-.62.677-1.806.677-1.806V1.129C8.818.659 7.904 0 5.194 0 3.03.021 2.654.045 1.806.903.903 1.806 0 5.293 0 7.226c0 .15.04.322.08.514.198.934 1.401 1.129 2.404 1.129.718 0 1.401-.11 1.423-.11.214 0 .315.299.226.527-.266.684-.294 1.755-.294 2.908C3.839 14 5.419 14 5.419 14S7 14 7 11.29Z\"\n fill=\"#FFD60B\"\n />\n <path\n d=\"M9.878 1.237 8.362.452 5.797.112H3.812l-1.61.822L.733 5.04v1.477c.558-2.76 1.498-4.33 2.818-4.71 1.32-.38 3.408-.145 6.265.702l.062-1.271Z\"\n fill=\"#FFB000\"\n />\n <path\n d=\"M9.484 7.527 7.825 8.943l-.967 1.495-.365 2.419-1.188.802-1.088-.525.14-1.328c.231.748.577 1.001 1.037.759.69-.364-.198-3.188 1.653-4.131 1.851-.943 2.83-3.42 2.83-4.836v3.004l-.393.925Z\"\n fill=\"#FFEB97\"\n />\n <path\n d=\"M5.43 13.66c-.155-.007-.614-.055-.932-.425-.19-.22-.32-.553-.32-1.041 0-1.103.015-2.13.27-2.785-.518-.815-1.092-.876-1.713-.88h-.251c-.518 0-1.098-.049-1.534-.254-.256-.12-.462-.297-.532-.579-.069-2.345.761-5.687 1.63-6.555C2.834.344 3.203.358 5.193.34c2.083 0 3.072.401 4.04.795.195.079.388.157.589.232v4.93c-.029.168-.202 1.11-.606 1.624-.213.27-.499.49-.794.71-1.074.8-1.762 1.446-1.762 2.66 0 .815-.148 1.364-.36 1.73-.31.539-.758.63-.87.64Z\"\n stroke=\"#975F00\"\n strokeWidth=\".677\"\n />\n <rect\n stroke=\"#975F00\"\n strokeWidth=\".677\"\n fill=\"#FFF\"\n transform=\"rotate(180 11.742 4)\"\n x=\"9.823\"\n y=\".339\"\n width=\"3.839\"\n height=\"7.323\"\n rx=\"1.129\"\n />\n <path\n d=\"M13.323 2.484a.452.452 0 0 0-.452-.452h-2.258a.452.452 0 0 0-.452.452V1.129c0-.25.202-.452.452-.452h2.258c.25 0 .452.203.452.452Z\"\n fill=\"#CCC\"\n />\n </g>\n </svg>\n )\n);\nThumbsDownIcon.displayName = \"ThumbsDownIcon\";\nexport default ThumbsDownIcon;\n","import classNames from \"classnames\";\nimport React, { forwardRef } from \"react\";\nimport { ITypographyProps, Typography } from \"../Typography/Typography\";\n\nexport interface ILabelProps {\n invalid?: boolean;\n required?: boolean;\n size?: \"regular\" | \"small\";\n}\n\nexport const Label = forwardRef<\n HTMLLabelElement,\n ILabelProps & Omit<ITypographyProps, keyof ILabelProps | \"variant\" | \"color\">\n>(\n (\n {\n invalid = false,\n required = false,\n size = \"regular\",\n children,\n className,\n weight = \"bold\",\n ...props\n },\n ref\n ) => {\n const color = invalid ? \"alert\" : \"primary\";\n const variant = size === \"regular\" ? \"Body 2\" : \"Caption 1\";\n\n return (\n <Typography\n as=\"label\"\n className={classNames(\"c-label\", className)}\n variant={variant}\n color={color}\n weight={weight}\n ref={ref}\n {...props}\n >\n {children}\n {required ? \"*\" : null}\n </Typography>\n );\n }\n);\n\nLabel.displayName = \"Label\";\n","import { createGlobalStyle } from \"styled-components\";\n\nexport const GlobalStyle = createGlobalStyle`\n :root {\n --color-primary: #5d2bff;\n --color-secondary: #5d2bff;\n\n --color-theme-100: #ffffff;\n --color-theme-200: #f6f6f9;\n --color-theme-300: #ebebee;\n --color-theme-400: #d7d7da;\n --color-theme-500: #b9b9bd;\n --color-theme-600: #89898e;\n --color-theme-700: #6d6d73;\n --color-theme-800: #5b5b61;\n --color-theme-900: #303037;\n\n --color-primary-200: rgba(93, 43, 255, 0.05);\n --color-primary-300: rgba(93, 43, 255, 0.1);\n --color-primary-400: rgba(93, 43, 255, 0.25);\n --color-primary-500: rgba(93, 43, 255, 0.5);\n --color-primary-600: rgba(93, 43, 255, 0.75);\n --color-primary-700: #5d2bff;\n --color-primary-800: #4a21cd;\n --color-primary-900: #32178b;\n\n --color-secondary-200: rgba(93, 43, 255, 0.05);\n --color-secondary-300: rgba(93, 43, 255, 0.1);\n --color-secondary-400: rgba(93, 43, 255, 0.25);\n --color-secondary-500: rgba(93, 43, 255, 0.5);\n --color-secondary-600: rgba(93, 43, 255, 0.75);\n --color-secondary-700: #5d2bff;\n --color-secondary-800: #4a21cd;\n --color-secondary-900: #32178b;\n\n --color-theme-transparent-200: rgba(36,36,76,0.04);\n --color-theme-transparent-300: rgba(48,48,55,0.1);\n --color-theme-transparent-400: rgba(48,48,55,0.2);\n --color-theme-transparent-500: rgba(48,48,55,0.34);\n --color-theme-transparent-600: rgba(48,48,55,0.57);\n --color-theme-transparent-700: rgba(48,48,55,0.7);\n --color-theme-transparent-800: rgba(48,48,55,0.8);\n\n --color-primary-opaque-300: #efeaff;\n --color-primary-opaque-400: #d6caff;\n\n --color-secondary-opaque-300: #efeaff;\n --color-secondary-opaque-400: #d6caff;\n\n --color-sucess-green: #64cd93;\n\n --body-bg-main: rgb(244, 245, 247);\n --body-bg-main-transparent: rgba(244, 245, 247, 0);\n --page-paper-main: #ffffff;\n --border-primary: #d7d7da;\n\n --note-bg: #fff9f1;\n\n --shadow-primary-hover: 0 64px 64px 0 rgba(0, 0, 0, 0.1),\n 0 32px 32px 0 rgba(0, 0, 0, 0.06), 0 16px 16px 0 rgba(0, 0, 0, 0.04),\n 0 4px 4px 0 rgba(0, 0, 0, 0.04), 0 2px 2px 0 rgba(0, 0, 0, 0.04);\n --shadow-primary: 0 64px 64px 0 rgba(0, 0, 0, 0.06),\n 0 32px 32px 0 rgba(0, 0, 0, 0.03), 0 16px 16px 0 rgba(0, 0, 0, 0.02),\n 0 4px 4px 0 rgba(0, 0, 0, 0.02), 0 2px 2px 0 rgba(0, 0, 0, 0.02);\n\n --shadow-secondary: 0 4px 14px 0 rgba(0, 0, 0, 0.17);\n\n --shadow-tertiary: 0 4px 6px -2px rgba(0, 0, 0, 0.05),\n 0 10px 15px -3px rgba(0, 0, 0, 0.1);\n --shadow-tertiary-hover: 0 4px 10px -2px rgba(0, 0, 0, 0.1),\n 0 12px 20px -3px rgba(0, 0, 0, 0.2);\n\n --page-paper-main-shadow: rgba(\n 255,\n 255,\n 255,\n 0\n ); /* Shadow list shadow for page paper main */\n\n --modal-background: rgba(244, 245, 247, 0.6);\n\n --highlight-dark: rgba(0, 0, 0, 0.03);\n\n --input-background-color: #ffffff;\n\n --red-alert: rgb(237, 97, 97);\n\n --warning: #ffcc6b;\n\n --only-white: #ffffff;\n\n --only-black: #000000;\n\n --ac-br-4: 4px;\n\n --ac-br-6: 6px;\n\n --ac-br-8: 8px;\n\n --ac-br-rounded: 999px;\n }\n\n .cupcake {\n --color-primary: #29bcdd;\n --color-secondary: #fe6fa7;\n\n --color-primary-200: rgba(41, 188, 221, 0.07);\n --color-primary-300: rgba(41, 188, 221, 0.12);\n --color-primary-400: rgba(41, 188, 221, 0.26);\n --color-primary-500: rgba(41, 188, 221, 0.52);\n --color-primary-600: rgba(41, 188, 221, 0.75);\n --color-primary-700: #29bcdd;\n --color-primary-800: #219fbb;\n --color-primary-900: #1a768b;\n\n --color-secondary-200: rgba(254, 111, 167, 0.07);\n --color-secondary-300: rgba(254, 111, 167, 0.13);\n --color-secondary-400: rgba(254, 111, 167, 0.27);\n --color-secondary-500: rgba(254, 111, 167, 0.52);\n --color-secondary-600: rgba(254, 111, 167, 0.75);\n --color-secondary-700: #fe6fa7;\n --color-secondary-800: #dd6091;\n --color-secondary-900: #ab496f;\n\n --color-primary-opaque-300: #e5f7fb;\n --color-primary-opaque-400: #c8eef6;\n\n --color-secondary-opaque-300: #ffecf4;\n --color-secondary-opaque-400: #ffd8e7;\n }\n\n .classic {\n --color-primary: #4182f2;\n --color-secondary: #4182f2;\n\n --color-primary-200: rgba(65, 130, 242, 0.07);\n --color-primary-300: rgba(65, 130, 242, 0.13);\n --color-primary-400: rgba(65, 130, 242, 0.26);\n --color-primary-500: rgba(65, 130, 242, 0.52);\n --color-primary-600: rgba(65, 130, 242, 0.75);\n --color-primary-700: #4182f2;\n --color-primary-800: #356bc8;\n --color-primary-900: #244a8a;\n\n --color-secondary-200: rgba(65, 130, 242, 0.07);\n --color-secondary-300: rgba(65, 130, 242, 0.13);\n --color-secondary-400: rgba(65, 130, 242, 0.26);\n --color-secondary-500: rgba(65, 130, 242, 0.52);\n --color-secondary-600: rgba(65, 130, 242, 0.75);\n --color-secondary-700: #4182f2;\n --color-secondary-800: #356bc8;\n --color-secondary-900: #244a8a;\n\n --color-primary-opaque-300: #e6effd;\n --color-primary-opaque-400: #cedffc;\n\n --color-secondary-opaque-300: #e6effd;\n --color-secondary-opaque-400: #cedffc;\n }\n\n .neon {\n --color-primary: #67ffc8;\n --color-secondary: #67ffc8;\n\n --color-theme-100: #000000;\n --color-theme-200: #31333e;\n --color-theme-300: #2b2d37;\n --color-theme-400: #1f2024;\n --color-theme-500: #6D6D73;\n --color-theme-600: #89898e;\n --color-theme-700: #b0b0b5;\n --color-theme-800: #dfdfe5;\n --color-theme-900: #ffffff;\n\n --color-primary-200: rgba(103, 255, 200, 0.05);\n --color-primary-300: rgba(103, 255, 200, 0.1);\n --color-primary-400: rgba(103, 255, 200, 0.25);\n --color-primary-500: rgba(103, 255, 200, 0.5);\n --color-primary-600: rgba(103, 255, 200, 0.75);\n --color-primary-700: #67ffc8;\n --color-primary-800: #a5ffdf;\n --color-primary-900: #d0fdec;\n\n --color-secondary-200: rgba(103, 255, 200, 0.05);\n --color-secondary-300: rgba(103, 255, 200, 0.1);\n --color-secondary-400: rgba(103, 255, 200, 0.25);\n --color-secondary-500: rgba(103, 255, 200, 0.5);\n --color-secondary-600: rgba(103, 255, 200, 0.75);\n --color-secondary-700: #67ffc8;\n --color-secondary-800: #a5ffdf;\n --color-secondary-900: #d0fdec;\n\n --color-theme-transparent-200: rgba(6,7,8,0.12);\n --color-theme-transparent-300: rgba(6,7,8,0.22);\n --color-theme-transparent-400: rgba(6,7,8,0.5);\n --color-theme-transparent-500: rgba(255,255,255,0.27);\n --color-theme-transparent-600: rgba(255,255,255,0.4);\n --color-theme-transparent-700: rgba(255,255,255,0.6);\n --color-theme-transparent-800: rgba(255,255,255,0.85);\n\n --color-primary-opaque-300: #3b4e51;\n --color-primary-opaque-400: #436b64;\n\n --color-secondary-opaque-300: #3b4e51;\n --color-secondary-opaque-400: #436b64;\n\n --body-bg-main: rgb(44, 46, 56);\n --body-bg-main-transparent: rgba(44, 46, 56, 0);\n --page-paper-main: #373a44;\n --border-primary: #1f2024;\n\n --note-bg: #464545;\n\n --shadow-primary-hover: 0 64px 64px 0 rgba(0, 0, 0, 0.2),\n 0 32px 32px 0 rgba(0, 0, 0, 0.2), 0 16px 16px 0 rgba(0, 0, 0, 0.2),\n 0 4px 4px 0 rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.2);\n --shadow-primary: 0 64px 64px 0 rgba(0, 0, 0, 0.1),\n 0 32px 32px 0 rgba(0, 0, 0, 0.1), 0 16px 16px 0 rgba(0, 0, 0, 0.1),\n 0 4px 4px 0 rgba(0, 0, 0, 0.1), 0 2px 2px 0 rgba(0, 0, 0, 0.1);\n\n --shadow-secondary: 0 4px 14px 0 rgba(0, 0, 0, 0.3);\n\n --shadow-tertiary: 0 4px 6px -2px rgba(0, 0, 0, 0.1),\n 0 10px 15px -3px rgba(0, 0, 0, 0.15);\n --shadow-tertiary-hover: 0 4px 12px -2px rgba(0, 0, 0, 0.4),\n 0 10px 30px -3px rgba(0, 0, 0, 0.5);\n\n --page-paper-main-shadow: rgba(\n 55,\n 58,\n 68,\n 0\n ); /* Shadow list shadow for page paper main */\n\n --modal-background: rgba(44, 46, 56, 0.7);\n\n --highlight-dark: rgba(0, 0, 0, 0.06);\n\n --input-background-color: #2c2e38;\n\n --only-white: #ffffff;\n\n --only-black: #000000;\n }\n\n .ac-shadow,\n .ac-shadow--raised {\n &--lg {\n box-shadow: var(--shadow-primary);\n }\n &--sm {\n box-shadow: var(--shadow-tertiary);\n }\n }\n\n .ac-shadow--raised {\n &--lg {\n transition: box-shadow 0.3s;\n &:hover {\n box-shadow: var(--shadow-primary-hover);\n }\n }\n &--sm {\n transition: box-shadow 0.3s;\n &:hover {\n box-shadow: var(--shadow-tertiary-hover);\n }\n }\n }\n\n .ac-shadow-optimized--sm {\n position: relative;\n box-shadow: var(--shadow-tertiary);\n\n &::before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n content: \"\";\n box-shadow: var(--shadow-tertiary);\n opacity: 0;\n border-radius: var(--ac-br-6);\n transition: opacity 0.3s ease;\n z-index: -1;\n }\n\n @media (hover: hover) {\n &:hover::before {\n opacity: 1;\n }\n }\n }\n\n .ac-shadow-optimized--lg {\n position: relative;\n box-shadow: var(--shadow-primary);\n\n &::before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n content: \"\";\n box-shadow: var(--shadow-primary);\n opacity: 0;\n border-radius: var(--ac-br-8);\n transition: opacity 0.3s ease;\n z-index: -1;\n }\n\n @media (hover: hover) {\n &:hover::before {\n opacity: 1;\n }\n }\n }\n\n .ac-border-radius {\n &-4 {\n border-radius: var(--ac-br-4);\n }\n\n &-6 {\n border-radius: var(--ac-br-6);\n }\n\n &-8 {\n border-radius: var(--ac-br-8);\n }\n\n &-rounded {\n border-radius: var(--ac-br-rounded);\n }\n }\n\n`;\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\nimport { Typography } from \"../Typography/Typography\";\n\nexport const StyledDiv = styled.div`\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${tw`tw-relative tw-inline-block tw-max-w-full`}\n`;\n\nexport const StyledSpan = styled(Typography)<{ $disabled?: boolean }>`\n visibility: hidden;\n display: block;\n padding-left: 4px;\n padding-right: 4px;\n padding-top: 1px;\n padding-bottom: 1px;\n position: relative;\n border: 1px solid transparent;\n border-radius: 6px;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: pre;\n\n ${({ $disabled }) =>\n $disabled &&\n css`\n visibility: visible;\n `}\n\n &:empty:before {\n content: \"i\";\n }\n`;\n\nStyledSpan.displayName = \"StyledSpan\";\n\nexport const StyledInput = styled(Typography)`\n ${tw`\n tw-absolute\n tw-inset-0\n tw-border\n tw-border-transparent\n tw-border-solid\n hover:tw-border-theme-700\n focus-within:tw-border-theme-700\n tw-rounded-md\n tw-box-border\n tw-overflow-hidden\n tw-whitespace-nowrap\n focus-within:tw-overflow-scroll\n tw-w-full`}\n\n background-color: inherit;\n padding-left: 4px;\n padding-right: 4px;\n padding-top: 1px;\n padding-bottom: 1px;\n text-overflow: ellipsis;\n &:focus-whitin {\n text-overflow: clip;\n }\n outline-width: 0px;\n outline: none;\n &:disabled {\n display: none;\n }\n`;\n\nStyledInput.displayName = \"StyledInput\";\n","import React, { forwardRef, Ref, useCallback, useRef } from \"react\";\nimport { useForkRef } from \"../../utils\";\nimport { Variant } from \"../Typography/Typography\";\nimport { StyledDiv, StyledInput, StyledSpan } from \"./Styles\";\n\nexport interface EditableContentInterface {\n /** Typography variant. */\n variant?: Variant;\n /** Typography weight. */\n weight?: \"light\" | \"regular\" | \"bold\" | \"medium\";\n /** Input props. */\n inputProps?: Partial<React.ComponentPropsWithoutRef<\"input\">>;\n /** Disable edit mode. */\n disabled?: boolean;\n /** Wrapper reference. */\n wrapRef?: Ref<HTMLDivElement>;\n}\n\nexport const EditableContent = forwardRef<\n HTMLDivElement,\n EditableContentInterface &\n Omit<React.ComponentPropsWithoutRef<\"div\">, keyof EditableContentInterface>\n>(\n (\n {\n className,\n variant = \"Body 2\",\n weight,\n disabled = false,\n inputProps,\n wrapRef,\n ...props\n },\n ref\n ) => {\n const intInputRef = useRef<HTMLInputElement>(null);\n const handleRef = useForkRef(ref, intInputRef);\n\n const handleBlur = useCallback(\n (evt) => {\n if (intInputRef?.current) {\n intInputRef.current.scrollLeft = 0;\n }\n typeof inputProps?.onBlur === `function` && inputProps?.onBlur(evt);\n },\n [inputProps]\n );\n\n return (\n <StyledDiv className={className} ref={wrapRef} {...props}>\n <StyledSpan\n variant={variant}\n forwardedAs=\"span\"\n weight={weight}\n $disabled={disabled}\n >\n {inputProps?.value}\n </StyledSpan>\n <StyledInput\n {...inputProps}\n ref={handleRef}\n forwardedAs=\"input\"\n variant={variant}\n weight={weight}\n value={inputProps?.value}\n onBlur={handleBlur}\n disabled={disabled}\n />\n </StyledDiv>\n );\n }\n);\n\nEditableContent.displayName = \"EditableContent\";\n","import React, {\n ChangeEvent,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport {\n EditableContent,\n EditableContentInterface,\n} from \"../EditableContent/EditableContent\";\n\nexport interface EditableTextInterface extends EditableContentInterface {\n /** Value to display. */\n value: string;\n /** Optional callback called on enter, click outside and tab. */\n onSave?: (e: ChangeEvent<HTMLInputElement>) => void;\n /** Optional callback called on input reset. */\n onCancel?: () => void;\n}\n\nexport const EditableText = forwardRef<HTMLDivElement, EditableTextInterface>(\n ({ onSave, onCancel, value, inputProps, ...props }, ref) => {\n const [currentValue, setCurrentValue] = useState(value);\n const [prevValue, setPrevValue] = useState(value);\n const escapeRef = useRef(false);\n\n useEffect(() => {\n if (currentValue !== value) {\n setCurrentValue(value);\n setPrevValue(value);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value]);\n\n const handleBlur = useCallback(\n (e) => {\n if (escapeRef.current) {\n setCurrentValue(prevValue);\n escapeRef.current = false;\n } else {\n if (\n e.target.value.trim().length > 0 &&\n prevValue !== e.target.value\n ) {\n setPrevValue(e.target.value);\n setCurrentValue(e.target.value);\n typeof onSave === \"function\" && onSave(e);\n } else {\n setCurrentValue(prevValue);\n }\n }\n },\n [onSave, prevValue]\n );\n\n const handleKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.target.blur();\n }\n if (e.key === \"Escape\") {\n escapeRef.current = true;\n e.target.blur();\n typeof onCancel === \"function\" && onCancel();\n }\n },\n [onCancel]\n );\n\n const handleChange = useCallback((e) => {\n setCurrentValue(e.target.value);\n }, []);\n\n return (\n <EditableContent\n {...props}\n ref={ref}\n inputProps={{\n ...inputProps,\n value: currentValue,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n onChange: handleChange,\n type: \"text\",\n className: \"c-input\",\n }}\n />\n );\n }\n);\n\nEditableText.displayName = \"EditableText\";\n","import React from \"react\";\n\nexport interface FolderIconProps {\n withDocuments?: boolean;\n}\n\nconst FolderIcon = React.forwardRef(\n (\n {\n withDocuments = false,\n ...props\n }: React.SVGProps<SVGSVGElement> & FolderIconProps,\n svgRef?: React.Ref<SVGSVGElement>\n ) => (\n <svg\n width={100}\n height={100}\n viewBox=\"0 0 100 100\"\n xmlns=\"http://www.w3.org/2000/svg\"\n ref={svgRef}\n {...props}\n >\n <defs>\n <filter\n x=\"-14.9%\"\n y=\"-112.5%\"\n width=\"129.8%\"\n height=\"275%\"\n filterUnits=\"objectBoundingBox\"\n id=\"image_svg__a\"\n >\n <feOffset dy={-2} in=\"SourceAlpha\" result=\"shadowOffsetOuter1\" />\n <feGaussianBlur\n stdDeviation={2}\n in=\"shadowOffsetOuter1\"\n result=\"shadowBlurOuter1\"\n />\n <feColorMatrix\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.4 0\"\n in=\"shadowBlurOuter1\"\n />\n </filter>\n <path id=\"image_svg__b\" d=\"M4 28h47v8H4z\" />\n </defs>\n <g fillRule=\"evenodd\">\n <path\n d=\"M90 20H50L40 10H10C4.45 10 0 14.45 0 20v60c0 5.523 4.477 10 10 10h80c5.523 0 10-4.477 10-10V30c0-5.55-4.5-10-10-10z\"\n fill=\"#32178B\"\n />\n {withDocuments ? (\n <path d=\"M8 20h42v9H4v-5a4 4 0 014-4z\" fill=\"#FFFFFF\" />\n ) : null}\n <use\n filter=\"url(#image_svg__a)\"\n xlinkHref=\"#image_svg__b\"\n fill=\"black\"\n />\n <use xlinkHref=\"#image_svg__b\" fill=\"#D8D8D8\" />\n <path\n d=\"M90 20H50l-10 8H5a5 5 0 00-5 5v47c0 5.523 4.477 10 10 10h80c5.523 0 10-4.477 10-10V30c0-5.55-4.5-10-10-10z\"\n fill=\"#5D2BFF\"\n />\n </g>\n </svg>\n )\n);\n\nFolderIcon.displayName = \"FolderIcon\";\nexport default FolderIcon;\n","import styled, { css } from \"styled-components\";\nimport { Card } from \"../Card\";\nimport { PaperStyles } from \"../Paper/Styles\";\nimport { VisibleFromBreakpoint } from \"./EntityProperty\";\nimport tw from \"twin.macro\";\n\nexport const StyledEntityCard = styled(Card)<{\n $renderAs: string;\n $gap?: number;\n $background?: string;\n $isCollection?: boolean;\n}>`\n line-height: 1.375;\n ${({ $renderAs }) =>\n $renderAs === \"list\" &&\n css`\n display: flex;\n flex-direction: row;\n align-items: center;\n min-height: 48px;\n margin-bottom: 4px;\n justify-content: space-between;\n padding: 0 16px 0 16px;\n `}\n\n ${({ $renderAs }) =>\n $renderAs === \"grid\" &&\n css`\n display: flex;\n flex-direction: column;\n position: relative;\n padding: 20px 24px;\n height: 280px;\n `}\n\n\n ${(props) =>\n props.$background &&\n css`\n background-color: ${props.$background};\n `}\n\n ${({ $isCollection, $background }) =>\n $isCollection &&\n css`\n &::after {\n display: block;\n content: \"\";\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n left: 0;\n transform: rotate(-3deg);\n z-index: -1;\n ${PaperStyles};\n background-color: ${$background};\n }\n `}\n`;\nStyledEntityCard.displayName = \"StyledEntityCard\";\n\nexport const StyledEntityProperty = styled(\"div\")<{\n $renderAs?: string;\n $order?: number;\n $width?: number | string;\n $visibleFromBreakpoint?: VisibleFromBreakpoint;\n}>`\n ${({ $renderAs, $width }) =>\n $renderAs === \"list\" &&\n css`\n display: flex;\n align-items: center;\n min-width: 24px;\n flex: ${$width ? \"initial\" : 1};\n `}\n\n ${(props) =>\n props.$renderAs === \"list\" &&\n props.$order &&\n css`\n order: ${props.$order};\n `}\n\n ${(props) =>\n props.$renderAs === \"list\" &&\n props.$width &&\n css`\n width: ${props.$width};\n `}\n ${({ $visibleFromBreakpoint }) =>\n $visibleFromBreakpoint &&\n css`\n ${tw`tw-hidden`}\n `}\n ${({ $visibleFromBreakpoint }) =>\n $visibleFromBreakpoint === \"sm\" &&\n css`\n ${tw`sm:tw-flex`}\n `}\n ${({ $visibleFromBreakpoint }) =>\n $visibleFromBreakpoint === \"md\" &&\n css`\n ${tw`md:tw-flex`}\n `}\n ${({ $visibleFromBreakpoint }) =>\n $visibleFromBreakpoint === \"lg\" &&\n css`\n ${tw`lg:tw-flex`}\n `}\n ${({ $visibleFromBreakpoint }) =>\n $visibleFromBreakpoint === \"xl\" &&\n css`\n ${tw`xl:tw-flex`}\n `}\n ${({ $visibleFromBreakpoint }) =>\n $visibleFromBreakpoint === \"2xl\" &&\n css`\n ${tw`2xl:tw-flex`}\n `}\n`;\n\nStyledEntityProperty.displayName = \"StyledEntityProperty\";\n\nexport const StyledEntityGroup = styled(\"div\")<{\n $renderAs: string;\n $gap?: number;\n}>`\n ${({ $renderAs, $gap }) =>\n $renderAs === \"grid\" &&\n css`\n display: grid;\n grid-gap: ${$gap ? `${$gap}px` : \"initial\"};\n grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));\n `}\n ${(props) =>\n props.$renderAs === \"list\" &&\n css`\n display: flex;\n flex-direction: column;\n `}\n`;\nStyledEntityGroup.displayName = \"StyledEntityGroup\";\n\nexport const StyledEntityActions = styled(\"div\")<{ $renderAs?: string }>`\n display: flex;\n flex-direction: column;\n align-items: center;\n\n ${({ $renderAs }) =>\n $renderAs === \"grid\" &&\n css`\n position: absolute;\n right: 16px;\n top: 20px;\n `}\n\n ${({ $renderAs }) =>\n $renderAs === \"list\" &&\n css`\n justify-self: flex-end;\n `}\n`;\n","import React, { HTMLAttributes } from \"react\";\nimport { StyledEntityGroup } from \"./Styles\";\n\nexport interface IEntityGroupProps\n extends Pick<HTMLAttributes<HTMLDivElement>, \"className\" | \"style\"> {\n gap?: number;\n renderAs?: \"grid\" | \"list\";\n}\n\ninterface IEntityGroupContext {\n renderAs: \"grid\" | \"list\";\n}\nexport const EntityGroupContext = React.createContext<IEntityGroupContext>({\n renderAs: \"grid\",\n});\n\nexport const EntityGroup: React.FC<IEntityGroupProps> = ({\n children,\n gap,\n renderAs = \"grid\",\n ...rest\n}) => {\n return (\n <EntityGroupContext.Provider value={{ renderAs: renderAs }}>\n <StyledEntityGroup $renderAs={renderAs} $gap={gap} {...rest}>\n {children}\n </StyledEntityGroup>\n </EntityGroupContext.Provider>\n );\n};\n\nEntityGroup.displayName = \"EntityGroup\";\n","import React, {\n BaseHTMLAttributes,\n CSSProperties,\n forwardRef,\n ReactElement,\n useContext,\n} from \"react\";\nimport { StyledEntityCard } from \"./Styles\";\n\nimport { Card, ICardProps } from \"../Card\";\nimport {\n PolymorphicComponentPropsWithRef,\n PolymorphicRef,\n} from \"../../utils/types\";\nimport { EntityGroupContext } from \"./EntityGroup\";\nimport classNames from \"classnames\";\n\nexport interface IEntityCardProps\n extends ICardProps,\n BaseHTMLAttributes<HTMLElement> {\n /** ClassName to add on Card */\n className?: string;\n /** Show as group of Cards on grid */\n isCollection?: boolean;\n /** Background color to override for Card */\n background?: string;\n /** CSSProperties to override for Card */\n style?: CSSProperties;\n}\n\nexport type EntityCardProps<C extends React.ElementType> =\n PolymorphicComponentPropsWithRef<C, IEntityCardProps>;\n\nexport type EntityComponent = <C extends React.ElementType = typeof Card>(\n props: EntityCardProps<C>\n) => ReactElement | null;\n\nexport const EntityCard: EntityComponent & { displayName?: string } =\n forwardRef(\n <C extends React.ElementType = typeof Card>(\n {\n children,\n isCollection,\n background,\n className,\n as,\n ...rest\n }: EntityCardProps<C>,\n ref?: PolymorphicRef<C>\n ) => {\n const { renderAs } = useContext(EntityGroupContext);\n const classSuffix = `c-entity-card-${renderAs}`;\n const paperType = renderAs === \"grid\" ? \"paper-1\" : \"paper-2\";\n const Component = as || Card;\n return (\n <StyledEntityCard\n as={Component}\n $renderAs={renderAs}\n $background={background}\n paperType={paperType}\n className={classNames(\"c-entity-card\", classSuffix, className)}\n $isCollection={isCollection}\n {...rest}\n ref={ref}\n >\n {children}\n </StyledEntityCard>\n );\n }\n );\n\nEntityCard.displayName = \"EntityCard\";\n","import React, { HTMLAttributes, useContext } from \"react\";\nimport { StyledEntityProperty } from \"./Styles\";\nimport classNames from \"classnames\";\nimport { EntityGroupContext } from \"./EntityGroup\";\n\nexport type VisibleFromBreakpoint = \"sm\" | \"md\" | \"lg\" | \"xl\" | \"2xl\";\nexport interface IEntityCardPropertyProps\n extends HTMLAttributes<HTMLDivElement> {\n listOrder?: number;\n listWidth?: string | number;\n visibleFromBreakpoint?: VisibleFromBreakpoint;\n}\n\nexport const EntityProperty: React.FC<IEntityCardPropertyProps> = ({\n listOrder,\n listWidth,\n visibleFromBreakpoint,\n className,\n ...props\n}) => {\n const { renderAs } = useContext(EntityGroupContext);\n const classSuffix = `c-entity-property-${renderAs}`;\n return (\n <StyledEntityProperty\n className={classNames(\"c-entity-property\", classSuffix, className)}\n {...props}\n $order={listOrder}\n $width={listWidth}\n $visibleFromBreakpoint={visibleFromBreakpoint}\n $renderAs={renderAs}\n />\n );\n};\n\nEntityProperty.displayName = \"EntityProperty\";\n","import { EntityGroup } from \"./EntityGroup\";\nimport { EntityCard } from \"./EntityCard\";\nimport { EntityProperty } from \"./EntityProperty\";\n\nexport interface IEntity {\n Group: typeof EntityGroup;\n Card: typeof EntityCard;\n Property: typeof EntityProperty;\n}\n\nexport const Entity: IEntity = {\n Group: EntityGroup,\n Card: EntityCard,\n Property: EntityProperty,\n};\n","import React, { useRef, useEffect, FC, HTMLAttributes } from \"react\";\nimport { MenuHeader } from \"../Menu\";\nimport { IconButton } from \"../IconButton\";\nimport { ArrowLeftIcon } from \"../Icons\";\nimport { useResizeObserver } from \"../../utils\";\n\ninterface SubmenuProps {\n title: string;\n onBack: () => void;\n onHeightChange: (height: number) => void;\n}\n\nexport const Submenu: FC<SubmenuProps & HTMLAttributes<HTMLDivElement>> = ({\n onBack,\n onHeightChange,\n style,\n children,\n title,\n}) => {\n const ref = useRef(null);\n const dimensions = useResizeObserver(ref);\n const height = dimensions?.height;\n\n useEffect(() => {\n if (height && height > 0) {\n onHeightChange(height);\n }\n }, [height, onHeightChange]);\n\n return (\n <div style={style} ref={ref}>\n <MenuHeader\n title={title}\n leftElement={\n <IconButton onClick={onBack} variant=\"text gray\" size=\"small\">\n <ArrowLeftIcon />\n </IconButton>\n }\n />\n {children}\n </div>\n );\n};\n","import styled from \"styled-components\";\nimport { Menu, IMenu, MenuFooter, IMenuFooter } from \"../Menu\";\nimport { ListItem, ListProps, List, ListItemProps } from \"../List\";\nimport tw from \"twin.macro\";\n\nexport const StyledMenu = styled(Menu)<IMenu>`\n ${tw`tw-relative`}\n ${tw`tw-overflow-hidden`}\n`;\n\nexport const StyledMenuFooter = styled(MenuFooter)<IMenuFooter>`\n ${tw`tw-justify-center`}\n`;\n\nexport const StyledStartMenuList = styled(List)<ListProps>`\n ${tw`tw-py-2`}\n`;\n\nexport const StyledStartMenuListItem = styled(ListItem)<ListItemProps>`\n ${tw`tw-pr-3`}\n`;\n\nexport const StyledStartMenuTitle = styled.div`\n ${tw`tw-flex-1`}\n`;\n\nexport const StyledStartMenuNoResults = styled.div`\n ${tw`tw-py-0.5`}\n ${tw`tw-text-center`}\n`;\n\nexport const StyledStartMenuDot = styled.span`\n border-radius: 50%;\n background-color: var(--color-primary);\n color: var(--page-paper-main);\n line-height: 15px;\n width: 15px;\n font-weight: bold;\n font-size: 10px;\n text-align: center;\n margin-left: 4px;\n`;\n\nStyledMenu.displayName = \"StyledMenu\";\nStyledMenuFooter.displayName = \"StyledMenuFooter\";\nStyledStartMenuList.displayName = \"StyledStartMenuList\";\nStyledStartMenuListItem.displayName = \"StyledStartMenuListItem\";\nStyledStartMenuTitle.displayName = \"StyledStartMenuTitle\";\nStyledStartMenuDot.displayName = \"StyledStartMenuDot\";\nStyledStartMenuNoResults.displayName = \"StyledStartMenuNoResults\";\n","import React, { FC, useRef, useEffect, HTMLAttributes } from \"react\";\nimport { ArrowRightIcon } from \"../Icons\";\nimport { DataType, SelectedType } from \"./Filter\";\nimport {\n StyledStartMenuTitle,\n StyledStartMenuDot,\n StyledStartMenuListItem,\n StyledStartMenuList,\n StyledStartMenuNoResults,\n} from \"./Styles\";\nimport { useResizeObserver } from \"../../utils\";\n\nexport interface StartMenuProps {\n data: Array<DataType>;\n selected: SelectedType;\n onItemClick: (id: number | string) => void;\n onHeightChange: (height: number) => void;\n shouldRenderSubmenus: boolean;\n emptyFilterText?: string;\n}\n\nexport const StartMenu: FC<StartMenuProps & HTMLAttributes<HTMLDivElement>> = ({\n data,\n selected,\n onItemClick,\n style,\n onHeightChange,\n shouldRenderSubmenus,\n emptyFilterText,\n children,\n}) => {\n const ref = useRef(null);\n const dimensions = useResizeObserver(ref);\n const height = dimensions?.height;\n\n useEffect(() => {\n if (height && height > 0) {\n onHeightChange(height);\n }\n }, [height, onHeightChange]);\n\n return (\n <div style={style} ref={ref}>\n <StyledStartMenuList>\n {shouldRenderSubmenus ? (\n data.map(({ id, title, submenu }, index: number) => {\n const count = selected[id]?.length;\n if (submenu?.length > 1) {\n return (\n <StyledStartMenuListItem\n key={`filter-list-item-${index}`}\n onClick={() => onItemClick(id)}\n >\n <StyledStartMenuTitle>{title}</StyledStartMenuTitle>\n {count > 0 ? (\n <StyledStartMenuDot>{count}</StyledStartMenuDot>\n ) : null}\n <ArrowRightIcon />\n </StyledStartMenuListItem>\n );\n }\n })\n ) : emptyFilterText ? (\n <StyledStartMenuNoResults>{emptyFilterText}</StyledStartMenuNoResults>\n ) : null}\n {children}\n </StyledStartMenuList>\n </div>\n );\n};\n","import { createContext, useContext } from \"react\";\n\ninterface IWizardContext {\n activeStep?: number;\n setActiveStep?: (integer) => void;\n goNext?: () => void;\n goPrevious?: () => void;\n close?: () => void;\n setChangingStepInProgress?: (boolean) => void;\n}\n\nconst WizardContext = createContext<IWizardContext>({});\n\nexport const WizardContextProvider = WizardContext.Provider;\nexport const WizardContextConsumer = WizardContext.Consumer;\n\nexport const useWizardContext = (): IWizardContext => useContext(WizardContext);\n\nexport default WizardContext;\n","import React, { FC } from \"react\";\nimport { Button } from \"../Button\";\nimport { ArrowRightIcon } from \"../Icons\";\n\nexport interface IStepActionButton {\n isLast?: boolean;\n onNextButtonClick?: () => void;\n actionLabel?: string;\n disabled?: boolean;\n className?: string;\n}\n\nexport const StepActionButton: FC<IStepActionButton> = ({\n onNextButtonClick,\n actionLabel = \"Proceed\",\n isLast,\n disabled,\n className,\n}) => {\n return (\n <Button\n className={className}\n onClick={onNextButtonClick}\n disabled={disabled}\n >\n {actionLabel}\n {!isLast ? <ArrowRightIcon /> : null}\n </Button>\n );\n};\n\nStepActionButton.displayName = \"StepActionButton\";\n","import styled from \"styled-components\";\n\nexport const StyledStepHeader = styled.div`\n display: flex;\n padding: 12px 12px 12px 32px;\n justify-content: space-between;\n`;\n\nexport const StyledStepTitle = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nexport const StyledStepHeaderLeft = styled.div`\n display: flex;\n`;\n\nexport const StyledCustomStep = styled.div`\n overflow-y: auto;\n`;\n","import React, { FC, ReactNode, useCallback } from \"react\";\nimport { ArrowBackMobileIcon, CancelCrossIcon } from \"../Icons\";\nimport { IconButton } from \"../IconButton\";\nimport { StepActionButton } from \"./StepActionButton\";\nimport { Dialog } from \"../Dialog\";\nimport { Caption2, Header3 } from \"../Typography\";\nimport {\n StyledStepTitle,\n StyledStepHeaderLeft,\n StyledStepHeader,\n StyledCustomStep,\n} from \"./Styles\";\n\nexport interface IStep {\n index?: number;\n isLast?: boolean;\n subtitle: string;\n title?: string;\n onNextButtonClick?: () => void;\n onPreviousButtonClick?: () => void;\n onClose?: () => void;\n children: ReactNode;\n actionLabel?: string;\n shouldRenderNextButton?: boolean;\n changingStepInProgress?: boolean;\n skip?: boolean;\n}\n\nexport const Step: FC<IStep> = ({\n index,\n isLast,\n subtitle,\n title,\n onNextButtonClick,\n onPreviousButtonClick,\n onClose,\n children,\n actionLabel = \"Proceed\",\n shouldRenderNextButton = true,\n changingStepInProgress = false,\n skip = false,\n}) => {\n const onActionButtonClick = useCallback(() => {\n if (isLast && onClose) {\n return onClose();\n }\n\n return onNextButtonClick && onNextButtonClick();\n }, [isLast, onClose, onNextButtonClick]);\n\n return !skip ? (\n <>\n <StyledStepHeader>\n <StyledStepHeaderLeft>\n {index && index > 0 ? (\n <IconButton\n onClick={onPreviousButtonClick}\n variant=\"text gray\"\n className=\"tw--ml-3 tw-mr-2\"\n disabled={changingStepInProgress}\n >\n <ArrowBackMobileIcon />\n </IconButton>\n ) : null}\n <StyledStepTitle>\n <Caption2>{title}</Caption2>\n <Header3>{subtitle}</Header3>\n </StyledStepTitle>\n </StyledStepHeaderLeft>\n <IconButton\n onClick={onClose}\n variant=\"text gray\"\n disabled={changingStepInProgress}\n >\n <CancelCrossIcon />\n </IconButton>\n </StyledStepHeader>\n <Dialog.ContentDivider />\n {shouldRenderNextButton ? (\n <>\n <Dialog.Content>{children}</Dialog.Content>\n <Dialog.ContentDivider />\n <Dialog.Actions>\n <StepActionButton\n isLast={isLast}\n actionLabel={actionLabel}\n onNextButtonClick={onActionButtonClick}\n />\n </Dialog.Actions>\n </>\n ) : (\n <StyledCustomStep>{children}</StyledCustomStep>\n )}\n </>\n ) : null;\n};\n\nStep.displayName = \"Step\";\n","import React, {\n forwardRef,\n ReactChild,\n ReactElement,\n ReactFragment,\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { Dialog } from \"../Dialog\";\nimport { WizardContextProvider } from \"./context\";\nimport { Step } from \"./Step\";\n\nexport interface IWizard {\n title: string;\n open: boolean;\n onClose: () => void;\n children: ReactNode;\n disableCloseOnEsc?: boolean;\n}\n\nexport const Wizard = forwardRef<HTMLDivElement, IWizard>(\n ({ title, open, onClose, disableCloseOnEsc = false, children }, ref) => {\n const childrenCollection = useMemo(\n () => React.Children.toArray(children),\n [children]\n );\n\n const [activeStep, setActiveStep] = useState(0);\n const [changingStepInProgress, setChangingStepInProgress] = useState(false);\n\n useEffect(() => {\n if (open) {\n setActiveStep(0);\n }\n }, [open]);\n\n const goNext = useCallback(() => {\n const index = childrenCollection.findIndex(\n (step: ReactChild | ReactFragment, index) => {\n const stepEl = step as ReactElement;\n return !stepEl?.props?.skip && index > activeStep;\n }\n );\n setActiveStep(index);\n }, [activeStep, childrenCollection]);\n\n const goPrevious = useCallback(() => {\n let index = 0;\n for (let i = childrenCollection.length - 1; i >= 0; i--) {\n const step = childrenCollection[i] as ReactElement;\n if (!step?.props?.skip && i < activeStep) {\n index = i;\n break;\n }\n }\n setActiveStep(index);\n }, [activeStep, childrenCollection]);\n\n const renderActiveStep = useMemo(() => {\n const element = childrenCollection[activeStep] as ReactElement;\n\n if (element?.type === Step) {\n return React.cloneElement(element, {\n index: activeStep,\n isLast: childrenCollection.length - 1 === activeStep,\n title,\n onNextButtonClick: goNext,\n onPreviousButtonClick: goPrevious,\n onClose,\n changingStepInProgress: changingStepInProgress,\n });\n }\n\n return null;\n }, [\n activeStep,\n changingStepInProgress,\n childrenCollection,\n goNext,\n goPrevious,\n onClose,\n title,\n ]);\n\n return (\n <WizardContextProvider\n value={{\n activeStep,\n setActiveStep,\n goNext,\n goPrevious,\n close: onClose,\n setChangingStepInProgress,\n }}\n >\n <Dialog\n ref={ref}\n open={open}\n onClose={onClose}\n disableCloseOnEsc={disableCloseOnEsc}\n >\n {renderActiveStep}\n </Dialog>\n </WizardContextProvider>\n );\n }\n);\n\nWizard.displayName = \"Wizard\";\n","import styled, { css } from \"styled-components\";\nimport { BadgeProps } from \"./Badge\";\n\nexport const StyledBadge = styled.div<Partial<BadgeProps>>`\n background-color: ${(props) => props.backgroundColor};\n block-size: ${(props) => props.dimension + \"px\"};\n border-radius: 100%;\n border: 2px solid var(--page-paper-main);\n inline-size: ${(props) => props.dimension + \"px\"};\n position: absolute;\n pointer-events: none;\n z-index: 1;\n\n ${({ position }) =>\n position === \"top-left\" &&\n css`\n inset-block-start: 0;\n inset-inline-start: 0;\n `}\n\n ${({ position }) =>\n position === \"top-right\" &&\n css`\n inset-block-start: 0;\n inset-inline-end: 0;\n `}\n\n ${({ position }) =>\n position === \"bottom-right\" &&\n css`\n inset-block-end: 0;\n inset-inline-end: 0;\n `}\n\n ${({ position }) =>\n position === \"bottom-left\" &&\n css`\n inset-block-end: 0;\n inset-inline-start: 0;\n `}\n`;\n","import classNames from \"classnames\";\nimport React from \"react\";\nimport { StyledBadge } from \"./Styles\";\n\ntype Position = \"top-left\" | \"top-right\" | \"bottom-right\" | \"bottom-left\";\n\nexport interface BadgeProps {\n position?: Position;\n dimension?: number;\n className?: string;\n backgroundColor?: string;\n isVisible?: boolean;\n}\n\n/**\n * @component Badge\n * @description\n * In some products, you might need to show a badge on the right corner of the avatar.\n * We call this a badge. Here's an example that shows if the user is online.\n *\n * @prop {position} - dictates the position of a badge.\n * @prop {dimension} - controls the size of a badge (width and height) in pixels.\n * @prop {backgroundColor} - background-color of a badge.\n * @prop {isVisible} - dictates if badge should be visible or not.\n *\n * @example\n * <IconButton variant=\"text gray\" size=\"big\">\n * <BellOffIcon />\n * <Badge position=\"top-right\" backgroundColor=\"red\" dimension={16} />\n * </IconButton>\n *\n * @see\n * https://system.activecollab.com/?path=/story/components-button-indicators-badge--badge\n */\nexport const Badge = ({\n dimension = 8,\n className,\n position = \"bottom-left\",\n backgroundColor = \"#40C37D\",\n isVisible = true,\n}: BadgeProps) => {\n return isVisible ? (\n <StyledBadge\n className={classNames(\"c-badge\", className)}\n dimension={dimension}\n position={position}\n backgroundColor={backgroundColor}\n role=\"status\"\n />\n ) : null;\n};\n","import React, { FC, useCallback, useEffect, useMemo, useState } from \"react\";\nimport { MoveFocusInside } from \"react-focus-lock\";\nimport { Submenu } from \"./Submenu\";\nimport { StartMenu } from \"./StartMenu\";\nimport { FilterIcon } from \"../Icons\";\nimport { ResizeTransition, SlideLeftRightTransition } from \"../Transitions\";\nimport { IOptionGroupProps, IOptionItemProps, Select } from \"../Select\";\nimport { CounterButton } from \"../CounterButton\";\nimport { Button } from \"../Button\";\nimport { StyledMenu, StyledMenuFooter } from \"./Styles\";\n\nexport type DataType = {\n id: number | string;\n title: string;\n searchPlaceholder?: string;\n disableInternalSort?: boolean;\n submenu: Array<IOptionGroupProps | IOptionItemProps>;\n};\n\nexport type SelectedType = {\n [key: number | string]: Array<string>;\n};\n\nexport interface FilterProps {\n /** Data rendered in submenus */\n data: Array<DataType>;\n /** Selected data inside submenus */\n selected?: SelectedType;\n /** Main filter label */\n label: string;\n /** Filter width */\n width?: number;\n /** Text displayed for the tooltip of clear all button */\n clearAllText: string;\n /** Handler for changes on the filter */\n onChange: (selected: SelectedType) => void;\n /** Label for reset button inside submenu */\n resetLabel?: string;\n /** Text to show when search results are empty */\n noResultText: string;\n /** Text to show when there are no submenus to display */\n emptyFilterText?: string;\n}\n\nexport const Filter: FC<FilterProps> = ({\n data,\n selected = {},\n label,\n clearAllText,\n resetLabel = \"Reset\",\n onChange,\n width = 260,\n noResultText,\n emptyFilterText,\n children,\n}) => {\n const [open, setOpen] = useState(false);\n const [menu, setMenu] = useState<number | string>(\"index\");\n const [isLeft, setIsLeft] = useState(true);\n const [height, setHeight] = useState(0);\n const [enteredMenu, setEnteredMenu] = useState<number | string>(\"index\");\n const [filter, setFilter] = useState<SelectedType>(() => selected);\n\n useEffect(() => {\n if (Object.keys(selected).length > 0 || Object.keys(filter).length > 0) {\n setFilter(selected);\n }\n }, [selected, filter]);\n\n const handleOpen = useCallback(() => {\n setOpen(true);\n }, []);\n\n const handleClose = useCallback(() => {\n setOpen(false);\n setMenu(\"index\");\n setHeight(0);\n }, []);\n\n const handleHeight = useCallback((element) => {\n setHeight(element?.offsetHeight ?? 0);\n }, []);\n\n const handleItemClick = useCallback((value) => {\n setMenu(value);\n setIsLeft(true);\n }, []);\n\n const setIndex = useCallback(() => {\n setMenu(\"index\");\n setIsLeft(false);\n }, []);\n\n const handleChange = useCallback(\n (selectedArray) => {\n let newFilters = {};\n if (selectedArray.length) {\n newFilters = {\n ...filter,\n [menu]: selectedArray,\n };\n } else {\n newFilters = { ...filter };\n delete newFilters[menu];\n }\n\n setFilter(newFilters);\n onChange(newFilters);\n },\n [filter, menu, onChange]\n );\n\n const handleClearAll = useCallback(\n (event) => {\n event.stopPropagation();\n setFilter({});\n onChange({});\n },\n [onChange]\n );\n\n const handleReset = useCallback(() => {\n const newFilters = { ...filter };\n delete newFilters[menu];\n setFilter(newFilters);\n onChange(newFilters);\n }, [filter, menu, onChange]);\n\n const count = useMemo(() => {\n let c = 0;\n Object.values(filter).forEach((entry) => (c += entry.length));\n return c;\n }, [filter]);\n\n const shouldRenderSubmenus = useMemo(() => {\n if (data.length === 0) {\n return false;\n }\n\n for (const entry of data) {\n if (entry.submenu?.length > 1) {\n return true;\n }\n }\n\n return false;\n }, [data]);\n\n return (\n <StyledMenu\n open={open}\n onOpen={handleOpen}\n onClose={handleClose}\n position=\"bottom-end\"\n target={\n <CounterButton\n active={open}\n label={label}\n icon={<FilterIcon />}\n counter={count}\n tooltipText={clearAllText}\n onClearAll={handleClearAll}\n />\n }\n >\n <ResizeTransition in>\n <div style={{ height, width }}>\n <SlideLeftRightTransition\n in={menu === \"index\"}\n direction={isLeft ? \"left\" : \"right\"}\n onEnter={handleHeight}\n onEntered={() => setEnteredMenu(\"index\")}\n >\n <MoveFocusInside>\n <StartMenu\n data={data}\n selected={filter}\n style={{ width }}\n onHeightChange={setHeight}\n onItemClick={handleItemClick}\n shouldRenderSubmenus={shouldRenderSubmenus}\n emptyFilterText={emptyFilterText}\n >\n {children}\n </StartMenu>\n </MoveFocusInside>\n </SlideLeftRightTransition>\n {shouldRenderSubmenus &&\n data.map(\n (\n {\n id,\n title,\n submenu,\n searchPlaceholder,\n disableInternalSort,\n }: DataType,\n index: number\n ) => (\n <SlideLeftRightTransition\n key={`filter-submenu-${index}`}\n in={menu === id}\n direction={isLeft ? \"left\" : \"right\"}\n onEnter={handleHeight}\n onEntered={() => setEnteredMenu(id)}\n >\n <Submenu\n title={title}\n onBack={setIndex}\n onHeightChange={setHeight}\n style={{ width }}\n >\n <MoveFocusInside disabled={enteredMenu !== id}>\n <Select\n options={submenu}\n selected={filter[id]}\n onChange={handleChange}\n type=\"multiple\"\n autoHeightMax={255}\n placeholder={searchPlaceholder}\n noResultText={noResultText}\n keepSameOptionsOrder={Boolean(submenu.length <= 7)}\n disableSearch={Boolean(submenu.length <= 7)}\n disabledInternalSort={disableInternalSort}\n />\n {filter[id]?.length ? (\n <StyledMenuFooter>\n <Button\n variant=\"text colored\"\n size=\"small\"\n onClick={handleReset}\n >\n {resetLabel}\n </Button>\n </StyledMenuFooter>\n ) : null}\n </MoveFocusInside>\n </Submenu>\n </SlideLeftRightTransition>\n )\n )}\n </div>\n </ResizeTransition>\n </StyledMenu>\n );\n};\n"],"names":["FontStyle","css","BoxSizingStyle","StyledButton","styled","button","displayName","componentId","props","size","variant","iconOnly","active","children","Array","StyledButtonElements","span","StyledButtonElement","Button","forwardRef","ref","_ref$active","_ref$variant","_ref$size","className","args","React","classnames","Object","role","map","value","index","key","AddCrossTinyIcon","svgRef","width","height","viewBox","xmlns","fill","focusable","d","fillRule","StyledGlobalAddButton","GlobalAddButton","_ref$disabled","disabled","rest","StyledButtonGroup","div","display","flexDirection","marginRight","borderTopRightRadius","borderBottomRightRadius","borderTopLeftRadius","borderBottomLeftRadius","borderRadius","color","ButtonGroup","classNames","layers","cloud","skyscraper","tower","house","setRef","current","useForkRef","refA","refB","useMemo","refValue","_useState2","useState","dimensions","setDimensions","useEffect","observeTarget","resizeObserver","ResizeObserver","entries","forEach","entry","contentRect","observe","unobserve","MenuContext","createContext","MenuContextProvider","Provider","Consumer","Popper","anchorEl","_ref$open","open","style","_ref$transition","transition","_ref$placement","placement","initialPlacement","_ref$strategy","strategy","exited","setExited","_useState4","setPlacement","ownRef","useRef","popperRef","handleInnerRef","handlePopperUpdate","data","handleOpen","useCallback","destroy","createPopper","onFirstUpdate","handleClose","handleRef","node","update","childProps","transitionProps","in","onEnter","onExited","StyledOverlay","$disableBackgroundColor","Overlay","_ref$disableBackgroun","disableBackgroundColor","Portal","_ref$container","container","document","body","mountNode","setMountNode","getContainer","ReactDOM","createPortal","LayerContext","LayerContextProvider","LayerContextConsumer","useLayerContext","useContext","StyledWindow","returnFocus","preventScroll","Window","onClose","onKeyDown","_ref$disableFocusLock","disableFocusLock","_ref$disableScrollLoc","disableScrollLock","_ref$disableCloseOnEs","disableCloseOnEsc","onClick","_useLayerContext$zInd","zIndex","handleKeyDown","event","defaultPrevented","preventDefault","handleClick","stopPropagation","FocusLock","RemoveScroll","forwardProps","enabled","noIsolation","tabIndex","StyledBubble","backgroundColor","boxShadow","borderColor","borderWidth","borderStyle","opacity","visibility","Bubble","_ref$innerRef","innerRef","_ref$style","StyledMenu","marginTop","marginBottom","overflow","$mode","StyledMenuFooter","paddingLeft","paddingRight","paddingTop","paddingBottom","StyledMenuHeader","alignItems","justifyContent","Menu","onMenuClick","_ref$handleScroll","handleScroll","_ref$mode","mode","defaultOpen","onOpen","onBeforeClose","_ref$position","position","target","menuClassName","popperClassName","backgroundElementClass","_ref$windowAbsolutely","windowAbsolutelyPositioned","setOpen","childNode","setChildNode","elementRef","isOpenAtLeastOnce","handleRefRef","undefined","_target$props","forceClose","targetProps","_elementRef$current","focus","cloneElement","onMouseDown","colors","primary","secondary","tertiary","quaternary","success","alert","warning","StyledTypography","$color","$variant","fontSize","$italic","$tabularNums","$letterSpacing","letterSpacing","$lineHeight","lineHeight","$align","$decoration","$transform","$overflow","$whitespace","$wordBreak","$weight","fontWeight","Typography","as","_ref$color","_ref$italic","italic","_ref$tabularNums","tabularNums","_ref$letterSpacing","_ref$lineHeight","_ref$align","align","_ref$decoration","decoration","_ref$transform","transform","_ref$overflow","_ref$whitespace","whitespace","_ref$wordBreak","wordBreak","_ref$weight","weight","Component","MenuHeader","title","leftElement","rightElement","minWidth","marginLeft","MenuFooter","StyledList","ul","StyledListItem","li","StyledListSeparator","ListItem","ListSeparator","_List","List","assign","Item","Separator","StyledIconButton","IconButton","ActivityIcon","stroke","strokeWidth","AddCrossIcon","ArrowBackMobileIcon","clipRule","ArrowCollapseMultipleIcon","ArrowDownLongIcon","ArrowDownIcon","ArrowExpandeMultipleIcon","ArrowLeftBoxIcon","ArrowLeftIcon","ArrowRefreshIcon","ArrowRightIcon","ArrowUpLongIcon","ArrowUpIcon","AssignIcon","AttachmentIcon","BellOffSmallIcon","BellOffIcon","BillingIcon","BudgetAlertIcon","CalendarAddXIcon","CalendarIcon","CancelCrossIcon","CaretLeftIcon","CaretRightIcon","ChatIcon","CheckIcon","CheckboxBlankTogglerIcon","CheckboxIcon","x","y","rx","ChecklistSmallIcon","ChecklistIcon","CircleMultipleIcon","ClockAddIcon","ClockSmallIcon","ClockStopwatchSmallIcon","ClockStopwatchIcon","ClockIcon","CloseSmallIcon","CloseIcon","CollapsIcon","CollapseAllIcon","CollapseExpandSingleIcon","ComputerIcon","CopyIcon","CrownBlankIcon","CrownSelectedIcon","DependencySmallIcon","DependencyIcon","DiscussionAddIcon","DollarCheckmarkSmallIcon","DollarCheckmarkIcon","DollarClockSmallIcon","DollarClockIcon","DollarOffSmallIcon","DollarOffIcon","DollarSmallIcon","DollarIcon","DownloadIcon","DriveIcon","DropboxIcon","DuplicateIcon","EditMultipleIcon","EditIcon","EmojiIcon","EstimatePlusIcon","EstimatesIcon","ExpandAllIcon","ExpenseAddIcon","EyeOffSmallIcon","EyeOffIcon","EyeSmallIcon","EyeIcon","FilterIcon","FolderMoveIcon","FolderOutlineIcon","GiftIcon","HashtagIcon","HelpIcon","ImageIcon","InfoSmallIcon","InfoIcon","InsertLinkIcon","IntegrationsIcon","InvoicesIcon","LabelsIcon","LockSmallIcon","LockIcon","MarkerIcon","MessageAddIcon","MessageEmptyIcon","MessageSmallIcon","MessageIcon","MinusIcon","MoveTriggerIcon","MyWorkIcon","NoteAddIcon","NoteIcon","NotificationBellIcon","OpenExpandedIcon","OpenSheetIcon","OrderFirstIcon","PaidSmallIcon","PauseCircleOutlineIcon","PauseIcon","PauseSmallIcon","PencilSmallIcon","PencilIcon","PendingPaymentSmallIcon","PeopleIcon","PersonCircleOffIcon","PersonCircleIcon","PersonPlusIcon","PersonIcon","PlayCircleOutlineIcon","PlayIcon","PlaySmallIcon","PriorityLowIcon","ProjectAddIcon","ProjectTemplateAddIcon","ProjectTemplateConvertIcon","ProjectTemplateIcon","ProjectsIcon","RadioBlankIcon","RadioButtonIcon","cx","cy","r","RearangeIcon","RearrangeSmallIcon","RecurringCheckmarkSmallIcon","RecurringCheckmarkIcon","ReportTimeIcon","ReportsIcon","RocketIcon","SearchLargeIcon","SearchIcon","SendBlankIcon","SendFilledIcon","SettingsIcon","SortGeneralIcon","SortIcon","StarOutlineIcon","StarIcon","SystemSettingsIcon","TaskAddIcon","TaskListAddIcon","TaskListCompleteIcon","ThumbUpOutlineIcon","TrashIcon","TreeDotsIcon","UploadIcon","ViewGridIcon","ViewListIcon","ViewTimelineIcon","VolumeHighIcon","WarningTriangleSmallIcon","WarningTriangleIcon","WarningIcon","WorkloadIcon","StyledNavElement","nav","StyledListWrapper","StyledOList","ol","listStyleType","padding","margin","StyledMenuList","StyledBreadcrumbListItem","flexShrink","Breadcrumbs","_ref$separator","separator","internalRef","listWrapperRef","olRef","widthCollectionRef","menuBreadcrumbs","setMenuBreadcrumbs","useResizeObserver","childDimensions","parentWidth","childWidth","childrenCollection","Children","toArray","_useMemo2","slice","length","menuCollection","listCollection","diffWidth","separatorWidth","_olRef$current","querySelectorAll","_olRef$current$queryS","offsetWidth","breadcrumbItems","_olRef$current2","childWidthCollection","maxIndex","currentIndex","childSumWidth","result","_breadcrumbItems$curr","push","pop","oldVal","total","collection","sumWidth","totalToDecrease","newValue","end","child","Fragment","defaultStyle","transitionProperty","transitionDuration","transitionTimingFunction","transformOrigin","transitionStyles","entering","transitionDelay","entered","exiting","FromElement","inProp","_ref$timeout","timeout","Transition","appear","state","StyledTooltip","$isLight","TooltipAnimation","Tooltip","_ref2$isLight","isLight","_ref2$placement","_ref2$TransitionCompo","TransitionComponent","popperTooltipStyle","popperTooltipClassName","disable","handleOwnRef","childrenProps","onMouseOver","type","removeAttribute","onMouseLeave","currentTarget","Body2","StyledCounterButtonWrapper","StyledCounterButton","$active","$selected","StyledCounterButtonCounter","StyledCounterButtonReset","StyledCounterButtonLabel","pointerEvents","CounterButton","label","icon","_ref$counter","counter","tooltipText","onClearAll","customClassNames","wrapper","interactionDisabled","months","month","navBar","navButtonPrev","navButtonNext","navButtonInteractionDisabled","caption","weekdays","weekdaysRow","weekday","week","weekNumber","day","footer","todayButton","today","selected","outside","weekend","userAvailability","nonWorkingDay","StyledNavBarButton","$direction","StyledMonths","left","flexWrap","StyledMonth","cursor","$isSelected","$isCurrent","$isCurrentQuarter","StyledYearMonthPicker","textAlign","StyledYearMonthPickerNavBar","StyledYearMonthPickerNavBarItem","YearMonthPicker","date","localeUtils","_ref$onChange","onChange","_ref$isShown","isShown","text","selectedDays","selectionMode","enteredTo","setEnteredTo","getMonths","handleMonthChange","e","Date","getFullYear","dataset","onMouseEnterCallback","Math","floor","getAttribute","renderMonths","i","onMouseEnter","getMonth","from","to","substring","NavBarElement","onPreviousClick","onNextClick","onPrevious","onNext","CustomNavBarElement","showPreviousButton","showNextButton","labels","locale","_ref$showMonthPicker","showMonthPicker","onChangeDirection","onMonthChange","nextMonth","DateUtils","addMonths","previousMonth","StyledDatePicker","StyledDayPicker","DayPicker","$isYearlyView","StyledDatePickerCSSTransition","CSSTransition","DatePicker","onDayClick","disabledDays","_ref$selectionMode","_ref$month","_ref$onMonthChange","_ref$dateRequired","dateRequired","_ref$firstDayOfWeek","firstDayOfWeek","_ref$fixedWeeks","fixedWeeks","defaultModifiers","modifiers","enteredFrom","setEnteredFrom","_useState6","stopScroll","setStopScroll","_useState8","direction","setDirection","_useState10","isPreselected","setIsPreselected","_useState12","setShowMonthPicker","_useState14","setModifiers","prev","hovered","handleDayClick","moment","isSame","startOf","toDate","endOf","isBetween","isDayAfter","isSelectedFirstDay","handleDayMouseEnter","onDayMouseLeave","onWheel","getTime","deltaY","togglePicker","customNavBarElement","handleYearMonthChange","m","format","handleYearMonthForm","onKeyDownCallback","addEventListener","removeEventListener","SwitchTransition","onDayMouseEnter","navbarElement","onCaptionClick","captionElement","screen","sm","md","lg","xl","xxl","WebkitFontSmoothing","MozOsxFontSmoothing","verticalAlign","textDecoration","userSelect","StyledSpan","StyledDiv","$isTargetable","$isRounded","StyledControl","DateStepper","step","formatCallback","onBack","onForward","minValue","maxValue","_ref$period","period","datePickerClass","_ref$withDatePicker","withDatePicker","_ref$defaultMonth","defaultMonth","fromDate","setFromDate","setToDate","showDatePicker","setShowDatePicker","setMonth","getDatesByPeriod","interval","add","clone","getDateFormatted","actualYear","year","showWeekOrCustomDateFormat","start","startDate","endDate","quarter","onChangeCallback","amount","_getDatesByPeriod2","newFrom","newTo","onDatePickerChange","dates","fromDateTemp","toDateTemp","isAfterMaxDate","isSameOrBefore","isBeforeMinDate","isSameOrAfter","onRightClickHandler","onLeftClickHandler","renderLeftRightButtons","handleShow","closeMenu","isDisabled","dayFormat","isBefore","isAfter","fromDay","toDay","range","dateStepperWidth","MomentLocaleUtils","StyledSteps","StyledStep","$isActiveStep","Steps","numberOfSteps","activeStep","_ref$progressive","progressive","wrapperClassName","steps","a","b","activeSteps","filter","indexOf","StyledTableHead","thead","textTransform","$headerVariant","whiteSpace","StyledTableBody","tbody","textOverflow","StyledTableWrapper","overflowX","overflowY","right","bottom","StyledTable","table","$striped","StyledDataTable","Table","_ref$striped","striped","Thead","_ref2$headerVariant","headerVariant","Tbody","linearAnimation","keyframes","StyledLinearLoader","LinearLoader","dotAnimation","StyledDotsLoader","DotsLoader","rotateAnimation","StyledSpinnerLoader","$diameter","$rotateDurationInSeconds","$activeColorPercentage","$stroke","$inactiveStrokeColor","$activeStrokeColor","SpinnerLoader","radius","_ref$stroke","_ref$activeStrokeColo","activeStrokeColor","_ref$inactiveStrokeCo","inactiveStrokeColor","_ref$activeColorPerce","activeColorPercentage","_ref$rotateDurationIn","rotateDurationInSeconds","SortDirection","groupByKey","items","reduce","item","initialCollapsed","rows","groupBy","groupedData","keys","collapsedKeys","DataTable","header","_ref$rows","sortBy","_ref$sortDirection","sortDirection","None","onSortCallback","theadClass","noResultsCallback","_ref$groupHead","groupHead","isCollapsible","emptyValue","loading","_ref$loadingRows","loadingRows","columnDirection","setColumnDirection","setActive","setHovered","collapsed","setCollapsed","sort","sortByKey","rowsData","Asc","first","toString","second","localeCompare","initialData","setData","sortColumn","previousDirection","sortable","Desc","grouped","cellMouseOver","HTMLElement","cellMouseOut","renderNoResults","colSpan","tableRef","overlayStyles","clientHeight","renderCell","h","row","colIndex","renderCallback","renderRow","rowIndex","toggleCollapse","collapseKey","groupkey","prevState","newState","renderPlaceholders","placeholders","_","col","renderRows","_typeof","last","trim","hidden","allGroupsCollapsed","every","hasCollapsed","some","toggleAllCollapsed","hideCollapsed","burstScale","burstAnimation","StyledCompleteCheckbox","$primary","$completed","$disabled","$animation","$checkMarkClassName","CompleteCheckbox","completed","_ref$animate","animate","_ref$primary","checkMarkClassName","points","PaperStyles","StyledPaper","Paper","_ref$type","_ref$hover","hover","_ref$useOptimizedShad","useOptimizedShadow","StyledScaleBarInner","$width","StyledScaleBar","ScaleBar","StyledCard","Card","_ref$hoverable","hoverable","_ref$paperType","paperType","StyledEntityCard","$renderAs","EntityCard","renderAs","properties","renderAsListItem","p","showInList","name","render","renderAsGridItem","headerSection","cardSection","bodySection","footerSection","renderProperty","Title1","Title2","Header2","Header3","Body1","Caption1","Caption2","StyledSignifier","StyledSignifierTransition","StyledIcon","svg","signifierTypes","Signifier","_ref$value","tooltipClassName","console","warn","setPrevValue","max","v","renderSignifier","includes","StyledWrapper","StyledAvatar","img","Avatar","url","_ref$alt","alt","src","StyledDot","$size","Dot","StyledTag","StyledTagDot","$showText","StyledTagText","Tag","_ref$showText","showText","_ref$showDot","showDot","StyledHiglightedText","searchBy","matchCase","textComparator","searchByComparator","toLowerCase","beforeHighlighted","highLighted","afterHighlighted","replace","handleKeyboardMovement","flatOptions","showAddNew","showDefaultOption","options","id","hoveredIndex","findIndex","option","isHoveredLastOption","isHoveredFirstOption","StyledOption","Option","renderOption","_ref$onClick","handleOnMouseEnter","StyledInput","input","StyledLabel","StyledCheckbox","Checkbox","_ref$id","htmlFor","StyledOptionGroupLi","StyledOptionGroup","StyledOptionGroupHeader","h3","StyledOptionGroupOption","OptionGroup","checked","setHover","renderOptions","optionGroupClassName","list","getElementById","_document$getElementB","isAllOptionsChecked","handleHover","allOptionValues","values","unique","pos","StyledScrollShadow","StyledScrollShadowTop","top","$innerColor","$outerColor","StyledScrollShadowBottom","StyledScrollShadowLeft","StyledScrollShadowRight","ScrollShadow","_ref$disableVertical","disableVertical","_ref$disableHorizonta","disableHorizontal","_ref$invertHorizontal","invertHorizontal","_ref$invertVertical","invertVertical","innerColor","outerColor","setOpacity","scrollHeight","scrollWidth","clientWidth","scrollTop","scrollLeft","min","bottomScrollTop","offset","onScroll","useInitScrollRef","element","invert","useHeight","setHeight","prevMaxHeight","maxHeight","prevVisibility","elementHeight","ScrollElement","_ref$invert","createElement","StyledAutocompleteScrollShadow","$isHidden","StyledAutocompleteBody","StyledAutocompleteNewItem","isOptionGroup","Autocomplete","_ref$options","inputEl","_ref$selected","noResultText","_ref$renderOption","defaultValue","handleChange","optionClassName","handleEmptyAction","disabledInternalSort","AutocompleteClassName","handleDefaultOptionChange","preselectDefaultValue","_ref$keepSameOptionsO","keepSameOptionsOrder","_ref$autoHeightMax","autoHeightMax","clearInputOnSelect","itemRef","listRef","selectedOptions","isArray","handleSort","opts","sortList","_toConsumableArray","sortedList","by","setFilter","handleEmpty","_inputEl$current","onAddNewMouseEnter","renderAddNew","filterOptions","trimmedFilter","acc","groupedOption","filteredOptions","handleInputChange","handleHoverCallback","toggleSelected","_id","dispatchEvent","Event","bubbles","handleMouseEnter","handleRenderOption","highlightText","handleOnMouseLeave","itemOffset","getClientHeight","getScrollTop","offsetTop","handleOnKeyDown","inputRef","isDefaultOptionSelected","showNoResult","renderNoResult","Scrollbars","autoHeight","StyledInputWrapper","$invalid","$loading","Input","_ref$invalid","invalid","startAdornment","endAdornment","wrapRef","intInputRef","handleWrapperClick","_intInputRef$current","StyledRadioInput","StyledRadioLabel","StyledRadioButton","$isControlled","$isHovered","RadioButton","StyledSelectInput","StyledSelectForm","form","StyledOptionContentWrapper","StyledOptionIndicator","StyledOptionText","textColor","StyledAdditionalInfo","StyledMultiAvatarImg","StyledMultiAvatarInner","StyledMultiAvatar","$urlCount","MultiAvatar","setSize","slicedUrl","OptionContent","imageUrl","additionalInfo","Select","actionIcon","actionLabel","placeholder","_ref$emptyAction","emptyAction","_ref$disableSearch","disableSearch","forceCloseMenu","selectClassName","onSelectOpen","onSelectClose","_ref$preselectDefault","prop","formRef","selectOptions","allGroupOptions","_childNode$current","selectedValue","_formRef$current","reset","handleDefaultOptionChangeCallback","image","autoFocus","StyledNav","$role","StyledNavList","StyledNavListItem","StyledNavAsSelect","StyledNavAsMoreTarget","StyledNavListItemMore","StyledExpand","StyledExpandSingle","$expanded","ExpandSingle","expanded","Nav","_ref$alignment","alignment","onSelect","onMoreOptionSelect","_ref$role","moreLabel","visibleTabIndexes","setVisibleTabIndexes","measuringRender","setMeasuringRender","moreVisible","setMoreVisible","renderNavAsSelect","setRenderNavAsSelect","setOptions","moreOpened","setMoreOpened","_useState16","isMounted","setIsMounted","navItemNames","allOptions","navRef","navItemsRefs","moreItemRef","Number","useLayoutEffect","containerWidth","_navRef$current","itemsWidth","moreItemWidth","_moreItemRef$current","firstItemWidth","visible","allWidth","handleResize","debounce","window","_step","_iterator","setTimeout","disconnect","visibleTabs","tabs","onMoreOptionClick","navAsSelect","setMoreOpen","setMoreClose","el","InputAdornmentBase","$disablePointerEvents","InputAdornment","disablePointerEvents","ExpandAll","StyledMenuSelectorDots","StyledMenuSelectorBack","StyledMenuSelector","StyledMenuSelectorInner","MenuSelector","onEdit","_ref$autoFocus","onFocus","onBlur","_ref$autoComplete","autoComplete","StyledTextarea","textarea","Textarea","createChainedFunction","functions","func","apply","this","Modal","disableBackgroundClick","_ref$disableBackgroun2","hasTransition","prototype","hasOwnProperty","call","getHasTransition","handleBackgroundClick","handleEnter","handleExited","StyledSheetIcons","StyledSheetWrapper","$position","StyledSheetWrapperPaper","attrs","paperClass","flex","StyledSheetControlsTop","StyledSheetControlsBottom","StyledSheetControlsCenterIn","StyledSheetControlsCenterOut","StyledAnimatedSpan","$state","$durationIn","$maxDurationIn","$durationOut","$maxDurationOut","StyledCssTransition","Sheet","_ref$controls","controls","_ref$animation","animation","bodyStyle","bodyClassName","control","durationOut","durationIn","maxDurationIn","maxDurationOut","StyledHeader","Header","StyledAutoResizeTextarea","AutoResizeTextarea","minRows","_ref$maxRows","maxRows","_ref$preventNewRowOnE","preventNewRowOnEnter","_ref$cursorAtTextEnd","cursorAtTextEnd","setRows","calcRows","elem","previousRows","currentRows","handleOnChange","handleFocus","setSelectionRange","handleTextAreaKeyDown","minHeight","StyledAccordion","borderBottomWidth","StyledAccordionItem","StyledAccordionItemBody","StyledAccordionItemHead","StyledAccordionItemHeadText","StyledAccordionItemHeadIcon","AccordionContext","Accordion","_ref$allowMultipleExp","allowMultipleExpanded","_ref$allowZeroExpande","allowZeroExpanded","_ref$preExpanded","preExpanded","_ref$disableToggleIco","disableToggleIcon","customToggleIcon","expandedItems","setExpandedItems","toggleExpandedCallback","prevExpanded","toggleExpanded","ItemContext","AccordionItem","accordionContext","itemId","randomString","random","isItemExpanded","AccordionItemHead","itemContext","onClickCallback","toggleIcon","AccordionItemBody","divRef","StyledChoose","Choose","StyledLinkElement","StyledLink","$iconOnly","StyledLinkElements","StyledBackLink","backgroundRepeat","BackLink","Link","SlideFromTop","StyledDialog","StyledDialogTitle","StyledDialogContent","StyledDialogContentDivider","StyledDialogActions","DialogTitle","_ref$disableDefaultHe","disableDefaultHeading","DialogContent","DialogContentDivider","DialogActions","_Dialog","_ref$enableBackground","enableBackgroundClick","Dialog","Title","Content","ContentDivider","Actions","ConfirmDialog","onCancel","onConfirm","_ref$dialogTitle","dialogTitle","_ref$dialogContent","dialogContent","_ref$confirmBtnText","confirmBtnText","_ref$cancelBtnText","cancelBtnText","_ref$shouldShowCancel","shouldShowCancelButton","_ref$isLoading","isLoading","StyledSelectDate","StyledSelectDateButton","StyledConfirmDialog","StyledSelectDateDatePicker","StyledSelectDateFooter","StyledSelectDateButtons","StyledButtonSave","StyledButtonClose","StyledButtonCloseColored","StyledIconComponent","DatePickerForm","_ref$saveButtonText","saveButtonText","_ref$cancelButtonText","cancelButtonText","_ref$clearButtonText","clearButtonText","onSave","onClear","_ref$disabledSaveButt","disabledSaveButton","renderDay","StyledPressed","Pressed","SelectDateTarget","IconComponent","_ref$title","_ref$forceHideTooltip","forceHideTooltip","targetIconClassName","getUtcTimestampFromDate","utc","getDate","unix","isDayInRange","repeating","SelectDate","changeMode","_ref$trigger","trigger","labelType","_ref$modalHeaderText","modalHeaderText","_ref$modalDiscardMess","modalDiscardMessage","_ref$modalDiscardBtnT","modalDiscardBtnText","_ref$modalCancelBtnTe","modalCancelBtnText","onToggleDatePicker","_ref$required","required","_ref$defaultTimezoneA","defaultTimezoneAware","_ref$longDateFormat","longDateFormat","_ref$defaultShowDateP","defaultShowDatePicker","targetClassName","_ref$defaultLabelText","defaultLabelText","targetTextClassName","_ref$dateFormat","dateFormat","_ref$daysToModify","daysToModify","_ref$weekends","weekends","_ref$weekendLabel","weekendLabel","_ref$weekendIsSelecta","weekendIsSelectable","disableDaysBefore","timezoneAware","setTimezoneAware","labelText","local","currentYear","formattedEndDate","formattedStartDate","modifiedDates","offsetFrom","utcOffset","offsetTo","handleModifiedSave","selectedDates","getDefaultMonth","newDates","setNewDates","showDiscardModal","setShowDiscardModal","handleSave","handleBeforeCloseMenu","selectedDaysFrom","selectedDaysTo","newDatesFrom","newDatesTo","handleCancel","handleShowDatePicker","handleCloseDiscardModal","handleClear","handleSaveDiscardModal","userAvailabilities","globalDaysOff","selectableGlobalDaysOff","currentDay","getDay","nonWorkingDays","toJSON","titles","renderDatePickerForm","renderTargetEl","StyledToastMessage","$type","$dropShadow","StyledToastMessageText","StyledCloseSmallIcon","ToastMessage","_ref$dismissible","dismissible","_ref$dropShadow","dropShadow","handleOnClose","timer","clearTimeout","Fade","duration","Slide","directionSign","_ref$initialDirection","initialDirection","StyledSlideLeftRight","createGlobalStyle","SlideLeftRightTransition","_ref$direction","unmountOnExit","ResizeTransition","Reveal","Scale","StyledValueButtonLabel","StyledValueButtonValue","StyledValueButton","ValueButton","_ref$alwaysShowIcon","alwaysShowIcon","Trigger","StyledSelectTrigger","StyledCaretIcon","$open","SelectTrigger","StyledToggleSlider","StyledToggleSliderOff","StyledToggleSliderOn","StyledToggleCheckbox","StyledHelper","StyledToggle","Toggle","StyledComboBoxInput","StyledIconDefaults","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxCloseSmallIcon","StyledComboBoxList","StyledChipWrapper","gap","$autoSize","ChipContainer","$backgroundColor","$showClose","ChipTrigger","ChipCloseIcon","Chip","leftAdornment","closeClassName","typographyProps","showClose","_variant","ConditionalWrapper","condition","wrap","ComboBox","isFirst","handler","_ref$loading","loadingText","renderChip","_ref$forceCloseMenu","_ref$limitChips","limitChips","hiddenNumberText","_ref$inPortal","inPortal","inputWrapperClassName","scrollWrapper","selectedName","find","q","setValue","wrapperRef","chipWrapper","comboBoxRef","isFirstRender","_comboBoxRef$current","contains","listener","_childNode$current2","blur","handleDeselect","handleMouseDown","handleBlur","renderChipAdornment","avatarProps","$_css","$_css2","showOnClose","newSelected","autoSize","elements","isGrouped","groupedOptions","o","_index","splice","optionItem","avatarSize","showXIcon","hasSelected","$_css3","$_css4","$_css5","alignSelf","_comboBoxRef$current2","allowPinchZoom","_comboBoxRef$current3","StyledText","StyledAddCrossIcon","StyledAddToListButton","AddToListButton","StyledProgressBar","StyledProgressBarProgress","$height","ProgressBar","progress","progressColor","_ref$width","progressNumber","widthPercent","width_percent","stroke_min","StyledSvg","StyledBackgroundCircle","circle","$strokeDashOffset","StyledForegroundCircle","StyledProgressRingPercentage","$fontSize","ProgressRing","_ref$progress","_ref$radius","_ref$showPercentage","showPercentage","normalizedRadius","circumference","PI","strokeDashoffsetOuter","strokeDashoffsetInner","strokeDasharray","dominantBaseline","textAnchor","ProgressPie","ApplauseIcon","strokeLinecap","HeartIcon","PartyIcon","ry","SmileIcon","ThinkingIcon","ThumbsUpIcon","ThumbsDownIcon","Label","GlobalStyle","maxWidth","boxSizing","EditableContent","inputProps","evt","forwardedAs","EditableText","currentValue","setCurrentValue","prevValue","escapeRef","FolderIcon","withDocuments","filterUnits","dy","stdDeviation","xlinkHref","$background","$isCollection","StyledEntityProperty","$order","$visibleFromBreakpoint","StyledEntityGroup","$gap","EntityGroupContext","EntityGroup","_ref$renderAs","isCollection","background","classSuffix","EntityProperty","listOrder","listWidth","visibleFromBreakpoint","Entity","Group","Property","Submenu","onHeightChange","StyledStartMenuList","StyledStartMenuListItem","StyledStartMenuTitle","StyledStartMenuNoResults","StyledStartMenuDot","StartMenu","onItemClick","shouldRenderSubmenus","emptyFilterText","submenu","count","_selected$id","WizardContext","WizardContextProvider","StepActionButton","onNextButtonClick","_ref$actionLabel","isLast","StyledStepHeader","StyledStepTitle","StyledStepHeaderLeft","StyledCustomStep","Step","subtitle","onPreviousButtonClick","_ref$shouldRenderNext","shouldRenderNextButton","_ref$changingStepInPr","changingStepInProgress","_ref$skip","skip","onActionButtonClick","Wizard","setActiveStep","setChangingStepInProgress","goNext","stepEl","_stepEl$props","goPrevious","_step$props","renderActiveStep","close","StyledBadge","dimension","_ref$backgroundColor","_ref$isVisible","isVisible","clearAllText","_ref$resetLabel","resetLabel","menu","setMenu","isLeft","setIsLeft","enteredMenu","setEnteredMenu","handleHeight","offsetHeight","handleItemClick","setIndex","selectedArray","newFilters","handleClearAll","handleReset","c","_entry$submenu","onEntered","MoveFocusInside","searchPlaceholder","disableInternalSort","Boolean","_filter$id"],"mappings":"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"}
1
+ {"version":3,"file":"index.min.js","sources":["../src/components/FontStyle.ts","../src/components/BoxSizingStyle.ts","../src/components/Button/Styles.ts","../src/components/Button/Button.tsx","../src/components/Icons/collection/AddCrossTiny.tsx","../src/components/Button/GlobalAddButton/Styles.ts","../src/components/Button/GlobalAddButton/GlobalAddButton.tsx","../src/components/ButtonGroup/Styles.ts","../src/components/ButtonGroup/ButtonGroup.tsx","../src/utils/layers.ts","../src/utils/setRef.ts","../src/utils/useForkRef.ts","../src/utils/useResizeObserver.ts","../src/components/Menu/context/index.ts","../src/components/Popper/Popper.tsx","../src/components/Overlay/Styles.ts","../src/components/Overlay/Overlay.tsx","../src/helpers/Portal/Portal.tsx","../src/helpers/LayerContext/LayerContext.ts","../src/components/Window/Style.ts","../src/components/Window/Window.tsx","../src/components/Bubble/Styles.ts","../src/components/Bubble/Bubble.tsx","../src/components/Menu/Styles.ts","../src/components/Menu/Menu.tsx","../src/components/Typography/Styles.ts","../src/components/Typography/Typography.tsx","../src/components/Menu/MenuHeader.tsx","../src/components/Menu/MenuFooter.tsx","../src/components/List/Styles.ts","../src/components/List/ListItem.tsx","../src/components/List/ListSeparator.tsx","../src/components/List/List.tsx","../src/components/IconButton/Styles.ts","../src/components/IconButton/IconButton.tsx","../src/components/Icons/collection/Activity.tsx","../src/components/Icons/collection/AddCross.tsx","../src/components/Icons/collection/ArrowBackMobile.tsx","../src/components/Icons/collection/ArrowCollapseMultiple.tsx","../src/components/Icons/collection/ArrowDownLong.tsx","../src/components/Icons/collection/ArrowDown.tsx","../src/components/Icons/collection/ArrowExpandeMultiple.tsx","../src/components/Icons/collection/ArrowLeftBox.tsx","../src/components/Icons/collection/ArrowLeft.tsx","../src/components/Icons/collection/ArrowRefresh.tsx","../src/components/Icons/collection/ArrowRight.tsx","../src/components/Icons/collection/ArrowUpLong.tsx","../src/components/Icons/collection/ArrowUp.tsx","../src/components/Icons/collection/Assign.tsx","../src/components/Icons/collection/Attachment.tsx","../src/components/Icons/collection/BellOffSmall.tsx","../src/components/Icons/collection/BellOff.tsx","../src/components/Icons/collection/Billing.tsx","../src/components/Icons/collection/BudgetAlert.tsx","../src/components/Icons/collection/CalendarAddX.tsx","../src/components/Icons/collection/Calendar.tsx","../src/components/Icons/collection/CancelCross.tsx","../src/components/Icons/collection/CaretLeft.tsx","../src/components/Icons/collection/CaretRight.tsx","../src/components/Icons/collection/Chat.tsx","../src/components/Icons/collection/Check.tsx","../src/components/Icons/collection/CheckboxBlankToggler.tsx","../src/components/Icons/collection/Checkbox.tsx","../src/components/Icons/collection/ChecklistSmall.tsx","../src/components/Icons/collection/Checklist.tsx","../src/components/Icons/collection/CircleMultiple.tsx","../src/components/Icons/collection/ClockAdd.tsx","../src/components/Icons/collection/ClockSmall.tsx","../src/components/Icons/collection/ClockStopwatchSmall.tsx","../src/components/Icons/collection/ClockStopwatch.tsx","../src/components/Icons/collection/Clock.tsx","../src/components/Icons/collection/CloseSmall.tsx","../src/components/Icons/collection/Close.tsx","../src/components/Icons/collection/CollapsIcon.tsx","../src/components/Icons/collection/CollapseAll.tsx","../src/components/Icons/collection/CollapseExpandSingle.tsx","../src/components/Icons/collection/Computer.tsx","../src/components/Icons/collection/Copy.tsx","../src/components/Icons/collection/CrownBlank.tsx","../src/components/Icons/collection/CrownSelected.tsx","../src/components/Icons/collection/DependencySmall.tsx","../src/components/Icons/collection/Dependency.tsx","../src/components/Icons/collection/DiscussionAdd.tsx","../src/components/Icons/collection/DollarCheckmarkSmall.tsx","../src/components/Icons/collection/DollarCheckmark.tsx","../src/components/Icons/collection/DollarClockSmall.tsx","../src/components/Icons/collection/DollarClock.tsx","../src/components/Icons/collection/DollarOffSmall.tsx","../src/components/Icons/collection/DollarOff.tsx","../src/components/Icons/collection/DollarSmall.tsx","../src/components/Icons/collection/Dollar.tsx","../src/components/Icons/collection/Download.tsx","../src/components/Icons/collection/Drive.tsx","../src/components/Icons/collection/Dropbox.tsx","../src/components/Icons/collection/Duplicate.tsx","../src/components/Icons/collection/EditMultiple.tsx","../src/components/Icons/collection/Edit.tsx","../src/components/Icons/collection/Emoji.tsx","../src/components/Icons/collection/EstimatePlus.tsx","../src/components/Icons/collection/Estimates.tsx","../src/components/Icons/collection/ExpandAll.tsx","../src/components/Icons/collection/ExpenseAdd.tsx","../src/components/Icons/collection/EyeOffSmall.tsx","../src/components/Icons/collection/EyeOff.tsx","../src/components/Icons/collection/EyeSmall.tsx","../src/components/Icons/collection/Eye.tsx","../src/components/Icons/collection/Filter.tsx","../src/components/Icons/collection/FolderMove.tsx","../src/components/Icons/collection/FolderOutline.tsx","../src/components/Icons/collection/Gift.tsx","../src/components/Icons/collection/Hashtag.tsx","../src/components/Icons/collection/Help.tsx","../src/components/Icons/collection/Image.tsx","../src/components/Icons/collection/InfoSmall.tsx","../src/components/Icons/collection/Info.tsx","../src/components/Icons/collection/InsertLink.tsx","../src/components/Icons/collection/Integrations.tsx","../src/components/Icons/collection/Invoices.tsx","../src/components/Icons/collection/Labels.tsx","../src/components/Icons/collection/LockSmall.tsx","../src/components/Icons/collection/Lock.tsx","../src/components/Icons/collection/Marker.tsx","../src/components/Icons/collection/MessageAdd.tsx","../src/components/Icons/collection/MessageEmpty.tsx","../src/components/Icons/collection/MessageSmall.tsx","../src/components/Icons/collection/Message.tsx","../src/components/Icons/collection/Minus.tsx","../src/components/Icons/collection/MoveTrigger.tsx","../src/components/Icons/collection/MyWork.tsx","../src/components/Icons/collection/NoteAdd.tsx","../src/components/Icons/collection/Note.tsx","../src/components/Icons/collection/NotificationBell.tsx","../src/components/Icons/collection/OpenExpanded.tsx","../src/components/Icons/collection/OpenSheet.tsx","../src/components/Icons/collection/OrderFirst.tsx","../src/components/Icons/collection/PaidSmall.tsx","../src/components/Icons/collection/PauseCircleOutline.tsx","../src/components/Icons/collection/PauseIcon.tsx","../src/components/Icons/collection/PauseSmall.tsx","../src/components/Icons/collection/PencilSmall.tsx","../src/components/Icons/collection/Pencil.tsx","../src/components/Icons/collection/PendingPaymentSmall.tsx","../src/components/Icons/collection/People.tsx","../src/components/Icons/collection/PersonCircleOff.tsx","../src/components/Icons/collection/PersonCircle.tsx","../src/components/Icons/collection/PersonPlus.tsx","../src/components/Icons/collection/Person.tsx","../src/components/Icons/collection/PlayCircleOutline.tsx","../src/components/Icons/collection/PlayIcon.tsx","../src/components/Icons/collection/PlaySmall.tsx","../src/components/Icons/collection/PriorityLow.tsx","../src/components/Icons/collection/ProjectAdd.tsx","../src/components/Icons/collection/ProjectTemplateAdd.tsx","../src/components/Icons/collection/ProjectTemplateConvert.tsx","../src/components/Icons/collection/ProjectTemplate.tsx","../src/components/Icons/collection/Projects.tsx","../src/components/Icons/collection/RadioBlank.tsx","../src/components/Icons/collection/RadioButton.tsx","../src/components/Icons/collection/Rearange.tsx","../src/components/Icons/collection/RearrangeSmall.tsx","../src/components/Icons/collection/RecurringCheckmarkSmall.tsx","../src/components/Icons/collection/RecurringCheckmark.tsx","../src/components/Icons/collection/ReportTime.tsx","../src/components/Icons/collection/Reports.tsx","../src/components/Icons/collection/Rocket.tsx","../src/components/Icons/collection/SearchLarge.tsx","../src/components/Icons/collection/Search.tsx","../src/components/Icons/collection/SendBlank.tsx","../src/components/Icons/collection/SendFilled.tsx","../src/components/Icons/collection/Settings.tsx","../src/components/Icons/collection/SortGeneral.tsx","../src/components/Icons/collection/SortIcon.tsx","../src/components/Icons/collection/StarOutline.tsx","../src/components/Icons/collection/Star.tsx","../src/components/Icons/collection/SystemSettings.tsx","../src/components/Icons/collection/TaskAdd.tsx","../src/components/Icons/collection/TaskListAdd.tsx","../src/components/Icons/collection/TaskListComplete.tsx","../src/components/Icons/collection/ThumbUpOutline.tsx","../src/components/Icons/collection/Trash.tsx","../src/components/Icons/collection/TreeDots.tsx","../src/components/Icons/collection/Upload.tsx","../src/components/Icons/collection/ViewGrid.tsx","../src/components/Icons/collection/ViewList.tsx","../src/components/Icons/collection/ViewTimeline.tsx","../src/components/Icons/collection/VolumeHigh.tsx","../src/components/Icons/collection/WarningTriangleSmall.tsx","../src/components/Icons/collection/WarningTriangle.tsx","../src/components/Icons/collection/Warning.tsx","../src/components/Icons/collection/Workload.tsx","../src/components/Breadcrumbs/Styles.ts","../src/components/Breadcrumbs/Breadcrumbs.tsx","../src/components/Transitions/FromElement/FromElement.tsx","../src/components/Tooltip/Styles.ts","../src/components/Tooltip/Tooltip.tsx","../src/components/Typography/Variants/Body2.tsx","../src/components/CounterButton/Styles.ts","../src/components/CounterButton/CounterButton.tsx","../src/components/DatePicker/ClassNames.tsx","../src/components/Pickers/Styles.ts","../src/components/Pickers/YearMonthPicker.tsx","../src/components/Pickers/NavBarElement.tsx","../src/components/DatePicker/CustomNavBarElement.tsx","../src/components/DatePicker/Styles.ts","../src/components/DatePicker/DatePicker.tsx","../src/components/BreakPoints.ts","../src/components/Steppers/DateStepper/Styles.ts","../src/components/Steppers/DateStepper/DateStepper.tsx","../src/components/Steppers/Steps/Styles.ts","../src/components/Steppers/Steps/Steps.tsx","../src/components/Tables/Styles.ts","../src/components/Tables/Table.tsx","../src/components/Loaders/Linear/Styles.ts","../src/components/Loaders/Linear/LinearLoader.tsx","../src/components/Loaders/Dots/Styles.ts","../src/components/Loaders/Dots/DotsLoader.tsx","../src/components/Loaders/Spinner/Styles.ts","../src/components/Loaders/Spinner/SpinnerLoader.tsx","../src/components/Tables/DataTable.tsx","../src/components/CompleteCheckbox/Styles.ts","../src/components/CompleteCheckbox/CompleteCheckbox.tsx","../src/components/Paper/Styles.ts","../src/components/Paper/Paper.tsx","../src/components/ScaleBar/Styles.ts","../src/components/ScaleBar/ScaleBar.tsx","../src/components/Card/Styles.ts","../src/components/Card/Card.tsx","../src/components/EntityCard/Styles.ts","../src/components/EntityCard/EntityCard.tsx","../src/components/Typography/Variants/Title1.tsx","../src/components/Typography/Variants/Title2.tsx","../src/components/Typography/Variants/Header2.tsx","../src/components/Typography/Variants/Header3.tsx","../src/components/Typography/Variants/Body1.tsx","../src/components/Typography/Variants/Caption1.tsx","../src/components/Typography/Variants/Caption2.tsx","../src/components/Signifier/Styles.ts","../src/components/Signifier/Signifier.tsx","../src/components/Avatar/Styles.ts","../src/components/Avatar/Avatar.tsx","../src/components/Dot/Styles.ts","../src/components/Dot/Dot.tsx","../src/components/Tag/Styles.ts","../src/components/Tag/Tag.tsx","../src/hooks/useHighlightText.tsx","../src/components/Autocomplete/HandleKeyboard.tsx","../src/components/Select/Option/Styles.ts","../src/components/Select/Option/Option.tsx","../src/components/Checkbox/Styles.ts","../src/components/Checkbox/Checkbox.tsx","../src/components/Select/OptionGroup/Styles.ts","../src/components/Select/OptionGroup/OptionGroup.tsx","../src/components/ScrollShadow/Styles.ts","../src/components/ScrollShadow/ScrollShadow.tsx","../src/hooks/useInitScrollRef.tsx","../src/hooks/useHeight.tsx","../src/components/ScrollShadow/ScrollElement.tsx","../src/components/Autocomplete/Styles.ts","../src/components/Autocomplete/Autocomplete.tsx","../src/components/Input/Styles.ts","../src/components/Input/Input.tsx","../src/components/RadioButton/Styles.ts","../src/components/RadioButton/RadioButton.tsx","../src/components/Select/Styles.ts","../src/components/Select/OptionContent/Styles.ts","../src/components/MultiAvatar/Styles.ts","../src/components/MultiAvatar/MultiAvatar.tsx","../src/components/Select/OptionContent/OptionContent.tsx","../src/components/Select/Select.tsx","../src/components/Nav/Styles.ts","../src/components/Nav/Item/Item.tsx","../src/components/Nav/Item/Styles.ts","../src/components/Expanders/Styles.ts","../src/components/Expanders/ExpandSingle.tsx","../src/components/Nav/Nav.tsx","../src/components/Input/InputAdornment.tsx","../src/components/Expanders/ExpandAll.tsx","../src/components/MenuSelector/Styles.ts","../src/components/MenuSelector/MenuSelector.tsx","../src/components/Textarea/Styles.ts","../src/components/Textarea/Textarea.tsx","../src/utils/createChainedFunction.ts","../src/components/Modal/Modal.tsx","../src/components/Sheet/Styles.ts","../src/components/Sheet/Sheet.tsx","../src/components/Header/Styles.ts","../src/components/Header/Header.tsx","../src/components/AutoResizeTextarea/Styles.ts","../src/components/AutoResizeTextarea/AutoResizeTextarea.tsx","../src/components/Accordion/Styles.ts","../src/components/Accordion/Accordion.tsx","../src/components/Accordion/AccordionItem.tsx","../src/components/Accordion/AccordionItemHead.tsx","../src/components/Accordion/AccordionItemBody.tsx","../src/components/Choose/Styles.ts","../src/components/Choose/Choose.tsx","../src/components/Links/Styles.ts","../src/components/Links/BackLink.tsx","../src/components/Links/Link.tsx","../src/components/Transitions/SlideFromTop/SlideFromTop.tsx","../src/components/Dialog/Styles.ts","../src/components/Dialog/DialogTitle.tsx","../src/components/Dialog/DialogContent.tsx","../src/components/Dialog/DialogContentDivider.tsx","../src/components/Dialog/DialogActions.tsx","../src/components/Dialog/Dialog.tsx","../src/components/ConfirmDialog/ConfirmDialog.tsx","../src/components/SelectDate/Styles.ts","../src/components/SelectDate/DatePickerForm.tsx","../src/components/Pressed/Styles.ts","../src/components/Pressed/Pressed.tsx","../src/components/SelectDate/SelectDateTarget.tsx","../src/components/SelectDate/SelectDate.tsx","../src/components/ToastMessage/Styles.ts","../src/components/ToastMessage/ToastMessage.tsx","../src/components/Transitions/Fade/Fade.tsx","../src/components/Transitions/Slide/Slide.tsx","../src/components/Transitions/SlideLeftRightTransition/Styles.ts","../src/components/Transitions/SlideLeftRightTransition/SlideLeftRightTransition.tsx","../src/components/Transitions/ResizeTransition/ResizeTransition.tsx","../src/components/Transitions/Reveal/Reveal.tsx","../src/components/Transitions/Scale/Scale.tsx","../src/components/ValueButton/Styles.ts","../src/components/ValueButton/ValueButton.tsx","../src/components/Trigger/Styles.ts","../src/components/Trigger/Trigger.tsx","../src/components/SelectTrigger/Styles.ts","../src/components/SelectTrigger/SelectTrigger.tsx","../src/components/Toggle/Styles.ts","../src/components/Toggle/Toggle.tsx","../src/components/ComboBox/Styles.ts","../src/components/Chip/Styles.ts","../src/components/Chip/Chip.tsx","../src/helpers/ConditionWrapper/ConditionWrapper.tsx","../src/components/ComboBox/ComboBox.tsx","../src/hooks/useIsFirstRender.ts","../src/hooks/useOnClickOutside.tsx","../src/components/Button/AddToListButton/Styles.ts","../src/components/Button/AddToListButton/AddToListButton.tsx","../src/components/ProgressBar/Styles.ts","../src/components/ProgressBar/ProgressBar.tsx","../src/components/ProgressRing/Styles.ts","../src/components/ProgressRing/ProgressRing.tsx","../src/components/ProgressPie/ProgressPie.tsx","../src/components/Reactions/collection/ApplauseIcon.tsx","../src/components/Reactions/collection/HeartIcon.tsx","../src/components/Reactions/collection/PartyIcon.tsx","../src/components/Reactions/collection/SmileIcon.tsx","../src/components/Reactions/collection/ThinkingIcon.tsx","../src/components/Reactions/collection/ThumbsUpIcon.tsx","../src/components/Reactions/collection/ThumbsDownIcon.tsx","../src/components/Label/Label.tsx","../src/components/GlobalStyle.ts","../src/components/EditableContent/Styles.ts","../src/components/EditableContent/EditableContent.tsx","../src/components/EditableText/EditableText.tsx","../src/components/Folder/FolderIcon.tsx","../src/components/Entity/Styles.ts","../src/components/Entity/EntityGroup.tsx","../src/components/Entity/EntityCard.tsx","../src/components/Entity/EntityProperty.tsx","../src/components/Entity/index.ts","../src/components/Filter/Submenu.tsx","../src/components/Filter/Styles.ts","../src/components/Filter/StartMenu.tsx","../src/components/Wizard/context/index.ts","../src/components/Wizard/StepActionButton.tsx","../src/components/Wizard/Styles.ts","../src/components/Wizard/Step.tsx","../src/components/Wizard/Wizard.tsx","../src/components/Badge/Styles.ts","../src/components/Badge/Badge.tsx","../src/components/Filter/Filter.tsx"],"sourcesContent":["import { css } from \"styled-components\";\n\nexport const FontStyle = css`\n font-family: -apple-system, BlinkMacSystemFont, \"Roboto\", \"Helvetica Neue\",\n Arial, sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n`;\n","import { css } from \"styled-components\";\n\nexport const BoxSizingStyle = css`\n box-sizing: border-box;\n * {\n box-sizing: border-box;\n }\n`;\n","import styled, { css } from \"styled-components\";\nimport { ButtonProps } from \"./Button\";\nimport { FontStyle } from \"../FontStyle\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\n\ninterface StyledButtonProps extends ButtonProps {\n iconOnly: boolean;\n}\n\nexport const StyledButton = styled.button<StyledButtonProps>`\n ${FontStyle}\n ${BoxSizingStyle}\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n vertical-align: middle;\n font-weight: 500;\n display: inline-block;\n line-height: 1;\n margin: 0;\n text-decoration: none;\n font-size: 0.875rem;\n user-select: none;\n cursor: pointer;\n text-align: center;\n\n border: none;\n height: 32px;\n transition: background-color 0.3s ease, box-shadow 0.3s ease, color 0.3s ease,\n border-color 0.3s ease;\n\n svg {\n fill: currentColor;\n }\n\n &:focus {\n outline: none;\n }\n\n &:hover {\n text-decoration: none;\n }\n\n &:disabled {\n cursor: default;\n opacity: 50%;\n pointer-events: none;\n }\n\n ${(props) =>\n props.size === \"small\" &&\n css`\n height: 24px;\n `}\n\n ${(props) =>\n props.size === \"big\" &&\n css`\n height: 40px;\n `}\n\n ${(props) =>\n (props.variant === \"primary\" || props.variant === \"contained\") &&\n css`\n padding: 0 16px;\n background-color: var(--color-primary);\n border-radius: var(--ac-br-rounded);\n color: var(--page-paper-main);\n\n &:hover,\n &:focus-visible {\n box-shadow: 0 3px 6px -2px var(--color-primary-500);\n background-color: var(--color-primary-800);\n }\n\n &:active {\n box-shadow: 0 4px 10px -2px var(--color-primary-600);\n background-color: var(--color-primary-800);\n }\n `}\n\n ${(props) =>\n (props.variant === \"secondary\" || props.variant === \"outlined\") &&\n css`\n padding: 0 16px;\n background-color: transparent;\n border-radius: var(--ac-br-rounded);\n border: solid 1px var(--color-theme-700);\n color: var(--color-theme-700);\n\n &:hover,\n &:focus-visible {\n border-color: var(--color-primary);\n color: var(--color-primary);\n }\n\n &:active {\n border-color: var(--color-primary);\n color: var(--color-primary);\n background-color: var(--color-primary-200);\n }\n `}\n\n ${(props) =>\n props.variant === \"dark transparent\" &&\n css`\n padding: 0 8px;\n background-color: rgba(0, 0, 0, 0.5);\n border-radius: var(--ac-br-6);\n color: var(--only-white);\n\n &:hover,\n &:focus-visible {\n background-color: rgba(0, 0, 0, 0.85);\n }\n\n &:active {\n background-color: var(--only-black);\n }\n `}\n\n ${(props) =>\n (props.variant === \"tertiary\" || props.variant === \"text colored\") &&\n css`\n padding: 0 8px;\n background-color: transparent;\n border-radius: var(--ac-br-6);\n color: var(--color-primary);\n\n &:hover,\n &:focus-visible {\n background-color: var(--color-primary-200);\n }\n\n &:active {\n background-color: var(--color-primary-300);\n }\n `}\n\n ${(props) =>\n (props.variant === \"option\" || props.variant === \"text gray\") &&\n css`\n padding: 0 8px;\n background-color: transparent;\n border-radius: var(--ac-br-6);\n color: var(--color-theme-700);\n\n &:hover,\n &:focus-visible {\n background-color: var(--color-theme-300);\n color: var(--color-theme-900);\n }\n\n &:active {\n background-color: var(--color-theme-400);\n color: var(--color-theme-900);\n }\n `}\n\n ${(props) =>\n props.variant === \"circle raised\" &&\n css`\n padding: 0 6px;\n background-color: transparent;\n border-radius: var(--ac-br-rounded);\n color: var(--color-theme-700);\n\n &:hover,\n &:focus-visible {\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary);\n }\n\n &:active {\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary-hover);\n }\n `}\n\n ${(props) =>\n props.iconOnly &&\n css`\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding: 0;\n width: 32px;\n\n ${(props.size === \"small\" || props.size === \"big\") &&\n css`\n border-radius: var(--ac-br-rounded);\n `};\n\n ${props.size === \"small\" &&\n css`\n width: 24px;\n `}\n\n ${props.size === \"big\" &&\n css`\n width: 40px;\n `}\n `}\n\n ${(props) =>\n (props.variant === \"primary\" ||\n props.variant === \"contained\" ||\n props.variant === \"secondary\" ||\n props.variant === \"outlined\") &&\n css`\n .c-btn__elements__element:first-child svg {\n margin-left: -6px;\n }\n .c-btn__elements__element:last-child svg {\n margin-right: -6px;\n }\n\n ${(props.size === \"small\" || props.size === \"big\") &&\n css`\n border-radius: var(--ac-br-rounded);\n `}\n `}\n\n ${(props) =>\n (props.variant === \"tertiary\" ||\n props.variant === \"text colored\" ||\n props.variant === \"option\" ||\n props.variant === \"text gray\" ||\n props.variant === \"dark transparent\") &&\n css`\n .c-btn__elements__element:first-child svg {\n margin-left: -4px;\n }\n .c-btn__elements__element:last-child svg {\n margin-right: -4px;\n }\n ${props.size === \"small\" &&\n css`\n border-radius: var(--ac-br-4);\n `}\n ${props.size === \"big\" &&\n css`\n border-radius: var(--ac-br-8);\n `}\n `}\n\n ${(props) =>\n props.active &&\n css`\n pointer-events: none;\n\n ${(props.variant === \"primary\" || props.variant === \"contained\") &&\n css`\n background-color: var(--color-primary-800);\n `}\n\n ${(props.variant === \"secondary\" || props.variant === \"outlined\") &&\n css`\n border-color: var(--color-primary);\n color: var(--color-primary);\n `}\n\n ${props.variant === \"dark transparent\" &&\n css`\n background-color: var(--only-black);\n `}\n\n ${props.variant === \"circle raised\" &&\n css`\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary-hover);\n `}\n\n ${(props.variant === \"tertiary\" || props.variant === \"text colored\") &&\n css`\n background-color: var(--color-primary-200);\n `}\n\n ${(props.variant === \"option\" || props.variant === \"text gray\") &&\n css`\n color: var(--color-primary);\n ${props.children instanceof Array &&\n css`\n background-color: var(--color-theme-300);\n `}\n `}\n `}\n`;\n\nStyledButton.displayName = \"StyledButton\";\n\nexport const StyledButtonElements = styled.span`\n display: flex;\n align-items: center;\n`;\n\nStyledButtonElements.displayName = \"StyledButtonElements\";\n\nexport const StyledButtonElement = styled.span`\n display: inline-flex;\n svg {\n margin: 0 4px;\n }\n`;\n\nStyledButtonElement.displayName = \"StyledButtonElement\";\n","import React, {\n ComponentPropsWithoutRef,\n forwardRef,\n PropsWithChildren,\n} from \"react\";\nimport classnames from \"classnames\";\nimport {\n StyledButton,\n StyledButtonElement,\n StyledButtonElements,\n} from \"./Styles\";\n\nexport interface ButtonProps extends ComponentPropsWithoutRef<\"button\"> {\n /** Types of a button. */\n variant?:\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"option\"\n | \"contained\"\n | \"outlined\"\n | \"text colored\"\n | \"text gray\"\n | \"dark transparent\"\n | \"circle raised\";\n /** Button size dictates the height. */\n size?: \"big\" | \"small\" | \"medium\";\n /** Active or pressed state. */\n active?: boolean;\n}\n/**\n * @component Button\n * @description\n * Button component is used to trigger an action or event, such as submitting a form,\n * opening a Dialog, canceling an action, or performing a delete operation.\n *\n * @prop {variant} - adds unique look and feel to button.\n * @prop {size} - controls the size of a button.\n * @prop {active} - adds active/pressed state to a button.\n *\n * @example\n * return (\n * <Button className=\"mr-2\" variant=\"primary\" size=\"big\">\n * Save\n * </Button>\n * )\n * @see\n * https://system.activecollab.com/?path=/story/components-button-indicators-button--button\n * https://design.activecollab.com/docs/components/button\n */\nexport const Button = forwardRef<\n HTMLButtonElement,\n PropsWithChildren<ButtonProps>\n>(\n (\n {\n children,\n active = false,\n variant = \"contained\",\n size = \"medium\",\n className,\n ...args\n },\n ref\n ) => {\n return (\n <StyledButton\n className={classnames(\"c-btn\", className, {\n \"c-btn--contained\": variant === \"primary\" || variant === \"contained\",\n \"c-btn--outlined\": variant === \"secondary\" || variant === \"outlined\",\n \"c-btn--text_colored\":\n variant === \"tertiary\" || variant === \"text colored\",\n \"c-btn--text_gray\": variant === \"option\" || variant === \"text gray\",\n \"c-btn--dark_transparent\": variant === \"dark transparent\",\n \"c-btn--circle-raised\": variant === \"circle raised\",\n \"c-btn--big\": size === \"big\",\n \"c-btn--small\": size === \"small\",\n \"c-btn--icon-only\":\n children instanceof Object && !(children instanceof Array),\n })}\n iconOnly={children instanceof Object && !(children instanceof Array)}\n variant={variant}\n active={active}\n size={size}\n ref={ref}\n aria-pressed={active}\n role=\"button\"\n {...args}\n >\n {children instanceof Array ? (\n <StyledButtonElements className=\"c-btn__elements\">\n {children.map((value, index) =>\n value ? (\n <StyledButtonElement\n className=\"c-btn__elements__element\"\n key={index}\n >\n {value}\n </StyledButtonElement>\n ) : null\n )}\n </StyledButtonElements>\n ) : (\n children\n )}\n </StyledButton>\n );\n }\n);\n\nButton.displayName = \"Button\";\n","import React from \"react\";\n\n/**\n * @component AddCrossTinyIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <AddCrossTinyIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst AddCrossTinyIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"AddCrossTinyIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 4a1 1 0 011 1v6h6a1 1 0 010 2h-6v6a1 1 0 01-2 0l-.001-6H5a1 1 0 010-2h6V5a1 1 0 011-1z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nAddCrossTinyIcon.displayName = \"AddCrossTinyIcon\";\nexport default AddCrossTinyIcon;\n","import styled from \"styled-components\";\nimport { Button } from \"../Button\";\n\nexport const StyledGlobalAddButton = styled(Button)`\n svg {\n fill: var(--color-theme-100);\n }\n &:hover svg {\n transform: rotate(90deg);\n transition: ease 0.3s;\n }\n`;\n\nStyledGlobalAddButton.displayName = \"StyledGlobalAddButton\";\n","import React, { forwardRef, ButtonHTMLAttributes } from \"react\";\nimport classnames from \"classnames\";\nimport AddCrossTinyIcon from \"../../Icons/collection/AddCrossTiny\";\nimport { StyledGlobalAddButton } from \"./Styles\";\n\nexport interface IGlobalAddButton\n extends ButtonHTMLAttributes<HTMLButtonElement> {\n /** Disabled prop */\n disabled?: boolean;\n /** CSS classes */\n className?: string;\n}\n\nexport const GlobalAddButton = forwardRef<HTMLButtonElement, IGlobalAddButton>(\n ({ className, disabled = false, ...rest }, ref) => {\n return (\n <StyledGlobalAddButton\n ref={ref}\n variant=\"contained\"\n disabled={disabled}\n className={classnames(\"c-global-add-btn\", className)}\n {...rest}\n >\n <AddCrossTinyIcon />\n </StyledGlobalAddButton>\n );\n }\n);\n\nGlobalAddButton.displayName = \"GlobalAddButton\";\n","import styled from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\nexport const StyledButtonGroup = styled.div`\n ${tw`tw-flex tw-flex-row`}\n ${FontStyle}\n ${BoxSizingStyle}\n\n button {\n &:first-child:not(:last-child) {\n svg {\n margin-right: -4px;\n }\n ${tw`tw--mr-px tw-rounded-r-none`}\n }\n\n &:last-child:not(:first-child) {\n svg {\n margin-left: -4px;\n }\n ${tw`tw-rounded-l-none`}\n }\n\n &:not(:first-child):not(:last-child) {\n ${tw`tw--mr-px tw-rounded-none`}\n }\n }\n\n svg {\n ${tw`tw-text-theme-900 tw-fill-current`}\n }\n`;\n\nStyledButtonGroup.displayName = \"StyledButtonGroup\";\n","import React, { forwardRef } from \"react\";\nimport classNames from \"classnames\";\nimport { StyledButtonGroup } from \"./Styles\";\n\nexport const ButtonGroup = forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<\"div\">\n>(({ children, className, ...rest }, ref) => (\n <StyledButtonGroup\n ref={ref}\n className={classNames(\"c-btn-group\", className)}\n {...rest}\n >\n {children}\n </StyledButtonGroup>\n));\n\nButtonGroup.displayName = \"ButtonGroup\";\n","export const layers = {\n cloud: 100000,\n skyscraper: 1300,\n tower: 1200,\n house: 1000,\n};\n","import { MutableRefObject } from \"react\";\n\nexport default function setRef<T>(\n ref:\n | MutableRefObject<T | null>\n | ((instance: T | null) => void)\n | null\n | undefined,\n value: T | null\n): void {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}\n","import { useMemo, MutableRefObject } from \"react\";\nimport setRef from \"./setRef\";\n\nexport default function useForkRef<T>(\n refA:\n | MutableRefObject<T | null>\n | ((instance: T | null) => void)\n | null\n | undefined,\n refB:\n | MutableRefObject<T | null>\n | ((instance: T | null) => void)\n | null\n | undefined\n): (instance: T | null) => void {\n return useMemo(() => {\n return (refValue): void => {\n setRef(refA, refValue);\n setRef(refB, refValue);\n };\n }, [refA, refB]);\n}\n","import { useState, useEffect } from \"react\";\nimport ResizeObserver from \"resize-observer-polyfill\";\n\nconst useResizeObserver = (ref: { current?: HTMLElement | null }) => {\n const [dimensions, setDimensions] = useState<DOMRectReadOnly>();\n\n useEffect(() => {\n const observeTarget = ref?.current;\n const resizeObserver = new ResizeObserver(\n (entries: ResizeObserverEntry[]) => {\n entries.forEach((entry) => {\n setDimensions(entry.contentRect);\n });\n }\n );\n\n observeTarget && resizeObserver.observe(observeTarget);\n\n return () => {\n observeTarget && resizeObserver.unobserve(observeTarget);\n };\n }, [ref]);\n\n return dimensions;\n};\n\nexport default useResizeObserver;\n","import { createContext, useContext } from \"react\";\n\ninterface IMenuContext {\n open?: boolean;\n setOpen?: (open: boolean) => void;\n}\n\nconst MenuContext = createContext<IMenuContext>({});\n\nexport const MenuContextProvider = MenuContext.Provider;\nexport const MenuContextConsumer = MenuContext.Consumer;\n\nexport const useMenuContext = (): IMenuContext => useContext(MenuContext);\n\nexport default MenuContext;\n","import React, {\n forwardRef,\n useCallback,\n useRef,\n useEffect,\n useState,\n CSSProperties,\n HTMLAttributes,\n} from \"react\";\nimport {\n createPopper,\n Instance,\n PositioningStrategy,\n State,\n} from \"@popperjs/core\";\nimport { Placement } from \".\";\nimport useForkRef from \"../../utils/useForkRef\";\n\ninterface TransitionProps {\n in: boolean;\n onEnter: () => void;\n onExited: () => void;\n}\ninterface IChildProps {\n placement: Placement;\n transitionProps: Partial<TransitionProps>;\n}\n\ninterface PopperProps {\n /** Anchor Element. */\n anchorEl?: Element | null;\n /** Open */\n open?: boolean;\n /** Inline style */\n style?: CSSProperties;\n /** Child with transition */\n transition?: boolean;\n /** Placement */\n placement?: Placement;\n /** Strategy */\n strategy?: PositioningStrategy;\n}\n\nexport const Popper = forwardRef<\n HTMLDivElement,\n PopperProps & HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n children,\n anchorEl,\n open = false,\n style,\n transition = false,\n placement: initialPlacement = \"bottom\",\n strategy = \"absolute\",\n ...rest\n },\n ref\n ) => {\n const [exited, setExited] = useState(true);\n const [placement, setPlacement] = useState(initialPlacement);\n const ownRef = useRef<HTMLDivElement | null>(null);\n const popperRef = useRef<Instance>();\n\n const handleInnerRef = useForkRef(ownRef, ref);\n\n const handlePopperUpdate = (data: Partial<State>): void => {\n setPlacement(data.placement || \"bottom\");\n };\n\n const handleOpen = useCallback(() => {\n if (!ownRef.current || !anchorEl || !open) {\n return;\n }\n\n if (popperRef.current) {\n popperRef.current.destroy();\n }\n\n popperRef.current = createPopper(anchorEl, ownRef.current, {\n placement,\n onFirstUpdate: handlePopperUpdate,\n strategy,\n });\n }, [anchorEl, open, placement, strategy]);\n\n const handleClose = (): void => {\n if (!popperRef.current) {\n return;\n }\n\n popperRef.current.destroy();\n };\n\n const handleRef = useCallback(\n (node: HTMLDivElement) => {\n handleInnerRef(node);\n handleOpen();\n },\n [handleOpen, handleInnerRef]\n );\n\n const handleEnter = (): void => {\n setExited(false);\n };\n\n const handleExited = (): void => {\n setExited(true);\n handleClose();\n };\n\n useEffect(() => {\n return (): void => {\n handleClose();\n };\n }, []);\n\n useEffect(() => {\n if (!open && !transition) {\n handleClose();\n }\n }, [open, transition]);\n\n useEffect(() => {\n if (popperRef.current) {\n popperRef.current.update();\n }\n });\n\n if (!open && (!transition || exited)) {\n return null;\n }\n\n const childProps: Partial<IChildProps> = { placement };\n\n if (transition) {\n childProps.transitionProps = {\n in: open,\n onEnter: handleEnter,\n onExited: handleExited,\n };\n }\n\n return (\n <div\n ref={handleRef}\n {...rest}\n style={{\n ...style,\n }}\n >\n {typeof children === \"function\" ? children(childProps) : children}\n </div>\n );\n }\n);\n\nPopper.displayName = \"Popper\";\n","import styled, { css } from \"styled-components\";\n\nexport const StyledOverlay = styled.div<{\n $disableBackgroundColor: boolean;\n}>`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n ${(props) =>\n !props.$disableBackgroundColor &&\n css`\n background: var(--modal-background);\n backdrop-filter: blur(2px);\n `}\n`;\n\nStyledOverlay.displayName = \"StyledOverlay\";\n","import React, { FC } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledOverlay } from \"./Styles\";\n\nexport interface IOverlay {\n disableBackgroundColor?: boolean;\n}\n\nexport const Overlay: FC<\n IOverlay & Omit<React.ComponentPropsWithoutRef<\"div\">, keyof IOverlay>\n> = ({ className, disableBackgroundColor = false, ...rest }) => {\n return (\n <StyledOverlay\n className={classnames(\"c-overlay\", className)}\n $disableBackgroundColor={disableBackgroundColor}\n {...rest}\n />\n );\n};\n\nOverlay.displayName = \"Overlay\";\n","import { FC, useEffect, useState } from \"react\";\nimport ReactDOM from \"react-dom\";\n\ntype ContainerFunc = () => HTMLElement;\ntype Container = HTMLElement | ContainerFunc;\ninterface IPortal {\n container?: Container;\n}\n\nconst getContainer = (container: Container) => {\n return typeof container === \"function\" ? container() : container;\n};\n\nexport const Portal: FC<IPortal> = ({\n children,\n container = document.body,\n}) => {\n const [mountNode, setMountNode] = useState<HTMLElement | null>(null);\n\n useEffect(() => {\n setMountNode(getContainer(container));\n }, [container]);\n\n return mountNode ? ReactDOM.createPortal(children, mountNode) : mountNode;\n};\n\nPortal.displayName = \"Portal\";\n","import { createContext, useContext } from \"react\";\n\ninterface ILayerContext {\n root?: HTMLElement;\n zIndex?: number;\n}\n\nconst LayerContext = createContext<ILayerContext>({});\n\nexport const LayerContextProvider = LayerContext.Provider;\nexport const LayerContextConsumer = LayerContext.Consumer;\n\nexport const useLayerContext = (): ILayerContext => useContext(LayerContext);\n\nexport default LayerContext;\n","import styled from \"styled-components\";\nimport { FontStyle } from \"../FontStyle\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\n\nexport const StyledWindow = styled.div`\n ${FontStyle}\n ${BoxSizingStyle}\n\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n`;\n\nStyledWindow.displayName = \"StyledWindow\";\n","import React, { useCallback, useRef, forwardRef, KeyboardEvent } from \"react\";\nimport classnames from \"classnames\";\nimport FocusLock from \"react-focus-lock\";\nimport { Portal, useLayerContext } from \"../../helpers\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { StyledWindow } from \"./Style\";\nimport { layers } from \"../../utils\";\n\nexport interface IWindow {\n onClose?: () => void;\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n disableCloseOnEsc?: boolean;\n}\n\nconst returnFocus = { preventScroll: true };\n\nexport const Window = forwardRef<\n HTMLDivElement,\n IWindow & Omit<React.ComponentPropsWithoutRef<\"div\">, keyof IWindow>\n>(\n (\n {\n children,\n onClose,\n className,\n style,\n onKeyDown,\n disableFocusLock = false,\n disableScrollLock = false,\n disableCloseOnEsc = false,\n onClick,\n ...rest\n },\n ref\n ) => {\n const innerRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(innerRef, ref);\n const { zIndex = layers.skyscraper } = useLayerContext();\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (\n !event.defaultPrevented &&\n (event.key === \"Esc\" || event.key === \"Escape\") &&\n !disableCloseOnEsc\n ) {\n event.preventDefault();\n if (onClose) {\n onClose();\n }\n }\n if (typeof onKeyDown === \"function\") {\n onKeyDown(event);\n }\n },\n [disableCloseOnEsc, onClose, onKeyDown]\n );\n\n const handleClick = useCallback(\n (event) => {\n event?.stopPropagation();\n typeof onClick === \"function\" && onClick(event);\n },\n [onClick]\n );\n\n return (\n <Portal>\n <FocusLock returnFocus={returnFocus} disabled={disableFocusLock}>\n <RemoveScroll\n forwardProps\n ref={handleRef}\n enabled={!disableScrollLock}\n noIsolation\n >\n <StyledWindow\n {...rest}\n style={{ zIndex, ...style }}\n onKeyDown={handleKeyDown}\n tabIndex={0}\n className={classnames(\"c-window\", className)}\n onClick={handleClick}\n >\n {children}\n </StyledWindow>\n </RemoveScroll>\n </FocusLock>\n </Portal>\n );\n }\n);\n\nWindow.displayName = \"Window\";\n","import styled from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\nexport const StyledBubble = styled.div`\n ${tw`tw-bg-white tw-shadow-md tw-border-theme-200 tw-rounded-lg tw-border tw-border-solid tw-text-theme-800 tw-opacity-100 tw-block tw-visible`}\n transition: opacity 0.2s, visibility 0.2s;\n ${FontStyle}\n ${BoxSizingStyle}\n background-color: var(--page-paper-main);\n`;\n\nStyledBubble.displayName = \"StyledBubble\";\n","import React, {\n FC,\n HTMLAttributes,\n MouseEvent,\n ReactNode,\n RefObject,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { StyledBubble } from \"./Styles\";\n\nexport interface IBubble {\n /** Children element. */\n children: ReactNode;\n /** Class names. */\n className?: string;\n /** Ref object for Bubble. */\n innerRef?: RefObject<HTMLDivElement>;\n /** Bubble styles. */\n style?: object;\n /** On click on bubble. */\n onClick?: (event: MouseEvent<HTMLElement>) => void;\n /** On mouse down event. */\n onMouseDown?: (event: MouseEvent<HTMLElement>) => void;\n}\n\nexport const Bubble: FC<IBubble & HTMLAttributes<HTMLDivElement>> = ({\n children,\n className,\n innerRef = null,\n style = {},\n ...rest\n}) => {\n return (\n <StyledBubble\n {...rest}\n ref={innerRef}\n className={classnames(\"c-bubble\", className)}\n style={style}\n >\n {children}\n </StyledBubble>\n );\n};\n\nBubble.displayName = \"Bubble\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { Bubble } from \"../Bubble\";\nimport { FontStyle } from \"../FontStyle\";\n\nexport const StyledMenu = styled(Bubble)<{ $mode: string }>`\n ${tw`tw-bg-page-paper-main tw-border-border-primary tw-my-1 tw-overflow-auto`}\n\n ${FontStyle}\n ${BoxSizingStyle}\n\n color: var(--color-theme-700);\n a:focus,\n a:active {\n outline: none;\n }\n\n ${(props) =>\n props.$mode === \"normal\" &&\n css`\n width: 260px;\n `}\n\n ${(props) =>\n props.$mode === \"wider\" &&\n css`\n width: 350px;\n `}\n\n ${(props) =>\n props.$mode === \"tiny\" &&\n css`\n width: 180px;\n `}\n`;\nStyledMenu.displayName = \"StyledMenu\";\n\nexport const StyledMenuFooter = styled.div`\n ${tw`tw-flex tw-px-2 tw-py-1`}\n\n display: flex;\n border-top: 1px solid var(--border-primary);\n height: 32px;\n align-items: center;\n`;\nStyledMenuFooter.displayName = \"StyledMenuFooter\";\n\nexport const StyledMenuHeader = styled.div`\n ${tw`tw-flex tw-items-center tw-justify-between tw-px-2 tw-py-1`}\n\n border-bottom: 1px solid var(--border-primary);\n height: 32px;\n`;\nStyledMenuHeader.displayName = \"StyledMenuHeader\";\n","import React, {\n useRef,\n FC,\n ReactNode,\n MouseEvent,\n useState,\n useCallback,\n useEffect,\n ReactElement,\n Ref,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { Popper } from \"../Popper\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Overlay } from \"../Overlay\";\nimport { Window } from \"../Window\";\nimport { Placement } from \"@popperjs/core\";\nimport { MenuContextProvider } from \"./context\";\nimport { StyledMenu } from \"./Styles\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport type MenuMode = \"normal\" | \"wider\" | \"tiny\";\n\nexport interface IMenu {\n /** Menu content */\n children: ReactNode;\n /** On menu element click */\n onMenuClick?: (event: MouseEvent<HTMLElement>) => void;\n /** Handle scroll bar */\n handleScroll?: boolean;\n /** Disable Focus Lock */\n disableFocusLock?: boolean;\n /** Menu width mode */\n mode?: MenuMode;\n /** Should menu be open when it's mounted */\n open?: boolean;\n /** Callback triggered when modal has been opened */\n onOpen?: () => void;\n /** Callback triggered when modal has been closed */\n onClose?: () => void;\n /** Before close callback */\n onBeforeClose?: () => boolean;\n /** Position Menu */\n position?: Placement;\n /** Target element */\n target?: ElementWithRef<Element>;\n className?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Should Window be positioned absolutely */\n windowAbsolutelyPositioned?: boolean;\n}\n\nexport const Menu: FC<IMenu> = ({\n children,\n disableFocusLock = false,\n onMenuClick,\n handleScroll = true,\n mode = \"normal\",\n open: defaultOpen = false,\n onOpen,\n onClose,\n onBeforeClose,\n position = \"bottom-start\",\n target,\n className,\n menuClassName,\n popperClassName,\n backgroundElementClass,\n windowAbsolutelyPositioned = false,\n}) => {\n const [open, setOpen] = useState(defaultOpen);\n const [childNode, setChildNode] = useState<Element | null>();\n const elementRef = useRef<HTMLElement | null>(null);\n const isOpenAtLeastOnce = useRef(false);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleRefRef = useForkRef(\n target ? target.ref : undefined,\n setChildNode\n );\n const handleRef = useForkRef(handleRefRef, elementRef);\n\n const handleOpen = useCallback(\n (\n event: Pick<MouseEvent<Element>, \"preventDefault\" | \"stopPropagation\">\n ) => {\n event?.preventDefault();\n event?.stopPropagation();\n setOpen(true);\n typeof onOpen === \"function\" && onOpen();\n typeof target?.props?.onClick === \"function\" &&\n target.props.onClick(event);\n },\n [onOpen, target?.props]\n );\n\n const handleClose = useCallback(() => {\n if (typeof onBeforeClose === \"function\" && !onBeforeClose()) {\n return;\n }\n setOpen(false);\n typeof onClose === \"function\" && onClose();\n }, [onClose, onBeforeClose]);\n\n const childProps = {\n forceClose: handleClose,\n };\n\n const targetProps = {\n open,\n ref: handleRef,\n onClick: handleOpen,\n };\n\n useEffect(() => {\n if (open) {\n isOpenAtLeastOnce.current = true;\n } else if (!open && isOpenAtLeastOnce.current) {\n elementRef.current?.focus();\n isOpenAtLeastOnce.current = false;\n }\n }, [open]);\n\n return (\n <>\n {target && React.cloneElement(target, targetProps)}\n {open ? (\n <Window\n onClose={handleClose}\n disableScrollLock={!handleScroll}\n disableFocusLock={disableFocusLock}\n style={{\n position: windowAbsolutelyPositioned ? \"absolute\" : \"fixed\",\n }}\n >\n <Overlay\n className={backgroundElementClass}\n onClick={handleClose}\n tabIndex={-1}\n disableBackgroundColor\n />\n <Popper\n anchorEl={childNode}\n open={childNode ? open : false}\n placement={position}\n className={popperClassName}\n tabIndex={-1}\n >\n <StyledMenu\n className={classnames(\n \"c-simple-menu__paper\",\n `c-simple-menu__${mode}`,\n menuClassName,\n className\n )}\n $mode={mode}\n onMouseDown={onMenuClick}\n >\n <MenuContextProvider value={{ open, setOpen }}>\n {typeof children === \"function\"\n ? children(childProps)\n : children}\n </MenuContextProvider>\n </StyledMenu>\n </Popper>\n </Window>\n ) : null}\n </>\n );\n};\n\nMenu.displayName = \"Menu\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\ninterface IStyledTypographyProps {\n $variant:\n | \"Title 1\"\n | \"Title 2\"\n | \"Header 2\"\n | \"Header 3\"\n | \"Body 1\"\n | \"Body 2\"\n | \"Caption 1\"\n | \"Caption 2\";\n $italic: boolean;\n $tabularNums: boolean;\n $letterSpacing: \"tight\" | \"regular\" | \"wide\";\n $lineHeight: \"tight\" | \"regular\" | \"loose\";\n $align: \"left\" | \"center\" | \"right\" | \"justify\";\n $decoration: \"underline\" | \"line-through\" | \"none\";\n $transform: \"uppercase\" | \"lowercase\" | \"capitalize\" | \"regular\";\n $overflow: \"truncate\" | \"ellipsis\" | \"visible\";\n $whitespace?:\n | \"regular\"\n | \"no-wrap\"\n | \"pre\"\n | \"pre-wrap\"\n | \"pre-line\"\n | \"break-spaces\";\n $wordBreak: \"regular\" | \"smart\" | \"all\";\n $color:\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"quaternary\"\n | \"theme-primary\"\n | \"theme-secondary\"\n | \"only-white\"\n | \"only-black\"\n | \"page-paper\"\n | \"success\"\n | \"alert\"\n | \"warning\";\n $weight?: \"light\" | \"regular\" | \"medium\" | \"bold\";\n}\n\nconst colors = {\n primary: tw`tw-text-theme-900`,\n secondary: tw`tw-text-theme-700`,\n tertiary: tw`tw-text-theme-600`,\n quaternary: tw`tw-text-theme-transparent-500`,\n \"theme-primary\": tw`tw-text-primary`,\n \"theme-secondary\": tw`tw-text-secondary`,\n \"page-paper\": tw`tw-text-page-paper-main`,\n \"only-white\": tw`tw-text-only-white`,\n \"only-black\": tw`tw-text-only-black`,\n success: tw`tw-text-success`,\n alert: tw`tw-text-alert`,\n warning: tw`tw-text-warning`,\n};\n\nexport const StyledTypography = styled.div<IStyledTypographyProps>`\n ${FontStyle}\n ${BoxSizingStyle}\n\n //color\n ${(props) => colors[props.$color]}\n\n //variant - font size\n ${(props) =>\n props.$variant === \"Title 1\" &&\n css`\n ${tw`tw-text-title-1`}\n `}\n ${(props) =>\n props.$variant === \"Title 2\" &&\n css`\n ${tw`tw-text-title-2`}\n `}\n ${(props) =>\n props.$variant === \"Header 2\" &&\n css`\n ${tw`tw-text-header-2`}\n `}\n ${(props) =>\n (props.$variant === \"Header 3\" || props.$variant === \"Body 1\") &&\n css`\n ${tw`tw-text-body-1`}\n `}\n ${(props) =>\n props.$variant === \"Body 2\" &&\n css`\n ${tw`tw-text-body-2`}\n `}\n ${(props) =>\n props.$variant === \"Caption 1\" &&\n css`\n ${tw`tw-text-caption-1`}\n `}\n ${(props) =>\n props.$variant === \"Caption 2\" &&\n css`\n ${tw`tw-text-caption-2`}\n `}\n\n //italic\n ${(props) =>\n props.$italic\n ? css`\n font-style: italic;\n `\n : css`\n font-style: normal;\n `}\n\n //tabularNums\n ${(props) =>\n props.$tabularNums\n ? css`\n font-variant-numeric: tabular-nums;\n `\n : css`\n font-variant-numeric: normal;\n `}\n\n //letterSpacing\n ${(props) =>\n props.$letterSpacing === \"regular\" &&\n css`\n ${tw`tw-tracking-regular`}\n `}\n ${(props) =>\n props.$letterSpacing === \"tight\" &&\n css`\n ${tw`tw-tracking-tight`}\n `}\n ${(props) =>\n props.$letterSpacing === \"wide\" &&\n css`\n ${tw`tw-tracking-wide`}\n `}\n\n //lineHeight\n ${(props) =>\n props.$lineHeight === \"regular\" &&\n css`\n ${tw`tw-leading-regular`}\n `}\n ${(props) =>\n props.$lineHeight === \"tight\" &&\n css`\n ${tw`tw-leading-tight`}\n `}\n ${(props) =>\n props.$lineHeight === \"loose\" &&\n css`\n ${tw`tw-leading-loose`}\n `}\n\n //align\n ${(props) =>\n props.$align === \"left\" &&\n css`\n text-align: left;\n `}\n ${(props) =>\n props.$align === \"right\" &&\n css`\n text-align: right;\n `}\n ${(props) =>\n props.$align === \"center\" &&\n css`\n text-align: center;\n `}\n ${(props) =>\n props.$align === \"justify\" &&\n css`\n text-align: justify;\n `}\n\n //decoration\n ${(props) =>\n props.$decoration === \"none\" &&\n css`\n text-decoration: none;\n `}\n ${(props) =>\n props.$decoration === \"underline\" &&\n css`\n text-decoration: underline;\n `}\n ${(props) =>\n props.$decoration === \"line-through\" &&\n css`\n text-decoration: line-through;\n `}\n\n //transform\n ${(props) =>\n props.$transform === \"regular\" &&\n css`\n text-transform: none;\n `}\n ${(props) =>\n props.$transform === \"uppercase\" &&\n css`\n text-transform: uppercase;\n `}\n ${(props) =>\n props.$transform === \"lowercase\" &&\n css`\n text-transform: lowercase;\n `}\n ${(props) =>\n props.$transform === \"capitalize\" &&\n css`\n text-transform: capitalize;\n `}\n\n //overflow\n ${(props) =>\n props.$overflow === \"visible\" &&\n css`\n overflow: visible;\n `}\n ${(props) =>\n props.$overflow === \"ellipsis\" &&\n css`\n text-overflow: ellipsis;\n `}\n ${(props) =>\n props.$overflow === \"truncate\" &&\n css`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `}\n\n //whitespace\n ${(props) =>\n props.$whitespace === \"regular\" &&\n css`\n white-space: normal;\n `}\n ${(props) =>\n props.$whitespace === \"no-wrap\" &&\n css`\n white-space: nowrap;\n `}\n ${(props) =>\n props.$whitespace === \"pre\" &&\n css`\n white-space: pre;\n `}\n ${(props) =>\n props.$whitespace === \"pre-wrap\" &&\n css`\n white-space: pre-wrap;\n `}\n ${(props) =>\n props.$whitespace === \"pre-line\" &&\n css`\n white-space: pre-line;\n `}\n ${(props) =>\n props.$whitespace === \"break-spaces\" &&\n css`\n white-space: break-spaces;\n `}\n\n //wordBreak\n ${(props) =>\n props.$wordBreak === \"regular\" &&\n css`\n overflow-wrap: normal;\n word-break: normal;\n `}\n ${(props) =>\n props.$wordBreak === \"smart\" &&\n css`\n overflow-wrap: break-word;\n `}\n ${(props) =>\n props.$wordBreak === \"all\" &&\n css`\n word-break: break-all;\n `}\n\n //weight\n ${(props) =>\n props.$weight === \"regular\" &&\n css`\n ${tw`tw-font-regular`}\n `}\n ${(props) =>\n props.$weight === \"light\" &&\n css`\n ${tw`tw-font-light`}\n `}\n ${(props) =>\n props.$weight === \"medium\" &&\n css`\n ${tw`tw-font-medium`}\n `}\n ${(props) =>\n props.$weight === \"bold\" &&\n css`\n ${tw`tw-font-bold`}\n `}\n`;\n\nStyledTypography.displayName = \"StyledTypography\";\n","import React, { HTMLAttributes, forwardRef } from \"react\";\nimport classNames from \"classnames\";\nimport { StyledTypography } from \"./Styles\";\nimport {\n PolymorphicComponentPropsWithRef,\n PolymorphicRef,\n} from \"../../utils/types\";\n\nexport type Variant =\n | \"Title 1\"\n | \"Title 2\"\n | \"Header 2\"\n | \"Header 3\"\n | \"Body 1\"\n | \"Body 2\"\n | \"Caption 1\"\n | \"Caption 2\";\n\nexport interface ITypographyProps extends HTMLAttributes<HTMLElement> {\n /** Font color. */\n color?:\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"quaternary\"\n | \"theme-primary\"\n | \"theme-secondary\"\n | \"only-white\"\n | \"only-black\"\n | \"page-paper\"\n | \"success\"\n | \"alert\"\n | \"warning\";\n /** Tabular numbers. */\n tabularNums?: boolean;\n /** Italic font style. */\n italic?: boolean;\n /** Font letter spacing. */\n letterSpacing?: \"tight\" | \"regular\" | \"wide\";\n /** Font line height. */\n lineHeight?: \"tight\" | \"regular\" | \"loose\";\n /** Font align. */\n align?: \"left\" | \"center\" | \"right\" | \"justify\";\n /** Underline font style. */\n decoration?: \"underline\" | \"line-through\" | \"none\";\n /** Font transform. */\n transform?: \"uppercase\" | \"lowercase\" | \"capitalize\" | \"regular\";\n /** Font overflow. */\n overflow?: \"truncate\" | \"ellipsis\" | \"visible\";\n /** Font whitespace. */\n whitespace?:\n | \"regular\"\n | \"no-wrap\"\n | \"pre\"\n | \"pre-wrap\"\n | \"pre-line\"\n | \"break-spaces\";\n /** Font word break. */\n wordBreak?: \"regular\" | \"smart\" | \"all\";\n /** Custom className for styling. */\n className?: string;\n /** Element variant. */\n variant?: Variant;\n /** Font weight. */\n weight?: \"light\" | \"regular\" | \"medium\" | \"bold\";\n /** Font size. */\n size?: \"32\" | \"18\" | \"16\" | \"14\" | \"12\" | \"10\";\n}\n\nexport type TypographyProps<C extends React.ElementType> =\n PolymorphicComponentPropsWithRef<C, ITypographyProps>;\n\nexport type TypographyComponent = <C extends React.ElementType = \"div\">(\n props: TypographyProps<C>\n) => React.ReactElement | null;\n\nexport const Typography: TypographyComponent & { displayName?: string } =\n forwardRef(\n <C extends React.ElementType = \"div\">(\n {\n variant = \"Title 1\",\n as,\n color = \"primary\",\n italic = false,\n tabularNums = false,\n letterSpacing = \"tight\",\n lineHeight = \"regular\",\n align = \"left\",\n decoration = \"none\",\n transform = \"regular\",\n overflow = \"visible\",\n whitespace = \"regular\",\n wordBreak = \"regular\",\n weight = \"regular\",\n className,\n children,\n ...props\n }: TypographyProps<C>,\n ref?: PolymorphicRef<C>\n ) => {\n const Component = as || \"div\";\n return (\n <StyledTypography\n as={Component}\n className={classNames(\"typography\", className)}\n $italic={italic}\n $tabularNums={tabularNums}\n $letterSpacing={letterSpacing}\n $lineHeight={lineHeight}\n $align={align}\n $decoration={decoration}\n $transform={transform}\n $overflow={overflow}\n $whitespace={whitespace}\n $wordBreak={wordBreak}\n $variant={variant}\n $color={color}\n $weight={weight}\n ref={ref}\n {...props}\n >\n {children}\n </StyledTypography>\n );\n }\n );\n\nTypography.displayName = \"Typography\";\n","import React, { forwardRef, HTMLAttributes, ReactNode, Ref } from \"react\";\nimport classnames from \"classnames\";\nimport { Typography } from \"../Typography/Typography\";\nimport { StyledMenuHeader } from \"./Styles\";\n\ninterface IMenuHeader {\n className?: string;\n title?: string;\n leftElement?: ReactNode;\n rightElement?: ReactNode;\n}\n\nexport const MenuHeader = forwardRef(\n (\n {\n title,\n className,\n leftElement,\n rightElement,\n ...props\n }: IMenuHeader & HTMLAttributes<HTMLDivElement>,\n ref: Ref<HTMLDivElement>\n ) => {\n return (\n <StyledMenuHeader\n {...props}\n className={classnames(\"c-menu-header\", className)}\n ref={ref}\n >\n {leftElement || <div style={{ minWidth: \"24px\" }}>&nbsp;</div>}\n <Typography\n variant=\"Body 2\"\n color=\"secondary\"\n weight=\"bold\"\n overflow=\"truncate\"\n style={{ marginLeft: \"4px\", marginRight: \"4px \" }}\n >\n {title}\n </Typography>\n {rightElement || <div style={{ minWidth: \"24px\" }}>&nbsp;</div>}\n </StyledMenuHeader>\n );\n }\n);\n\nMenuHeader.displayName = \"MenuHeader\";\n","import React, {\n forwardRef,\n HTMLAttributes,\n ReactNode,\n ReactNodeArray,\n Ref,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { StyledMenuFooter } from \"./Styles\";\n\nexport interface IMenuFooter {\n className?: string;\n children?: ReactNode | ReactNodeArray;\n}\n\nexport const MenuFooter = forwardRef(\n (\n {\n children,\n className,\n ...props\n }: IMenuFooter & HTMLAttributes<HTMLDivElement>,\n ref: Ref<HTMLDivElement>\n ) => {\n return (\n <StyledMenuFooter\n {...props}\n className={classnames(\"c-menu-footer\", className)}\n ref={ref}\n >\n {children}\n </StyledMenuFooter>\n );\n }\n);\n\nMenuFooter.displayName = \"MenuFooter\";\n","import styled from \"styled-components\";\nimport { FontStyle } from \"../FontStyle\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\n\nexport const StyledList = styled.ul`\n list-style-type: none;\n margin: 0;\n padding: 0;\n`;\n\nStyledList.displayName = \"StyledList\";\n\nexport const StyledListItem = styled.li`\n ${BoxSizingStyle}\n ${FontStyle}\n\n display: flex;\n flex-direction: row;\n align-items: center;\n cursor: pointer;\n padding: 0 1rem;\n margin: 0.25rem 0;\n font-size: 0.875rem;\n user-select: none;\n\n color: var(--color-theme-900);\n line-height: 28px;\n\n > svg:first-child {\n margin-right: 8px;\n }\n\n &:hover,\n &:focus-visible {\n background-color: var(--color-theme-200);\n outline: none;\n }\n`;\n\nStyledListItem.displayName = \"StyledListItem\";\n\nexport const StyledListSeparator = styled.div`\n border-top: 1px solid var(--border-primary);\n margin: 12px 16px;\n height: 1px;\n`;\n\nStyledListSeparator.displayName = \"StyledListSeparator\";\n","import React, {\n forwardRef,\n HTMLAttributes,\n PropsWithChildren,\n Ref,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { StyledListItem } from \"./Styles\";\n\nexport interface ListItemProps {\n className?: string;\n}\n\nexport const ListItem = forwardRef(\n (\n {\n children,\n className,\n ...props\n }: PropsWithChildren<ListItemProps> & HTMLAttributes<HTMLLIElement>,\n ref: Ref<HTMLLIElement> | null | undefined\n ) => {\n return (\n <StyledListItem\n className={classnames(\"c-list-item\", className)}\n ref={ref}\n tabIndex={0}\n {...props}\n >\n {children}\n </StyledListItem>\n );\n }\n);\n\nListItem.displayName = \"ListItem\";\n","import React, { HTMLAttributes } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledListSeparator } from \"./Styles\";\n\nexport const ListSeparator = ({\n className,\n ...props\n}: HTMLAttributes<HTMLDivElement>) => {\n return (\n <StyledListSeparator\n className={classnames(\"c-list-separator\", className)}\n {...props}\n />\n );\n};\n\nListSeparator.displayName = \"ListSeparator\";\n","import React, {\n forwardRef,\n HTMLAttributes,\n Ref,\n PropsWithChildren,\n} from \"react\";\n\nimport { ListItem } from \"./ListItem\";\nimport { ListSeparator } from \"./ListSeparator\";\n\nimport { StyledList } from \"./Styles\";\n\nexport interface ListProps {\n /** Applies passed classes */\n className?: string;\n}\n\nexport const _List = forwardRef(\n (\n {\n children,\n className,\n ...props\n }: PropsWithChildren<ListProps> & HTMLAttributes<HTMLUListElement>,\n ref: Ref<HTMLUListElement> | null | undefined\n ) => {\n return (\n <StyledList className={className} ref={ref} tabIndex={-1} {...props}>\n {children}\n </StyledList>\n );\n }\n);\n\n_List.displayName = \"List\";\n\n// https://github.com/DefinitelyTyped/DefinitelyTyped/issues/34757\nexport const List = Object.assign({}, _List, {\n Item: ListItem,\n Separator: ListSeparator,\n});\n","import styled, { css } from \"styled-components\";\nimport { Button } from \"../Button\";\n\nexport const StyledIconButton = styled(Button)`\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding: 0;\n width: 32px;\n\n ${({ size }) =>\n size === \"small\" &&\n css`\n width: 24px;\n `}\n\n ${({ size }) =>\n size === \"big\" &&\n css`\n width: 40px;\n `}\n`;\n","import React, { forwardRef, PropsWithChildren } from \"react\";\nimport { ButtonProps } from \"../Button\";\nimport { StyledIconButton } from \"./Styles\";\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IconButtonProps extends ButtonProps {}\n\n/**\n * @component IconButton\n * @description\n * IconButton composes the Button component except that it renders only an icon.\n * Since IconButton only renders an icon, you have to pass the aria-label prop,\n * so screen readers can give meaning to the button.\n *\n * @props See Button props.\n *\n * @example\n * return (\n * <IconButton className=\"mr-2\" variant=\"primary\" size=\"medium\" aria-label=\"Close dialog\">\n * <CloseIcon />\n * </IconButton>\n * )\n * @see\n * https://system.activecollab.com/?path=/story/components-button-indicators-button--icon-button\n * https://design.activecollab.com/docs/components/button\n */\n\nexport const IconButton = forwardRef<\n HTMLButtonElement,\n PropsWithChildren<IconButtonProps>\n>(({ children, className, variant, size, active, ...args }, ref) => {\n return (\n <StyledIconButton\n className={className}\n variant={variant}\n size={size}\n active={active}\n ref={ref}\n {...args}\n >\n {children}\n </StyledIconButton>\n );\n});\n\nIconButton.displayName = \"IconButton\";\n","import React from \"react\";\n\n/**\n * @component ActivityIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ActivityIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ActivityIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ActivityIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M6 4a2 2 0 00-2 2v12a2 2 0 002 2h12a2 2 0 002-2V6a2 2 0 00-2-2H6zm0-2h12a4 4 0 014 4v12a4 4 0 01-4 4H6a4 4 0 01-4-4V6a4 4 0 014-4zm2.962 10.317a1 1 0 01-.949.684H5.76a1 1 0 010-2h1.532l1.772-5.317c.304-.912 1.594-.912 1.898 0l3.051 9.154 1.051-3.154a1 1 0 01.95-.684H18a1 1 0 010 2h-1.266l-1.772 5.316c-.304.912-1.594.912-1.898 0l-3.05-9.153-1.052 3.154z\" />\n <path\n stroke=\"#F4F5F7\"\n strokeWidth={0.1}\n opacity={0.01}\n d=\"M.05.05h23.9v23.9H.05z\"\n />\n </svg>\n )\n);\nActivityIcon.displayName = \"ActivityIcon\";\nexport default ActivityIcon;\n","import React from \"react\";\n\n/**\n * @component AddCrossIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <AddCrossIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst AddCrossIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={10}\n height={10}\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"AddCrossIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M6 0v4h4v2H6v4H4V6H0V4h4V0h2z\" fillRule=\"nonzero\" />\n </svg>\n )\n);\nAddCrossIcon.displayName = \"AddCrossIcon\";\nexport default AddCrossIcon;\n","import React from \"react\";\n\n/**\n * @component ArrowBackMobileIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ArrowBackMobileIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ArrowBackMobileIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ArrowBackMobileIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.293 4.222a1 1 0 011.492 1.327l-.078.087L9.343 12l6.364 6.364a1 1 0 01.078 1.327l-.078.087a1 1 0 01-1.327.078l-.087-.078-7.071-7.07a1 1 0 01-.078-1.328l.078-.087 7.07-7.071z\"\n />\n </svg>\n )\n);\nArrowBackMobileIcon.displayName = \"ArrowBackMobileIcon\";\nexport default ArrowBackMobileIcon;\n","import React from \"react\";\n\n/**\n * @component ArrowCollapseMultipleIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ArrowCollapseMultipleIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ArrowCollapseMultipleIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ArrowCollapseMultipleIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 15l4.72 4.461a.867.867 0 010 1.275.995.995 0 01-1.25.08l-.098-.08L12 17.549l-3.372 3.187a.993.993 0 01-1.349 0 .865.865 0 01-.079-1.19l.08-.085L12 15zm4.72-11.736a.867.867 0 010 1.275L12 9 7.28 4.539a.867.867 0 010-1.275.993.993 0 011.348 0L12 6.451l3.372-3.187a.993.993 0 011.349 0zM6 11h12a1 1 0 010 2H6a1 1 0 010-2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nArrowCollapseMultipleIcon.displayName = \"ArrowCollapseMultipleIcon\";\nexport default ArrowCollapseMultipleIcon;\n","import React from \"react\";\n\n/**\n * @component ArrowDownLongIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ArrowDownLongIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ArrowDownLongIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ArrowDownLongIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M13 5v9h4l-5 5-5-5h4V5z\" fillRule=\"evenodd\" />\n </svg>\n )\n);\nArrowDownLongIcon.displayName = \"ArrowDownLongIcon\";\nexport default ArrowDownLongIcon;\n","import React from \"react\";\n\n/**\n * @component ArrowDownIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ArrowDownIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ArrowDownIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n data-testid=\"ArrowDownIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n d=\"M15.372 10.264a.993.993 0 011.349 0 .867.867 0 010 1.275L12 16l-4.72-4.461a.867.867 0 010-1.275.993.993 0 011.348 0L12 13.451l3.372-3.187z\"\n />\n </svg>\n )\n);\nArrowDownIcon.displayName = \"ArrowDownIcon\";\nexport default ArrowDownIcon;\n","import React from \"react\";\n\n/**\n * @component ArrowExpandeMultipleIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ArrowExpandeMultipleIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ArrowExpandeMultipleIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ArrowExpandeMultipleIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M16.72 15.264a.867.867 0 010 1.275L12 21l-4.72-4.461a.867.867 0 010-1.275.993.993 0 011.348 0L12 18.451l3.372-3.187a.993.993 0 011.349 0zM18 11a1 1 0 010 2H6a1 1 0 010-2h12zm-6-8l4.72 4.461a.867.867 0 010 1.275.995.995 0 01-1.25.08l-.098-.08L12 5.549 8.628 8.736a.993.993 0 01-1.349 0 .865.865 0 01-.079-1.19l.08-.085L12 3z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nArrowExpandeMultipleIcon.displayName = \"ArrowExpandeMultipleIcon\";\nexport default ArrowExpandeMultipleIcon;\n","import React from \"react\";\n\n/**\n * @component ArrowLeftBoxIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ArrowLeftBoxIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ArrowLeftBoxIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ArrowLeftBoxIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M8.92 15.59L6.33 13H16v-2H6.33l2.59-2.59L7.5 7l-5 5 5 5 1.42-1.41zM8 3v2h11v14H8v2h11a2 2 0 002-2V5c0-1.11-.89-2-2-2H8z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nArrowLeftBoxIcon.displayName = \"ArrowLeftBoxIcon\";\nexport default ArrowLeftBoxIcon;\n","import React from \"react\";\n\n/**\n * @component ArrowLeftIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ArrowLeftIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ArrowLeftIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ArrowLeftIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M13.45 6.337l-5.657 5.657 5.657 5.657a1 1 0 101.414-1.414l-4.241-4.243 4.241-4.243a1 1 0 00-1.414-1.414z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nArrowLeftIcon.displayName = \"ArrowLeftIcon\";\nexport default ArrowLeftIcon;\n","import React from \"react\";\n\n/**\n * @component ArrowRefreshIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ArrowRefreshIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ArrowRefreshIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ArrowRefreshIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 3a9 9 0 00-9 9H1l3 3.89L7 12H5a7 7 0 117 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42A8.896 8.896 0 0012 21a9 9 0 000-18z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nArrowRefreshIcon.displayName = \"ArrowRefreshIcon\";\nexport default ArrowRefreshIcon;\n","import React from \"react\";\n\n/**\n * @component ArrowRightIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ArrowRightIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ArrowRightIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ArrowRightIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M10.914 6.337l5.657 5.657-5.657 5.657A1 1 0 019.5 16.237l4.241-4.243L9.5 7.751a1 1 0 011.414-1.414z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nArrowRightIcon.displayName = \"ArrowRightIcon\";\nexport default ArrowRightIcon;\n","import React from \"react\";\n\n/**\n * @component ArrowUpLongIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ArrowUpLongIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ArrowUpLongIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ArrowUpLongIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M13 19v-9h4l-5-5-5 5h4v9z\" fillRule=\"evenodd\" />\n </svg>\n )\n);\nArrowUpLongIcon.displayName = \"ArrowUpLongIcon\";\nexport default ArrowUpLongIcon;\n","import React from \"react\";\n\n/**\n * @component ArrowUpIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ArrowUpIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ArrowUpIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n data-testid=\"ArrowUpIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n d=\"M15.372 14.236a.993.993 0 001.349 0 .867.867 0 000-1.275L12 8.5l-4.72 4.461a.867.867 0 000 1.275.993.993 0 001.348 0L12 11.049l3.372 3.187z\"\n />\n </svg>\n )\n);\nArrowUpIcon.displayName = \"ArrowUpIcon\";\nexport default ArrowUpIcon;\n","import React from \"react\";\n\n/**\n * @component AssignIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <AssignIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst AssignIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"AssignIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2c.685 0 1.354.069 2.001.2v2.052a8 8 0 00-7.86 13.195 3.988 3.988 0 011.981-1.05A19.248 19.248 0 0112 16c1.292 0 2.585.133 3.877.398.76.156 1.444.525 1.983 1.048A7.97 7.97 0 0020 12c0-.69-.087-1.36-.252-2H21.8c.131.646.2 1.315.2 2a9.971 9.971 0 01-3.073 7.212l-.001.001-.056.053a10.057 10.057 0 01-1.61 1.24A9.953 9.953 0 0112 22a9.954 9.954 0 01-4.951-1.31l-.31-.184-.02-.013a10.02 10.02 0 01-1.634-1.27l-.012-.01A9.971 9.971 0 012 12C2 6.477 6.477 2 12 2zm0 16c-1.157 0-2.315.119-3.476.357a1.998 1.998 0 00-.831.385A7.958 7.958 0 0012 20a7.963 7.963 0 004.307-1.257 1.984 1.984 0 00-.832-.386A17.249 17.249 0 0012 18zm0-11a4 4 0 110 8 4 4 0 010-8zm0 2a2 2 0 100 4 2 2 0 000-4zm8-7v2h2v2h-2v2h-2V5.999L16 6V4l2-.001V2h2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nAssignIcon.displayName = \"AssignIcon\";\nexport default AssignIcon;\n","import React from \"react\";\n\n/**\n * @component AttachmentIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <AttachmentIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst AttachmentIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"AttachmentIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12.814 2.454l1.414 1.414-8.485 8.486a4 4 0 005.512 5.794l.144-.138 8.132-8.131a1.5 1.5 0 00-2.014-2.219l-.107.097-8.58 8.58-1.414-1.414 8.58-8.58a3.5 3.5 0 015.082 4.81l-.133.14-8.131 8.132A6 6 0 014.172 11.1l.156-.162 8.486-8.485z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nAttachmentIcon.displayName = \"AttachmentIcon\";\nexport default AttachmentIcon;\n","import React from \"react\";\n\n/**\n * @component BellOffSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <BellOffSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst BellOffSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"BellOffSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M8 11v1H4v-1h4zM1.414.707l9.9 9.9-.707.707L9.293 10H2V5c0-.665.162-1.292.45-1.843L.706 1.414l.707-.707zm1.591 4.117L3 5v4h5.293l-5.09-5.09c-.11.286-.18.593-.198.914zM7 0v1.126c1.725.444 3 2.01 3 3.874v2.9l-1-1V5a3 3 0 00-2.824-2.995L6 2c-.546 0-1.058.146-1.499.4l-.726-.725A3.98 3.98 0 015 1.126L5 0h2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nBellOffSmallIcon.displayName = \"BellOffSmallIcon\";\nexport default BellOffSmallIcon;\n","import React from \"react\";\n\n/**\n * @component BellOffIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <BellOffIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst BellOffIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"BellOffIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M11 19c0 .6.4 1 1 1s1-.4 1-1h2c0 1.7-1.3 3-3 3s-3-1.3-3-3h2zM4.222 2.808l16.97 16.97-1.414 1.414L16.586 18H3v-3.9l.7-.2C4.5 13.6 5 12.8 5 12v-2c0-1.029.232-2.028.652-2.932L2.808 4.222l1.414-1.414zM12 1c1.44 0 2.696 1.014 2.97 2.51l.03.19c2.4 1.2 4 3.6 4 6.3v2c0 .8.5 1.6 1.3 1.9l.7.2v2.674l-3.909-3.907A4.121 4.121 0 0117 12v-2c0-1.9-1.1-3.7-2.9-4.5l-1-.5-.1-1.1c-.1-.5-.5-.9-1-.9s-.9.4-1 .9L10.9 5l-1 .5-.118.055-1.481-1.482c.224-.137.458-.262.699-.373.2-1.6 1.5-2.7 3-2.7zm2.586 15L7.198 8.613C7.068 9.06 7 9.527 7 10v2c0 1.4-.8 2.8-2 3.5v.5h9.586z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nBellOffIcon.displayName = \"BellOffIcon\";\nexport default BellOffIcon;\n","import React from \"react\";\n\n/**\n * @component BillingIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <BillingIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst BillingIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"BillingIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M4 5h3v2H4v10h3v2H4a2 2 0 01-2-2V7a2 2 0 012-2zm16 12h-3v2h3a2 2 0 002-2V7a2 2 0 00-2-2h-3v2h3v10zm-9 0h2v-1h1a1 1 0 001-1v-3a1 1 0 00-1-1h-3v-1h4V8h-2V7h-2v1h-1a1 1 0 00-1 1v3a1 1 0 001 1h3v1H9v2h2v1z\"\n />\n </svg>\n )\n);\nBillingIcon.displayName = \"BillingIcon\";\nexport default BillingIcon;\n","import React from \"react\";\n\n/**\n * @component BudgetAlertIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <BudgetAlertIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst BudgetAlertIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"BudgetAlertIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M14 17v1h-4v-1h4zM13 5l.001 1.1A5.002 5.002 0 0117 11v5H7v-5a5.002 5.002 0 014-4.9V5h2zm-1 2a4 4 0 00-3.995 3.8L8 11v4h8v-4a4 4 0 00-3.8-3.995L12 7z\"\n fillRule=\"nonzero\"\n />\n </svg>\n )\n);\nBudgetAlertIcon.displayName = \"BudgetAlertIcon\";\nexport default BudgetAlertIcon;\n","import React from \"react\";\n\n/**\n * @component CalendarAddXIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CalendarAddXIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CalendarAddXIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CalendarAddXIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M7 2v2h10V2h2v2h1a2 2 0 012 2v6h-2V9H4v11h8v2H4a2 2 0 01-2-2V6a2 2 0 012-2h1V2h2zm12 12v3h3v2h-3v3h-2v-3h-3v-2l3-.001V14h2zm-9.586-3.828l1.414 1.414L9.414 13l1.414 1.414-1.414 1.414L8 14.414l-1.413 1.414-1.414-1.414L6.585 13l-1.413-1.413 1.414-1.414L8 11.586l1.414-1.414z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nCalendarAddXIcon.displayName = \"CalendarAddXIcon\";\nexport default CalendarAddXIcon;\n","import React from \"react\";\n\n/**\n * @component CalendarIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CalendarIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CalendarIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CalendarIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M7 2v2h10V2h2v2h1a2 2 0 012 2v14a2 2 0 01-2 2H4a2 2 0 01-2-2V6a2 2 0 012-2h1V2h2zm13 7H4v11h16V9zm-10 2v4H6v-4h4z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nCalendarIcon.displayName = \"CalendarIcon\";\nexport default CalendarIcon;\n","import React from \"react\";\n\n/**\n * @component CancelCrossIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CancelCrossIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CancelCrossIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CancelCrossIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M16.95 5.636l1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95L7.05 5.636l4.95 4.95z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nCancelCrossIcon.displayName = \"CancelCrossIcon\";\nexport default CancelCrossIcon;\n","import React from \"react\";\n\n/**\n * @component CaretLeftIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CaretLeftIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CaretLeftIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={18}\n height={18}\n viewBox=\"0 0 18 18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CaretLeftIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M10 5v8L6 9l4-4z\" fillRule=\"evenodd\" />\n </svg>\n )\n);\nCaretLeftIcon.displayName = \"CaretLeftIcon\";\nexport default CaretLeftIcon;\n","import React from \"react\";\n\n/**\n * @component CaretRightIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CaretRightIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CaretRightIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={18}\n height={18}\n viewBox=\"0 0 18 18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CaretRightIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M8 5v8l4-4-4-4z\" fillRule=\"evenodd\" />\n </svg>\n )\n);\nCaretRightIcon.displayName = \"CaretRightIcon\";\nexport default CaretRightIcon;\n","import React from \"react\";\n\n/**\n * @component ChatIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ChatIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ChatIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ChatIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M20 4a3 3 0 013 3v9.2a3 3 0 01-3 3H7.794L1 23V7a3 3 0 013-3h16z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nChatIcon.displayName = \"ChatIcon\";\nexport default ChatIcon;\n","import React from \"react\";\n\n/**\n * @component CheckIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CheckIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CheckIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CheckIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M5.613 10.21l.094.083L10 14.585l8.293-8.292a1 1 0 011.497 1.32l-.083.094-9 9a1 1 0 01-1.414 0l-5-5a1 1 0 011.32-1.497z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nCheckIcon.displayName = \"CheckIcon\";\nexport default CheckIcon;\n","import React from \"react\";\n\n/**\n * @component CheckboxBlankTogglerIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CheckboxBlankTogglerIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CheckboxBlankTogglerIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CheckboxBlankTogglerIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 100 16 8 8 0 000-16zm3.607 5.707a1 1 0 010 1.414l-3.657 3.657a1 1 0 01-1.414 0L8.707 12.95a1 1 0 011.414-1.414l1.12 1.12 2.951-2.949a1 1 0 011.415 0z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nCheckboxBlankTogglerIcon.displayName = \"CheckboxBlankTogglerIcon\";\nexport default CheckboxBlankTogglerIcon;\n","import React from \"react\";\n\n/**\n * @component CheckboxIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CheckboxIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CheckboxIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={16}\n height={16}\n viewBox=\"0 0 16 16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CheckboxIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <g fillRule=\"evenodd\">\n <rect stroke=\"#8E8E8E\" x={0.5} y={0.5} width={15} height={15} rx={2} />\n <path\n stroke=\"#979797\"\n strokeWidth={2}\n d=\"M12.243 5l-5.657 5.657-2.829-2.829\"\n />\n </g>\n </svg>\n )\n);\nCheckboxIcon.displayName = \"CheckboxIcon\";\nexport default CheckboxIcon;\n","import React from \"react\";\n\n/**\n * @component ChecklistSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ChecklistSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ChecklistSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ChecklistSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M2.5 9a1.5 1.5 0 110 3 1.5 1.5 0 010-3zm0 1a.5.5 0 100 1 .5.5 0 000-1zm8.5 0v1H5v-1h6zM2.5 5a1.5 1.5 0 110 3 1.5 1.5 0 010-3zm0 1a.5.5 0 100 1 .5.5 0 000-1zM11 6v1H5V6h6zM2.5 1a1.5 1.5 0 110 3 1.5 1.5 0 010-3zm0 1a.5.5 0 100 1 .5.5 0 000-1zM11 2v1H5V2h6z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nChecklistSmallIcon.displayName = \"ChecklistSmallIcon\";\nexport default ChecklistSmallIcon;\n","import React from \"react\";\n\n/**\n * @component ChecklistIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ChecklistIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ChecklistIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ChecklistIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M5 16a3 3 0 110 6 3 3 0 010-6zm16 2a1 1 0 010 2H11a1 1 0 010-2h10zM5 18a1 1 0 100 2 1 1 0 000-2zm0-9a3 3 0 110 6 3 3 0 010-6zm16 2a1 1 0 010 2H11a1 1 0 010-2h10zM5 11a1 1 0 100 2 1 1 0 000-2zm0-9a3 3 0 110 6 3 3 0 010-6zm16 2a1 1 0 010 2H11a1 1 0 010-2h10zM5 4a1 1 0 100 2 1 1 0 000-2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nChecklistIcon.displayName = \"ChecklistIcon\";\nexport default ChecklistIcon;\n","import React from \"react\";\n\n/**\n * @component CircleMultipleIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CircleMultipleIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CircleMultipleIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CircleMultipleIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M19.657 8.343A8 8 0 118.343 19.657 8 8 0 0119.657 8.343zm-9.9 1.414a6 6 0 108.486 8.486 6 6 0 00-8.486-8.486zM10 2a7.97 7.97 0 015.291 2H10a6 6 0 00-5.996 5.775L4 10v5.291A8 8 0 0110 2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nCircleMultipleIcon.displayName = \"CircleMultipleIcon\";\nexport default CircleMultipleIcon;\n","import React from \"react\";\n\n/**\n * @component ClockAddIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ClockAddIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ClockAddIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ClockAddIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M2 12C2 6.477 6.477 2 12 2s10 4.477 10 10h-2a8 8 0 10-8 8v2C6.477 22 2 17.523 2 12zm17 2v3h3v2h-3v3h-2v-3.001L14 19v-2l3-.001V14h2zm-8-8v4.999L6 11v2h7V6h-2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nClockAddIcon.displayName = \"ClockAddIcon\";\nexport default ClockAddIcon;\n","import React from \"react\";\n\n/**\n * @component ClockSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ClockSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ClockSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ClockSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M5.5.9a5.5 5.5 0 110 11 5.5 5.5 0 010-11zm0 1a4.5 4.5 0 100 9 4.5 4.5 0 000-9zM6 3v3h3v1H5V3h1z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nClockSmallIcon.displayName = \"ClockSmallIcon\";\nexport default ClockSmallIcon;\n","import React from \"react\";\n\n/**\n * @component ClockStopwatchSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ClockStopwatchSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ClockStopwatchSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ClockStopwatchSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M5.5.9a5.5 5.5 0 110 11 5.5 5.5 0 010-11zm0 1a4.5 4.5 0 100 9 4.5 4.5 0 000-9zm.515 1v4H5v-4h1.015zM9.797 0l2.152 2.121-.717.707L9.08.708 9.797 0z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nClockStopwatchSmallIcon.displayName = \"ClockStopwatchSmallIcon\";\nexport default ClockStopwatchSmallIcon;\n","import React from \"react\";\n\n/**\n * @component ClockStopwatchIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ClockStopwatchIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ClockStopwatchIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ClockStopwatchIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2c2.393 0 4.59.84 6.312 2.243l1.604-1.657L21.33 4 19.73 5.654A9.959 9.959 0 0122 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 100 16 8 8 0 000-16zm-1 2v7h2V6h-2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nClockStopwatchIcon.displayName = \"ClockStopwatchIcon\";\nexport default ClockStopwatchIcon;\n","import React from \"react\";\n\n/**\n * @component ClockIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ClockIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ClockIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ClockIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 100 16 8 8 0 000-16zm1 2v7H6v-2h5V6h2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nClockIcon.displayName = \"ClockIcon\";\nexport default ClockIcon;\n","import React from \"react\";\n\n/**\n * @component CloseSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CloseSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CloseSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CloseSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M9.485 8.071l2.828 2.827 2.83-2.827a1 1 0 011.413 1.414l-2.828 2.828 2.828 2.83a1 1 0 01-1.414 1.413l-2.829-2.828-2.828 2.828a1 1 0 11-1.414-1.414l2.827-2.829-2.827-2.828a1 1 0 011.414-1.414z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nCloseSmallIcon.displayName = \"CloseSmallIcon\";\nexport default CloseSmallIcon;\n","import React from \"react\";\n\n/**\n * @component CloseIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CloseIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CloseIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CloseIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.613 6.21l.094.083L12 10.585l4.293-4.292a1 1 0 011.497 1.32l-.083.094L13.415 12l4.292 4.293a1 1 0 01-1.32 1.497l-.094-.083L12 13.415l-4.293 4.292a1 1 0 01-1.497-1.32l.083-.094L10.585 12 6.293 7.707a1 1 0 011.32-1.497z\"\n />\n </svg>\n )\n);\nCloseIcon.displayName = \"CloseIcon\";\nexport default CloseIcon;\n","import React from \"react\";\n\n/**\n * @component CollapsIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CollapsIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CollapsIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={6}\n height={9}\n viewBox=\"0 0 6 9\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CollapsIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M4.243.22L0 4.462l4.243 4.243a.75.75 0 101.06-1.06l-3.18-3.183 3.18-3.182A.75.75 0 004.243.22z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nCollapsIcon.displayName = \"CollapsIcon\";\nexport default CollapsIcon;\n","import React from \"react\";\n\n/**\n * @component CollapseAllIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CollapseAllIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CollapseAllIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CollapseAllIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 15l4.72 4.461a.867.867 0 010 1.275.993.993 0 01-1.348 0L12 17.549l-3.372 3.187a.993.993 0 01-1.349 0 .867.867 0 010-1.275L12 15zm4.72-11.736a.867.867 0 010 1.275L12 9 7.28 4.539a.867.867 0 010-1.275.993.993 0 011.348 0L12 6.451l3.372-3.187a.993.993 0 011.349 0zM12 14a2 2 0 100-4 2 2 0 000 4z\"\n fillRule=\"nonzero\"\n />\n </svg>\n )\n);\nCollapseAllIcon.displayName = \"CollapseAllIcon\";\nexport default CollapseAllIcon;\n","import React from \"react\";\n\n/**\n * @component CollapseExpandSingleIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CollapseExpandSingleIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CollapseExpandSingleIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CollapseExpandSingleIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M15.372 14.736a.993.993 0 001.349 0 .867.867 0 000-1.275L12 9l-4.72 4.461a.867.867 0 000 1.275.993.993 0 001.348 0L12 11.549l3.372 3.187z\"\n fillRule=\"nonzero\"\n />\n </svg>\n )\n);\nCollapseExpandSingleIcon.displayName = \"CollapseExpandSingleIcon\";\nexport default CollapseExpandSingleIcon;\n","import React from \"react\";\n\n/**\n * @component ComputerIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ComputerIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ComputerIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ComputerIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M21 16H3V4h18m0-2H3c-1.11 0-2 .89-2 2v12a2 2 0 002 2h7v2H8v2h8v-2h-2v-2h7a2 2 0 002-2V4a2 2 0 00-2-2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nComputerIcon.displayName = \"ComputerIcon\";\nexport default ComputerIcon;\n","import React from \"react\";\n\n/**\n * @component CopyIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CopyIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CopyIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CopyIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M20 20V8H8v12h12m2 0a2 2 0 01-2 2H8a2 2 0 01-2-2V8c0-1.11.89-2 2-2h12a2 2 0 012 2v12M4 16H2V4a2 2 0 012-2h13v2H4v12z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nCopyIcon.displayName = \"CopyIcon\";\nexport default CopyIcon;\n","import React from \"react\";\n\n/**\n * @component CrownBlankIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CrownBlankIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CrownBlankIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CrownBlankIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M15.674 9.488l2.704-.98L17.3 13H6.7L5.663 8.507l2.662.978A1 1 0 009.45 9.17L12 5.988l2.552 3.186a1 1 0 001.122.314zM8.5 7.482L4.69 6.097a1 1 0 00-1.32 1.145L5 15h14l1.63-7.758a1 1 0 00-1.32-1.145L15.5 7.482l-2.747-3.14a1 1 0 00-1.506 0L8.5 7.482zM19 17H5v1c0 .6.4 1 1 1h12c.6 0 1-.4 1-1v-1z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nCrownBlankIcon.displayName = \"CrownBlankIcon\";\nexport default CrownBlankIcon;\n","import React from \"react\";\n\n/**\n * @component CrownSelectedIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CrownSelectedIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CrownSelectedIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"CrownSelectedIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M8.5 7.487L4.69 6.1a1 1 0 00-1.32 1.146L5 15h14l1.63-7.753A1 1 0 0019.31 6.1L15.5 7.487l-2.747-3.14a1 1 0 00-1.506 0L8.5 7.487zM19 17H5v1c0 .6.4 1 1 1h12c.6 0 1-.4 1-1v-1z\"\n fillRule=\"nonzero\"\n />\n </svg>\n )\n);\nCrownSelectedIcon.displayName = \"CrownSelectedIcon\";\nexport default CrownSelectedIcon;\n","import React from \"react\";\n\n/**\n * @component DependencySmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DependencySmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DependencySmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DependencySmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M10 7a2 2 0 110 4 2 2 0 010-4zm0 1a1 1 0 100 2 1 1 0 000-2zM4.5 6v2.499L7 8.5v1H3.5V6h1zM4 1a2 2 0 110 4 2 2 0 010-4zm0 1a1 1 0 100 2 1 1 0 000-2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDependencySmallIcon.displayName = \"DependencySmallIcon\";\nexport default DependencySmallIcon;\n","import React from \"react\";\n\n/**\n * @component DependencyIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DependencyIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DependencyIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DependencyIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M19 14a4 4 0 110 8 4 4 0 010-8zm0 2a2 2 0 100 4 2 2 0 000-4zM8 12v4.998L13 17v2H6v-7h2zM7 2a4 4 0 110 8 4 4 0 010-8zm0 2a2 2 0 100 4 2 2 0 000-4z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDependencyIcon.displayName = \"DependencyIcon\";\nexport default DependencyIcon;\n","import React from \"react\";\n\n/**\n * @component DiscussionAddIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DiscussionAddIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DiscussionAddIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DiscussionAddIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M22 13v9l-4-4H8a2 2 0 01-1.995-1.85L6 16v-1h10a3.001 3.001 0 002.829-2H22zM12 2v2H4v8.17L5.17 11H16l.001 1.732a1.987 1.987 0 01-.82.26L15 13H6l-4 4V4a2 2 0 011.85-1.995L4 2h8zm7 0v3h3v2h-3v3h-2V6.999L14 7V5l3-.001V2h2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDiscussionAddIcon.displayName = \"DiscussionAddIcon\";\nexport default DiscussionAddIcon;\n","import React from \"react\";\n\n/**\n * @component DollarCheckmarkSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DollarCheckmarkSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DollarCheckmarkSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DollarCheckmarkSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M11.243 8.121l.707.707-2.829 2.829L7 9.536l.707-.708 1.414 1.414 2.122-2.12zM5.5 0a5.5 5.5 0 015.293 7l-1.05.001A4.5 4.5 0 106 9.972v1.006A5.5 5.5 0 115.5 0zM6 2v1h1v1H5v1h2v3H6v1H5V8H4V7h2V6H4V3h1V2h1z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDollarCheckmarkSmallIcon.displayName = \"DollarCheckmarkSmallIcon\";\nexport default DollarCheckmarkSmallIcon;\n","import React from \"react\";\n\n/**\n * @component DollarCheckmarkIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DollarCheckmarkIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DollarCheckmarkIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DollarCheckmarkIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2c5.523 0 10 4.477 10 10h-2a8 8 0 10-8 8v2C6.477 22 2 17.523 2 12S6.477 2 12 2zm9.607 13.707a1 1 0 010 1.414l-3.657 3.657a1 1 0 01-1.414 0l-1.829-1.828a1 1 0 011.414-1.414l1.12 1.12 2.951-2.949a1 1 0 011.415 0zM13 7v1h2v2h-4v1h3a1 1 0 01.993.883L15 12v3a1 1 0 01-.883.993L14 16h-1v1h-2v-1H9v-2h4v-1h-3a1 1 0 01-.993-.883L9 12V9a1 1 0 01.883-.993L10 8h1V7h2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDollarCheckmarkIcon.displayName = \"DollarCheckmarkIcon\";\nexport default DollarCheckmarkIcon;\n","import React from \"react\";\n\n/**\n * @component DollarClockSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DollarClockSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DollarClockSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DollarClockSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M10 5v1h1v1H9v1h2v3h-1v1H9v-1H8v-1h2V9H8V6h1V5h1zM8 1v3L6 6l1 1v1.25l-2-2-2 2V10h4v1H2V8l2-2-2-2V1h6zM7 2H3v1.75l2 2 2-2V2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDollarClockSmallIcon.displayName = \"DollarClockSmallIcon\";\nexport default DollarClockSmallIcon;\n","import React from \"react\";\n\n/**\n * @component DollarClockIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DollarClockIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DollarClockIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DollarClockIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M20 13v1h2v2h-4v1h3a1 1 0 01.993.883L22 18v3a1 1 0 01-.883.993L21 22h-1v1h-2v-1h-2v-2h4v-1h-3a1 1 0 01-.993-.883L16 18v-3a1 1 0 01.883-.993L17 14h1v-1h2zM18 2v6l-4 4 1.199 1.199L14.2 14.7 12 12.5l-4 4V20h6v2H6v-6l4-4-4-4V2h12zm-2 2H8v3.5l4 4 4-4V4z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDollarClockIcon.displayName = \"DollarClockIcon\";\nexport default DollarClockIcon;\n","import React from \"react\";\n\n/**\n * @component DollarOffSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DollarOffSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DollarOffSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DollarOffSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M1.05 1.05l9.9 9.9-.707.707L8.47 9.883A.996.996 0 018 10H7v1H5v-1H4a1 1 0 01-1-1V8h1v.7a.3.3 0 00.3.3h3.286l-3-3H4a1 1 0 01-1-1v-.587L.342 1.757l.707-.707zM8 5a1 1 0 011 1v1.586l-1-1V6.3a.3.3 0 00-.3-.3h-.286l-1-1H8zM7 1v1h1a1 1 0 011 1v1H8v-.7a.3.3 0 00-.3-.3H4.414l-.883-.883C3.67 2.042 3.83 2 4 2h1V1h2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDollarOffSmallIcon.displayName = \"DollarOffSmallIcon\";\nexport default DollarOffSmallIcon;\n","import React from \"react\";\n\n/**\n * @component DollarOffIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DollarOffIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DollarOffIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DollarOffIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M3 4.27L4.28 3 21 19.72 19.73 21l-3.67-3.67c-.62.67-1.52 1.22-2.56 1.49V21h-3v-2.18C8.47 18.31 7 16.79 7 15h2c0 1.08 1.37 2 3 2 1.13 0 2.14-.44 2.65-1.08l-2.97-2.97C9.58 12.42 7 11.75 7 9c0-.23 0-.45.07-.66L3 4.27m7.5.91V3h3v2.18C15.53 5.69 17 7.21 17 9h-2c0-1.08-1.37-2-3-2-.37 0-.72.05-1.05.13L9.4 5.58l1.1-.4z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDollarOffIcon.displayName = \"DollarOffIcon\";\nexport default DollarOffIcon;\n","import React from \"react\";\n\n/**\n * @component DollarSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DollarSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DollarSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DollarSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M8 10H7v1H5v-1H4a1 1 0 01-1-1V8h1v.7a.3.3 0 00.3.3h3.4a.3.3 0 00.3-.3V6.3a.3.3 0 00-.3-.3H4a1 1 0 01-1-1V3a1 1 0 011-1h1V1h2v1h1a1 1 0 011 1v1H8v-.7a.3.3 0 00-.3-.3H4.3a.3.3 0 00-.3.3v1.4a.3.3 0 00.3.3H8a1 1 0 011 1v3a1 1 0 01-1 1z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDollarSmallIcon.displayName = \"DollarSmallIcon\";\nexport default DollarSmallIcon;\n","import React from \"react\";\n\n/**\n * @component DollarIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DollarIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DollarIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DollarIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M7 15h2c0 1.08 1.37 2 3 2s3-.92 3-2c0-1.1-1.04-1.5-3.24-2.03C9.64 12.44 7 11.78 7 9c0-1.79 1.47-3.31 3.5-3.82V3h3v2.18C15.53 5.69 17 7.21 17 9h-2c0-1.08-1.37-2-3-2s-3 .92-3 2c0 1.1 1.04 1.5 3.24 2.03C14.36 11.56 17 12.22 17 15c0 1.79-1.47 3.31-3.5 3.82V21h-3v-2.18C8.47 18.31 7 16.79 7 15z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDollarIcon.displayName = \"DollarIcon\";\nexport default DollarIcon;\n","import React from \"react\";\n\n/**\n * @component DownloadIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DownloadIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DownloadIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DownloadIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M5 21h14v-2H5m14-9h-4V4H9v6H5l7 7 7-7z\" fillRule=\"nonzero\" />\n </svg>\n )\n);\nDownloadIcon.displayName = \"DownloadIcon\";\nexport default DownloadIcon;\n","import React from \"react\";\n\n/**\n * @component DriveIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DriveIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DriveIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DriveIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M7.71 3.5L1.15 15l3.43 6 6.55-11.5M9.73 15L6.3 21h13.12l3.43-6m-.57-1L15.42 2H8.57l6.86 12h6.85z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDriveIcon.displayName = \"DriveIcon\";\nexport default DriveIcon;\n","import React from \"react\";\n\n/**\n * @component DropboxIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DropboxIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DropboxIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DropboxIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M2 7.2l5 3.19 5-3.19L7 4 2 7.2m10 0l5 3.19 5-3.19L17 4l-5 3.2M2 13.55l5 3.19 5-3.19-5-3.2-5 3.2m15-3.2l-5 3.2 5 3.19 5-3.19-5-3.2M7.03 17.8l5.01 3.2 5-3.2-5-3.19-5.01 3.19z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDropboxIcon.displayName = \"DropboxIcon\";\nexport default DropboxIcon;\n","import React from \"react\";\n\n/**\n * @component DuplicateIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <DuplicateIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst DuplicateIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"DuplicateIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M20 20V8H8v12h12m2 0a2 2 0 01-2 2H8a2 2 0 01-2-2V8c0-1.11.89-2 2-2h12a2 2 0 012 2v12m-7-9v2h2v2h-2v2h-2v-2.001L11 15v-2l2-.001V11h2zM4 16H2V4a2 2 0 012-2h13v2H4v12z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nDuplicateIcon.displayName = \"DuplicateIcon\";\nexport default DuplicateIcon;\n","import React from \"react\";\n\n/**\n * @component EditMultipleIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <EditMultipleIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst EditMultipleIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"EditMultipleIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M17.83 11l1.41 1.41-7.125 7.125a.997.997 0 01-1.493-1.316l.083-.094L17.83 11zM10 13a1 1 0 01.117 1.993L10 15H4a1 1 0 01-.117-1.993L4 13h6zm10.83-5l1.41 1.41-1.83 1.83L19 9.83 20.83 8zM14 9a1 1 0 01.117 1.993L14 11H4a1 1 0 01-.117-1.993L4 9h10zm3-4a1 1 0 01.117 1.993L17 7H4a1 1 0 01-.117-1.993L4 5h13z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nEditMultipleIcon.displayName = \"EditMultipleIcon\";\nexport default EditMultipleIcon;\n","import React from \"react\";\n\n/**\n * @component EditIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <EditIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst EditIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"EditIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M3 5v14a2 2 0 002 2h14a2 2 0 002-2v-7h-2v7H5V5h7V3H5c-1.11 0-2 .89-2 2zm6.875 10.535L18 7.41 16.59 6l-8.125 8.125a.997.997 0 101.41 1.41zM19.17 6.24L21 4.41 19.59 3l-1.83 1.83 1.41 1.41z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nEditIcon.displayName = \"EditIcon\";\nexport default EditIcon;\n","import React from \"react\";\n\n/**\n * @component EmojiIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <EmojiIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst EmojiIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"EmojiIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 17.5c2.33 0 4.3-1.46 5.11-3.5H6.89c.8 2.04 2.78 3.5 5.11 3.5M8.5 11a1.5 1.5 0 100-3 1.5 1.5 0 000 3m7 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3M12 20a8 8 0 110-16 8 8 0 010 16m0-18C6.47 2 2 6.5 2 12a10 10 0 0010 10c5.523 0 10-4.477 10-10A10 10 0 0012 2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nEmojiIcon.displayName = \"EmojiIcon\";\nexport default EmojiIcon;\n","import React from \"react\";\n\n/**\n * @component EstimatePlusIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <EstimatePlusIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst EstimatePlusIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"EstimatePlusIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 2c5.523 0 10 4.477 10 10 0 .338-.017.672-.05 1.001L20 13v-1a8 8 0 10-8 8h1l.001 1.95c-.33.033-.663.05-1.001.05-5.523 0-10-4.477-10-10S6.477 2 12 2zm7 12v3h3v2h-3v3h-2v-3.001L14 19v-2l3-.001V14h2zm-7-8a6 6 0 016 6h-2a4 4 0 10-4 4v2a6 6 0 010-12zm0 4a2 2 0 110 4 2 2 0 010-4z\"\n />\n </svg>\n )\n);\nEstimatePlusIcon.displayName = \"EstimatePlusIcon\";\nexport default EstimatePlusIcon;\n","import React from \"react\";\n\n/**\n * @component EstimatesIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <EstimatesIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst EstimatesIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"EstimatesIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M12 20a8 8 0 100-16 8 8 0 000 16zm0 2C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-6a4 4 0 100-8 4 4 0 000 8zm0 2a6 6 0 110-12 6 6 0 010 12zm0-4a2 2 0 110-4 2 2 0 010 4z\" />\n <path\n stroke=\"#F4F5F7\"\n strokeWidth={0.1}\n opacity={0.01}\n d=\"M.05.05h23.9v23.9H.05z\"\n />\n </svg>\n )\n);\nEstimatesIcon.displayName = \"EstimatesIcon\";\nexport default EstimatesIcon;\n","import React from \"react\";\n\n/**\n * @component ExpandAllIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ExpandAllIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ExpandAllIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ExpandAllIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M16.72 15.264a.867.867 0 010 1.275L12 21l-4.72-4.461a.867.867 0 010-1.275.993.993 0 011.348 0L12 18.451l3.372-3.187a.993.993 0 011.349 0zM12 3l4.72 4.461a.867.867 0 010 1.275.993.993 0 01-1.348 0L12 5.549 8.628 8.736a.993.993 0 01-1.349 0 .867.867 0 010-1.275L12 3zm0 11a2 2 0 100-4 2 2 0 000 4z\"\n fillRule=\"nonzero\"\n />\n </svg>\n )\n);\nExpandAllIcon.displayName = \"ExpandAllIcon\";\nexport default ExpandAllIcon;\n","import React from \"react\";\n\n/**\n * @component ExpenseAddIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ExpenseAddIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ExpenseAddIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ExpenseAddIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M19 14v3h3v2h-3v3h-2v-3.001L14 19v-2l3-.001V14h2zm1-11a2 2 0 011.994 1.85L22 5v7h-2V5H4v14h8v2H4a2 2 0 01-1.995-1.85L2 19V5c0-1.06.81-1.919 1.85-1.995L4 3h16zm-9 4v1h2v2H9v1h3a1 1 0 01.993.883L13 12v3a1 1 0 01-.883.993L12 16h-1v1H9v-1H7v-2h4v-1H8a1 1 0 01-.993-.883L7 12V9a1 1 0 01.883-.993L8 8h1V7h2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nExpenseAddIcon.displayName = \"ExpenseAddIcon\";\nexport default ExpenseAddIcon;\n","import React from \"react\";\n\n/**\n * @component EyeOffSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <EyeOffSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst EyeOffSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"EyeOffSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M1.05 1.05l9.9 9.9-.707.707L8.205 9.62C7.517 9.866 6.775 10 6 10 3.273 10 .944 8.341 0 6a6.35 6.35 0 011.971-2.615L.343 1.757l.707-.707zM1.19 6C2.09 7.792 3.95 8.933 6 8.933c.463 0 .915-.058 1.35-.168L6.176 7.59c-.058.006-.117.009-.176.009-.904 0-1.636-.716-1.636-1.6 0-.07.004-.14.013-.207L2.736 4.15A5.273 5.273 0 001.189 6zM6 2c2.727 0 5.056 1.659 6 4a6.35 6.35 0 01-1.972 2.615l-.765-.766A5.273 5.273 0 0010.811 6C9.91 4.208 8.05 3.067 6 3.067c-.463 0-.916.058-1.35.168l-.857-.855A6.553 6.553 0 016 2zm0 2.4c.904 0 1.636.716 1.636 1.6 0 .07-.004.14-.013.208l-1.8-1.799C5.88 4.403 5.94 4.4 6 4.4z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nEyeOffSmallIcon.displayName = \"EyeOffSmallIcon\";\nexport default EyeOffSmallIcon;\n","import React from \"react\";\n\n/**\n * @component EyeOffIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <EyeOffIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst EyeOffIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"EyeOffIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M2 5.27L3.28 4 20 20.72 18.73 22l-3.08-3.08c-1.15.38-2.37.58-3.65.58-5 0-9.27-3.11-11-7.5.69-1.76 1.79-3.31 3.19-4.54L2 5.27M12 9a3 3 0 012.83 4L11 9.17A3 3 0 0112 9m0-4.5c5 0 9.27 3.11 11 7.5a11.79 11.79 0 01-4 5.19l-1.42-1.43A9.862 9.862 0 0020.82 12 9.821 9.821 0 0012 6.5c-1.09 0-2.16.18-3.16.5L7.3 5.47c1.44-.62 3.03-.97 4.7-.97M3.18 12A9.821 9.821 0 0012 17.5c.69 0 1.37-.07 2-.21L11.72 15A3.064 3.064 0 019 12.28L5.6 8.87c-.99.85-1.82 1.91-2.42 3.13z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nEyeOffIcon.displayName = \"EyeOffIcon\";\nexport default EyeOffIcon;\n","import React from \"react\";\n\n/**\n * @component EyeSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <EyeSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst EyeSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"EyeSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M6 4.4c.904 0 1.636.716 1.636 1.6 0 .884-.732 1.6-1.636 1.6-.904 0-1.636-.716-1.636-1.6 0-.884.732-1.6 1.636-1.6M6 2c2.727 0 5.056 1.659 6 4-.944 2.341-3.273 4-6 4S.944 8.341 0 6c.944-2.341 3.273-4 6-4M1.19 6C2.09 7.792 3.95 8.933 6 8.933S9.91 7.792 10.81 6C9.91 4.208 8.05 3.067 6 3.067S2.09 4.208 1.19 6z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nEyeSmallIcon.displayName = \"EyeSmallIcon\";\nexport default EyeSmallIcon;\n","import React from \"react\";\n\n/**\n * @component EyeIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <EyeIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst EyeIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"EyeIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 9a3 3 0 110 6 3 3 0 010-6m0-4.5c5 0 9.27 3.11 11 7.5-1.73 4.39-6 7.5-11 7.5S2.73 16.39 1 12c1.73-4.39 6-7.5 11-7.5M3.18 12a9.821 9.821 0 0017.64 0 9.821 9.821 0 00-17.64 0z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nEyeIcon.displayName = \"EyeIcon\";\nexport default EyeIcon;\n","import React from \"react\";\n\n/**\n * @component FilterIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <FilterIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst FilterIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"FilterIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M7 13h10a1 1 0 000-2H7a1 1 0 000 2zM3 7a1 1 0 001 1h16a1 1 0 000-2H4a1 1 0 00-1 1zm8 11h2a1 1 0 000-2h-2a1 1 0 000 2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nFilterIcon.displayName = \"FilterIcon\";\nexport default FilterIcon;\n","import React from \"react\";\n\n/**\n * @component FolderMoveIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <FolderMoveIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst FolderMoveIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"FolderMoveIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M10 4l2 2h8a2 2 0 011.995 1.851L22 8v10c0 1.06-.81 1.919-1.85 1.995L20 20H4a2 2 0 01-1.994-1.85L2 18V6a2 2 0 011.851-1.995L4 4h6zm10 4H4v10h16V8zm-10 2l4 3-4 3v-2H6v-2h4v-2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nFolderMoveIcon.displayName = \"FolderMoveIcon\";\nexport default FolderMoveIcon;\n","import React from \"react\";\n\n/**\n * @component FolderOutlineIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <FolderOutlineIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst FolderOutlineIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"FolderOutlineIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M20 18H4V8h16m0-2h-8l-2-2H4c-1.11 0-2 .89-2 2v12a2 2 0 002 2h16a2 2 0 002-2V8a2 2 0 00-2-2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nFolderOutlineIcon.displayName = \"FolderOutlineIcon\";\nexport default FolderOutlineIcon;\n","import React from \"react\";\n\n/**\n * @component GiftIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <GiftIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst GiftIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"GiftIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M22 12v8a2 2 0 01-2 2H4a2 2 0 01-2-2v-8a1 1 0 01-1-1V8a2 2 0 012-2h3.17A3 3 0 019 2c1 0 1.88.5 2.43 1.24v-.01L12 4l.57-.77v.01C13.12 2.5 14 2 15 2a3 3 0 012.83 4H21a2 2 0 012 2v3a1 1 0 01-1 1zM4 20h7v-8H4v8zm16 0v-8h-7v8h7zM9 4a1 1 0 100 2 1 1 0 000-2zm6 0a1 1 0 100 2 1 1 0 000-2zM3 8v2h8V8H3zm10 0v2h8V8h-8z\"\n />\n </svg>\n )\n);\nGiftIcon.displayName = \"GiftIcon\";\nexport default GiftIcon;\n","import React from \"react\";\n\n/**\n * @component HashtagIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <HashtagIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst HashtagIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"HashtagIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.33 21l.719-4H2l.354-2h4.049l1.073-6H3.427l.354-2H7.83l.719-4h2.024l-.719 4h6.073l.719-4h2.024l-.719 4H22l-.354 2h-4.049l-1.073 6h4.049l-.354 2H16.17l-.719 4h-2.024l.719-4H8.073l-.719 4H5.33zM9.5 9l-1.073 6H14.5l1.073-6H9.5z\"\n />\n </svg>\n )\n);\nHashtagIcon.displayName = \"HashtagIcon\";\nexport default HashtagIcon;\n","import React from \"react\";\n\n/**\n * @component HelpIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <HelpIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst HelpIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"HelpIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 4a8 8 0 100 16 8 8 0 000-16zm0-2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm-1 13h2v2h-2v-2zm2-5a1 1 0 00-2 0H9a3 3 0 114 2.83V14h-2v-1a2 2 0 011.276-1.865c.572-.311.724-.653.724-1.135z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nHelpIcon.displayName = \"HelpIcon\";\nexport default HelpIcon;\n","import React from \"react\";\n\n/**\n * @component ImageIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ImageIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ImageIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={20}\n height={16}\n viewBox=\"0 0 20 16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ImageIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M18 0a2 2 0 011.994 1.85L20 2v12a2 2 0 01-1.85 1.995L18 16H2a2 2 0 01-1.995-1.85L0 14V2A2 2 0 011.85.005L2 0h16zm0 2H2v12h16V2zm-5.5 4l4.5 6H3l3.5-4.5 2.5 3L12.5 6zm-8-3a1.5 1.5 0 110 3 1.5 1.5 0 010-3z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nImageIcon.displayName = \"ImageIcon\";\nexport default ImageIcon;\n","import React from \"react\";\n\n/**\n * @component InfoSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <InfoSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst InfoSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={15}\n height={15}\n viewBox=\"0 0 15 15\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"InfoSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M7.5 14a6.5 6.5 0 100-13 6.5 6.5 0 000 13zm0 1a7.5 7.5 0 110-15 7.5 7.5 0 010 15zM7 6h1v6H7V6zm0-3h1v1H7V3z\"\n fillRule=\"nonzero\"\n />\n </svg>\n )\n);\nInfoSmallIcon.displayName = \"InfoSmallIcon\";\nexport default InfoSmallIcon;\n","import React from \"react\";\n\n/**\n * @component InfoIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <InfoIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst InfoIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"InfoIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 100 16 8 8 0 000-16zm-1 5V7h2v2h-2zm0 8v-6h2v6h-2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nInfoIcon.displayName = \"InfoIcon\";\nexport default InfoIcon;\n","import React from \"react\";\n\n/**\n * @component InsertLinkIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <InsertLinkIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst InsertLinkIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"InsertLinkIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1 0 1.71-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nInsertLinkIcon.displayName = \"InsertLinkIcon\";\nexport default InsertLinkIcon;\n","import React from \"react\";\n\n/**\n * @component IntegrationsIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <IntegrationsIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst IntegrationsIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"IntegrationsIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M10 6H5v13h13v-5h-8V6zm2 6h8v7a2 2 0 01-2 2H5a2 2 0 01-2-2V6a2 2 0 012-2h7v8zm4-7v3h3V5h-3zm-2-2h5a2 2 0 012 2v5h-7V3z\" />\n <path\n stroke=\"#F4F5F7\"\n strokeWidth={0.1}\n opacity={0.01}\n d=\"M.05.05h23.9v23.9H.05z\"\n />\n </svg>\n )\n);\nIntegrationsIcon.displayName = \"IntegrationsIcon\";\nexport default IntegrationsIcon;\n","import React from \"react\";\n\n/**\n * @component InvoicesIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <InvoicesIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst InvoicesIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"InvoicesIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M15.19 4H5v16h14V7.891L15.19 4zM5 2h11.03L21 7.075V20a2 2 0 01-2 2H5a2 2 0 01-2-2V4a2 2 0 012-2zm4.974 11.752c-.01.532.13.952.42 1.26.29.308.649.504 1.078.588v-2.926a3.017 3.017 0 00-.448-.126 11.322 11.322 0 01-1.022-.329 3.337 3.337 0 01-.903-.504 2.325 2.325 0 01-.637-.784c-.159-.313-.238-.702-.238-1.169 0-.476.091-.896.273-1.26.182-.364.422-.67.721-.917a3.291 3.291 0 011.036-.574 4.667 4.667 0 011.218-.245V5.688h.826v1.078c.42.047.814.138 1.183.273.369.135.693.322.973.56.28.238.509.534.686.889.177.355.28.775.308 1.26H13.46a1.472 1.472 0 00-.35-.952c-.224-.261-.495-.392-.812-.392v2.478l.343.084a9 9 0 01.371.098c.69.187 1.223.418 1.596.693.373.275.649.562.826.861.177.299.282.597.315.896.033.299.049.565.049.798 0 .205-.051.464-.154.777a2.62 2.62 0 01-.553.917c-.266.299-.623.565-1.071.798-.448.233-1.022.373-1.722.42v1.19h-.826v-1.19c-1.045-.075-1.862-.397-2.45-.966-.588-.57-.929-1.405-1.022-2.506h1.974zm2.324 1.848c.168-.019.343-.058.525-.119a1.63 1.63 0 00.49-.259 1.38 1.38 0 00.357-.413c.093-.163.14-.357.14-.581 0-.364-.114-.637-.343-.819-.229-.182-.618-.348-1.169-.497V15.6zm-.826-7.196a1.54 1.54 0 00-.462.07 1.22 1.22 0 00-.406.217c-.121.098-.217.22-.287.364-.07.145-.105.315-.105.511 0 .308.098.546.294.714.196.168.518.303.966.406V8.404z\" />\n <path\n stroke=\"#F4F5F7\"\n strokeWidth={0.1}\n opacity={0.01}\n d=\"M.05.05h23.9v23.9H.05z\"\n />\n </svg>\n )\n);\nInvoicesIcon.displayName = \"InvoicesIcon\";\nexport default InvoicesIcon;\n","import React from \"react\";\n\n/**\n * @component LabelsIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <LabelsIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst LabelsIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"LabelsIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M17 2a3 3 0 013 3v17l-8-4-8 4V5a3 3 0 013-3h10zm0 2H7a1 1 0 00-.993.883L6 5v13.764l6-3 6 3V5a1 1 0 00-.883-.993L17 4z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nLabelsIcon.displayName = \"LabelsIcon\";\nexport default LabelsIcon;\n","import React from \"react\";\n\n/**\n * @component LockSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <LockSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst LockSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"LockSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M7 0a2 2 0 012 2v1h1a1 1 0 011 1v7a1 1 0 01-1 1H2a1 1 0 01-1-1V4c0-.555.445-1 1-1h1V2a2 2 0 012-2h2zm3 4H2v7h8V4zM7 6v3H5V6h2zm0-5H5a1 1 0 00-.993.883L4 2v1h4V2a1 1 0 00-.883-.993L7 1z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nLockSmallIcon.displayName = \"LockSmallIcon\";\nexport default LockSmallIcon;\n","import React from \"react\";\n\n/**\n * @component LockIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <LockIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst LockIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"LockIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 17a2 2 0 01-2-2c0-1.11.89-2 2-2a2 2 0 110 4m6 3V10H6v10h12m0-12a2 2 0 012 2v10a2 2 0 01-2 2H6a2 2 0 01-2-2V10c0-1.11.89-2 2-2h1V6a5 5 0 1110 0v2h1m-6-5a3 3 0 00-3 3v2h6V6a3 3 0 00-3-3z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nLockIcon.displayName = \"LockIcon\";\nexport default LockIcon;\n","import React from \"react\";\n\n/**\n * @component MarkerIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <MarkerIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst MarkerIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"MarkerIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 17a1 1 0 010 2H4a1 1 0 010-2h8zm0-4a1 1 0 010 2H4a1 1 0 010-2h8zm10-1a1 1 0 01-.883.993l-5.25-.002c-.214 0-.442-.06-.626-.2L13.436 11H4a1 1 0 010-2h9.592l1.611-1.604A.998.998 0 0116 7h5a1 1 0 011 1v4zm-5.579-3.001l-1.079 1.079.921.921 3.736.001V9l-3.578-.001zM12 5a1 1 0 010 2H4a1 1 0 110-2h8z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nMarkerIcon.displayName = \"MarkerIcon\";\nexport default MarkerIcon;\n","import React from \"react\";\n\n/**\n * @component MessageAddIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <MessageAddIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst MessageAddIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"MessageAddIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M11 4v2H6v11.26L10.39 15H18v-2h2v2a2 2 0 01-2 2H9.995L4 21V6a2 2 0 012-2h5zm7-1v3h3v2h-3v3h-2V8h-3V6h3V3h2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nMessageAddIcon.displayName = \"MessageAddIcon\";\nexport default MessageAddIcon;\n","import React from \"react\";\n\n/**\n * @component MessageEmptyIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <MessageEmptyIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst MessageEmptyIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"MessageEmptyIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M22 4v12a2 2 0 01-2 2H7.995L2 22V4a2 2 0 012-2h16a2 2 0 012 2zm-2 0H4v14.26L7.39 16H20V4z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nMessageEmptyIcon.displayName = \"MessageEmptyIcon\";\nexport default MessageEmptyIcon;\n","import React from \"react\";\n\n/**\n * @component MessageSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <MessageSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst MessageSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"MessageSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2v8H3.998L1 12V2h11zm-1 1H2v7.13L3.695 9H11V3zM6 6v1H3V6h3zm4-2v1H3V4h7z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nMessageSmallIcon.displayName = \"MessageSmallIcon\";\nexport default MessageSmallIcon;\n","import React from \"react\";\n\n/**\n * @component MessageIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <MessageIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst MessageIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"MessageIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M22 4v12a2 2 0 01-2 2H7.995L2 22V4a2 2 0 012-2h16a2 2 0 012 2zm-2 0H4v14.26L7.39 16H20V4zm-8 6v2H6v-2h6zm6-4v2H6V6h12z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nMessageIcon.displayName = \"MessageIcon\";\nexport default MessageIcon;\n","import React from \"react\";\n\n/**\n * @component MinusIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <MinusIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst MinusIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"MinusIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <rect x={5} y={11} width={14} height={2} rx={1} fillRule=\"evenodd\" />\n </svg>\n )\n);\nMinusIcon.displayName = \"MinusIcon\";\nexport default MinusIcon;\n","import React from \"react\";\n\n/**\n * @component MoveTriggerIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <MoveTriggerIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst MoveTriggerIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={10}\n height={10}\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"MoveTriggerIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M0 0h10v1H0zm0 3h10v1H0zm0 3h10v1H0zm0 3h10v1H0z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nMoveTriggerIcon.displayName = \"MoveTriggerIcon\";\nexport default MoveTriggerIcon;\n","import React from \"react\";\n\n/**\n * @component MyWorkIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <MyWorkIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst MyWorkIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"MyWorkIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M12 12a2 2 0 100-4 2 2 0 000 4zm0 2a4 4 0 110-8 4 4 0 010 8zm-7 5c.4-1.647 1.356-2.88 2.53-3.265A14.25 14.25 0 0112 15c1.49 0 2.98.245 4.47.735C17.645 16.12 18.6 17.353 19 19h-2.085c-.274-.757-.696-1.243-1.068-1.365A12.252 12.252 0 0012 17c-1.275 0-2.555.21-3.847.635-.372.122-.794.608-1.068 1.365H5zM5 4a1 1 0 00-1 1v14a1 1 0 001 1h14a1 1 0 001-1V5a1 1 0 00-1-1H5zm0-2h14a3 3 0 013 3v14a3 3 0 01-3 3H5a3 3 0 01-3-3V5a3 3 0 013-3z\" />\n <path\n stroke=\"#F4F5F7\"\n strokeWidth={0.1}\n opacity={0.01}\n d=\"M.05.05h23.9v23.9H.05z\"\n />\n </svg>\n )\n);\nMyWorkIcon.displayName = \"MyWorkIcon\";\nexport default MyWorkIcon;\n","import React from \"react\";\n\n/**\n * @component NoteAddIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <NoteAddIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst NoteAddIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"NoteAddIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M7 14v3h3v2H7v3H5v-3.001L2 19v-2l3-.001V14h2zM19 3c1.05 0 1.918.82 1.994 1.851L21 5v10l-6 6h-3v-2h2v-5h5V5H5v7H3V5c0-1.05.82-1.918 1.851-1.994L5 3h14zm-7 8v2H8v-2h4zm5-4v2H7V7h10z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nNoteAddIcon.displayName = \"NoteAddIcon\";\nexport default NoteAddIcon;\n","import React from \"react\";\n\n/**\n * @component NoteIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <NoteIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst NoteIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"NoteIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M19 5v9h-5v5H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h10l6-6V5c0-1.1-.9-2-2-2zm-7 10H7v-2h5v2zm5-4H7V7h10v2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nNoteIcon.displayName = \"NoteIcon\";\nexport default NoteIcon;\n","import React from \"react\";\n\n/**\n * @component NotificationBellIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <NotificationBellIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst NotificationBellIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"NotificationBellIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M21 19H3v-3.9l.7-.2C4.5 14.6 5 13.8 5 13v-2c0-2.7 1.6-5.2 4-6.3.2-1.6 1.5-2.7 3-2.7s2.8 1.1 3 2.7c2.4 1.2 4 3.6 4 6.3v2c0 .8.5 1.6 1.3 1.9l.7.2V19zM5 17h14v-.5c-1.2-.7-2-2-2-3.5v-2c0-1.9-1.1-3.7-2.9-4.5l-1-.5-.1-1.1c-.1-.5-.5-.9-1-.9s-.9.4-1 .9L10.9 6l-1 .5C8.1 7.3 7 9.1 7 11v2c0 1.4-.8 2.8-2 3.5v.5zm8 3h2c0 1.7-1.3 3-3 3s-3-1.3-3-3h2c0 .6.4 1 1 1s1-.4 1-1zm0 0h2c0 1.7-1.3 3-3 3s-3-1.3-3-3h2c0 .6.4 1 1 1s1-.4 1-1z\" />\n </svg>\n )\n);\nNotificationBellIcon.displayName = \"NotificationBellIcon\";\nexport default NotificationBellIcon;\n","import React from \"react\";\n\n/**\n * @component OpenExpandedIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <OpenExpandedIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst OpenExpandedIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"OpenExpandedIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3m-2 16H5V5h5V3H5a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-5h-2v5z\"\n fillRule=\"nonzero\"\n />\n </svg>\n )\n);\nOpenExpandedIcon.displayName = \"OpenExpandedIcon\";\nexport default OpenExpandedIcon;\n","import React from \"react\";\n\n/**\n * @component OpenSheetIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <OpenSheetIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst OpenSheetIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"OpenSheetIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 5a1 1 0 00-1 1v6L8 9v2.25H5v1.5h3V15l3-3v6a1 1 0 001 1h6a1 1 0 001-1V6a1 1 0 00-1-1h-6zm5 2h-4v10h4V7z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2 4a2 2 0 012-2h16a2 2 0 012 2v16a2 2 0 01-2 2H4a2 2 0 01-2-2V4zm18 0H4v16h16V4z\"\n />\n </svg>\n )\n);\nOpenSheetIcon.displayName = \"OpenSheetIcon\";\nexport default OpenSheetIcon;\n","import React from \"react\";\n\n/**\n * @component OrderFirstIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <OrderFirstIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst OrderFirstIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"OrderFirstIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M4 4h16a1 1 0 011 1v2a1 1 0 01-1 1H4a1 1 0 01-1-1V5a1 1 0 011-1zm2 14h12a1 1 0 010 2H6a1 1 0 010-2zm0-4h12a1 1 0 010 2H6a1 1 0 010-2zm0-4h12a1 1 0 010 2H6a1 1 0 010-2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nOrderFirstIcon.displayName = \"OrderFirstIcon\";\nexport default OrderFirstIcon;\n","import React from \"react\";\n\n/**\n * @component PaidSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PaidSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PaidSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PaidSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M11.243 8.121l.707.707-2.829 2.829L7 9.536l.707-.708 1.414 1.414 2.122-2.12zM5.5 0a5.5 5.5 0 015.293 7l-1.05.001A4.5 4.5 0 106 9.972v1.006A5.5 5.5 0 115.5 0zM6 2v1h1v1H5v1h2v3H6v1H5V8H4V7h2V6H4V3h1V2h1z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nPaidSmallIcon.displayName = \"PaidSmallIcon\";\nexport default PaidSmallIcon;\n","import React from \"react\";\n\n/**\n * @component PauseCircleOutlineIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PauseCircleOutlineIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PauseCircleOutlineIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PauseCircleOutlineIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 100 16 8 8 0 000-16zm-1 5v6H9V9h2zm4 0v6h-2V9h2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nPauseCircleOutlineIcon.displayName = \"PauseCircleOutlineIcon\";\nexport default PauseCircleOutlineIcon;\n","import React from \"react\";\n\n/**\n * @component PauseIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PauseIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PauseIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PauseIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 3a9 9 0 110 18 9 9 0 010-18zm-1 6H9v6h2V9zm4 0h-2v6h2V9z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nPauseIcon.displayName = \"PauseIcon\";\nexport default PauseIcon;\n","import React from \"react\";\n\n/**\n * @component PauseSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PauseSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PauseSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PauseSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M8 7h3v10H8V7zm5 0h3v10h-3V7z\" fillRule=\"evenodd\" />\n </svg>\n )\n);\nPauseSmallIcon.displayName = \"PauseSmallIcon\";\nexport default PauseSmallIcon;\n","import React from \"react\";\n\n/**\n * @component PencilSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PencilSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PencilSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PencilSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M9 3.47L2.46 10H2v-.46L8.53 3l.47.47zM9.98.145l-.915.915 1.875 1.875.915-.915a.498.498 0 000-.705l-1.17-1.17a.5.5 0 00-.705 0zm-1.45 1.45L1 9.125V11h1.875l7.53-7.53L8.53 1.595z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nPencilSmallIcon.displayName = \"PencilSmallIcon\";\nexport default PencilSmallIcon;\n","import React from \"react\";\n\n/**\n * @component PencilIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PencilIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PencilIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PencilIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M14.06 9l.94.94L5.92 19H5v-.92L14.06 9m3.6-6c-.25 0-.51.1-.7.29l-1.83 1.83 3.75 3.75 1.83-1.83c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.2-.2-.45-.29-.71-.29m-3.6 3.19L3 17.25V21h3.75L17.81 9.94l-3.75-3.75z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nPencilIcon.displayName = \"PencilIcon\";\nexport default PencilIcon;\n","import React from \"react\";\n\n/**\n * @component PendingPaymentSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PendingPaymentSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PendingPaymentSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PendingPaymentSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M10 5v1h1v1H9v1h2v3h-1v1H9v-1H8v-1h2V9H8V6h1V5h1zM8 1v3L6 6l1 1v1.25l-2-2-2 2V10h4v1H2V8l2-2-2-2V1h6zM7 2H3v1.75l2 2 2-2V2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nPendingPaymentSmallIcon.displayName = \"PendingPaymentSmallIcon\";\nexport default PendingPaymentSmallIcon;\n","import React from \"react\";\n\n/**\n * @component PeopleIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PeopleIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PeopleIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PeopleIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M20.998 16.775l-.148-.387a2.001 2.001 0 00-1.601-1.27 12.961 12.961 0 00-2.317-.105c-.253-.76-.683-1.527-.932-1.937a14.912 14.912 0 013.518.06 4.003 4.003 0 013.203 2.54l.147.387a2 2 0 01-1.614 2.696 27.849 27.849 0 01-3.248.24c0-.355-.004-.741-.127-1.115L17.587 17a27.311 27.311 0 003.41-.225zM17.5 10a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm0 2a3.5 3.5 0 110-7 3.5 3.5 0 010 7zM5.437 14.315a2 2 0 00-1.494 1.333L3 18.51c1.826.327 3.65.49 5.473.49a30.99 30.99 0 005.474-.49l-.943-2.862a2 2 0 00-1.494-1.333A14.924 14.924 0 008.473 14c-1.01 0-2.021.105-3.036.315zm-.406-1.958A16.924 16.924 0 018.473 12c1.148 0 2.295.119 3.443.357a4 4 0 012.987 2.665l.943 2.862A2 2 0 0114.3 20.48a33.015 33.015 0 01-5.827.52c-1.941 0-3.883-.174-5.825-.521a2 2 0 01-1.547-2.595l.942-2.862a4 4 0 012.988-2.665zM8.474 9a2.5 2.5 0 100-5 2.5 2.5 0 000 5zm0 2a4.5 4.5 0 110-9 4.5 4.5 0 010 9z\" />\n <path\n stroke=\"#F4F5F7\"\n strokeWidth={0.1}\n opacity={0.01}\n d=\"M.05.05h23.9v23.9H.05z\"\n />\n </svg>\n )\n);\nPeopleIcon.displayName = \"PeopleIcon\";\nexport default PeopleIcon;\n","import React from \"react\";\n\n/**\n * @component PersonCircleOffIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PersonCircleOffIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PersonCircleOffIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PersonCircleOffIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2l.28.004.316.013.244.018.402.041.14.019.267.04.162.029.19.036a10.013 10.013 0 017.753 7.587l.062.3.042.233.044.276.031.244.017.154.022.257.02.367c.006.127.008.254.008.382l-.002.207-.01.299-.022.323-.04.397-.032.238-.059.354-.062.308-.05.22-.046.184a9.93 9.93 0 01-.12.422l-.092.283-.13.357-.113.283-.094.215-.161.341-.136.265-.178.32-.13.217c-.145.237-.302.47-.47.696l-.274.356-.229.273-.14.157-.258.274-.226.224-.104.099-.238.215-.312.262-.398.305-.284.199-.33.213a9.99 9.99 0 01-.35.208l-.266.145-.383.19-.291.132-.346.142-.358.132-.31.1-.402.116-.138.035-.187.045-.347.072-.443.074-.305.04-.16.016-.423.032-.271.011L12 22l-.2-.002-.331-.012-.373-.026-.167-.017-.164-.019-.246-.033-.336-.056-.3-.06-.31-.072-.415-.113-.297-.093-.323-.112-.284-.11-.343-.147-.266-.124-.28-.14-.159-.086-.328-.188-.177-.108-.297-.193-.383-.272-.316-.247-.316-.267-.333-.307-.208-.207-.247-.262-.17-.192-.245-.294-.18-.233a10.017 10.017 0 01-.361-.511l-.171-.27-.063-.103-.1-.17-.142-.259-.198-.392-.1-.213-.126-.295-.11-.281a9.91 9.91 0 01-.312-.984l-.096-.403-.062-.309-.059-.354-.06-.49-.028-.376-.013-.278A10.18 10.18 0 012 12C2 6.477 6.477 2 12 2zm0 16c-1.157 0-2.315.119-3.476.357a1.998 1.998 0 00-.831.385c.264.17.538.323.822.46l.287.133.295.122.356.13.292.09.146.042.27.068.248.055.281.051c.108.018.216.034.325.047l.38.037.28.017L12 20l.368-.008.167-.01.167-.012c.12-.01.24-.024.36-.04l.289-.044.24-.044.248-.054.313-.08.16-.047.234-.075.3-.107.395-.163.247-.114.304-.156.214-.12a8 8 0 00.3-.183 1.984 1.984 0 00-.83-.386A17.249 17.249 0 0012 18zm-8-6l.008.352.014.24.025.28.024.196.04.265.043.236.063.29.046.184.083.29.034.11.113.329.17.42.07.158c.09.193.186.382.29.567l.202.34.126.194.241.34.18.23.134.162.235.264a3.988 3.988 0 011.981-1.05A19.248 19.248 0 0112 16c1.05 0 2.102.088 3.152.263L13.57 14.68a4 4 0 01-5.25-5.25L5.814 6.927A7.967 7.967 0 004 12zm8-8a7.966 7.966 0 00-4.935 1.703l11.231 11.231.118-.152.18-.25.17-.258.097-.157.094-.16.14-.257.131-.263.103-.225.133-.321.119-.328.098-.313.104-.39.063-.291.053-.297c.02-.12.036-.242.05-.365l.03-.32.01-.181c.008-.135.011-.27.011-.406l-.012-.443a8.034 8.034 0 00-.078-.762l-.081-.449a8.012 8.012 0 00-5.843-6.097l-.422-.096-.353-.062-.358-.046-.477-.036L12 4zm-.117 8.997l-1.879-1.881L10 11a2 2 0 001.883 1.997zM12 7a4 4 0 013.92 4.804L11.194 7.08c.26-.053.53-.081.805-.081z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nPersonCircleOffIcon.displayName = \"PersonCircleOffIcon\";\nexport default PersonCircleOffIcon;\n","import React from \"react\";\n\n/**\n * @component PersonCircleIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PersonCircleIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PersonCircleIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PersonCircleIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2l.28.004.316.013.244.018.402.041.14.019.267.04.162.029.19.036a10.01 10.01 0 017.864 8.151L21.8 10l.046.244.056.352.031.244.017.154.022.257.02.367c.006.127.008.254.008.382l-.002.207-.01.299-.022.323-.04.397-.032.238-.059.354-.062.308-.05.22-.046.184a9.93 9.93 0 01-.12.422l-.092.283-.13.357-.113.283-.094.215-.161.341-.136.265-.178.32-.13.217c-.145.237-.302.47-.47.696l-.274.356-.229.273-.14.157-.258.274-.226.224-.104.099-.238.215-.312.262-.398.305-.284.199-.33.213a9.99 9.99 0 01-.35.208l-.266.145-.383.19-.291.132-.346.142-.358.132-.31.1-.402.116-.138.035-.187.045-.347.072-.443.074-.305.04-.16.016-.423.032-.271.011L12 22l-.2-.002-.331-.012-.373-.026-.167-.017-.164-.019-.246-.033-.336-.056-.3-.06-.31-.072-.415-.113-.297-.093-.323-.112-.284-.11-.343-.147-.266-.124-.28-.14-.159-.086-.328-.188-.177-.108-.297-.193-.383-.272-.316-.247-.316-.267-.333-.307-.208-.207-.247-.262-.17-.192-.245-.294-.18-.233a10.017 10.017 0 01-.361-.511l-.171-.27-.063-.103-.1-.17-.142-.259-.198-.392-.1-.213-.126-.295-.11-.281a9.91 9.91 0 01-.312-.984l-.096-.403-.062-.309-.059-.354-.06-.49-.028-.376-.013-.278A10.18 10.18 0 012 12C2 6.477 6.477 2 12 2zm0 16c-1.157 0-2.315.119-3.476.357a1.998 1.998 0 00-.831.385c.264.17.538.323.822.46l.287.133.295.122.356.13.292.09.146.042.27.068.248.055.281.051c.108.018.216.034.325.047l.38.037.28.017L12 20l.368-.008.167-.01.167-.012c.12-.01.24-.024.36-.04l.289-.044.24-.044.248-.054.313-.08.16-.047.234-.075.3-.107.395-.163.247-.114.304-.156.214-.12a8 8 0 00.3-.183 1.984 1.984 0 00-.83-.386A17.249 17.249 0 0012 18zm0-14a8 8 0 00-8 8l.008.352.014.24.025.28.024.196.04.265.043.236.063.29.046.184.083.29.034.11.113.329.17.42.07.158c.09.193.186.382.29.567l.202.34.126.194.241.34.18.23.134.162.235.264a3.988 3.988 0 011.981-1.05A19.248 19.248 0 0112 16c1.292 0 2.585.133 3.877.398.76.156 1.444.525 1.983 1.048l.236-.265.193-.236.125-.163.18-.25.17-.258.097-.157.094-.16.14-.257.131-.263.103-.225.133-.321.119-.328.098-.313.104-.39.063-.291.053-.297c.02-.12.036-.242.05-.365l.03-.32.01-.181c.008-.135.011-.27.011-.406l-.012-.443a8.034 8.034 0 00-.078-.762l-.081-.449a8.012 8.012 0 00-5.843-6.097l-.422-.096-.353-.062-.358-.046a8.054 8.054 0 00-.409-.033l.359.028-.213-.019-.214-.012L12 4zm0 3a4 4 0 110 8 4 4 0 010-8zm0 2a2 2 0 100 4 2 2 0 000-4z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nPersonCircleIcon.displayName = \"PersonCircleIcon\";\nexport default PersonCircleIcon;\n","import React from \"react\";\n\n/**\n * @component PersonPlusIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PersonPlusIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PersonPlusIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PersonPlusIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 13c1.382 0 2.764.119 4.145.357 1.687.29 3.06 1.306 3.598 2.665l1.135 2.862c.417 1.05-.27 2.18-1.534 2.526-.107.03-.217.052-.329.069A47.673 47.673 0 0112 22c-2.339 0-4.677-.174-7.015-.521-1.31-.195-2.181-1.234-1.947-2.321a1.73 1.73 0 01.083-.274l1.136-2.862c.539-1.359 1.91-2.375 3.597-2.665A24.402 24.402 0 0112 13zm0 2c-1.292 0-2.586.105-3.884.315-.896.145-1.624.653-1.91 1.333L5 19.51c2.335.327 4.668.49 7 .49a50.46 50.46 0 007-.49l-1.206-2.862c-.286-.68-1.014-1.188-1.91-1.333A24.237 24.237 0 0012 15zm0-13c.711 0 1.388.149 2 .416v2.349A3 3 0 1014.829 8h2.072A5.002 5.002 0 017 7a5 5 0 015-5zm8 0v2h2v2h-2v2h-2V5.999L16 6V4l2-.001V2h2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nPersonPlusIcon.displayName = \"PersonPlusIcon\";\nexport default PersonPlusIcon;\n","import React from \"react\";\n\n/**\n * @component PersonIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PersonIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PersonIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PersonIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 13c1.382 0 2.764.119 4.145.357 1.687.29 3.06 1.306 3.598 2.665l1.135 2.862c.417 1.05-.27 2.18-1.534 2.526-.107.03-.217.052-.329.069A47.673 47.673 0 0112 22c-2.339 0-4.677-.174-7.015-.521-1.31-.195-2.181-1.234-1.947-2.321a1.73 1.73 0 01.083-.274l1.136-2.862c.539-1.359 1.91-2.375 3.597-2.665A24.402 24.402 0 0112 13zm0 2c-1.292 0-2.586.105-3.884.315-.896.145-1.624.653-1.91 1.333L5 19.51c2.335.327 4.668.49 7 .49a50.46 50.46 0 007-.49l-1.206-2.862c-.286-.68-1.014-1.188-1.91-1.333A24.237 24.237 0 0012 15zm0-13a5 5 0 110 10 5 5 0 010-10zm0 2a3 3 0 100 6 3 3 0 000-6z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nPersonIcon.displayName = \"PersonIcon\";\nexport default PersonIcon;\n","import React from \"react\";\n\n/**\n * @component PlayCircleOutlineIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PlayCircleOutlineIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PlayCircleOutlineIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PlayCircleOutlineIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 100 16 8 8 0 000-16zM9.8 8l6.4 4-6.4 4V8z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nPlayCircleOutlineIcon.displayName = \"PlayCircleOutlineIcon\";\nexport default PlayCircleOutlineIcon;\n","import React from \"react\";\n\n/**\n * @component PlayIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PlayIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PlayIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PlayIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 3a9 9 0 110 18 9 9 0 010-18zm-2 6v6l5-3-5-3z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nPlayIcon.displayName = \"PlayIcon\";\nexport default PlayIcon;\n","import React from \"react\";\n\n/**\n * @component PlaySmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PlaySmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PlaySmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"PlaySmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M9 17V7l8 5z\" fillRule=\"evenodd\" />\n </svg>\n )\n);\nPlaySmallIcon.displayName = \"PlaySmallIcon\";\nexport default PlaySmallIcon;\n","import React from \"react\";\n\n/**\n * @component PriorityLowIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <PriorityLowIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst PriorityLowIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={24}\n height={24}\n data-testid=\"PriorityLowIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 17.25c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5-1.5-.67-1.5-1.5.67-1.5 1.5-1.5zm0-13.5c.748 0 1.363.57 1.432 1.3l.006.169L13 14.75h-2l-.438-9.501a1.439 1.439 0 011.24-1.485l.168-.014H12z\"\n />\n </svg>\n )\n);\nPriorityLowIcon.displayName = \"PriorityLowIcon\";\nexport default PriorityLowIcon;\n","import React from \"react\";\n\n/**\n * @component ProjectAddIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ProjectAddIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ProjectAddIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ProjectAddIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M4 4v5h5V4H4zm0-2h5a2 2 0 012 2v5a2 2 0 01-2 2H4a2 2 0 01-2-2V4a2 2 0 012-2zm0 13v5h5v-5H4zm0-2h5a2 2 0 012 2v5a2 2 0 01-2 2H4a2 2 0 01-2-2v-5a2 2 0 012-2zm11-9v5h5V4h-5zm4 10v3h3v2h-3v3h-2v-3h-3v-2h3v-3h2zm1-12a2 2 0 012 2v5a2 2 0 01-2 2h-5a2 2 0 01-2-2V4a2 2 0 012-2h5z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nProjectAddIcon.displayName = \"ProjectAddIcon\";\nexport default ProjectAddIcon;\n","import React from \"react\";\n\n/**\n * @component ProjectTemplateAddIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ProjectTemplateAddIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ProjectTemplateAddIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ProjectTemplateAddIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M20 15v3h3v2h-3v3h-2v-3h-3v-2h3v-3h2zm0-7a2 2 0 012 2v3h-2v-3H10v10h3v2h-3a2 2 0 01-2-2V10a2 2 0 012-2h10zM7 5h10a2 2 0 011.995 1.85L19 7H7v12a2 2 0 01-2-2V7a2 2 0 012-2zm7-3a2 2 0 011.995 1.85L16 4H4v12a2 2 0 01-2-2V4a2 2 0 012-2h10z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nProjectTemplateAddIcon.displayName = \"ProjectTemplateAddIcon\";\nexport default ProjectTemplateAddIcon;\n","import React from \"react\";\n\n/**\n * @component ProjectTemplateConvertIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ProjectTemplateConvertIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ProjectTemplateConvertIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ProjectTemplateConvertIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M20 4a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2v-8h2v8h14V6h-8V4h8zM8 1a2 2 0 012 2v5a2 2 0 01-2 2H3a2 2 0 01-2-2V3a2 2 0 012-2h5zm8.37 10.121l-1.906 1.93L17 15.585 15.586 17l-2.536-2.536-1.929 1.907v-5.25h5.25zM8 3v5H3V3h5z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nProjectTemplateConvertIcon.displayName = \"ProjectTemplateConvertIcon\";\nexport default ProjectTemplateConvertIcon;\n","import React from \"react\";\n\n/**\n * @component ProjectTemplateIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ProjectTemplateIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ProjectTemplateIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ProjectTemplateIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M20 4a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2v-8h2v8h14V6h-8V4h8zm-8.464 6.121l2.535 2.536L16 10.75V16h-5.249l1.906-1.929-2.536-2.535 1.415-1.415zM8 1a2 2 0 012 2v5a2 2 0 01-2 2H3a2 2 0 01-2-2V3a2 2 0 012-2h5zm0 2H3v5h5V3z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nProjectTemplateIcon.displayName = \"ProjectTemplateIcon\";\nexport default ProjectTemplateIcon;\n","import React from \"react\";\n\n/**\n * @component ProjectsIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ProjectsIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ProjectsIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ProjectsIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M4 4v5h5V4H4zm0-2h5a2 2 0 012 2v5a2 2 0 01-2 2H4a2 2 0 01-2-2V4a2 2 0 012-2zm0 13v5h5v-5H4zm0-2h5a2 2 0 012 2v5a2 2 0 01-2 2H4a2 2 0 01-2-2v-5a2 2 0 012-2zm11-9v5h5V4h-5zm0-2h5a2 2 0 012 2v5a2 2 0 01-2 2h-5a2 2 0 01-2-2V4a2 2 0 012-2zm0 13v5h5v-5h-5zm0-2h5a2 2 0 012 2v5a2 2 0 01-2 2h-5a2 2 0 01-2-2v-5a2 2 0 012-2z\" />\n <path\n stroke=\"#F4F5F7\"\n strokeWidth={0.1}\n opacity={0.01}\n d=\"M.05.05h23.9v23.9H.05z\"\n />\n </svg>\n )\n);\nProjectsIcon.displayName = \"ProjectsIcon\";\nexport default ProjectsIcon;\n","import React from \"react\";\n\n/**\n * @component RadioBlankIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <RadioBlankIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst RadioBlankIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"RadioBlankIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 100 16 8 8 0 000-16z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nRadioBlankIcon.displayName = \"RadioBlankIcon\";\nexport default RadioBlankIcon;\n","import React from \"react\";\n\n/**\n * @component RadioButtonIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <RadioButtonIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst RadioButtonIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={16}\n height={16}\n viewBox=\"0 0 16 16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"RadioButtonIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <g fillRule=\"evenodd\">\n <circle stroke=\"#5D2BFF\" cx={8} cy={8} r={7.5} />\n <circle cx={8} cy={8} r={5} />\n </g>\n </svg>\n )\n);\nRadioButtonIcon.displayName = \"RadioButtonIcon\";\nexport default RadioButtonIcon;\n","import React from \"react\";\n\n/**\n * @component RearangeIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <RearangeIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst RearangeIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"RearangeIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M9 16a2 2 0 110 4 2 2 0 010-4zm6 0a2 2 0 110 4 2 2 0 010-4zm-6-6a2 2 0 110 4 2 2 0 010-4zm6 0a2 2 0 110 4 2 2 0 010-4zM9 4a2 2 0 110 4 2 2 0 010-4zm6 0a2 2 0 110 4 2 2 0 010-4z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nRearangeIcon.displayName = \"RearangeIcon\";\nexport default RearangeIcon;\n","import React from \"react\";\n\n/**\n * @component RearrangeSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <RearrangeSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst RearrangeSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"RearrangeSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M4 8a1 1 0 110 2 1 1 0 010-2zm4 0a1 1 0 110 2 1 1 0 010-2zM4 5a1 1 0 110 2 1 1 0 010-2zm4 0a1 1 0 110 2 1 1 0 010-2zM4 2a1 1 0 110 2 1 1 0 010-2zm4 0a1 1 0 110 2 1 1 0 010-2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nRearrangeSmallIcon.displayName = \"RearrangeSmallIcon\";\nexport default RearrangeSmallIcon;\n","import React from \"react\";\n\n/**\n * @component RecurringCheckmarkSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <RecurringCheckmarkSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst RecurringCheckmarkSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"RecurringCheckmarkSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M1 5.874a5.002 5.002 0 008.743 3.442l-.78-.45 2.3-.982.3 2.482-.939-.542A6.002 6.002 0 01.001 6.141l1-.267zm6.93-1.177a.5.5 0 010 .707L5.975 7.39a.5.5 0 01-.707 0l-.971-.975a.5.5 0 01.707-.708l.617.622 1.602-1.63a.5.5 0 01.707 0zM9 .804a5.996 5.996 0 013 5.052l-1.001.268.001-.043a5.002 5.002 0 00-8.743-3.398l.779.451-2.3.982-.298-2.482.938.54A6.002 6.002 0 019 .805z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nRecurringCheckmarkSmallIcon.displayName = \"RecurringCheckmarkSmallIcon\";\nexport default RecurringCheckmarkSmallIcon;\n","import React from \"react\";\n\n/**\n * @component RecurringCheckmarkIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <RecurringCheckmarkIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst RecurringCheckmarkIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"RecurringCheckmarkIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M5.014 12a6.944 6.944 0 001.826 4.73l.21.22a7 7 0 009.727.167l.173-.167-1.414-1.414 4.871-.63-.629 4.872-1.414-1.414a9 9 0 01-12.728 0 8.891 8.891 0 01-2.498-4.788A9.017 9.017 0 013 12.01h.006V12h2.008zm10.593-2.293a1 1 0 010 1.414l-3.657 3.657a1 1 0 01-1.414 0L8.707 12.95a1 1 0 011.414-1.414l1.12 1.12 2.951-2.949a1 1 0 011.415 0zm-3.246-6.7c2.1.084 4.175.898 5.813 2.444l.19.185.225.234.096.104.118.133a8.861 8.861 0 012.04 4.216l.043.25c.071.44.109.886.113 1.332h-.006l.001.095h-2.008a6.955 6.955 0 00-1.245-4.005l-.186-.254-.094-.12a7 7 0 00-10.238-.737l-.173.166 1.414 1.414-4.871.63.629-4.872 1.414 1.414a8.976 8.976 0 016.725-2.629z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nRecurringCheckmarkIcon.displayName = \"RecurringCheckmarkIcon\";\nexport default RecurringCheckmarkIcon;\n","import React from \"react\";\n\n/**\n * @component ReportTimeIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ReportTimeIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ReportTimeIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ReportTimeIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M15 9a7 7 0 110 14 7 7 0 010-14zm-3-9c1.235 0 2.29.758 2.752 1.828L14.82 2H19c1.05 0 1.918.82 1.994 1.851L21 4v5.292a9.017 9.017 0 00-1.999-1.356L19 4h-2v3H7V4H5v16l1.936.001c.362.728.82 1.4 1.356 2L5 22c-1.05 0-1.918-.82-1.994-1.851L3 20V4c0-1.05.82-1.918 1.851-1.994L5 2h4.18C9.6.84 10.7 0 12 0zm3 11a5 5 0 100 10 5 5 0 000-10zm1 2v1.999L19 15v2h-5v-4h2zM12 2c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nReportTimeIcon.displayName = \"ReportTimeIcon\";\nexport default ReportTimeIcon;\n","import React from \"react\";\n\n/**\n * @component ReportsIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ReportsIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ReportsIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ReportsIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M17 6v2H7V6H6v15h12V6h-1zm0-2h1a2 2 0 012 2v15a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h1V3h2c.336-2 1.336-3 3-3s2.664 1 3 3h2v1zM8 16h2v3H8v-3zm3-3h2v6h-2v-6zm3-3h2v9h-2v-9zm-1-5V3.332C13 2.327 12.61 2 12 2s-1 .303-1 1.332V5H9v1h6V5h-2z\" />\n <path\n stroke=\"#F4F5F7\"\n strokeWidth={0.1}\n opacity={0.01}\n d=\"M.05.05h23.9v23.9H.05z\"\n />\n </svg>\n )\n);\nReportsIcon.displayName = \"ReportsIcon\";\nexport default ReportsIcon;\n","import React from \"react\";\n\n/**\n * @component RocketIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <RocketIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst RocketIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"RocketIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M15.2 17.8H4v-4l2.437-3.046A17.833 17.833 0 016.4 9.637C6.4 6.772 8.8 3.36 12 1c3.2 2.36 5.6 5.772 5.6 8.637 0 .354-.012.73-.037 1.117L20 13.8v4h-4.8zm1.186-1.6H18.4v-1.839l-1.1-1.374c-.202 1.171-.507 2.312-.915 3.213zm-8.771 0c-.408-.901-.713-2.042-.916-3.213L5.6 14.361V16.2h2.015zm7.97 3.2L12 23.4l-3.585-4h7.17zM12 21l1.536-1.6h-3.072L12 21zM8 9.637c0 2.61.694 5.579 1.42 6.563h5.16c.726-.984 1.42-3.952 1.42-6.563 0-1.93-1.57-4.51-4-6.594-2.43 2.084-4 4.664-4 6.594zm4 .963a1.6 1.6 0 110-3.2 1.6 1.6 0 010 3.2z\" />\n </svg>\n )\n);\nRocketIcon.displayName = \"RocketIcon\";\nexport default RocketIcon;\n","import React from \"react\";\n\n/**\n * @component SearchLargeIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <SearchLargeIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst SearchLargeIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={32}\n height={32}\n viewBox=\"0 0 32 32\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"SearchLargeIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14 4c5.523 0 10 4.477 10 10 0 2.31-.783 4.436-2.098 6.129.088.04.17.09.248.15l.126.111 5.334 5.334a1.333 1.333 0 01-1.76 1.996l-.126-.11-5.334-5.334a1.332 1.332 0 01-.263-.373A9.953 9.953 0 0114 24C8.477 24 4 19.523 4 14S8.477 4 14 4zm0 2.667a7.333 7.333 0 100 14.666 7.333 7.333 0 000-14.666z\"\n />\n </svg>\n )\n);\nSearchLargeIcon.displayName = \"SearchLargeIcon\";\nexport default SearchLargeIcon;\n","import React from \"react\";\n\n/**\n * @component SearchIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <SearchIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst SearchIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"SearchIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M16.717 15.708a6 6 0 10-1.07 1.056l.602-.46.468-.596zm1.572 1.238l2.883 2.882a1 1 0 01-1.415 1.415l-2.891-2.892a8 8 0 111.423-1.405z\" />\n </svg>\n )\n);\nSearchIcon.displayName = \"SearchIcon\";\nexport default SearchIcon;\n","import React from \"react\";\n\n/**\n * @component SendBlankIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <SendBlankIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst SendBlankIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"SendBlankIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M1.241 1.405A2 2 0 013.812.53l.14.07 17.801 9.641a2 2 0 01.135 3.438l-.135.08-17.8 9.642a2 2 0 01-2.948-1.61L1 21.642V15l6-3-6-3V2.358a2 2 0 01.241-.953zM3 2.358v5.406L11.472 12 3 16.235v5.406L20.799 12 3 2.358z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nSendBlankIcon.displayName = \"SendBlankIcon\";\nexport default SendBlankIcon;\n","import React from \"react\";\n\n/**\n * @component SendFilledIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <SendFilledIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst SendFilledIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"SendFilledIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M3.953 23.4l17.8-9.641a2 2 0 000-3.518L3.953.6A2 2 0 001 2.358V9l8 3-8 3v6.642a2 2 0 002.953 1.759z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nSendFilledIcon.displayName = \"SendFilledIcon\";\nexport default SendFilledIcon;\n","import React from \"react\";\n\n/**\n * @component SettingsIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <SettingsIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst SettingsIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"SettingsIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M4.14 16H3a1 1 0 000 2h1.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H21a1 1 0 000-2h-9.14c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3zM6 17c0-1.1.9-2 2-2s2 .9 2 2-.9 2-2 2-2-.9-2-2zM16 3c-1.86 0-3.41 1.28-3.86 3H3a1 1 0 100 2h9.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H21a1 1 0 000-2h-1.14c-.45-1.72-2-3-3.86-3zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nSettingsIcon.displayName = \"SettingsIcon\";\nexport default SettingsIcon;\n","import React from \"react\";\n\n/**\n * @component SortGeneralIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <SortGeneralIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst SortGeneralIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"SortGeneralIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M17 6v11h3l-4 4-4-4h3V6h2zM8 3l4 4H9v11H7V7H4l4-4z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nSortGeneralIcon.displayName = \"SortGeneralIcon\";\nexport default SortGeneralIcon;\n","import React from \"react\";\n\n/**\n * @component SortIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <SortIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst SortIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={10}\n height={10}\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"SortIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M10 8v2H0V8h10zM7 4v2H0V4h7zM4 0v2H0V0h4z\" fillRule=\"evenodd\" />\n </svg>\n )\n);\nSortIcon.displayName = \"SortIcon\";\nexport default SortIcon;\n","import React from \"react\";\n\n/**\n * @component StarOutlineIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <StarOutlineIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst StarOutlineIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"StarOutlineIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12.706 2.103a1 1 0 01.454.455l2.63 5.329 5.881.854a1 1 0 01.554 1.706l-4.255 4.148 1.005 5.857a1 1 0 01-1.451 1.054l-5.26-2.765-5.26 2.765a1 1 0 01-1.451-1.054l1.004-5.857-4.255-4.148a1 1 0 01.554-1.706l5.881-.854 2.63-5.33a1 1 0 011.34-.454zm1.756 7.612L12.263 5.26l-2.198 4.455-4.916.713 3.557 3.469-.84 4.895 4.398-2.31 4.396 2.31-.839-4.895 3.557-3.468-4.916-.714z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nStarOutlineIcon.displayName = \"StarOutlineIcon\";\nexport default StarOutlineIcon;\n","import React from \"react\";\n\n/**\n * @component StarIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <StarIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst StarIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"StarIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12.264 18.74l-5.26 2.766a1 1 0 01-1.451-1.054l1.004-5.857-4.255-4.148a1 1 0 01.554-1.706l5.881-.854 2.63-5.33a1 1 0 011.793 0l2.63 5.33 5.881.854a1 1 0 01.554 1.706l-4.255 4.148 1.005 5.857a1 1 0 01-1.451 1.054l-5.26-2.765z\"\n fillRule=\"nonzero\"\n />\n </svg>\n )\n);\nStarIcon.displayName = \"StarIcon\";\nexport default StarIcon;\n","import React from \"react\";\n\n/**\n * @component SystemSettingsIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <SystemSettingsIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst SystemSettingsIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"SystemSettingsIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10.75 2a2 2 0 00-2 2v.154l-.029-.029a2 2 0 00-2.828 0L4.125 5.893a2 2 0 000 2.828l.029.029H4a2 2 0 00-2 2v2.5a2 2 0 002 2h.314l-.189.189a2 2 0 000 2.828l1.768 1.768a2 2 0 002.828 0l.029-.029A1.998 1.998 0 0010.748 22h2.502a2 2 0 002-2v-.154l.189.189a2 2 0 002.828 0l1.768-1.768a2 2 0 000-2.828l-.189-.189H20a2 2 0 002-2v-2.502a1.998 1.998 0 00-1.994-1.998l.029-.029a2 2 0 000-2.828l-1.768-1.768a2 2 0 00-2.828 0l-.189.189V4a2 2 0 00-2-2h-2.5zm0 2h2.5v.314c0 1.782 2.154 2.674 3.414 1.414l.189-.189 1.768 1.768-.032.032C17.33 8.597 18.22 10.749 20 10.75v2.5h-.154c-1.782 0-2.674 2.154-1.414 3.414l.189.189-1.768 1.768-.189-.189c-1.26-1.26-3.414-.368-3.414 1.414V20h-2.5c-.001-1.779-2.153-2.67-3.411-1.411l-.032.032-1.768-1.768.189-.189c1.26-1.26.368-3.414-1.414-3.414H4v-2.5h.154c1.782 0 2.674-2.154 1.414-3.414l-.029-.029 1.768-1.768.029.029c1.26 1.26 3.414.368 3.414-1.414V4zM10 12a2 2 0 114 0 2 2 0 01-4 0zm2-4a4 4 0 100 8 4 4 0 000-8z\"\n />\n </svg>\n )\n);\nSystemSettingsIcon.displayName = \"SystemSettingsIcon\";\nexport default SystemSettingsIcon;\n","import React from \"react\";\n\n/**\n * @component TaskAddIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <TaskAddIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst TaskAddIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"TaskAddIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2c5.523 0 10 4.477 10 10h-2a8 8 0 10-8 8v2C6.477 22 2 17.523 2 12S6.477 2 12 2zm7 12v3h3v2h-3v3h-2v-3.001L14 19v-2l3-.001V14h2zm-3.393-4.293a1 1 0 010 1.414l-3.657 3.657a1 1 0 01-1.414 0L8.707 12.95a1 1 0 011.414-1.414l1.12 1.12 2.951-2.949a1 1 0 011.415 0z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nTaskAddIcon.displayName = \"TaskAddIcon\";\nexport default TaskAddIcon;\n","import React from \"react\";\n\n/**\n * @component TaskListAddIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <TaskListAddIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst TaskListAddIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"TaskListAddIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M20 14v3h3v2h-3v3h-2v-3h-3v-2h3v-3h2zm-8 4a1 1 0 010 2H5a1 1 0 010-2h7zm0-4a1 1 0 010 2H5a1 1 0 010-2h7zm7-4a1 1 0 010 2H5a1 1 0 010-2h14zm0-6a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5a1 1 0 011-1h14z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nTaskListAddIcon.displayName = \"TaskListAddIcon\";\nexport default TaskListAddIcon;\n","import React from \"react\";\n\n/**\n * @component TaskListCompleteIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <TaskListCompleteIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst TaskListCompleteIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"TaskListCompleteIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11 18a1 1 0 110 2H5a1 1 0 110-2h6zm0-4a1 1 0 110 2H5a1 1 0 110-2h6zm8-4a1 1 0 110 2H5a1 1 0 110-2h14zm0-6a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5a1 1 0 011-1h14zm3.192 11.293a1 1 0 010 1.414l-3.657 3.657a1 1 0 01-1.414 0l-1.828-1.828a1 1 0 011.414-1.415l1.12 1.121 2.951-2.95a1 1 0 011.414 0z\"\n />\n </svg>\n )\n);\nTaskListCompleteIcon.displayName = \"TaskListCompleteIcon\";\nexport default TaskListCompleteIcon;\n","import React from \"react\";\n\n/**\n * @component ThumbUpOutlineIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ThumbUpOutlineIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ThumbUpOutlineIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={14}\n height={14}\n viewBox=\"0 0 14 14\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ThumbUpOutlineIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M8.647.034c.424.02.847.164 1.173.542.263.305.403.73.403 1.262l-.003.513-.015.658-.019.374-.028.33c-.033.312-.08.567-.148.796l-.022.065.069.091c.289.364.59.477 1.119.496l.15.003h.251c.682 0 1.239.08 1.679.286.37.175.624.435.726.876.07 2.43-.78 5.856-1.727 6.803a3.787 3.787 0 01-.494.433c-.39.278-.697.388-1.434.434l-.344.017-.405.01-.71.009c-1.71 0-2.668-.214-4.006-.754l-.393-.158a1.468 1.468 0 01-1.36.912H1.53c-.81 0-1.468-.657-1.468-1.468V7.5c0-.81.657-1.468 1.468-1.468h1.58c.443 0 .84.196 1.11.506.097-.236.216-.453.359-.635.21-.266.434-.459.881-.79l.286-.213c.973-.745 1.316-1.249 1.316-2.158l.005-.264c.028-.685.165-1.227.4-1.635.304-.526.745-.77 1.132-.808zM8.615.71l.027.003-.05.008c-.171.042-.377.18-.54.46-.199.347-.313.86-.313 1.56l-.005.202c-.054 1.114-.572 1.755-1.776 2.645l-.237.175-.23.182c-.168.138-.28.25-.381.377-.265.337-.448.94-.533 1.415v4.697l.539.216c1.172.473 2.01.675 3.414.702l.334.003.855-.012.335-.01.28-.016.122-.01.213-.025.177-.033a1.34 1.34 0 00.344-.126l.118-.072.06-.04c.12-.086.248-.2.406-.36.788-.787 1.597-4.044 1.54-6.234-.036-.148-.145-.259-.346-.354-.33-.154-.8-.222-1.39-.222h-.253c-.94-.005-1.484-.228-1.998-1.036l-.092-.145.062-.16c.11-.282.175-.626.21-1.134l.02-.363.012-.419.006-.746c0-.378-.087-.645-.238-.82C9.127.81 8.87.722 8.615.71zm-5.505 6H1.529a.79.79 0 00-.79.79v5.064c0 .437.354.79.79.79h1.58a.79.79 0 00.791-.79V7.5a.79.79 0 00-.79-.79z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nThumbUpOutlineIcon.displayName = \"ThumbUpOutlineIcon\";\nexport default ThumbUpOutlineIcon;\n","import React from \"react\";\n\n/**\n * @component TrashIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <TrashIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst TrashIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"TrashIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path d=\"M8 4l1-2h6l1 2h4v2h-1v13a2 2 0 01-2 2H7a2 2 0 01-2-2V6H4V4h4zm3 2v13h2V6h-2zM7 6v13h2V6H7zm10 0h-2v13h2V6z\" />\n <path\n stroke=\"#F4F5F7\"\n strokeWidth={0.1}\n opacity={0.01}\n d=\"M.05.05h23.9v23.9H.05z\"\n />\n </svg>\n )\n);\nTrashIcon.displayName = \"TrashIcon\";\nexport default TrashIcon;\n","import React from \"react\";\n\n/**\n * @component TreeDotsIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <TreeDotsIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst TreeDotsIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"TreeDotsIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M6 10a2 2 0 110 4 2 2 0 010-4zm6 0a2 2 0 110 4 2 2 0 010-4zm6 0a2 2 0 110 4 2 2 0 010-4z\"\n fillRule=\"nonzero\"\n />\n </svg>\n )\n);\nTreeDotsIcon.displayName = \"TreeDotsIcon\";\nexport default TreeDotsIcon;\n","import React from \"react\";\n\n/**\n * @component UploadIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <UploadIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst UploadIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"UploadIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M6 18v-4h2v1.999h8V14h2v4H6zm6-14l4.95 4.95-1.414 1.414L13 7.829V14h-2V7.827l-2.536 2.537L7.05 8.95 12 4z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nUploadIcon.displayName = \"UploadIcon\";\nexport default UploadIcon;\n","import React from \"react\";\n\n/**\n * @component ViewGridIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ViewGridIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ViewGridIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ViewGridIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 16c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0-6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0-6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2M6 16c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0-6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0-6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m12 12c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0-6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0-6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nViewGridIcon.displayName = \"ViewGridIcon\";\nexport default ViewGridIcon;\n","import React from \"react\";\n\n/**\n * @component ViewListIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ViewListIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ViewListIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ViewListIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M19 17a1 1 0 010 2H5a1 1 0 010-2h14zm0-6a1 1 0 010 2H5a1 1 0 010-2h14zm0-6a1 1 0 010 2H5a1 1 0 110-2h14z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nViewListIcon.displayName = \"ViewListIcon\";\nexport default ViewListIcon;\n","import React from \"react\";\n\n/**\n * @component ViewTimelineIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ViewTimelineIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst ViewTimelineIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ViewTimelineIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M10 17h10a1 1 0 010 2H10a1 1 0 010-2zm-3-6h10a1 1 0 010 2H7a1 1 0 010-2zM4 5h10a1 1 0 010 2H4a1 1 0 110-2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nViewTimelineIcon.displayName = \"ViewTimelineIcon\";\nexport default ViewTimelineIcon;\n","import React from \"react\";\n\n/**\n * @component VolumeHighIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <VolumeHighIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst VolumeHighIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"VolumeHighIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M14 3.23c4 .91 7 4.49 7 8.77 0 4.187-2.871 7.704-6.74 8.707l-.26.063V18.7c2.89-.86 5-3.53 5-6.7a7.005 7.005 0 00-4.754-6.632L14 5.29V3.23zM12 4v16l-5-5H3V9h4l5-5zm2 3.97c1.5.74 2.5 2.26 2.5 4.03a4.403 4.403 0 01-2.307 3.903L14 16V7.97z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nVolumeHighIcon.displayName = \"VolumeHighIcon\";\nexport default VolumeHighIcon;\n","import React from \"react\";\n\n/**\n * @component WarningTriangleSmallIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <WarningTriangleSmallIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst WarningTriangleSmallIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"WarningTriangleSmallIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M6.54 1.123c.19.093.347.233.45.403l4.872 7.982c.298.49.097 1.102-.45 1.369-.166.08-.352.123-.541.123H1.129C.505 11 0 10.548 0 9.991c0-.169.047-.335.138-.483l4.871-7.982c.298-.49.984-.67 1.531-.403zM6 2l-5 8h10L6 2zm0 4a1.5 1.5 0 110 3 1.5 1.5 0 010-3z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nWarningTriangleSmallIcon.displayName = \"WarningTriangleSmallIcon\";\nexport default WarningTriangleSmallIcon;\n","import React from \"react\";\n\n/**\n * @component WarningTriangleIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <WarningTriangleIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst WarningTriangleIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"WarningTriangleIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M13.08 2.247c.381.185.694.465.902.805l8.742 14.964c.597.978.194 2.204-.9 2.738a2.472 2.472 0 01-1.082.246H3.258C2.01 21 1 20.097 1 18.982c0-.337.095-.67.276-.966l8.742-14.964c.597-.978 1.968-1.339 3.063-.805zM12 4L3 19h18L12 4zm0 7a3 3 0 110 6 3 3 0 010-6z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nWarningTriangleIcon.displayName = \"WarningTriangleIcon\";\nexport default WarningTriangleIcon;\n","import React from \"react\";\n\n/**\n * @component WarningIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <WarningIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst WarningIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"WarningIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 100 16 8 8 0 000-16zm1 11v2h-2v-2h2zm0-8v6h-2V7h2z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nWarningIcon.displayName = \"WarningIcon\";\nexport default WarningIcon;\n","import React from \"react\";\n\n/**\n * @component WorkloadIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <WorkloadIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst WorkloadIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"WorkloadIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n stroke=\"#F4F5F7\"\n strokeWidth={0.1}\n opacity={0.01}\n d=\"M.05.05h23.9v23.9H.05z\"\n />\n <path d=\"M22 12a.834.834 0 00-.41-.717l-1.959-1.158 1.96-1.157a.834.834 0 000-1.435l-9.167-5.417a.833.833 0 00-.848 0L2.409 7.533a.833.833 0 000 1.435l1.96 1.157-1.96 1.158a.833.833 0 000 1.435l1.96 1.157-1.96 1.158a.833.833 0 000 1.435l9.167 5.416a.829.829 0 00.848 0l9.167-5.416a.834.834 0 000-1.435l-1.96-1.158 1.96-1.157A.834.834 0 0022 12zM12 3.801l7.528 4.45L12 12.698 4.471 8.25 12 3.801zm-.424 10.583a.829.829 0 00.848 0l5.57-3.29 1.535.907L12 16.449 4.471 12l1.536-.907 5.569 3.291zm7.952 1.366L12 20.2l-7.529-4.45 1.536-.907 5.57 3.29a.829.829 0 00.848 0l5.57-3.29 1.533.907z\" />\n </svg>\n )\n);\nWorkloadIcon.displayName = \"WorkloadIcon\";\nexport default WorkloadIcon;\n","import styled from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\nimport { List } from \"../List\";\n\nexport const StyledNavElement = styled.nav`\n ${tw`tw-w-full`}\n ${tw`tw-overflow-hidden`}\n ${FontStyle}\n ${BoxSizingStyle}\n`;\n\nStyledNavElement.displayName = \"StyledNavElement\";\n\nexport const StyledListWrapper = styled.div`\n ${tw`tw-inline-block`}\n`;\n\nStyledListWrapper.displayName = \"StyledListWrapper\";\n\nexport const StyledOList = styled.ol`\n ${tw`tw-flex`}\n ${tw`tw-items-start`}\n ${tw`tw-items-center`}\n ${tw`tw-list-none`}\n ${tw`tw-p-0`}\n ${tw`tw-m-0`}\n`;\n\nStyledOList.displayName = \"StyledOList\";\n\nexport const StyledMenuList = styled(List)`\n ${tw`tw-py-2`}\n`;\n\nStyledMenuList.displayName = \"StyledMenuList\";\n\nexport const StyledBreadcrumbListItem = styled.li`\n ${tw`tw-flex`}\n ${tw`tw-flex-shrink-0`}\n`;\n\nStyledBreadcrumbListItem.displayName = \"StyledBreadcrumbListItem\";\n","import React, {\n ReactElement,\n useRef,\n useMemo,\n useEffect,\n useState,\n} from \"react\";\nimport { useForkRef, useResizeObserver } from \"../../utils\";\nimport { Menu } from \"../Menu\";\nimport { ListItem } from \"../List\";\nimport { IconButton } from \"../IconButton\";\nimport { TreeDotsIcon } from \"../Icons\";\nimport {\n StyledNavElement,\n StyledOList,\n StyledMenuList,\n StyledListWrapper,\n StyledBreadcrumbListItem,\n} from \"./Styles\";\n\nexport interface BreadcrumbsProps {\n /** Separator element */\n separator?: ReactElement | string;\n}\n\nexport const Breadcrumbs = React.forwardRef<\n HTMLElement,\n BreadcrumbsProps &\n Omit<React.ComponentPropsWithoutRef<\"nav\">, keyof BreadcrumbsProps>\n>(({ children, className, separator = \"/\", ...rest }, ref) => {\n const internalRef = useRef<HTMLElement | null>(null);\n const listWrapperRef = useRef<HTMLDivElement | null>(null);\n const olRef = useRef<HTMLOListElement | null>(null);\n const widthCollectionRef = useRef<number[]>([]);\n const handleRef = useForkRef(ref, internalRef);\n const [menuBreadcrumbs, setMenuBreadcrumbs] = useState(0);\n const dimensions = useResizeObserver(internalRef);\n const childDimensions = useResizeObserver(listWrapperRef);\n\n const parentWidth = dimensions?.width ?? 0;\n const childWidth = childDimensions?.width ?? 0;\n\n const childrenCollection = useMemo(\n () => React.Children.toArray(children),\n [children]\n );\n\n const [menuCollection, listCollection] = useMemo(() => {\n return [\n childrenCollection.slice(0, menuBreadcrumbs),\n childrenCollection.slice(menuBreadcrumbs, childrenCollection.length),\n ];\n }, [childrenCollection, menuBreadcrumbs]);\n\n useEffect(() => {\n widthCollectionRef.current = [];\n setMenuBreadcrumbs(0);\n }, [childrenCollection.length]);\n\n useEffect(() => {\n const diffWidth = childWidth - parentWidth;\n\n if (diffWidth > 0) {\n const separatorWidth =\n (\n olRef.current?.querySelectorAll(\n `[data-role=\"separator\"]`\n )[0] as HTMLLIElement\n )?.offsetWidth ?? 0;\n const breadcrumbItems =\n olRef.current?.querySelectorAll(`[data-role=\"item\"]`) ?? [];\n const childWidthCollection: number[] = [];\n\n const maxIndex = (breadcrumbItems?.length ?? 1) - 1;\n let currentIndex = 0;\n let childSumWidth = 0;\n\n while (diffWidth > childSumWidth && maxIndex >= currentIndex) {\n const childWidth =\n (breadcrumbItems[currentIndex] as HTMLLIElement)?.offsetWidth ?? 0;\n const result = separatorWidth + childWidth;\n childWidthCollection.push(result);\n childSumWidth += result;\n currentIndex += 1;\n }\n\n if (childWidthCollection.length === listCollection.length) {\n childWidthCollection.pop();\n }\n\n widthCollectionRef.current = [\n ...widthCollectionRef.current,\n ...childWidthCollection,\n ];\n\n setMenuBreadcrumbs((oldVal) => oldVal + childWidthCollection.length);\n }\n }, [listCollection.length, parentWidth, childWidth]);\n\n useEffect(() => {\n const diffWidth = parentWidth - childWidth;\n\n if (diffWidth > 0 && widthCollectionRef.current.length > 0) {\n const total = widthCollectionRef.current.length;\n const collection = [...widthCollectionRef.current];\n\n let sumWidth = 0;\n\n while (diffWidth > sumWidth && collection.length > 0) {\n const lastWidth = collection[collection.length - 1] ?? 0;\n if (diffWidth < lastWidth + sumWidth) {\n sumWidth = diffWidth;\n } else {\n sumWidth += collection.pop() ?? 0;\n }\n }\n\n const totalToDecrease = total - collection.length;\n\n setMenuBreadcrumbs((oldVal) => {\n const newValue = oldVal - totalToDecrease;\n return newValue > 0 ? newValue : 0;\n });\n\n const end = total - totalToDecrease;\n\n widthCollectionRef.current =\n end > 0 ? widthCollectionRef.current.slice(0, end) : [];\n }\n }, [parentWidth, childWidth]);\n\n return (\n <StyledNavElement className={className} ref={handleRef} {...rest}>\n <StyledListWrapper ref={listWrapperRef}>\n <StyledOList ref={olRef}>\n {menuCollection.length > 0 ? (\n <StyledBreadcrumbListItem data-role=\"menu\">\n <Menu\n target={\n <IconButton variant=\"text gray\">\n <TreeDotsIcon />\n </IconButton>\n }\n >\n <StyledMenuList>\n {menuCollection.map((child, index) => (\n <ListItem key={index}>{child}</ListItem>\n ))}\n </StyledMenuList>\n </Menu>\n </StyledBreadcrumbListItem>\n ) : null}\n {listCollection.map((child, index) => {\n return (\n <React.Fragment key={index}>\n {index > 0 || menuCollection.length > 0 ? (\n <StyledBreadcrumbListItem data-role=\"separator\">\n {separator}\n </StyledBreadcrumbListItem>\n ) : null}\n <StyledBreadcrumbListItem data-role=\"item\">\n {child}\n </StyledBreadcrumbListItem>\n </React.Fragment>\n );\n })}\n </StyledOList>\n </StyledListWrapper>\n </StyledNavElement>\n );\n});\n\nBreadcrumbs.displayName = \"Breadcrumbs\";\n","import React, { ReactElement, FC, cloneElement } from \"react\";\nimport { Transition } from \"react-transition-group\";\nimport { TransitionProps } from \"../types\";\n\ninterface IFromElementProps extends TransitionProps {\n children: ReactElement;\n}\n\nconst defaultStyle = {\n transitionProperty: \"opacity, transform\",\n transitionDuration: \".15s, .10s, .15s\",\n transitionTimingFunction: \"ease, ease, cubic-bezier(0.39, 0.575, 0.565, 1)\",\n transformOrigin: \"50% 0\",\n transform: \"scale(.85)\",\n opacity: 0,\n};\n\nconst transitionStyles = {\n entering: { opacity: 1, transform: \"scale(1)\", transitionDelay: \".6s\" },\n entered: { opacity: 1, transform: \"scale(1)\" },\n exiting: { opacity: 0, transform: \"scale(.85)\" },\n exited: { opacity: 0, transform: \"scale(.85)\" },\n};\n\nexport const FromElement: FC<IFromElementProps> = ({\n in: inProp = false,\n onEnter,\n onExited,\n children,\n style,\n timeout = 1000,\n}) => {\n return (\n <Transition\n appear\n in={inProp}\n timeout={timeout}\n onEnter={onEnter}\n onExited={onExited}\n >\n {(state): ReactElement => {\n return cloneElement(children, {\n style: {\n visibility: state === \"exited\" && !inProp ? \"hidden\" : undefined,\n ...defaultStyle,\n ...transitionStyles[state],\n ...style,\n ...children.props.style,\n },\n });\n }}\n </Transition>\n );\n};\n\nFromElement.displayName = \"FromElement\";\n","import styled, { css } from \"styled-components\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\nexport const StyledTooltip = styled.div<{ $isLight: boolean }>`\n ${BoxSizingStyle}\n ${FontStyle}\n\n max-width: 200px;\n border-radius: 8px;\n padding: 4px 10px;\n text-align: center;\n background-color: rgba(0, 0, 0, 0.9);\n font-size: 12px;\n font-weight: 500;\n line-height: normal;\n color: #fff;\n margin: 4px;\n\n ${(props) =>\n props.$isLight &&\n css`\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-secondary);\n color: var(--color-theme-700);\n `}\n`;\n","import React, {\n ReactElement,\n useState,\n CSSProperties,\n MouseEvent,\n forwardRef,\n Ref,\n FC,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { Popper, Placement } from \"../Popper\";\nimport { FromElement } from \"../Transitions/FromElement\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { TransitionProps } from \"../Transitions\";\nimport { Portal, useLayerContext } from \"../../helpers\";\nimport { StyledTooltip } from \"./Styles\";\nimport { layers } from \"../../utils\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport interface ITooltipProps {\n /** Children element. */\n children: ElementWithRef<HTMLElement>;\n /** Title element. */\n title: ReactElement | string;\n /** Applies passed styles */\n style?: CSSProperties;\n /** Applies passed classes */\n className?: string;\n /** Open */\n open?: boolean;\n /** Placement */\n placement?: Placement;\n /** Transition component */\n TransitionComponent?: React.FC<TransitionProps>;\n /** Light tooltip */\n isLight?: boolean;\n /** Popper Tooltip style */\n popperTooltipStyle?: CSSProperties;\n /** Popper Tooltip class name*/\n popperTooltipClassName?: string;\n /** Remove tooltip */\n disable?: boolean;\n}\n\ninterface ITooltipAnimation extends TransitionProps {\n children: ReactElement;\n}\n\nconst TooltipAnimation: FC<ITooltipAnimation> = ({ children, ...props }) => {\n return (\n <FromElement timeout={0} {...props}>\n {children}\n </FromElement>\n );\n};\n\nexport const Tooltip = forwardRef<HTMLElement, ITooltipProps>(\n (\n {\n children,\n title,\n className,\n style,\n isLight = false,\n placement = \"top\",\n TransitionComponent = TooltipAnimation,\n popperTooltipStyle,\n popperTooltipClassName,\n disable,\n },\n ref\n ) => {\n const { zIndex = layers.skyscraper } = useLayerContext();\n const [open, setOpen] = useState(false);\n const [childNode, setChildNode] = useState<HTMLElement | null>();\n\n const handleEnter = (event: MouseEvent<HTMLElement>): void => {\n const childrenProps = children.props;\n\n if (event.type === \"mouseover\" && childrenProps.onMouseOver) {\n childrenProps.onMouseOver(event);\n }\n\n childNode && childNode.removeAttribute(\"title\");\n\n setOpen(true);\n };\n\n const handleLeave = (event: MouseEvent<HTMLElement>): void => {\n const childrenProps = children.props;\n\n if (\n event.type === \"mouseleave\" &&\n childrenProps.onMouseLeave &&\n event.currentTarget === childNode\n ) {\n childrenProps.onMouseLeave(event);\n }\n\n setOpen(false);\n };\n\n const handleOwnRef = useForkRef(children.ref, ref);\n const handleRef = useForkRef(setChildNode, handleOwnRef);\n\n const childrenProps = {\n onMouseOver: handleEnter,\n onMouseLeave: handleLeave,\n ref: handleRef,\n };\n\n return (\n <>\n {React.cloneElement(children, childrenProps)}\n {!disable && (\n <Portal>\n <Popper\n anchorEl={childNode}\n open={childNode ? open : false}\n placement={placement}\n transition\n className={popperTooltipClassName}\n style={{ zIndex, ...popperTooltipStyle }}\n role=\"tooltip\"\n >\n {({ transitionProps = {} }): ReactElement => (\n <TransitionComponent {...transitionProps} style={style}>\n <StyledTooltip\n className={classnames(\"c-tooltip-ds\", className)}\n $isLight={isLight}\n >\n {title}\n </StyledTooltip>\n </TransitionComponent>\n )}\n </Popper>\n </Portal>\n )}\n </>\n );\n }\n);\n\nTooltip.displayName = \"Tooltip\";\n","import React, { forwardRef } from \"react\";\nimport { ITypographyProps, Typography } from \"../Typography\";\nexport interface IBodyProps {\n /** Font weight. */\n weight?: \"regular\" | \"bold\" | \"medium\";\n}\n\nexport const Body2 = forwardRef<\n HTMLDivElement,\n IBodyProps & Omit<ITypographyProps, keyof IBodyProps | \"variant\">\n>(({ weight = \"regular\", children, ...props }, ref) => {\n return (\n <Typography variant=\"Body 2\" weight={weight} ref={ref} {...props}>\n {children}\n </Typography>\n );\n});\n\nBody2.displayName = \"Body2\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { Body2 } from \"../Typography/Variants/Body2\";\nimport { Button } from \"../Button/Button\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\ninterface StyledCounterButtonProps {\n $active?: boolean;\n $selected?: boolean;\n}\n\nexport const StyledCounterButtonWrapper = styled.div`\n ${tw`tw-flex`}\n ${FontStyle}\n ${BoxSizingStyle}\n width: fit-content;\n`;\n\nStyledCounterButtonWrapper.displayName = \"StyledCounterButtonWrapper\";\n\nexport const StyledCounterButton = styled(Button)<StyledCounterButtonProps>`\n ${(props) =>\n props.$active &&\n css`\n padding: 0 8px;\n\n svg {\n fill: var(--color-primary);\n }\n\n &:hover {\n background: var(--color-primary-300);\n }\n `}\n\n ${(props) =>\n props.$selected &&\n css`\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n background-color: var(--color-primary-200);\n `}\n`;\n\nStyledCounterButton.displayName = \"StyledCounterButton\";\n\nexport const StyledCounterButtonCounter = styled.div<{ $selected?: boolean }>`\n border-radius: 50%;\n background-color: var(--color-primary);\n color: var(--page-paper-main);\n line-height: 15px;\n width: 15px;\n font-weight: bold;\n font-size: 10px;\n text-align: center;\n margin-left: 4px;\n margin-right: -6px;\n`;\n\nStyledCounterButtonCounter.displayName = \"StyledCounterButtonCounter\";\n\nexport const StyledCounterButtonReset = styled(Button)`\n background-color: var(--color-primary-200);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n\n &:hover,\n &:focus-visible {\n background-color: var(--color-primary-300);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n`;\n\nStyledCounterButtonReset.displayName = \"StyledCounterButtonReset\";\n\nexport const StyledCounterButtonLabel = styled(Body2)<{ $active?: boolean }>`\n ${tw`tw-pointer-events-none`}\n\n ${StyledCounterButton}:hover && {\n ${(props) =>\n !props.$active &&\n css`\n color: var(--color-theme-900);\n `}\n }\n\n ${(props) =>\n props.$active &&\n css`\n color: var(--color-primary);\n `}\n`;\n\nStyledCounterButtonLabel.displayName = \"StyledCounterButtonLabel\";\n","import React, { forwardRef, ReactElement } from \"react\";\nimport classNames from \"classnames\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\nimport CloseSmallIcon from \"../Icons/collection/CloseSmall\";\nimport {\n StyledCounterButton,\n StyledCounterButtonCounter,\n StyledCounterButtonLabel,\n StyledCounterButtonReset,\n StyledCounterButtonWrapper,\n} from \"./Styles\";\n\nexport interface ICounterButtonProps {\n /** Set active state */\n active?: boolean;\n /** Label for value */\n label?: string;\n /** Icon */\n icon?: ReactElement;\n /** Number of applied filters */\n counter?: number;\n /** OnClearAll callback */\n onClearAll: (event?) => void;\n /** Tooltip content */\n tooltipText?: string;\n /** Applies passed classes */\n className?: string;\n}\n\nexport const CounterButton = forwardRef<HTMLDivElement, ICounterButtonProps>(\n (\n {\n label,\n icon,\n active,\n counter = 0,\n tooltipText,\n onClearAll,\n className,\n ...args\n },\n ref\n ) => {\n return (\n <StyledCounterButtonWrapper ref={ref} className={className}>\n <StyledCounterButton\n className={classNames(\"c-counter-button\", {\n \"c-counter-button__selected\": counter,\n })}\n {...args}\n variant=\"text gray\"\n $active={counter > 0 || active}\n $selected={counter > 0}\n >\n {icon &&\n React.cloneElement(icon, {\n className: classNames(\"c-counter-button__icon\"),\n })}\n {label && (\n <StyledCounterButtonLabel\n color=\"secondary\"\n weight=\"medium\"\n className=\"c-counter-button__label\"\n $active={counter > 0 || active}\n >\n {label}\n </StyledCounterButtonLabel>\n )}\n {counter > 0 ? (\n <StyledCounterButtonCounter className=\"c-counter-button__counter\">\n {counter}\n </StyledCounterButtonCounter>\n ) : null}\n </StyledCounterButton>\n {counter > 0 ? (\n <Tooltip\n title={`${tooltipText}`}\n popperTooltipClassName=\"z-index-1300\"\n >\n <StyledCounterButtonReset\n variant=\"text colored\"\n className=\"c-counter-button__reset\"\n onClick={onClearAll}\n >\n <CloseSmallIcon />\n </StyledCounterButtonReset>\n </Tooltip>\n ) : null}\n </StyledCounterButtonWrapper>\n );\n }\n);\n\nCounterButton.displayName = \"CounterButton\";\n","export const customClassNames = {\n container: \"c-DayPicker\",\n wrapper: \"c-DayPicker-wrapper\",\n interactionDisabled: \"c-DayPicker--interactionDisabled\",\n months: \"c-DayPicker-Months\",\n month: \"c-DayPicker-Month\",\n\n navBar: \"c-DayPicker-NavBar\",\n navButtonPrev: \"c-DayPicker-NavButton DayPicker-NavButton--prev\",\n navButtonNext: \"c-DayPicker-NavButton DayPicker-NavButton--next\",\n navButtonInteractionDisabled: \"c-DayPicker-NavButton--interactionDisabled\",\n\n caption: \"c-DayPicker-Caption\",\n weekdays: \"c-DayPicker-Weekdays\",\n weekdaysRow: \"c-DayPicker-WeekdaysRow\",\n weekday: \"c-DayPicker-Weekday\",\n body: \"c-DayPicker-Body\",\n week: \"c-DayPicker-Week\",\n weekNumber: \"c-DayPicker-WeekNumber\",\n day: \"c-DayPicker-Day\",\n footer: \"c-DayPicker-Footer\",\n todayButton: \"c-DayPicker-TodayButton\",\n\n // default modifiers\n today: \"c-DayPicker-Day--today\",\n selected: \"c-DayPicker-Day--selected\",\n disabled: \"c-DayPicker-Day--disabled\",\n outside: \"c-DayPicker-Day--outside\",\n\n // custom modifiers\n weekend: \"c-DayPicker-Day--weekend\",\n userAvailability: \"c-DayPicker-Day--userAvailability\",\n nonWorkingDay: \"c-DayPicker-Day--nonWorkingDay\",\n};\n","import styled, { css } from \"styled-components\";\nimport { Button } from \"../Button/Button\";\nimport tw from \"twin.macro\";\n\nexport const StyledNavBarButton = styled(Button)<{\n $direction: \"next\" | \"previous\";\n}>`\n position: absolute;\n margin-top: 1px;\n cursor: pointer;\n z-index: 2;\n background-image: none;\n\n ${(props) =>\n props.$direction === \"previous\" &&\n css`\n right: auto;\n left: 1px;\n `}\n\n ${(props) =>\n props.$direction === \"next\" &&\n css`\n right: 1px;\n `}\n`;\n\ninterface StyledMonthInterface {\n $isCurrent: boolean;\n $isSelected: boolean;\n $isCurrentQuarter: boolean;\n}\n\nexport const StyledMonths = styled.div`\n top: 30px;\n height: 230px;\n\n ${tw`\n tw-absolute\n tw-left-0\n tw-p-5\n tw-flex\n tw-flex-wrap\n tw-bg-page-paper-main\n tw-z-10\n `}\n`;\nexport const StyledMonth = styled.div<StyledMonthInterface>`\n width: 26%;\n transition-duration: 0.3s;\n\n ${tw`\n tw-m-auto\n tw-cursor-pointer\n tw-rounded-xl\n tw-font-bold\n tw-text-sm\n `}\n\n ${(props) =>\n !props.$isSelected\n ? css`\n &:hover {\n background-color: var(--color-primary-300);\n }\n `\n : css`\n ${tw`tw-text-theme-100`}\n background-color: var(--color-primary);\n `}\n\n ${(props) =>\n props.$isCurrent &&\n !props.$isSelected &&\n css`\n ${tw`tw-text-primary`}\n `}\n\n ${(props) =>\n props.$isCurrent &&\n props.$isSelected &&\n css`\n color: var(--color-theme-100);\n `}\n\n ${(props) =>\n props.$isCurrentQuarter &&\n css`\n background-color: var(--color-primary-300);\n `}\n`;\n\nexport const StyledYearMonthPicker = styled.div`\n display: table-caption;\n margin-bottom: 0.5rem;\n padding: 0 0.5rem;\n\n ${tw`tw-text-center tw-text-theme-900`}\n\n &> div {\n font-weight: 500;\n font-size: 1.15rem;\n }\n`;\n\nexport const StyledYearMonthPickerNavBar = styled.div`\n width: auto;\n margin: 0 auto;\n`;\n\nexport const StyledYearMonthPickerNavBarItem = styled.span`\n ${tw`tw-px-4 tw-cursor-pointer`}\n transition-duration: 0.3s;\n display: inline-block;\n\n &:hover {\n background-color: var(--color-primary-300);\n border-radius: 15px;\n }\n`;\n\nStyledNavBarButton.displayName = \"StyledNavBarButton\";\nStyledMonths.displayName = \"StyledMonths\";\nStyledMonth.displayName = \"StyledMonth\";\n","import React, { FC, useCallback, useMemo, useState } from \"react\";\nimport { CaptionElementProps } from \"react-day-picker\";\nimport {\n StyledMonth,\n StyledMonths,\n StyledYearMonthPicker,\n StyledYearMonthPickerNavBar,\n StyledYearMonthPickerNavBarItem,\n} from \"./Styles\";\n\ninterface IYearMonthForm {\n onChange?: (modifiersArg) => void;\n isShown?: boolean;\n text: string;\n selectedDays?: { from; to } | Date;\n selectionMode?: string;\n}\n\nexport const YearMonthPicker: FC<CaptionElementProps & IYearMonthForm> = ({\n date,\n localeUtils,\n onChange = (): null => null,\n isShown = true,\n onClick,\n text,\n selectedDays,\n selectionMode,\n}) => {\n const [enteredTo, setEnteredTo] = useState<number | undefined>();\n const months = localeUtils.getMonths();\n\n const handleMonthChange = useCallback(\n (e) => {\n onChange(new Date(date.getFullYear(), e.target.dataset.value));\n if (onClick) {\n onClick(e);\n }\n },\n [date, onChange, onClick]\n );\n\n const onMouseEnterCallback = useCallback(\n (e) => {\n if (selectionMode === \"quarterly\") {\n setEnteredTo(Math.floor(e.target.getAttribute(\"data-value\") / 3));\n }\n },\n [selectionMode]\n );\n\n const renderMonths = useMemo(() => {\n return (\n <StyledMonths className=\"c-monthPicker\" data-test=\"months\">\n {months.map((month, i) => {\n return (\n <StyledMonth\n className=\"c-monthPicker__month\"\n key={i}\n onClick={handleMonthChange}\n onMouseEnter={onMouseEnterCallback}\n data-value={i}\n data-test=\"month\"\n $isCurrent={\n date.getFullYear() === new Date().getFullYear() &&\n new Date().getMonth() === i\n }\n $isCurrentQuarter={Math.floor(i / 3) === enteredTo}\n $isSelected={\n selectedDays &&\n !(selectedDays instanceof Date) &&\n selectedDays.from &&\n selectedDays.to &&\n selectedDays.from.getFullYear() === date.getFullYear() &&\n i >= selectedDays.from.getMonth() &&\n i <= selectedDays.to.getMonth()\n }\n >\n {month.substring(0, 3)}\n </StyledMonth>\n );\n })}\n </StyledMonths>\n );\n }, [\n date,\n handleMonthChange,\n months,\n selectedDays,\n enteredTo,\n onMouseEnterCallback,\n ]);\n\n return (\n <StyledYearMonthPicker className=\"c-DayPicker-Caption\" role=\"button\">\n <StyledYearMonthPickerNavBar role=\"button\">\n <StyledYearMonthPickerNavBarItem\n data-test=\"show-picker\"\n onClick={onClick}\n >\n {text}\n </StyledYearMonthPickerNavBarItem>\n </StyledYearMonthPickerNavBar>\n {isShown && renderMonths}\n </StyledYearMonthPicker>\n );\n};\n\nYearMonthPicker.displayName = \"YearMonthPicker\";\n","import React, { MouseEvent, forwardRef, useCallback } from \"react\";\nimport { NavbarElementProps } from \"react-day-picker\";\nimport { ArrowRightIcon } from \"../Icons\";\nimport ArrowLeftIcon from \"../Icons/collection/ArrowLeft\";\nimport { StyledNavBarButton } from \"./Styles\";\n\ninterface INavBarElementProps {\n onClick?: (e: MouseEvent) => void;\n}\n\nexport const NavBarElement = forwardRef<\n HTMLDivElement,\n NavbarElementProps & INavBarElementProps\n>(({ onPreviousClick, onNextClick }, ref) => {\n const onPrevious = useCallback(() => {\n onPreviousClick();\n }, [onPreviousClick]);\n\n const onNext = useCallback(() => {\n onNextClick();\n }, [onNextClick]);\n\n return (\n <div className=\"c-DayPicker-NavBar\" ref={ref} tabIndex={0}>\n <StyledNavBarButton\n type=\"button\"\n variant=\"text gray\"\n size=\"small\"\n tabIndex={0}\n onClick={onPrevious}\n $direction=\"previous\"\n >\n <ArrowLeftIcon aria-label=\"Previous Month\" width=\"24\" height=\"24\" />\n </StyledNavBarButton>\n <StyledNavBarButton\n type=\"button\"\n variant=\"text gray\"\n size=\"small\"\n tabIndex={0}\n onClick={onNext}\n $direction=\"next\"\n >\n <ArrowRightIcon aria-label=\"Next Month\" width=\"24\" height=\"24\" />\n </StyledNavBarButton>\n </div>\n );\n});\n\nNavBarElement.displayName = \"NavBarElement\";\n","import React, { FC, useCallback } from \"react\";\nimport { DateUtils, NavbarElementProps } from \"react-day-picker\";\nimport { NavBarElement } from \"../Pickers/NavBarElement\";\n\ninterface ICustomNavBarElementProps extends NavbarElementProps {\n showMonthPicker: boolean;\n onChangeDirection?: (direction: boolean) => void;\n onMonthChange?: (month: Date) => void;\n onClick?: () => void;\n}\n\nexport const CustomNavBarElement: FC<ICustomNavBarElementProps> = ({\n className,\n classNames,\n month,\n showPreviousButton,\n showNextButton,\n labels,\n localeUtils,\n locale,\n showMonthPicker = false,\n onChangeDirection,\n onMonthChange,\n onClick,\n}) => {\n const nextMonth = showMonthPicker\n ? DateUtils.addMonths(month, 12)\n : DateUtils.addMonths(month, 1);\n const previousMonth = showMonthPicker\n ? DateUtils.addMonths(month, -12)\n : DateUtils.addMonths(month, -1);\n\n const onNextClick = useCallback(() => {\n if (onChangeDirection) {\n onChangeDirection(true);\n }\n if (onMonthChange) {\n onMonthChange(nextMonth);\n }\n }, [nextMonth, onChangeDirection, onMonthChange]);\n\n const onPreviousClick = useCallback(() => {\n if (onChangeDirection) {\n onChangeDirection(false);\n }\n if (onMonthChange) {\n onMonthChange(previousMonth);\n }\n }, [onChangeDirection, onMonthChange, previousMonth]);\n\n return (\n <NavBarElement\n className={className}\n classNames={classNames}\n month={month}\n showPreviousButton={showPreviousButton}\n showNextButton={showNextButton}\n labels={labels}\n localeUtils={localeUtils}\n locale={locale}\n previousMonth={previousMonth}\n nextMonth={nextMonth}\n onNextClick={onNextClick}\n onPreviousClick={onPreviousClick}\n onClick={onClick}\n />\n );\n};\n","import styled, { css } from \"styled-components\";\nimport { FontStyle } from \"../FontStyle\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport tw from \"twin.macro\";\nimport DayPicker from \"react-day-picker\";\nimport { CSSTransition } from \"react-transition-group\";\n\nexport const StyledDatePicker = styled.div`\n ${FontStyle}\n ${BoxSizingStyle}\n\n overflow: hidden;\n min-width: 230px;\n\n ${tw`tw-flex tw-justify-center`}\n`;\n\nexport const StyledDayPicker = styled(DayPicker)<{ $isYearlyView: boolean }>`\n ${tw`tw-bg-page-paper-main`}\n width: 230px;\n\n ${(props) =>\n props.$isYearlyView &&\n css`\n .c-DayPicker-Weekdays,\n .c-DayPicker-Body {\n opacity: 0 !important;\n }\n `}\n\n .c-DayPicker-Month {\n display: table;\n user-select: none;\n border-collapse: separate;\n border-spacing: 4px;\n }\n\n .c-DayPicker-wrapper {\n position: relative;\n flex-direction: row;\n user-select: none;\n }\n\n .c-DayPicker-Caption {\n display: table-caption;\n margin-bottom: 0.5em;\n padding: 0 0.5em;\n ${tw`tw-text-center tw-text-theme-900`}\n }\n\n .c-DayPicker-Weekday {\n font-size: 11px;\n display: table-cell;\n padding: 0.5em;\n text-align: center;\n ${tw`tw-text-theme-600`}\n }\n\n .c-DayPicker-Body {\n display: table-row-group;\n font-size: 13px;\n ${tw`tw-text-theme-900 tw-font-bold`}\n }\n\n .c-DayPicker-Day {\n display: table-cell;\n border-radius: 50%;\n vertical-align: middle;\n text-align: center;\n cursor: pointer;\n transition-duration: 0.3s;\n width: 27px;\n height: 27px;\n line-height: 27px;\n }\n\n .c-DayPicker {\n display: inline-block;\n font-size: 1rem;\n }\n\n .c-DayPicker-Months {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n }\n\n .c-DayPicker-NavButton--interactionDisabled {\n display: none;\n }\n\n .c-DayPicker-Weekdays {\n text-decoration: none;\n display: table-header-group;\n margin-top: 1em;\n }\n\n .c-DayPicker-WeekdaysRow {\n display: table-row;\n }\n\n .c-DayPicker-Weekday * {\n display: block;\n border-bottom: none;\n text-decoration: none;\n overflow: hidden;\n text-overflow: \"\";\n white-space: nowrap;\n width: 12px;\n letter-spacing: 10px;\n transform: translateX(30%);\n }\n\n .c-DayPicker-Week {\n display: table-row;\n }\n\n .c-DayPicker--interactionDisabled .c-DayPicker-Day {\n cursor: default;\n }\n\n .hovered:not(.c-DayPicker-Day--selected) {\n background-color: var(--color-primary-300);\n color: var(--color-theme-900);\n }\n\n .c-DayPicker-Day--today {\n font-weight: 700;\n color: var(--color-primary);\n position: relative;\n\n &:after {\n position: absolute;\n content: \"\";\n bottom: 3px;\n height: 3px;\n width: 3px;\n border-radius: 3px;\n margin: 0 auto;\n left: 0;\n right: 0;\n background: var(--color-primary);\n }\n &.hovered:not(.c-DayPicker-Day--selected) {\n color: var(--color-primary);\n &:after {\n background-color: var(--color-primary);\n }\n }\n }\n\n .c-DayPicker-Day--userAvailability {\n color: var(--red-alert);\n &.hovered:not(.c-DayPicker-Day--selected) {\n background-color: rgba(237, 97, 97, 0.1);\n color: var(--red-alert);\n }\n &.c-DayPicker-Day--today {\n color: var(--red-alert);\n &:after {\n background-color: var(--red-alert);\n }\n &.hovered:not(.c-DayPicker-Day--selected):after {\n background-color: var(--red-alert);\n }\n }\n }\n\n .c-DayPicker-Day--selected {\n background-color: var(--color-primary);\n color: var(--color-theme-100);\n &.c-DayPicker-Day--today {\n color: var(--color-theme-100);\n &:after {\n background-color: var(--color-theme-100);\n }\n }\n &.c-DayPicker-Day--userAvailability {\n background-color: var(--red-alert);\n color: var(--color-theme-100);\n }\n }\n\n .c-DayPicker-Day--nonWorkingDay {\n color: var(--color-theme-500);\n &.hovered:not(.c-DayPicker-Day--selected) {\n color: var(--color-theme-500);\n }\n &.c-DayPicker-Day--today {\n color: var(--color-primary-500);\n &:after {\n background-color: var(--color-primary-500);\n }\n &.hovered:not(.c-DayPicker-Day--selected) {\n color: var(--color-theme-500);\n &:after {\n background-color: var(--color-theme-500);\n }\n }\n }\n &.c-DayPicker-Day--userAvailability {\n &.hovered:not(.c-DayPicker-Day--selected) {\n color: var(--color-theme-500);\n background-color: var(--color-primary-300);\n &.c-DayPicker-Day--today:after {\n background-color: var(--color-theme-500);\n }\n }\n }\n &.c-DayPicker-Day--selected {\n color: rgba(255, 255, 255, 0.6);\n background-color: var(--color-primary);\n .neon & {\n color: rgba(0, 0, 0, 0.4);\n }\n &.c-DayPicker-Day--today {\n color: rgba(255, 255, 255, 0.6);\n .neon & {\n color: rgba(0, 0, 0, 0.4);\n }\n &:after {\n background-color: rgba(255, 255, 255, 0.6);\n .neon & {\n background-color: rgba(0, 0, 0, 0.4);\n }\n }\n }\n }\n }\n .c-DayPicker-Day--disabled {\n cursor: default;\n color: var(--color-theme-500);\n &.hovered {\n color: var(--color-theme-500);\n }\n }\n\n .c-DayPicker-Day--outside {\n cursor: default;\n opacity: 0.15;\n color: var(--color-theme-900);\n\n &.c-DayPicker-Day--userAvailability.hovered:not(.c-DayPicker-Day--selected) {\n background: var(--color-primary-300);\n }\n &.c-DayPicker-Day--userAvailability:not(.c-DayPicker-Day--selected),\n &.c-DayPicker-Day--userAvailability.hovered:not(.c-DayPicker-Day--selected),\n &.c-DayPicker-Day--nonWorkingDay.hovered:not(.c-DayPicker-Day--selected),\n &.c-DayPicker-Day--nonWorkingDay:not(.c-DayPicker-Day--selected),\n &.c-DayPicker-Day--today.hovered:not(.c-DayPicker-Day--selected),\n &.c-DayPicker-Day--today:not(.c-DayPicker-Day--selected) {\n color: var(--color-theme-900);\n }\n\n &.c-DayPicker-Day--userAvailability.c-DayPicker-Day--today:not(.c-DayPicker-Day--selected):after,\n &.c-DayPicker-Day--userAvailability.c-DayPicker-Day--today.hovered:not(.c-DayPicker-Day--selected):after,\n &.c-DayPicker-Day--nonWorkingDay.c-DayPicker-Day--today:not(.c-DayPicker-Day--selected):after,\n &.c-DayPicker-Day--nonWorkingDay.c-DayPicker-Day--today.hovered:not(.c-DayPicker-Day--selected):after,\n &.c-DayPicker-Day--today.hovered:not(.c-DayPicker-Day--selected):after,\n &.c-DayPicker-Day--today:not(.c-DayPicker-Day--selected):after {\n background-color: var(--color-theme-900);\n }\n\n &.hovered:not(.c-DayPicker-Day--selected) {\n background: var(--color-primary-400);\n }\n\n &.c-DayPicker-Day--selected {\n color: var(--page-paper-main);\n background: var(--color-primary);\n .neon & {\n color: var(--page-paper-main);\n }\n &.c-DayPicker-Day--today {\n &:after {\n background: var(--page-paper-main);\n .neon & {\n background: var(--page-paper-main);\n }\n }\n &.c-DayPicker-Day--nonWorkingDay {\n color: var(--page-paper-main);\n .neon & {\n color: var(--page-paper-main);\n }\n }\n }\n }\n }\n`;\n\nexport const StyledDatePickerCSSTransition = styled(CSSTransition)<{\n $direction: boolean;\n}>`\n ${(props) =>\n props.$direction\n ? css`\n &.c-date-picker__animation-enter {\n .c-DayPicker-Caption,\n .c-DayPicker-Body {\n opacity: 0;\n transform: translateY(-20px);\n }\n }\n\n &.c-date-picker__animation-enter-active {\n .c-DayPicker-Caption,\n .c-DayPicker-Body {\n opacity: 1;\n transform: translateY(0px);\n transition-duration: 300ms;\n }\n }\n &.c-date-picker__animation-exit {\n .c-DayPicker-Caption,\n .c-DayPicker-Body {\n opacity: 1;\n }\n }\n &.c-date-picker__animation-exit-active {\n .c-DayPicker-Caption,\n .c-DayPicker-Body {\n opacity: 0;\n transform: translateY(20px);\n transition-duration: 300ms;\n }\n }\n `\n : css`\n &.c-date-picker__animation-enter {\n .c-DayPicker-Caption,\n .c-DayPicker-Body {\n opacity: 0;\n transform: translateY(20px);\n }\n }\n\n &.c-date-picker__animation-enter-active {\n .c-DayPicker-Caption,\n .c-DayPicker-Body {\n opacity: 1;\n transform: translateY(0px);\n transition-duration: 300ms;\n }\n }\n\n &.c-date-picker__animation-exit {\n .c-DayPicker-Caption,\n .c-DayPicker-Body {\n opacity: 1;\n }\n }\n\n &.c-date-picker__animation-exit-active {\n .c-DayPicker-Caption,\n .c-DayPicker-Body {\n opacity: 0;\n transform: translateY(-20px);\n transition-duration: 300ms;\n }\n }\n `}\n`;\n\nStyledDatePickerCSSTransition.displayName = \"StyledDatePickerCSSTransition\";\nStyledDatePicker.displayName = \"StyledDatePicker\";\nStyledDayPicker.displayName = \"StyledDayPicker\";\n","import React, { FC, useState, useCallback, useMemo, useEffect } from \"react\";\nimport {\n DayPickerProps,\n DateUtils,\n RangeModifier,\n Modifiers,\n DayModifiers,\n} from \"react-day-picker\";\nimport { customClassNames } from \"./ClassNames\";\nimport { SwitchTransition } from \"react-transition-group\";\nimport moment from \"moment\";\nimport { YearMonthPicker } from \"../Pickers/YearMonthPicker\";\nimport { CustomNavBarElement } from \"./CustomNavBarElement\";\nimport {\n StyledDatePicker,\n StyledDatePickerCSSTransition,\n StyledDayPicker,\n} from \"./Styles\";\n\nexport interface IDatePicker extends DayPickerProps {\n /** Calls when value is picked */\n onChange?: (dates?: { from: Date; to: Date }) => void;\n /** Called when day is clicked */\n onDayClick?: (day: Date, modifiers: DayModifiers) => void;\n /** Set selected day or days */\n selectedDays?: RangeModifier;\n /** Set selection range */\n selectionMode?: string;\n /** Set is date required */\n dateRequired?: boolean;\n /** Set first day of week */\n firstDayOfWeek?: number;\n /** Set fixed number of weeks in month */\n fixedWeeks?: boolean;\n}\n\nexport const DatePicker: FC<IDatePicker> = ({\n className,\n onChange,\n onDayClick,\n selectedDays,\n disabledDays,\n selectionMode = \"daily\",\n month = new Date(),\n onMonthChange = (): null => null,\n dateRequired = false,\n firstDayOfWeek = 0,\n fixedWeeks = true,\n modifiers: defaultModifiers,\n ...rest\n}) => {\n const [enteredTo, setEnteredTo] = useState<Date>();\n const [enteredFrom, setEnteredFrom] = useState<Date>();\n const [stopScroll, setStopScroll] = useState<Date>();\n const [direction, setDirection] = useState(true);\n const [isPreselected, setIsPreselected] = useState(() => {\n return (\n selectedDays?.from instanceof Date && selectedDays?.to instanceof Date\n );\n });\n const [showMonthPicker, setShowMonthPicker] = useState(\n selectionMode === \"quarterly\" || selectionMode === \"monthly\"\n );\n const [modifiers, setModifiers] = useState<Partial<Modifiers> | undefined>(\n defaultModifiers\n );\n const week = firstDayOfWeek === 0 ? \"week\" : \"isoWeek\";\n\n useEffect(() => {\n if (enteredFrom instanceof Date && enteredTo instanceof Date) {\n setModifiers((prev) => {\n return { ...prev, hovered: { from: enteredFrom, to: enteredTo } };\n });\n } else {\n setModifiers(defaultModifiers);\n }\n }, [enteredTo, enteredFrom, defaultModifiers]);\n\n const handleDayClick = useCallback(\n (day: Date, modifiers: DayModifiers) => {\n if (onDayClick) {\n onDayClick(day, modifiers);\n }\n if (!onChange) {\n return;\n }\n if (month.getMonth() !== day.getMonth()) {\n onMonthChange(day);\n }\n if (modifiers[\"c-DayPicker-Day--disabled\"] || selectionMode === \"none\") {\n return;\n }\n // reset the selectedDays if the user clicks on the same day\n if (\n !dateRequired &&\n ((selectedDays?.from &&\n moment(day).isSame(moment(selectedDays.from), \"day\")) ||\n (selectedDays?.to &&\n moment(day).isSame(moment(selectedDays.to), \"day\")))\n ) {\n setEnteredTo(undefined);\n setEnteredFrom(undefined);\n\n return onChange(undefined);\n }\n\n if (selectionMode === \"daily\") {\n return onChange({ from: day, to: day });\n }\n\n if (selectionMode === \"weekly\") {\n if (\n !dateRequired &&\n selectedDays?.from &&\n moment(day).isSame(moment(selectedDays.from), week)\n ) {\n return onChange(undefined);\n }\n return onChange({\n from: moment(day).startOf(week).toDate(),\n to: moment(day).endOf(week).toDate(),\n });\n }\n\n if (selectionMode === \"custom\") {\n if (isPreselected) {\n setIsPreselected(false);\n return onChange({ from: day, to: day });\n }\n if (\n !selectedDays ||\n (selectedDays?.from &&\n selectedDays?.to &&\n !moment(selectedDays.from).isSame(moment(selectedDays.to)))\n ) {\n if (\n !dateRequired &&\n selectedDays?.from &&\n selectedDays?.to &&\n moment(day).isBetween(\n moment(selectedDays.from),\n moment(selectedDays.to)\n )\n ) {\n setEnteredTo(day);\n setEnteredFrom(day);\n return onChange(undefined);\n }\n setEnteredFrom(day);\n return onChange({ from: day, to: day });\n }\n if (\n selectedDays?.from &&\n DateUtils.isDayAfter(day, selectedDays.from)\n ) {\n setEnteredTo(undefined);\n setEnteredFrom(undefined);\n return onChange({ from: selectedDays.from, to: day });\n }\n if (selectedDays?.to) {\n setEnteredTo(undefined);\n setEnteredFrom(undefined);\n return onChange({ from: day, to: selectedDays.to });\n }\n }\n },\n [\n onDayClick,\n onChange,\n month,\n selectionMode,\n dateRequired,\n selectedDays,\n onMonthChange,\n week,\n isPreselected,\n ]\n );\n\n const isSelectedFirstDay = useCallback(() => {\n if (selectionMode !== \"custom\") {\n return false;\n }\n if (selectedDays?.from && selectedDays?.to) {\n return moment(selectedDays.from).isSame(selectedDays.to);\n }\n }, [selectionMode, selectedDays]);\n\n const handleDayMouseEnter = useCallback(\n (day: Date) => {\n if (isPreselected && selectionMode !== \"weekly\") {\n setEnteredTo(day);\n setEnteredFrom(day);\n return;\n }\n if (selectionMode === \"daily\") {\n setEnteredTo(day);\n setEnteredFrom(day);\n }\n if (selectionMode === \"weekly\") {\n setEnteredFrom(moment(day).startOf(week).toDate());\n setEnteredTo(moment(day).endOf(week).toDate());\n }\n\n if (\n selectionMode !== \"weekly\" &&\n (!selectedDays ||\n (selectedDays?.from &&\n selectedDays?.to &&\n !moment(selectedDays.from).isSame(moment(selectedDays.to))))\n ) {\n setEnteredTo(day);\n setEnteredFrom(day);\n }\n\n if (isSelectedFirstDay() && selectedDays?.from) {\n setEnteredFrom(selectedDays.from);\n setEnteredTo(day);\n }\n },\n [selectionMode, isSelectedFirstDay, selectedDays, week, isPreselected]\n );\n\n const onDayMouseLeave = useCallback(() => {\n if (\n selectionMode === \"weekly\" ||\n selectionMode === \"daily\" ||\n selectionMode === \"custom\"\n ) {\n setEnteredFrom(undefined);\n setEnteredTo(undefined);\n }\n }, [setEnteredFrom, setEnteredTo, selectionMode]);\n\n const onWheel = useCallback(\n (e: { deltaY: number }) => {\n if (\n stopScroll &&\n (new Date().getTime() - stopScroll.getTime()) / 1000 < 0.9\n ) {\n return;\n }\n const nextMonth = showMonthPicker\n ? DateUtils.addMonths(month, 12)\n : DateUtils.addMonths(month, 1);\n const previousMonth = showMonthPicker\n ? DateUtils.addMonths(month, -12)\n : DateUtils.addMonths(month, -1);\n if (e.deltaY > 0.9) {\n setDirection(true);\n onMonthChange(nextMonth);\n setStopScroll(new Date());\n }\n if (e.deltaY < -0.9) {\n setDirection(false);\n onMonthChange(previousMonth);\n setStopScroll(new Date());\n }\n },\n [stopScroll, showMonthPicker, month, onMonthChange]\n );\n\n const togglePicker = useCallback(() => {\n if (selectionMode !== \"monthly\" && selectionMode !== \"quarterly\") {\n return setShowMonthPicker(!showMonthPicker);\n }\n setShowMonthPicker(true);\n }, [showMonthPicker, selectionMode]);\n\n const customNavBarElement = useCallback(\n (props) => {\n return (\n <CustomNavBarElement\n {...props}\n showMonthPicker={showMonthPicker}\n month={month}\n onChangeDirection={setDirection}\n onMonthChange={onMonthChange}\n onClick={togglePicker}\n />\n );\n },\n [showMonthPicker, month, onMonthChange, togglePicker]\n );\n\n const handleYearMonthChange = useCallback(\n (m: Date) => {\n if (onChange) {\n if (selectionMode === \"monthly\") {\n if (\n !dateRequired &&\n selectedDays?.from &&\n moment(m).isSame(moment(selectedDays.from), \"month\")\n ) {\n return onChange(undefined);\n }\n onChange({\n from: moment(m).startOf(\"month\").toDate(),\n to: moment(m).endOf(\"month\").toDate(),\n });\n }\n if (selectionMode === \"quarterly\") {\n if (\n !dateRequired &&\n selectedDays?.from &&\n moment(m).isSame(\n moment(selectedDays.from).startOf(\"quarter\"),\n \"quarter\"\n )\n ) {\n return onChange(undefined);\n }\n onChange({\n from: moment(m).startOf(\"quarter\").toDate(),\n to: moment(m).endOf(\"quarter\").toDate(),\n });\n }\n }\n onMonthChange(m);\n },\n [onMonthChange, onChange, selectedDays, selectionMode, dateRequired]\n );\n\n const text = useMemo(() => {\n if (showMonthPicker) {\n return `${month.getFullYear()}`;\n }\n return `${moment(month).format(\"MMMM\")} ${\n moment(month).isSame(moment(), \"year\") ? \"\" : month.getFullYear()\n }`;\n }, [showMonthPicker, month]);\n\n const handleYearMonthForm = useCallback(\n (props) => {\n return (\n <YearMonthPicker\n {...props}\n text={text}\n selectedDays={selectedDays}\n onChange={handleYearMonthChange}\n isShown={showMonthPicker}\n selectionMode={selectionMode}\n />\n );\n },\n [text, selectedDays, handleYearMonthChange, showMonthPicker, selectionMode]\n );\n\n const onKeyDownCallback = useCallback(\n (e: KeyboardEvent) => {\n // Right Arrow\n if (e.key === \"ArrowRight\") {\n setDirection(true);\n if (showMonthPicker) {\n onMonthChange(new Date(month.getFullYear() + 1, month.getMonth()));\n } else {\n onMonthChange(new Date(month.getFullYear(), month.getMonth() + 1));\n }\n }\n // Left Arrow\n if (e.key === \"ArrowLeft\") {\n setDirection(false);\n if (showMonthPicker) {\n onMonthChange(new Date(month.getFullYear() - 1, month.getMonth()));\n } else {\n onMonthChange(new Date(month.getFullYear(), month.getMonth() - 1));\n }\n }\n // Up Arrow\n if (e.key === \"ArrowUp\") {\n setDirection(true);\n onMonthChange(new Date(month.getFullYear() + 1, month.getMonth()));\n }\n // Down Arrow\n if (e.key === \"ArrowDown\") {\n setDirection(false);\n onMonthChange(new Date(month.getFullYear() - 1, month.getMonth()));\n }\n },\n [showMonthPicker, onMonthChange, month]\n );\n\n useEffect(() => {\n document.addEventListener(\"keydown\", onKeyDownCallback);\n return (): void => {\n document.removeEventListener(\"keydown\", onKeyDownCallback);\n };\n }, [month, onMonthChange, showMonthPicker, onKeyDownCallback]);\n\n return (\n <StyledDatePicker className=\"c-date-picker-wrapper\" onWheel={onWheel}>\n <SwitchTransition mode=\"out-in\">\n <StyledDatePickerCSSTransition\n key={showMonthPicker ? month.getFullYear() : month.getMonth()}\n timeout={300}\n classNames=\"c-date-picker__animation\"\n $direction={direction}\n >\n <StyledDayPicker\n {...rest}\n disabledDays={disabledDays}\n selectedDays={selectedDays}\n onDayClick={handleDayClick}\n modifiers={modifiers}\n onDayMouseEnter={handleDayMouseEnter}\n onDayMouseLeave={onDayMouseLeave}\n className={className}\n $isYearlyView={showMonthPicker}\n month={month}\n navbarElement={customNavBarElement}\n onCaptionClick={togglePicker}\n captionElement={handleYearMonthForm}\n classNames={customClassNames}\n fixedWeeks={fixedWeeks}\n firstDayOfWeek={firstDayOfWeek}\n />\n </StyledDatePickerCSSTransition>\n </SwitchTransition>\n </StyledDatePicker>\n );\n};\n\nDatePicker.displayName = \"DatePicker\";\n","import { theme } from \"twin.macro\";\n\nconst size = {\n sm: theme(\"screens.sm\"),\n md: theme(\"screens.md\"),\n lg: theme(\"screens.lg\"),\n xl: theme(\"screens.xl\"),\n xxl: theme(\"screens.2xl\"),\n};\n\nexport const screen = {\n sm: `@media (min-width: ${size.sm})`,\n md: `@media (min-width: ${size.md})`,\n lg: `@media (min-width: ${size.lg})`,\n xl: `@media (min-width: ${size.xl})`,\n xxl: `@media (min-width: ${size.xxl})`,\n};\n","import styled, { css } from \"styled-components\";\nimport { ButtonGroup } from \"../../ButtonGroup\";\nimport { FontStyle } from \"../../FontStyle\";\nimport { BoxSizingStyle } from \"../../BoxSizingStyle\";\nimport { screen } from \"../../BreakPoints\";\nimport tw from \"twin.macro\";\nimport { Menu } from \"../../Menu\";\nimport { IconButton } from \"../../IconButton\";\n\nexport const StyledButton = styled.button`\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${tw`\n tw-relative\n tw-antialiased\n tw-align-middle\n tw-font-medium\n tw-inline-block\n tw-leading-none\n tw-m-0\n tw-no-underline\n tw-text-sm\n tw-select-none\n tw-cursor-pointer\n tw-text-center\n `}\n\n color: var(--color-theme-700);\n margin: 0;\n padding: 0;\n background: none;\n width: 100%;\n height: auto;\n border: none;\n height: 30px;\n line-height: 1;\n transition: all 0.3s ease;\n\n svg {\n fill: currentColor;\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n\n &:focus {\n outline: none;\n }\n\n &:hover {\n text-decoration: none;\n }\n\n &:disabled {\n cursor: default;\n opacity: 50%;\n pointer-events: none;\n }\n`;\n\nexport const StyledMenu = styled(Menu)`\n ${tw`\n tw-w-auto\n tw-h-auto\n tw-py-4\n tw-px-2\n `}\n`;\n\nexport const StyledButtonGroup = styled(ButtonGroup)`\n ${FontStyle}\n ${BoxSizingStyle}\n\n button:hover {\n position: relative;\n z-index: 1;\n }\n`;\n\nexport const StyledSpan = styled.span`\n line-height: 30px;\n color: var(--color-theme-700);\n`;\n\ninterface StyledDiv {\n $isTargetable: boolean;\n $isRounded: boolean;\n}\n\nexport const StyledDiv = styled.div<StyledDiv>`\n ${(props) =>\n props.$isTargetable &&\n css`\n ${tw`tw-pointer-events-none`}\n `}\n\n ${(props) =>\n props.$isRounded &&\n css`\n border-radius: var(--ac-br-rounded);\n `}\n\n ${tw`\n tw-relative\n tw-text-center\n tw-p-0\n tw-antialiased\n tw-align-middle\n tw-font-medium\n tw-inline-block\n tw-leading-none\n tw-m-0\n tw-no-underline\n tw-text-sm\n tw-select-none\n tw-cursor-pointer\n tw-border\n tw-border-solid\n `}\n\n height: 32px;\n transition: all 0.3s ease;\n background-color: transparent;\n border: solid 1px var(--color-theme-700);\n color: var(--color-theme-700);\n margin-right: -1px;\n display: none;\n\n ${screen.md} {\n display: block;\n }\n\n svg {\n fill: currentColor;\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n\n &:focus {\n outline: none;\n }\n\n &:disabled {\n cursor: default;\n opacity: 50%;\n pointer-events: none;\n }\n\n &:hover {\n border-color: var(--color-primary);\n color: var(--color-primary);\n text-decoration: none;\n }\n\n &:active {\n border-color: var(--color-primary);\n color: var(--color-primary);\n background-color: var(--color-primary-200);\n }\n`;\n\nexport const StyledControl = styled(IconButton)`\n border-radius: var(--ac-br-8);\n`;\n\nStyledButtonGroup.displayName = \"StyledButtonGroup\";\nStyledSpan.displayName = \"StyledSpan\";\nStyledDiv.displayName = \"StyledDiv\";\nStyledMenu.displayName = \"StyledMenu\";\nStyledButton.displayName = \"StyledButton\";\nStyledControl.displayName = \"StyledControl\";\n","import React, { FC, useCallback, useMemo, useState, useEffect } from \"react\";\nimport classNames from \"classnames\";\nimport moment, { Moment } from \"moment\";\nimport MomentLocaleUtils from \"react-day-picker/moment\";\nimport { Placement } from \"@popperjs/core\";\nimport ArrowLeftIcon from \"../../Icons/collection/ArrowLeft\";\nimport { DatePicker } from \"../../DatePicker\";\nimport { customClassNames } from \"../../DatePicker/ClassNames\";\nimport {\n StyledButton,\n StyledButtonGroup,\n StyledDiv,\n StyledMenu,\n StyledSpan,\n StyledControl,\n} from \"./Styles\";\nimport { ArrowRightIcon } from \"../../Icons\";\n\ninterface IDateStepperProps {\n /** One of the possible steps for this component */\n step:\n | \"daily\"\n | \"weekly\"\n | \"monthly\"\n | \"quarterly\"\n | \"yearly\"\n | \"custom\"\n | string;\n /** Callback function that will be called after the changed range */\n onChange?: (from: Date, to: Date) => void;\n /** Start date of the range */\n from: Date | string;\n /** End date of the range */\n to: Date | string;\n /** Callback function that will format the text label */\n formatCallback?: (from: string | Date, to: string | Date) => string;\n /** Default month */\n defaultMonth?: Date;\n /** Callback function onBack */\n onBack?: (from: Date, to: Date) => void;\n /** Callback function onForward */\n onForward?: (from: Date, to: Date) => void;\n /** Min date */\n minValue?: Date;\n /** Max fate */\n maxValue?: Date;\n /** html class */\n className?: string;\n /** Period for calculating week (isoWeek) */\n period?: \"week\" | \"isoWeek\";\n /** Classes for datePicker */\n datePickerClass?: string;\n /** Show datePicker in the middle button */\n withDatePicker?: boolean;\n /** Popper class name*/\n popperClassName?: string;\n /** DatePicker menu position */\n position?: Placement;\n}\n\n/**\n * This component allow you to select date range. It accepts two parameters \"from\" and \"to\" as valid format\n * onChange and onBack and onForward it will return \"from: Date\" and \"to: Date\" as function arguments\n */\nexport const DateStepper: FC<IDateStepperProps> = ({\n step,\n formatCallback,\n onChange,\n from,\n to,\n onBack,\n onForward,\n minValue,\n maxValue,\n className,\n period = \"week\",\n datePickerClass,\n withDatePicker = true,\n defaultMonth = new Date(),\n popperClassName,\n position = \"bottom\",\n}) => {\n const [fromDate, setFromDate] = useState(moment(from));\n const [toDate, setToDate] = useState(moment(to));\n const [showDatePicker, setShowDatePicker] = useState(false);\n const [month, setMonth] = useState(defaultMonth);\n\n const getDatesByPeriod = useCallback(\n (interval: number): Moment[] => {\n const date = fromDate ? fromDate : moment();\n if (step === \"daily\") {\n date.add(interval, \"days\");\n return [date, date.clone()];\n } else if (step === \"weekly\") {\n date.add(interval, \"weeks\");\n return [date.clone().startOf(period), date.clone().endOf(period)];\n } else if (step === \"monthly\") {\n date.add(interval, \"months\");\n return [date.clone().startOf(\"month\"), date.clone().endOf(\"month\")];\n } else if (step === \"quarterly\") {\n date.add(interval, \"quarters\");\n return [date.clone().startOf(\"quarter\"), date.clone().endOf(\"quarter\")];\n } else if (step === \"yearly\") {\n date.add(interval, \"years\");\n return [date.clone().startOf(\"year\"), date.clone().endOf(\"year\")];\n }\n return [date, date];\n },\n [fromDate, period, step]\n );\n\n const getDateFormatted = useMemo(() => {\n if (formatCallback) {\n return formatCallback(fromDate.toDate(), toDate.toDate());\n }\n\n const actualYear = moment().year();\n\n const showWeekOrCustomDateFormat = (start, end): string => {\n if (start.year() === actualYear && end.year() === actualYear) {\n return start.format(\"MMM DD\") + \" - \" + end.format(\"MMM DD\");\n } else {\n return start.format(\"MMM DD YYYY\") + \" - \" + end.format(\"MMM DD YYYY\");\n }\n };\n\n if (step === \"daily\") {\n if (fromDate.year() === actualYear) {\n return fromDate.format(\"MMM DD\");\n }\n return fromDate.format(\"MMM DD YYYY\");\n } else if (step === \"weekly\") {\n const startDate = fromDate.clone().startOf(period);\n const endDate = startDate.clone().endOf(period);\n return showWeekOrCustomDateFormat(startDate, endDate);\n } else if (step === \"monthly\") {\n return fromDate.format(\"MMM YYYY\");\n } else if (step === \"quarterly\") {\n return `Q${fromDate.quarter()}/${fromDate.format(\"YYYY\")}`;\n } else if (step === \"yearly\") {\n return fromDate.format(\"YYYY\");\n } else if (step === \"custom\") {\n return showWeekOrCustomDateFormat(fromDate, toDate);\n }\n\n return \"\";\n }, [fromDate, step, toDate, formatCallback, period]);\n\n const onChangeCallback = useCallback(\n (amount: number) => {\n const [newFrom, newTo] = getDatesByPeriod(amount);\n setFromDate(moment(newFrom));\n setToDate(moment(newTo));\n\n if (onChange) {\n onChange(newFrom.toDate(), newTo.toDate());\n }\n },\n [onChange, getDatesByPeriod]\n );\n\n const onDatePickerChange = useCallback(\n (dates?: { from: Date; to: Date }) => {\n const fromDateTemp = dates?.from;\n const toDateTemp = dates?.to;\n\n setFromDate(moment(fromDateTemp));\n setToDate(moment(toDateTemp));\n\n if (\n onChange &&\n fromDateTemp instanceof Date &&\n toDateTemp instanceof Date\n ) {\n onChange(fromDateTemp, toDateTemp);\n }\n },\n [onChange, setFromDate, setToDate]\n );\n\n const isAfterMaxDate = useMemo(() => {\n return (\n maxValue instanceof Date &&\n moment(moment(maxValue).format(\"YYYY-MM-DD\")).isSameOrBefore(\n toDate.format(\"YYYY-MM-DD\")\n )\n );\n }, [maxValue, toDate]);\n\n const isBeforeMinDate = useMemo(() => {\n return (\n minValue instanceof Date &&\n moment(moment(minValue).format(\"YYYY-MM-DD\")).isSameOrAfter(\n toDate.format(\"YYYY-MM-DD\")\n )\n );\n }, [minValue, toDate]);\n\n useEffect(() => {\n if (isBeforeMinDate) {\n if (step === \"daily\") {\n setFromDate(moment(minValue));\n setToDate(moment(minValue));\n }\n }\n if (isAfterMaxDate) {\n if (step === \"daily\") {\n setFromDate(moment(maxValue));\n setToDate(moment(maxValue));\n }\n }\n }, [step, minValue, maxValue, isBeforeMinDate, isAfterMaxDate]);\n\n const onRightClickHandler = useCallback(() => {\n if (isAfterMaxDate) {\n return;\n }\n\n onChangeCallback(1);\n\n if (onForward) {\n onForward(fromDate.toDate(), toDate.toDate());\n }\n }, [isAfterMaxDate, onChangeCallback, onForward, fromDate, toDate]);\n\n const onLeftClickHandler = useCallback(() => {\n if (isBeforeMinDate) {\n return;\n }\n\n onChangeCallback(-1);\n\n if (onBack) {\n onBack(fromDate.toDate(), toDate.toDate());\n }\n }, [isBeforeMinDate, onChangeCallback, onBack, fromDate, toDate]);\n\n const renderLeftRightButtons = useMemo(() => {\n return step !== \"custom\";\n }, [step]);\n\n const handleShow = useCallback(() => {\n setShowDatePicker(!showDatePicker);\n if (fromDate) {\n setMonth(fromDate.toDate());\n }\n }, [setShowDatePicker, showDatePicker, fromDate]);\n\n const closeMenu = useCallback(() => {\n setShowDatePicker(false);\n }, []);\n\n const onMonthChange = useCallback(\n (m: Date) => {\n setMonth(m);\n },\n [setMonth]\n );\n\n useEffect(() => {\n setFromDate(moment(from));\n setToDate(moment(to));\n }, [from, to]);\n\n const dateStepperWidth = (\n fromDay: Moment,\n toDay: Moment,\n range: string\n ): { minWidth: string } => {\n if (\n fromDay.year() !== moment().year() ||\n toDay.year() !== moment().year()\n ) {\n switch (range) {\n case \"daily\":\n case \"monthly\":\n return { minWidth: \"122px\" };\n case \"weekly\":\n case \"custom\":\n return { minWidth: \"232px\" };\n }\n }\n switch (range) {\n case \"monthly\":\n return { minWidth: \"122px\" };\n case \"weekly\":\n case \"custom\":\n return { minWidth: \"182px\" };\n }\n\n return { minWidth: \"102px\" };\n };\n const isDisabled = useCallback(\n (day: Date): boolean => {\n const dayFormat = moment(day).format(\"YYYY-MM-DD\");\n\n const isBefore =\n maxValue instanceof Date &&\n moment(moment(maxValue).format(\"YYYY-MM-DD\")).isBefore(dayFormat);\n const isAfter =\n minValue instanceof Date &&\n moment(moment(minValue).format(\"YYYY-MM-DD\")).isAfter(dayFormat);\n\n return isBefore || isAfter;\n },\n [maxValue, minValue]\n );\n\n const modifiers = useMemo(() => {\n return {\n [customClassNames.disabled]: (day: Date): boolean => {\n return isDisabled(day);\n },\n [customClassNames.nonWorkingDay]: (day: Date): boolean => {\n return isDisabled(day);\n },\n };\n }, [isDisabled]);\n\n return (\n <StyledButtonGroup className={classNames(\"c-date-stepper\", className)}>\n {renderLeftRightButtons ? (\n <StyledControl\n type=\"button\"\n variant=\"secondary\"\n onClick={onLeftClickHandler}\n disabled={isBeforeMinDate}\n >\n <ArrowLeftIcon />\n </StyledControl>\n ) : null}\n <StyledDiv\n $isTargetable={step === \"yearly\" || !withDatePicker}\n $isRounded={step === \"custom\"}\n style={dateStepperWidth(fromDate, toDate, step)}\n >\n {withDatePicker ? (\n <StyledMenu\n target={\n <StyledButton type=\"button\">\n <span>{getDateFormatted}</span>\n </StyledButton>\n }\n open={showDatePicker}\n onOpen={handleShow}\n onClose={closeMenu}\n popperClassName={popperClassName}\n position={position}\n >\n <DatePicker\n month={month}\n localeUtils={MomentLocaleUtils}\n locale=\"en\"\n selectionMode={step}\n className={datePickerClass}\n selectedDays={{ from: fromDate.toDate(), to: toDate.toDate() }}\n onChange={onDatePickerChange}\n onMonthChange={onMonthChange}\n firstDayOfWeek={period === \"week\" ? 0 : 1}\n modifiers={modifiers}\n dateRequired\n fixedWeeks\n />\n </StyledMenu>\n ) : (\n <StyledSpan>{getDateFormatted}</StyledSpan>\n )}\n </StyledDiv>\n {renderLeftRightButtons ? (\n <StyledControl\n type=\"button\"\n variant=\"secondary\"\n onClick={onRightClickHandler}\n disabled={isAfterMaxDate}\n >\n <ArrowRightIcon />\n </StyledControl>\n ) : null}\n </StyledButtonGroup>\n );\n};\n\nDateStepper.displayName = \"DateStepper\";\n","import styled, { css } from \"styled-components\";\nimport { FontStyle } from \"../../FontStyle\";\nimport { BoxSizingStyle } from \"../../BoxSizingStyle\";\n\nexport const StyledSteps = styled.div`\n ${FontStyle}\n ${BoxSizingStyle}\n\n display: flex;\n justify-content: center;\n`;\n\nexport const StyledStep = styled.div<{ $isActiveStep: boolean }>`\n display: inline-block;\n width: 8px;\n height: 8px;\n background-color: var(--color-theme-400);\n border-radius: 50%;\n margin: 0 5px;\n\n ${(props) =>\n props.$isActiveStep &&\n css`\n background-color: var(--color-primary);\n `}\n`;\n\nStyledSteps.displayName = \"StyledSteps\";\nStyledStep.displayName = \"StyledStep\";\n","import React, { Ref, useMemo, forwardRef } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledStep, StyledSteps } from \"./Styles\";\n\ninterface IStepsProps {\n /** Number of steps */\n numberOfSteps: number;\n /** If not progressive, the index of the only active step. If progressive, the index of the last active steps */\n activeStep: number;\n /** Does the stepper can have only single active step */\n progressive?: boolean;\n /** Class for wrapper div */\n wrapperClassName?: string;\n}\n\nexport const Steps = forwardRef(\n (\n {\n numberOfSteps,\n activeStep,\n progressive = false,\n wrapperClassName,\n }: IStepsProps,\n ref: Ref<HTMLDivElement> | null | undefined\n ) => {\n const steps = useMemo(() => {\n // fastest way to generate an array of N numbers\n const a: number[] = [];\n let b = numberOfSteps;\n while (b--) {\n a[b] = b + 1;\n }\n return a;\n }, [numberOfSteps]);\n\n const activeSteps = useMemo(() => {\n if (!progressive) {\n return [activeStep];\n }\n\n return steps.filter((step) => {\n return step <= activeStep;\n });\n }, [activeStep, progressive, steps]);\n\n return (\n <StyledSteps\n className={classnames(\"c-steps-wrapper\", wrapperClassName)}\n ref={ref}\n >\n {steps.map((step) => {\n return (\n <StyledStep\n key={`step-${step}`}\n $isActiveStep={activeSteps.indexOf(step) > -1}\n />\n );\n })}\n </StyledSteps>\n );\n }\n);\n\nSteps.displayName = \"Steps\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\nexport const StyledTableHead = styled.thead<{\n $headerVariant: \"primary\" | \"secondary\";\n}>`\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${tw`tw-text-left tw-uppercase`}\n ${tw`tw-text-theme-700 tw-font-semibold tw-text-xxs`}\n\n ${(props) =>\n props.$headerVariant &&\n props.$headerVariant === \"primary\" &&\n css`\n th {\n ${tw`tw-whitespace-nowrap tw-pl-4 tw-pr-4 tw-pb-8 tw-pt-2`}\n }\n\n tr {\n td:first-child,\n th:first-child {\n ${tw`tw-pl-6`}\n }\n }\n `}\n\n ${(props) =>\n props.$headerVariant &&\n props.$headerVariant === \"secondary\" &&\n css`\n th {\n ${tw`tw-whitespace-nowrap`}\n }\n\n tr {\n th {\n padding-bottom: 8px;\n padding-left: 16px;\n }\n }\n\n tr {\n th:last-child {\n padding-right: 16px;\n }\n }\n `}\n`;\nStyledTableHead.displayName = \"StyledTableHead\";\n\nexport const StyledTableBody = styled.tbody`\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${tw`tw-truncate`}\n\n td {\n ${tw`tw-truncate`}\n }\n\n &:not(.c-table__grouped__head) {\n td {\n ${tw`tw-text-theme-700`}\n }\n }\n\n a {\n ${tw`tw-no-underline tw-text-primary`}\n &:hover {\n ${tw`tw-underline`}\n }\n }\n`;\nStyledTableBody.displayName = \"StyledTableBody\";\n\nexport const StyledTableWrapper = styled.div`\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${tw`tw-mt-8 tw-mx-4 tw-overflow-x-auto tw-overflow-y-hidden`}\n\n &:before {\n ${tw`tw-absolute tw-left-0 tw-right-0 tw-bottom-0 tw-bg-page-paper-main tw-rounded-lg tw-shadow-lg`}\n content: \"\";\n top: 39px;\n z-index: -1;\n }\n`;\nStyledTableWrapper.displayName = \"StyledTableWrapper\";\n\nexport const StyledTable = styled.table<{\n $striped: boolean;\n}>`\n ${tw`tw-w-full tw-p-0 tw-text-xs tw-pb-4`}\n border-spacing: 0;\n\n ${StyledTableHead} tr th,\n ${StyledTableBody} tr td {\n &:last-child {\n ${tw`tw-text-right`}\n }\n }\n\n td {\n ${tw`tw-py-3 tw-px-4`}\n }\n\n ${(props) =>\n props.$striped &&\n css`\n ${StyledTableBody}:not(.c-table__grouped__head) {\n tr:nth-child(odd) {\n ${tw`tw-bg-theme-200`}\n }\n }\n `}\n`;\nStyledTable.displayName = \"StyledTable\";\n\nexport const StyledDataTable = styled.div`\n ${FontStyle}\n ${BoxSizingStyle}\n\n &.c-table__collapsible {\n .c-table__head {\n tr {\n th {\n position: sticky;\n top: 0;\n z-index: 1;\n }\n }\n }\n }\n &.c-table__grouped {\n .c-table__head th {\n ${tw`tw-pb-4`}\n &:last-child {\n ${tw`tw-pr-0`}\n }\n }\n }\n &.c-data-table {\n position: relative;\n .c-table__head th {\n &:last-child {\n ${tw`tw-pr-0`}\n }\n }\n }\n .c-table__cell {\n ${tw`tw-relative`}\n &:hover {\n .c-table__icon {\n ${tw`tw-opacity-50`}\n }\n }\n }\n .c-table__overlay {\n ${tw`tw-absolute tw-w-full tw-left-0 tw-pointer-events-none`}\n top: 0px;\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n background: rgba(0, 0, 0, 0.02);\n .neon & {\n background: rgba(0, 0, 0, 0.1);\n }\n z-index: 5;\n }\n .c-table__icon-wrapper {\n ${tw`tw-inline-block tw-select-none`}\n }\n .c-table__label {\n ${tw`tw-border-0 tw-border-0 tw-border-transparent tw-border-solid`}\n }\n .c-table__icon {\n transform: translateY(1px);\n ${tw`tw-ml-1`}\n fill: var(--color-theme-900);\n\n &:hover {\n ${tw`tw-opacity-100`}\n }\n }\n .c-table__icon--inactive {\n ${tw`tw-opacity-0`}\n }\n .c-table__icon--active {\n ${tw`tw-opacity-100`}\n }\n .c-table__icon--desc {\n transform: rotate(-180deg) scale(-1, 1);\n }\n .c-table__grouped__head {\n ${tw`tw-font-bold`}\n > :first-child {\n ${tw`tw-text-theme-900`}\n }\n a:first-child {\n ${tw`tw-text-primary`}\n }\n }\n .c-table__head--hidden {\n ${tw`tw-pointer-events-none tw-opacity-0`}\n }\n .c-table__collapse_icon--expanded {\n transition-duration: 0.3s;\n ${tw`tw-cursor-pointer`}\n }\n .c-table__collapse_icon--collapsed {\n transform: rotate(180deg);\n transition-duration: 0.3s;\n ${tw`tw-cursor-pointer`}\n }\n .c-table__head__icon-wrapper__icon {\n ${tw`tw-absolute tw-cursor-pointer`}\n transform: translate(-24px, -5px);\n }\n &.c-table__collapsible {\n .c-table__group {\n .c-table__row:last-child .c-table__cell {\n border-bottom: 1px solid var(--border-primary);\n }\n &:last-child {\n .c-table__row:last-child .c-table__cell {\n border-bottom: 0;\n }\n }\n }\n .c-table__grouped__head {\n tr td {\n border-bottom: 1px solid var(--border-primary);\n }\n .c-table__body__collapse td {\n border-bottom: 0;\n }\n &.last {\n tr td {\n border-bottom: 0 !important;\n }\n }\n }\n .c-table__grouped__head--expanded {\n tr:last-child td {\n border-bottom: 0;\n }\n }\n }\n .c-table__collapse_body {\n tr {\n background-color: transparent !important;\n }\n td:last-child {\n ${tw`tw-border-0`}\n }\n ${tw`tw-absolute`}\n }\n .c-table__row {\n td:first-child {\n position: sticky;\n left: 0;\n z-index: 1;\n }\n &:nth-child(odd) {\n td {\n ${tw`tw-bg-theme-200`}\n }\n }\n &:nth-child(even) {\n td {\n ${tw`tw-bg-page-paper-main`}\n }\n }\n }\n .c-table__row {\n th:first-child {\n position: sticky;\n left: 0;\n z-index: 2 !important;\n }\n }\n &.c-table__collapsible .c-table__body {\n tr {\n td:first-child,\n th:first-child {\n ${tw`tw-pl-6`}\n }\n }\n }\n .c-table__body__icon {\n ${tw`tw-p-0`}\n padding-left: 0 !important;\n transform: translateY(8px);\n }\n &.padding-b-0 {\n ${tw`tw-pb-0`}\n }\n .cursor-pointer {\n ${tw`tw-cursor-pointer`}\n }\n .text-center {\n ${tw`tw-text-center`}\n }\n .opacity-75 {\n ${tw`tw-opacity-75`}\n }\n .hidden {\n ${tw`tw-hidden`}\n }\n`;\nStyledDataTable.displayName = \"StyledDataTable\";\n","import React, { ReactNode, FC, RefObject } from \"react\";\nimport classNames from \"classnames\";\nimport {\n StyledTableWrapper,\n StyledTable,\n StyledTableBody,\n StyledTableHead,\n} from \"./Styles\";\n\nexport interface ITableWithChildren {\n /** Children prop can be ReactNode. */\n children: ReactNode;\n /** Classname prop for custom styling. */\n className?: string;\n}\n\nexport interface ITableProps {\n /** Darker color on odd column. */\n striped?: boolean;\n /** CSS classes. */\n className?: string;\n /** CSS classes for wrapper */\n wrapperClassName?: string;\n /** Ref object for table. */\n innerRef?: RefObject<HTMLTableElement>;\n}\n\nexport const Table: FC<ITableProps & ITableWithChildren> = ({\n children,\n className,\n wrapperClassName,\n striped = false,\n innerRef,\n}) => {\n return (\n <StyledTableWrapper\n className={classNames(\"c-table__wrap\", wrapperClassName)}\n >\n <StyledTable\n ref={innerRef}\n className={classNames(\"c-table\", className)}\n $striped={striped}\n >\n {children}\n </StyledTable>\n </StyledTableWrapper>\n );\n};\n\nTable.displayName = \"Table\";\n\nexport const Thead: FC<\n ITableWithChildren & { headerVariant?: \"primary\" | \"secondary\" }\n> = ({ children, className, headerVariant = \"primary\" }) => (\n <StyledTableHead\n $headerVariant={headerVariant}\n className={classNames(\"c-table__head\", className)}\n >\n {children}\n </StyledTableHead>\n);\n\nThead.displayName = \"Thead\";\n\nexport const Tbody: FC<ITableWithChildren> = ({ children, className }) => (\n <StyledTableBody className={classNames(\"c-table__body\", className)}>\n {children}\n </StyledTableBody>\n);\n\nTbody.displayName = \"Tbody\";\n","import styled, { keyframes } from \"styled-components\";\n\nconst linearAnimation = keyframes`\n 0% {\n background-position: left;\n }\n 100% {\n background-position: right;\n }\n`;\n\nexport const StyledLinearLoader = styled.div`\n width: 70%;\n background: linear-gradient(\n 90deg,\n rgba(255, 255, 255, 0) 20%,\n rgba(0, 0, 0, 0.05) 50%,\n rgba(255, 255, 255, 0) 60%\n );\n background-size: 400%;\n height: 16px;\n border-radius: 8px;\n .neon & {\n background: linear-gradient(\n 90deg,\n rgba(255, 255, 255, 0) 20%,\n rgba(0, 0, 0, 0.2) 50%,\n rgba(255, 255, 255, 0) 60%\n );\n background-size: 500%;\n }\n animation-duration: 1s;\n animation-iteration-count: infinite;\n animation-name: ${linearAnimation};\n animation-timing-function: linear;\n animation-direction: reverse;\n`;\n","import React, { forwardRef } from \"react\";\nimport classNames from \"classnames\";\nimport { StyledLinearLoader } from \"./Styles\";\n\nexport const LinearLoader = forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<\"div\">\n>(({ className, ...rest }, ref) => {\n return (\n <StyledLinearLoader\n ref={ref}\n className={classNames(\"c-loader c-loader--linear\", className)}\n {...rest}\n />\n );\n});\n\nLinearLoader.displayName = \"LinearLoader\";\n","import styled, { keyframes } from \"styled-components\";\n\nconst dotAnimation = keyframes`\n 0%,\n 80%,\n 100% {\n transform: scale(0);\n }\n 40% {\n transform: scale(1);\n }\n`;\n\nexport const StyledDotsLoader = styled.span`\n display: inline-block;\n text-align: center;\n\n & > span {\n display: inline-block;\n width: 18px;\n height: 18px;\n background-color: #777;\n border-radius: 100%;\n animation: ${dotAnimation} 1.4s infinite ease-in-out both;\n }\n\n span:nth-child(1) {\n animation-delay: -0.32s;\n }\n span:nth-child(2) {\n animation-delay: -0.16s;\n }\n`;\n","import React, { forwardRef } from \"react\";\nimport classNames from \"classnames\";\nimport { StyledDotsLoader } from \"./Styles\";\n\nexport const DotsLoader = forwardRef<\n HTMLSpanElement,\n React.ComponentPropsWithoutRef<\"span\">\n>(({ className, ...rest }, ref) => {\n return (\n <StyledDotsLoader\n ref={ref}\n className={classNames(\"c-loader c-loader--dots\", className)}\n {...rest}\n >\n <span />\n <span />\n <span />\n </StyledDotsLoader>\n );\n});\n\nDotsLoader.displayName = \"DotsLoader\";\n","import styled, { css, keyframes } from \"styled-components\";\nimport { BoxSizingStyle } from \"../../BoxSizingStyle\";\n\nconst rotateAnimation = keyframes`\n from { transform: rotate(0deg); }\n to { transform: rotate(359deg); }\n`;\n\nexport interface StyledSpinnerLoaderProps {\n $diameter: number;\n $stroke: number;\n $activeStrokeColor: string;\n $inactiveStrokeColor: string;\n $activeColorPercentage: \"25%\" | \"50%\" | \"75%\";\n $rotateDurationInSeconds: number;\n}\n\nexport const StyledSpinnerLoader = styled.div<StyledSpinnerLoaderProps>`\n ${BoxSizingStyle}\n border-radius: 100%;\n flex-shrink: 0;\n ${(props) =>\n css`\n width: ${props.$diameter}px;\n height: ${props.$diameter}px;\n animation: ${rotateAnimation} ${props.$rotateDurationInSeconds}s infinite\n linear;\n `}\n\n ${(props) =>\n props.$activeColorPercentage === \"25%\" &&\n css`\n border-right: ${props.$stroke}px solid ${props.$inactiveStrokeColor};\n border-bottom: ${props.$stroke}px solid ${props.$inactiveStrokeColor};\n border-left: ${props.$stroke}px solid ${props.$inactiveStrokeColor};\n border-top: ${props.$stroke}px solid ${props.$activeStrokeColor};\n `}\n\n ${(props) =>\n props.$activeColorPercentage === \"50%\" &&\n css`\n border-right: ${props.$stroke}px solid ${props.$activeStrokeColor};\n border-bottom: ${props.$stroke}px solid ${props.$inactiveStrokeColor};\n border-left: ${props.$stroke}px solid ${props.$inactiveStrokeColor};\n border-top: ${props.$stroke}px solid ${props.$activeStrokeColor};\n `}\n\n ${(props) =>\n props.$activeColorPercentage === \"75%\" &&\n css`\n border-right: ${props.$stroke}px solid ${props.$activeStrokeColor};\n border-bottom: ${props.$stroke}px solid ${props.$activeStrokeColor};\n border-left: ${props.$stroke}px solid ${props.$inactiveStrokeColor};\n border-top: ${props.$stroke}px solid ${props.$activeStrokeColor};\n `}\n`;\n","import React, { forwardRef } from \"react\";\nimport { StyledSpinnerLoader } from \"./Styles\";\n\nexport interface SpinnerLoaderProps {\n /** Loader circumference size */\n radius?: number;\n /** Stroke width of the loader */\n stroke?: number;\n /** Active color of spinning loader */\n activeStrokeColor?: string;\n /** Percentage of the circle which the active color takes */\n activeColorPercentage?: \"25%\" | \"50%\" | \"75%\";\n /** Inactive color of spinning loader */\n inactiveStrokeColor?: string;\n /** Rotate speed of animation in seconds */\n rotateDurationInSeconds?: number;\n}\n\nexport const SpinnerLoader = forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<\"div\"> & SpinnerLoaderProps\n>(\n (\n {\n radius = 10,\n stroke = 2,\n activeStrokeColor = \"var(--color-secondary)\",\n inactiveStrokeColor = \"var(--color-theme-transparent-300)\",\n activeColorPercentage = \"25%\",\n rotateDurationInSeconds = 0.75,\n className,\n ...rest\n },\n ref\n ) => {\n return (\n <StyledSpinnerLoader\n ref={ref}\n className={className}\n $diameter={radius * 2}\n $stroke={stroke}\n $activeStrokeColor={activeStrokeColor}\n $inactiveStrokeColor={inactiveStrokeColor}\n $activeColorPercentage={activeColorPercentage}\n $rotateDurationInSeconds={rotateDurationInSeconds}\n {...rest}\n />\n );\n }\n);\n\nSpinnerLoader.displayName = \"SpinnerLoader\";\n","import React, {\n FC,\n useCallback,\n useState,\n ReactNode,\n useEffect,\n useRef,\n useMemo,\n Fragment,\n} from \"react\";\nimport classNames from \"classnames\";\nimport { ITableProps, Table, Tbody, Thead } from \"./Table\";\nimport { ISyntheticEvent } from \"../../types\";\nimport CollapseExpandSingleIcon from \"../Icons/collection/CollapseExpandSingle\";\nimport ExpandAllIcon from \"../Icons/collection/ExpandAll\";\nimport CollapseAllIcon from \"../Icons/collection/CollapseAll\";\nimport SortIcon from \"../Icons/collection/SortIcon\";\nimport { StyledDataTable } from \"./Styles\";\nimport { LinearLoader } from \"../Loaders\";\n\nexport enum SortDirection {\n None = \"none\",\n Asc = \"asc\",\n Desc = \"desc\",\n}\n\ninterface IHeaderDefinition {\n key: string;\n label?: string;\n sortable?: boolean;\n renderCallback?: (row: object, key?: string, index?: number) => ReactNode;\n style?: object;\n hideCollapsed?: boolean;\n}\n\nexport interface IDataTableProps extends ITableProps {\n /** Object of header name, sort and style. */\n header: IHeaderDefinition[];\n /** Object of rows. */\n rows?: object[];\n /** CSS classes. */\n className?: string;\n /** Name of row by which we are sorting. */\n sortBy?: string;\n /** Direction by which we are sorting. */\n sortDirection?: SortDirection;\n /** Callback for sorting. */\n onSortCallback?: (sortKey: string, sortDirection: SortDirection) => void;\n /** Switch for column highlighting. */\n columnHighlight?: boolean;\n /** CSS classes for thead. */\n theadClass?: string;\n /** Column by which is data-table grouped. */\n groupBy?: string;\n /** No results Callback. */\n noResultsCallback?: () => ReactNode;\n /** Header of grouped list in data-table. */\n groupHead?: (row: object, index: string | null) => ReactNode;\n /** Grouped rows can be collapsed */\n isCollapsible?: boolean;\n /** Value to replace when column is empty */\n emptyValue?: object;\n /** loading indicator */\n loading?: boolean;\n /** loading rows */\n loadingRows?: number;\n}\n\nconst groupByKey = (items: object[], key: string): object => {\n if (items[0] instanceof Array) {\n items = items[0];\n }\n return items.reduce((result: object, item: object) => {\n return {\n ...result,\n [item[key] !== null ? \" \" + item[key] : item[key]]: [\n ...(result[item[key] !== null ? \" \" + item[key] : item[key]] || []),\n item,\n ],\n };\n }, {});\n};\n\nconst initialCollapsed = (rows: object[], groupBy?: string): object => {\n if (groupBy) {\n const groupedData = groupByKey(rows, groupBy);\n const keys = Object.keys(groupedData);\n const collapsedKeys = {};\n keys.forEach((key) => {\n collapsedKeys[key] = true;\n });\n return collapsedKeys;\n }\n return {};\n};\n\nexport const DataTable: FC<IDataTableProps> = ({\n header,\n rows = [],\n className,\n sortBy,\n sortDirection = SortDirection.None,\n onSortCallback,\n theadClass,\n noResultsCallback,\n groupBy,\n groupHead = (): null => null,\n isCollapsible,\n emptyValue,\n loading,\n loadingRows = 7,\n ...args\n}) => {\n const [columnDirection, setColumnDirection] = useState(sortDirection);\n const [active, setActive] = useState(sortBy);\n const [hovered, setHovered] = useState<string | null>();\n const [collapsed, setCollapsed] = useState(() => {\n return initialCollapsed(rows, groupBy);\n });\n const sort = (\n sortByKey: string,\n direction: SortDirection,\n rowsData: Record<string, string>[] | object\n ): object => {\n if (direction === SortDirection.None) {\n return rowsData;\n }\n\n if (rowsData instanceof Array)\n return rowsData.sort((a: object, b: object) => {\n if (direction === SortDirection.Asc) {\n if (a[sortByKey] === null) {\n return 1;\n }\n if (b[sortByKey] === null) {\n return -1;\n }\n }\n if (a[sortByKey] === null) {\n return -1;\n }\n if (b[sortByKey] === null) {\n return 1;\n }\n if (typeof a[sortByKey] === \"number\") {\n if (direction === SortDirection.Asc) {\n return a[sortByKey] - b[sortByKey];\n }\n return b[sortByKey] - a[sortByKey];\n }\n\n const first = a[sortByKey].toString();\n const second = b[sortByKey].toString();\n\n if (direction === SortDirection.Asc) {\n return first.localeCompare(second);\n }\n\n return second.localeCompare(first);\n });\n return {};\n };\n\n const initialData = useCallback(() => {\n if (sortBy && !groupBy) {\n return sort(sortBy, sortDirection, rows);\n }\n if (sortBy && groupBy) {\n sort(sortBy, sortDirection, rows);\n return groupByKey(rows, groupBy);\n }\n if (!sortBy && groupBy) {\n return groupByKey(rows, groupBy);\n }\n return rows;\n }, [groupBy, rows, sortBy, sortDirection]);\n\n const [data, setData] = useState<Record<string, string> | object>(\n initialData\n );\n\n const getNextSortDirection = (\n previousDirection: SortDirection,\n sameColumn: boolean\n ): SortDirection => {\n if (!sameColumn) {\n return SortDirection.Asc;\n }\n if (previousDirection === SortDirection.Asc) {\n return SortDirection.Desc;\n }\n return SortDirection.Asc;\n };\n\n const sortColumn = useCallback(\n (event: ISyntheticEvent) => {\n const index = event.currentTarget.dataset.index;\n if (index && header[index] && header[index].sortable) {\n const direction = getNextSortDirection(\n columnDirection,\n header[index].key === active\n );\n setActive(header[index].key);\n setColumnDirection(direction);\n if (groupBy) {\n let grouped: object = {\n ...data,\n };\n\n if (groupBy !== header[index].key) {\n Object.keys(grouped).map((key: string) => {\n grouped[key] = sort(header[index].key, direction, grouped[key]);\n });\n } else {\n if (rows instanceof Object) {\n grouped = sort(header[index].key, direction, rows);\n grouped = groupByKey([grouped], groupBy);\n }\n }\n setData(grouped);\n } else {\n setData(sort(header[index].key, direction, data));\n }\n if (onSortCallback) {\n onSortCallback(header[index].key, direction);\n }\n }\n\n return null;\n },\n [\n setData,\n data,\n columnDirection,\n setColumnDirection,\n header,\n active,\n setActive,\n onSortCallback,\n groupBy,\n rows,\n ]\n );\n\n const cellMouseOver = useCallback((e: ISyntheticEvent) => {\n if (e.target instanceof HTMLElement) {\n if (e.target.dataset.key) {\n setHovered(e.target.dataset.key);\n }\n }\n }, []);\n\n const cellMouseOut = useCallback(() => {\n setHovered(null);\n }, []);\n\n useEffect(() => {\n setData(initialData());\n setCollapsed(initialCollapsed(rows, groupBy));\n }, [rows, groupBy, initialData]);\n\n const renderNoResults = useCallback(() => {\n return (\n <tr>\n <td\n colSpan={header.length}\n className={classNames({ \"text-center\": !noResultsCallback })}\n >\n {noResultsCallback ? noResultsCallback() : \"There is no data.\"}\n </td>\n </tr>\n );\n }, [header, noResultsCallback]);\n\n const tableRef = useRef<HTMLTableElement>(null);\n\n const overlayStyles = (): number | undefined => {\n if (tableRef.current) {\n return tableRef.current.clientHeight + 5;\n }\n };\n\n const renderCell = useCallback(\n (h: IHeaderDefinition, row: object, colIndex: number) => {\n if (h.renderCallback) {\n return h.renderCallback(row, h.key, colIndex);\n }\n if (row[h.key] === null && emptyValue) {\n return <i className=\"opacity-75\">{emptyValue[h.key]}</i>;\n }\n return row[h.key];\n },\n [emptyValue]\n );\n\n const renderRow = useCallback(\n (row: object, rowIndex: number) => {\n return (\n <tr\n key={rowIndex}\n data-index={rowIndex}\n data-direction=\"asc\"\n className=\"c-table__row\"\n onMouseOver={cellMouseOver}\n onMouseLeave={cellMouseOut}\n >\n {header.map((h: IHeaderDefinition, colIndex: number) => {\n return (\n <td\n key={colIndex}\n className={classNames(`c-table__cell c-data-table__item`, {\n hovered: hovered === h.key,\n })}\n data-key={h.key}\n style={header[colIndex].style ? header[colIndex].style : {}}\n >\n {renderCell(h, row, colIndex)}\n </td>\n );\n })}\n </tr>\n );\n },\n [cellMouseOut, cellMouseOver, header, hovered, renderCell]\n );\n\n const toggleCollapse = useCallback((event) => {\n const collapseKey = event.currentTarget.dataset.groupkey;\n setCollapsed((prevState) => {\n const newState = { ...prevState };\n newState[collapseKey] = !prevState[collapseKey];\n return newState;\n });\n }, []);\n\n const renderPlaceholders = useMemo(() => {\n const placeholders = Array(loadingRows)\n .fill({})\n .map((_, index) => {\n return (\n <tr\n key={index}\n className=\"c-table__row\"\n onMouseOver={cellMouseOver}\n onMouseLeave={cellMouseOut}\n >\n {header.map((col, colIndex) => {\n return (\n <td\n key={colIndex}\n className={classNames(`c-table__cell c-data-table__item`, {\n hovered: hovered === col.key,\n })}\n data-key={col.key}\n >\n <LinearLoader />\n </td>\n );\n })}\n </tr>\n );\n });\n\n return <Tbody>{placeholders}</Tbody>;\n }, [cellMouseOut, cellMouseOver, header, hovered, loadingRows]);\n\n const renderRows = useMemo(() => {\n if (\n (data && data instanceof Array && data.length > 0) ||\n (typeof data === \"object\" && Object.keys(data).length > 0)\n ) {\n if (groupBy) {\n const keys = Object.keys(data);\n return keys.map((key: string, i: number) => {\n return (\n <Fragment key={key}>\n {isCollapsible && (\n <Tbody className=\"c-table__collapse_body\">\n <tr>\n <td\n data-groupkey={key}\n onClick={toggleCollapse}\n className=\"c-table__body__icon c-table--toggle-collapsed\"\n >\n <CollapseExpandSingleIcon\n className={classNames({\n \"c-table__collapse_icon--expanded\": !collapsed[key],\n \"c-table__collapse_icon--collapsed\": collapsed[key],\n })}\n />\n </td>\n </tr>\n </Tbody>\n )}\n <Tbody\n className={classNames(\"c-table__grouped__head\", `head_${i}`, {\n \"c-table__grouped__head--expanded\":\n isCollapsible && !collapsed[key],\n \"c-table__grouped__head--collapsed\":\n isCollapsible && collapsed[key],\n last: i === keys.length - 1,\n first: i === 0,\n })}\n >\n {groupHead(\n data[key],\n keys[i] !== \"null\" ? keys[i].trim() : null\n )}\n </Tbody>\n <Tbody\n className={classNames(`c-table__group c-table_group_${i}`, {\n hidden: collapsed[key],\n })}\n >\n {data[key].map((row: object, index: number) => {\n return renderRow(row, index);\n })}\n </Tbody>\n </Fragment>\n );\n });\n }\n return (\n <Tbody>\n {data instanceof Array &&\n data.map((row: object, rowIndex: number) => {\n return renderRow(row, rowIndex);\n })}\n </Tbody>\n );\n }\n return renderNoResults();\n }, [\n data,\n groupBy,\n renderRow,\n groupHead,\n collapsed,\n isCollapsible,\n renderNoResults,\n toggleCollapse,\n ]);\n\n const allGroupsCollapsed = useMemo(() => {\n return Object.keys(collapsed).every((key) => {\n return collapsed[key];\n });\n }, [collapsed]);\n\n const hasCollapsed = useMemo(() => {\n return Object.keys(collapsed).some((key) => {\n return collapsed[key];\n });\n }, [collapsed]);\n\n const toggleAllCollapsed = useCallback(() => {\n if (hasCollapsed) {\n setCollapsed((prevState) => {\n const newState = { ...prevState };\n Object.keys(newState).forEach((key) => {\n newState[key] = false;\n });\n return newState;\n });\n } else {\n setCollapsed((prevState) => {\n const newState = { ...prevState };\n Object.keys(newState).forEach((key) => {\n newState[key] = true;\n });\n return newState;\n });\n }\n }, [hasCollapsed]);\n\n return (\n <StyledDataTable\n as={Table}\n innerRef={tableRef}\n className={classNames(\"c-data-table\", className, {\n \"c-table__grouped\": groupBy,\n \"c-table__collapsible\": isCollapsible,\n \"padding-b-0\": groupBy && collapsed[Object.keys(data).slice(-1)[0]],\n })}\n {...args}\n >\n <Thead className={theadClass}>\n {header.length > 0 && (\n <tr className=\"c-table__row\">\n {header.map((h: IHeaderDefinition, index: number) => {\n return (\n <th\n key={h.key}\n className={classNames(`c-table__cell`, {\n \"c-table__cell--hovered\": hovered === h.key,\n \"c-table__head--hidden\":\n groupBy && allGroupsCollapsed && h.hideCollapsed,\n })}\n onMouseOver={cellMouseOver}\n onMouseLeave={cellMouseOut}\n data-key={h.key}\n style={h.style}\n >\n {isCollapsible && groupBy && index === 0 && (\n <span\n className=\"c-table__head__icon-wrapper\"\n onClick={toggleAllCollapsed}\n data-test=\"toggle-collapse\"\n >\n {hasCollapsed ? (\n <ExpandAllIcon className=\"c-table__head__icon-wrapper__icon\" />\n ) : (\n <CollapseAllIcon className=\"c-table__head__icon-wrapper__icon\" />\n )}\n </span>\n )}\n {hovered === h.key && (\n <div\n className=\"c-table__overlay\"\n style={{ height: overlayStyles() + `px` }}\n />\n )}\n <div\n onClick={sortColumn}\n data-index={index}\n className={classNames(\"c-table__icon-wrapper\", {\n \"cursor-pointer\": h.sortable === true,\n })}\n >\n <span className=\"c-table__label\">{h.label}</span>\n {h.sortable && (\n <SortIcon\n width=\"10px\"\n height=\"10px\"\n className={classNames(\"c-table__icon\", {\n \"c-table__icon--inactive\": h.key !== active,\n \"c-table__icon--active\": h.key === active,\n \"c-table__icon--asc\":\n columnDirection === SortDirection.Asc &&\n h.key === active,\n \"c-table__icon--desc\":\n columnDirection === SortDirection.Desc &&\n h.key === active,\n })}\n />\n )}\n </div>\n </th>\n );\n })}\n </tr>\n )}\n </Thead>\n\n {loading ? renderPlaceholders : renderRows}\n </StyledDataTable>\n );\n};\n\nDataTable.displayName = \"DataTable\";\n","import styled, { css, keyframes } from \"styled-components\";\nimport tw from \"twin.macro\";\n\ninterface StyledCompleteCheckboxProps {\n $primary?: boolean;\n $completed?: boolean;\n $disabled?: boolean;\n $animation?: boolean;\n $checkMarkClassName?: boolean;\n}\n\nconst burstScale = keyframes`\n from {\n transform: scale(0);\n }\n to {\n transform: scale(1);\n }\n`;\n\nconst burstAnimation = keyframes`\n from {\n stroke-dashoffset: 0;\n }\n to {\n stroke-dashoffset: 8;\n }\n`;\n\nexport const StyledCompleteCheckbox = styled.div<StyledCompleteCheckboxProps>`\n ${tw`tw-w-6 tw-h-6 tw-rounded-full tw-border tw-border-solid tw-relative tw-cursor-pointer`}\n border-color: var(--color-theme-600);\n transition: ease 0.3s all;\n\n svg {\n ${tw`tw-absolute tw-pointer-events-none`}\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n\n svg path {\n fill: none;\n stroke: #32b370;\n stroke-width: 3;\n transform: scale(0);\n }\n\n ${(props) =>\n props.$primary &&\n css`\n svg path {\n stroke: var(--color-primary);\n }\n `}\n\n svg polyline {\n fill: none;\n stroke-width: 2;\n stroke-linecap: round;\n stroke-linejoin: round;\n transition: 0.3s;\n stroke-dasharray: 13;\n stroke-dashoffset: 13;\n stroke: #d2d2d2;\n ${(props) =>\n props.$primary &&\n css`\n stroke: var(--color-theme-500);\n `}\n }\n\n ${(props) =>\n props.$completed &&\n css`\n box-shadow: inset 0 0 0 12px var(--color-primary);\n border-color: var(--color-primary);\n border-width: 0px;\n\n ${!props.$primary &&\n css`\n ${tw`tw-border tw-border-solid`}\n box-shadow: inset 0 0 0 12px #84cc7c;\n border-color: #84cc7c;\n `}\n\n &:hover {\n box-shadow: inset 0 0 0 12px #84cc7c;\n ${props.$primary &&\n css`\n box-shadow: inset 0 0 0 12px var(--color-primary);\n `}\n }\n\n svg polyline {\n stroke-dashoffset: 0;\n stroke: #fff;\n ${props.$primary &&\n css`\n stroke: var(--color-theme-100);\n `}\n }\n\n svg path {\n stroke-dasharray: 8;\n stroke-dashoffset: 0;\n transform-origin: 24px 24px;\n }\n `}\n\n ${(props) =>\n !props.$completed &&\n !props.$disabled &&\n css`\n &:hover {\n border: 1px solid var(--color-primary);\n box-shadow: inset 0 0 0 2px var(--color-primary);\n border-width: 0px;\n ${!props.$primary &&\n css`\n border: 1px solid #84cc7c;\n box-shadow: inset 0 0 0 2px #84cc7c;\n `}\n svg polyline {\n stroke-dashoffset: 0;\n }\n }\n `}\n\n ${(props) =>\n props.$animation &&\n css`\n /* Delay of 0.01s is for safari transform bug. */\n svg path {\n animation: ${burstScale} 0.6s ease 0s 1 normal,\n ${burstAnimation} 0.4s ease 0.2s 1 normal;\n }\n `}\n\n ${(props) =>\n props.$disabled &&\n css`\n ${tw`tw-cursor-default`}\n opacity: 0.5;\n `}\n\n ${(props) =>\n !props.$checkMarkClassName &&\n css`\n svg {\n ${tw`tw-w-12 tw-h-12`}\n }\n `}\n`;\n\nStyledCompleteCheckbox.displayName = \"StyledCompleteCheckbox\";\n","import React, { FC, MouseEvent } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledCompleteCheckbox } from \"./Styles\";\n\nexport interface ICompleteCheckboxProps {\n /** Change completed state of checkbox */\n completed?: boolean;\n /** Callback */\n onClick?: (event: MouseEvent) => void;\n /** Make component disabled for interaction */\n disabled?: boolean;\n /** Animation (works only when is completed and not disabled) */\n animate?: boolean;\n /** Class names */\n className?: string | undefined;\n /** Set green color for checkbox */\n primary?: boolean;\n /** Set checkmark height and width */\n checkMarkClassName?: string;\n}\n\nexport const CompleteCheckbox: FC<ICompleteCheckboxProps> = ({\n completed = false,\n disabled = false,\n animate = false,\n onClick,\n className,\n primary = false,\n checkMarkClassName,\n}) => {\n return (\n <StyledCompleteCheckbox\n onClick={onClick}\n className={classnames(\"c-complete-checkbox\", className)}\n $primary={primary}\n $completed={completed}\n $disabled={disabled}\n $animation={!disabled && completed && animate}\n $checkMarkClassName={!!checkMarkClassName}\n >\n <svg viewBox=\"0 0 48 48\" className={checkMarkClassName}>\n <path d=\"M7,7l5.7,5.7 M0,24h8 M7,41l5.7-5.7 M24,48v-8 M41,41l-5.7-5.7 M48,24h-8 M41,7l-5.7,5.7 M24,0v8\" />\n <polyline points=\"19.5,24 22.5,27 28.5,21\" />\n </svg>\n </StyledCompleteCheckbox>\n );\n};\n\nCompleteCheckbox.displayName = \"CompleteCheckbox\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\nimport { IPaperProps } from \"./Paper\";\n\nexport const PaperStyles = css`\n ${tw`tw-bg-page-paper-main`}\n border-radius: var(--ac-br-8);\n\n ${FontStyle}\n ${BoxSizingStyle}\n`;\nexport const StyledPaper = styled.div<IPaperProps>`\n ${PaperStyles}\n\n ${(props) =>\n props.type === \"paper-3\" &&\n css`\n border: solid 1px var(--border-primary);\n `}\n`;\n\nStyledPaper.displayName = \"StyledPaper\";\n","import React, {\n forwardRef,\n HTMLAttributes,\n ReactNode,\n Ref,\n RefObject,\n} from \"react\";\nimport classNames from \"classnames\";\nimport { StyledPaper } from \"./Styles\";\n\nexport interface IPaperProps {\n /** Children type of node or string */\n children: ReactNode;\n /** CSS classes */\n className?: string;\n /** Ref object. */\n innerRef?: RefObject<HTMLDivElement>;\n /** Define custom style */\n style?: object;\n /** Type of paper to be used */\n type?: \"paper-1\" | \"paper-2\" | \"paper-3\";\n /** Paper has hover or not */\n hover?: boolean;\n /** Use optimized shadow */\n useOptimizedShadow?: boolean;\n}\n\n/**\n * This is a component description and should sit directly above your component\n */\nexport const Paper = forwardRef(\n (\n {\n children,\n className,\n type = \"paper-1\",\n hover = false,\n useOptimizedShadow = false,\n ...rest\n }: HTMLAttributes<HTMLDivElement> & IPaperProps,\n innerRef: Ref<HTMLDivElement> | null | undefined\n ) => {\n return (\n <StyledPaper\n className={classNames(className, {\n \"ac-shadow--raised--lg\":\n !useOptimizedShadow && hover && type === \"paper-1\",\n \"ac-shadow-optimized--lg\":\n useOptimizedShadow && hover && type === \"paper-1\",\n \"ac-shadow--lg\": !hover && type === \"paper-1\",\n \"ac-shadow--raised--sm\":\n (!useOptimizedShadow && hover && type === \"paper-2\") ||\n (!useOptimizedShadow && hover && type === \"paper-3\"),\n \"ac-shadow-optimized--sm\":\n (useOptimizedShadow && hover && type === \"paper-2\") ||\n (useOptimizedShadow && hover && type === \"paper-3\"),\n \"ac-shadow--sm\":\n (!hover && type === \"paper-2\") || (!hover && type === \"paper-3\"),\n })}\n ref={innerRef}\n type={type}\n {...rest}\n >\n {children}\n </StyledPaper>\n );\n }\n);\n\nPaper.displayName = \"Paper\";\n","import styled, { css } from \"styled-components\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport tw from \"twin.macro\";\n\nexport const StyledScaleBarInner = styled.div<{ $width: string | number }>`\n ${tw`tw-relative`}\n\n height: 3px;\n background: #37ba82;\n z-index: 1;\n\n ${(props) =>\n props.$width &&\n css`\n width: ${props.$width}%;\n `}\n`;\n\nexport const StyledScaleBar = styled.div`\n ${tw`tw-w-full`}\n ${BoxSizingStyle}\n`;\n\nStyledScaleBar.displayName = \"StyledScaleBar\";\nStyledScaleBarInner.displayName = \"StyledScaleBarInner\";\n","import React, { FC } from \"react\";\nimport classNames from \"classnames\";\nimport { StyledScaleBar, StyledScaleBarInner } from \"./Styles\";\n\nexport interface IScaleBarProps {\n /** Width prop can be string or number. */\n width: string | number;\n /** Custom classname for styling. */\n className?: string;\n}\n\nexport const ScaleBar: FC<IScaleBarProps> = ({ width, className }) => {\n return (\n <StyledScaleBar className={classNames(\"c-scale-bar\", className)}>\n <StyledScaleBarInner className=\"c-scale-bar__progress\" $width={width} />\n </StyledScaleBar>\n );\n};\n\nScaleBar.displayName = \"ScaleBar\";\n","import styled from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { Paper } from \"../Paper\";\n\nexport const StyledCard = styled(Paper)`\n ${tw`tw-text-theme-900`}\n`;\n\nStyledCard.displayName = \"StyledCard\";\n","import React, { Ref, HTMLAttributes, forwardRef } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledCard } from \"./Styles\";\n\nexport interface ICardProps {\n /** Choose if card should be hoverable or not */\n hoverable?: boolean;\n /** Set the type of the Paper */\n paperType?: \"paper-1\" | \"paper-2\";\n /** Ref element */\n ref?: Ref<HTMLDivElement>;\n}\n\nexport const Card = forwardRef(\n (\n {\n children,\n className,\n hoverable = false,\n paperType = \"paper-2\",\n ...rest\n }: HTMLAttributes<HTMLDivElement> & ICardProps,\n ref: Ref<HTMLDivElement> | null | undefined\n ) => {\n return (\n <StyledCard\n {...rest}\n type={paperType}\n className={classnames(\"c-card\", className)}\n hover={hoverable}\n useOptimizedShadow\n ref={ref}\n >\n {children}\n </StyledCard>\n );\n }\n);\n\nCard.displayName = \"Card\";\n","import styled, { css } from \"styled-components\";\nimport { Card } from \"../Card\";\n\nexport const StyledEntityCard = styled(Card)<{ $renderAs: string }>`\n padding: 12px;\n line-height: 1.375;\n\n ${(props) =>\n props.$renderAs === \"list-item\" &&\n css`\n display: grid;\n grid-auto-flow: column;\n align-items: center;\n min-height: 48px;\n margin-bottom: 4px;\n `}\n\n ${(props) =>\n props.$renderAs === \"grid-item\" &&\n css`\n display: flex;\n flex-direction: column;\n height: 250px;\n width: 250px;\n\n .card-body {\n flex-grow: 1;\n }\n `}\n`;\nStyledEntityCard.displayName = \"StyledEntityCard\";\n","import React, {\n Ref,\n HTMLAttributes,\n forwardRef,\n ReactNode,\n useCallback,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { StyledEntityCard } from \"./Styles\";\n\nexport type cardSection = \"header\" | \"body\" | \"footer\";\n\nexport interface IEntityProperties {\n name: string;\n render: () => ReactNode;\n showInList?: boolean;\n cardSection: cardSection;\n className?: string;\n}\n\nexport interface IEntityCardProps {\n renderAs?: \"list-item\" | \"grid-item\";\n properties: IEntityProperties[];\n ref?: Ref<HTMLDivElement>;\n link?: string;\n className?: string;\n}\n\nexport const EntityCard = forwardRef(\n (\n {\n renderAs = \"list-item\",\n properties,\n className,\n }: HTMLAttributes<HTMLDivElement> & IEntityCardProps,\n ref: Ref<HTMLDivElement> | null | undefined\n ) => {\n const renderAsListItem = useCallback((properties: IEntityProperties[]) => {\n return properties\n .filter((p) => p.showInList)\n .map((p) => {\n return (\n <div key={p.name} className={`entity-property-${p.name}`}>\n {p.render()}\n </div>\n );\n });\n }, []);\n\n const renderAsGridItem = useCallback((properties: IEntityProperties[]) => {\n const headerSection = properties.filter(\n (p: IEntityProperties) => p.cardSection === \"header\"\n );\n const bodySection = properties.filter(\n (p: IEntityProperties) => p.cardSection === \"body\"\n );\n const footerSection = properties.filter(\n (p) => p.cardSection === \"footer\"\n );\n const renderProperty = (p: IEntityProperties): ReactNode => (\n <div key={p.name} className={`entity-property-${p.name}`}>\n {p.render()}\n </div>\n );\n return (\n <>\n <div className=\"card-header\">\n {headerSection.map((p) => renderProperty(p))}\n </div>\n <div className=\"card-body\">\n {bodySection.map((p) => renderProperty(p))}\n </div>\n <div className=\"card-footer\">\n {footerSection.map((p) => renderProperty(p))}\n </div>\n </>\n );\n }, []);\n\n return (\n <StyledEntityCard\n ref={ref}\n hoverable\n className={classnames(\n \"entity-card-wrapper\",\n {\n \"grid-item\": renderAs === \"grid-item\",\n \"list-item\": renderAs === \"list-item\",\n },\n className\n )}\n paperType={renderAs === \"grid-item\" ? \"paper-1\" : \"paper-2\"}\n $renderAs={renderAs}\n >\n {renderAs === \"list-item\" ? renderAsListItem(properties) : null}\n {renderAs === \"grid-item\" ? renderAsGridItem(properties) : null}\n </StyledEntityCard>\n );\n }\n);\n\nEntityCard.displayName = \"EntityCard\";\n","import React, { forwardRef } from \"react\";\nimport { ITypographyProps, Typography } from \"../Typography\";\n\ninterface ITitleProps {\n /** Font weight. */\n weight?: \"light\" | \"bold\";\n}\n\nexport const Title1 = forwardRef<\n HTMLDivElement,\n ITitleProps & Omit<ITypographyProps, keyof ITitleProps | \"variant\">\n>(({ weight = \"light\", children, ...props }, ref) => {\n return (\n <Typography weight={weight} variant=\"Title 1\" ref={ref} {...props}>\n {children}\n </Typography>\n );\n});\n\nTitle1.displayName = \"Title1\";\n","import React, { forwardRef } from \"react\";\nimport { ITypographyProps, Typography } from \"../Typography\";\n\ninterface ITitleProps {\n /** Font weight. */\n weight?: \"light\" | \"bold\";\n}\n\nexport const Title2 = forwardRef<\n HTMLDivElement,\n ITitleProps & Omit<ITypographyProps, keyof ITitleProps | \"variant\">\n>(({ weight = \"light\", children, ...props }, ref) => {\n return (\n <Typography weight={weight} variant=\"Title 2\" ref={ref} {...props}>\n {children}\n </Typography>\n );\n});\n\nTitle2.displayName = \"Title2\";\n","import React, { forwardRef } from \"react\";\nimport { ITypographyProps, Typography } from \"../Typography\";\n\nexport const Header2 = forwardRef<\n HTMLDivElement,\n Omit<ITypographyProps, \"weight\" | \"variant\">\n>(({ children, ...props }, ref) => {\n return (\n <Typography weight=\"bold\" variant=\"Header 2\" ref={ref} {...props}>\n {children}\n </Typography>\n );\n});\n\nHeader2.displayName = \"Header2\";\n","import React, { forwardRef } from \"react\";\nimport { ITypographyProps, Typography } from \"../Typography\";\n\nexport const Header3 = forwardRef<\n HTMLDivElement,\n Omit<ITypographyProps, \"weight\" | \"variant\">\n>(({ children, ...props }, ref) => {\n return (\n <Typography weight=\"bold\" variant=\"Header 3\" ref={ref} {...props}>\n {children}\n </Typography>\n );\n});\n\nHeader3.displayName = \"Header3\";\n","import React, { forwardRef } from \"react\";\nimport { ITypographyProps, Typography } from \"../Typography\";\n\ninterface IBodyProps {\n /** Font weight. */\n weight?: \"regular\" | \"bold\" | \"medium\";\n}\n\nexport const Body1 = forwardRef<\n HTMLDivElement,\n IBodyProps & Omit<ITypographyProps, keyof IBodyProps | \"variant\">\n>(({ weight = \"regular\", children, ...props }, ref) => {\n return (\n <Typography variant=\"Body 1\" weight={weight} ref={ref} {...props}>\n {children}\n </Typography>\n );\n});\n\nBody1.displayName = \"Body1\";\n","import React, { forwardRef } from \"react\";\nimport { ITypographyProps, Typography } from \"../Typography\";\n\ninterface ICaptionProps {\n /** Font weight. */\n weight?: \"regular\" | \"bold\";\n}\n\nexport const Caption1 = forwardRef<\n HTMLDivElement,\n ICaptionProps & Omit<ITypographyProps, keyof ICaptionProps | \"variant\">\n>(({ weight = \"regular\", children, ...props }, ref) => {\n return (\n <Typography variant=\"Caption 1\" weight={weight} ref={ref} {...props}>\n {children}\n </Typography>\n );\n});\n\nCaption1.displayName = \"Caption1\";\n","import React, { forwardRef } from \"react\";\nimport { ITypographyProps, Typography } from \"../Typography\";\n\ninterface ICaptionProps {\n /** Font weight. */\n weight?: \"regular\" | \"bold\";\n}\n\nexport const Caption2 = forwardRef<\n HTMLDivElement,\n ICaptionProps & Omit<ITypographyProps, keyof ICaptionProps | \"variant\">\n>(({ weight = \"regular\", children, ...props }, ref) => {\n return (\n <Typography variant=\"Caption 2\" weight={weight} ref={ref} {...props}>\n {children}\n </Typography>\n );\n});\n\nCaption2.displayName = \"Caption2\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\nexport const StyledSignifier = styled.div<{ $direction: string }>`\n ${tw`tw-inline-flex tw-items-center tw-text-theme-800`}\n ${FontStyle}\n ${BoxSizingStyle}\n\n cursor: default;\n\n ${(props) =>\n props.$direction === \"c-signifier--top\" &&\n css`\n --signifier-in: 60%;\n --signifier-out: -60%;\n `}\n\n ${(props) =>\n props.$direction === \"c-signifier--bottom\" &&\n css`\n --signifier-in: -60%;\n --signifier-out: 60%;\n `}\n`;\nStyledSignifier.displayName = \"StyledSignifier\";\n\nexport const StyledSignifierTransition = styled(CSSTransition)`\n &.c-signifier--animate-enter {\n opacity: 0;\n transform: translateY(var(--signifier-in));\n }\n &.c-signifier--animate-enter-active {\n opacity: 1;\n transform: translateY(0%);\n transition-duration: 300ms;\n }\n &.c-signifier--animate-exit {\n transform: translateY(0%);\n opacity: 1;\n }\n &.c-signifier--animate-exit-active {\n transform: translateY(var(--signifier-out));\n opacity: 0;\n transition-duration: 300ms;\n }\n`;\nStyledSignifierTransition.displayName = \"StyledSignifierTransition\";\n\nexport const StyledIcon = styled.svg`\n ${tw`tw-text-xs tw-mr-1`}\n`;\nStyledIcon.displayName = \"StyledIcon\";\n","import React, { FC, useMemo, ElementType, useState, useEffect } from \"react\";\nimport classnames from \"classnames\";\nimport { SwitchTransition } from \"react-transition-group\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Body1, Caption1 } from \"../Typography\";\nimport {\n StyledIcon,\n StyledSignifier,\n StyledSignifierTransition,\n} from \"./Styles\";\n\ninterface ISignifierProps {\n /** One of icon types */\n type: ElementType;\n /** Number that represent total value */\n value?: number;\n /** Value that represent class names */\n className?: string;\n /** The text that will be displayed on hover in tooltip */\n tooltipText?: string;\n /** ClassName for tooltip if there is one */\n tooltipClassName?: string;\n}\n\nexport const signifierTypes = [\n \"EyeIcon\",\n \"EyeSmallIcon\",\n \"PencilIcon\",\n \"PencilSmallIcon\",\n \"EyeOffIcon\",\n \"EyeOffSmallIcon\",\n \"ChecklistIcon\",\n \"ChecklistSmallIcon\",\n \"WarningTriangleIcon\",\n \"WarningTriangleSmallIcon\",\n \"DependencyIcon\",\n \"DependencySmallIcon\",\n \"MessageIcon\",\n \"MessageSmallIcon\",\n \"ClockStopwatchIcon\",\n \"ClockStopwatchSmallIcon\",\n \"ClockIcon\",\n \"ClockSmallIcon\",\n \"DollarOffIcon\",\n \"DollarOffSmallIcon\",\n \"DollarIcon\",\n \"DollarSmallIcon\",\n \"DollarCheckmarkIcon\",\n \"DollarCheckmarkSmallIcon\",\n \"DollarClockIcon\",\n \"DollarClockSmallIcon\",\n \"BellOffIcon\",\n \"BellOffSmallIcon\",\n \"LockIcon\",\n \"LockSmallIcon\",\n \"RecurringCheckmarkIcon\",\n \"RecurringCheckmarkSmallIcon\",\n];\n\nexport const Signifier: FC<ISignifierProps> = ({\n type: Component,\n value = null,\n className,\n tooltipText,\n tooltipClassName,\n}) => {\n if (\n signifierTypes.indexOf(\n (Component as { displayName: string }).displayName\n ) === -1\n ) {\n console.warn(\"You are using unsupported Signifier icon\");\n }\n\n const [direction, setDirection] = useState(\"c-signifier--top\");\n const [, setPrevValue] = useState(value);\n\n const label: string | null = useMemo(() => {\n if (!value || value < 1) return null;\n\n const max = 1_000_000_000;\n let newValue = value;\n\n if (newValue > max) {\n newValue = max;\n }\n\n if (newValue === max) {\n return `${Math.floor(newValue / 1_000_000_000)}B+`;\n } else if (newValue > 999_999) {\n return `${Math.floor(newValue / 1_000_000)}M`;\n } else if (newValue > 999) {\n return `${Math.floor(newValue / 1000)}k`;\n }\n\n return `${newValue}`;\n }, [value]);\n\n useEffect(() => {\n value &&\n setPrevValue((v) => {\n v &&\n setDirection(\n v - value > 0 ? \"c-signifier--top\" : \"c-signifier--bottom\"\n );\n return value;\n });\n }, [value]);\n\n const renderSignifier = useMemo(\n () => (\n <StyledSignifier\n className={classnames(\"c-signifier\", className)}\n $direction={direction}\n >\n <StyledIcon as={Component} />\n {value !== null && (\n <SwitchTransition mode=\"out-in\">\n <StyledSignifierTransition\n key={label}\n timeout={300}\n classNames=\"c-signifier--animate\"\n >\n {(Component as { displayName: string }).displayName.includes(\n \"SmallIcon\"\n ) ? (\n <Caption1 color=\"secondary\">{label}</Caption1>\n ) : (\n <Body1 color=\"secondary\">{label}</Body1>\n )}\n </StyledSignifierTransition>\n </SwitchTransition>\n )}\n </StyledSignifier>\n ),\n [className, direction, Component, value, label]\n );\n\n return (\n <Tooltip\n title={tooltipText ?? \"\"}\n disable={!tooltipText}\n popperTooltipClassName={tooltipClassName}\n >\n {renderSignifier}\n </Tooltip>\n );\n};\n\nSignifier.displayName = \"Signifier\";\n","import styled from \"styled-components\";\nimport { AvatarProps } from \"./Avatar\";\n\nexport const StyledWrapper = styled.span`\n display: inline-flex;\n position: relative;\n border-radius: 100%;\n`;\n\nexport const StyledAvatar = styled.img<Pick<AvatarProps, \"size\">>`\n border-radius: 100%;\n object-fit: cover;\n\n block-size: ${(props) => props.size + \"px\"};\n inline-size: ${(props) => props.size + \"px\"};\n`;\n","import React, { forwardRef, PropsWithChildren } from \"react\";\nimport { StyledAvatar, StyledWrapper } from \"./Styles\";\n\nexport interface AvatarProps extends React.ComponentPropsWithoutRef<\"img\"> {\n /** Path url. */\n url: string;\n /** Alt text. */\n alt?: string;\n /** Image size. */\n size?: number;\n /** Custom class. */\n className?: string;\n}\n\n/**\n * @component Avatar\n * @description\n * The Avatar component is used to represent user, and displays the profile picture, initials or fallback icon.\n *\n * @prop {url} - The image url of the Avatar.\n * @prop {size} - controls the size of an Avatar (width and height) in pixels.\n * @prop {alt} - alt attribute of the img.\n *\n * @example\n * <Avatar url=\"https://faces-img.xcdn.link/image-lorem-face-954.jpg\" alt=\"Profile picture of John\" />\n *\n * @example\n * <Avatar\n * url=\"https://faces-img.xcdn.link/image-lorem-face-954.jpg\"\n * alt=\"Profile picture of John\">\n * <Badge size={8} backgroundColor=\"green\" position=\"bottom-left\" />\n * </Avatar>\n *\n * @see\n * https://system.activecollab.com/?path=/story/components-button-indicators-avatar--avatar\n * @see\n * https://design.activecollab.com/docs/components/avatar\n */\nexport const Avatar = forwardRef<\n HTMLImageElement,\n PropsWithChildren<AvatarProps>\n>(\n (\n { url, alt = \"Avatar Image\", size = 24, className, children, ...rest },\n ref\n ) => (\n <StyledWrapper className={className}>\n {children}\n <StyledAvatar\n size={size}\n ref={ref}\n src={url}\n alt={alt}\n role=\"img\"\n {...rest}\n />\n </StyledWrapper>\n )\n);\n\nAvatar.displayName = \"Avatar\";\n","import styled, { css } from \"styled-components\";\n\ninterface StyledDotProps {\n $color: string;\n $size: number;\n}\n\nexport const StyledDot = styled.div<StyledDotProps>`\n border-radius: 100%;\n\n ${(props) =>\n props.$size &&\n css`\n width: ${props.$size}px;\n height: ${props.$size}px;\n `}\n\n ${(props) =>\n props.$color &&\n css`\n background-color: ${props.$color};\n `}\n`;\n","import classnames from \"classnames\";\nimport React, { forwardRef } from \"react\";\nimport { StyledDot } from \"./Styles\";\n\nexport interface DotProps {\n color: string;\n size?: number;\n className?: string;\n}\n\nexport const Dot = forwardRef<\n HTMLDivElement,\n DotProps & Omit<React.ComponentPropsWithoutRef<\"div\">, keyof DotProps>\n>(({ color, size = 8, className, ...rest }, ref) => {\n return (\n <StyledDot\n className={classnames(\"c-dot\", className)}\n ref={ref}\n $color={color}\n $size={size}\n {...rest}\n />\n );\n});\n\nDot.displayName = \"Dot\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { Dot } from \"../Dot\";\nimport { FontStyle } from \"../FontStyle\";\n\nexport const StyledTag = styled.div`\n ${tw`tw-flex tw-items-center`}\n font-size: 13px;\n line-height: 1.375;\n ${BoxSizingStyle}\n ${FontStyle}\n`;\n\nStyledTag.displayName = \"StyledTag\";\n\ninterface IStyledTagDot {\n $showText?: boolean;\n}\n\nexport const StyledTagDot = styled(Dot)<IStyledTagDot>`\n ${(props) =>\n props.$showText &&\n css`\n ${tw`tw-mr-1`}\n `}\n`;\n\nStyledTagDot.displayName = \"StyledTagDot\";\n\nexport const StyledTagText = styled.div`\n ${tw`tw-uppercase`}\n ${(props) =>\n props.color &&\n css`\n color: ${props.color};\n `}\n`;\n\nStyledTagText.displayName = \"StyledTagText\";\n","import React, { forwardRef } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledTag, StyledTagText, StyledTagDot } from \"./Styles\";\n\nexport interface TagProps {\n name: string;\n color: string;\n showText?: boolean;\n showDot?: boolean;\n className?: string;\n}\n\nexport const Tag = forwardRef<\n HTMLDivElement,\n TagProps & Omit<React.ComponentPropsWithoutRef<\"div\">, keyof TagProps>\n>(\n (\n { name, color, showText = true, showDot = true, className, ...rest },\n ref\n ) => {\n return (\n <StyledTag className={classnames(\"c-tag\", className)} ref={ref} {...rest}>\n {showDot ? <StyledTagDot $showText={showText} color={color} /> : null}\n {showText ? <StyledTagText color={color}>{name}</StyledTagText> : null}\n </StyledTag>\n );\n }\n);\n\nTag.displayName = \"Tag\";\n","import React, { Fragment, ReactNode } from \"react\";\nimport styled from \"styled-components\";\n\nconst StyledHiglightedText = styled.span`\n background-color: var(--color-primary-200);\n`;\n\nStyledHiglightedText.displayName = \"StyledHiglightedText\";\n\nconst useHighlightText = (\n text: string,\n searchBy: string,\n matchCase = false\n): ReactNode => {\n let textComparator = text;\n let searchByComparator = searchBy;\n\n if (!matchCase) {\n textComparator = text.toLowerCase();\n searchByComparator = searchBy.toLowerCase();\n }\n\n if (\n searchBy &&\n textComparator &&\n textComparator.indexOf(searchByComparator) >= 0\n ) {\n const beforeHighlighted = text.substring(\n 0,\n textComparator.indexOf(searchByComparator)\n );\n const highLighted = text.substring(\n textComparator.indexOf(searchByComparator),\n textComparator.indexOf(searchByComparator) + searchBy.length\n );\n const afterHighlighted = text.substring(\n textComparator.indexOf(searchByComparator) + searchBy.length\n );\n\n return (\n <Fragment>\n {beforeHighlighted.replace(/ /g, \"\\u00a0\")}\n <StyledHiglightedText className=\"c-option--text__highlight\">\n {highLighted.replace(/ /g, \"\\u00a0\")}\n </StyledHiglightedText>\n {afterHighlighted.replace(/ /g, \"\\u00a0\")}\n </Fragment>\n );\n }\n\n return text;\n};\n\nexport default useHighlightText;\n","export const handleKeyboardMovement = (\n e: KeyboardEvent,\n hover: string | number | null | undefined,\n flatOptions,\n showAddNew: boolean,\n showDefaultOption\n): number | string | undefined => {\n if (e.key === \"ArrowDown\" || e.key === \"ArrowUp\") {\n e.preventDefault();\n }\n\n let options = flatOptions;\n if (showDefaultOption) options = [{ id: null }, ...options];\n if (showAddNew) options = [...options, { id: \"addNew\" }];\n\n const hoveredIndex = options.findIndex((option) => option.id === hover);\n\n if (e.key === \"ArrowDown\") {\n const isHoveredLastOption =\n options.findIndex((v) => v.id === hover) + 1 >= options.length;\n return hoveredIndex === -1 || isHoveredLastOption\n ? options[0].id\n : options[hoveredIndex + 1].id;\n }\n\n if (e.key === \"ArrowUp\") {\n const isHoveredFirstOption = options[0].id === hover;\n return hoveredIndex === -1 || isHoveredFirstOption\n ? options[options.length - 1].id\n : options[hoveredIndex - 1].id;\n }\n};\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../../BoxSizingStyle\";\nimport { FontStyle } from \"../../FontStyle\";\n\nexport const StyledOption = styled.li<{ hover?: boolean }>`\n ${tw`tw-select-none tw-font-normal`}\n font-size: 14px;\n display: flex;\n justify-content: space-between;\n height: 28px;\n padding-left: 16px;\n padding-right: 16px;\n margin-top: 4px;\n margin-bottom: 4px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: space-between;\n transition-duration: 0.1s;\n color: var(--color-theme-900);\n\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${(props) =>\n props.hover &&\n css`\n background-color: var(--color-theme-200);\n `}\n`;\n\nStyledOption.displayName = \"StyledOption\";\n","import React, {\n forwardRef,\n MouseEventHandler,\n ReactNode,\n Ref,\n useCallback,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { StyledOption } from \"./Styles\";\n\nexport interface IOptionItemProps {\n /** Value of option */\n id: string | number;\n /** Label of option */\n name: string;\n /** Additional info right-side of name */\n additionalInfo?: string;\n /** image url for Avatar or MultiAvatar */\n image?: string | string[];\n /** Hex color for label */\n color?: string;\n}\n\ninterface IAdditionalOptionItemProps {\n /** Value of option */\n id?: string | number;\n /** Label of option */\n name: string;\n /** Hovered state */\n hover?: boolean;\n /** Class name of option */\n className?: string;\n /** Render option function */\n renderOption?: ReactNode;\n /** On mouse enter callback */\n onMouseEnter?: (e: string | number | undefined) => void;\n /** On mouse click */\n onClick?: MouseEventHandler<HTMLLIElement>;\n}\n\nexport const Option = forwardRef(\n (\n {\n id,\n name,\n hover,\n className,\n renderOption,\n onMouseEnter,\n onClick = () => null,\n }: IAdditionalOptionItemProps,\n ref: Ref<HTMLLIElement>\n ) => {\n const handleOnMouseEnter = useCallback(() => {\n if (onMouseEnter) {\n onMouseEnter(id);\n }\n }, [onMouseEnter, id]);\n\n return (\n <StyledOption\n ref={hover ? ref : null}\n title={name}\n onMouseEnter={handleOnMouseEnter}\n className={classnames(\"c-option\", className)}\n hover={hover}\n onClick={onClick}\n >\n {renderOption ? renderOption : name}\n </StyledOption>\n );\n }\n);\n\nOption.displayName = \"Option\";\n","import styled, { css } from \"styled-components\";\nimport { ICheckboxProps } from \"./Checkbox\";\n\nexport const StyledInput = styled.input`\n display: none;\n`;\nStyledInput.displayName = \"StyledInput\";\n\nexport const StyledLabel = styled.label``;\nStyledLabel.displayName = \"StyledLabel\";\n\nexport const StyledCheckbox = styled.div<ICheckboxProps>`\n height: 16px;\n width: 16px;\n position: relative;\n transition-duration: 0.2s;\n border-radius: 2px;\n path {\n transition-duration: 0.2s;\n stroke: transparent;\n stroke-dashoffset: 12;\n stroke-dasharray: 12;\n }\n svg {\n cursor: pointer;\n border-radius: 2px;\n fill: transparent;\n }\n rect {\n transition-duration: 0.2s;\n stroke: var(--color-theme-500);\n }\n\n ${StyledInput}:disabled ~ ${StyledLabel} {\n pointer-events: none;\n opacity: 0.5;\n }\n\n ${StyledInput}:focus ~ ${StyledLabel} {\n rect {\n stroke: var(--color-secondary);\n stroke-width: 3px;\n }\n }\n\n &:not(.c-checkbox__controlled)\n ${StyledInput}:hover:not(:checked)\n ~ ${StyledLabel} {\n path {\n stroke: var(--color-secondary-500);\n stroke-dashoffset: 24;\n }\n rect {\n stroke: var(--color-secondary);\n stroke-width: 3px;\n }\n }\n\n ${(props) =>\n props.hover &&\n css`\n ${StyledInput}:not(:checked) ~ ${StyledLabel} {\n path {\n stroke: var(--color-secondary-500);\n stroke-dashoffset: 24;\n }\n rect {\n stroke: var(--color-secondary);\n stroke-width: 3px;\n }\n }\n `}\n\n ${StyledInput}:checked ~ ${StyledLabel} {\n path {\n stroke: var(--page-paper-main);\n stroke-dashoffset: 24;\n }\n rect {\n stroke: var(--color-secondary);\n stroke-width: 19px;\n }\n }\n`;\nStyledCheckbox.displayName = \"StyledCheckbox\";\n","import React, {\n forwardRef,\n BaseHTMLAttributes,\n InputHTMLAttributes,\n Ref,\n} from \"react\";\nimport classnames from \"classnames\";\nimport CheckboxIcon from \"../Icons/collection/Checkbox\";\nimport { StyledCheckbox, StyledInput, StyledLabel } from \"./Styles\";\n\nexport interface ICheckboxProps extends BaseHTMLAttributes<HTMLInputElement> {\n /** CSS classes */\n className?: string;\n /** Set hover style */\n hover?: boolean;\n /** Id of input and for of label */\n id?: string;\n}\n\n/**\n * Checkbox component\n */\nexport const Checkbox = forwardRef(\n (\n {\n className,\n hover,\n id = \"checkbox\",\n ...rest\n }: InputHTMLAttributes<HTMLInputElement> & ICheckboxProps,\n ref: Ref<HTMLInputElement> | null | undefined\n ) => {\n return (\n <StyledCheckbox\n className={classnames(\n \"c-checkbox\",\n {\n \"c-checkbox__hover\": hover,\n \"c-checkbox__controlled\": typeof hover === \"boolean\",\n },\n className\n )}\n hover={hover}\n >\n <StyledInput\n id={id}\n className=\"c-checkbox--input\"\n type=\"checkbox\"\n ref={ref}\n {...rest}\n />\n <StyledLabel htmlFor={id} className=\"c-checkbox--label\">\n <CheckboxIcon height={16} width={16} />\n </StyledLabel>\n </StyledCheckbox>\n );\n }\n);\n\nCheckbox.displayName = \"Checkbox\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../../BoxSizingStyle\";\nimport { FontStyle } from \"../../FontStyle\";\n\nexport const StyledOptionGroupLi = styled.li`\n flex-direction: column;\n`;\nexport const StyledOptionGroup = styled.div`\n ${tw`tw-select-none`}\n ${FontStyle}\n ${BoxSizingStyle}\n`;\n\nStyledOptionGroup.displayName = \"StyledOptionGroup\";\n\nexport const StyledOptionGroupHeader = styled.h3`\n height: 28px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0 16px;\n color: var(--color-theme-900);\n margin: 6px 0;\n * {\n margin: auto 0;\n }\n`;\n\nStyledOptionGroupHeader.displayName = \"StyledOptionGroupHeader\";\n\nexport const StyledOptionGroupOption = styled.div<{ hover?: boolean }>`\n ${(props) =>\n props.hover &&\n css`\n background-color: var(--color-theme-200);\n `}\n`;\n\nStyledOptionGroupOption.displayName = \"StyledOptionGroupOption\";\n","import React, { useCallback, useEffect, useMemo, FC } from \"react\";\nimport classNames from \"classnames\";\nimport { IOptionItemProps } from \"../Option/Option\";\nimport { Checkbox } from \"../../Checkbox/Checkbox\";\nimport {\n StyledOptionGroup,\n StyledOptionGroupHeader,\n StyledOptionGroupOption,\n StyledOptionGroupLi,\n} from \"./Styles\";\nimport { List } from \"../../List\";\n\nexport interface IOptionGroupProps extends IOptionItemProps {\n /** Options items list */\n options: IOptionItemProps[];\n}\n\ninterface IAdditionalOptionGroupProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** Value of hovered element */\n hover?: number | string | null;\n /** Filter for labels */\n filter?: string;\n /** Checked values */\n checked: (string | number)[];\n /** onChange callback */\n onChange?: (e: (string | number)[]) => void;\n /** Set value of hovered element */\n setHover?: (e: number | string | undefined) => void;\n /** Render function */\n renderOptions?: (item: IOptionItemProps, index: number) => void;\n /** Value that represent class names */\n optionGroupClassName?: string;\n}\n\nexport const OptionGroup: FC<\n IOptionGroupProps & IAdditionalOptionGroupProps\n> = ({\n id,\n name,\n options,\n type,\n hover,\n filter,\n checked,\n onChange,\n setHover,\n renderOptions,\n optionGroupClassName,\n}) => {\n const list = useMemo(\n () =>\n filter\n ? options.filter((v) =>\n v.name.toLowerCase().includes(filter.trim().toLowerCase())\n )\n : options,\n [filter, options]\n );\n\n useEffect(() => {\n if (hover === id && type !== \"single\") {\n document.getElementById(`${id}`)?.focus();\n }\n }, [hover, type, id]);\n\n const isAllOptionsChecked = useMemo(\n () => options.every((option) => checked.includes(option.id)),\n [options, checked]\n );\n\n const handleHover = useCallback(() => {\n if (setHover) {\n setHover(type === \"single\" ? undefined : id);\n }\n }, [setHover, type, id]);\n\n const allOptionValues = useMemo(\n () => options.map((option) => option.id),\n [options]\n );\n\n const handleClick = useCallback(\n (e) => {\n e.stopPropagation();\n if (onChange) {\n if (isAllOptionsChecked) {\n onChange(\n checked.filter((i) => allOptionValues.includes(i) === false)\n );\n } else {\n const values = [...checked, ...allOptionValues];\n const unique = values.filter((item, pos) => {\n return values.indexOf(item) === pos;\n });\n onChange(unique);\n }\n }\n },\n [allOptionValues, checked, isAllOptionsChecked, onChange]\n );\n\n return (\n <StyledOptionGroupLi\n key={id}\n className={classNames(\"c-option-group\", optionGroupClassName)}\n >\n <StyledOptionGroup key={id}>\n <StyledOptionGroupOption\n onMouseEnter={handleHover}\n hover={hover === id && type === \"multiple\"}\n >\n <StyledOptionGroupHeader>\n {name}\n {type === \"multiple\" && (\n <Checkbox\n id={`${id}`}\n checked={isAllOptionsChecked}\n onChange={handleClick}\n type=\"checkbox\"\n />\n )}\n </StyledOptionGroupHeader>\n </StyledOptionGroupOption>\n <List>\n {list.map((item: IOptionItemProps, index) => {\n return typeof renderOptions === \"function\"\n ? renderOptions(item, index)\n : item.name;\n })}\n </List>\n </StyledOptionGroup>\n </StyledOptionGroupLi>\n );\n};\n\nOptionGroup.displayName = \"OptionGroup\";\n","import styled from \"styled-components\";\nimport tw from \"twin.macro\";\n\ninterface Colors {\n $innerColor?: string;\n $outerColor?: string;\n}\n\nexport const StyledScrollShadow = styled.div`\n ${tw`tw-relative`}\n`;\n\nexport const StyledScrollShadowTop = styled.div<Colors>`\n ${tw`tw-absolute tw-top-0 tw-inset-x-0 tw-h-2`}\n\n background-image: linear-gradient(\n to top,\n ${(props) =>\n props.$innerColor ? props.$innerColor : \"var(--page-paper-main-shadow)\"},\n ${(props) =>\n props.$outerColor ? props.$outerColor : \"var(--page-paper-main)\"}\n );\n`;\n\nexport const StyledScrollShadowBottom = styled.div<Colors>`\n ${tw`tw-absolute tw-bottom-0 tw-inset-x-0 tw-h-2`}\n\n background-image: linear-gradient(\n to top,\n ${(props) =>\n props.$outerColor ? props.$outerColor : \"var(--page-paper-main)\"},\n ${(props) =>\n props.$innerColor ? props.$innerColor : \"var(--page-paper-main-shadow)\"}\n );\n`;\n\nexport const StyledScrollShadowLeft = styled.div<Colors>`\n ${tw`tw-absolute tw-left-0 tw-inset-y-0 tw-w-2`}\n\n background-image: linear-gradient(\n to left,\n ${(props) =>\n props.$innerColor ? props.$innerColor : \"var(--page-paper-main-shadow)\"},\n ${(props) =>\n props.$outerColor ? props.$outerColor : \"var(--page-paper-main)\"}\n );\n`;\n\nexport const StyledScrollShadowRight = styled.div<Colors>`\n ${tw`tw-absolute tw-right-0 tw-inset-y-0 tw-w-2`}\n\n background-image: linear-gradient(\n to right,\n ${(props) =>\n props.$innerColor ? props.$innerColor : \"var(--page-paper-main-shadow)\"},\n ${(props) =>\n props.$outerColor ? props.$outerColor : \"var(--page-paper-main)\"}\n );\n`;\n\nStyledScrollShadow.displayName = \"StyledScrollShadow\";\nStyledScrollShadowTop.displayName = \"StyledScrollShadowTop\";\nStyledScrollShadowBottom.displayName = \"StyledScrollShadowBottom\";\nStyledScrollShadowLeft.displayName = \"StyledScrollShadowLeft\";\nStyledScrollShadowRight.displayName = \"StyledScrollShadowRight\";\n","import React, {\n forwardRef,\n useState,\n useCallback,\n UIEventHandler,\n UIEvent,\n HTMLAttributes,\n} from \"react\";\nimport classnames from \"classnames\";\nimport {\n StyledScrollShadow,\n StyledScrollShadowBottom,\n StyledScrollShadowLeft,\n StyledScrollShadowRight,\n StyledScrollShadowTop,\n} from \"./Styles\";\n\nexport interface IScrollShadowProps {\n /** Children */\n children: ({ onScroll: UIEventHandler }) => void;\n /** Applies passed classes */\n className?: string;\n /** Disable vertical shadow */\n disableVertical?: boolean;\n /** Disable horizontal shadow */\n disableHorizontal?: boolean;\n /** Invert horizontal shadow logic */\n invertHorizontal?: boolean;\n /** Invert vertical shadow logic */\n invertVertical?: boolean;\n /** Inner gradient color */\n innerColor?: string;\n /** Outer gradient color */\n outerColor?: string;\n}\n\nexport const ScrollShadow = forwardRef<\n HTMLDivElement,\n IScrollShadowProps & HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n children,\n className,\n disableVertical = false,\n disableHorizontal = false,\n invertHorizontal = false,\n invertVertical = false,\n innerColor,\n outerColor,\n ...rest\n },\n ref\n ) => {\n const [opacity, setOpacity] = useState({\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n });\n\n const handleScroll: UIEventHandler = useCallback(\n (event: UIEvent) => {\n const { scrollHeight, clientHeight, scrollWidth, clientWidth } =\n event.target as Element;\n let { scrollTop, scrollLeft } = event.target as Element;\n\n if (scrollLeft < 0) {\n scrollLeft *= -1;\n }\n if (scrollTop < 0) {\n scrollTop *= -1;\n }\n\n setOpacity((prevState) => {\n const top = (1 / 20) * Math.min(scrollTop, 20);\n const bottomScrollTop = scrollHeight - clientHeight;\n const bottom =\n (1 / 20) *\n (bottomScrollTop - Math.max(scrollTop, bottomScrollTop - 20));\n const left = (1 / 20) * Math.min(scrollLeft, 20);\n const offset = scrollWidth - clientWidth;\n const right = (1 / 20) * (offset - Math.max(scrollLeft, offset - 20));\n\n const newState = { top: 0, bottom: 0, left: 0, right: 0 };\n\n if (!disableVertical) {\n newState.top = invertVertical ? bottom : top;\n newState.bottom = invertVertical ? top : bottom;\n }\n\n if (!disableHorizontal) {\n newState.left = invertHorizontal ? right : left;\n newState.right = invertHorizontal ? left : right;\n }\n\n if (\n newState.top !== prevState.top ||\n newState.bottom !== prevState.bottom ||\n newState.left !== prevState.left ||\n newState.right !== prevState.right\n ) {\n return newState;\n }\n\n return prevState;\n });\n },\n [invertHorizontal, invertVertical, disableVertical, disableHorizontal]\n );\n\n return (\n <StyledScrollShadow\n {...rest}\n ref={ref}\n className={classnames(\"c-scroll-shadow\", className)}\n >\n {children({ onScroll: handleScroll })}\n {!disableVertical ? (\n <>\n <StyledScrollShadowTop\n $innerColor={innerColor}\n $outerColor={outerColor}\n style={{ opacity: opacity.top }}\n />\n <StyledScrollShadowBottom\n $innerColor={innerColor}\n $outerColor={outerColor}\n style={{ opacity: opacity.bottom }}\n />\n </>\n ) : null}\n {!disableHorizontal ? (\n <>\n <StyledScrollShadowLeft\n $innerColor={innerColor}\n $outerColor={outerColor}\n style={{ opacity: opacity.left }}\n />\n <StyledScrollShadowRight\n $innerColor={innerColor}\n $outerColor={outerColor}\n style={{ opacity: opacity.right }}\n />\n </>\n ) : null}\n </StyledScrollShadow>\n );\n }\n);\n\nScrollShadow.displayName = \"ScrollShadow\";\n","import { useRef, useEffect, MutableRefObject } from \"react\";\n\nexport const useInitScrollRef = (\n element: HTMLDivElement | null,\n invert = false\n): MutableRefObject<HTMLDivElement | null> => {\n const ref = useRef<HTMLDivElement | null>(element);\n\n useEffect(() => {\n if (ref.current) {\n ref.current.scrollTop = invert ? -1 : 1;\n ref.current.scrollTop = 0;\n ref.current.scrollLeft = invert ? -1 : 1;\n ref.current.scrollLeft = 0;\n }\n }, [invert]);\n\n return ref;\n};\n","import { RefObject, useEffect, useState } from \"react\";\n\nexport const useHeight = (ref: RefObject<HTMLElement>): number => {\n const [height, setHeight] = useState(0);\n\n useEffect(() => {\n if (ref && ref.current) {\n const element = ref.current;\n const prevMaxHeight = element.style.maxHeight;\n const prevVisibility = element.style.visibility;\n\n element.style.visibility = \"hidden\";\n element.style.maxHeight = \"none\";\n\n const elementHeight = element.clientHeight;\n\n element.style.visibility = prevVisibility;\n element.style.maxHeight = prevMaxHeight;\n\n return setHeight(elementHeight);\n }\n }, [ref]);\n\n return height;\n};\n","import React, { forwardRef, HTMLAttributes, ReactNode } from \"react\";\nimport classNames from \"classnames\";\nimport { useInitScrollRef } from \"../../hooks\";\nimport useForkRef from \"../../utils/useForkRef\";\n\ninterface IScrollElement extends HTMLAttributes<HTMLElement> {\n as?: string;\n children?: ReactNode;\n invert?: boolean;\n}\n\nexport const ScrollElement = forwardRef<HTMLElement, IScrollElement>(\n ({ as = \"div\", className, invert = false, style, ...rest }, ref) => {\n const internalRef = useInitScrollRef(null, invert);\n const handleRef = useForkRef(internalRef, ref);\n\n const props = {\n ...rest,\n ref: handleRef,\n className: classNames(\"c-scroll-element\", className),\n style: { overflow: \"auto\", ...style },\n };\n\n return React.createElement(as, props);\n }\n);\n\nScrollElement.displayName = \"ScrollElement\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { ScrollShadow } from \"../ScrollShadow\";\nimport { List } from \"../List\";\nimport { StyledOption } from \"../Select/Option/Styles\";\n\nexport const StyledAutocompleteScrollShadow = styled(ScrollShadow)<{\n $isHidden: boolean;\n}>`\n margin-top: 4px;\n\n ${(props) =>\n props.$isHidden &&\n css`\n ${tw`tw-hidden`};\n `}\n`;\n\nStyledAutocompleteScrollShadow.displayName = \"StyledAutocompleteScrollShadow\";\n\nexport const StyledAutocompleteBody = styled(List)`\n max-height: 340px;\n overflow: auto;\n margin-bottom: 6px;\n`;\n\nStyledAutocompleteBody.displayName = \"StyledAutocompleteBody\";\n\nexport const StyledAutocompleteNewItem = styled(StyledOption)<{ hover }>`\n ${tw`tw-cursor-pointer tw-select-none`};\n justify-content: start;\n\n &:before {\n content: \"+ \";\n margin-right: 4px;\n }\n\n ${(props) =>\n props.hover &&\n css`\n background-color: var(--color-theme-200);\n content: \"+ \";\n `}\n`;\n\nStyledAutocompleteNewItem.displayName = \"StyledAutocompleteNewItem\";\n","import React, {\n FC,\n useCallback,\n useState,\n useMemo,\n useEffect,\n useRef,\n ReactNode,\n ReactElement,\n MutableRefObject,\n} from \"react\";\nimport { Scrollbars } from \"react-custom-scrollbars-2\";\nimport highlightText from \"../../hooks/useHighlightText\";\nimport { handleKeyboardMovement } from \"./HandleKeyboard\";\nimport { IOptionItemProps, Option } from \"../Select/Option\";\nimport { IOptionGroupProps, OptionGroup } from \"../Select/OptionGroup\";\nimport {\n StyledAutocompleteBody,\n StyledAutocompleteNewItem,\n StyledAutocompleteScrollShadow,\n} from \"./Styles\";\nimport { StyledOption } from \"../Select/Option/Styles\";\n\nexport function isOptionGroup(\n item: IOptionGroupProps | IOptionItemProps\n): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n}\n\nexport interface IAutocompleteProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** List of options or group options */\n options?: (IOptionGroupProps | IOptionItemProps)[];\n /** Selected values */\n selected?: (string | number)[] | string | number;\n /** Input Element. */\n inputEl?: MutableRefObject<HTMLInputElement | null | undefined>;\n /** Text for empty value */\n emptyValue?: string;\n /** Text for No result */\n noResultText?: string;\n /** Render option */\n renderOption?: (\n option: Record<string, ReactNode>,\n data: Record<string, unknown>\n ) => string | ReactElement;\n /** Default value that renders on top of list */\n defaultValue?: string;\n /** Sort direction for labels */\n sortDirection?: \"asc\" | \"desc\";\n /** handleChange callback */\n handleChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** ClassName for single option */\n optionClassName?: string;\n /** handleEmptyAction */\n handleEmptyAction?: (e: string | number) => void;\n /** Disable sorting options */\n disabledInternalSort?: boolean;\n /** ClassName for Autocomplete component */\n AutocompleteClassName?: string;\n /** handleDefaultOptionChange callback */\n handleDefaultOptionChange?: () => void;\n /** Should default value be selected */\n preselectDefaultValue?: boolean;\n /** Should order stay the same after choosing an option */\n keepSameOptionsOrder?: boolean;\n /** Set max height property for scrollbars */\n autoHeightMax?: number;\n /** Clear input on select - works in single mode */\n clearInputOnSelect?: boolean;\n}\n\ninterface IHover {\n item: number | string | undefined | null;\n by: \"mouse\" | \"keyboard\" | undefined;\n}\n\nexport const Autocomplete: FC<IAutocompleteProps> = ({\n type,\n options = [],\n inputEl,\n selected = [],\n emptyValue,\n noResultText,\n renderOption = (option) => option?.name,\n defaultValue,\n sortDirection = \"asc\",\n handleChange,\n optionClassName,\n handleEmptyAction,\n disabledInternalSort,\n AutocompleteClassName,\n handleDefaultOptionChange,\n preselectDefaultValue,\n keepSameOptionsOrder = false,\n autoHeightMax = 340,\n clearInputOnSelect,\n}) => {\n const itemRef = useRef<HTMLLIElement>(null);\n const listRef = useRef<Scrollbars>(null);\n\n const selectedOptions = useMemo(() => {\n if (Array.isArray(selected)) {\n return selected;\n }\n return [selected];\n }, [selected]);\n\n const handleSort = useCallback((opts) => {\n if (keepSameOptionsOrder) {\n return opts;\n }\n return opts.sort((a: IOptionItemProps, b: IOptionItemProps) => {\n if (selectedOptions.includes(b.id) && !selectedOptions.includes(a.id)) {\n return 1;\n }\n if (selectedOptions.includes(a.id) && !selectedOptions.includes(b.id)) {\n return -1;\n }\n return 0;\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const sortList = useCallback(\n (options) => {\n if (disabledInternalSort) {\n return handleSort([...options]);\n }\n return handleSort(\n [...options].sort((a: IOptionItemProps, b: IOptionItemProps) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n )\n );\n },\n [sortDirection, disabledInternalSort, handleSort]\n );\n\n const sortedList = useMemo(() => sortList(options), [options, sortList]);\n\n const [hover, setHover] = useState<IHover>({\n item: undefined,\n by: undefined,\n });\n const [filter, setFilter] = useState(\"\");\n\n const handleEmpty = useCallback(\n (e) => {\n if (e && e.button !== 0) {\n return;\n }\n if (handleEmptyAction) {\n inputEl?.current?.focus();\n setFilter(\"\");\n handleEmptyAction(filter);\n }\n },\n [filter, handleEmptyAction, inputEl]\n );\n\n const onAddNewMouseEnter = useCallback(\n () => setHover({ item: \"addNew\", by: \"mouse\" }),\n []\n );\n\n const showAddNew = useMemo(() => {\n return !!(\n emptyValue &&\n filter.trim() &&\n options.every((option) => {\n if (isOptionGroup(option)) {\n return option.options.every(\n (v) => v.name.toLowerCase() !== filter.trim().toLowerCase()\n );\n }\n return option.name.toLowerCase() !== filter.trim().toLowerCase();\n })\n );\n }, [emptyValue, filter, options]);\n\n const renderAddNew = useMemo(() => {\n return (\n <StyledAutocompleteNewItem\n ref={hover.item === \"addNew\" ? itemRef : null}\n key=\"emptyValue\"\n hover={hover.item === \"addNew\"}\n onMouseDown={handleEmpty}\n onMouseEnter={onAddNewMouseEnter}\n >\n {emptyValue}\n </StyledAutocompleteNewItem>\n );\n }, [emptyValue, handleEmpty, hover, onAddNewMouseEnter]);\n\n const filterOptions = useCallback(\n (options, filter) => {\n const trimmedFilter = filter.trim();\n const isGrouped = options[0] && isOptionGroup(options[0]);\n if (isGrouped) {\n let hovered = false;\n return options.reduce((acc, groupedOption) => {\n const filteredOptions = groupedOption.options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filteredOptions.length > 0) {\n if (!hovered && filter) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n hovered = true;\n return [...acc, { ...groupedOption, options: filteredOptions }];\n }\n return [...acc];\n }, []);\n } else {\n const filteredOptions = options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filter && filteredOptions.length > 0) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n if (filteredOptions.length === 0 && emptyValue) {\n setHover({ item: \"addNew\", by: \"keyboard\" });\n }\n return filteredOptions;\n }\n },\n [emptyValue]\n );\n\n const list = useMemo(\n () => filterOptions(sortedList, filter),\n [filter, filterOptions, sortedList]\n );\n\n const showDefaultOption = useMemo(\n () => !!defaultValue && !filter,\n [defaultValue, filter]\n );\n\n const flatOptions = useMemo(() => {\n const options = list.reduce(\n (\n acc: (IOptionItemProps | IOptionGroupProps | [])[],\n option: IOptionItemProps | IOptionGroupProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option];\n }\n return [...acc, ...option.options];\n },\n []\n );\n return filterOptions(options, filter);\n }, [filter, filterOptions, list]);\n\n const handleInputChange = useCallback((e) => {\n if (\n e.target &&\n !(e.key === \"ArrowDown\") &&\n !(e.key === \"ArrowUp\") &&\n !(e.key === \"Enter\")\n ) {\n setFilter(e.target.value);\n }\n }, []);\n\n const handleHoverCallback = useCallback(\n (e: number | string | undefined): void => {\n setHover({ item: e, by: \"mouse\" });\n },\n []\n );\n\n const toggleSelected = useCallback(\n (id) => {\n let result;\n\n if (id !== null) {\n if (type === \"multiple\") {\n if (selectedOptions.includes(id)) {\n result = selectedOptions.filter((_id) => _id !== id);\n } else {\n result = [...selectedOptions, id];\n }\n } else {\n result = id;\n }\n if (clearInputOnSelect && inputEl?.current) {\n inputEl.current.value = \"\";\n inputEl.current.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n setFilter(\"\");\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n return;\n }\n }\n\n if (typeof handleChange === \"function\") {\n handleChange(result);\n }\n },\n [\n clearInputOnSelect,\n handleChange,\n handleDefaultOptionChange,\n inputEl,\n selectedOptions,\n type,\n ]\n );\n\n const handleMouseEnter = useCallback((e) => {\n if (e === undefined || e === null) {\n return setHover({ item: null, by: \"mouse\" });\n }\n setHover({ item: e, by: \"mouse\" });\n }, []);\n\n const handleClick = useCallback(\n (e) => {\n e.preventDefault();\n toggleSelected(hover.item);\n },\n [toggleSelected, hover]\n );\n\n const handleRenderOption = useCallback(\n (item: IOptionItemProps | IOptionGroupProps, index) => {\n if (isOptionGroup(item)) {\n return (\n <OptionGroup\n checked={selectedOptions}\n name={item.name}\n key={item.id}\n setHover={handleHoverCallback}\n id={item.id}\n hover={hover.item}\n options={item.options}\n renderOptions={handleRenderOption}\n type={type}\n onChange={handleChange}\n filter={filter}\n />\n );\n }\n return (\n <Option\n name={item.name}\n ref={itemRef}\n key={index}\n onMouseEnter={handleMouseEnter}\n onClick={handleClick}\n id={item.id}\n hover={item.id === hover.item}\n className={optionClassName}\n renderOption={renderOption(\n { ...item, name: highlightText(item.name, filter) },\n {\n id: `option_${item.id}`,\n checked: selectedOptions && selectedOptions.includes(item.id),\n hover: hover.item === item.id,\n onChange: () => null,\n }\n )}\n />\n );\n },\n [\n handleClick,\n handleMouseEnter,\n hover.item,\n optionClassName,\n renderOption,\n filter,\n selectedOptions,\n handleHoverCallback,\n type,\n handleChange,\n ]\n );\n\n const handleOnMouseLeave = useCallback(() => {\n setHover({ item: undefined, by: \"mouse\" });\n }, []);\n\n const handleScroll = useCallback((list: Scrollbars, itemOffset: number) => {\n if (list.getClientHeight() + list.getScrollTop() < itemOffset + 40) {\n return list.scrollTop(itemOffset - list.getClientHeight() + 30);\n }\n if (list.getScrollTop() > itemOffset) {\n return list.scrollTop(itemOffset);\n }\n }, []);\n\n useEffect(() => {\n if (hover.by === \"keyboard\" && hover.item !== undefined) {\n const item: HTMLLIElement | null = itemRef.current;\n const list = listRef.current;\n if (itemRef && item && list) {\n handleScroll(list, item.offsetTop);\n }\n }\n }, [handleScroll, hover]);\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n\n if (hover.item === undefined && filter === \"\") {\n return;\n }\n if (hover.item === \"addNew\") {\n handleEmpty(null);\n return;\n }\n if (hover.item === null && handleDefaultOptionChange) {\n handleDefaultOptionChange();\n return;\n }\n\n if (typeof hover.item !== \"undefined\" || hover.item !== null) {\n toggleSelected(hover.item);\n setFilter(\"\");\n }\n return;\n }\n setHover({\n item: handleKeyboardMovement(\n e,\n hover.item,\n flatOptions,\n showAddNew,\n showDefaultOption\n ),\n by: \"keyboard\",\n });\n },\n [\n filter,\n flatOptions,\n toggleSelected,\n handleDefaultOptionChange,\n handleEmpty,\n hover,\n showAddNew,\n showDefaultOption,\n ]\n );\n\n useEffect(() => {\n const inputRef = inputEl?.current;\n if (inputRef) {\n inputRef.addEventListener(\"input\", handleInputChange);\n inputRef.addEventListener(\"keydown\", handleOnKeyDown);\n }\n return () => {\n if (inputRef) {\n inputRef.removeEventListener(\"input\", handleInputChange);\n inputRef.removeEventListener(\"keydown\", handleOnKeyDown);\n }\n };\n }, [handleInputChange, handleOnKeyDown, inputEl]);\n\n const isDefaultOptionSelected = useCallback(() => {\n if (preselectDefaultValue) {\n return selectedOptions.length < 1 || selectedOptions[0] === \"\";\n } else {\n return (\n selectedOptions[0] === null ||\n selectedOptions.length === flatOptions.length\n );\n }\n }, [flatOptions.length, preselectDefaultValue, selectedOptions]);\n\n const showNoResult = useMemo(\n () => noResultText && !showAddNew && list.length < 1,\n [list.length, noResultText, showAddNew]\n );\n\n const renderNoResult = useMemo(\n () => <StyledOption css=\"cursor: auto\">{noResultText}</StyledOption>,\n [noResultText]\n );\n\n return (\n <StyledAutocompleteScrollShadow\n className={AutocompleteClassName}\n $isHidden={\n !defaultValue && !emptyValue && !noResultText && list.length < 1\n }\n >\n {({ onScroll }): JSX.Element => (\n <StyledAutocompleteBody key=\"body\" onMouseLeave={handleOnMouseLeave}>\n <Scrollbars\n ref={listRef}\n key=\"scrollBar\"\n autoHeight\n autoHeightMax={autoHeightMax}\n onScroll={onScroll}\n >\n {defaultValue && !filter && (\n <Option\n name={defaultValue}\n ref={itemRef}\n hover={hover.item === null}\n onMouseEnter={handleMouseEnter}\n onClick={(e) => {\n e.preventDefault();\n toggleSelected(null);\n }}\n renderOption={renderOption(\n { name: defaultValue, id: null },\n {\n checked: isDefaultOptionSelected(),\n hover: hover.item === null,\n onChange: () => null,\n }\n )}\n />\n )}\n {list.map((item: IOptionItemProps, index) =>\n handleRenderOption(item, index)\n )}\n {showNoResult && renderNoResult}\n {showAddNew && renderAddNew}\n </Scrollbars>\n </StyledAutocompleteBody>\n )}\n </StyledAutocompleteScrollShadow>\n );\n};\n\nAutocomplete.displayName = \"Autocomplete\";\n","import styled, { css } from \"styled-components\";\nimport { InputSize } from \"./types\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\ninterface StyledInputWrapperProps {\n $size?: InputSize;\n $invalid?: boolean;\n $disabled?: boolean;\n}\n\nexport const StyledInputWrapper = styled.div<StyledInputWrapperProps>`\n align-items: center;\n background-color: var(--input-background-color);\n border-color: var(--color-theme-500);\n border-radius: 8px;\n border-style: solid;\n border-width: 1px;\n cursor: text;\n display: flex;\n height: 32px;\n padding-block: 4px;\n padding-inline: 4px;\n transition: all 0.3s ease;\n width: 360px;\n\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${(props) =>\n props.$size === \"small\" &&\n css`\n border-radius: 6px;\n height: 24px;\n `}\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n height: 40px;\n `}\n\n ${(props) =>\n props.$disabled &&\n css`\n cursor: default;\n opacity: 50%;\n `}\n\n ${(props) =>\n !props.$disabled &&\n !props.$invalid &&\n css`\n &:focus-within,\n &:hover {\n border-color: var(--color-primary);\n }\n `}\n\n ${(props) =>\n !props.$disabled &&\n props.$invalid &&\n css`\n border-color: var(--red-alert);\n `}\n`;\n\nStyledInputWrapper.displayName = \"StyledInputWrapper\";\n\ninterface StyledInputProps {\n $size?: InputSize;\n $loading?: boolean;\n}\n\nexport const StyledInput = styled.input<StyledInputProps>`\n background-color: var(--input-background-color);\n border: none;\n color: var(--color-theme-900);\n /* @TODO: Prebaciti velicine fontova, weight, razmake, itd... u naše varijable. */\n font-size: 0.875rem;\n font-weight: 400;\n letter-spacing: 0.02em;\n line-height: 1.375;\n margin-block: 0;\n margin-inline: 4px;\n outline: none;\n padding: 0;\n width: 100%;\n\n &::placeholder {\n color: var(--color-theme-transparent-500);\n }\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n font-size: 1rem;\n `}\n\n ${(props) =>\n props.disabled &&\n css`\n cursor: default;\n `}\n ${(props) =>\n props.$loading &&\n css`\n cursor: progress;\n `}\n`;\n\nStyledInput.displayName = \"StyledInput\";\n","import React, { ReactNode, Ref, useCallback, useRef } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledInput, StyledInputWrapper } from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { InputSize } from \"./types\";\nexport interface InputProps {\n /** Velicina inputa koja definse font-size i border radius */\n size?: InputSize;\n invalid?: boolean;\n startAdornment?: ReactNode;\n endAdornment?: ReactNode;\n wrapRef?: Ref<HTMLDivElement>;\n}\n\nexport const Input = React.forwardRef<\n HTMLInputElement,\n InputProps & Omit<React.ComponentPropsWithoutRef<\"input\">, keyof InputProps>\n>(\n (\n {\n className = \"\",\n style,\n type = \"text\",\n disabled = false,\n size = \"regular\",\n invalid = false,\n startAdornment,\n endAdornment,\n wrapRef,\n ...rest\n },\n ref\n ) => {\n const intInputRef = useRef<HTMLInputElement>(null);\n const handleRef = useForkRef(ref, intInputRef);\n\n const handleWrapperClick = useCallback(() => {\n intInputRef.current?.focus();\n }, []);\n\n return (\n <StyledInputWrapper\n $size={size}\n $invalid={invalid}\n $disabled={disabled}\n style={style}\n className={classnames(\"c-input-wrapper\", className)}\n onClick={handleWrapperClick}\n ref={wrapRef}\n >\n {startAdornment}\n <StyledInput\n ref={handleRef}\n type={type}\n $size={size}\n disabled={disabled}\n className=\"c-input\"\n aria-invalid={invalid}\n {...rest}\n />\n {endAdornment}\n </StyledInputWrapper>\n );\n }\n);\n\nInput.displayName = \"Input\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\n\nexport const StyledRadioInput = styled.input`\n display: none;\n`;\n\nStyledRadioInput.displayName = \"StyledRadioInput\";\n\nexport const StyledRadioLabel = styled.label`\n ${tw`tw-inline-flex tw-items-center`}\n`;\n\nStyledRadioLabel.displayName = \"StyledRadioLabel\";\n\nexport interface IStyledRadioButton {\n $isHovered?: boolean;\n $isControlled?: boolean;\n}\n\nexport const StyledRadioButton = styled.div<IStyledRadioButton>`\n ${BoxSizingStyle}\n ${tw`tw-inline-flex tw-items-center`}\n\n height: 16px;\n width: 16px;\n position: relative;\n\n svg {\n cursor: pointer;\n fill: transparent;\n }\n\n circle:first-child {\n transition-duration: 0.2s;\n stroke: var(--color-theme-500);\n }\n\n circle:last-child {\n transition-duration: 0.2s;\n transform-origin: center;\n transform: scale(0);\n fill: var(--color-secondary-500);\n }\n\n input:focus ~ ${StyledRadioLabel} {\n circle:first-child {\n stroke: var(--color-secondary);\n }\n }\n\n input:disabled ~ ${StyledRadioLabel} {\n pointer-events: none;\n opacity: 0.5;\n }\n\n ${(props) =>\n props.$isControlled !== true &&\n css`\n input:hover ~ ${StyledRadioLabel} {\n circle:first-child {\n stroke: var(--color-secondary);\n }\n circle:last-child {\n transform: scale(1);\n }\n }\n `}\n\n ${(props) =>\n props.$isHovered &&\n css`\n ${StyledRadioLabel} {\n circle:first-child {\n stroke: var(--color-secondary);\n }\n circle:last-child {\n transform: scale(1);\n }\n }\n `}\n\n input:checked ~ ${StyledRadioLabel} {\n circle:first-child {\n stroke: var(--color-secondary);\n }\n circle:last-child {\n transform: scale(1);\n fill: var(--color-secondary);\n }\n }\n`;\n\nStyledRadioButton.displayName = \"StyledRadioButton\";\n","import React, { forwardRef, InputHTMLAttributes, Ref } from \"react\";\nimport classnames from \"classnames\";\nimport RadioButtonIcon from \"../Icons/collection/RadioButton\";\nimport {\n StyledRadioButton,\n StyledRadioInput,\n StyledRadioLabel,\n} from \"./Styles\";\n\nexport interface IRadioButtonProps {\n /** Class names */\n className?: string;\n /** Set hover style */\n hover?: boolean;\n /** Id for RadioButton */\n id?: string;\n}\n\nexport const RadioButton = forwardRef(\n (\n {\n className = \"\",\n id = \"radio\",\n hover,\n ...props\n }: InputHTMLAttributes<HTMLInputElement> & IRadioButtonProps,\n ref: Ref<HTMLInputElement> | null | undefined\n ) => {\n return (\n <StyledRadioButton\n className={classnames(\n \"c-radio-btn\",\n {\n \"c-radio-btn__hover\": hover,\n \"c-radio-btn__controlled\": typeof hover === \"boolean\",\n },\n className\n )}\n $isHovered={hover}\n $isControlled={typeof hover === \"boolean\"}\n >\n <StyledRadioInput\n id={id}\n className=\"c-radio-btn--input\"\n type=\"radio\"\n ref={ref}\n {...props}\n />\n <StyledRadioLabel htmlFor={id} className=\"c-radio-btn--label\">\n <RadioButtonIcon width=\"16\" height=\"16\" />\n </StyledRadioLabel>\n </StyledRadioButton>\n );\n }\n);\n\nRadioButton.displayName = \"RadioButton\";\n","import styled from \"styled-components\";\nimport { Input } from \"../Input/Input\";\nimport { Checkbox } from \"../Checkbox\";\nimport { RadioButton } from \"../RadioButton\";\n\nexport const StyledSelectInput = styled(Input)``;\n\nStyledSelectInput.displayName = \"StyledSelectInput\";\n\nexport const StyledSelectForm = styled.form`\n margin: 12px 12px 0 12px;\n display: flex;\n\n ${StyledSelectInput} {\n width: 100%;\n border-radius: 4px;\n }\n\n * {\n margin: auto 0;\n }\n`;\n\nStyledSelectForm.displayName = \"StyledSelectForm\";\n\nexport const StyledCheckbox = styled(Checkbox)`\n margin-left: 12px;\n`;\n\nStyledCheckbox.displayName = \"StyledCheckbox\";\n\nexport const StyledRadioButton = styled(RadioButton)`\n margin-left: 12px;\n`;\n\nStyledRadioButton.displayName = \"StyledRadioButton\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { Body2 } from \"../../Typography\";\n\nexport const StyledOptionContentWrapper = styled.div`\n display: flex;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n align-items: center;\n height: 100%;\n flex-grow: 1;\n`;\n\nStyledOptionContentWrapper.displayName = \"StyledOptionContentWrapper\";\n\nexport const StyledOptionIndicator = styled.div<{ backgroundColor?: string }>`\n height: 24px;\n width: 24px;\n border-radius: 100%;\n margin-right: 8px;\n flex-shrink: 0;\n ${(props) =>\n props.backgroundColor &&\n !props.children &&\n css`\n background-color: ${props.backgroundColor};\n `}\n`;\n\nStyledOptionIndicator.displayName = \"StyledOptionIndicator\";\n\nexport const StyledOptionText = styled(Body2)<{ textColor?: string }>`\n ${tw`tw-truncate`}\n flex-grow: 1;\n line-height: 28px;\n padding-right: 10px;\n ${(props) =>\n props.textColor &&\n css`\n color: ${props.textColor};\n `}\n`;\n\nStyledOptionText.displayName = \"StyledOptionText\";\n\nexport const StyledAdditionalInfo = styled.span`\n margin: 0 0 0 5px;\n line-height: 18px;\n flex-shrink: 0;\n`;\n\nStyledAdditionalInfo.displayName = \"StyledAdditionalInfo\";\n","import styled, { css } from \"styled-components\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\n\nconst StyledMultiAvatarImg = css`\n width: inherit;\n height: inherit;\n`;\n\nexport const StyledMultiAvatarInner = styled.div`\n overflow: hidden;\n position: absolute;\n display: inline-flex;\n`;\n\nexport const StyledMultiAvatar = styled.div<{ $urlCount: number }>`\n ${BoxSizingStyle}\n\n border-radius: 100%;\n position: relative;\n overflow: hidden;\n\n ${(props) =>\n props.$urlCount === 2 &&\n css`\n ${StyledMultiAvatarInner}:first-child {\n left: 0;\n img {\n transform: translateX(-20%);\n }\n }\n ${StyledMultiAvatarInner}:last-child {\n right: 0;\n img {\n transform: translateX(-20%);\n }\n }\n `}\n\n ${(props) =>\n props.$urlCount === 3 &&\n css`\n ${StyledMultiAvatarInner}:nth-child(1) {\n left: 0;\n img {\n transform: translateX(-20%);\n }\n }\n ${StyledMultiAvatarInner}:nth-child(2) {\n right: 0;\n top: 0;\n\n img {\n ${StyledMultiAvatarImg}\n }\n }\n ${StyledMultiAvatarInner}:nth-child(3) {\n right: 0;\n bottom: 0;\n\n img {\n ${StyledMultiAvatarImg}\n }\n }\n `}\n\n ${(props) =>\n props.$urlCount > 3 &&\n css`\n img {\n ${StyledMultiAvatarImg}\n }\n ${StyledMultiAvatarInner}:nth-child(1) {\n left: 0;\n }\n ${StyledMultiAvatarInner}:nth-child(2) {\n left: 0;\n bottom: 0;\n }\n ${StyledMultiAvatarInner}:nth-child(3) {\n right: 0;\n top: 0;\n }\n ${StyledMultiAvatarInner}:nth-child(4) {\n right: 0;\n bottom: 0;\n }\n `}\n`;\n\nStyledMultiAvatar.displayName = \"StyledMultiAvatar\";\nStyledMultiAvatarInner.displayName = \"StyledMultiAvatarInner\";\n","import React, { PropsWithChildren, useCallback, useMemo } from \"react\";\nimport { StyledMultiAvatar, StyledMultiAvatarInner } from \"./Styles\";\n\nexport interface MultiAvatarProps {\n /** Path url. */\n url: string[];\n /** Alt text. */\n alt?: string[];\n /** Image size. */\n size?: number;\n /** Custom class. */\n className?: string;\n}\n\n/**\n * @component MultiAvatar\n * @description\n * The MultiAvatar component is used to represent user, and displays the profile picture, initials or fallback icon.\n *\n * @prop {url} - The image urls of the MultiAvatar.\n * @prop {size} - controls the size of an MultiAvatar (width and height) in pixels.\n * @prop {alt} - alt attributes of the imgs.\n *\n * @example\n * <MultiAvatar\n * url={[\"https://faces-img.xcdn.link/image-lorem-face-954.jpg\", \"https://faces-img.xcdn.link/image-lorem-face-953.jpg\"]}\n * alt={[\"Profile picture of John\", \"Profile picture of Sarah\"]} />\n *\n * @example\n * <MultiAvatar\n * url={[\"https://faces-img.xcdn.link/image-lorem-face-954.jpg\", \"https://faces-img.xcdn.link/image-lorem-face-953.jpg\"]}\n * alt={[\"Profile picture of John\", \"Profile picture of Sarah\"]}\n * >\n * <Badge />\n * </MultiAvatar>\n *\n * @see\n * https://system.activecollab.com/?path=/story/components-button-indicators-avatar--avatar\n * @see\n * https://design.activecollab.com/docs/components/avatar\n */\nexport const MultiAvatar = ({\n url,\n alt,\n size = 24,\n className,\n children,\n}: PropsWithChildren<MultiAvatarProps>) => {\n const setSize = useCallback(\n (i: number): object => {\n switch (url.length) {\n case 1:\n return { width: `${size}px`, height: `${size}px` };\n case 2:\n return { width: `${size / 2}px`, height: `${size}px` };\n case 3:\n if (i === 0) {\n return { width: `${size / 2}px`, height: `${size}px` };\n } else {\n return { width: `${size / 2}px`, height: `${size / 2}px` };\n }\n default:\n return { width: `${size / 2}px`, height: `${size / 2}px` };\n }\n },\n [size, url.length]\n );\n\n const slicedUrl = useMemo(() => {\n if (url?.length > 4) {\n return url.slice(0, 4);\n }\n\n return url;\n }, [url]);\n\n return (\n <span className=\"tw-relative tw-inline-flex\">\n <StyledMultiAvatar\n style={{ width: `${size}px`, height: `${size}px` }}\n className={className}\n $urlCount={url.length}\n >\n {slicedUrl.map((v, i) => (\n <StyledMultiAvatarInner\n style={setSize(i)}\n className=\"c-multi-avatar__wrapper\"\n key={`avatar_${i}`}\n >\n <img\n src={v}\n alt={alt && alt[i] ? alt[i] : `avatar_${i}`}\n width={size}\n height={size}\n />\n </StyledMultiAvatarInner>\n ))}\n </StyledMultiAvatar>\n {children}\n </span>\n );\n};\n\nMultiAvatar.displayName = \"MultiAvatar\";\n","import React, { FC } from \"react\";\nimport { Avatar } from \"../../Avatar/Avatar\";\nimport {\n StyledOptionIndicator,\n StyledOptionText,\n StyledAdditionalInfo,\n StyledOptionContentWrapper,\n} from \"./Styles\";\nimport { MultiAvatar } from \"../../MultiAvatar\";\n\ninterface OptionContentProps {\n imageUrl?: string | string[];\n color?: string;\n textColor?: string;\n name: string;\n additionalInfo?: string;\n}\n\nexport const OptionContent: FC<OptionContentProps> = ({\n imageUrl,\n color,\n textColor,\n name,\n additionalInfo,\n}) => {\n return (\n <StyledOptionContentWrapper>\n {imageUrl || color ? (\n <StyledOptionIndicator\n className=\"c-option--label\"\n backgroundColor={color}\n >\n {imageUrl ? (\n <>\n {Array.isArray(imageUrl) ? (\n <MultiAvatar\n className=\"c-option--multi-avatar\"\n url={imageUrl}\n />\n ) : (\n <Avatar className=\"c-option--avatar\" url={imageUrl} />\n )}\n </>\n ) : null}\n </StyledOptionIndicator>\n ) : null}\n <StyledOptionText className=\"c-option--text\" textColor={textColor}>\n {name}\n </StyledOptionText>\n {additionalInfo ? (\n <StyledAdditionalInfo>{additionalInfo}</StyledAdditionalInfo>\n ) : null}\n </StyledOptionContentWrapper>\n );\n};\n\nOptionContent.displayName = \"OptionContent\";\n","import React, {\n FC,\n useCallback,\n useState,\n ReactElement,\n useMemo,\n useEffect,\n useRef,\n Ref,\n} from \"react\";\nimport { Autocomplete, isOptionGroup } from \"../Autocomplete\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\nimport classNames from \"classnames\";\nimport { Placement } from \"@popperjs/core\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n} from \"./Styles\";\nimport { OptionContent } from \"./OptionContent/OptionContent\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport interface ISelectProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"handleEmptyAction\" | \"clearInputOnSelect\"\n > {\n /** Menu width mode */\n mode?: \"normal\" | \"wider\" | \"tiny\";\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Set Select position */\n position?: Placement;\n /** onChange callback */\n onChange?: (e: (string | number)[] | string | number) => void;\n /** Set action icon in select */\n actionIcon?: ReactElement;\n /** Set label for action icon */\n actionLabel?: string;\n /** Placeholder for Select input */\n placeholder?: string;\n /** Function that triggers when empty is clicked */\n emptyAction?: (e: string | undefined) => void;\n /** Removes input from Select */\n disableSearch?: boolean;\n /** Close menu on select */\n forceCloseMenu?: boolean;\n /** Set select classNames */\n selectClassName?: string;\n /** Callback called when the Select menu is opened */\n onSelectOpen?: () => void;\n /** Callback called when the Select menu is closed */\n onSelectClose?: () => void;\n}\n\nexport const Select: FC<ISelectProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n position = \"bottom-start\",\n onChange = () => null,\n actionIcon,\n actionLabel,\n placeholder,\n emptyAction = (): null => null,\n disableSearch = false,\n forceCloseMenu,\n selectClassName,\n keepSameOptionsOrder = false,\n onSelectOpen,\n onSelectClose,\n renderOption,\n handleDefaultOptionChange,\n preselectDefaultValue = type === \"single\",\n ...prop\n}) => {\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n\n const handleRef = useForkRef(childNode, elementRef);\n\n const Tag = !target ? \"div\" : Menu;\n const formRef = useRef<HTMLFormElement | null>(null);\n\n const [open, setOpen] = useState(false);\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const selectOptions = useMemo(() => {\n if (!options) {\n return [];\n }\n return options;\n }, [options]);\n\n const allOptionValues = useMemo(() => {\n return selectOptions.reduce(\n (\n acc: (string | number)[],\n option: IOptionGroupProps | IOptionItemProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option.id];\n }\n const allGroupOptions = option.options.map((option) => option.id);\n return [...acc, ...allGroupOptions];\n },\n []\n );\n }, [selectOptions]);\n\n const isAllOptionsChecked = useMemo(\n () => allOptionValues.every((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n useEffect(() => {\n open && childNode?.current?.focus();\n }, [childNode, open]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (forceCloseMenu) {\n if (typeof onSelectClose === \"function\") onSelectClose();\n setOpen(false);\n }\n if (selectedValue !== selected) {\n onChange(selectedValue);\n }\n },\n [forceCloseMenu, selected, onSelectClose, onChange]\n );\n\n const onClose = useCallback(() => {\n setOpen(false);\n if (onSelectClose) {\n onSelectClose();\n }\n }, [onSelectClose]);\n\n const onOpen = useCallback(() => {\n setOpen(true);\n if (onSelectOpen) {\n onSelectOpen();\n }\n }, [onSelectOpen]);\n\n const props = useMemo(() => {\n if (target) {\n return {\n menuClassName: classNames(\"c-select\", selectClassName),\n onClose,\n onOpen,\n target,\n mode,\n open,\n position,\n };\n }\n return { className: classNames(\"c-select\", selectClassName) };\n }, [target, selectClassName, onClose, onOpen, mode, open, position]);\n\n const handleEmptyAction = useCallback(\n (value) => {\n emptyAction(value);\n if (forceCloseMenu) {\n setOpen(false);\n }\n formRef.current?.reset();\n },\n [emptyAction, forceCloseMenu]\n );\n\n const handleDefaultOptionChangeCallback = useCallback(() => {\n if (type === \"multiple\") {\n if (selectedOptions.length === allOptionValues.length) {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange([]);\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(allOptionValues);\n }\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(\"\");\n }\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n }, [\n onChange,\n type,\n forceCloseMenu,\n selectedOptions.length,\n allOptionValues,\n handleDefaultOptionChange,\n ]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n additionalInfo={option.additionalInfo}\n />\n {option.id === null ? (\n type === \"multiple\" ? (\n <StyledCheckbox checked={isAllOptionsChecked} {...props} />\n ) : (\n <StyledRadioButton\n checked={selectedOptions.length < 1 || !selectedOptions[0]}\n {...props}\n />\n )\n ) : type === \"multiple\" ? (\n <StyledCheckbox {...props} />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [isAllOptionsChecked, renderOption, selectedOptions, type]\n );\n\n return (\n <Tag {...props}>\n <div>\n {!disableSearch ? (\n <StyledSelectForm ref={formRef}>\n <StyledSelectInput\n ref={handleRef}\n autoFocus\n placeholder={placeholder}\n />\n {actionIcon && actionLabel && (\n <Tooltip\n popperTooltipStyle={{ zIndex: 1301 }}\n title={actionLabel}\n >\n <div>{actionIcon}</div>\n </Tooltip>\n )}\n {actionIcon && !actionLabel && actionIcon}\n </StyledSelectForm>\n ) : null}\n <Autocomplete\n {...prop}\n clearInputOnSelect\n inputEl={childNode}\n handleEmptyAction={handleEmptyAction}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n handleDefaultOptionChange={handleDefaultOptionChangeCallback}\n type={type}\n preselectDefaultValue={preselectDefaultValue}\n keepSameOptionsOrder={keepSameOptionsOrder}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { NavAlignType, NavRoleType } from \"./Nav\";\n\ninterface StyledNavProps {\n $align?: NavAlignType;\n $role?: NavRoleType;\n}\n\nexport const StyledNav = styled.nav<StyledNavProps>`\n ${tw`tw-flex`}\n height: 100%;\n overflow: clip visible;\n\n ${(props) =>\n props.$align === \"left\" &&\n css`\n ${tw`tw-justify-start`}\n `}\n\n ${(props) =>\n props.$align === \"center\" &&\n css`\n ${tw`tw-justify-center`}\n `}\n\n ${(props) =>\n props.$align === \"right\" &&\n css`\n ${tw`tw-justify-end`}\n `}\n\n ${(props) =>\n props.$role === \"light\" &&\n css`\n height: auto;\n `}\n`;\n\nStyledNav.displayName = \"StyledNav\";\n\nexport const StyledNavList = styled.ul`\n ${tw`tw-flex tw-list-none tw-m-0 tw-p-0`}\n overflow: clip visible;\n`;\n\nStyledNavList.displayName = \"StyledNavList\";\n\ninterface StyledNavListItemProps {\n $active?: boolean;\n $disabled?: boolean;\n $role?: NavRoleType;\n $asMore?: boolean;\n}\n\nexport const StyledNavListItem = styled.li<StyledNavListItemProps>`\n ${tw`tw-text-sm tw-cursor-default tw-relative tw-select-none`}\n color: var(--color-theme-700);\n font-size: 15px;\n display: flex;\n align-items: center;\n font-weight: 500;\n padding: 0 10px;\n flex-shrink: 0;\n\n &:hover,\n &:hover * {\n ${(props) =>\n !props.$disabled &&\n css`\n ${tw`tw-text-primary`}\n `}\n }\n\n ${(props) =>\n !props.$active &&\n !props.$disabled &&\n css`\n ${tw`tw-cursor-pointer`}\n `}\n\n &::after {\n content: \"\";\n ${tw`tw-absolute tw-block tw-m-auto tw-w-0 tw-bg-transparent`}\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n height: 3px;\n transition: width 0.3s ease, background-color 0.3s ease;\n }\n\n ${(props) =>\n props.$active &&\n css`\n ${tw`tw-pointer-events-none`}\n &::after {\n ${tw`tw-w-full tw-bg-primary`}\n }\n `}\n\n ${(props) =>\n props.$disabled &&\n css`\n ${tw`tw-select-none tw-cursor-not-allowed tw-opacity-50`}\n `}\n\n ${(props) =>\n props.$role === \"light\" &&\n css`\n ${tw`tw-text-sm`}\n color: var(--color-theme-800);\n font-weight: 400;\n padding: 0 8px;\n\n &::after {\n bottom: -4px;\n height: 2px;\n }\n `}\n\n ${(props) =>\n props.$active &&\n css`\n ${tw`tw-text-primary`}\n & * {\n ${tw`tw-text-primary`}\n }\n `}\n`;\n\nStyledNavListItem.displayName = \"StyledNavListItem\";\n\nexport const StyledNavAsSelect = styled.div`\n padding: 0 10px;\n height: 100%;\n display: flex;\n align-items: center;\n\n svg {\n color: var(--color-primary);\n }\n`;\n\nStyledNavAsSelect.displayName = \"StyledNavAsSelect\";\n\nexport const StyledNavAsMoreTarget = styled.div<{\n $role?: NavRoleType;\n}>`\n padding: 0 10px;\n height: 100%;\n display: flex;\n align-items: center;\n\n ${(props) =>\n props.$role === \"light\" &&\n css`\n padding: 0;\n `}\n`;\n\nStyledNavAsMoreTarget.displayName = \"StyledNavAsMoreTarget\";\n","import classNames from \"classnames\";\nimport React, { ReactChild } from \"react\";\nimport { NavRoleType } from \"../Nav\";\nimport { StyledNavListItem } from \"../Styles\";\n\nexport interface ItemProps {\n /** Classname prop for custom styling. */\n children: ReactChild | string;\n /** Active state(underline). */\n active?: boolean;\n /** Disabled state. */\n disabled?: boolean;\n className?: string;\n name: string;\n role?: NavRoleType;\n}\n\nexport const Item = React.forwardRef<\n HTMLLIElement,\n ItemProps & React.ComponentPropsWithoutRef<\"li\">\n>(\n (\n { children, active = false, disabled = false, className, role, ...rest },\n ref\n ) => {\n return (\n <StyledNavListItem\n className={classNames(\n `c-nav__item`,\n {\n \"c-nav__item--active\": active,\n },\n className\n )}\n ref={ref}\n {...rest}\n $active={active}\n $disabled={disabled}\n $role={role}\n >\n {children}\n </StyledNavListItem>\n );\n }\n);\n\nItem.displayName = \"Item\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { Item } from \"./Item\";\n\nexport const StyledNavListItemMore = styled(Item)`\n ${(props) =>\n props.role !== \"light\" &&\n css`\n padding: 0;\n `}\n cursor: pointer;\n ${tw`tw-pointer-events-auto`}\n`;\n\nStyledNavListItemMore.displayName = \"StyledNavListItemMore\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nexport const StyledExpand = styled.svg`\n ${tw`tw-fill-current tw-w-6 tw-h-6`}\n`;\n\nStyledExpand.displayName = \"StyledExpand\";\n\nexport const StyledExpandSingle = styled(StyledExpand)<{ $expanded?: boolean }>`\n ${(props) =>\n !props.$expanded &&\n css`\n transform: rotate(180deg);\n `}\n`;\n\nStyledExpandSingle.displayName = \"StyledExpandSingle\";\n","import React, { forwardRef } from \"react\";\nimport { IExpander } from \"./ExpanderInterface\";\nimport { StyledExpandSingle } from \"./Styles\";\n\nexport const ExpandSingle = forwardRef<\n SVGSVGElement,\n IExpander & React.ComponentPropsWithoutRef<\"svg\">\n>(({ expanded = false, ...rest }, ref) => {\n return (\n <StyledExpandSingle\n ref={ref}\n viewBox=\"0 0 24 24\"\n $expanded={expanded}\n {...rest}\n >\n <path\n d=\"M15.372 14.736a.993.993 0 001.349 0 .867.867 0 000-1.275L12 9l-4.72 4.461a.867.867 0 000 1.275.993.993 0 001.348 0L12 11.549l3.372 3.187z\"\n fillRule=\"nonzero\"\n />\n </StyledExpandSingle>\n );\n});\n\nExpandSingle.displayName = \"ExpandSingle\";\n","import React, {\n ReactElement,\n FC,\n ReactNode,\n useState,\n useRef,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n Children,\n cloneElement,\n} from \"react\";\nimport classNames from \"classnames\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport debounce from \"lodash.debounce\";\nimport { ISyntheticEvent } from \"../../types\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { Select } from \"../Select/Select\";\nimport {\n StyledNav,\n StyledNavAsMoreTarget,\n StyledNavAsSelect,\n StyledNavList,\n} from \"./Styles\";\nimport { StyledNavListItemMore } from \"./Item/Styles\";\nimport { ItemProps } from \"./Item/Item\";\nimport { ExpandSingle } from \"../Expanders/ExpandSingle\";\n\ntype NavType = \"inline\" | \"dropdown\";\nexport type NavAlignType = \"left\" | \"center\" | \"right\";\nexport type NavRoleType = \"bold\" | \"light\";\n\nexport interface INavProps {\n children: ReactElement<ItemProps>[];\n /** Function for changing active navs. */\n onSelect?: (index: number) => void;\n /** Function triggered when option in More... is selected */\n onMoreOptionSelect?: (index: number) => void;\n /** Aligment of nav component. */\n alignment?: NavAlignType;\n /** CSS classes. */\n className?: string;\n /** Role of nav component. */\n role?: NavRoleType;\n /** Label for More... item */\n moreLabel?: string;\n /** Nav type */\n type?: NavType;\n}\n\nexport const Nav: FC<INavProps> = ({\n children,\n alignment = \"left\",\n onSelect,\n onMoreOptionSelect,\n className,\n role = \"bold\",\n moreLabel,\n type = \"inline\",\n}) => {\n const [active, setActive] = useState(0);\n const [visibleTabIndexes, setVisibleTabIndexes] = useState<number[]>([]);\n const [measuringRender, setMeasuringRender] = useState(false);\n const [moreVisible, setMoreVisible] = useState(false);\n const [renderNavAsSelect, setRenderNavAsSelect] = useState(false);\n const [options, setOptions] = useState<IOptionItemProps[]>([]);\n const [moreOpened, setMoreOpened] = useState(false);\n const [isMounted, setIsMounted] = useState(false);\n\n const navItemNames = useMemo(\n () => children.map((item) => item.props.name),\n [children]\n );\n\n const allOptions = useMemo(() => {\n return navItemNames.map((name, index) => {\n return { id: index, name: name };\n });\n }, [navItemNames]);\n\n // REFS\n const navRef = useRef<HTMLUListElement | null>(null);\n const navItemsRefs = useRef<\n { index: number; element: HTMLLIElement } | Record<string, unknown>\n >({});\n const moreItemRef = useRef<HTMLLIElement | null>(null);\n\n const onClick = useCallback(\n (e: ISyntheticEvent) => {\n if (\n e.target &&\n e.currentTarget.dataset.index &&\n !e.currentTarget.dataset.disabled\n ) {\n const index = Number(e.currentTarget.dataset.index);\n setActive(index);\n if (onSelect) {\n onSelect(index);\n }\n setMeasuringRender(true);\n }\n },\n [onSelect]\n );\n\n useMemo(() => {\n Children.forEach(\n children as ReactElement[],\n (child: ReactElement, index) => {\n if (child && child.props.active) {\n setActive(index);\n }\n }\n );\n }, [children]);\n\n useLayoutEffect(() => {\n if (type === \"inline\" && measuringRender && isMounted) {\n const containerWidth = navRef.current?.offsetWidth || 0;\n const itemsWidth = Object.values(navItemsRefs.current).reduce(\n (acc: number, item) => {\n const itemEl = item as HTMLLIElement;\n return acc + (itemEl ? itemEl.offsetWidth : 0);\n },\n 0\n );\n\n // all tabs are visible\n if (containerWidth >= itemsWidth) {\n setVisibleTabIndexes(Array.from(navItemNames.keys()));\n setMoreVisible(false);\n setRenderNavAsSelect(false);\n return setMeasuringRender(false);\n }\n\n setMoreVisible(true);\n\n if (moreVisible) {\n const moreItemWidth = moreItemRef.current?.offsetWidth || 0;\n const firstItemWidth = navItemsRefs.current[0].offsetWidth;\n\n // collapse Nav to Select, there is no enough room\n if (containerWidth < moreItemWidth + firstItemWidth) {\n setVisibleTabIndexes([]);\n const options = navItemNames.map((name, index) => {\n return { id: index, name: name };\n });\n setOptions(options);\n setRenderNavAsSelect(true);\n setMoreVisible(false);\n return setMeasuringRender(false);\n }\n\n // item(s) + More...\n const visible: number[] = [];\n let allWidth = 0;\n Object.values(navItemsRefs.current).forEach((item, index) => {\n const liItem = item as HTMLLIElement;\n allWidth += liItem.offsetWidth;\n if (moreItemWidth + allWidth <= containerWidth) {\n visible.push(index);\n }\n });\n setVisibleTabIndexes(visible);\n const options = navItemNames\n .map((name, index) => {\n return { id: index, name: name };\n })\n .filter((item) => !visible.includes(item.id));\n setOptions(options);\n setRenderNavAsSelect(false);\n setMeasuringRender(false);\n }\n }\n }, [\n children,\n isMounted,\n measuringRender,\n moreVisible,\n navItemNames,\n type,\n visibleTabIndexes,\n ]);\n\n useEffect(() => {\n if (type === \"inline\") {\n const handleResize = debounce((): void => {\n setMeasuringRender(true);\n }, 300);\n window.addEventListener(\"resize\", handleResize);\n return (): void => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }\n }, [type]);\n\n // we are using observer to solve the problem of the initial rendering\n useEffect(() => {\n if (type === \"inline\" && navRef.current) {\n const resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n const { contentRect } = entry;\n const { width = 0 } = contentRect;\n if (width > 0) {\n setMeasuringRender(true);\n }\n }\n });\n\n resizeObserver.observe(navRef.current);\n\n setTimeout(() => {\n if (navRef.current) {\n resizeObserver.unobserve(navRef.current);\n }\n }, 2000);\n\n return (): void => {\n resizeObserver.disconnect();\n };\n }\n }, [type]);\n\n useEffect(() => {\n setMeasuringRender(true);\n setIsMounted(true);\n }, []);\n\n const visibleTabs = useMemo(() => {\n const tabs = Children.toArray(children);\n if (measuringRender || !isMounted) {\n return tabs;\n } else {\n return tabs.filter((child, index) => {\n return visibleTabIndexes.includes(index);\n });\n }\n }, [children, isMounted, measuringRender, visibleTabIndexes]);\n\n const onMoreOptionClick = useCallback(\n (id) => {\n setActive(id);\n if (onMoreOptionSelect) {\n onMoreOptionSelect(id);\n }\n setMeasuringRender(true);\n },\n [onMoreOptionSelect]\n );\n\n const navAsSelect = useMemo(() => {\n return (\n <StyledNavAsSelect>\n <span>{navItemNames[active]}</span>\n <ExpandSingle expanded={moreOpened} fill=\"currentColor\" />\n </StyledNavAsSelect>\n );\n }, [active, moreOpened, navItemNames]);\n\n const setMoreOpen = useCallback(() => setMoreOpened(true), []);\n const setMoreClose = useCallback(() => setMoreOpened(false), []);\n\n return (\n <StyledNav\n className={classNames(\"c-nav\", className)}\n $align={alignment}\n $role={role}\n >\n <StyledNavList ref={navRef}>\n {type === \"inline\" &&\n visibleTabs.map((child: ReactNode, index: number) => {\n const element = child as ReactElement;\n return cloneElement(element, {\n active: index === active,\n role,\n ref: (el) => {\n navItemsRefs.current[index] = el;\n },\n onClick,\n \"data-index\": index,\n \"data-disabled\": element.props.disabled,\n });\n })}\n {type === \"inline\" && moreVisible ? (\n <StyledNavListItemMore\n ref={moreItemRef}\n name=\"More\"\n active={visibleTabIndexes.indexOf(active) === -1}\n role={role}\n >\n <Select\n selected={active}\n target={\n <StyledNavAsMoreTarget $role={role}>\n {moreLabel}\n </StyledNavAsMoreTarget>\n }\n disabledInternalSort\n onChange={onMoreOptionClick}\n options={options}\n type=\"single\"\n mode=\"normal\"\n forceCloseMenu\n disableSearch\n keepSameOptionsOrder\n onSelectOpen={setMoreOpen}\n onSelectClose={setMoreClose}\n />\n </StyledNavListItemMore>\n ) : null}\n {type === \"dropdown\" || renderNavAsSelect ? (\n <StyledNavListItemMore\n name=\"More\"\n active={visibleTabIndexes.indexOf(active) === -1}\n role={role}\n >\n <Select\n selected={active}\n target={navAsSelect}\n disabledInternalSort\n onChange={onMoreOptionClick}\n options={allOptions}\n type=\"single\"\n mode=\"normal\"\n forceCloseMenu\n disableSearch\n keepSameOptionsOrder\n onSelectOpen={setMoreOpen}\n onSelectClose={setMoreClose}\n />\n </StyledNavListItemMore>\n ) : null}\n </StyledNavList>\n </StyledNav>\n );\n};\n\nNav.displayName = \"Nav\";\n","import React from \"react\";\nimport styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport {\n PolymorphicComponentPropsWithRef,\n PolymorphicRef,\n} from \"../../utils/types\";\n\ninterface BaseInputAdornmentProps {\n disablePointerEvents?: boolean;\n}\n\nconst InputAdornmentBase = styled.div<{ $disablePointerEvents?: boolean }>`\n ${tw`tw-flex`}\n ${tw`tw-items-center`}\n\n ${(props) =>\n props.$disablePointerEvents &&\n css`\n ${tw`tw-pointer-events-none`}\n `}\n`;\n\nexport type InputAdornmentProps<C extends React.ElementType> =\n PolymorphicComponentPropsWithRef<C, BaseInputAdornmentProps>;\n\nexport type InputAdornmentComponent = <C extends React.ElementType = \"div\">(\n props: InputAdornmentProps<C>\n) => React.ReactElement | null;\n\nexport const InputAdornment: InputAdornmentComponent & {\n displayName?: string;\n} = React.forwardRef(\n <C extends React.ElementType = \"div\">(\n { children, as, disablePointerEvents, ...rest }: InputAdornmentProps<C>,\n ref: PolymorphicRef<C>\n ) => {\n const Component = as || \"div\";\n return (\n <InputAdornmentBase\n {...rest}\n as={Component}\n $disablePointerEvents={disablePointerEvents}\n ref={ref}\n >\n {children}\n </InputAdornmentBase>\n );\n }\n);\n\nInputAdornment.displayName = \"InputAdornment\";\n","import React, { forwardRef } from \"react\";\nimport { IExpander } from \"./ExpanderInterface\";\nimport { StyledExpand } from \"./Styles\";\n\nexport const ExpandAll = forwardRef<\n SVGSVGElement,\n IExpander & React.ComponentPropsWithoutRef<\"svg\">\n>(({ expanded = false, ...rest }, ref) => {\n return (\n <StyledExpand ref={ref} viewBox=\"0 0 24 24\" {...rest}>\n {expanded ? (\n <path d=\"M13 16l4.72 4.461a.867.867 0 010 1.275.993.993 0 01-1.348 0L13 18.549l-3.372 3.187a.993.993 0 01-1.349 0 .867.867 0 010-1.275L13 16zm4.72-11.736a.867.867 0 010 1.275L13 10 8.28 5.539a.867.867 0 010-1.275.993.993 0 011.348 0L13 7.451l3.372-3.187a.993.993 0 011.349 0zM13 15a2 2 0 100-4 2 2 0 000 4z\" />\n ) : (\n <path d=\"M17.72 16.264a.867.867 0 010 1.275L13 22l-4.72-4.461a.867.867 0 010-1.275.993.993 0 011.348 0L13 19.451l3.372-3.187a.993.993 0 011.349 0zM13 4l4.72 4.461a.867.867 0 010 1.275.993.993 0 01-1.348 0L13 6.549 9.628 9.736a.993.993 0 01-1.349 0 .867.867 0 010-1.275L13 4zm0 11a2 2 0 100-4 2 2 0 000 4z\" />\n )}\n </StyledExpand>\n );\n});\n\nExpandAll.displayName = \"ExpandAll\";\n","import styled from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { FontStyle } from \"../FontStyle\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport ArrowLeftIcon from \"../Icons/collection/ArrowLeft\";\nimport TreeDotsIcon from \"../Icons/collection/TreeDots\";\n\nexport const StyledMenuSelectorDots = styled(TreeDotsIcon)`\n ${tw`tw-cursor-pointer tw-flex-shrink-0 tw-ml-2`}\n`;\n\nStyledMenuSelectorDots.displayName = \"StyledMenuSelectorDots\";\n\nexport const StyledMenuSelectorBack = styled(ArrowLeftIcon)`\n ${tw`tw-cursor-pointer tw-stroke-current tw-flex-shrink-0 tw-mr-2`}\n`;\n\nStyledMenuSelectorBack.displayName = \"StyledMenuSelectorBack\";\n\nexport const StyledMenuSelector = styled.div`\n ${BoxSizingStyle}\n ${FontStyle}\n\n color: var(--color-theme-700);\n`;\n\nStyledMenuSelector.displayName = \"StyledMenuSelector\";\n\nexport const StyledMenuSelectorInner = styled.div`\n ${tw`tw-flex tw-items-center tw-m-4`}\n`;\n\nStyledMenuSelectorInner.displayName = \"StyledMenuSelectorInner\";\n","import React, { FC, FocusEvent, useCallback, ChangeEvent } from \"react\";\nimport classNames from \"classnames\";\nimport { Input } from \"../Input\";\nimport {\n StyledMenuSelector,\n StyledMenuSelectorBack,\n StyledMenuSelectorDots,\n StyledMenuSelectorInner,\n} from \"./Styles\";\n\ninterface IMenuSelector {\n /** Initial value on mount */\n defaultValue?: string;\n /** Input placeholder */\n placeholder?: string;\n /** Execute callback when input has been changed */\n onChange?: (value: string) => void;\n /** Execute callback when click on back button */\n onBack?: () => void;\n /** Execute callback when click on edit button */\n onEdit?: () => void;\n /** Auto focus on mount */\n autoFocus?: boolean;\n /** Applies passed classes */\n className?: string;\n /** Input focus event callback */\n onFocus?: (e: FocusEvent<HTMLInputElement>) => void;\n /** Input focus event callback */\n onBlur?: (e: FocusEvent<HTMLInputElement>) => void;\n /** Set auto complete option on/off */\n autoComplete?: boolean;\n}\n\nexport const MenuSelector: FC<IMenuSelector> = ({\n defaultValue,\n children,\n placeholder,\n onChange,\n onBack,\n onEdit,\n autoFocus = false,\n className,\n onFocus,\n onBlur,\n autoComplete = false,\n}) => {\n const handleChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n if (typeof onChange === \"function\") {\n onChange(e.target.value);\n }\n },\n [onChange]\n );\n\n return (\n <StyledMenuSelector className={classNames(\"c-menu-selector\", className)}>\n <StyledMenuSelectorInner>\n {typeof onBack === \"function\" ? (\n <StyledMenuSelectorBack onClick={onBack} width=\"16px\" height=\"16px\" />\n ) : null}\n <Input\n onChange={handleChange}\n placeholder={placeholder}\n autoFocus={autoFocus}\n defaultValue={defaultValue}\n onFocus={onFocus}\n onBlur={onBlur}\n autoComplete={autoComplete ? \"on\" : \"off\"}\n />\n {typeof onEdit === \"function\" ? (\n <StyledMenuSelectorDots onClick={onEdit} />\n ) : null}\n </StyledMenuSelectorInner>\n {children}\n </StyledMenuSelector>\n );\n};\n\nMenuSelector.displayName = \"MenuSelector\";\n","import styled, { css } from \"styled-components\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\nimport tw from \"twin.macro\";\n\ninterface StyledTextareaProps {\n disabled: boolean;\n $invalid: boolean;\n}\n\nexport const StyledTextarea = styled.textarea<StyledTextareaProps>`\n ${tw`tw-text-body-2`}\n ${tw`tw-text-theme-900`}\n ${tw`tw-leading-regular`}\n ${tw`tw-tracking-regular`}\n ${tw`tw-font-regular`}\n border-width: 1px;\n border-style: solid;\n ${tw`tw-border-theme-500`}\n border-radius: 8px;\n padding: 4px 8px 6px 8px;\n height: auto;\n background-color: var(--input-background-color);\n transition: all 0.3s ease;\n width: 360px;\n min-height: 90px;\n outline: none;\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${(props) =>\n props.disabled &&\n css`\n ${tw`tw-cursor-not-allowed tw-opacity-50`}\n `}\n\n ${(props) =>\n !props.disabled &&\n !props.$invalid &&\n css`\n &:active,\n &:focus,\n &:hover {\n ${tw`tw-border-primary`}\n }\n `}\n\n &::placeholder {\n ${tw`tw-text-theme-transparent-500`}\n }\n\n ${(props) =>\n !props.disabled &&\n props.$invalid &&\n css`\n ${tw`tw-border-alert`}\n `}\n`;\n\nStyledTextarea.displayName = \"StyledTextarea\";\n","import React, { forwardRef, Ref } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledTextarea } from \"./Styles\";\n\nexport interface TextareaProps {\n invalid?: boolean;\n}\n\nexport const Textarea = forwardRef(\n (\n {\n className,\n disabled = false,\n invalid = false,\n ...rest\n }: TextareaProps &\n Omit<React.ComponentPropsWithoutRef<\"textarea\">, keyof TextareaProps>,\n ref: Ref<HTMLTextAreaElement> | null | undefined\n ) => {\n return (\n <StyledTextarea\n {...rest}\n $invalid={invalid}\n ref={ref}\n disabled={disabled}\n className={classnames(\n \"c-textarea\",\n { \"c-textarea__disabled\": disabled },\n className\n )}\n />\n );\n }\n);\n\nTextarea.displayName = \"Textarea\";\n","export type ChainedFunction = ((...args: unknown[]) => void) | undefined | null;\n\nexport default function createChainedFunction(\n ...functions: ChainedFunction[]\n): ChainedFunction {\n return functions.reduce(\n (acc, func) => {\n if (func === null) {\n return acc;\n }\n\n return function chainedFunction(this: void, ...args): void {\n acc && acc.apply(this, args);\n func && func.apply(this, args);\n };\n },\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n () => {}\n );\n}\n","import React, {\n forwardRef,\n HTMLAttributes,\n useRef,\n cloneElement,\n useMemo,\n useCallback,\n ReactElement,\n useState,\n useEffect,\n MouseEvent,\n} from \"react\";\nimport { Window } from \"../Window\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport createChainedFunction from \"../../utils/createChainedFunction\";\nimport { Overlay } from \"../Overlay\";\n\nexport interface IModal {\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n open?: boolean;\n disableBackgroundClick?: boolean;\n disableCloseOnEsc?: boolean;\n disableBackgroundColor?: boolean;\n onClose?: () => void;\n children: ReactElement;\n}\n\nconst getHasTransition = (children): boolean => {\n return children.props\n ? Object.prototype.hasOwnProperty.call(children.props, \"in\")\n : false;\n};\n\nexport const Modal = forwardRef<\n HTMLDivElement,\n IModal & HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n children,\n disableFocusLock = false,\n disableScrollLock = false,\n disableBackgroundClick = false,\n disableBackgroundColor = false,\n disableCloseOnEsc = false,\n open: defaultOpen = false,\n onClose,\n ...rest\n },\n ref\n ) => {\n const [open, setOpen] = useState(defaultOpen);\n const [exited, setExited] = useState(true);\n const innerRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(innerRef, ref);\n\n const hasTransition = useMemo(() => {\n return getHasTransition(children);\n }, [children]);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleClose = useCallback(() => {\n setOpen(false);\n if (!hasTransition) {\n typeof onClose === \"function\" && onClose();\n }\n }, [hasTransition, onClose]);\n\n const handleBackgroundClick = useCallback(\n (event: MouseEvent<HTMLDivElement>) => {\n if (!disableBackgroundClick) {\n event.preventDefault();\n handleClose();\n }\n },\n [disableBackgroundClick, handleClose]\n );\n\n const handleEnter = useCallback(() => {\n setExited(false);\n }, []);\n\n const handleExited = useCallback(() => {\n setExited(true);\n typeof onClose === \"function\" && onClose();\n }, [onClose]);\n\n const childProps = useMemo(() => {\n let props = {};\n\n // It's a Transition like component\n if (hasTransition && children) {\n props = {\n onEnter: createChainedFunction(handleEnter, children.props.onEnter),\n onExited: createChainedFunction(\n handleExited,\n children.props.onExited\n ),\n in: open,\n };\n }\n\n return props;\n }, [children, handleEnter, handleExited, hasTransition, open]);\n\n if (!open && (!hasTransition || exited)) {\n return null;\n }\n\n return (\n <Window\n {...rest}\n ref={handleRef}\n onClose={handleClose}\n disableFocusLock={disableFocusLock}\n disableScrollLock={disableScrollLock}\n disableCloseOnEsc={disableCloseOnEsc}\n >\n {open ? (\n <Overlay\n onClick={handleBackgroundClick}\n disableBackgroundColor={disableBackgroundColor}\n />\n ) : null}\n {cloneElement(children, childProps)}\n </Window>\n );\n }\n);\n\nModal.displayName = \"Modal\";\n","import styled, { css, keyframes } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\nimport { CSSTransition } from \"react-transition-group\";\n\nexport const StyledSheetIcons = styled.div`\n display: flex;\n height: 0;\n position: relative;\n\n span {\n position: relative;\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-secondary);\n cursor: pointer;\n border-radius: 100%;\n width: 40px;\n height: 40px;\n display: flex;\n justify-content: center;\n align-items: center;\n & > * {\n height: 40px;\n width: 40px;\n padding: 8px;\n fill: var(--color-theme-600);\n }\n }\n`;\n\nStyledSheetIcons.displayName = \"StyledSheetIcons\";\n\ninterface IStyledSheetWrapper {\n $position?: \"center\" | \"left\" | \"right\";\n $mode?: \"normal\" | \"stretch\";\n}\n\nexport const StyledSheetWrapper = styled.div<IStyledSheetWrapper>`\n ${BoxSizingStyle}\n ${FontStyle}\n\n position: relative;\n max-width: 95vw;\n display: flex;\n flex-direction: row;\n\n ${(props) =>\n props.$mode === \"stretch\"\n ? css`\n margin-top: 8px;\n height: calc(100vh - 16px);\n width: calc(100vw - 100px);\n max-width: 1000px;\n ${StyledSheetIcons} {\n flex-direction: column;\n width: 0;\n height: calc(100vh - 32px);\n & > * {\n margin-bottom: 8px;\n animation-fill-mode: both;\n }\n span {\n top: 8px;\n }\n }\n `\n : css`\n max-height: calc(100vh - 156px);\n margin-top: 126px;\n margin-bottom: 30px;\n width: 540px;\n flex-direction: column;\n\n ${StyledSheetIcons} {\n flex-direction: row-reverse;\n & > * {\n margin-left: 8px;\n animation-fill-mode: both;\n }\n span {\n top: -48px;\n right: 8px;\n }\n }\n `}\n\n ${(props) =>\n props.$position === \"center\" &&\n css`\n ${tw`tw-mx-auto`}\n `}\n\n ${(props) =>\n props.$position === \"left\" &&\n css`\n ${tw`tw-ml-2 tw-mr-auto`}\n `}\n\n ${(props) =>\n props.$position === \"right\" &&\n css`\n ${tw`tw-mr-2 tw-ml-auto`}\n `}\n\n ${(props) =>\n props.$mode === \"stretch\" &&\n props.$position !== \"left\" &&\n css`\n ${StyledSheetIcons} {\n span {\n right: 48px;\n }\n }\n `}\n\n ${(props) =>\n props.$mode === \"stretch\" &&\n props.$position === \"left\" &&\n css`\n flex-direction: row-reverse;\n\n ${StyledSheetIcons} {\n span {\n right: -8px;\n }\n }\n `}\n`;\n\nStyledSheetWrapper.displayName = \"StyledSheetWrapper\";\n\ninterface IStyledSheetWrapperPaper {\n paperClass?: string;\n}\n\nexport const StyledSheetWrapperPaper = styled.div.attrs<IStyledSheetWrapperPaper>(\n (props) => ({\n className: props.paperClass,\n })\n)<IStyledSheetWrapperPaper>`\n background-color: var(--page-paper-main);\n color: var(--color-theme-900);\n box-shadow: var(--shadow-primary);\n border-radius: 6px;\n overflow: auto;\n animation: 0.3s linear ease-out;\n\n ${tw`tw-flex-auto`}\n`;\n\nStyledSheetWrapperPaper.displayName = \"StyledSheetWrapperPaper\";\n\nexport const StyledSheetControlsTop = keyframes`\n 0% {\n opacity: 0;\n transform: translateY(-200px);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n`;\n\nexport const StyledSheetControlsBottom = keyframes`\n 0% {\n opacity: 1;\n transform: translateY(0);\n }\n 100% {\n opacity: 0;\n transform: translateY(-200px);\n}\n`;\n\nexport const StyledSheetControlsCenterIn = keyframes`\n 0% {\n transform: translateY(-150px);\n opacity: 0;\n }\n 100% {\n transform: translateY(0);\n opacity: 1;\n }\n`;\n\nexport const StyledSheetControlsCenterOut = keyframes`\n 0% {\n transform: translateY(0);\n opacity: 1;\n }\n 100% {\n transform: translateY(-150px);\n opacity: 0;\n }\n`;\n\ninterface IStyledAnimatedSpan {\n $mode: string;\n $state: string;\n $maxDurationIn: number;\n $maxDurationOut: number;\n $durationOut: number;\n $durationIn: number;\n}\n\nexport const StyledAnimatedSpan = styled.span<IStyledAnimatedSpan>`\n background: red;\n ${(props) =>\n props.$state === \"entering\" &&\n css`\n opacity: 1;\n\n ${props.$mode === \"stretch\"\n ? css`\n animation-name: ${StyledSheetControlsTop};\n animation-duration: ${`${props.$durationIn}s`};\n animation-delay: ${`${props.$durationIn}s`};\n `\n : css`\n animation-name: ${StyledSheetControlsCenterIn};\n animation-duration: ${`${props.$maxDurationIn}s`};\n animation-delay: 0s;\n `}\n `}\n\n ${(props) =>\n props.$state === \"entered\" &&\n css`\n opacity: 1;\n `}\n\n ${(props) =>\n props.$state === \"exiting\" &&\n css`\n opacity: 0;\n\n ${props.$mode === \"stretch\"\n ? css`\n animation-name: ${StyledSheetControlsBottom};\n animation-duration: ${`${props.$durationOut}s`};\n animation-delay: ${`${props.$durationOut}s`};\n `\n : css`\n animation-name: ${StyledSheetControlsCenterOut};\n animation-duration: ${`${props.$maxDurationOut}s`};\n animation-delay: 0;\n `}\n `}\n\n ${(props) =>\n props.$state === \"exited\" &&\n css`\n opacity: 0;\n `}\n`;\n\nStyledAnimatedSpan.displayName = \"StyledAnimatedSpan\";\n\nexport const StyledCssTransition = styled(CSSTransition)<{\n $direction: string;\n}>`\n ${(props) =>\n props.$direction === \"top\" &&\n css`\n &.c-sheet__animation-enter {\n opacity: 0;\n transform: translateY(-100%);\n }\n &.c-sheet__animation-enter-active {\n opacity: 1;\n transform: translateY(0);\n transition: opacity 400ms, transform 400ms;\n }\n &.c-sheet__animation-appear {\n opacity: 0;\n transform: translateY(-100%);\n }\n &.c-sheet__animation-appear-active {\n opacity: 1;\n transform: translateY(0);\n transition: opacity 400ms, transform 400ms;\n }\n &.c-sheet__animation-exit {\n opacity: 1;\n }\n &.c-sheet__animation-exit-active {\n opacity: 0;\n transform: translateY(-100%);\n transition: opacity 200ms, transform 200ms;\n }\n `}\n\n ${(props) =>\n props.$direction === \"bottom\" &&\n css`\n &.c-sheet__animation-enter {\n opacity: 0;\n transform: translateY(100%);\n }\n &.c-sheet__animation-enter-active {\n opacity: 1;\n transform: translateY(0);\n transition: opacity 400ms, transform 400ms;\n }\n &.c-sheet__animation-appear {\n opacity: 0;\n transform: translateY(100%);\n }\n &.c-sheet__animation-appear-active {\n opacity: 1;\n transform: translateY(0);\n transition: opacity 400ms, transform 400ms;\n }\n &.c-sheet__animation-exit {\n opacity: 1;\n }\n &.c-sheet__animation-exit-active {\n opacity: 0;\n transform: translateY(100%);\n transition: opacity 200ms, transform 200ms;\n }\n `}\n\n ${(props) =>\n props.$direction === \"left\" &&\n css`\n &.c-sheet__animation-enter {\n opacity: 0;\n transform: translateX(-100%);\n }\n &.c-sheet__animation-enter-active {\n opacity: 1;\n transform: translateX(0);\n transition: opacity 400ms, transform 400ms;\n }\n &.c-sheet__animation-appear {\n opacity: 0;\n transform: translateX(-100%);\n }\n &.c-sheet__animation-appear-active {\n opacity: 1;\n transform: translateX(0);\n transition: opacity 400ms, transform 400ms;\n }\n &.c-sheet__animation-exit {\n opacity: 1;\n }\n &.c-sheet__animation-exit-active {\n opacity: 0;\n transform: translateX(-100%);\n transition: opacity 200ms, transform 200ms;\n }\n `}\n\n ${(props) =>\n props.$direction === \"right\" &&\n css`\n &.c-sheet__animation-enter {\n opacity: 0;\n transform: translateX(100%);\n }\n &.c-sheet__animation-enter-active {\n opacity: 1;\n transform: translateX(0);\n transition: opacity 400ms, transform 400ms;\n }\n &.c-sheet__animation-appear {\n opacity: 0;\n transform: translateX(100%);\n }\n &.c-sheet__animation-appear-active {\n opacity: 1;\n transform: translateX(0);\n transition: opacity 400ms, transform 400ms;\n }\n &.c-sheet__animation-exit {\n opacity: 1;\n }\n &.c-sheet__animation-exit-active {\n opacity: 0;\n transform: translateX(100%);\n transition: opacity 200ms, transform 200ms;\n }\n `}\n`;\n\nStyledCssTransition.displayName = \"StyledCssTransition\";\n","import React, {\n useRef,\n useCallback,\n useEffect,\n forwardRef,\n HTMLAttributes,\n useState,\n CSSProperties,\n ReactElement,\n MouseEvent,\n} from \"react\";\n\nimport { Transition } from \"react-transition-group\";\nimport { Window } from \"../Window\";\nimport classnames from \"classnames\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport {\n StyledAnimatedSpan,\n StyledCssTransition,\n StyledSheetIcons,\n StyledSheetWrapper,\n StyledSheetWrapperPaper,\n} from \"./Styles\";\nimport { Overlay } from \"../Overlay\";\n\ninterface ISheet {\n onClose?: () => void;\n controls?: JSX.Element[];\n open?: boolean;\n animation?: \"top\" | \"bottom\" | \"left\" | \"right\";\n position?: \"center\" | \"left\" | \"right\";\n mode?: \"normal\" | \"stretch\";\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n disableBackgroundColor?: boolean;\n bodyStyle?: CSSProperties;\n bodyClassName?: string;\n disableBackgroundClick?: boolean;\n}\n\nexport const Sheet = forwardRef<\n HTMLDivElement,\n ISheet & HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n children,\n onClose,\n controls = [],\n open: defaultOpen = false,\n animation = \"top\",\n position = \"center\",\n mode = \"normal\",\n disableFocusLock = false,\n disableScrollLock = false,\n disableBackgroundColor = false,\n bodyStyle,\n bodyClassName,\n disableBackgroundClick = false,\n ...rest\n },\n ref\n ) => {\n const [open, setOpen] = useState(defaultOpen);\n const [exited, setExited] = useState(true);\n const innerRef = useRef<HTMLDivElement>(null);\n\n const handleRef = useForkRef(innerRef, ref);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleEnter = useCallback(() => {\n setExited(false);\n }, []);\n\n const handleExited = useCallback(() => {\n setExited(true);\n typeof onClose === \"function\" && onClose();\n }, [onClose]);\n\n const handleClose = useCallback(() => {\n setOpen(false);\n }, []);\n\n const handleBackgroundClick = useCallback(\n (event: MouseEvent<HTMLDivElement>) => {\n if (!disableBackgroundClick) {\n event.preventDefault();\n handleClose();\n }\n },\n [disableBackgroundClick, handleClose]\n );\n\n if (!open && exited) {\n return null;\n }\n\n return (\n <Window\n {...rest}\n ref={handleRef}\n onClose={handleClose}\n disableFocusLock={disableFocusLock}\n disableScrollLock={disableScrollLock}\n >\n {open ? (\n <Overlay\n onClick={handleBackgroundClick}\n disableBackgroundColor={disableBackgroundColor}\n />\n ) : null}\n <StyledSheetWrapper\n className={classnames(\"c-sheet__wrapper\", bodyClassName)}\n style={bodyStyle}\n $position={position}\n $mode={mode}\n >\n {controls.length ? (\n <StyledSheetIcons>\n {controls.map((item, index) => {\n const maxDurationIn = 4; // max duration 4 for 400ms, shorten .4s\n const maxDurationOut = 2; // max duration 2 for 200ms, shorten .2s\n const control = index + 1;\n const durationOut =\n controls.length > maxDurationOut\n ? maxDurationOut\n : maxDurationOut - control;\n const durationIn = control >= maxDurationIn ? 1 : control;\n return (\n <Transition\n appear\n in={open}\n timeout={maxDurationIn * 100}\n key={`c-sheet-control-${index}`}\n >\n {(state): ReactElement => (\n <StyledAnimatedSpan\n $state={state}\n $mode={mode}\n $maxDurationIn={maxDurationIn / 10}\n $maxDurationOut={maxDurationOut / 10}\n $durationOut={durationOut / 10}\n $durationIn={durationIn / 10}\n >\n {item}\n </StyledAnimatedSpan>\n )}\n </Transition>\n );\n })}\n </StyledSheetIcons>\n ) : null}\n <StyledCssTransition\n appear\n in={open}\n timeout={400}\n classNames=\"c-sheet__animation\"\n $direction={animation}\n onEnter={handleEnter}\n onExited={handleExited}\n >\n <StyledSheetWrapperPaper paperClass=\"c-sheet__wrapper__paper\">\n {children}\n </StyledSheetWrapperPaper>\n </StyledCssTransition>\n </StyledSheetWrapper>\n </Window>\n );\n }\n);\n\nSheet.displayName = \"Sheet\";\n","import styled, { css } from \"styled-components\";\nimport { Paper } from \"../Paper\";\n\nexport const StyledHeader = styled(Paper)<{ size?: string }>`\n ${(props) =>\n props.size === \"big\" &&\n css`\n height: 140px;\n `}\n\n ${(props) =>\n props.size === \"small\" &&\n css`\n height: 4rem;\n `}\n\n padding: 0 1rem;\n display: flex;\n overflow: hidden;\n min-width: 350px;\n\n @media screen and (max-width: 350px) {\n overflow: auto;\n }\n`;\n\nStyledHeader.displayName = \"StyledHeader\";\n","import React, { forwardRef, HTMLAttributes, ReactNode, Ref } from \"react\";\nimport classNames from \"classnames\";\nimport { StyledHeader } from \"./Styles\";\n\ninterface IHeaderProps {\n /** CSS classes. */\n className?: string;\n /** Size */\n size?: \"small\" | \"big\";\n /** Children */\n children: ReactNode;\n}\n\nexport const Header = forwardRef(\n (\n {\n className,\n size = \"small\",\n children,\n ...rest\n }: HTMLAttributes<HTMLDivElement> & IHeaderProps,\n ref: Ref<HTMLDivElement> | null | undefined\n ) => {\n return (\n <StyledHeader\n type=\"paper-2\"\n className={classNames(\"c-header\", className)}\n size={size}\n ref={ref}\n {...rest}\n >\n {children}\n </StyledHeader>\n );\n }\n);\n\nHeader.displayName = \"Header\";\n","import styled from \"styled-components\";\nimport { Textarea } from \"../Textarea\";\n\nexport const StyledAutoResizeTextarea = styled(Textarea)`\n white-space: pre-wrap;\n overflow-wrap: break-word;\n resize: none;\n`;\n\nStyledAutoResizeTextarea.displayName = \"StyledAutoResizeTextarea\";\n","import React, {\n useState,\n useCallback,\n ChangeEvent,\n KeyboardEvent,\n FocusEvent,\n Ref,\n forwardRef,\n useRef,\n useEffect,\n} from \"react\";\nimport classnames from \"classnames\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { StyledAutoResizeTextarea } from \"./Styles\";\n\nexport interface IAutoResizeTextarea\n extends React.ComponentPropsWithoutRef<\"textarea\"> {\n minRows?: number;\n maxRows?: number;\n lineHeight?: number;\n preventNewRowOnEnter?: boolean;\n cursorAtTextEnd?: boolean;\n value?: string;\n}\n\nexport const AutoResizeTextarea = forwardRef(\n (\n {\n minRows = 1,\n maxRows = 6,\n lineHeight = 18,\n onChange,\n className,\n preventNewRowOnEnter = false,\n cursorAtTextEnd = false,\n onKeyDown,\n value,\n ...rest\n }: IAutoResizeTextarea,\n ref: Ref<HTMLTextAreaElement> | null | undefined\n ) => {\n const innerRef = useRef<HTMLTextAreaElement | null>(null);\n const [rows, setRows] = useState(minRows);\n\n const handleRef = useForkRef(ref, innerRef);\n\n const calcRows = useCallback(\n (elem: HTMLTextAreaElement | null) => {\n if (elem) {\n const previousRows = elem.rows || minRows;\n\n elem.rows = minRows;\n const currentRows = Math.floor(elem.scrollHeight / lineHeight);\n\n if (currentRows === previousRows) {\n elem.rows = currentRows;\n }\n\n if (currentRows >= maxRows) {\n elem.rows = maxRows;\n elem.scrollTop = elem.scrollHeight;\n }\n\n setRows(currentRows < maxRows ? currentRows : maxRows);\n }\n },\n [lineHeight, maxRows, minRows]\n );\n\n useEffect(() => {\n calcRows(innerRef.current);\n }, [value, calcRows]);\n\n const handleOnChange = useCallback(\n (e: ChangeEvent<HTMLTextAreaElement>) => {\n calcRows(e.target);\n typeof onChange === \"function\" && onChange(e);\n },\n [onChange, calcRows]\n );\n\n const handleFocus = useCallback(\n (e: FocusEvent<HTMLTextAreaElement>) => {\n if (cursorAtTextEnd) {\n e.target.setSelectionRange(\n e.target.value.length,\n e.target.value.length\n );\n }\n },\n [cursorAtTextEnd]\n );\n\n const handleTextAreaKeyDown = useCallback(\n (e: KeyboardEvent<HTMLTextAreaElement>) => {\n if (preventNewRowOnEnter && e.key === \"Enter\") {\n e.preventDefault();\n }\n typeof onKeyDown === \"function\" && onKeyDown(e);\n },\n [preventNewRowOnEnter, onKeyDown]\n );\n\n return (\n <StyledAutoResizeTextarea\n {...rest}\n value={value}\n ref={handleRef}\n onChange={handleOnChange}\n onKeyDown={handleTextAreaKeyDown}\n onFocus={handleFocus}\n rows={rows}\n className={classnames(\"c-autoresizetextarea\", className)}\n style={{\n minHeight: `${lineHeight}px`,\n lineHeight: `${lineHeight}px`,\n }}\n />\n );\n }\n);\n\nAutoResizeTextarea.displayName = \"AutoResizeTextarea\";\n","import styled from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\nexport const StyledAccordion = styled.div`\n ${tw`tw-rounded-lg tw-overflow-hidden tw-border-solid tw-border tw-border-border-primary tw-border-b-0`}\n ${FontStyle}\n ${BoxSizingStyle}\n`;\n\nStyledAccordion.displayName = \"StyledAccordion\";\n\nexport const StyledAccordionItem = styled.div`\n display: flex;\n flex-direction: column;\n background-color: var(--page-paper-main);\n border: 1px solid transparent;\n border-bottom: 1px solid var(--border-primary);\n overflow: hidden;\n ${FontStyle}\n ${BoxSizingStyle}\n`;\n\nStyledAccordionItem.displayName = \"StyledAccordionItem\";\n\nexport const StyledAccordionItemBody = styled.div`\n margin: 0 16px;\n ${FontStyle}\n ${BoxSizingStyle}\n`;\n\nStyledAccordionItemBody.displayName = \"StyledAccordionItemHead\";\n\nexport const StyledAccordionItemHead = styled.div`\n user-select: none;\n padding: 8px 16px;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n color: var(--color-theme-900);\n cursor: pointer;\n ${FontStyle}\n ${BoxSizingStyle}\n .text {\n font-weight: bold;\n font-size: 13px;\n }\n .icon {\n width: 16px;\n height: 16px;\n fill: currentColor;\n transform: translateY(-4px);\n }\n`;\n\nStyledAccordionItemHead.displayName = \"StyledAccordionItemHead\";\n\nexport const StyledAccordionItemHeadText = styled.div`\n font-weight: bold;\n font-size: 13px;\n`;\n\nStyledAccordionItemHeadText.displayName = \"StyledAccordionItemHeadText\";\n\nexport const StyledAccordionItemHeadIcon = styled.div`\n width: 16px;\n height: 16px;\n fill: currentColor;\n transform: translateY(-4px);\n`;\n\nStyledAccordionItemHeadIcon.displayName = \"StyledAccordionItemHeadIcon\";\n","import React, {\n FC,\n ReactNodeArray,\n useState,\n useCallback,\n ReactNode,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { StyledAccordion } from \"./Styles\";\n\nexport interface IAccordion {\n /** Children type of node or string */\n children: ReactNodeArray;\n /** ClassName */\n className?: string;\n /** Could all items be collapsed */\n allowZeroExpanded?: boolean;\n /** Could more than one item be expanded */\n allowMultipleExpanded?: boolean;\n /** Callback function that will be called with id of the accordion item that was clicked */\n onChange?: (itemId: string) => void;\n /** List of item id's that are expanded on initial render */\n preExpanded?: string[];\n /** Do not show the toggle icon in the AccordionItemHead component */\n disableToggleIcon?: boolean;\n /** Custom toggle icon to replace the default one */\n customToggleIcon?: ReactNode;\n}\n\nexport interface IAccordionContextType {\n expandedItems: string[];\n toggleExpanded: (itemId: string) => void;\n disableToggleIcon: boolean;\n customToggleIcon: ReactNode;\n}\n\nexport const AccordionContext =\n React.createContext<IAccordionContextType | null>(null);\n\nexport const Accordion: FC<IAccordion> = ({\n children,\n className,\n allowMultipleExpanded = false,\n allowZeroExpanded = false,\n onChange,\n preExpanded = [],\n disableToggleIcon = false,\n customToggleIcon,\n}) => {\n const [expandedItems, setExpandedItems] = useState<string[]>(preExpanded);\n\n const toggleExpandedCallback = useCallback(\n (id: string) => {\n setExpandedItems((prevExpanded: string[]) => {\n if (prevExpanded.indexOf(id) > -1) {\n if (!allowZeroExpanded && prevExpanded.length === 1) {\n return prevExpanded;\n }\n return prevExpanded.filter((item: string) => {\n return item !== id;\n });\n } else {\n if (!allowMultipleExpanded) {\n return [id];\n }\n return [...prevExpanded, id];\n }\n });\n if (onChange) {\n onChange(id);\n }\n },\n [allowMultipleExpanded, allowZeroExpanded, onChange]\n );\n\n return (\n <AccordionContext.Provider\n value={{\n expandedItems,\n toggleExpanded: toggleExpandedCallback,\n disableToggleIcon,\n customToggleIcon,\n }}\n >\n <StyledAccordion className={classnames(\"accordion\", className)}>\n {children}\n </StyledAccordion>\n </AccordionContext.Provider>\n );\n};\n\nAccordion.displayName = \"Accordion\";\n","import React, { FC, ReactNode, useContext, useMemo } from \"react\";\nimport classnames from \"classnames\";\nimport { AccordionContext } from \"./Accordion\";\nimport { StyledAccordionItem } from \"./Styles\";\n\nexport interface IAccordionItem {\n /** Children type of node or string */\n children: ReactNode;\n /** ClassName */\n className?: string;\n /** Id of the accordion item */\n id?: string;\n}\n\nexport interface IItemContext {\n isItemExpanded: boolean;\n id: string;\n}\n\nexport const ItemContext = React.createContext(null as IItemContext | null);\n\nexport const AccordionItem: FC<IAccordionItem> = ({\n children,\n className,\n id,\n}) => {\n const accordionContext = useContext(AccordionContext);\n\n const itemId = useMemo(() => {\n if (!id) {\n const randomString = Math.random().toString(36).slice(2);\n return `accordion-item-${randomString}`;\n }\n return id;\n }, [id]);\n\n return (\n <ItemContext.Provider\n value={{\n isItemExpanded: accordionContext\n ? accordionContext.expandedItems.indexOf(itemId) > -1\n : false,\n id: itemId,\n }}\n >\n <StyledAccordionItem className={classnames(\"accordionItem\", className)}>\n {children}\n </StyledAccordionItem>\n </ItemContext.Provider>\n );\n};\n\nAccordionItem.displayName = \"AccordionItem\";\n","import React, { ReactNode, FC, useContext, useCallback, useMemo } from \"react\";\nimport classnames from \"classnames\";\nimport { ItemContext } from \"./AccordionItem\";\nimport { AccordionContext } from \"./Accordion\";\nimport CollapseExpandSingleIcon from \"../Icons/collection/CollapseExpandSingle\";\nimport {\n StyledAccordionItemHead,\n StyledAccordionItemHeadText,\n StyledAccordionItemHeadIcon,\n} from \"./Styles\";\n\nexport interface IAccordionItemHead {\n /** Children type of node or string */\n children: ReactNode | string;\n /** ClassName */\n className?: string;\n}\n\nexport const AccordionItemHead: FC<IAccordionItemHead> = ({\n children,\n className,\n}) => {\n const accordionContext = useContext(AccordionContext);\n const itemContext = useContext(ItemContext);\n\n const { toggleExpanded, disableToggleIcon, customToggleIcon } =\n useMemo(() => {\n return {\n toggleExpanded: accordionContext\n ? accordionContext.toggleExpanded\n : null,\n disableToggleIcon: accordionContext\n ? accordionContext.disableToggleIcon\n : false,\n customToggleIcon: accordionContext\n ? accordionContext.customToggleIcon\n : null,\n };\n }, [accordionContext]);\n\n const id = useMemo(() => (itemContext ? itemContext.id : \"\"), [itemContext]);\n\n const onClickCallback = useCallback(() => {\n if (toggleExpanded) {\n toggleExpanded(id);\n }\n }, [id, toggleExpanded]);\n\n const toggleIcon = useMemo(\n () =>\n customToggleIcon ? (\n customToggleIcon\n ) : (\n <CollapseExpandSingleIcon style={{ transform: \"rotate(180deg)\" }} />\n ),\n [customToggleIcon]\n );\n\n return (\n <StyledAccordionItemHead\n onClick={onClickCallback}\n className={classnames(\"accordionItemHead\", className)}\n >\n <StyledAccordionItemHeadText className=\"accordionItemHead__text\">\n {children}\n </StyledAccordionItemHeadText>\n <StyledAccordionItemHeadIcon className=\"accordionItemHead__icon\">\n {!disableToggleIcon ? toggleIcon : null}\n </StyledAccordionItemHeadIcon>\n </StyledAccordionItemHead>\n );\n};\n\nAccordionItemHead.displayName = \"AccordionItemHead\";\n","import React, { ReactNode, FC, useContext, useRef, ReactElement } from \"react\";\nimport classnames from \"classnames\";\nimport { Transition } from \"react-transition-group\";\nimport { ItemContext, IItemContext } from \"./AccordionItem\";\nimport { useHeight } from \"../../hooks/useHeight\";\nimport { StyledAccordionItemBody } from \"./Styles\";\n\nexport interface IAccordionItemBody {\n /** Children type of node or string */\n children: ReactNode | string;\n /** ClassName */\n className?: string;\n}\n\nexport const AccordionItemBody: FC<IAccordionItemBody> = ({\n children,\n className,\n}) => {\n const itemContext = useContext<IItemContext | null>(ItemContext);\n const divRef = useRef(null);\n const duration = 200;\n const height = useHeight(divRef);\n\n const defaultStyle = {\n transition: `max-height ${duration}ms linear`,\n maxHeight: 0,\n };\n\n const transitionStyles = {\n entering: { maxHeight: height },\n entered: { maxHeight: height },\n exiting: { maxHeight: 0 },\n exited: { maxHeight: 0 },\n };\n\n return (\n <Transition timeout={200} in={itemContext?.isItemExpanded}>\n {(state): ReactElement => (\n <StyledAccordionItemBody\n ref={divRef}\n className={classnames(\"accordionItemBody\", className)}\n style={{\n ...defaultStyle,\n ...transitionStyles[state],\n }}\n >\n {children}\n </StyledAccordionItemBody>\n )}\n </Transition>\n );\n};\n\nAccordionItemBody.displayName = \"AccordionItemBody\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\nimport { IChooseProps } from \"./Choose\";\n\nexport const StyledChoose = styled.button<IChooseProps>`\n ${tw`tw-antialiased tw-align-middle tw-font-medium tw-inline-block tw-leading-none tw-m-0 tw-no-underline`}\n ${tw`tw-select-none tw-cursor-pointer tw-text-center tw-rounded-lg tw-text-theme-700`}\n ${FontStyle}\n ${BoxSizingStyle}\n height: 32px;\n padding: 0 16px;\n transition: all 0.3s ease;\n border: 1px solid var(--border-primary);\n font-size: 13px;\n transition-duration: 0.3s;\n &:hover {\n ${tw`tw-border-primary`}\n box-shadow: inset 0 0 5px 3px var(--color-primary-300);\n }\n ${(props) =>\n props.active &&\n css`\n ${tw`tw-border-primary tw-z-0`}\n background-color: var(--color-primary-300);\n `}\n`;\n\nStyledChoose.displayName = \"StyledChoose\";\n","import React, { FC, BaseHTMLAttributes, ReactElement } from \"react\";\nimport classNames from \"classnames\";\nimport { StyledChoose } from \"./Styles\";\n\nexport interface IChooseProps extends BaseHTMLAttributes<HTMLButtonElement> {\n /** Children type of node or string */\n children: ReactElement | string;\n /** Disabled prop */\n disabled?: boolean;\n /** Active prop */\n active?: boolean;\n /** CSS classes */\n className?: string;\n}\n\n/**\n * Choose component\n */\nexport const Choose: FC<IChooseProps> = ({\n children,\n disabled = false,\n active = false,\n className,\n ...args\n}) => {\n return (\n <StyledChoose\n disabled={disabled}\n className={classNames(\"c-choose\", className)}\n active={active}\n {...args}\n >\n {children}\n </StyledChoose>\n );\n};\n\nChoose.displayName = \"Choose\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { FontStyle } from \"../FontStyle\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { ILinkProps } from \"./Link\";\n\ninterface StyledLinkProps extends ILinkProps {\n $iconOnly: boolean;\n}\n\nexport const StyledLinkElement = styled.div``;\n\nexport const StyledLink = styled.a<StyledLinkProps>`\n ${FontStyle}\n ${BoxSizingStyle}\n ${tw`\n tw-antialiased\n tw-font-medium\n tw-leading-none\n tw-m-0\n tw-no-underline\n tw-text-sm\n tw-select-none\n tw-cursor-pointer\n tw-inline-flex\n tw-items-center\n tw-justify-center`}\n\n border: none;\n height: 32px;\n transition: background-color 0.3s ease, box-shadow 0.3s ease, color 0.3s ease,\n border-color 0.3s ease;\n\n svg {\n fill: currentColor;\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n\n &:focus {\n outline: none;\n }\n\n &:hover {\n text-decoration: none;\n }\n\n ${(props) =>\n props.disabled &&\n css`\n cursor: default;\n opacity: 50%;\n pointer-events: none;\n `}\n\n ${(props) =>\n props.size === \"small\" &&\n css`\n height: 24px;\n `}\n\n ${(props) =>\n props.size === \"big\" &&\n css`\n height: 40px;\n `}\n\n ${(props) =>\n (props.variant === \"primary\" || props.variant === \"contained\") &&\n css`\n padding: 0 16px;\n background-color: var(--color-primary);\n border-radius: 16px;\n color: var(--color-theme-100);\n\n &:focus,\n &:hover {\n box-shadow: 0 3px 6px -2px var(--color-primary-500);\n background-color: var(--color-primary-800);\n }\n\n &:active {\n box-shadow: 0 4px 10px -2px var(--color-primary-600);\n background-color: var(--color-primary-800);\n }\n `}\n\n ${(props) =>\n (props.variant === \"secondary\" || props.variant === \"outlined\") &&\n css`\n padding: 0 16px;\n background-color: transparent;\n border-radius: 16px;\n border: solid 1px var(--color-theme-600);\n color: var(--color-theme-600);\n\n &:focus,\n &:hover {\n border-color: var(--color-primary);\n color: var(--color-primary);\n }\n\n &:active {\n border-color: var(--color-primary);\n color: var(--color-primary);\n background-color: var(--color-primary-200);\n }\n `}\n\n ${(props) =>\n (props.variant === \"tertiary\" || props.variant === \"text colored\") &&\n css`\n padding: 0 8px;\n background-color: transparent;\n border-radius: 6px;\n color: var(--color-primary);\n\n &:focus,\n &:hover {\n background-color: var(--color-primary-200);\n }\n\n &:active {\n background-color: var(--color-primary-300);\n }\n `}\n\n ${(props) =>\n (props.variant === \"option\" || props.variant === \"text gray\") &&\n css`\n padding: 0 8px;\n background-color: transparent;\n border-radius: 6px;\n color: var(--color-theme-600);\n\n &:focus,\n &:hover {\n background-color: var(--color-theme-300);\n color: var(--color-theme-900);\n }\n\n &:active {\n background-color: var(--color-theme-400);\n color: var(--color-theme-900);\n }\n `}\n\n ${(props) =>\n props.variant === \"dark transparent\" &&\n css`\n padding: 0 8px;\n background-color: rgba(0, 0, 0, 0.5);\n border-radius: var(--ac-br-6);\n color: var(--only-white);\n\n &:hover {\n background-color: rgba(0, 0, 0, 0.85);\n }\n\n &:active {\n background-color: var(--only-black);\n }\n `}\n\n ${(props) =>\n props.variant === \"circle raised\" &&\n css`\n padding: 0 6px;\n background-color: transparent;\n border-radius: var(--ac-br-rounded);\n color: var(--color-theme-700);\n transition: ease 0.3s all;\n\n &:hover {\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary);\n }\n\n &:active {\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary-hover);\n }\n `}\n\n ${(props) =>\n props.variant === \"text link-primary\" &&\n css`\n line-height: 14px;\n letter-spacing: 0.25px;\n color: var(--color-primary);\n text-decoration: underline var(--color-primary);\n text-underline-offset: 3px;\n height: fit-content;\n\n &:hover {\n text-decoration: none;\n }\n\n &:focus {\n text-decoration: none;\n outline: 1px solid var(--color-primary);\n outline-offset: 2px;\n border-radius: 2px;\n }\n `}\n\n ${(props) =>\n props.variant === \"text link-gray\" &&\n css`\n line-height: 14px;\n letter-spacing: 0.25px;\n color: var(--color-theme-700);\n text-decoration: underline var(--color-theme-700);\n text-underline-offset: 3px;\n height: fit-content;\n\n &:hover {\n text-decoration: none;\n }\n\n &:focus {\n text-decoration: none;\n outline: 1px solid var(--color-primary);\n outline-offset: 2px;\n border-radius: 2px;\n }\n `}\n\n\n ${(props) =>\n props.$iconOnly &&\n css`\n padding: 0;\n width: 32px;\n\n ${props.size === \"small\" &&\n css`\n radius: 16px;\n width: 24px;\n `}\n\n ${props.size === \"big\" &&\n css`\n radius: 20px;\n width: 40px;\n `}\n `}\n\n ${(props) =>\n (props.variant === \"primary\" ||\n props.variant === \"contained\" ||\n props.variant === \"secondary\" ||\n props.variant === \"outlined\") &&\n css`\n ${StyledLinkElement}:first-child svg {\n margin-left: -6px;\n }\n ${StyledLinkElement}:last-child svg {\n margin-right: -6px;\n }\n\n ${props.size === \"small\" &&\n css`\n radius: 16px;\n `}\n\n ${props.size === \"big\" &&\n css`\n radius: 20px;\n `}\n `}\n\n ${(props) =>\n (props.variant === \"tertiary\" ||\n props.variant === \"text colored\" ||\n props.variant === \"option\" ||\n props.variant === \"text gray\" ||\n props.variant === \"dark transparent\") &&\n css`\n ${StyledLinkElement}:first-child svg {\n margin-left: -4px;\n }\n ${StyledLinkElement}:last-child svg {\n margin-right: -4px;\n }\n\n ${props.size === \"small\" &&\n css`\n radius: 4px;\n `}\n\n ${props.size === \"big\" &&\n css`\n radius: 8px;\n `}\n `}\n`;\n\nexport const StyledLinkElements = styled.div`\n display: flex;\n align-items: center;\n\n ${StyledLinkElement} {\n display: inline-flex;\n svg {\n margin: 0 4px;\n }\n }\n`;\n\nexport const StyledBackLink = styled.a`\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${tw`\n tw-pl-8\n tw-text-xxs\n tw-uppercase\n tw-inline-flex\n tw-align-middle\n tw-pr-4\n tw-text-theme-600\n tw-cursor-pointer\n `}\n\n text-decoration: none;\n border: transparent 1px solid;\n border-radius: 20px;\n height: 32px;\n font-size: 10px;\n font-weight: 500;\n display: table-cell;\n vertical-align: middle;\n\n &:before,\n &:after {\n content: \"\";\n ${tw`\n tw-border-solid\n tw-text-theme-700\n tw-inline-block\n tw-p-0\n tw-w-2\n tw-h-2\n tw-bg-no-repeat\n `}\n border-width: 0 1px 1px 0;\n position: absolute;\n left: 0;\n transition: all ease 0.3s;\n }\n &:before {\n ${tw`tw-opacity-100`}\n transform: translateX(1rem) translateY(0.1rem) rotate(135deg);\n }\n &:after {\n ${tw`tw-opacity-0`}\n transform: translateX(2rem) translateY(0.1rem) rotate(135deg);\n }\n &:hover {\n text-decoration: none;\n border-color: var(--border-primary);\n &:before {\n ${tw`tw-opacity-0`}\n transform: translateX(0rem) translateY(0.1rem) rotate(135deg);\n }\n &:after {\n ${tw`tw-opacity-100`}\n transform: translateX(1rem) translateY(0.1rem) rotate(135deg);\n }\n }\n`;\n\nStyledBackLink.displayName = \"StyledBackLink\";\nStyledLinkElement.displayName = \"StyledLinkElement\";\nStyledLinkElements.displayName = \"StyledLinkElements\";\nStyledLink.displayName = \"StyledLink\";\n","import React, { FC, BaseHTMLAttributes } from \"react\";\nimport classNames from \"classnames\";\nimport { StyledBackLink } from \"./Styles\";\n\ninterface IBackLinkProps extends BaseHTMLAttributes<HTMLAnchorElement> {\n /** Children type of node or string */\n children: string;\n /** CSS classes */\n className?: string;\n}\n/**\n * Back link component\n */\nexport const BackLink: FC<IBackLinkProps> = ({\n children,\n className,\n ...args\n}) => {\n return (\n <StyledBackLink className={classNames(\"c-back-link\", className)} {...args}>\n {children}\n </StyledBackLink>\n );\n};\n\nBackLink.displayName = \"BackLink\";\n","import React, { BaseHTMLAttributes, ReactNode, forwardRef } from \"react\";\nimport classNames from \"classnames\";\nimport { StyledLink, StyledLinkElement, StyledLinkElements } from \"./Styles\";\nimport {\n PolymorphicComponentPropsWithRef,\n PolymorphicRef,\n} from \"../../utils/types\";\n\nexport interface ILinkProps extends BaseHTMLAttributes<HTMLElement> {\n /** Children type of node or string */\n children: ReactNode | string;\n /** Variant Buttons */\n variant?:\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"option\"\n | \"contained\"\n | \"outlined\"\n | \"text colored\"\n | \"text gray\"\n | \"dark transparent\"\n | \"circle raised\"\n | \"text link-primary\"\n | \"text link-gray\";\n /** Button size can be big, medium or small */\n size?: \"big\" | \"small\";\n /** Disabled prop */\n disabled?: boolean;\n /** CSS classes */\n className?: string;\n}\n\nexport type LinkProps<C extends React.ElementType> =\n PolymorphicComponentPropsWithRef<C, ILinkProps>;\n\nexport type LinkComponent = <C extends React.ElementType = \"a\">(\n props: LinkProps<C>\n) => React.ReactElement | null;\n\n/**\n * Link component\n */\nexport const Link: LinkComponent & { displayName?: string } = forwardRef(\n <C extends React.ElementType = \"a\">(\n {\n as,\n children,\n variant = \"contained\",\n size,\n disabled = false,\n className,\n ...args\n }: LinkProps<C>,\n ref?: PolymorphicRef<C>\n ) => {\n const Component = as || \"a\";\n\n return (\n <StyledLink\n ref={ref}\n as={Component}\n disabled={disabled}\n className={classNames(\"c-link\", className, {\n \"c-link--contained\": variant === \"primary\" || variant === \"contained\",\n \"c-link--outlined\": variant === \"secondary\" || variant === \"outlined\",\n \"c-link--text_colored\":\n variant === \"tertiary\" || variant === \"text colored\",\n \"c-link--text_gray\": variant === \"option\" || variant === \"text gray\",\n \"c-link--dark_transparent\": variant === \"dark transparent\",\n \"c-link--circle_raised\": variant === \"circle raised\",\n \"c-link--big\": size === \"big\",\n \"c-link--small\": size === \"small\",\n \"c-link--icon-only\":\n children instanceof Object && !(children instanceof Array),\n \"c-link--disabled\": disabled,\n })}\n variant={variant}\n size={size}\n $iconOnly={children instanceof Object && !(children instanceof Array)}\n {...args}\n tabIndex={1}\n >\n {children instanceof Array ? (\n <StyledLinkElements className=\"c-link__elements\">\n {children.map((value, index) =>\n value ? (\n <StyledLinkElement\n className=\"c-link__elements__element\"\n key={index}\n >\n {value}\n </StyledLinkElement>\n ) : null\n )}\n </StyledLinkElements>\n ) : (\n children\n )}\n </StyledLink>\n );\n }\n);\n\nLink.displayName = \"Link\";\n","import React, { FC, ReactElement, cloneElement } from \"react\";\nimport { Transition } from \"react-transition-group\";\nimport { TransitionProps } from \"../types\";\n\ninterface ISlideFromTop extends Omit<TransitionProps, \"timeout\"> {\n children: ReactElement;\n timeout?: number;\n}\n\nconst defaultStyle = {\n transitionProperty: \"opacity, transform\",\n transitionTimingFunction: \"linear ease-out\",\n transform: \"translateY(-100%)\",\n opacity: 0,\n};\n\nconst transitionStyles = {\n entering: {\n opacity: 1,\n transform: \"translateY(0)\",\n transitionDuration: \".3s\",\n },\n entered: {\n opacity: 1,\n transform: \"translateY(0)\",\n transitionDuration: \".3s\",\n },\n exiting: {\n opacity: 0,\n transform: \"translateY(-100%)\",\n transitionDuration: \".2s\",\n },\n exited: {\n opacity: 0,\n transform: \"translateY(-100%)\",\n transitionDuration: \".2s\",\n },\n};\n\nexport const SlideFromTop: FC<ISlideFromTop> = ({\n in: inProp = false,\n onEnter,\n onExited,\n children,\n style,\n timeout = 400,\n}) => (\n <Transition\n appear\n in={inProp}\n timeout={timeout}\n onEnter={onEnter}\n onExited={onExited}\n >\n {(state): ReactElement => {\n return cloneElement(children, {\n style: {\n visibility: state === \"exited\" && !inProp ? \"hidden\" : undefined,\n ...defaultStyle,\n ...transitionStyles[state],\n ...style,\n ...children.props.style,\n },\n });\n }}\n </Transition>\n);\n\nSlideFromTop.displayName = \"SlideFromTop\";\n","import styled from \"styled-components\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\nimport { screen } from \"../BreakPoints\";\n\nexport const StyledDialog = styled.div`\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n max-height: calc(100vh - 156px);\n background-color: var(--page-paper-main);\n color: var(--color-theme-900);\n box-shadow: var(--shadow-primary);\n border-radius: 8px;\n width: 310px;\n margin: 60px auto 30px auto;\n position: relative;\n\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${screen.sm} {\n width: 540px;\n margin: 126px auto 30px auto;\n }\n`;\n\nStyledDialog.displayName = \"StyledDialog\";\n\nexport const StyledDialogTitle = styled.div`\n padding: 20px 30px;\n\n ${FontStyle}\n ${BoxSizingStyle}\n`;\nStyledDialogTitle.displayName = \"StyledDialogTitle\";\n\nexport const StyledDialogContent = styled.div`\n padding: 20px 30px;\n max-height: 580px;\n overflow-y: auto;\n flex: 1 1 auto;\n\n ${FontStyle}\n ${BoxSizingStyle}\n`;\nStyledDialogContent.displayName = \"StyledDialogContent\";\n\nexport const StyledDialogContentDivider = styled.div`\n border-top: 1px solid var(--border-primary);\n height: 1px;\n`;\nStyledDialogContentDivider.displayName = \"StyledDialogContentDivider\";\n\nexport const StyledDialogActions = styled.div`\n padding: 20px 30px;\n\n ${FontStyle}\n ${BoxSizingStyle}\n`;\nStyledDialogActions.displayName = \"StyledDialogActions\";\n","import React, { PropsWithChildren } from \"react\";\nimport classnames from \"classnames\";\nimport { Header3 } from \"../Typography/Variants/Header3\";\nimport { StyledDialogTitle } from \"./Styles\";\n// import { useDialogContext } from \"./DialogContext\";\n\nexport interface DialogTitleProps {\n className?: string;\n disableDefaultHeading?: boolean;\n}\n\nexport const DialogTitle = ({\n children,\n className,\n disableDefaultHeading = false,\n ...rest\n}: PropsWithChildren<DialogTitleProps>) => {\n // useDialogContext();\n\n return (\n <StyledDialogTitle\n className={classnames(\"c-dialog-title-wrapper\", className)}\n {...rest}\n >\n {disableDefaultHeading ? children : <Header3>{children}</Header3>}\n </StyledDialogTitle>\n );\n};\n\nDialogTitle.displayName = \"DialogTitle\";\n","import React, { HTMLAttributes } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledDialogContent } from \"./Styles\";\n// import { useDialogContext } from \"./DialogContext\";\n\nexport const DialogContent = ({\n className,\n children,\n ...rest\n}: HTMLAttributes<HTMLDivElement>) => {\n // useDialogContext();\n\n return (\n <StyledDialogContent\n className={classnames(\"c-dialog-content\", className)}\n {...rest}\n >\n {children}\n </StyledDialogContent>\n );\n};\n\nDialogContent.displayName = \"DialogContent\";\n","import React, { HTMLAttributes } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledDialogContentDivider } from \"./Styles\";\n// import { useDialogContext } from \"./DialogContext\";\n\nexport const DialogContentDivider = ({\n className,\n}: HTMLAttributes<HTMLDivElement>) => {\n // useDialogContext();\n\n return (\n <StyledDialogContentDivider\n className={classnames(\"c-dialog-content-divider\", className)}\n />\n );\n};\n\nDialogContentDivider.displayName = \"DialogContentDivider\";\n","import React, { HTMLAttributes } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledDialogActions } from \"./Styles\";\n// import { useDialogContext } from \"./DialogContext\";\n\nexport const DialogActions = ({\n className,\n children,\n ...rest\n}: HTMLAttributes<HTMLDivElement>) => {\n // useDialogContext();\n\n return (\n <StyledDialogActions\n className={classnames(\"c-dialog-actions\", className)}\n {...rest}\n >\n {children}\n </StyledDialogActions>\n );\n};\n\nDialogActions.displayName = \"DialogActions\";\n","import React, { forwardRef, PropsWithChildren } from \"react\";\nimport classnames from \"classnames\";\nimport { Modal } from \"../Modal\";\nimport { SlideFromTop } from \"../Transitions/SlideFromTop\";\nimport { StyledDialog } from \"./Styles\";\n\n// import { DialogContext } from \"./DialogContext\";\n\nimport { DialogTitle } from \"./DialogTitle\";\nimport { DialogContent } from \"./DialogContent\";\nimport { DialogContentDivider } from \"./DialogContentDivider\";\nimport { DialogActions } from \"./DialogActions\";\n\nexport interface DialogProps {\n open?: boolean;\n onClose?: () => void;\n className?: string;\n enableBackgroundClick?: boolean;\n disableCloseOnEsc?: boolean;\n}\n\nexport const _Dialog = forwardRef<\n HTMLDivElement,\n PropsWithChildren<DialogProps>\n>(\n (\n {\n children,\n open = false,\n onClose,\n className,\n enableBackgroundClick = false,\n disableCloseOnEsc = false,\n },\n ref\n ) => {\n return (\n // <DialogContext.Provider value={{}}>\n <Modal\n ref={ref}\n open={open}\n onClose={onClose}\n disableBackgroundClick={!enableBackgroundClick}\n disableCloseOnEsc={disableCloseOnEsc}\n >\n <SlideFromTop in={open}>\n <StyledDialog className={classnames(\"c-dialog\", className)}>\n {children}\n </StyledDialog>\n </SlideFromTop>\n </Modal>\n // </DialogContext.Provider>\n );\n }\n);\n\n_Dialog.displayName = \"Dialog\";\n\n// https://github.com/DefinitelyTyped/DefinitelyTyped/issues/34757\nexport const Dialog = Object.assign({}, _Dialog, {\n Title: DialogTitle,\n Content: DialogContent,\n ContentDivider: DialogContentDivider,\n Actions: DialogActions,\n});\n","import React, { forwardRef } from \"react\";\nimport classnames from \"classnames\";\nimport { Dialog } from \"../Dialog\";\nimport { Button } from \"../Button/Button\";\nimport { Body2 } from \"../Typography/Variants/Body2\";\n\nexport interface ConfirmDialogProps {\n open?: boolean;\n onCancel?: () => void;\n onConfirm?: () => void;\n className?: string;\n dialogTitle?: string;\n dialogContent?: string;\n confirmBtnText?: string;\n cancelBtnText?: string;\n shouldShowCancelButton?: boolean;\n isLoading?: boolean;\n}\n\nexport const ConfirmDialog = forwardRef<HTMLDivElement, ConfirmDialogProps>(\n (\n {\n open = false,\n onCancel,\n onConfirm,\n className,\n dialogTitle = \"Discard changes?\",\n dialogContent = \"All unsaved changes will be lost.\",\n confirmBtnText = \"OK\",\n cancelBtnText = \"Cancel\",\n shouldShowCancelButton = true,\n isLoading = false,\n },\n ref\n ) => {\n return (\n <Dialog\n ref={ref}\n open={open}\n onClose={onCancel}\n className={classnames(\"c-confirm-dialog\", className)}\n disableCloseOnEsc={isLoading}\n >\n <Dialog.Title>{dialogTitle}</Dialog.Title>\n <Dialog.ContentDivider />\n <Dialog.Content>\n <Body2 lineHeight=\"loose\" color=\"secondary\" whitespace=\"pre-line\">\n {dialogContent}\n </Body2>\n </Dialog.Content>\n <Dialog.ContentDivider />\n <Dialog.Actions>\n <Button\n variant=\"primary\"\n style={{ marginRight: \"12px\" }}\n onClick={onConfirm}\n disabled={isLoading}\n >\n {confirmBtnText}\n </Button>\n {shouldShowCancelButton ? (\n <Button\n variant=\"secondary\"\n data-action=\"cancel\"\n onClick={onCancel}\n type=\"button\"\n disabled={isLoading}\n >\n {cancelBtnText}\n </Button>\n ) : null}\n </Dialog.Actions>\n </Dialog>\n );\n }\n);\n\nConfirmDialog.displayName = \"ConfirmDialog\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { FontStyle } from \"../FontStyle\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { ConfirmDialog } from \"../ConfirmDialog\";\nimport { Button } from \"../Button/Button\";\n\nexport const StyledSelectDate = styled.div`\n ${FontStyle}\n ${BoxSizingStyle}\n`;\n\nStyledSelectDate.displayName = \"StyledSelectDate\";\n\nexport const StyledSelectDateButton = styled.button`\n margin: 0;\n padding: 0;\n border: none;\n background: none;\n width: auto;\n height: auto;\n color: var(--color-theme-700);\n\n span,\n svg {\n cursor: pointer;\n }\n span {\n color: var(--color-secondary);\n }\n svg:hover {\n fill: var(--color-secondary);\n }\n`;\n\nStyledSelectDateButton.displayName = \"StyledSelectDateButton\";\n\nexport const StyledConfirmDialog = styled(ConfirmDialog)`\n .modal-header {\n padding: 16px 30px;\n h1 {\n margin: 0;\n font-size: 16px;\n }\n }\n .modal-body {\n padding: 10px 30px;\n }\n .modal-divider {\n border-top: 1px solid var(--border-primary);\n height: 1px;\n }\n .modal-footer {\n padding: 16px 30px;\n }\n`;\n\nStyledConfirmDialog.displayName = \"StyledConfirmDialog\";\n\nexport const StyledSelectDateDatePicker = styled.div`\n ${tw`tw-pt-4 tw-pb-2`}\n color: red;\n`;\n\nStyledSelectDateDatePicker.displayName = \"StyledSelectDateDatePicker\";\n\nexport const StyledSelectDateFooter = styled.div<{\n $mode?: \"atomic\" | \"instant\";\n}>`\n ${tw`tw-px-4 tw-py-2`}\n border-top: 1px solid var(--border-primary);\n\n ${(props) =>\n props.$mode === \"instant\" &&\n css`\n ${tw`tw-flex`}\n `}\n`;\n\nStyledSelectDateFooter.displayName = \"StyledSelectDateFooter\";\n\nexport const StyledSelectDateButtons = styled.div`\n ${tw`tw-flex`}\n`;\n\nStyledSelectDateButtons.displayName = \"StyledSelectDateButtons\";\n\nexport const StyledButtonSave = styled(Button)`\n ${tw`tw-mr-2`}\n`;\n\nStyledButtonSave.displayName = \"StyledButtonSave\";\n\nexport const StyledButtonClose = styled(Button)`\n ${tw`tw-ml-auto`}\n`;\n\nStyledButtonClose.displayName = \"StyledButtonClose\";\n\nexport const StyledButtonCloseColored = styled(Button)`\n ${tw`tw-ml-auto tw-mr-auto`}\n`;\n\nStyledButtonCloseColored.displayName = \"StyledButtonCloseColored\";\n\nexport const StyledIconComponent = styled.svg`\n span,\n svg {\n cursor: pointer;\n }\n span {\n color: var(--color-secondary);\n }\n svg:hover {\n fill: var(--color-secondary);\n }\n`;\n\nStyledIconComponent.displayName = \"StyledIconComponent\";\n","import React, { FC, ReactNode, MouseEvent, useCallback } from \"react\";\nimport { RangeModifier, Modifiers, DayModifiers } from \"react-day-picker\";\nimport MomentLocaleUtils from \"react-day-picker/moment\";\nimport { DatePicker } from \"../DatePicker/DatePicker\";\nimport { IconButton } from \"../IconButton\";\nimport CancelCrossIcon from \"../Icons/collection/CancelCross\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\nimport {\n StyledButtonClose,\n StyledButtonCloseColored,\n StyledButtonSave,\n StyledSelectDateButtons,\n StyledSelectDateDatePicker,\n StyledSelectDateFooter,\n} from \"./Styles\";\n\ninterface IDatePickerForm {\n mode: \"instant\" | \"atomic\";\n saveButtonText?: string;\n cancelButtonText?: string;\n clearButtonText?: string;\n onSave?: () => void;\n onCancel?: (event: MouseEvent<HTMLElement>) => void;\n onClear?: () => void;\n onChange?: (dates?: { from: Date; to: Date }) => void;\n /** Called when day is clicked */\n onDayClick?: (day: Date, modifiers: DayModifiers) => void;\n /** Set selected day or days */\n selectedDays?: RangeModifier;\n /** Modifiers */\n modifiers?: Partial<Modifiers>;\n /** Render day callback */\n renderDay?: (date: Date, modifiers: DayModifiers) => ReactNode;\n /** Set selection range */\n selectionMode?: string;\n /** Set is date required */\n dateRequired?: boolean;\n /** Set first day of week */\n firstDayOfWeek?: number;\n /** on month change callback */\n onMonthChange?: (month: Date) => void;\n /** Selected month */\n month: Date;\n disabledSaveButton?: boolean;\n}\n\nexport const DatePickerForm: FC<IDatePickerForm> = ({\n mode,\n saveButtonText = \"Save\",\n cancelButtonText = \"Cancel\",\n clearButtonText = \"Clear\",\n onSave,\n onCancel,\n onClear,\n dateRequired = false,\n firstDayOfWeek = 0,\n selectedDays,\n selectionMode = \"custom\",\n onChange,\n onDayClick,\n onMonthChange,\n month,\n disabledSaveButton = false,\n modifiers,\n renderDay,\n}) => {\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\" && typeof onSave === \"function\") {\n onSave();\n } else if (\n (e.key === \"Esc\" || e.key === \"Escape\") &&\n typeof onCancel === \"function\"\n ) {\n onCancel(e);\n }\n },\n [onSave, onCancel]\n );\n\n return (\n <div onKeyDown={handleOnKeyDown} tabIndex={-1} className=\"date-picker-form\">\n <StyledSelectDateDatePicker>\n <DatePicker\n month={month}\n onMonthChange={onMonthChange}\n onChange={onChange}\n onDayClick={onDayClick}\n selectedDays={selectedDays}\n selectionMode={selectionMode}\n dateRequired={dateRequired}\n firstDayOfWeek={firstDayOfWeek}\n modifiers={modifiers}\n renderDay={renderDay}\n localeUtils={MomentLocaleUtils}\n />\n </StyledSelectDateDatePicker>\n {mode === \"atomic\" || !dateRequired ? (\n <StyledSelectDateFooter className=\"date-picker-footer\" $mode={mode}>\n {mode === \"atomic\" ? (\n <StyledSelectDateButtons className=\"date-picker-buttons\">\n <StyledButtonSave\n size=\"small\"\n variant=\"primary\"\n onClick={onSave}\n disabled={disabledSaveButton}\n >\n {saveButtonText}\n </StyledButtonSave>\n <Tooltip\n title={cancelButtonText}\n popperTooltipStyle={{ zIndex: 1301 }}\n >\n <IconButton size=\"small\" variant=\"text gray\" onClick={onCancel}>\n <CancelCrossIcon />\n </IconButton>\n </Tooltip>\n {!dateRequired ? (\n <StyledButtonClose\n size=\"small\"\n onClick={onClear}\n variant=\"text gray\"\n >\n {clearButtonText}\n </StyledButtonClose>\n ) : null}\n </StyledSelectDateButtons>\n ) : (\n !dateRequired && (\n <StyledButtonCloseColored\n size=\"small\"\n onClick={onClear}\n variant=\"text colored\"\n >\n {clearButtonText}\n </StyledButtonCloseColored>\n )\n )}\n </StyledSelectDateFooter>\n ) : null}\n </div>\n );\n};\n\nDatePickerForm.displayName = \"DatePickerForm\";\n","import styled, { css } from \"styled-components\";\nimport { PressedProps } from \"./Pressed\";\nimport { Button } from \"../Button/Button\";\nimport tw from \"twin.macro\";\n\nexport const StyledPressed = styled(Button)<PressedProps>`\n ${(props) =>\n props.active &&\n css`\n ${tw`tw-pointer-events-none`}\n\n ${(props.variant === \"primary\" || props.variant === \"contained\") &&\n css`\n background-color: var(--color-primary-800);\n `}\n\n ${(props.variant === \"secondary\" || props.variant === \"outlined\") &&\n css`\n border-color: var(--color-primary);\n color: var(--color-primary);\n `}\n\n ${props.variant === \"dark transparent\" &&\n css`\n background-color: var(--only-black);\n `}\n\n ${props.variant === \"circle raised\" &&\n css`\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary-hover);\n `}\n\n ${(props.variant === \"tertiary\" || props.variant === \"text colored\") &&\n css`\n background-color: var(--color-primary-200);\n `}\n\n ${(props.variant === \"option\" || props.variant === \"text gray\") &&\n css`\n color: var(--color-primary);\n ${props.children instanceof Array &&\n css`\n background-color: var(--color-theme-300);\n `}\n `}\n `}\n`;\n\nStyledPressed.displayName = \"StyledPressed\";\n","import React, { forwardRef } from \"react\";\nimport classNames from \"classnames\";\nimport { ButtonProps } from \"../Button\";\nimport { StyledPressed } from \"./Styles\";\n\nexport interface PressedProps extends ButtonProps {\n /** Set active state */\n active?: boolean;\n}\n\n/**\n * Pressed wrapper for button component\n * @deprecated\n */\nexport const Pressed = forwardRef<HTMLButtonElement, PressedProps>(\n ({ children, active = false, className, ...args }, ref) => {\n return (\n <StyledPressed\n active={active}\n ref={ref}\n className={classNames({ \"c-pressed__active\": active }, className)}\n {...args}\n >\n {children}\n </StyledPressed>\n );\n }\n);\n\nPressed.displayName = \"Pressed\";\n","import React, {\n ElementType,\n forwardRef,\n Ref,\n MouseEvent,\n CSSProperties,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Pressed } from \"../Pressed\";\nimport { StyledIconComponent } from \"./Styles\";\n\ninterface ISelectDateTargetProps {\n icon: ElementType;\n title?: string;\n onClick?: (event: MouseEvent<Element>) => void;\n forceHideTooltip?: boolean;\n targetIconClassName?: string;\n popperTooltipStyle?: CSSProperties;\n popperTooltipClassName?: string;\n active?: boolean;\n}\n\nexport const SelectDateTarget = forwardRef(\n (\n {\n icon: IconComponent,\n title = \"\",\n onClick,\n forceHideTooltip = false,\n targetIconClassName,\n popperTooltipStyle,\n popperTooltipClassName,\n active = false,\n }: ISelectDateTargetProps,\n ref: Ref<HTMLButtonElement>\n ) => {\n return (\n <Tooltip\n title={title}\n popperTooltipStyle={popperTooltipStyle}\n popperTooltipClassName={popperTooltipClassName}\n disable={forceHideTooltip || title === \"\"}\n >\n <Pressed\n variant=\"text gray\"\n size=\"small\"\n active={active}\n ref={ref}\n onClick={onClick}\n type=\"button\"\n >\n <StyledIconComponent\n as={IconComponent}\n className={classnames(\"date-picker-target\", targetIconClassName)}\n />\n </Pressed>\n </Tooltip>\n );\n }\n);\n\nSelectDateTarget.displayName = \"SelectDateTarget\";\n","import React, {\n ElementType,\n FC,\n useCallback,\n useEffect,\n useMemo,\n useState,\n ReactNode,\n CSSProperties,\n} from \"react\";\nimport moment from \"moment\";\nimport classnames from \"classnames\";\nimport { DayModifiers } from \"react-day-picker\";\nimport { Placement } from \"@popperjs/core\";\nimport { Menu } from \"../Menu/Menu\";\nimport { DatePickerForm } from \"./DatePickerForm\";\nimport { customClassNames } from \"../DatePicker/ClassNames\";\nimport { DaysToModify } from \"./types\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\nimport { SelectDateTarget } from \"./SelectDateTarget\";\nimport {\n StyledConfirmDialog,\n StyledSelectDate,\n StyledSelectDateButton,\n} from \"./Styles\";\n\nconst getUtcTimestampFromDate = (date: Date): number => {\n return moment\n .utc([date.getFullYear(), date.getMonth(), date.getDate()])\n .unix();\n};\n\nconst isDayInRange = (day: Date, data: DaysToModify): boolean => {\n if (data.repeating) {\n const from = new Date(\n day.getFullYear(),\n data.from.getMonth(),\n data.from.getDate()\n );\n const to = new Date(\n day.getFullYear(),\n data.to.getMonth(),\n data.to.getDate()\n );\n return day >= from && day <= to;\n }\n\n return day >= data.from && day <= data.to;\n};\n\ntype TriggerStringType = \"text\" | \"icon\" | \"inline\";\ntype TriggerFunctionType = (text: string) => JSX.Element;\n\ninterface ISelectDate {\n /** Change mode - can be atomic and instant */\n changeMode?: \"atomic\" | \"instant\";\n /** Trigger - can be text, icon, inline, or custom render function */\n trigger?: TriggerStringType | TriggerFunctionType;\n /** Save button text */\n saveButtonText?: string;\n /** Cancel button text */\n cancelButtonText?: string;\n /** Clear button text */\n clearButtonText?: string;\n /** Modal header text */\n modalHeaderText?: string;\n /** Modal cancel button text */\n modalCancelBtnText?: string;\n /** Modal discard button text */\n modalDiscardBtnText?: string;\n /** Modal discard message text */\n modalDiscardMessage?: string;\n /** Tooltip text */\n tooltipText?: string;\n /** Called when day is clicked */\n onDayClick?: (day: Date, modifiers: DayModifiers) => void;\n /** Save changes in atomic mode */\n onSave?: (dates?: { from: number; to: number }) => void;\n /** On cancel closes datepicker or opens disard modal in atomic mode */\n onCancel?: () => void;\n /** Clear dates when they are not required */\n onClear?: () => void;\n /** Use this callback to get is picker visible */\n onToggleDatePicker?: (value: boolean) => void;\n /** Set selected day or days */\n selectedDays?: { from: number; to: number };\n /** Set month */\n defaultMonth?: Date;\n /** Set selection range */\n selectionMode?: string;\n /** Set is date required */\n required?: boolean;\n /** Set default show on date picker (only for text and icon mode) */\n defaultShowDatePicker?: boolean;\n /** Long date format (Always show year) */\n longDateFormat?: boolean;\n /** Set is date required */\n defaultTimezoneAware?: boolean;\n /** Set first day of week */\n firstDayOfWeek?: number;\n /** One of icon types */\n icon?: ElementType;\n /** Default Label text */\n defaultLabelText?: string;\n /** Date format */\n dateFormat?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Target element classes */\n targetClassName?: string;\n /** Target element text classes */\n targetTextClassName?: string;\n /** Target element icon classes */\n targetIconClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Days to modify */\n daysToModify?: DaysToModify[];\n /** Array of weekend days */\n weekends?: number[];\n /** Weekend label */\n weekendLabel?: string;\n /** Allows weekends to be selected */\n weekendIsSelectable?: boolean;\n /** Popper Tooltip style */\n popperTooltipStyle?: CSSProperties;\n /** Popper Tooltip class name*/\n popperTooltipClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Position of selectDate menu */\n position?: Placement;\n /** Disable days before specified date */\n disableDaysBefore?: Date;\n}\n\nexport const SelectDate: FC<ISelectDate> = ({\n changeMode: mode = \"instant\",\n trigger: labelType = \"text\",\n saveButtonText = \"Save\",\n cancelButtonText = \"Cancel\",\n clearButtonText = \"Clear\",\n modalHeaderText = \"Discard changes?\",\n modalDiscardMessage = \"All unsaved changes will be lost.\",\n modalDiscardBtnText = \"OK\",\n modalCancelBtnText = \"Cancel\",\n onDayClick,\n onSave,\n onCancel,\n onToggleDatePicker,\n required: dateRequired = false,\n defaultTimezoneAware = false,\n longDateFormat = false,\n defaultShowDatePicker = false,\n firstDayOfWeek = 0,\n selectedDays,\n selectionMode = \"custom\",\n menuClassName,\n targetClassName,\n icon,\n defaultLabelText = \"Set...\",\n targetTextClassName,\n targetIconClassName,\n backgroundElementClass,\n dateFormat = \"DD MM. YYYY\",\n defaultMonth,\n daysToModify = [],\n weekends = [],\n weekendLabel = \"Weekend\",\n weekendIsSelectable = false,\n tooltipText,\n popperTooltipClassName,\n popperClassName,\n popperTooltipStyle,\n position,\n disableDaysBefore,\n}) => {\n const [timezoneAware, setTimezoneAware] = useState(defaultTimezoneAware);\n\n const labelText = useMemo(() => {\n if (!selectedDays) {\n return defaultLabelText;\n } else {\n const endDate = timezoneAware\n ? moment.unix(selectedDays.to).local()\n : moment.unix(selectedDays.to).utc();\n\n const startDate = timezoneAware\n ? moment.unix(selectedDays.from).local()\n : moment.unix(selectedDays.from).utc();\n\n const currentYear = moment.utc().year();\n\n const formattedEndDate =\n !longDateFormat && endDate.year() === currentYear\n ? endDate.format(dateFormat.replace(/Y|,$/gi, ``).trim())\n : endDate.format(dateFormat);\n const formattedStartDate =\n !longDateFormat && startDate.year() === currentYear\n ? startDate.format(dateFormat.replace(/Y|,$/gi, ``).trim())\n : startDate.format(dateFormat);\n\n if (selectedDays.from === selectedDays.to) {\n return formattedEndDate;\n }\n\n return `${formattedStartDate} - ${formattedEndDate}`;\n }\n }, [\n selectedDays,\n dateFormat,\n timezoneAware,\n defaultLabelText,\n longDateFormat,\n ]);\n\n const modifiedDates = useMemo(() => {\n if (\n typeof selectedDays === \"object\" &&\n !!selectedDays.from &&\n !!selectedDays.to\n ) {\n if (timezoneAware) {\n return {\n from: moment.unix(selectedDays.from).toDate(),\n to: moment.unix(selectedDays.to).toDate(),\n };\n }\n const offsetFrom = moment.unix(selectedDays.from).utcOffset() * 60;\n const offsetTo = moment.unix(selectedDays.to).utcOffset() * 60;\n return {\n from: new Date((selectedDays.from - offsetFrom) * 1000),\n to: new Date((selectedDays.to - offsetTo) * 1000),\n };\n }\n }, [selectedDays, timezoneAware]);\n\n const handleModifiedSave = useCallback(\n (selectedDates) => {\n setTimezoneAware(false);\n if (typeof onSave === \"function\") {\n if (\n typeof selectedDates === \"object\" &&\n Object.prototype.hasOwnProperty.call(selectedDates, \"from\") &&\n Object.prototype.hasOwnProperty.call(selectedDates, \"to\")\n ) {\n onSave({\n from: getUtcTimestampFromDate(selectedDates.from),\n to: getUtcTimestampFromDate(selectedDates.to),\n });\n } else {\n onSave(undefined);\n }\n }\n },\n [onSave]\n );\n\n const getDefaultMonth = useCallback(() => {\n let date = new Date();\n\n if (typeof selectedDays === \"object\" && !!selectedDays.from) {\n date = timezoneAware\n ? new Date(selectedDays.from * 1000)\n : new Date(\n (selectedDays.from -\n moment.unix(selectedDays.from).utcOffset() * 60) *\n 1000\n );\n } else if (defaultMonth) {\n date = defaultMonth;\n }\n\n // forcing second day in month\n return new Date(date.getFullYear(), date.getMonth(), 2);\n }, [defaultMonth, selectedDays, timezoneAware]);\n\n const [month, setMonth] = useState(getDefaultMonth);\n\n const handleMonthChange = useCallback(\n (month) => {\n setMonth(month);\n },\n [setMonth]\n );\n\n const [newDates, setNewDates] = useState(modifiedDates);\n const [showDiscardModal, setShowDiscardModal] = useState(false);\n const [showDatePicker, setShowDatePicker] = useState(defaultShowDatePicker);\n\n const disabledSaveButton = useMemo(() => {\n return (\n modifiedDates?.from === newDates?.from &&\n modifiedDates?.to === newDates?.to\n );\n }, [modifiedDates, newDates]);\n\n useEffect(() => {\n setShowDatePicker(defaultShowDatePicker);\n }, [defaultShowDatePicker]);\n\n useEffect(() => {\n modifiedDates && setNewDates(modifiedDates);\n }, [modifiedDates]);\n\n useEffect(() => {\n typeof onToggleDatePicker === \"function\" &&\n onToggleDatePicker(showDatePicker);\n }, [showDatePicker, onToggleDatePicker]);\n\n useEffect(() => {\n if (!showDatePicker) {\n setMonth(getDefaultMonth());\n }\n }, [showDatePicker, getDefaultMonth]);\n\n const handleSave = useCallback(() => {\n handleModifiedSave(newDates);\n setShowDatePicker(false);\n }, [newDates, handleModifiedSave]);\n\n const handleChange = useCallback(\n (dates) => {\n if (mode !== \"atomic\") {\n handleModifiedSave(dates);\n }\n setNewDates(dates);\n },\n [mode, handleModifiedSave]\n );\n\n const handleBeforeCloseMenu = useCallback(() => {\n let result = true;\n\n if ((modifiedDates && !newDates) || (!modifiedDates && newDates)) {\n result = false;\n }\n\n const selectedDaysFrom = modifiedDates?.from;\n const selectedDaysTo = modifiedDates?.to;\n const newDatesFrom = newDates?.from;\n const newDatesTo = newDates?.to;\n\n if (\n selectedDaysFrom &&\n newDatesFrom &&\n selectedDaysTo &&\n newDatesTo &&\n (moment(selectedDaysFrom).format(\"DD-MM-YYYY\") !==\n moment(newDatesFrom).format(\"DD-MM-YYYY\") ||\n moment(selectedDaysTo).format(\"DD-MM-YYYY\") !==\n moment(newDatesTo).format(\"DD-MM-YYYY\"))\n ) {\n result = false;\n }\n\n if (!result) {\n setShowDiscardModal(true);\n }\n\n return result;\n }, [modifiedDates, newDates]);\n\n const handleClose = useCallback(() => {\n if (mode !== \"atomic\" || handleBeforeCloseMenu()) {\n typeof onCancel === \"function\" && onCancel();\n setShowDatePicker(false);\n }\n }, [mode, onCancel, handleBeforeCloseMenu]);\n\n const handleCancel = useCallback(\n (event) => {\n event && event.preventDefault();\n return handleClose();\n },\n [handleClose]\n );\n\n const handleShowDatePicker = useCallback(() => {\n setShowDatePicker(!showDatePicker);\n }, [showDatePicker]);\n\n const handleCloseDiscardModal = useCallback(() => {\n setShowDiscardModal(false);\n }, []);\n\n const handleClear = useCallback(() => {\n if (!dateRequired) {\n setNewDates(undefined);\n if (mode === \"instant\") {\n handleModifiedSave(undefined);\n }\n }\n }, [mode, dateRequired, handleModifiedSave]);\n\n const handleSaveDiscardModal = useCallback(() => {\n setNewDates(modifiedDates);\n setShowDiscardModal(false);\n setShowDatePicker(false);\n }, [modifiedDates]);\n\n const modifiers = useMemo(() => {\n const userAvailabilities = daysToModify.filter(\n (data) => data.type === \"user_day_off\"\n );\n const globalDaysOff = daysToModify.filter(\n (data) => data.type === \"global_day_off\"\n );\n const selectableGlobalDaysOff = daysToModify.filter(\n (data) => data.type === \"selectable_global_day_off\"\n );\n\n return {\n [customClassNames.userAvailability]: (day: Date): boolean => {\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return userAvailabilities.some((data) =>\n isDayInRange(currentDay, data)\n );\n },\n [customClassNames.weekend]: (day: Date): boolean => {\n return weekends.some((value) => day.getDay() === value);\n },\n [customClassNames.nonWorkingDay]: (day: Date): boolean => {\n // return true if day is weekend day\n if (weekends.some((value) => value === day.getDay())) {\n return true;\n }\n const nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return nonWorkingDays.some((data) => isDayInRange(currentDay, data));\n },\n [customClassNames.disabled]: (day: Date): boolean => {\n if (disableDaysBefore) {\n if (\n day.toJSON().slice(0, 10) < disableDaysBefore.toJSON().slice(0, 10)\n ) {\n return true;\n }\n }\n // return true if day is weekend day\n if (\n !weekendIsSelectable &&\n weekends.some((value) => value === day.getDay())\n ) {\n return true;\n }\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return globalDaysOff.some((data) => isDayInRange(currentDay, data));\n },\n };\n }, [daysToModify, weekends, disableDaysBefore, weekendIsSelectable]);\n\n const renderDay = useCallback(\n (day: Date): ReactNode => {\n const titles: string[] = [];\n\n if (weekends.some((value) => day.getDay() === value)) {\n titles.push(weekendLabel);\n }\n\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n\n daysToModify.forEach((data) => {\n if (isDayInRange(currentDay, data)) {\n titles.push(data.title);\n }\n });\n\n const child = (\n <div className=\"c-DayPicker-Day-Number\">{day.getDate()}</div>\n );\n\n if (titles.length) {\n const title = (\n <div key={`title-wrapper-${day.getDate()}`}>\n {titles.map((title: string, index: number) => (\n <div key={`title-text-${index}`}>{title}</div>\n ))}\n </div>\n );\n\n return (\n <Tooltip\n title={title}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n >\n {child}\n </Tooltip>\n );\n }\n\n return child;\n },\n [\n weekendLabel,\n weekends,\n daysToModify,\n popperTooltipClassName,\n popperTooltipStyle,\n ]\n );\n\n const renderDatePickerForm = useCallback((): JSX.Element => {\n return (\n <DatePickerForm\n onMonthChange={handleMonthChange}\n month={month}\n mode={mode}\n selectionMode={selectionMode}\n dateRequired={dateRequired}\n selectedDays={newDates}\n firstDayOfWeek={firstDayOfWeek}\n saveButtonText={saveButtonText}\n cancelButtonText={cancelButtonText}\n clearButtonText={clearButtonText}\n onDayClick={onDayClick}\n onSave={handleSave}\n onChange={handleChange}\n onCancel={handleCancel}\n onClear={handleClear}\n disabledSaveButton={disabledSaveButton}\n modifiers={modifiers}\n renderDay={renderDay}\n />\n );\n }, [\n handleMonthChange,\n month,\n mode,\n selectionMode,\n dateRequired,\n newDates,\n firstDayOfWeek,\n saveButtonText,\n cancelButtonText,\n clearButtonText,\n onDayClick,\n handleSave,\n handleChange,\n handleCancel,\n handleClear,\n disabledSaveButton,\n modifiers,\n renderDay,\n ]);\n\n const renderTargetEl = useMemo(() => {\n if (labelType === \"icon\" && icon) {\n return (\n <SelectDateTarget\n icon={icon}\n title={tooltipText}\n targetIconClassName={targetIconClassName}\n forceHideTooltip={showDatePicker}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n active={showDatePicker}\n />\n );\n }\n if (typeof labelType === \"function\") {\n return labelType(labelText);\n }\n return (\n <StyledSelectDateButton\n type=\"button\"\n className={classnames(\"date-picker-target\", targetClassName)}\n >\n <span className={targetTextClassName}>{labelText}</span>\n </StyledSelectDateButton>\n );\n }, [\n icon,\n labelText,\n labelType,\n popperTooltipClassName,\n popperTooltipStyle,\n showDatePicker,\n targetClassName,\n targetIconClassName,\n targetTextClassName,\n tooltipText,\n ]);\n\n return (\n <StyledSelectDate className=\"select-date\">\n {labelType !== \"inline\" ? (\n <Menu\n target={renderTargetEl}\n open={showDatePicker}\n onOpen={handleShowDatePicker}\n onBeforeClose={handleBeforeCloseMenu}\n onClose={handleClose}\n position={position}\n menuClassName={menuClassName}\n popperClassName={popperClassName}\n backgroundElementClass={backgroundElementClass}\n >\n {renderDatePickerForm()}\n </Menu>\n ) : (\n renderDatePickerForm()\n )}\n {mode === \"atomic\" ? (\n <StyledConfirmDialog\n className=\"modal-select-date\"\n open={showDiscardModal}\n onCancel={handleCloseDiscardModal}\n onConfirm={handleSaveDiscardModal}\n dialogTitle={modalHeaderText}\n dialogContent={modalDiscardMessage}\n cancelBtnText={modalCancelBtnText}\n confirmBtnText={modalDiscardBtnText}\n />\n ) : null}\n </StyledSelectDate>\n );\n};\n\nSelectDate.displayName = \"SelectDate\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { CloseSmallIcon } from \"../Icons\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\ninterface StyledToastMessageProps {\n $type: \"error\" | \"success\" | \"general\" | \"warning\";\n $dropShadow?: boolean;\n}\n\nexport const StyledToastMessage = styled.div<StyledToastMessageProps>`\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 36px;\n width: fit-content;\n max-width: 100%;\n padding: 10px 8px 10px 16px;\n border-radius: 18px;\n\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${(props) =>\n props.$type === \"error\" &&\n css`\n background-color: #f1a5a5;\n ${props.$dropShadow &&\n css`\n box-shadow: 0px 7px 12px -4px rgba(234, 179, 179, 0.7);\n `}\n `}\n\n ${(props) =>\n props.$type === \"success\" &&\n css`\n background-color: #afdfdb;\n ${props.$dropShadow &&\n css`\n box-shadow: 0px 7px 12px -4px rgba(182, 218, 215, 0.7);\n `}\n `}\n\n ${(props) =>\n props.$type === \"general\" &&\n css`\n background-color: #bddff6;\n ${props.$dropShadow &&\n css`\n box-shadow: 0px 7px 12px -4px rgba(166, 199, 220, 0.7);\n `}\n `}\n\n ${(props) =>\n props.$type === \"warning\" &&\n css`\n background-color: #ffffd1;\n ${props.$dropShadow &&\n css`\n box-shadow: 0px 7px 12px -4px rgba(242, 242, 208, 0.7);\n `}\n `}\n`;\n\nexport const StyledToastMessageText = styled.div`\n ${tw`tw-text-caption-1`}\n ${tw`tw-font-bold`}\n ${tw`tw-truncate`}\n ${tw`tw-mr-2`}\n color: rgba(48, 48, 55, 0.65);\n`;\n\nexport const StyledCloseSmallIcon = styled(CloseSmallIcon)`\n fill: rgba(48, 48, 55, 0.3);\n flex-shrink: 0;\n cursor: pointer;\n\n &:hover {\n fill: rgba(48, 48, 55, 0.65);\n }\n`;\n\nStyledToastMessage.displayName = \"StyledToastMessage\";\nStyledCloseSmallIcon.displayName = \"StyledCloseSmallIcon\";\n","import React, {\n forwardRef,\n HTMLAttributes,\n Ref,\n useEffect,\n useCallback,\n} from \"react\";\nimport {\n StyledToastMessage,\n StyledToastMessageText,\n StyledCloseSmallIcon,\n} from \"./Styles\";\n\nexport interface ToastMessageProps {\n text: string;\n type: \"error\" | \"success\" | \"general\" | \"warning\";\n onClose?: () => void;\n dismissible?: boolean;\n dropShadow?: boolean;\n timeout?: number;\n}\n\nexport const ToastMessage = forwardRef(\n (\n {\n text,\n type,\n onClose,\n dismissible = false,\n dropShadow = false,\n timeout = 0,\n ...rest\n }: ToastMessageProps & HTMLAttributes<HTMLDivElement>,\n ref: Ref<HTMLDivElement> | null | undefined\n ) => {\n const handleOnClose = useCallback(() => {\n if (typeof onClose === \"function\") {\n onClose();\n }\n }, [onClose]);\n\n useEffect(() => {\n if (timeout > 0) {\n const timer = setTimeout(handleOnClose, timeout);\n\n return () => clearTimeout(timer);\n }\n }, [dismissible, timeout, handleOnClose]);\n\n return (\n <StyledToastMessage\n ref={ref}\n $type={type}\n $dropShadow={dropShadow}\n {...rest}\n >\n <StyledToastMessageText>{text}</StyledToastMessageText>\n {dismissible ? <StyledCloseSmallIcon onClick={handleOnClose} /> : null}\n </StyledToastMessage>\n );\n }\n);\n\nToastMessage.displayName = \"ToastMessage\";\n","import React, { FC, ReactElement, cloneElement } from \"react\";\nimport { Transition } from \"react-transition-group\";\nimport { TransitionProps } from \"../types\";\n\ninterface IFadeProps extends Omit<TransitionProps, \"timeout\"> {\n children: ReactElement;\n timeout?: number;\n}\n\nconst defaultStyle = (\n duration: number\n): Partial<{ transition: string; opacity: number }> => ({\n transition: `all ${duration}ms ease-in-out`,\n opacity: 0,\n});\n\nconst transitionStyles = {\n entering: { opacity: 1 },\n entered: { opacity: 1 },\n exiting: { opacity: 0 },\n exited: { opacity: 0 },\n};\n\nexport const Fade: FC<IFadeProps> = ({\n in: inProp = false,\n children,\n style,\n timeout = 500,\n ...rest\n}) => (\n <Transition appear in={inProp} timeout={timeout} {...rest}>\n {(state): ReactElement => {\n return cloneElement(children, {\n style: {\n visibility: state === \"exited\" && !inProp ? \"hidden\" : undefined,\n ...defaultStyle(timeout),\n ...transitionStyles[state],\n ...style,\n ...children.props.style,\n },\n });\n }}\n </Transition>\n);\n\nFade.displayName = \"Fade\";\n","import React, { FC, ReactElement, cloneElement } from \"react\";\nimport { Transition } from \"react-transition-group\";\nimport { TransitionProps } from \"../types\";\n\ninterface ISlide extends Omit<TransitionProps, \"timeout\"> {\n children: ReactElement;\n timeout?: number;\n initialDirection?: string;\n}\n\nexport const Slide: FC<ISlide> = ({\n in: inProp = false,\n children,\n style,\n timeout = 300,\n initialDirection = \"left\",\n ...rest\n}) => {\n let directionSign: string;\n\n switch (initialDirection) {\n case \"right\":\n directionSign = \"100%, 0\";\n break;\n case \"top\":\n directionSign = \"0, -100%\";\n break;\n case \"bottom\":\n directionSign = \"0, 100%\";\n break;\n default:\n directionSign = \"-100%, 0\";\n }\n\n const defaultStyle = (timeout: number): Partial<{ transition: string }> => ({\n transition: `all ${timeout}ms ease`,\n });\n\n const transitionStyles = {\n entering: {\n transform: `translate(0,0)`,\n },\n entered: {\n transform: `translate(0,0)`,\n },\n exiting: {\n transform: `translate(${directionSign})`,\n },\n exited: {\n transform: `translate(${directionSign})`,\n },\n };\n\n return (\n <Transition in={inProp} timeout={timeout} {...rest}>\n {(state): ReactElement => {\n return cloneElement(children, {\n style: {\n visibility: state === \"exited\" && !inProp ? \"hidden\" : undefined,\n ...defaultStyle(timeout),\n ...transitionStyles[state],\n ...style,\n ...children.props.style,\n },\n });\n }}\n </Transition>\n );\n};\n\nSlide.displayName = \"Slide\";\n","import { createGlobalStyle, css } from \"styled-components\";\n\nexport const StyledSlideLeftRight = createGlobalStyle<{\n $direction: \"left\" | \"right\";\n}>`\n\n${(props) =>\n props.$direction === \"left\" &&\n css`\n &.c-slide-enter {\n position: absolute;\n transform: translateX(100%);\n }\n &.c-slide-enter-active {\n transform: translateX(0%);\n transition: all 200ms ease;\n }\n &.c-slide-exit {\n position: absolute;\n }\n &.c-slide-exit-active {\n transform: translateX(-100%);\n transition: all 200ms ease;\n }\n `}\n\n ${(props) =>\n props.$direction === \"right\" &&\n css`\n &.c-slide-enter {\n position: absolute;\n transform: translateX(-100%);\n }\n &.c-slide-enter-active {\n transform: translateX(0%);\n transition: all 200ms ease;\n }\n\n &.c-slide-exit {\n position: absolute;\n }\n\n &.c-slide-exit-active {\n transform: translateX(100%);\n transition: all 200ms ease;\n }\n `}\n\n`;\n","import React, { FC, ReactElement } from \"react\";\nimport { TransitionProps } from \"../types\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { StyledSlideLeftRight } from \"./Styles\";\n\ninterface ISlideLeftRightTransition extends TransitionProps {\n children: ReactElement;\n direction?: \"left\" | \"right\";\n}\n\nexport const SlideLeftRightTransition: FC<ISlideLeftRightTransition> = ({\n children,\n direction = \"left\",\n ...props\n}) => {\n return (\n <CSSTransition timeout={200} classNames=\"c-slide\" unmountOnExit {...props}>\n <>\n {children}\n <StyledSlideLeftRight $direction={direction} />\n </>\n </CSSTransition>\n );\n};\n\nSlideLeftRightTransition.displayName = \"SlideLeftRightTransition\";\n","import React, { ReactElement, FC, cloneElement, useMemo } from \"react\";\nimport { Transition } from \"react-transition-group\";\nimport { TransitionProps } from \"../types\";\n\ninterface IResizeTransition extends TransitionProps {\n children: ReactElement;\n}\n\nexport const ResizeTransition: FC<IResizeTransition> = ({\n in: inProp = false,\n onEnter,\n onExited,\n children,\n style,\n timeout = 200,\n}) => {\n const defaultStyle = useMemo(() => {\n return {\n transitionProperty: \"width, height\",\n transitionDuration: `${timeout}ms`,\n transitionTimingFunction: \"ease\",\n };\n }, [timeout]);\n\n return (\n <Transition\n appear\n in={inProp}\n timeout={timeout}\n onEnter={onEnter}\n onExited={onExited}\n >\n {(state): ReactElement => {\n return cloneElement(children, {\n style: {\n visibility: state === \"exited\" && !inProp ? \"hidden\" : undefined,\n ...defaultStyle,\n ...style,\n ...children.props.style,\n },\n });\n }}\n </Transition>\n );\n};\n\nResizeTransition.displayName = \"ResizeTransition\";\n","import React, { FC, ReactElement, cloneElement } from \"react\";\nimport { Transition } from \"react-transition-group\";\nimport { TransitionProps } from \"../types\";\n\ninterface IRevealProps extends Omit<TransitionProps, \"timeout\"> {\n children: ReactElement;\n timeout?: number;\n oppositeDirection?: boolean;\n}\n\nconst defaultStyle = (\n duration: number\n): Partial<{\n transition: string;\n transform: string;\n transformOrigin: string;\n opacity: number;\n}> => ({\n transition: `all ${duration}ms ease-in`,\n transform: `scaleX(0)`,\n opacity: 0,\n transformOrigin: \"left\",\n});\n\nconst transitionStyles = {\n entering: { transform: `scaleX(1)`, opacity: 1 },\n entered: { transform: `scaleX(1)`, opacity: 1 },\n exiting: { transform: `scaleX(0)`, opacity: 0 },\n exited: { transform: `scaleX(0)`, opacity: 0 },\n};\n\nexport const Reveal: FC<IRevealProps> = ({\n in: inProp = false,\n children,\n style,\n timeout = 200,\n ...rest\n}) => {\n return (\n <Transition appear in={inProp} timeout={timeout} {...rest}>\n {(state): ReactElement => {\n return cloneElement(children, {\n style: {\n ...defaultStyle(inProp ? timeout : 0),\n ...transitionStyles[state],\n ...style,\n ...children.props.style,\n },\n });\n }}\n </Transition>\n );\n};\n\nReveal.displayName = \"Reveal\";\n","import React, { cloneElement, FC, ReactElement, useMemo } from \"react\";\nimport { Transition } from \"react-transition-group\";\nimport { TransitionProps } from \"../types\";\n\ninterface IScale extends TransitionProps {\n children: ReactElement;\n}\n\nconst transitionStyles = {\n entered: { transform: \"scale(1)\" },\n exiting: { transform: \"scale(0)\" },\n};\n\nexport const Scale: FC<IScale> = ({\n in: inProp = false,\n onEnter,\n onExited,\n children,\n style,\n timeout = 200,\n}) => {\n const defaultStyle = useMemo(() => {\n return {\n transitionProperty: \"transform\",\n transitionDuration: `${timeout}ms`,\n transform: \"scale(0)\",\n };\n }, [timeout]);\n\n return (\n <Transition\n in={inProp}\n timeout={timeout}\n onEnter={onEnter}\n onExited={onExited}\n >\n {(state): ReactElement => {\n return cloneElement(children, {\n style: {\n ...defaultStyle,\n ...transitionStyles[state],\n ...style,\n ...children.props.style,\n },\n });\n }}\n </Transition>\n );\n};\n\nScale.displayName = \"Scale\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { Body2 } from \"../Typography\";\nimport { Button, ButtonProps } from \"../Button\";\n\nexport const StyledValueButtonLabel = styled(Body2)`\n opacity: 60%;\n margin-right: 2px;\n`;\n\nStyledValueButtonLabel.displayName = \"StyledValueButtonLabel\";\n\nexport const StyledValueButtonValue = styled(Body2)``;\n\nStyledValueButtonValue.displayName = \"StyledValueButtonValue\";\n\ninterface IStyledValueButton extends ButtonProps {\n $active?: boolean;\n}\n\nexport const StyledValueButton = styled(Button)<IStyledValueButton>`\n ${(props) =>\n props.$active &&\n css`\n ${StyledValueButtonLabel},\n ${StyledValueButtonValue} {\n ${tw`tw-pointer-events-none`}\n color: var(--color-theme-900) !important;\n }\n\n svg {\n fill: var(--color-primary);\n }\n `}\n\n ${(props) =>\n props.$active !== true &&\n css`{\n &:hover {\n ${StyledValueButtonLabel},\n ${StyledValueButtonValue} {\n ${tw`tw-pointer-events-none`}\n color: var(--color-theme-900) !important;\n }\n }\n `}\n`;\n\nStyledValueButton.displayName = \"StyledValueButton\";\n","import React, { forwardRef, ReactElement } from \"react\";\nimport {\n StyledValueButton,\n StyledValueButtonLabel,\n StyledValueButtonValue,\n} from \"./Styles\";\n\ninterface IValueButtonProps {\n /** Set active state */\n active?: boolean;\n /** Label for value */\n label?: string;\n /** Value */\n value: string;\n /** Icon */\n icon?: ReactElement;\n /** Always show icon */\n alwaysShowIcon?: boolean;\n}\n\nexport const ValueButton = forwardRef<HTMLButtonElement, IValueButtonProps>(\n (\n { active = false, alwaysShowIcon = false, icon, label, value, ...args },\n ref\n ) => {\n return (\n <StyledValueButton\n className=\"c-value-button\"\n {...args}\n ref={ref}\n variant=\"text gray\"\n $active={active}\n >\n {icon && alwaysShowIcon\n ? React.cloneElement(icon, {\n style: { display: \"inline-block\" },\n })\n : null}\n {label ? (\n <StyledValueButtonLabel\n color=\"secondary\"\n weight=\"medium\"\n className=\"c-value-button__label\"\n >\n {label}:\n </StyledValueButtonLabel>\n ) : null}\n <StyledValueButtonValue\n color=\"secondary\"\n weight=\"medium\"\n className=\"c-value-button__value\"\n >\n {value}\n </StyledValueButtonValue>\n </StyledValueButton>\n );\n }\n);\n\nValueButton.displayName = \"ValueButton\";\n","import styled from \"styled-components\";\n\nexport const StyledButton = styled.button`\n border: none;\n margin: 0;\n padding: 0;\n width: auto;\n overflow: visible;\n cursor: pointer;\n\n background: transparent;\n\n outline: none;\n color: inherit;\n font: inherit;\n\n line-height: inherit;\n\n -webkit-font-smoothing: inherit;\n -moz-osx-font-smoothing: inherit;\n\n -webkit-appearance: none;\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n`;\n\nStyledButton.displayName = \"StyledButton\";\n","import React, { forwardRef, ComponentPropsWithoutRef } from \"react\";\nimport { StyledButton } from \"./Styles\";\n\nexport const Trigger = forwardRef<\n HTMLButtonElement,\n ComponentPropsWithoutRef<\"button\">\n>(({ children, type = \"button\", ...rest }, ref) => {\n return (\n <StyledButton ref={ref} role=\"button\" type={type} {...rest}>\n {children}\n </StyledButton>\n );\n});\n\nTrigger.displayName = \"Trigger\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { CollapseExpandSingleIcon } from \"../Icons\";\nimport { Trigger } from \"../Trigger\";\nimport { Size } from \"./SelectTrigger\";\n\nexport const StyledSelectTrigger = styled(Trigger)<{\n $size?: Size;\n $invalid?: boolean;\n}>`\n display: flex;\n align-items: center;\n justify-content: space-between;\n border: 1px solid var(--color-theme-500);\n padding: 0 4px 0 8px;\n width: 300px;\n transition: border-color 0.3s ease;\n background-color: var(--input-background-color);\n\n ${({ disabled }) =>\n disabled &&\n css`\n opacity: 50%;\n cursor: default;\n `}\n\n ${({ $invalid, disabled }) =>\n !$invalid &&\n !disabled &&\n css`\n &:hover,\n &:focus {\n border-color: var(--color-primary-700);\n }\n `}\n\n ${({ $invalid }) =>\n $invalid &&\n css`\n ${tw`tw-border-alert`}\n\n &:hover {\n ${tw`tw-border-alert`}\n }\n `}\n\n ${({ $size }) =>\n $size === \"small\" &&\n css`\n height: 24px;\n border-radius: var(--ac-br-6);\n `}\n\n ${({ $size }) =>\n $size === \"regular\" &&\n css`\n height: 32px;\n border-radius: var(--ac-br-8);\n `}\n\n ${({ $size }) =>\n $size === \"big\" &&\n css`\n height: 40px;\n border-radius: var(--ac-br-8);\n `};\n`;\n\nStyledSelectTrigger.displayName = \"StyledSelectTrigger\";\n\nexport const StyledCaretIcon = styled(CollapseExpandSingleIcon)<{\n $open: boolean;\n}>`\n margin-left: 8px;\n flex-shrink: 0;\n transition: transform 200ms ease;\n\n ${({ $open }) =>\n !$open &&\n css`\n transform: rotate(180deg);\n `}\n`;\n\nStyledCaretIcon.displayName = \"StyledCaretIcon\";\n","import React, { forwardRef, ComponentPropsWithoutRef } from \"react\";\nimport { Typography } from \"../Typography/Typography\";\nimport { StyledCaretIcon, StyledSelectTrigger } from \"./Styles\";\n\nexport type Size = \"regular\" | \"big\" | \"small\";\n\nexport interface SelectTriggerProps extends ComponentPropsWithoutRef<\"button\"> {\n size?: Size;\n invalid?: boolean;\n endAdornment?: JSX.Element;\n open?: boolean;\n}\n\nexport const SelectTrigger = forwardRef<HTMLButtonElement, SelectTriggerProps>(\n (\n {\n children,\n type = \"button\",\n size = \"regular\",\n invalid = false,\n open = false,\n endAdornment,\n ...rest\n },\n ref\n ) => {\n return (\n <StyledSelectTrigger\n ref={ref}\n role=\"button\"\n type={type}\n $size={size}\n $invalid={invalid}\n {...rest}\n >\n <Typography\n as=\"div\"\n overflow=\"truncate\"\n whitespace=\"no-wrap\"\n variant={size === \"small\" || size === \"regular\" ? \"Body 2\" : \"Body 1\"}\n >\n {children}\n </Typography>\n\n {endAdornment ? endAdornment : <StyledCaretIcon $open={open} />}\n </StyledSelectTrigger>\n );\n }\n);\n\nSelectTrigger.displayName = \"SelectTrigger\";\n","import styled, { css } from \"styled-components\";\nimport { FontStyle } from \"../FontStyle\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\n\nexport const StyledToggleSlider = styled.div`\n padding-left: 6px;\n position: absolute;\n cursor: pointer;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: space-evenly;\n background-color: transparent;\n border: 1px solid var(--color-theme-600);\n overflow: hidden;\n border-radius: 12.5px;\n font-size: 11px;\n transition: 0.3s;\n\n &::before {\n position: absolute;\n content: \"\";\n user-select: none;\n height: 16px;\n width: 16px;\n left: 4px;\n bottom: 3px;\n background-color: var(--color-theme-600);\n border-radius: 50%;\n transition: 0.3s;\n }\n`;\n\nStyledToggleSlider.displayName = \"StyledToggleSlider\";\n\nexport const StyledToggleSliderOff = styled.div`\n user-select: none;\n transform: translateX(-3px);\n opacity: 1;\n transition-duration: 0.3s;\n white-space: nowrap;\n color: var(--color-theme-600);\n`;\n\nStyledToggleSliderOff.displayName = \"StyledToggleSliderOff\";\n\nexport const StyledToggleSliderOn = styled.div`\n user-select: none;\n transform: translateX(-30px);\n opacity: 0;\n transition-duration: 0.3s;\n white-space: nowrap;\n color: var(--page-paper-main);\n`;\n\nStyledToggleSliderOn.displayName = \"StyledToggleSliderOn\";\n\nexport const StyledToggleCheckbox = styled.input`\n opacity: 0;\n width: 0;\n height: 0;\n\n &:checked + ${StyledToggleSlider}:before {\n background-color: var(--page-paper-main);\n transform: translateX(25px);\n }\n\n &:checked + ${StyledToggleSlider} {\n border-color: var(--color-sucess-green);\n background-color: var(--color-sucess-green);\n color: var(--color-sucess-green);\n\n ${StyledToggleSliderOff} {\n transform: translateX(30px);\n opacity: 0;\n }\n\n ${StyledToggleSliderOn} {\n transform: translateX(0);\n opacity: 1;\n }\n }\n\n &:disabled + ${StyledToggleSlider} {\n opacity: 0.5;\n cursor: default;\n }\n`;\n\nStyledToggleCheckbox.displayName = \"StyledToggleCheckbox\";\n\nconst StyledHelper = css`\n ${StyledToggleSliderOff} {\n transform: translateX(0);\n }\n\n ${StyledToggleCheckbox} + ${StyledToggleSlider}:before {\n transform: translateX(3px);\n }\n\n ${StyledToggleCheckbox}:checked + ${StyledToggleSlider} {\n &::before {\n transform: translateX(23px);\n }\n\n ${StyledToggleSliderOn} {\n transform: translateX(-2px);\n }\n }\n`;\n\nexport const StyledToggle = styled.label<{ $isHovered?: boolean }>`\n ${FontStyle}\n ${BoxSizingStyle}\n\n position: relative;\n display: inline-block;\n width: 50px;\n height: 24px;\n font-size: 13px;\n font-weight: bold;\n line-height: 13px;\n border-radius: 12.5px;\n\n &:hover {\n ${StyledHelper}\n }\n\n &:focus {\n outline: 1px solid var(--color-sucess-green);\n outline-offset: 4px;\n }\n\n ${(props) =>\n props.$isHovered &&\n css`\n ${StyledHelper}\n `}\n`;\n\nStyledToggle.displayName = \"StyledToggle\";\n","import React, { forwardRef } from \"react\";\nimport classNames from \"classnames\";\nimport {\n StyledToggle,\n StyledToggleCheckbox,\n StyledToggleSlider,\n StyledToggleSliderOff,\n StyledToggleSliderOn,\n} from \"./Styles\";\n\nexport interface IToggleProps {\n /** Set hovered state. */\n hovered?: boolean;\n /** Custom classname for styling. */\n className?: string;\n}\n\nexport const Toggle = forwardRef<\n HTMLInputElement,\n IToggleProps & Omit<React.ComponentPropsWithoutRef<\"div\">, keyof IToggleProps>\n>(({ hovered, className, ...args }, ref) => {\n return (\n <StyledToggle\n className={classNames(\"c-toggle\", className)}\n $isHovered={hovered}\n tabIndex={0}\n >\n <StyledToggleCheckbox ref={ref} type=\"checkbox\" {...args} />\n <StyledToggleSlider>\n <StyledToggleSliderOn>ON</StyledToggleSliderOn>\n <StyledToggleSliderOff>OFF</StyledToggleSliderOff>\n </StyledToggleSlider>\n </StyledToggle>\n );\n});\n\nToggle.displayName = \"Toggle\";\n","import styled, { css } from \"styled-components\";\nimport { CollapseExpandSingleIcon, CloseSmallIcon } from \"../Icons/collection\";\nimport { Input } from \"../Input\";\nimport { StyledInputWrapper } from \"../Input/Styles\";\nimport tw from \"twin.macro\";\n\nexport const StyledComboBoxInput = styled(Input)<{ $loading?: boolean }>`\n overflow: hidden;\n text-overflow: ellipsis;\n width: 100%;\n`;\n\nStyledComboBoxInput.displayName = \"StyledComboBoxInput\";\n\nconst StyledIconDefaults = css`\n flex-shrink: 0;\n cursor: pointer;\n`;\n\nexport const StyledComboBoxCollapseExpandSingleIcon = styled(\n CollapseExpandSingleIcon\n)<{ $open?: boolean }>`\n ${StyledIconDefaults};\n color: var(--color-theme-600);\n transform: rotate(180deg);\n\n ${(props) =>\n props.$open &&\n css`\n transform: rotate(0deg);\n `}\n`;\n\nStyledComboBoxCollapseExpandSingleIcon.displayName =\n \"StyledComboBoxCollapseExpandSingleIcon\";\n\nexport const StyledComboBoxCloseSmallIcon = styled(CloseSmallIcon)`\n ${StyledIconDefaults};\n opacity: 0;\n transition-property: all;\n transition-duration: 0.2s;\n transition-delay: 0.5s;\n\n ${StyledComboBoxInput}:hover, ${StyledInputWrapper}:hover & {\n opacity: 1;\n transition-delay: 0s;\n }\n`;\n\nStyledComboBoxCloseSmallIcon.displayName = \"StyledComboBoxCloseSmallIcon\";\n\nexport const StyledComboBoxList = styled.div<{ $width?: number }>`\n min-width: 260px;\n background-color: var(--page-paper-main);\n border-radius: 8px;\n border: 1px solid var(--border-primary);\n box-shadow: var(--shadow-tertiary);\n margin: 8px 0;\n width: ${(props) => `${props.$width}px`};\n`;\n\nStyledComboBoxList.displayName = \"StyledComboBoxList\";\n\nexport const StyledChipWrapper = styled.div<{\n $autoSize: string;\n $open?: boolean;\n}>`\n ${tw`tw-flex`};\n ${tw`tw-gap-1`};\n ${tw`tw-flex-1`};\n\n overflow: ${({ $open }) => ($open ? \"auto\" : \"hidden\")};\n\n ${({ $autoSize }) =>\n $autoSize === \"auto\" &&\n css`\n ${tw`tw-flex-wrap`};\n ${tw`tw-w-full`};\n `}\n\n ${({ $autoSize }) =>\n $autoSize !== \"auto\" &&\n css`\n align-items: center;\n `}\n`;\nStyledChipWrapper.displayName = \"StyledChipWrapper\";\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { CloseSmallIcon } from \"../Icons\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { Trigger } from \"../Trigger\";\nimport { FontStyle } from \"../FontStyle\";\nimport { StyledTypography } from \"../Typography/Styles\";\n\nexport const ChipContainer = styled.div<{\n $showClose?: boolean;\n $size?: string;\n $color?: string;\n $backgroundColor?: string;\n}>`\n max-width: 220px;\n ${tw`tw-h-6`}\n ${tw`tw-rounded`}\n ${tw`tw-flex`}\n ${tw`tw-items-center`}\n ${tw`tw-pl-1.5`}\n ${tw`tw-overflow-hidden`}\n\n ${FontStyle}\n ${BoxSizingStyle}\n\n // font\n ${tw`tw-text-body-2`}\n ${tw`tw-text-theme-900`}\n ${tw`tw-leading-regular`}\n ${tw`tw-tracking-regular`}\n ${tw`tw-font-regular`}\n\n // background\n ${tw`tw-bg-theme-400`}\n\n ${StyledTypography} {\n ${tw`tw-flex-1`}\n ${tw`tw-truncate`}\n }\n\n ${({ $color }) =>\n $color &&\n css`\n ${StyledTypography} {\n color: ${$color};\n }\n `}\n\n ${({ $backgroundColor }) =>\n $backgroundColor &&\n css`\n background-color: ${$backgroundColor};\n `}\n\n ${(props) =>\n props.$showClose\n ? null\n : css`\n ${tw`tw-pr-1.5`}\n `}\n\n ${(props) =>\n props.$size === \"regular\" &&\n css`\n height: 24px;\n `}\n\n ${(props) =>\n props.$size === \"small\" &&\n css`\n height: 18px;\n `}\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n height: 30px;\n `}\n`;\n\nChipContainer.displayName = \"ChipContainer\";\n\nexport const ChipLabel = styled.span`\n ${tw`tw-w-full`}\n ${tw`tw-truncate`}\n`;\n\nChipLabel.displayName = \"ChipLabel\";\n\nexport const ChipTrigger = styled(Trigger)<{ $size?: string }>`\n ${tw`tw-flex`}\n ${tw`tw-items-center`}\n ${tw`tw-justify-center`}\n ${tw`tw-ml-0.5`}\n\n\n &:hover {\n ${tw`tw-bg-theme-transparent-400`}\n }\n\n ${(props) =>\n props.$size === \"regular\" &&\n css`\n height: 24px;\n width: 24px;\n `}\n\n ${(props) =>\n props.$size === \"small\" &&\n css`\n height: 18px;\n width: 18px;\n `}\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n height: 30px;\n width: 30px;\n `}\n`;\n\nChipTrigger.displayName = \"ChipTrigger\";\n\nexport const ChipCloseIcon = styled(CloseSmallIcon)`\n ${tw`tw-text-theme-700`}\n`;\n\nChipCloseIcon.displayName = \"ChipCloseIcon\";\n","import React, { ReactNode, useMemo } from \"react\";\nimport { ChipCloseIcon, ChipContainer, ChipTrigger } from \"./Styles\";\nimport { InputSize } from \"../Input/types\";\nimport {\n Typography,\n Variant,\n ITypographyProps,\n} from \"../Typography/Typography\";\n\nexport interface ChipProps {\n label: string;\n onClose?: React.MouseEventHandler<HTMLButtonElement>;\n leftAdornment?: ReactNode;\n size?: InputSize;\n color?: string;\n backgroundColor?: string;\n closeClassName?: string;\n variant?: Variant;\n typographyProps?: ITypographyProps;\n}\n\nexport const Chip = React.forwardRef<\n HTMLDivElement,\n ChipProps & Omit<React.ComponentPropsWithoutRef<\"div\">, keyof ChipProps>\n>(\n (\n {\n leftAdornment,\n label,\n onClose,\n size = \"regular\",\n color,\n backgroundColor,\n closeClassName,\n variant,\n typographyProps,\n ...rest\n },\n ref\n ) => {\n const showClose = typeof onClose === \"function\";\n const _variant = useMemo(() => {\n if (typeof variant !== \"undefined\") {\n return variant;\n }\n switch (size) {\n case \"regular\":\n return \"Body 2\";\n case \"big\":\n return \"Body 1\";\n default:\n return \"Caption 1\";\n }\n }, [variant, size]);\n return (\n <ChipContainer\n {...rest}\n ref={ref}\n $size={size}\n $showClose={showClose}\n $color={color}\n $backgroundColor={backgroundColor}\n data-testid=\"chip-container\"\n >\n {leftAdornment}\n <Typography\n variant={_variant}\n data-testid=\"chip-typography\"\n {...typographyProps}\n >\n {label}\n </Typography>\n {showClose ? (\n <ChipTrigger\n $size={size}\n onClick={onClose}\n className={closeClassName}\n >\n <ChipCloseIcon fill={color ? color : \"currentColor\"} />\n </ChipTrigger>\n ) : null}\n </ChipContainer>\n );\n }\n);\n\nChip.displayName = \"Chip\";\n","export const ConditionalWrapper = ({ condition, wrap, children }) =>\n condition ? wrap(children) : children;\n","import React, {\n FC,\n useCallback,\n useState,\n useEffect,\n useRef,\n useMemo,\n Fragment,\n} from \"react\";\nimport { RadioButton } from \"../RadioButton\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport { IconButton } from \"../IconButton\";\nimport {\n IAutocompleteProps,\n isOptionGroup,\n} from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Popper } from \"../Popper\";\nimport { IOptionGroupProps, IOptionItemProps } from \"../Select\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { SpinnerLoader } from \"../Loaders/Spinner/SpinnerLoader\";\nimport { OptionContent } from \"../Select/OptionContent/OptionContent\";\nimport {\n StyledComboBoxCloseSmallIcon,\n StyledComboBoxCollapseExpandSingleIcon,\n StyledComboBoxInput,\n StyledComboBoxList,\n StyledChipWrapper,\n} from \"./Styles\";\nimport { InputSize } from \"../Input/types\";\nimport { InputAdornment } from \"../Input/InputAdornment\";\nimport { Checkbox } from \"../Checkbox\";\nimport { Chip } from \"../Chip\";\nimport { StyledInput, StyledInputWrapper } from \"../Input/Styles\";\nimport { useOnClickOutside } from \"../../hooks/useOnClickOutside\";\nimport { Avatar, AvatarProps } from \"../Avatar\";\nimport { Trigger } from \"../Trigger\";\nimport { Typography } from \"../Typography/Typography\";\nimport tw from \"twin.macro\";\nimport { Portal } from \"../../helpers\";\nimport { ConditionalWrapper } from \"../../helpers/ConditionWrapper/ConditionWrapper\";\nimport classNames from \"classnames\";\nimport { useIsFirstRender } from \"../../hooks/useIsFirstRender\";\nimport { MultiAvatar } from \"../MultiAvatar\";\n\nexport interface IComboBoxProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"clearInputOnSelect\"\n > {\n /** Set combobox in to loading state */\n loading?: boolean;\n /** Text to display while in loading state */\n loadingText?: string;\n /** onChange callback */\n onChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** disable Input element */\n disabled?: boolean;\n /** Combobox size */\n size?: InputSize;\n /** Invalid state */\n invalid?: boolean;\n /** Render Chip */\n renderChip?: <T extends IOptionItemProps>(\n item: T,\n key?: string | number\n ) => JSX.Element;\n /** Close menu on change */\n forceCloseMenu?: boolean;\n /** Limit chips */\n limitChips?: number;\n /** Hidden number text */\n hiddenNumberText?: (hidden: number) => string;\n /** Render Autocomplete in <Portal> */\n inPortal?: boolean;\n /** inputWrapperClassName */\n inputWrapperClassName?: string;\n /** scrollWrapper */\n scrollWrapper?: boolean;\n /** onClose (f) will be called when Popper close */\n onClose?: () => void;\n /** onClear (f) will be called when user clear input on X icon*/\n onClear?: () => void;\n}\n\nexport const ComboBox: FC<IComboBoxProps> = ({\n options = [],\n selected,\n loading = false,\n loadingText,\n onChange,\n placeholder,\n handleEmptyAction,\n disabled = false,\n size = \"regular\",\n invalid = false,\n type = \"single\",\n renderChip,\n forceCloseMenu = type === \"single\",\n renderOption,\n limitChips = 2,\n hiddenNumberText,\n inPortal = false,\n inputWrapperClassName,\n scrollWrapper,\n onClose,\n onClear,\n ...prop\n}) => {\n const selectedName = useMemo(() => {\n let value = \"\";\n if (!selected) {\n return value;\n }\n options.map((v) => {\n if ((v as IOptionGroupProps)?.options) {\n return (v as IOptionGroupProps).options.find((q) => {\n if (q.id === selected) {\n value = q.name;\n return;\n }\n });\n } else {\n if (v.id === selected) {\n value = v.name;\n return;\n }\n }\n });\n return value;\n }, [options, selected]);\n const [value, setValue] = useState(selectedName);\n const handleOnChange = useCallback((e) => setValue(e.target.value), []);\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(childNode, elementRef);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const chipWrapper = useRef<HTMLDivElement>(null);\n const comboBoxRef = useRef<HTMLDivElement | null>(null);\n\n const [open, setOpen] = useState(false);\n const isFirstRender = useIsFirstRender();\n\n useOnClickOutside(wrapperRef, (e) => {\n if (e.target && comboBoxRef.current?.contains(e.target as Node)) {\n return;\n }\n setOpen(false);\n });\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Escape\" && open) {\n setOpen(false);\n setValue(selectedName);\n e.stopPropagation();\n }\n if (e.key === \"Enter\" && type === \"multiple\") {\n setValue(\"\");\n }\n },\n [open, selectedName, type]\n );\n\n useEffect(() => {\n open && childNode?.current?.focus();\n !open && childNode?.current?.blur();\n }, [childNode, open]);\n\n useEffect(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n useEffect(() => {\n if (!open && !isFirstRender) {\n if (typeof onClose === \"function\") {\n onClose();\n }\n }\n }, [isFirstRender, onClose, open]);\n\n const emptyAction = useCallback(\n (v) => {\n handleEmptyAction?.(v);\n setOpen(false);\n },\n [handleEmptyAction]\n );\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (selectedValue !== selected && typeof onChange === \"function\") {\n onChange(selectedValue);\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n },\n [forceCloseMenu, onChange, selected]\n );\n\n const onOpen = useCallback(() => {\n if (!disabled) {\n setOpen(true);\n }\n }, [disabled]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n if (type === \"multiple\") {\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <Checkbox {...props} />\n </>\n );\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <RadioButton {...props} />\n </>\n );\n },\n [type, renderOption]\n );\n\n const handleDeselect = useCallback(\n (e) => {\n e.stopPropagation();\n if (type === \"multiple\") {\n onChange?.([]);\n onClear?.();\n } else {\n onChange?.(\"\");\n onClear?.();\n }\n\n setOpen(false);\n },\n [type, onChange, onClear]\n );\n\n const handleMouseDown = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const handleBlur = useCallback(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n const renderChipAdornment = useCallback(\n (option, index) => {\n if (typeof renderChip === \"function\") {\n return renderChip(option, index);\n }\n const avatarProps: Partial<AvatarProps> = {\n size: 18,\n };\n switch (size) {\n case \"big\":\n avatarProps.size = 22;\n break;\n case \"small\":\n avatarProps.size = 14;\n break;\n }\n const leftAdornment = option.image ? (\n <Avatar\n css={`\n ${tw`tw-my-0.5`}\n ${tw`tw-mr-0.5`}\n `}\n url={option.image}\n {...avatarProps}\n />\n ) : undefined;\n\n const onClose = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (Array.isArray(selected) && selected.includes(option.id)) {\n if (typeof onChange === \"function\") {\n const newSelected = selected.filter((item) => item !== option.id);\n onChange(newSelected);\n }\n }\n };\n\n let showOnClose = true;\n if (disabled) {\n showOnClose = false;\n }\n if (option.color) {\n showOnClose = false;\n }\n\n return (\n <Chip\n className=\"c-combo-box-chip\"\n leftAdornment={leftAdornment}\n label={option.name}\n key={index}\n backgroundColor={option.color}\n color=\"#303037\"\n onClose={showOnClose ? onClose : undefined}\n size={size}\n variant=\"Caption 2\"\n />\n );\n },\n [disabled, onChange, renderChip, selected, size]\n );\n\n const autoSize = useMemo(() => {\n if (\n type === \"multiple\" &&\n open &&\n Array.isArray(selected) &&\n selected.length > 1\n ) {\n return \"auto\";\n }\n return size;\n }, [open, selected, size, type]);\n\n const startAdornment = useMemo(() => {\n if (type === \"multiple\" && Array.isArray(selected) && selected.length > 0) {\n const elements: JSX.Element[] = [];\n let total = 0;\n options.forEach((option, index) => {\n const isGrouped = isOptionGroup(option);\n if (selected.includes(option.id) && !isGrouped) {\n total = total + 1;\n elements.push(renderChipAdornment(option, index));\n } else if (isGrouped) {\n const groupedOptions = option.options.filter((o) =>\n selected.includes(o.id)\n );\n total = total + groupedOptions.length;\n if (groupedOptions.length > 0) {\n groupedOptions.forEach((o, _index) => {\n elements.push(renderChipAdornment(o, `${index}_${_index}`));\n });\n }\n }\n });\n let hidden = 0;\n if (!open && limitChips > 0 && elements.length > limitChips) {\n hidden = elements.splice(\n limitChips,\n elements.length - limitChips\n ).length;\n }\n\n return (\n <Fragment>\n {elements}\n {hidden > 0 && (\n <Typography\n variant={\n size === \"small\"\n ? \"Caption 1\"\n : size === \"regular\"\n ? \"Body 2\"\n : \"Body 1\"\n }\n css={`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n `}\n >\n {typeof hiddenNumberText === \"function\"\n ? hiddenNumberText(hidden)\n : `+${hidden}`}\n </Typography>\n )}\n </Fragment>\n );\n }\n if (type === \"single\" && selected) {\n let optionItem;\n options.forEach((option) => {\n if (isOptionGroup(option)) {\n optionItem = option.options.find((child) => child.id === selected);\n } else if (!optionItem && option.id === selected) {\n optionItem = option;\n }\n });\n if (optionItem && optionItem.image) {\n const avatarSize = size === \"big\" ? 22 : size === \"regular\" ? 18 : 14;\n if (Array.isArray(optionItem.image)) {\n return <MultiAvatar url={optionItem.image} size={avatarSize} />;\n }\n return <Avatar url={optionItem.image} size={avatarSize} />;\n }\n }\n\n return undefined;\n }, [\n type,\n selected,\n options,\n open,\n limitChips,\n hiddenNumberText,\n renderChipAdornment,\n size,\n ]);\n\n const showXIcon =\n Array.isArray(selected) && type === \"multiple\" && selected.length > 0;\n\n const hasSelected =\n type === \"multiple\" && Array.isArray(selected) && selected.length > 0;\n\n return (\n <div className=\"c-combo-box\">\n {type === \"multiple\" ? (\n <>\n <StyledInputWrapper\n $disabled={disabled}\n $size={size}\n $invalid={invalid}\n ref={comboBoxRef}\n css={`\n display: flex;\n justify-content: space-between;\n flex: 1;\n height: ${autoSize === \"auto\" ? \"auto\" : undefined};\n overflow-y: ${autoSize === \"auto\" && scrollWrapper\n ? \"scroll\"\n : undefined};\n max-height: ${autoSize === \"auto\" && scrollWrapper\n ? \"80px\"\n : undefined};\n `}\n className={classNames(\n \"c-combo-box-input-wrapper\",\n inputWrapperClassName\n )}\n onClick={() => {\n elementRef.current?.focus();\n }}\n >\n <StyledChipWrapper\n $autoSize={autoSize}\n $open={open}\n ref={chipWrapper}\n >\n {startAdornment}\n <StyledInput\n className=\"c-combo-box-input\"\n onBlur={handleBlur}\n onFocus={onOpen}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={!hasSelected ? placeholder : undefined}\n disabled={disabled}\n $size={size}\n $loading={loading}\n style={{\n display: \"flex\",\n flex: 1,\n alignSelf: \"center\",\n width: autoSize === \"auto\" ? \"auto\" : \"100%\",\n }}\n />\n </StyledChipWrapper>\n {!disabled && (\n <>\n {loading ? (\n <SpinnerLoader />\n ) : (\n <>\n {showXIcon && (\n <Trigger\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n data-testid=\"deselect-all\"\n css={`\n display: flex;\n justify-content: center;\n `}\n >\n <StyledComboBoxCloseSmallIcon />\n </Trigger>\n )}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </>\n )}\n </>\n )}\n </StyledInputWrapper>\n </>\n ) : (\n <StyledComboBoxInput\n className={classNames(\"c-combo-box-input\", inputWrapperClassName)}\n onBlur={handleBlur}\n onFocus={onOpen}\n wrapRef={comboBoxRef}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={placeholder}\n disabled={disabled}\n size={size}\n invalid={invalid}\n $loading={loading}\n startAdornment={startAdornment}\n endAdornment={\n !disabled ? (\n <InputAdornment disablePointerEvents={disabled}>\n {loading ? (\n <SpinnerLoader />\n ) : selected ? (\n <IconButton\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n >\n <StyledComboBoxCloseSmallIcon />\n </IconButton>\n ) : null}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </InputAdornment>\n ) : null\n }\n />\n )}\n\n {!disabled ? (\n <ConditionalWrapper\n condition={inPortal}\n wrap={(children) => <Portal>{children}</Portal>}\n >\n <Popper\n anchorEl={comboBoxRef.current}\n open={open}\n placement=\"bottom\"\n style={{\n zIndex: 10,\n width: comboBoxRef.current?.clientWidth,\n }}\n ref={wrapperRef}\n strategy=\"fixed\"\n >\n <RemoveScroll noIsolation allowPinchZoom>\n <StyledComboBoxList $width={comboBoxRef.current?.clientWidth}>\n <Autocomplete\n {...prop}\n inputEl={childNode}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n type={type}\n handleEmptyAction={emptyAction}\n />\n </StyledComboBoxList>\n </RemoveScroll>\n </Popper>\n </ConditionalWrapper>\n ) : null}\n </div>\n );\n};\n\nComboBox.displayName = \"ComboBox\";\n","import { useRef } from \"react\";\n\nexport const useIsFirstRender = () => {\n const isFirst = useRef(true);\n if (isFirst.current) {\n isFirst.current = false;\n\n return true;\n }\n\n return isFirst.current;\n};\n","import { RefObject, useEffect } from \"react\";\n\nexport function useOnClickOutside<T extends HTMLElement>(\n ref: RefObject<T>,\n handler: (e: MouseEvent) => void\n) {\n useEffect(\n () => {\n const listener = (event) => {\n // Do nothing if clicking ref's element or descendent elements\n if (!ref.current || ref.current.contains(event.target)) {\n return;\n }\n handler(event);\n };\n document.addEventListener(\"mousedown\", listener);\n document.addEventListener(\"touchstart\", listener);\n return () => {\n document.removeEventListener(\"mousedown\", listener);\n document.removeEventListener(\"touchstart\", listener);\n };\n },\n // Add ref and handler to effect dependencies\n // It's worth noting that because passed in handler is a new ...\n // ... function on every render that will cause this effect ...\n // ... callback/cleanup to run every render. It's not a big deal ...\n // ... but to optimize you can wrap handler in useCallback before ...\n // ... passing it into this hook.\n [ref, handler]\n );\n}\n","import styled from \"styled-components\";\nimport { Body2 } from \"../../Typography\";\nimport { AddCrossIcon } from \"../../Icons/collection\";\n\nexport const StyledText = styled(Body2)`\n transition: ease 0.3s all;\n color: var(--color-primary);\n position: relative;\n`;\n\nStyledText.displayName = \"StyledText\";\n\nexport const StyledAddCrossIcon = styled(AddCrossIcon)`\n fill: var(--page-paper-main);\n background: var(--color-primary);\n border-radius: 30px;\n padding: 7px;\n box-sizing: content-box;\n`;\nStyledAddCrossIcon.displayName = \"StyledAddCrossIcon\";\n\nexport const StyledAddToListButton = styled(\"button\")`\n display: flex;\n justify-content: center;\n gap: 12px;\n align-items: center;\n height: 32px;\n padding: 4px 16px 4px 4px;\n position: relative;\n background: none;\n border: none;\n cursor: pointer;\n\n &:before {\n content: \"\";\n display: block;\n height: 2px;\n width: 0%;\n position: absolute;\n left: 16px;\n background: var(--color-primary);\n transition: ease 0.3s all;\n border-radius: 30px;\n opacity: 0;\n }\n\n &:hover {\n ${StyledText} {\n color: var(--page-paper-main);\n }\n\n &:before {\n height: 32px;\n width: 100%;\n left: 0;\n opacity: 1;\n }\n\n ${StyledAddCrossIcon} {\n fill: var(--page-paper-main);\n transform: rotate(90deg);\n transition: ease 0.3s;\n }\n }\n`;\n\nStyledAddToListButton.displayName = \"StyledAddToListButton\";\n","import React, { forwardRef, ButtonHTMLAttributes } from \"react\";\nimport classnames from \"classnames\";\nimport {\n StyledAddCrossIcon,\n StyledAddToListButton,\n StyledText,\n} from \"./Styles\";\n\nexport interface IAddToListButton\n extends ButtonHTMLAttributes<HTMLButtonElement> {\n /** Text to display */\n text: string;\n /** CSS classes */\n className?: string;\n}\n\nexport const AddToListButton = forwardRef<HTMLButtonElement, IAddToListButton>(\n ({ text, className, ...rest }, ref) => {\n return (\n <StyledAddToListButton\n ref={ref}\n className={classnames(\"c--add-to-list-btn\", className)}\n {...rest}\n >\n <StyledAddCrossIcon />\n <StyledText weight=\"medium\">{text}</StyledText>\n </StyledAddToListButton>\n );\n }\n);\n\nAddToListButton.displayName = \"AddToListButton\";\n","import styled, { css } from \"styled-components\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\n\ninterface IStyledProgressBar {\n $color?: string;\n $height?: number;\n $width?: number;\n}\n\nexport const StyledProgressBar = styled.div<IStyledProgressBar>`\n ${BoxSizingStyle}\n\n ${(props) =>\n props.$width\n ? css`\n width: ${props.$width}%;\n `\n : css`\n width: 100%;\n `}\n\n ${(props) =>\n props.$color\n ? css`\n background-color: ${props.$color};\n `\n : css`\n background-color: var(--color-theme-300);\n `}\n`;\n\nStyledProgressBar.displayName = \"StyledProgressBar\";\n\nexport const StyledProgressBarProgress = styled.div<IStyledProgressBar>`\n ${(props) =>\n props.$height\n ? css`\n height: ${props.$height}px;\n `\n : css`\n height: 3px;\n `}\n\n ${(props) =>\n props.$color\n ? css`\n background-color: ${props.$color};\n `\n : css`\n background-color: var(--color-secondary);\n `}\n`;\n\nStyledProgressBarProgress.displayName = \"StyledProgressBarProgress\";\n","import React, { FC, useMemo } from \"react\";\nimport { StyledProgressBar, StyledProgressBarProgress } from \"./Styles\";\n\nexport interface IProgressBarProps {\n /** Progress prop can be number. */\n progress: number;\n /** Custom classname for styling. */\n backgroundColor?: string;\n /** Custom classname for styling. */\n progressColor?: string;\n /** Progress height. */\n stroke?: number;\n /** Progress width in percentage. */\n width?: number;\n}\n\nexport const ProgressBar: FC<IProgressBarProps> = ({\n progress = 0,\n backgroundColor,\n progressColor,\n stroke = 3,\n width = 100,\n}) => {\n const progressNumber = useMemo(() => {\n let width = progress;\n if (progress > 100) {\n width = 100;\n }\n if (progress < 0) {\n width = 0;\n }\n return width;\n }, [progress]);\n\n const widthPercent = useMemo(() => {\n let width_percent = width;\n\n if (width > 100) {\n width_percent = 100;\n }\n\n if (width <= 0) {\n width_percent = 100;\n }\n\n return width_percent;\n }, [width]);\n\n const height = useMemo(() => {\n let stroke_min = stroke;\n\n if (stroke <= 0) {\n stroke_min = 3;\n }\n\n return stroke_min;\n }, [stroke]);\n\n return (\n <StyledProgressBar\n className=\"c-progress-bar\"\n $color={backgroundColor}\n $width={widthPercent}\n >\n <StyledProgressBarProgress\n className=\"c-progress-bar__progress\"\n style={{ width: `${progressNumber}%` }}\n $height={height}\n $color={progressColor}\n />\n </StyledProgressBar>\n );\n};\n\nProgressBar.displayName = \"ProgressBar\";\n","import styled, { css } from \"styled-components\";\n\ninterface IStyledProgressRing {\n $color?: string;\n $strokeDashOffset?: number;\n $fontSize?: number;\n}\n\nexport const StyledSvg = styled.svg`\n transform: rotate(-90deg);\n`;\n\nStyledSvg.displayName = \"StyledSvg\";\n\nexport const StyledBackgroundCircle = styled.circle<IStyledProgressRing>`\n fill: transparent;\n transition: stroke-dashoffset 0.5s linear;\n\n ${(props) =>\n props.$color\n ? css`\n stroke: ${props.$color};\n `\n : css`\n stroke: var(--color-theme-transparent-300);\n `}\n\n ${(props) =>\n props.$strokeDashOffset &&\n css`\n stroke-dashoffset: ${props.$strokeDashOffset};\n `}\n`;\n\nStyledBackgroundCircle.displayName = \"StyledBackgroundCircle\";\n\nexport const StyledForegroundCircle = styled.circle<IStyledProgressRing>`\n fill: transparent;\n transition: stroke-dashoffset 0.5s linear;\n\n ${(props) =>\n props.$color\n ? css`\n stroke: ${props.$color};\n `\n : css`\n stroke: var(--color-secondary);\n `}\n\n ${(props) =>\n props.$strokeDashOffset &&\n css`\n stroke-dashoffset: ${props.$strokeDashOffset};\n `}\n`;\n\nStyledForegroundCircle.displayName = \"StyledForegroundCircle\";\n\nexport const StyledProgressRingPercentage = styled.text<IStyledProgressRing>`\n transform: rotate(90deg);\n\n ${(props) =>\n props.$color\n ? css`\n fill: ${props.$color};\n `\n : css`\n fill: var(--color-secondary);\n `}\n\n ${(props) =>\n props.$fontSize\n ? css`\n font-size: ${props.$fontSize}px;\n `\n : css`\n font-size: 10px;\n `}\n`;\n\nStyledProgressRingPercentage.displayName = \"StyledProgressRingPercentage\";\n","import React, { useMemo } from \"react\";\nimport {\n StyledBackgroundCircle,\n StyledForegroundCircle,\n StyledSvg,\n StyledProgressRingPercentage,\n} from \"./Styles\";\nimport classNames from \"classnames\";\n\nexport interface ProgressRingProps {\n /** Progress prop can be number. */\n progress?: number;\n /** Custom classname for styling. */\n backgroundColor?: string;\n /** Custom classname for styling. */\n progressColor?: string;\n /** Custom classname for styling. */\n radius?: number;\n /** Custom classname for styling. */\n stroke?: number;\n /** Applies passed classes */\n className?: string;\n /** Should the percentage be displayed inside ring or not */\n showPercentage?: boolean;\n /** Size of displayed percentage */\n fontSize?: number;\n}\n\nexport const ProgressRing = ({\n backgroundColor,\n progressColor,\n progress = 0,\n radius = 20,\n stroke = 3,\n className,\n showPercentage = false,\n fontSize,\n}: ProgressRingProps) => {\n if (stroke > radius) {\n console.warn(\"Stroke can not have value greater than the radius.\");\n stroke = radius;\n }\n const progressNumber = useMemo(() => {\n let width = progress;\n if (progress > 100) {\n width = 100;\n }\n if (progress < 0) {\n width = 0;\n }\n return width;\n }, [progress]);\n\n const normalizedRadius = useMemo(() => radius - stroke / 2, [radius, stroke]);\n const circumference = useMemo(\n () => normalizedRadius * 2 * Math.PI,\n [normalizedRadius]\n );\n const strokeDashoffsetOuter = useMemo(\n () => circumference - ((100 - progressNumber) / 100) * circumference,\n [circumference, progressNumber]\n );\n const strokeDashoffsetInner = useMemo(\n () => circumference - (progressNumber / 100) * circumference,\n [circumference, progressNumber]\n );\n\n return (\n <StyledSvg\n height={radius * 2}\n width={radius * 2}\n className={classNames(className)}\n >\n <StyledBackgroundCircle\n $color={backgroundColor}\n $strokeDashOffset={-strokeDashoffsetOuter}\n strokeWidth={stroke}\n strokeDasharray={`${circumference} ${circumference}`}\n r={normalizedRadius}\n cx={radius}\n cy={radius}\n />\n <StyledForegroundCircle\n $color={progressColor}\n $strokeDashOffset={strokeDashoffsetInner}\n strokeWidth={stroke}\n strokeDasharray={`${circumference} ${circumference}`}\n r={normalizedRadius}\n cx={radius}\n cy={radius}\n />\n {showPercentage ? (\n <StyledProgressRingPercentage\n $color={progressColor}\n $fontSize={fontSize}\n x=\"50%\"\n y=\"-50%\"\n dominantBaseline=\"central\"\n textAnchor=\"middle\"\n >\n {progressNumber}%\n </StyledProgressRingPercentage>\n ) : null}\n </StyledSvg>\n );\n};\n\nProgressRing.displayName = \"ProgressRing\";\n","import React from \"react\";\nimport { ProgressRing, ProgressRingProps } from \"../ProgressRing\";\n\nexport const ProgressPie = ({\n radius = 20,\n ...rest\n}: Omit<ProgressRingProps, \"stroke\" | \"fontSize\" | \"showPercentage\">) => {\n return <ProgressRing {...rest} stroke={radius} radius={radius} />;\n};\n\nProgressPie.displayName = \"ProgressPie\";\n","import React from \"react\";\nconst ApplauseIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width=\"14\"\n height=\"14\"\n xmlns=\"http://www.w3.org/2000/svg\"\n ref={svgRef}\n {...props}\n >\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M8.247 7.533 4.746 4.49s-.94-.783-1.826.167c-.197.21-.288.435-.339.63-.12.461.073.948.446 1.244l3.61 2.859-2.488-1.973s-.647-.51-1.325.171c-.55.552-.747 1.206.266 2.073l3.58 3.007s3.844 2.701 6.374-.832c1.36-1.901.122-1.806.451-6.802 0 0-.01-1.13-1.223-1.13s-1.035 2.823-1.035 2.823L6.792 3.153s-.916-.743-1.6 0c-.845.917.09 1.772.09 1.772l2.965 2.608Z\"\n stroke=\"#000\"\n strokeWidth=\".677\"\n fill=\"#FFD60B\"\n />\n <path\n d=\"M6.215 5.817 2.714 2.775s-.94-.783-1.826.167c-.197.21-.288.434-.34.63-.12.461.074.948.447 1.243l3.61 2.86-2.489-1.973s-.647-.51-1.324.171c-.55.552-.747 1.206.266 2.073l3.579 3.007s3.844 2.701 6.374-.832c1.362-1.901.123-1.806.452-6.802 0 0-.01-1.13-1.223-1.13-1.214 0-1.035 2.823-1.035 2.823L4.76 1.437s-.916-.743-1.6 0c-.845.917.09 1.772.09 1.772l2.965 2.608Z\"\n fill=\"#975F00\"\n />\n <path\n d=\"M8.247 7.533 4.746 4.49s-.94-.783-1.826.167c-.197.21-.288.435-.339.63-.12.461.073.948.446 1.244l3.61 2.859-2.488-1.973s-.647-.51-1.325.171c-.55.552-.747 1.206.266 2.073l3.58 3.007s3.844 2.701 6.374-.832c1.36-1.901.122-1.806.451-6.802 0 0-.01-1.13-1.223-1.13s-1.035 2.823-1.035 2.823L6.792 3.153s-.916-.743-1.6 0c-.845.917.09 1.772.09 1.772l2.965 2.608Z\"\n stroke=\"#975F00\"\n strokeWidth=\".677\"\n fill=\"#FFD60B\"\n />\n <path\n stroke=\"#29ABE2\"\n strokeWidth=\".677\"\n strokeLinecap=\"round\"\n d=\"M10.387.339v.79M11.9 1.59 12.938.555M8.873 1.591 7.836.554\"\n />\n </g>\n </svg>\n )\n);\nApplauseIcon.displayName = \"ApplauseIcon\";\nexport default ApplauseIcon;\n","import React from \"react\";\nconst HeartIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width=\"14\"\n height=\"14\"\n xmlns=\"http://www.w3.org/2000/svg\"\n ref={svgRef}\n {...props}\n >\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M10.274 0a3.726 3.726 0 0 1 3.047 5.871h.002L7 14 .677 5.871A3.726 3.726 0 1 1 7 1.947 3.724 3.724 0 0 1 10.274 0Z\"\n fill=\"#ED1C24\"\n />\n <path\n d=\"M3.726 1.355c.363 0 .708.082 1.015.228A3.274 3.274 0 0 0 1.583 4.74a2.371 2.371 0 0 1 2.143-3.386Z\"\n fill=\"#FFF\"\n />\n <path\n d=\"M10.274 0a3.726 3.726 0 0 1 3.047 5.871h.002L7 14 .677 5.871.67 5.86l-.012-.02-.005-.013c-.003-.01.001-.013.01-.011l.015.005a.18.18 0 0 1 .01.004l.036.021.05.033.085.062.108.084.168.133.248.204.41.346.571.49.367.317.84.735L4.989 9.5l1.308 1.163.652.581 4.666-6A3.185 3.185 0 0 0 9.08.227h-.085C9.393.08 9.824 0 10.274 0Z\"\n fill=\"#C1272D\"\n />\n <path\n d=\"M10.274.339c.936 0 1.782.379 2.395.992s.992 1.46.992 2.395c0 .723-.226 1.393-.612 1.943L7 13.45.95 5.668a3.382 3.382 0 0 1-.611-1.943c0-.936.379-1.782.992-2.395A3.376 3.376 0 0 1 3.726.339a3.37 3.37 0 0 1 1.728.473A3.405 3.405 0 0 1 7 2.853 3.396 3.396 0 0 1 8.546.812a3.37 3.37 0 0 1 1.728-.473Z\"\n stroke=\"#650408\"\n strokeWidth=\".677\"\n />\n </g>\n </svg>\n )\n);\nHeartIcon.displayName = \"HeartIcon\";\nexport default HeartIcon;\n","import React from \"react\";\nconst PartyIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width=\"14\"\n height=\"14\"\n xmlns=\"http://www.w3.org/2000/svg\"\n ref={svgRef}\n {...props}\n >\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M6.774 3.048s.903-2.71-2.71-2.71\"\n stroke=\"#ED1C24\"\n strokeWidth=\".645\"\n />\n <path\n d=\"M10.952 6.875s2.71-.904 2.71 2.71\"\n stroke=\"#00A4FF\"\n strokeWidth=\".645\"\n />\n <path\n d=\"M9.71 3.839s1.806.903 1.806-.904c0-.903.903-.903.903-.903s1.807 0 .904-1.806\"\n stroke=\"#ED1C24\"\n strokeWidth=\".645\"\n />\n <path\n d=\"M2.935 2.484a.678.678 0 1 1 .001-1.355.678.678 0 0 1 0 1.355M13.554 4.8l-.451.238-.06.507-.366-.356-.5.099.225-.457-.249-.445.505.072.346-.374.087.503z\"\n fill=\"#BF0FCE\"\n />\n <path\n fill=\"#00A4FF\"\n d=\"m9.058.36-.301.442.194.498-.513-.149-.414.339-.017-.535-.45-.289.503-.181.136-.517.328.422z\"\n />\n <path\n d=\"M11.95 10.04s.412.935 1.807 1.807\"\n stroke=\"#ED1C24\"\n strokeWidth=\".645\"\n />\n <path\n d=\"M9.422 2.705S9.556 1.26 10.96.909M10.417 13.02s.487-.946 1.616-.355\"\n stroke=\"#00A4FF\"\n strokeWidth=\".645\"\n />\n <g transform=\"rotate(45 .483 7.493)\">\n <path fill=\"#FFD60B\" d=\"M0 1.806h9.484L4.742 12.419z\" />\n <path\n d=\"M8.806 1.806 4.742 12.42l-.773-2.017L7.26 1.806h1.546Z\"\n fill=\"#FFB000\"\n />\n <path\n d=\"m8.962 2.145-4.22 9.444-4.22-9.444h8.44Z\"\n stroke=\"#975F00\"\n strokeWidth=\".677\"\n />\n <ellipse\n stroke=\"#975F00\"\n strokeWidth=\".677\"\n fill=\"#FFF\"\n cx=\"4.742\"\n cy=\"1.581\"\n rx=\"4.403\"\n ry=\"1.242\"\n />\n </g>\n </g>\n </svg>\n )\n);\nPartyIcon.displayName = \"PartyIcon\";\nexport default PartyIcon;\n","import React from \"react\";\nconst SmileIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width=\"14\"\n height=\"14\"\n xmlns=\"http://www.w3.org/2000/svg\"\n ref={svgRef}\n {...props}\n >\n <g fill=\"none\" fillRule=\"evenodd\">\n <circle fill=\"#FFD60B\" cx=\"7\" cy=\"7\" r=\"7\" />\n <path\n d=\"M7 0A7 7 0 1 1 .008 6.653 6.323 6.323 0 1 0 6.653.008C6.768.003 6.883 0 7 0Z\"\n fill=\"#FFB000\"\n />\n <path\n d=\"M7 0a6.989 6.989 0 0 1 5.58 2.774 7 7 0 0 0-9.807 9.807A7 7 0 0 1 7 0Z\"\n fill=\"#FFEB97\"\n />\n <circle stroke=\"#975F00\" strokeWidth=\".677\" cx=\"7\" cy=\"7\" r=\"6.661\" />\n <path d=\"M11.853 7.226a4.29 4.29 0 0 1-8.577 0h8.577Z\" fill=\"#FFF\" />\n <path\n d=\"M11.19 7.75a3.92 3.92 0 0 1-3.69 3.5 3.92 3.92 0 0 1-3.69-3.5h7.38M12 7H3a4.77 4.77 0 0 0 4.5 5A4.77 4.77 0 0 0 12 7Z\"\n fill=\"#975F00\"\n fillRule=\"nonzero\"\n />\n <rect\n fill=\"#000\"\n fillRule=\"nonzero\"\n x=\"5\"\n y=\"4\"\n width=\"2\"\n height=\"2\"\n rx=\"1\"\n />\n <rect\n fill=\"#000\"\n fillRule=\"nonzero\"\n x=\"9\"\n y=\"4\"\n width=\"2\"\n height=\"2\"\n rx=\"1\"\n />\n </g>\n </svg>\n )\n);\nSmileIcon.displayName = \"SmileIcon\";\nexport default SmileIcon;\n","import React from \"react\";\nconst ThinkingIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width=\"14\"\n height=\"14\"\n xmlns=\"http://www.w3.org/2000/svg\"\n ref={svgRef}\n {...props}\n >\n <g fill=\"none\" fillRule=\"evenodd\">\n <circle fill=\"#FFD60B\" cx=\"7\" cy=\"7\" r=\"7\" />\n <rect\n fill=\"#000\"\n fillRule=\"nonzero\"\n x=\"6\"\n y=\"4\"\n width=\"2\"\n height=\"2\"\n rx=\"1\"\n />\n <rect\n fill=\"#000\"\n fillRule=\"nonzero\"\n x=\"10\"\n y=\"5\"\n width=\"2\"\n height=\"2\"\n rx=\"1\"\n />\n <path\n d=\"M7 0A7 7 0 1 1 .008 6.653 6.323 6.323 0 1 0 6.653.008C6.768.003 6.883 0 7 0Z\"\n fill=\"#FFB000\"\n />\n <path\n d=\"M7 0a6.989 6.989 0 0 1 5.58 2.774 7 7 0 0 0-9.807 9.807A7 7 0 0 1 7 0Z\"\n fill=\"#FFEB97\"\n />\n <circle stroke=\"#975F00\" strokeWidth=\".677\" cx=\"7\" cy=\"7\" r=\"6.661\" />\n <path fill=\"#FFF\" d=\"M2 14V7h2.968v2.258H10v2.484H7.687V14z\" />\n <path fill=\"#CCC\" d=\"M2 12h5.113v2H2z\" />\n <path\n d=\"M4.593 7.375v2.258h5.032v1.734h-2.21v2.258h-5.04v-6.25h2.218Z\"\n stroke=\"#5A3900\"\n strokeWidth=\".75\"\n />\n <path d=\"M6.206 7.71s3.326-.847 4.657.847\" stroke=\"#000\" />\n <path fill=\"#000\" fillRule=\"nonzero\" d=\"M10 3h2v1h-2zM6 2h2v1H6z\" />\n </g>\n </svg>\n )\n);\nThinkingIcon.displayName = \"ThinkingIcon\";\nexport default ThinkingIcon;\n","import React from \"react\";\nconst ThumbsUpIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width=\"14\"\n height=\"14\"\n xmlns=\"http://www.w3.org/2000/svg\"\n ref={svgRef}\n {...props}\n >\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M7 2.71C7 4.477 5.308 4.866 4.516 5.87c-.487.62-.677 1.806-.677 1.806v5.194C5.182 13.341 6.096 14 8.806 14c2.164-.021 2.54-.045 3.388-.903.903-.903 1.806-4.39 1.806-6.323 0-.15-.04-.322-.08-.514-.198-.934-1.401-1.129-2.404-1.129-.718 0-1.401.11-1.423.11-.214 0-.315-.299-.226-.527.266-.684.294-1.755.294-2.908C10.161 0 8.581 0 8.581 0S7 0 7 2.71Z\"\n fill=\"#FFD60B\"\n />\n <path\n d=\"m4.122 12.763 1.516.785 2.565.34h1.985l1.61-.822 1.469-4.105V7.484c-.558 2.76-1.498 4.33-2.818 4.71-1.32.38-3.408.145-6.265-.702l-.062 1.271Z\"\n fill=\"#FFB000\"\n />\n <path\n d=\"m4.516 6.473 1.659-1.416.967-1.495.365-2.419L8.695.341l1.088.525-.14 1.328c-.231-.748-.577-1.001-1.037-.759-.69.364.198 3.188-1.653 4.131-1.851.943-2.83 3.42-2.83 4.836V7.398l.393-.925Z\"\n fill=\"#FFEB97\"\n />\n <path\n d=\"M8.57.34c.155.007.614.055.932.425.19.22.32.553.32 1.041 0 1.103-.015 2.13-.27 2.785.518.815 1.092.876 1.713.88h.251c.518 0 1.098.049 1.534.254.256.12.462.297.532.579.069 2.345-.761 5.687-1.63 6.555-.787.797-1.156.783-3.146.802-1.968 0-2.958-.358-3.878-.73a37.501 37.501 0 0 0-.75-.297v-4.93c.028-.168.2-1.11.605-1.624.241-.306.576-.548.912-.797.83-.613 1.644-1.26 1.644-2.573 0-.815.148-1.364.36-1.73.31-.539.758-.63.87-.64Z\"\n stroke=\"#975F00\"\n strokeWidth=\".677\"\n />\n <rect\n stroke=\"#975F00\"\n strokeWidth=\".677\"\n fill=\"#FFF\"\n x=\".339\"\n y=\"6.339\"\n width=\"3.839\"\n height=\"7.323\"\n rx=\"1.129\"\n />\n <path\n d=\"M.677 11.516c0 .25.203.452.452.452h2.258c.25 0 .452-.202.452-.452v1.355c0 .25-.202.452-.452.452H1.13a.452.452 0 0 1-.452-.452Z\"\n fill=\"#CCC\"\n />\n </g>\n </svg>\n )\n);\nThumbsUpIcon.displayName = \"ThumbsUpIcon\";\nexport default ThumbsUpIcon;\n","import React from \"react\";\nconst ThumbsDownIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width=\"14\"\n height=\"14\"\n xmlns=\"http://www.w3.org/2000/svg\"\n ref={svgRef}\n {...props}\n >\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M7 11.29C7 9.523 8.692 9.134 9.484 8.13c.487-.62.677-1.806.677-1.806V1.129C8.818.659 7.904 0 5.194 0 3.03.021 2.654.045 1.806.903.903 1.806 0 5.293 0 7.226c0 .15.04.322.08.514.198.934 1.401 1.129 2.404 1.129.718 0 1.401-.11 1.423-.11.214 0 .315.299.226.527-.266.684-.294 1.755-.294 2.908C3.839 14 5.419 14 5.419 14S7 14 7 11.29Z\"\n fill=\"#FFD60B\"\n />\n <path\n d=\"M9.878 1.237 8.362.452 5.797.112H3.812l-1.61.822L.733 5.04v1.477c.558-2.76 1.498-4.33 2.818-4.71 1.32-.38 3.408-.145 6.265.702l.062-1.271Z\"\n fill=\"#FFB000\"\n />\n <path\n d=\"M9.484 7.527 7.825 8.943l-.967 1.495-.365 2.419-1.188.802-1.088-.525.14-1.328c.231.748.577 1.001 1.037.759.69-.364-.198-3.188 1.653-4.131 1.851-.943 2.83-3.42 2.83-4.836v3.004l-.393.925Z\"\n fill=\"#FFEB97\"\n />\n <path\n d=\"M5.43 13.66c-.155-.007-.614-.055-.932-.425-.19-.22-.32-.553-.32-1.041 0-1.103.015-2.13.27-2.785-.518-.815-1.092-.876-1.713-.88h-.251c-.518 0-1.098-.049-1.534-.254-.256-.12-.462-.297-.532-.579-.069-2.345.761-5.687 1.63-6.555C2.834.344 3.203.358 5.193.34c2.083 0 3.072.401 4.04.795.195.079.388.157.589.232v4.93c-.029.168-.202 1.11-.606 1.624-.213.27-.499.49-.794.71-1.074.8-1.762 1.446-1.762 2.66 0 .815-.148 1.364-.36 1.73-.31.539-.758.63-.87.64Z\"\n stroke=\"#975F00\"\n strokeWidth=\".677\"\n />\n <rect\n stroke=\"#975F00\"\n strokeWidth=\".677\"\n fill=\"#FFF\"\n transform=\"rotate(180 11.742 4)\"\n x=\"9.823\"\n y=\".339\"\n width=\"3.839\"\n height=\"7.323\"\n rx=\"1.129\"\n />\n <path\n d=\"M13.323 2.484a.452.452 0 0 0-.452-.452h-2.258a.452.452 0 0 0-.452.452V1.129c0-.25.202-.452.452-.452h2.258c.25 0 .452.203.452.452Z\"\n fill=\"#CCC\"\n />\n </g>\n </svg>\n )\n);\nThumbsDownIcon.displayName = \"ThumbsDownIcon\";\nexport default ThumbsDownIcon;\n","import classNames from \"classnames\";\nimport React, { forwardRef } from \"react\";\nimport { ITypographyProps, Typography } from \"../Typography/Typography\";\n\nexport interface ILabelProps {\n invalid?: boolean;\n required?: boolean;\n size?: \"regular\" | \"small\";\n}\n\nexport const Label = forwardRef<\n HTMLLabelElement,\n ILabelProps & Omit<ITypographyProps, keyof ILabelProps | \"variant\" | \"color\">\n>(\n (\n {\n invalid = false,\n required = false,\n size = \"regular\",\n children,\n className,\n weight = \"bold\",\n ...props\n },\n ref\n ) => {\n const color = invalid ? \"alert\" : \"primary\";\n const variant = size === \"regular\" ? \"Body 2\" : \"Caption 1\";\n\n return (\n <Typography\n as=\"label\"\n className={classNames(\"c-label\", className)}\n variant={variant}\n color={color}\n weight={weight}\n ref={ref}\n {...props}\n >\n {children}\n {required ? \"*\" : null}\n </Typography>\n );\n }\n);\n\nLabel.displayName = \"Label\";\n","import { createGlobalStyle } from \"styled-components\";\n\nexport const GlobalStyle = createGlobalStyle`\n :root {\n --color-primary: #5d2bff;\n --color-secondary: #5d2bff;\n\n --color-theme-100: #ffffff;\n --color-theme-200: #f6f6f9;\n --color-theme-300: #ebebee;\n --color-theme-400: #d7d7da;\n --color-theme-500: #b9b9bd;\n --color-theme-600: #89898e;\n --color-theme-700: #6d6d73;\n --color-theme-800: #5b5b61;\n --color-theme-900: #303037;\n\n --color-primary-200: rgba(93, 43, 255, 0.05);\n --color-primary-300: rgba(93, 43, 255, 0.1);\n --color-primary-400: rgba(93, 43, 255, 0.25);\n --color-primary-500: rgba(93, 43, 255, 0.5);\n --color-primary-600: rgba(93, 43, 255, 0.75);\n --color-primary-700: #5d2bff;\n --color-primary-800: #4a21cd;\n --color-primary-900: #32178b;\n\n --color-secondary-200: rgba(93, 43, 255, 0.05);\n --color-secondary-300: rgba(93, 43, 255, 0.1);\n --color-secondary-400: rgba(93, 43, 255, 0.25);\n --color-secondary-500: rgba(93, 43, 255, 0.5);\n --color-secondary-600: rgba(93, 43, 255, 0.75);\n --color-secondary-700: #5d2bff;\n --color-secondary-800: #4a21cd;\n --color-secondary-900: #32178b;\n\n --color-theme-transparent-200: rgba(36,36,76,0.04);\n --color-theme-transparent-300: rgba(48,48,55,0.1);\n --color-theme-transparent-400: rgba(48,48,55,0.2);\n --color-theme-transparent-500: rgba(48,48,55,0.34);\n --color-theme-transparent-600: rgba(48,48,55,0.57);\n --color-theme-transparent-700: rgba(48,48,55,0.7);\n --color-theme-transparent-800: rgba(48,48,55,0.8);\n\n --color-primary-opaque-300: #efeaff;\n --color-primary-opaque-400: #d6caff;\n\n --color-secondary-opaque-300: #efeaff;\n --color-secondary-opaque-400: #d6caff;\n\n --color-sucess-green: #64cd93;\n\n --body-bg-main: rgb(244, 245, 247);\n --body-bg-main-transparent: rgba(244, 245, 247, 0);\n --page-paper-main: #ffffff;\n --border-primary: #d7d7da;\n\n --note-bg: #fff9f1;\n\n --shadow-primary-hover: 0 64px 64px 0 rgba(0, 0, 0, 0.1),\n 0 32px 32px 0 rgba(0, 0, 0, 0.06), 0 16px 16px 0 rgba(0, 0, 0, 0.04),\n 0 4px 4px 0 rgba(0, 0, 0, 0.04), 0 2px 2px 0 rgba(0, 0, 0, 0.04);\n --shadow-primary: 0 64px 64px 0 rgba(0, 0, 0, 0.06),\n 0 32px 32px 0 rgba(0, 0, 0, 0.03), 0 16px 16px 0 rgba(0, 0, 0, 0.02),\n 0 4px 4px 0 rgba(0, 0, 0, 0.02), 0 2px 2px 0 rgba(0, 0, 0, 0.02);\n\n --shadow-secondary: 0 4px 14px 0 rgba(0, 0, 0, 0.17);\n\n --shadow-tertiary: 0 4px 6px -2px rgba(0, 0, 0, 0.05),\n 0 10px 15px -3px rgba(0, 0, 0, 0.1);\n --shadow-tertiary-hover: 0 4px 10px -2px rgba(0, 0, 0, 0.1),\n 0 12px 20px -3px rgba(0, 0, 0, 0.2);\n\n --page-paper-main-shadow: rgba(\n 255,\n 255,\n 255,\n 0\n ); /* Shadow list shadow for page paper main */\n\n --modal-background: rgba(244, 245, 247, 0.6);\n\n --highlight-dark: rgba(0, 0, 0, 0.03);\n\n --input-background-color: #ffffff;\n\n --red-alert: rgb(237, 97, 97);\n\n --warning: #ffcc6b;\n\n --only-white: #ffffff;\n\n --only-black: #000000;\n\n --ac-br-4: 4px;\n\n --ac-br-6: 6px;\n\n --ac-br-8: 8px;\n\n --ac-br-rounded: 999px;\n }\n\n .cupcake {\n --color-primary: #29bcdd;\n --color-secondary: #fe6fa7;\n\n --color-primary-200: rgba(41, 188, 221, 0.07);\n --color-primary-300: rgba(41, 188, 221, 0.12);\n --color-primary-400: rgba(41, 188, 221, 0.26);\n --color-primary-500: rgba(41, 188, 221, 0.52);\n --color-primary-600: rgba(41, 188, 221, 0.75);\n --color-primary-700: #29bcdd;\n --color-primary-800: #219fbb;\n --color-primary-900: #1a768b;\n\n --color-secondary-200: rgba(254, 111, 167, 0.07);\n --color-secondary-300: rgba(254, 111, 167, 0.13);\n --color-secondary-400: rgba(254, 111, 167, 0.27);\n --color-secondary-500: rgba(254, 111, 167, 0.52);\n --color-secondary-600: rgba(254, 111, 167, 0.75);\n --color-secondary-700: #fe6fa7;\n --color-secondary-800: #dd6091;\n --color-secondary-900: #ab496f;\n\n --color-primary-opaque-300: #e5f7fb;\n --color-primary-opaque-400: #c8eef6;\n\n --color-secondary-opaque-300: #ffecf4;\n --color-secondary-opaque-400: #ffd8e7;\n }\n\n .classic {\n --color-primary: #4182f2;\n --color-secondary: #4182f2;\n\n --color-primary-200: rgba(65, 130, 242, 0.07);\n --color-primary-300: rgba(65, 130, 242, 0.13);\n --color-primary-400: rgba(65, 130, 242, 0.26);\n --color-primary-500: rgba(65, 130, 242, 0.52);\n --color-primary-600: rgba(65, 130, 242, 0.75);\n --color-primary-700: #4182f2;\n --color-primary-800: #356bc8;\n --color-primary-900: #244a8a;\n\n --color-secondary-200: rgba(65, 130, 242, 0.07);\n --color-secondary-300: rgba(65, 130, 242, 0.13);\n --color-secondary-400: rgba(65, 130, 242, 0.26);\n --color-secondary-500: rgba(65, 130, 242, 0.52);\n --color-secondary-600: rgba(65, 130, 242, 0.75);\n --color-secondary-700: #4182f2;\n --color-secondary-800: #356bc8;\n --color-secondary-900: #244a8a;\n\n --color-primary-opaque-300: #e6effd;\n --color-primary-opaque-400: #cedffc;\n\n --color-secondary-opaque-300: #e6effd;\n --color-secondary-opaque-400: #cedffc;\n }\n\n .neon {\n --color-primary: #67ffc8;\n --color-secondary: #67ffc8;\n\n --color-theme-100: #000000;\n --color-theme-200: #31333e;\n --color-theme-300: #2b2d37;\n --color-theme-400: #1f2024;\n --color-theme-500: #6D6D73;\n --color-theme-600: #89898e;\n --color-theme-700: #b0b0b5;\n --color-theme-800: #dfdfe5;\n --color-theme-900: #ffffff;\n\n --color-primary-200: rgba(103, 255, 200, 0.05);\n --color-primary-300: rgba(103, 255, 200, 0.1);\n --color-primary-400: rgba(103, 255, 200, 0.25);\n --color-primary-500: rgba(103, 255, 200, 0.5);\n --color-primary-600: rgba(103, 255, 200, 0.75);\n --color-primary-700: #67ffc8;\n --color-primary-800: #a5ffdf;\n --color-primary-900: #d0fdec;\n\n --color-secondary-200: rgba(103, 255, 200, 0.05);\n --color-secondary-300: rgba(103, 255, 200, 0.1);\n --color-secondary-400: rgba(103, 255, 200, 0.25);\n --color-secondary-500: rgba(103, 255, 200, 0.5);\n --color-secondary-600: rgba(103, 255, 200, 0.75);\n --color-secondary-700: #67ffc8;\n --color-secondary-800: #a5ffdf;\n --color-secondary-900: #d0fdec;\n\n --color-theme-transparent-200: rgba(6,7,8,0.12);\n --color-theme-transparent-300: rgba(6,7,8,0.22);\n --color-theme-transparent-400: rgba(6,7,8,0.5);\n --color-theme-transparent-500: rgba(255,255,255,0.27);\n --color-theme-transparent-600: rgba(255,255,255,0.4);\n --color-theme-transparent-700: rgba(255,255,255,0.6);\n --color-theme-transparent-800: rgba(255,255,255,0.85);\n\n --color-primary-opaque-300: #3b4e51;\n --color-primary-opaque-400: #436b64;\n\n --color-secondary-opaque-300: #3b4e51;\n --color-secondary-opaque-400: #436b64;\n\n --body-bg-main: rgb(44, 46, 56);\n --body-bg-main-transparent: rgba(44, 46, 56, 0);\n --page-paper-main: #373a44;\n --border-primary: #1f2024;\n\n --note-bg: #464545;\n\n --shadow-primary-hover: 0 64px 64px 0 rgba(0, 0, 0, 0.2),\n 0 32px 32px 0 rgba(0, 0, 0, 0.2), 0 16px 16px 0 rgba(0, 0, 0, 0.2),\n 0 4px 4px 0 rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.2);\n --shadow-primary: 0 64px 64px 0 rgba(0, 0, 0, 0.1),\n 0 32px 32px 0 rgba(0, 0, 0, 0.1), 0 16px 16px 0 rgba(0, 0, 0, 0.1),\n 0 4px 4px 0 rgba(0, 0, 0, 0.1), 0 2px 2px 0 rgba(0, 0, 0, 0.1);\n\n --shadow-secondary: 0 4px 14px 0 rgba(0, 0, 0, 0.3);\n\n --shadow-tertiary: 0 4px 6px -2px rgba(0, 0, 0, 0.1),\n 0 10px 15px -3px rgba(0, 0, 0, 0.15);\n --shadow-tertiary-hover: 0 4px 12px -2px rgba(0, 0, 0, 0.4),\n 0 10px 30px -3px rgba(0, 0, 0, 0.5);\n\n --page-paper-main-shadow: rgba(\n 55,\n 58,\n 68,\n 0\n ); /* Shadow list shadow for page paper main */\n\n --modal-background: rgba(44, 46, 56, 0.7);\n\n --highlight-dark: rgba(0, 0, 0, 0.06);\n\n --input-background-color: #2c2e38;\n\n --only-white: #ffffff;\n\n --only-black: #000000;\n }\n\n .ac-shadow,\n .ac-shadow--raised {\n &--lg {\n box-shadow: var(--shadow-primary);\n }\n &--sm {\n box-shadow: var(--shadow-tertiary);\n }\n }\n\n .ac-shadow--raised {\n &--lg {\n transition: box-shadow 0.3s;\n &:hover {\n box-shadow: var(--shadow-primary-hover);\n }\n }\n &--sm {\n transition: box-shadow 0.3s;\n &:hover {\n box-shadow: var(--shadow-tertiary-hover);\n }\n }\n }\n\n .ac-shadow-optimized--sm {\n position: relative;\n box-shadow: var(--shadow-tertiary);\n\n &::before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n content: \"\";\n box-shadow: var(--shadow-tertiary);\n opacity: 0;\n border-radius: var(--ac-br-6);\n transition: opacity 0.3s ease;\n z-index: -1;\n }\n\n @media (hover: hover) {\n &:hover::before {\n opacity: 1;\n }\n }\n }\n\n .ac-shadow-optimized--lg {\n position: relative;\n box-shadow: var(--shadow-primary);\n\n &::before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n content: \"\";\n box-shadow: var(--shadow-primary);\n opacity: 0;\n border-radius: var(--ac-br-8);\n transition: opacity 0.3s ease;\n z-index: -1;\n }\n\n @media (hover: hover) {\n &:hover::before {\n opacity: 1;\n }\n }\n }\n\n .ac-border-radius {\n &-4 {\n border-radius: var(--ac-br-4);\n }\n\n &-6 {\n border-radius: var(--ac-br-6);\n }\n\n &-8 {\n border-radius: var(--ac-br-8);\n }\n\n &-rounded {\n border-radius: var(--ac-br-rounded);\n }\n }\n\n`;\n","import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\nimport { Typography } from \"../Typography/Typography\";\n\nexport const StyledDiv = styled.div`\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${tw`tw-relative tw-inline-block tw-max-w-full`}\n`;\n\nexport const StyledSpan = styled(Typography)<{ $disabled?: boolean }>`\n visibility: hidden;\n display: block;\n padding-left: 4px;\n padding-right: 4px;\n padding-top: 1px;\n padding-bottom: 1px;\n position: relative;\n border: 1px solid transparent;\n border-radius: 6px;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: pre;\n\n ${({ $disabled }) =>\n $disabled &&\n css`\n visibility: visible;\n `}\n\n &:empty:before {\n content: \"i\";\n }\n`;\n\nStyledSpan.displayName = \"StyledSpan\";\n\nexport const StyledInput = styled(Typography)`\n ${tw`\n tw-absolute\n tw-inset-0\n tw-border\n tw-border-transparent\n tw-border-solid\n hover:tw-border-theme-700\n focus-within:tw-border-theme-700\n tw-rounded-md\n tw-box-border\n tw-overflow-hidden\n tw-whitespace-nowrap\n focus-within:tw-overflow-scroll\n tw-w-full`}\n\n background-color: inherit;\n padding-left: 4px;\n padding-right: 4px;\n padding-top: 1px;\n padding-bottom: 1px;\n text-overflow: ellipsis;\n &:focus-whitin {\n text-overflow: clip;\n }\n outline-width: 0px;\n outline: none;\n &:disabled {\n display: none;\n }\n`;\n\nStyledInput.displayName = \"StyledInput\";\n","import React, { forwardRef, Ref, useCallback, useRef } from \"react\";\nimport { useForkRef } from \"../../utils\";\nimport { Variant } from \"../Typography/Typography\";\nimport { StyledDiv, StyledInput, StyledSpan } from \"./Styles\";\n\nexport interface EditableContentInterface {\n /** Typography variant. */\n variant?: Variant;\n /** Typography weight. */\n weight?: \"light\" | \"regular\" | \"bold\" | \"medium\";\n /** Input props. */\n inputProps?: Partial<React.ComponentPropsWithoutRef<\"input\">>;\n /** Disable edit mode. */\n disabled?: boolean;\n /** Wrapper reference. */\n wrapRef?: Ref<HTMLDivElement>;\n}\n\nexport const EditableContent = forwardRef<\n HTMLDivElement,\n EditableContentInterface &\n Omit<React.ComponentPropsWithoutRef<\"div\">, keyof EditableContentInterface>\n>(\n (\n {\n className,\n variant = \"Body 2\",\n weight,\n disabled = false,\n inputProps,\n wrapRef,\n ...props\n },\n ref\n ) => {\n const intInputRef = useRef<HTMLInputElement>(null);\n const handleRef = useForkRef(ref, intInputRef);\n\n const handleBlur = useCallback(\n (evt) => {\n if (intInputRef?.current) {\n intInputRef.current.scrollLeft = 0;\n }\n typeof inputProps?.onBlur === `function` && inputProps?.onBlur(evt);\n },\n [inputProps]\n );\n\n return (\n <StyledDiv className={className} ref={wrapRef} {...props}>\n <StyledSpan\n variant={variant}\n forwardedAs=\"span\"\n weight={weight}\n $disabled={disabled}\n >\n {inputProps?.value}\n </StyledSpan>\n <StyledInput\n {...inputProps}\n ref={handleRef}\n forwardedAs=\"input\"\n variant={variant}\n weight={weight}\n value={inputProps?.value}\n onBlur={handleBlur}\n disabled={disabled}\n />\n </StyledDiv>\n );\n }\n);\n\nEditableContent.displayName = \"EditableContent\";\n","import React, {\n ChangeEvent,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport {\n EditableContent,\n EditableContentInterface,\n} from \"../EditableContent/EditableContent\";\n\nexport interface EditableTextInterface extends EditableContentInterface {\n /** Value to display. */\n value: string;\n /** Optional callback called on enter, click outside and tab. */\n onSave?: (e: ChangeEvent<HTMLInputElement>) => void;\n /** Optional callback called on input reset. */\n onCancel?: () => void;\n}\n\nexport const EditableText = forwardRef<HTMLDivElement, EditableTextInterface>(\n ({ onSave, onCancel, value, inputProps, ...props }, ref) => {\n const [currentValue, setCurrentValue] = useState(value);\n const [prevValue, setPrevValue] = useState(value);\n const escapeRef = useRef(false);\n\n useEffect(() => {\n if (currentValue !== value) {\n setCurrentValue(value);\n setPrevValue(value);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value]);\n\n const handleBlur = useCallback(\n (e) => {\n if (escapeRef.current) {\n setCurrentValue(prevValue);\n escapeRef.current = false;\n } else {\n if (\n e.target.value.trim().length > 0 &&\n prevValue !== e.target.value\n ) {\n setPrevValue(e.target.value);\n setCurrentValue(e.target.value);\n typeof onSave === \"function\" && onSave(e);\n } else {\n setCurrentValue(prevValue);\n }\n }\n },\n [onSave, prevValue]\n );\n\n const handleKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.target.blur();\n }\n if (e.key === \"Escape\") {\n escapeRef.current = true;\n e.target.blur();\n typeof onCancel === \"function\" && onCancel();\n }\n },\n [onCancel]\n );\n\n const handleChange = useCallback((e) => {\n setCurrentValue(e.target.value);\n }, []);\n\n return (\n <EditableContent\n {...props}\n ref={ref}\n inputProps={{\n ...inputProps,\n value: currentValue,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n onChange: handleChange,\n type: \"text\",\n className: \"c-input\",\n }}\n />\n );\n }\n);\n\nEditableText.displayName = \"EditableText\";\n","import React from \"react\";\n\nexport interface FolderIconProps {\n withDocuments?: boolean;\n}\n\nconst FolderIcon = React.forwardRef(\n (\n {\n withDocuments = false,\n ...props\n }: React.SVGProps<SVGSVGElement> & FolderIconProps,\n svgRef?: React.Ref<SVGSVGElement>\n ) => (\n <svg\n width={100}\n height={100}\n viewBox=\"0 0 100 100\"\n xmlns=\"http://www.w3.org/2000/svg\"\n ref={svgRef}\n {...props}\n >\n <defs>\n <filter\n x=\"-14.9%\"\n y=\"-112.5%\"\n width=\"129.8%\"\n height=\"275%\"\n filterUnits=\"objectBoundingBox\"\n id=\"image_svg__a\"\n >\n <feOffset dy={-2} in=\"SourceAlpha\" result=\"shadowOffsetOuter1\" />\n <feGaussianBlur\n stdDeviation={2}\n in=\"shadowOffsetOuter1\"\n result=\"shadowBlurOuter1\"\n />\n <feColorMatrix\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.4 0\"\n in=\"shadowBlurOuter1\"\n />\n </filter>\n <path id=\"image_svg__b\" d=\"M4 28h47v8H4z\" />\n </defs>\n <g fillRule=\"evenodd\">\n <path\n d=\"M90 20H50L40 10H10C4.45 10 0 14.45 0 20v60c0 5.523 4.477 10 10 10h80c5.523 0 10-4.477 10-10V30c0-5.55-4.5-10-10-10z\"\n fill=\"#32178B\"\n />\n {withDocuments ? (\n <path d=\"M8 20h42v9H4v-5a4 4 0 014-4z\" fill=\"#FFFFFF\" />\n ) : null}\n <use\n filter=\"url(#image_svg__a)\"\n xlinkHref=\"#image_svg__b\"\n fill=\"black\"\n />\n <use xlinkHref=\"#image_svg__b\" fill=\"#D8D8D8\" />\n <path\n d=\"M90 20H50l-10 8H5a5 5 0 00-5 5v47c0 5.523 4.477 10 10 10h80c5.523 0 10-4.477 10-10V30c0-5.55-4.5-10-10-10z\"\n fill=\"#5D2BFF\"\n />\n </g>\n </svg>\n )\n);\n\nFolderIcon.displayName = \"FolderIcon\";\nexport default FolderIcon;\n","import styled, { css } from \"styled-components\";\nimport { Card } from \"../Card\";\nimport { PaperStyles } from \"../Paper/Styles\";\nimport { VisibleFromBreakpoint } from \"./EntityProperty\";\nimport tw from \"twin.macro\";\n\nexport const StyledEntityCard = styled(Card)<{\n $renderAs: string;\n $gap?: number;\n $background?: string;\n $isCollection?: boolean;\n}>`\n line-height: 1.375;\n ${({ $renderAs }) =>\n $renderAs === \"list\" &&\n css`\n display: flex;\n flex-direction: row;\n align-items: center;\n min-height: 48px;\n margin-bottom: 4px;\n justify-content: space-between;\n padding: 0 16px 0 16px;\n `}\n\n ${({ $renderAs }) =>\n $renderAs === \"grid\" &&\n css`\n display: flex;\n flex-direction: column;\n position: relative;\n padding: 20px 24px;\n height: 280px;\n `}\n\n\n ${(props) =>\n props.$background &&\n css`\n background-color: ${props.$background};\n `}\n\n ${({ $isCollection, $background }) =>\n $isCollection &&\n css`\n &::after {\n display: block;\n content: \"\";\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n left: 0;\n transform: rotate(-3deg);\n z-index: -1;\n ${PaperStyles};\n background-color: ${$background};\n }\n `}\n`;\nStyledEntityCard.displayName = \"StyledEntityCard\";\n\nexport const StyledEntityProperty = styled(\"div\")<{\n $renderAs?: string;\n $order?: number;\n $width?: number | string;\n $visibleFromBreakpoint?: VisibleFromBreakpoint;\n}>`\n ${({ $renderAs, $width }) =>\n $renderAs === \"list\" &&\n css`\n display: flex;\n align-items: center;\n min-width: 24px;\n flex: ${$width ? \"initial\" : 1};\n `}\n\n ${(props) =>\n props.$renderAs === \"list\" &&\n props.$order &&\n css`\n order: ${props.$order};\n `}\n\n ${(props) =>\n props.$renderAs === \"list\" &&\n props.$width &&\n css`\n width: ${props.$width};\n `}\n ${({ $visibleFromBreakpoint }) =>\n $visibleFromBreakpoint &&\n css`\n ${tw`tw-hidden`}\n `}\n ${({ $visibleFromBreakpoint }) =>\n $visibleFromBreakpoint === \"sm\" &&\n css`\n ${tw`sm:tw-flex`}\n `}\n ${({ $visibleFromBreakpoint }) =>\n $visibleFromBreakpoint === \"md\" &&\n css`\n ${tw`md:tw-flex`}\n `}\n ${({ $visibleFromBreakpoint }) =>\n $visibleFromBreakpoint === \"lg\" &&\n css`\n ${tw`lg:tw-flex`}\n `}\n ${({ $visibleFromBreakpoint }) =>\n $visibleFromBreakpoint === \"xl\" &&\n css`\n ${tw`xl:tw-flex`}\n `}\n ${({ $visibleFromBreakpoint }) =>\n $visibleFromBreakpoint === \"2xl\" &&\n css`\n ${tw`2xl:tw-flex`}\n `}\n`;\n\nStyledEntityProperty.displayName = \"StyledEntityProperty\";\n\nexport const StyledEntityGroup = styled(\"div\")<{\n $renderAs: string;\n $gap?: number;\n}>`\n ${({ $renderAs, $gap }) =>\n $renderAs === \"grid\" &&\n css`\n display: grid;\n grid-gap: ${$gap ? `${$gap}px` : \"initial\"};\n grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));\n `}\n ${(props) =>\n props.$renderAs === \"list\" &&\n css`\n display: flex;\n flex-direction: column;\n `}\n`;\nStyledEntityGroup.displayName = \"StyledEntityGroup\";\n\nexport const StyledEntityActions = styled(\"div\")<{ $renderAs?: string }>`\n display: flex;\n flex-direction: column;\n align-items: center;\n\n ${({ $renderAs }) =>\n $renderAs === \"grid\" &&\n css`\n position: absolute;\n right: 16px;\n top: 20px;\n `}\n\n ${({ $renderAs }) =>\n $renderAs === \"list\" &&\n css`\n justify-self: flex-end;\n `}\n`;\n","import React, { HTMLAttributes } from \"react\";\nimport { StyledEntityGroup } from \"./Styles\";\n\nexport interface IEntityGroupProps\n extends Pick<HTMLAttributes<HTMLDivElement>, \"className\" | \"style\"> {\n gap?: number;\n renderAs?: \"grid\" | \"list\";\n}\n\ninterface IEntityGroupContext {\n renderAs: \"grid\" | \"list\";\n}\nexport const EntityGroupContext = React.createContext<IEntityGroupContext>({\n renderAs: \"grid\",\n});\n\nexport const EntityGroup: React.FC<IEntityGroupProps> = ({\n children,\n gap,\n renderAs = \"grid\",\n ...rest\n}) => {\n return (\n <EntityGroupContext.Provider value={{ renderAs: renderAs }}>\n <StyledEntityGroup $renderAs={renderAs} $gap={gap} {...rest}>\n {children}\n </StyledEntityGroup>\n </EntityGroupContext.Provider>\n );\n};\n\nEntityGroup.displayName = \"EntityGroup\";\n","import React, {\n BaseHTMLAttributes,\n CSSProperties,\n forwardRef,\n ReactElement,\n useContext,\n} from \"react\";\nimport { StyledEntityCard } from \"./Styles\";\n\nimport { Card, ICardProps } from \"../Card\";\nimport {\n PolymorphicComponentPropsWithRef,\n PolymorphicRef,\n} from \"../../utils/types\";\nimport { EntityGroupContext } from \"./EntityGroup\";\nimport classNames from \"classnames\";\n\nexport interface IEntityCardProps\n extends ICardProps,\n BaseHTMLAttributes<HTMLElement> {\n /** ClassName to add on Card */\n className?: string;\n /** Show as group of Cards on grid */\n isCollection?: boolean;\n /** Background color to override for Card */\n background?: string;\n /** CSSProperties to override for Card */\n style?: CSSProperties;\n}\n\nexport type EntityCardProps<C extends React.ElementType> =\n PolymorphicComponentPropsWithRef<C, IEntityCardProps>;\n\nexport type EntityComponent = <C extends React.ElementType = typeof Card>(\n props: EntityCardProps<C>\n) => ReactElement | null;\n\nexport const EntityCard: EntityComponent & { displayName?: string } =\n forwardRef(\n <C extends React.ElementType = typeof Card>(\n {\n children,\n isCollection,\n background,\n className,\n as,\n ...rest\n }: EntityCardProps<C>,\n ref?: PolymorphicRef<C>\n ) => {\n const { renderAs } = useContext(EntityGroupContext);\n const classSuffix = `c-entity-card-${renderAs}`;\n const paperType = renderAs === \"grid\" ? \"paper-1\" : \"paper-2\";\n const Component = as || Card;\n return (\n <StyledEntityCard\n as={Component}\n $renderAs={renderAs}\n $background={background}\n paperType={paperType}\n className={classNames(\"c-entity-card\", classSuffix, className)}\n $isCollection={isCollection}\n {...rest}\n ref={ref}\n >\n {children}\n </StyledEntityCard>\n );\n }\n );\n\nEntityCard.displayName = \"EntityCard\";\n","import React, { HTMLAttributes, useContext } from \"react\";\nimport { StyledEntityProperty } from \"./Styles\";\nimport classNames from \"classnames\";\nimport { EntityGroupContext } from \"./EntityGroup\";\n\nexport type VisibleFromBreakpoint = \"sm\" | \"md\" | \"lg\" | \"xl\" | \"2xl\";\nexport interface IEntityCardPropertyProps\n extends HTMLAttributes<HTMLDivElement> {\n listOrder?: number;\n listWidth?: string | number;\n visibleFromBreakpoint?: VisibleFromBreakpoint;\n}\n\nexport const EntityProperty: React.FC<IEntityCardPropertyProps> = ({\n listOrder,\n listWidth,\n visibleFromBreakpoint,\n className,\n ...props\n}) => {\n const { renderAs } = useContext(EntityGroupContext);\n const classSuffix = `c-entity-property-${renderAs}`;\n return (\n <StyledEntityProperty\n className={classNames(\"c-entity-property\", classSuffix, className)}\n {...props}\n $order={listOrder}\n $width={listWidth}\n $visibleFromBreakpoint={visibleFromBreakpoint}\n $renderAs={renderAs}\n />\n );\n};\n\nEntityProperty.displayName = \"EntityProperty\";\n","import { EntityGroup } from \"./EntityGroup\";\nimport { EntityCard } from \"./EntityCard\";\nimport { EntityProperty } from \"./EntityProperty\";\n\nexport interface IEntity {\n Group: typeof EntityGroup;\n Card: typeof EntityCard;\n Property: typeof EntityProperty;\n}\n\nexport const Entity: IEntity = {\n Group: EntityGroup,\n Card: EntityCard,\n Property: EntityProperty,\n};\n","import React, { useRef, useEffect, FC, HTMLAttributes } from \"react\";\nimport { MenuHeader } from \"../Menu\";\nimport { IconButton } from \"../IconButton\";\nimport { ArrowLeftIcon } from \"../Icons\";\nimport { useResizeObserver } from \"../../utils\";\n\ninterface SubmenuProps {\n title: string;\n onBack: () => void;\n onHeightChange: (height: number) => void;\n}\n\nexport const Submenu: FC<SubmenuProps & HTMLAttributes<HTMLDivElement>> = ({\n onBack,\n onHeightChange,\n style,\n children,\n title,\n}) => {\n const ref = useRef(null);\n const dimensions = useResizeObserver(ref);\n const height = dimensions?.height;\n\n useEffect(() => {\n if (height && height > 0) {\n onHeightChange(height);\n }\n }, [height, onHeightChange]);\n\n return (\n <div style={style} ref={ref}>\n <MenuHeader\n title={title}\n leftElement={\n <IconButton onClick={onBack} variant=\"text gray\" size=\"small\">\n <ArrowLeftIcon />\n </IconButton>\n }\n />\n {children}\n </div>\n );\n};\n","import styled from \"styled-components\";\nimport { Menu, IMenu, MenuFooter, IMenuFooter } from \"../Menu\";\nimport { ListItem, ListProps, List, ListItemProps } from \"../List\";\nimport tw from \"twin.macro\";\n\nexport const StyledMenu = styled(Menu)<IMenu>`\n ${tw`tw-relative`}\n ${tw`tw-overflow-hidden`}\n`;\n\nexport const StyledMenuFooter = styled(MenuFooter)<IMenuFooter>`\n ${tw`tw-justify-center`}\n`;\n\nexport const StyledStartMenuList = styled(List)<ListProps>`\n ${tw`tw-py-2`}\n`;\n\nexport const StyledStartMenuListItem = styled(ListItem)<ListItemProps>`\n ${tw`tw-pr-3`}\n`;\n\nexport const StyledStartMenuTitle = styled.div`\n ${tw`tw-flex-1`}\n`;\n\nexport const StyledStartMenuNoResults = styled.div`\n ${tw`tw-py-0.5`}\n ${tw`tw-text-center`}\n`;\n\nexport const StyledStartMenuDot = styled.span`\n border-radius: 50%;\n background-color: var(--color-primary);\n color: var(--page-paper-main);\n line-height: 15px;\n width: 15px;\n font-weight: bold;\n font-size: 10px;\n text-align: center;\n margin-left: 4px;\n`;\n\nStyledMenu.displayName = \"StyledMenu\";\nStyledMenuFooter.displayName = \"StyledMenuFooter\";\nStyledStartMenuList.displayName = \"StyledStartMenuList\";\nStyledStartMenuListItem.displayName = \"StyledStartMenuListItem\";\nStyledStartMenuTitle.displayName = \"StyledStartMenuTitle\";\nStyledStartMenuDot.displayName = \"StyledStartMenuDot\";\nStyledStartMenuNoResults.displayName = \"StyledStartMenuNoResults\";\n","import React, { FC, useRef, useEffect, HTMLAttributes } from \"react\";\nimport { ArrowRightIcon } from \"../Icons\";\nimport { DataType, SelectedType } from \"./Filter\";\nimport {\n StyledStartMenuTitle,\n StyledStartMenuDot,\n StyledStartMenuListItem,\n StyledStartMenuList,\n StyledStartMenuNoResults,\n} from \"./Styles\";\nimport { useResizeObserver } from \"../../utils\";\n\nexport interface StartMenuProps {\n data: Array<DataType>;\n selected: SelectedType;\n onItemClick: (id: number | string) => void;\n onHeightChange: (height: number) => void;\n shouldRenderSubmenus: boolean;\n emptyFilterText?: string;\n}\n\nexport const StartMenu: FC<StartMenuProps & HTMLAttributes<HTMLDivElement>> = ({\n data,\n selected,\n onItemClick,\n style,\n onHeightChange,\n shouldRenderSubmenus,\n emptyFilterText,\n children,\n}) => {\n const ref = useRef(null);\n const dimensions = useResizeObserver(ref);\n const height = dimensions?.height;\n\n useEffect(() => {\n if (height && height > 0) {\n onHeightChange(height);\n }\n }, [height, onHeightChange]);\n\n return (\n <div style={style} ref={ref}>\n <StyledStartMenuList>\n {shouldRenderSubmenus ? (\n data.map(({ id, title, submenu }, index: number) => {\n const count = selected[id]?.length;\n if (submenu?.length > 1) {\n return (\n <StyledStartMenuListItem\n key={`filter-list-item-${index}`}\n onClick={() => onItemClick(id)}\n >\n <StyledStartMenuTitle>{title}</StyledStartMenuTitle>\n {count > 0 ? (\n <StyledStartMenuDot>{count}</StyledStartMenuDot>\n ) : null}\n <ArrowRightIcon />\n </StyledStartMenuListItem>\n );\n }\n })\n ) : emptyFilterText ? (\n <StyledStartMenuNoResults>{emptyFilterText}</StyledStartMenuNoResults>\n ) : null}\n {children}\n </StyledStartMenuList>\n </div>\n );\n};\n","import { createContext, useContext } from \"react\";\n\ninterface IWizardContext {\n activeStep?: number;\n setActiveStep?: (integer) => void;\n goNext?: () => void;\n goPrevious?: () => void;\n close?: () => void;\n setChangingStepInProgress?: (boolean) => void;\n}\n\nconst WizardContext = createContext<IWizardContext>({});\n\nexport const WizardContextProvider = WizardContext.Provider;\nexport const WizardContextConsumer = WizardContext.Consumer;\n\nexport const useWizardContext = (): IWizardContext => useContext(WizardContext);\n\nexport default WizardContext;\n","import React, { FC } from \"react\";\nimport { Button } from \"../Button\";\nimport { ArrowRightIcon } from \"../Icons\";\n\nexport interface IStepActionButton {\n isLast?: boolean;\n onNextButtonClick?: () => void;\n actionLabel?: string;\n disabled?: boolean;\n className?: string;\n}\n\nexport const StepActionButton: FC<IStepActionButton> = ({\n onNextButtonClick,\n actionLabel = \"Proceed\",\n isLast,\n disabled,\n className,\n}) => {\n return (\n <Button\n className={className}\n onClick={onNextButtonClick}\n disabled={disabled}\n >\n {actionLabel}\n {!isLast ? <ArrowRightIcon /> : null}\n </Button>\n );\n};\n\nStepActionButton.displayName = \"StepActionButton\";\n","import styled from \"styled-components\";\n\nexport const StyledStepHeader = styled.div`\n display: flex;\n padding: 12px 12px 12px 32px;\n justify-content: space-between;\n`;\n\nexport const StyledStepTitle = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nexport const StyledStepHeaderLeft = styled.div`\n display: flex;\n`;\n\nexport const StyledCustomStep = styled.div`\n overflow-y: auto;\n`;\n","import React, { FC, ReactNode, useCallback } from \"react\";\nimport { ArrowBackMobileIcon, CancelCrossIcon } from \"../Icons\";\nimport { IconButton } from \"../IconButton\";\nimport { StepActionButton } from \"./StepActionButton\";\nimport { Dialog } from \"../Dialog\";\nimport { Caption2, Header3 } from \"../Typography\";\nimport {\n StyledStepTitle,\n StyledStepHeaderLeft,\n StyledStepHeader,\n StyledCustomStep,\n} from \"./Styles\";\n\nexport interface IStep {\n index?: number;\n isLast?: boolean;\n subtitle: string;\n title?: string;\n onNextButtonClick?: () => void;\n onPreviousButtonClick?: () => void;\n onClose?: () => void;\n children: ReactNode;\n actionLabel?: string;\n shouldRenderNextButton?: boolean;\n changingStepInProgress?: boolean;\n skip?: boolean;\n}\n\nexport const Step: FC<IStep> = ({\n index,\n isLast,\n subtitle,\n title,\n onNextButtonClick,\n onPreviousButtonClick,\n onClose,\n children,\n actionLabel = \"Proceed\",\n shouldRenderNextButton = true,\n changingStepInProgress = false,\n skip = false,\n}) => {\n const onActionButtonClick = useCallback(() => {\n if (isLast && onClose) {\n return onClose();\n }\n\n return onNextButtonClick && onNextButtonClick();\n }, [isLast, onClose, onNextButtonClick]);\n\n return !skip ? (\n <>\n <StyledStepHeader>\n <StyledStepHeaderLeft>\n {index && index > 0 ? (\n <IconButton\n onClick={onPreviousButtonClick}\n variant=\"text gray\"\n className=\"tw--ml-3 tw-mr-2\"\n disabled={changingStepInProgress}\n >\n <ArrowBackMobileIcon />\n </IconButton>\n ) : null}\n <StyledStepTitle>\n <Caption2>{title}</Caption2>\n <Header3>{subtitle}</Header3>\n </StyledStepTitle>\n </StyledStepHeaderLeft>\n <IconButton\n onClick={onClose}\n variant=\"text gray\"\n disabled={changingStepInProgress}\n >\n <CancelCrossIcon />\n </IconButton>\n </StyledStepHeader>\n <Dialog.ContentDivider />\n {shouldRenderNextButton ? (\n <>\n <Dialog.Content>{children}</Dialog.Content>\n <Dialog.ContentDivider />\n <Dialog.Actions>\n <StepActionButton\n isLast={isLast}\n actionLabel={actionLabel}\n onNextButtonClick={onActionButtonClick}\n />\n </Dialog.Actions>\n </>\n ) : (\n <StyledCustomStep>{children}</StyledCustomStep>\n )}\n </>\n ) : null;\n};\n\nStep.displayName = \"Step\";\n","import React, {\n forwardRef,\n ReactChild,\n ReactElement,\n ReactFragment,\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { Dialog } from \"../Dialog\";\nimport { WizardContextProvider } from \"./context\";\nimport { Step } from \"./Step\";\n\nexport interface IWizard {\n title: string;\n open: boolean;\n onClose: () => void;\n children: ReactNode;\n disableCloseOnEsc?: boolean;\n}\n\nexport const Wizard = forwardRef<HTMLDivElement, IWizard>(\n ({ title, open, onClose, disableCloseOnEsc = false, children }, ref) => {\n const childrenCollection = useMemo(\n () => React.Children.toArray(children),\n [children]\n );\n\n const [activeStep, setActiveStep] = useState(0);\n const [changingStepInProgress, setChangingStepInProgress] = useState(false);\n\n useEffect(() => {\n if (open) {\n setActiveStep(0);\n }\n }, [open]);\n\n const goNext = useCallback(() => {\n const index = childrenCollection.findIndex(\n (step: ReactChild | ReactFragment, index) => {\n const stepEl = step as ReactElement;\n return !stepEl?.props?.skip && index > activeStep;\n }\n );\n setActiveStep(index);\n }, [activeStep, childrenCollection]);\n\n const goPrevious = useCallback(() => {\n let index = 0;\n for (let i = childrenCollection.length - 1; i >= 0; i--) {\n const step = childrenCollection[i] as ReactElement;\n if (!step?.props?.skip && i < activeStep) {\n index = i;\n break;\n }\n }\n setActiveStep(index);\n }, [activeStep, childrenCollection]);\n\n const renderActiveStep = useMemo(() => {\n const element = childrenCollection[activeStep] as ReactElement;\n\n if (element?.type === Step) {\n return React.cloneElement(element, {\n index: activeStep,\n isLast: childrenCollection.length - 1 === activeStep,\n title,\n onNextButtonClick: goNext,\n onPreviousButtonClick: goPrevious,\n onClose,\n changingStepInProgress: changingStepInProgress,\n });\n }\n\n return null;\n }, [\n activeStep,\n changingStepInProgress,\n childrenCollection,\n goNext,\n goPrevious,\n onClose,\n title,\n ]);\n\n return (\n <WizardContextProvider\n value={{\n activeStep,\n setActiveStep,\n goNext,\n goPrevious,\n close: onClose,\n setChangingStepInProgress,\n }}\n >\n <Dialog\n ref={ref}\n open={open}\n onClose={onClose}\n disableCloseOnEsc={disableCloseOnEsc}\n >\n {renderActiveStep}\n </Dialog>\n </WizardContextProvider>\n );\n }\n);\n\nWizard.displayName = \"Wizard\";\n","import styled, { css } from \"styled-components\";\nimport { FontStyle } from \"../FontStyle\";\nimport { BadgeProps } from \"./Badge\";\n\nexport const StyledBadge = styled.div<Partial<BadgeProps>>`\n ${FontStyle}\n align-items: center;\n background-color: ${(props) => props.backgroundColor};\n block-size: ${(props) => props.dimension + \"px\"};\n border-radius: 100%;\n border: 2px solid var(--page-paper-main);\n color: var(--color-theme-100);\n display: flex;\n font-size: 12px;\n font-weight: 500;\n inline-size: ${(props) => props.dimension + \"px\"};\n justify-content: center;\n padding: ${(props) =>\n props.value && (props.value > 99 ? \"4px\" : props.value < 100 && \"2px\")};\n pointer-events: none;\n position: absolute;\n z-index: 1;\n\n ${({ position }) =>\n position === \"top-left\" &&\n css`\n inset-block-start: 0;\n inset-inline-start: 0;\n `}\n\n ${({ position }) =>\n position === \"top-right\" &&\n css`\n inset-block-start: 0;\n inset-inline-end: 0;\n `}\n\n ${({ position }) =>\n position === \"bottom-right\" &&\n css`\n inset-block-end: 0;\n inset-inline-end: 0;\n `}\n\n ${({ position }) =>\n position === \"bottom-left\" &&\n css`\n inset-block-end: 0;\n inset-inline-start: 0;\n `}\n`;\n","import classNames from \"classnames\";\nimport React from \"react\";\nimport { StyledBadge } from \"./Styles\";\n\ntype Position = \"top-left\" | \"top-right\" | \"bottom-right\" | \"bottom-left\";\n\nexport interface BadgeProps {\n position?: Position;\n dimension?: number;\n className?: string;\n backgroundColor?: string;\n isVisible?: boolean;\n value?: number;\n}\n\n/**\n * @component Badge\n * @description\n * In some products, you might need to show a badge on the right corner of the avatar.\n * We call this a badge. Here's an example that shows if the user is online.\n *\n * @prop {position} - dictates the position of a badge.\n * @prop {dimension} - controls the size of a badge (width and height) in pixels.\n * @prop {backgroundColor} - background-color of a badge.\n * @prop {isVisible} - dictates if badge should be visible or not.\n *\n * @example\n * <IconButton variant=\"text gray\" size=\"big\">\n * <BellOffIcon />\n * <Badge position=\"top-right\" backgroundColor=\"red\" dimension={16} />\n * </IconButton>\n *\n * @see\n * https://system.activecollab.com/?path=/story/components-button-indicators-badge--badge\n */\nexport const Badge = ({\n dimension = 8,\n className,\n position = \"bottom-left\",\n backgroundColor = \"#40C37D\",\n isVisible = true,\n value,\n}: BadgeProps) => {\n return isVisible ? (\n <StyledBadge\n className={classNames(\"c-badge\", className)}\n dimension={dimension}\n position={position}\n backgroundColor={backgroundColor}\n role=\"status\"\n value={value}\n >\n {value && value > 100 ? 99 + \"+\" : value}\n </StyledBadge>\n ) : null;\n};\n","import React, { FC, useCallback, useEffect, useMemo, useState } from \"react\";\nimport { MoveFocusInside } from \"react-focus-lock\";\nimport { Submenu } from \"./Submenu\";\nimport { StartMenu } from \"./StartMenu\";\nimport { FilterIcon } from \"../Icons\";\nimport { ResizeTransition, SlideLeftRightTransition } from \"../Transitions\";\nimport { IOptionGroupProps, IOptionItemProps, Select } from \"../Select\";\nimport { CounterButton } from \"../CounterButton\";\nimport { Button } from \"../Button\";\nimport { StyledMenu, StyledMenuFooter } from \"./Styles\";\n\nexport type DataType = {\n id: number | string;\n title: string;\n searchPlaceholder?: string;\n disableInternalSort?: boolean;\n submenu: Array<IOptionGroupProps | IOptionItemProps>;\n};\n\nexport type SelectedType = {\n [key: number | string]: Array<string>;\n};\n\nexport interface FilterProps {\n /** Data rendered in submenus */\n data: Array<DataType>;\n /** Selected data inside submenus */\n selected?: SelectedType;\n /** Main filter label */\n label: string;\n /** Filter width */\n width?: number;\n /** Text displayed for the tooltip of clear all button */\n clearAllText: string;\n /** Handler for changes on the filter */\n onChange: (selected: SelectedType) => void;\n /** Label for reset button inside submenu */\n resetLabel?: string;\n /** Text to show when search results are empty */\n noResultText: string;\n /** Text to show when there are no submenus to display */\n emptyFilterText?: string;\n}\n\nexport const Filter: FC<FilterProps> = ({\n data,\n selected = {},\n label,\n clearAllText,\n resetLabel = \"Reset\",\n onChange,\n width = 260,\n noResultText,\n emptyFilterText,\n children,\n}) => {\n const [open, setOpen] = useState(false);\n const [menu, setMenu] = useState<number | string>(\"index\");\n const [isLeft, setIsLeft] = useState(true);\n const [height, setHeight] = useState(0);\n const [enteredMenu, setEnteredMenu] = useState<number | string>(\"index\");\n const [filter, setFilter] = useState<SelectedType>(() => selected);\n\n useEffect(() => {\n if (Object.keys(selected).length > 0 || Object.keys(filter).length > 0) {\n setFilter(selected);\n }\n }, [selected, filter]);\n\n const handleOpen = useCallback(() => {\n setOpen(true);\n }, []);\n\n const handleClose = useCallback(() => {\n setOpen(false);\n setMenu(\"index\");\n setHeight(0);\n }, []);\n\n const handleHeight = useCallback((element) => {\n setHeight(element?.offsetHeight ?? 0);\n }, []);\n\n const handleItemClick = useCallback((value) => {\n setMenu(value);\n setIsLeft(true);\n }, []);\n\n const setIndex = useCallback(() => {\n setMenu(\"index\");\n setIsLeft(false);\n }, []);\n\n const handleChange = useCallback(\n (selectedArray) => {\n let newFilters = {};\n if (selectedArray.length) {\n newFilters = {\n ...filter,\n [menu]: selectedArray,\n };\n } else {\n newFilters = { ...filter };\n delete newFilters[menu];\n }\n\n setFilter(newFilters);\n onChange(newFilters);\n },\n [filter, menu, onChange]\n );\n\n const handleClearAll = useCallback(\n (event) => {\n event.stopPropagation();\n setFilter({});\n onChange({});\n },\n [onChange]\n );\n\n const handleReset = useCallback(() => {\n const newFilters = { ...filter };\n delete newFilters[menu];\n setFilter(newFilters);\n onChange(newFilters);\n }, [filter, menu, onChange]);\n\n const count = useMemo(() => {\n let c = 0;\n Object.values(filter).forEach((entry) => (c += entry.length));\n return c;\n }, [filter]);\n\n const shouldRenderSubmenus = useMemo(() => {\n if (data.length === 0) {\n return false;\n }\n\n for (const entry of data) {\n if (entry.submenu?.length > 1) {\n return true;\n }\n }\n\n return false;\n }, [data]);\n\n return (\n <StyledMenu\n open={open}\n onOpen={handleOpen}\n onClose={handleClose}\n position=\"bottom-end\"\n target={\n <CounterButton\n active={open}\n label={label}\n icon={<FilterIcon />}\n counter={count}\n tooltipText={clearAllText}\n onClearAll={handleClearAll}\n />\n }\n >\n <ResizeTransition in>\n <div style={{ height, width }}>\n <SlideLeftRightTransition\n in={menu === \"index\"}\n direction={isLeft ? \"left\" : \"right\"}\n onEnter={handleHeight}\n onEntered={() => setEnteredMenu(\"index\")}\n >\n <MoveFocusInside>\n <StartMenu\n data={data}\n selected={filter}\n style={{ width }}\n onHeightChange={setHeight}\n onItemClick={handleItemClick}\n shouldRenderSubmenus={shouldRenderSubmenus}\n emptyFilterText={emptyFilterText}\n >\n {children}\n </StartMenu>\n </MoveFocusInside>\n </SlideLeftRightTransition>\n {shouldRenderSubmenus &&\n data.map(\n (\n {\n id,\n title,\n submenu,\n searchPlaceholder,\n disableInternalSort,\n }: DataType,\n index: number\n ) => (\n <SlideLeftRightTransition\n key={`filter-submenu-${index}`}\n in={menu === id}\n direction={isLeft ? \"left\" : \"right\"}\n onEnter={handleHeight}\n onEntered={() => setEnteredMenu(id)}\n >\n <Submenu\n title={title}\n onBack={setIndex}\n onHeightChange={setHeight}\n style={{ width }}\n >\n <MoveFocusInside disabled={enteredMenu !== id}>\n <Select\n options={submenu}\n selected={filter[id]}\n onChange={handleChange}\n type=\"multiple\"\n autoHeightMax={255}\n placeholder={searchPlaceholder}\n noResultText={noResultText}\n keepSameOptionsOrder={Boolean(submenu.length <= 7)}\n disableSearch={Boolean(submenu.length <= 7)}\n disabledInternalSort={disableInternalSort}\n />\n {filter[id]?.length ? (\n <StyledMenuFooter>\n <Button\n variant=\"text colored\"\n size=\"small\"\n onClick={handleReset}\n >\n {resetLabel}\n </Button>\n </StyledMenuFooter>\n ) : null}\n </MoveFocusInside>\n </Submenu>\n </SlideLeftRightTransition>\n )\n )}\n </div>\n </ResizeTransition>\n </StyledMenu>\n );\n};\n"],"names":["FontStyle","css","BoxSizingStyle","StyledButton","styled","button","displayName","componentId","props","size","variant","iconOnly","active","children","Array","StyledButtonElements","span","StyledButtonElement","Button","forwardRef","ref","_ref$active","_ref$variant","_ref$size","className","args","React","classnames","Object","role","map","value","index","key","AddCrossTinyIcon","svgRef","width","height","viewBox","xmlns","fill","focusable","d","fillRule","StyledGlobalAddButton","GlobalAddButton","_ref$disabled","disabled","rest","StyledButtonGroup","div","display","flexDirection","marginRight","borderTopRightRadius","borderBottomRightRadius","borderTopLeftRadius","borderBottomLeftRadius","borderRadius","color","ButtonGroup","classNames","layers","cloud","skyscraper","tower","house","setRef","current","useForkRef","refA","refB","useMemo","refValue","_useState2","useState","dimensions","setDimensions","useEffect","observeTarget","resizeObserver","ResizeObserver","entries","forEach","entry","contentRect","observe","unobserve","MenuContext","createContext","MenuContextProvider","Provider","Consumer","Popper","anchorEl","_ref$open","open","style","_ref$transition","transition","_ref$placement","placement","initialPlacement","_ref$strategy","strategy","exited","setExited","_useState4","setPlacement","ownRef","useRef","popperRef","handleInnerRef","handlePopperUpdate","data","handleOpen","useCallback","destroy","createPopper","onFirstUpdate","handleClose","handleRef","node","update","childProps","transitionProps","in","onEnter","onExited","StyledOverlay","$disableBackgroundColor","Overlay","_ref$disableBackgroun","disableBackgroundColor","Portal","_ref$container","container","document","body","mountNode","setMountNode","getContainer","ReactDOM","createPortal","LayerContext","LayerContextProvider","LayerContextConsumer","useLayerContext","useContext","StyledWindow","returnFocus","preventScroll","Window","onClose","onKeyDown","_ref$disableFocusLock","disableFocusLock","_ref$disableScrollLoc","disableScrollLock","_ref$disableCloseOnEs","disableCloseOnEsc","onClick","_useLayerContext$zInd","zIndex","handleKeyDown","event","defaultPrevented","preventDefault","handleClick","stopPropagation","FocusLock","RemoveScroll","forwardProps","enabled","noIsolation","tabIndex","StyledBubble","backgroundColor","boxShadow","borderColor","borderWidth","borderStyle","opacity","visibility","Bubble","_ref$innerRef","innerRef","_ref$style","StyledMenu","marginTop","marginBottom","overflow","$mode","StyledMenuFooter","paddingLeft","paddingRight","paddingTop","paddingBottom","StyledMenuHeader","alignItems","justifyContent","Menu","onMenuClick","_ref$handleScroll","handleScroll","_ref$mode","mode","defaultOpen","onOpen","onBeforeClose","_ref$position","position","target","menuClassName","popperClassName","backgroundElementClass","_ref$windowAbsolutely","windowAbsolutelyPositioned","setOpen","childNode","setChildNode","elementRef","isOpenAtLeastOnce","handleRefRef","undefined","_target$props","forceClose","targetProps","_elementRef$current","focus","cloneElement","onMouseDown","colors","primary","secondary","tertiary","quaternary","success","alert","warning","StyledTypography","$color","$variant","fontSize","$italic","$tabularNums","$letterSpacing","letterSpacing","$lineHeight","lineHeight","$align","$decoration","$transform","$overflow","$whitespace","$wordBreak","$weight","fontWeight","Typography","as","_ref$color","_ref$italic","italic","_ref$tabularNums","tabularNums","_ref$letterSpacing","_ref$lineHeight","_ref$align","align","_ref$decoration","decoration","_ref$transform","transform","_ref$overflow","_ref$whitespace","whitespace","_ref$wordBreak","wordBreak","_ref$weight","weight","Component","MenuHeader","title","leftElement","rightElement","minWidth","marginLeft","MenuFooter","StyledList","ul","StyledListItem","li","StyledListSeparator","ListItem","ListSeparator","_List","List","assign","Item","Separator","StyledIconButton","IconButton","ActivityIcon","stroke","strokeWidth","AddCrossIcon","ArrowBackMobileIcon","clipRule","ArrowCollapseMultipleIcon","ArrowDownLongIcon","ArrowDownIcon","ArrowExpandeMultipleIcon","ArrowLeftBoxIcon","ArrowLeftIcon","ArrowRefreshIcon","ArrowRightIcon","ArrowUpLongIcon","ArrowUpIcon","AssignIcon","AttachmentIcon","BellOffSmallIcon","BellOffIcon","BillingIcon","BudgetAlertIcon","CalendarAddXIcon","CalendarIcon","CancelCrossIcon","CaretLeftIcon","CaretRightIcon","ChatIcon","CheckIcon","CheckboxBlankTogglerIcon","CheckboxIcon","x","y","rx","ChecklistSmallIcon","ChecklistIcon","CircleMultipleIcon","ClockAddIcon","ClockSmallIcon","ClockStopwatchSmallIcon","ClockStopwatchIcon","ClockIcon","CloseSmallIcon","CloseIcon","CollapsIcon","CollapseAllIcon","CollapseExpandSingleIcon","ComputerIcon","CopyIcon","CrownBlankIcon","CrownSelectedIcon","DependencySmallIcon","DependencyIcon","DiscussionAddIcon","DollarCheckmarkSmallIcon","DollarCheckmarkIcon","DollarClockSmallIcon","DollarClockIcon","DollarOffSmallIcon","DollarOffIcon","DollarSmallIcon","DollarIcon","DownloadIcon","DriveIcon","DropboxIcon","DuplicateIcon","EditMultipleIcon","EditIcon","EmojiIcon","EstimatePlusIcon","EstimatesIcon","ExpandAllIcon","ExpenseAddIcon","EyeOffSmallIcon","EyeOffIcon","EyeSmallIcon","EyeIcon","FilterIcon","FolderMoveIcon","FolderOutlineIcon","GiftIcon","HashtagIcon","HelpIcon","ImageIcon","InfoSmallIcon","InfoIcon","InsertLinkIcon","IntegrationsIcon","InvoicesIcon","LabelsIcon","LockSmallIcon","LockIcon","MarkerIcon","MessageAddIcon","MessageEmptyIcon","MessageSmallIcon","MessageIcon","MinusIcon","MoveTriggerIcon","MyWorkIcon","NoteAddIcon","NoteIcon","NotificationBellIcon","OpenExpandedIcon","OpenSheetIcon","OrderFirstIcon","PaidSmallIcon","PauseCircleOutlineIcon","PauseIcon","PauseSmallIcon","PencilSmallIcon","PencilIcon","PendingPaymentSmallIcon","PeopleIcon","PersonCircleOffIcon","PersonCircleIcon","PersonPlusIcon","PersonIcon","PlayCircleOutlineIcon","PlayIcon","PlaySmallIcon","PriorityLowIcon","ProjectAddIcon","ProjectTemplateAddIcon","ProjectTemplateConvertIcon","ProjectTemplateIcon","ProjectsIcon","RadioBlankIcon","RadioButtonIcon","cx","cy","r","RearangeIcon","RearrangeSmallIcon","RecurringCheckmarkSmallIcon","RecurringCheckmarkIcon","ReportTimeIcon","ReportsIcon","RocketIcon","SearchLargeIcon","SearchIcon","SendBlankIcon","SendFilledIcon","SettingsIcon","SortGeneralIcon","SortIcon","StarOutlineIcon","StarIcon","SystemSettingsIcon","TaskAddIcon","TaskListAddIcon","TaskListCompleteIcon","ThumbUpOutlineIcon","TrashIcon","TreeDotsIcon","UploadIcon","ViewGridIcon","ViewListIcon","ViewTimelineIcon","VolumeHighIcon","WarningTriangleSmallIcon","WarningTriangleIcon","WarningIcon","WorkloadIcon","StyledNavElement","nav","StyledListWrapper","StyledOList","ol","listStyleType","padding","margin","StyledMenuList","StyledBreadcrumbListItem","flexShrink","Breadcrumbs","_ref$separator","separator","internalRef","listWrapperRef","olRef","widthCollectionRef","menuBreadcrumbs","setMenuBreadcrumbs","useResizeObserver","childDimensions","parentWidth","childWidth","childrenCollection","Children","toArray","_useMemo2","slice","length","menuCollection","listCollection","diffWidth","separatorWidth","_olRef$current","querySelectorAll","_olRef$current$queryS","offsetWidth","breadcrumbItems","_olRef$current2","childWidthCollection","maxIndex","currentIndex","childSumWidth","result","_breadcrumbItems$curr","push","pop","oldVal","total","collection","sumWidth","totalToDecrease","newValue","end","child","Fragment","defaultStyle","transitionProperty","transitionDuration","transitionTimingFunction","transformOrigin","transitionStyles","entering","transitionDelay","entered","exiting","FromElement","inProp","_ref$timeout","timeout","Transition","appear","state","StyledTooltip","$isLight","TooltipAnimation","Tooltip","_ref2$isLight","isLight","_ref2$placement","_ref2$TransitionCompo","TransitionComponent","popperTooltipStyle","popperTooltipClassName","disable","handleOwnRef","childrenProps","onMouseOver","type","removeAttribute","onMouseLeave","currentTarget","Body2","StyledCounterButtonWrapper","StyledCounterButton","$active","$selected","StyledCounterButtonCounter","StyledCounterButtonReset","StyledCounterButtonLabel","pointerEvents","CounterButton","label","icon","_ref$counter","counter","tooltipText","onClearAll","customClassNames","wrapper","interactionDisabled","months","month","navBar","navButtonPrev","navButtonNext","navButtonInteractionDisabled","caption","weekdays","weekdaysRow","weekday","week","weekNumber","day","footer","todayButton","today","selected","outside","weekend","userAvailability","nonWorkingDay","StyledNavBarButton","$direction","StyledMonths","left","flexWrap","StyledMonth","cursor","$isSelected","$isCurrent","$isCurrentQuarter","StyledYearMonthPicker","textAlign","StyledYearMonthPickerNavBar","StyledYearMonthPickerNavBarItem","YearMonthPicker","date","localeUtils","_ref$onChange","onChange","_ref$isShown","isShown","text","selectedDays","selectionMode","enteredTo","setEnteredTo","getMonths","handleMonthChange","e","Date","getFullYear","dataset","onMouseEnterCallback","Math","floor","getAttribute","renderMonths","i","onMouseEnter","getMonth","from","to","substring","NavBarElement","onPreviousClick","onNextClick","onPrevious","onNext","CustomNavBarElement","showPreviousButton","showNextButton","labels","locale","_ref$showMonthPicker","showMonthPicker","onChangeDirection","onMonthChange","nextMonth","DateUtils","addMonths","previousMonth","StyledDatePicker","StyledDayPicker","DayPicker","$isYearlyView","StyledDatePickerCSSTransition","CSSTransition","DatePicker","onDayClick","disabledDays","_ref$selectionMode","_ref$month","_ref$onMonthChange","_ref$dateRequired","dateRequired","_ref$firstDayOfWeek","firstDayOfWeek","_ref$fixedWeeks","fixedWeeks","defaultModifiers","modifiers","enteredFrom","setEnteredFrom","_useState6","stopScroll","setStopScroll","_useState8","direction","setDirection","_useState10","isPreselected","setIsPreselected","_useState12","setShowMonthPicker","_useState14","setModifiers","prev","hovered","handleDayClick","moment","isSame","startOf","toDate","endOf","isBetween","isDayAfter","isSelectedFirstDay","handleDayMouseEnter","onDayMouseLeave","onWheel","getTime","deltaY","togglePicker","customNavBarElement","handleYearMonthChange","m","format","handleYearMonthForm","onKeyDownCallback","addEventListener","removeEventListener","SwitchTransition","onDayMouseEnter","navbarElement","onCaptionClick","captionElement","screen","sm","md","lg","xl","xxl","WebkitFontSmoothing","MozOsxFontSmoothing","verticalAlign","textDecoration","userSelect","StyledSpan","StyledDiv","$isTargetable","$isRounded","StyledControl","DateStepper","step","formatCallback","onBack","onForward","minValue","maxValue","_ref$period","period","datePickerClass","_ref$withDatePicker","withDatePicker","_ref$defaultMonth","defaultMonth","fromDate","setFromDate","setToDate","showDatePicker","setShowDatePicker","setMonth","getDatesByPeriod","interval","add","clone","getDateFormatted","actualYear","year","showWeekOrCustomDateFormat","start","startDate","endDate","quarter","onChangeCallback","amount","_getDatesByPeriod2","newFrom","newTo","onDatePickerChange","dates","fromDateTemp","toDateTemp","isAfterMaxDate","isSameOrBefore","isBeforeMinDate","isSameOrAfter","onRightClickHandler","onLeftClickHandler","renderLeftRightButtons","handleShow","closeMenu","isDisabled","dayFormat","isBefore","isAfter","fromDay","toDay","range","dateStepperWidth","MomentLocaleUtils","StyledSteps","StyledStep","$isActiveStep","Steps","numberOfSteps","activeStep","_ref$progressive","progressive","wrapperClassName","steps","a","b","activeSteps","filter","indexOf","StyledTableHead","thead","textTransform","$headerVariant","whiteSpace","StyledTableBody","tbody","textOverflow","StyledTableWrapper","overflowX","overflowY","right","bottom","StyledTable","table","$striped","StyledDataTable","Table","_ref$striped","striped","Thead","_ref2$headerVariant","headerVariant","Tbody","linearAnimation","keyframes","StyledLinearLoader","LinearLoader","dotAnimation","StyledDotsLoader","DotsLoader","rotateAnimation","StyledSpinnerLoader","$diameter","$rotateDurationInSeconds","$activeColorPercentage","$stroke","$inactiveStrokeColor","$activeStrokeColor","SpinnerLoader","radius","_ref$stroke","_ref$activeStrokeColo","activeStrokeColor","_ref$inactiveStrokeCo","inactiveStrokeColor","_ref$activeColorPerce","activeColorPercentage","_ref$rotateDurationIn","rotateDurationInSeconds","SortDirection","groupByKey","items","reduce","item","initialCollapsed","rows","groupBy","groupedData","keys","collapsedKeys","DataTable","header","_ref$rows","sortBy","_ref$sortDirection","sortDirection","None","onSortCallback","theadClass","noResultsCallback","_ref$groupHead","groupHead","isCollapsible","emptyValue","loading","_ref$loadingRows","loadingRows","columnDirection","setColumnDirection","setActive","setHovered","collapsed","setCollapsed","sort","sortByKey","rowsData","Asc","first","toString","second","localeCompare","initialData","setData","sortColumn","previousDirection","sortable","Desc","grouped","cellMouseOver","HTMLElement","cellMouseOut","renderNoResults","colSpan","tableRef","overlayStyles","clientHeight","renderCell","h","row","colIndex","renderCallback","renderRow","rowIndex","toggleCollapse","collapseKey","groupkey","prevState","newState","renderPlaceholders","placeholders","_","col","renderRows","_typeof","last","trim","hidden","allGroupsCollapsed","every","hasCollapsed","some","toggleAllCollapsed","hideCollapsed","burstScale","burstAnimation","StyledCompleteCheckbox","$primary","$completed","$disabled","$animation","$checkMarkClassName","CompleteCheckbox","completed","_ref$animate","animate","_ref$primary","checkMarkClassName","points","PaperStyles","StyledPaper","Paper","_ref$type","_ref$hover","hover","_ref$useOptimizedShad","useOptimizedShadow","StyledScaleBarInner","$width","StyledScaleBar","ScaleBar","StyledCard","Card","_ref$hoverable","hoverable","_ref$paperType","paperType","StyledEntityCard","$renderAs","EntityCard","renderAs","properties","renderAsListItem","p","showInList","name","render","renderAsGridItem","headerSection","cardSection","bodySection","footerSection","renderProperty","Title1","Title2","Header2","Header3","Body1","Caption1","Caption2","StyledSignifier","StyledSignifierTransition","StyledIcon","svg","signifierTypes","Signifier","_ref$value","tooltipClassName","console","warn","setPrevValue","max","v","renderSignifier","includes","StyledWrapper","StyledAvatar","img","Avatar","url","_ref$alt","alt","src","StyledDot","$size","Dot","StyledTag","StyledTagDot","$showText","StyledTagText","Tag","_ref$showText","showText","_ref$showDot","showDot","StyledHiglightedText","searchBy","matchCase","textComparator","searchByComparator","toLowerCase","beforeHighlighted","highLighted","afterHighlighted","replace","handleKeyboardMovement","flatOptions","showAddNew","showDefaultOption","options","id","hoveredIndex","findIndex","option","isHoveredLastOption","isHoveredFirstOption","StyledOption","Option","renderOption","_ref$onClick","handleOnMouseEnter","StyledInput","input","StyledLabel","StyledCheckbox","Checkbox","_ref$id","htmlFor","StyledOptionGroupLi","StyledOptionGroup","StyledOptionGroupHeader","h3","StyledOptionGroupOption","OptionGroup","checked","setHover","renderOptions","optionGroupClassName","list","getElementById","_document$getElementB","isAllOptionsChecked","handleHover","allOptionValues","values","unique","pos","StyledScrollShadow","StyledScrollShadowTop","top","$innerColor","$outerColor","StyledScrollShadowBottom","StyledScrollShadowLeft","StyledScrollShadowRight","ScrollShadow","_ref$disableVertical","disableVertical","_ref$disableHorizonta","disableHorizontal","_ref$invertHorizontal","invertHorizontal","_ref$invertVertical","invertVertical","innerColor","outerColor","setOpacity","scrollHeight","scrollWidth","clientWidth","scrollTop","scrollLeft","min","bottomScrollTop","offset","onScroll","useInitScrollRef","element","invert","useHeight","setHeight","prevMaxHeight","maxHeight","prevVisibility","elementHeight","ScrollElement","_ref$invert","createElement","StyledAutocompleteScrollShadow","$isHidden","StyledAutocompleteBody","StyledAutocompleteNewItem","isOptionGroup","Autocomplete","_ref$options","inputEl","_ref$selected","noResultText","_ref$renderOption","defaultValue","handleChange","optionClassName","handleEmptyAction","disabledInternalSort","AutocompleteClassName","handleDefaultOptionChange","preselectDefaultValue","_ref$keepSameOptionsO","keepSameOptionsOrder","_ref$autoHeightMax","autoHeightMax","clearInputOnSelect","itemRef","listRef","selectedOptions","isArray","handleSort","opts","sortList","_toConsumableArray","sortedList","by","setFilter","handleEmpty","_inputEl$current","onAddNewMouseEnter","renderAddNew","filterOptions","trimmedFilter","acc","groupedOption","filteredOptions","handleInputChange","handleHoverCallback","toggleSelected","_id","dispatchEvent","Event","bubbles","handleMouseEnter","handleRenderOption","highlightText","handleOnMouseLeave","itemOffset","getClientHeight","getScrollTop","offsetTop","handleOnKeyDown","inputRef","isDefaultOptionSelected","showNoResult","renderNoResult","Scrollbars","autoHeight","StyledInputWrapper","$invalid","$loading","Input","_ref$invalid","invalid","startAdornment","endAdornment","wrapRef","intInputRef","handleWrapperClick","_intInputRef$current","StyledRadioInput","StyledRadioLabel","StyledRadioButton","$isControlled","$isHovered","RadioButton","StyledSelectInput","StyledSelectForm","form","StyledOptionContentWrapper","StyledOptionIndicator","StyledOptionText","textColor","StyledAdditionalInfo","StyledMultiAvatarImg","StyledMultiAvatarInner","StyledMultiAvatar","$urlCount","MultiAvatar","setSize","slicedUrl","OptionContent","imageUrl","additionalInfo","Select","actionIcon","actionLabel","placeholder","_ref$emptyAction","emptyAction","_ref$disableSearch","disableSearch","forceCloseMenu","selectClassName","onSelectOpen","onSelectClose","_ref$preselectDefault","prop","formRef","selectOptions","allGroupOptions","_childNode$current","selectedValue","_formRef$current","reset","handleDefaultOptionChangeCallback","image","autoFocus","StyledNav","$role","StyledNavList","StyledNavListItem","StyledNavAsSelect","StyledNavAsMoreTarget","StyledNavListItemMore","StyledExpand","StyledExpandSingle","$expanded","ExpandSingle","expanded","Nav","_ref$alignment","alignment","onSelect","onMoreOptionSelect","_ref$role","moreLabel","visibleTabIndexes","setVisibleTabIndexes","measuringRender","setMeasuringRender","moreVisible","setMoreVisible","renderNavAsSelect","setRenderNavAsSelect","setOptions","moreOpened","setMoreOpened","_useState16","isMounted","setIsMounted","navItemNames","allOptions","navRef","navItemsRefs","moreItemRef","Number","useLayoutEffect","containerWidth","_navRef$current","itemsWidth","moreItemWidth","_moreItemRef$current","firstItemWidth","visible","allWidth","handleResize","debounce","window","_step","_iterator","setTimeout","disconnect","visibleTabs","tabs","onMoreOptionClick","navAsSelect","setMoreOpen","setMoreClose","el","InputAdornmentBase","$disablePointerEvents","InputAdornment","disablePointerEvents","ExpandAll","StyledMenuSelectorDots","StyledMenuSelectorBack","StyledMenuSelector","StyledMenuSelectorInner","MenuSelector","onEdit","_ref$autoFocus","onFocus","onBlur","_ref$autoComplete","autoComplete","StyledTextarea","textarea","Textarea","createChainedFunction","functions","func","apply","this","Modal","disableBackgroundClick","_ref$disableBackgroun2","hasTransition","prototype","hasOwnProperty","call","getHasTransition","handleBackgroundClick","handleEnter","handleExited","StyledSheetIcons","StyledSheetWrapper","$position","StyledSheetWrapperPaper","attrs","paperClass","flex","StyledSheetControlsTop","StyledSheetControlsBottom","StyledSheetControlsCenterIn","StyledSheetControlsCenterOut","StyledAnimatedSpan","$state","$durationIn","$maxDurationIn","$durationOut","$maxDurationOut","StyledCssTransition","Sheet","_ref$controls","controls","_ref$animation","animation","bodyStyle","bodyClassName","control","durationOut","durationIn","maxDurationIn","maxDurationOut","StyledHeader","Header","StyledAutoResizeTextarea","AutoResizeTextarea","minRows","_ref$maxRows","maxRows","_ref$preventNewRowOnE","preventNewRowOnEnter","_ref$cursorAtTextEnd","cursorAtTextEnd","setRows","calcRows","elem","previousRows","currentRows","handleOnChange","handleFocus","setSelectionRange","handleTextAreaKeyDown","minHeight","StyledAccordion","borderBottomWidth","StyledAccordionItem","StyledAccordionItemBody","StyledAccordionItemHead","StyledAccordionItemHeadText","StyledAccordionItemHeadIcon","AccordionContext","Accordion","_ref$allowMultipleExp","allowMultipleExpanded","_ref$allowZeroExpande","allowZeroExpanded","_ref$preExpanded","preExpanded","_ref$disableToggleIco","disableToggleIcon","customToggleIcon","expandedItems","setExpandedItems","toggleExpandedCallback","prevExpanded","toggleExpanded","ItemContext","AccordionItem","accordionContext","itemId","randomString","random","isItemExpanded","AccordionItemHead","itemContext","onClickCallback","toggleIcon","AccordionItemBody","divRef","StyledChoose","Choose","StyledLinkElement","StyledLink","$iconOnly","StyledLinkElements","StyledBackLink","backgroundRepeat","BackLink","Link","SlideFromTop","StyledDialog","StyledDialogTitle","StyledDialogContent","StyledDialogContentDivider","StyledDialogActions","DialogTitle","_ref$disableDefaultHe","disableDefaultHeading","DialogContent","DialogContentDivider","DialogActions","_Dialog","_ref$enableBackground","enableBackgroundClick","Dialog","Title","Content","ContentDivider","Actions","ConfirmDialog","onCancel","onConfirm","_ref$dialogTitle","dialogTitle","_ref$dialogContent","dialogContent","_ref$confirmBtnText","confirmBtnText","_ref$cancelBtnText","cancelBtnText","_ref$shouldShowCancel","shouldShowCancelButton","_ref$isLoading","isLoading","StyledSelectDate","StyledSelectDateButton","StyledConfirmDialog","StyledSelectDateDatePicker","StyledSelectDateFooter","StyledSelectDateButtons","StyledButtonSave","StyledButtonClose","StyledButtonCloseColored","StyledIconComponent","DatePickerForm","_ref$saveButtonText","saveButtonText","_ref$cancelButtonText","cancelButtonText","_ref$clearButtonText","clearButtonText","onSave","onClear","_ref$disabledSaveButt","disabledSaveButton","renderDay","StyledPressed","Pressed","SelectDateTarget","IconComponent","_ref$title","_ref$forceHideTooltip","forceHideTooltip","targetIconClassName","getUtcTimestampFromDate","utc","getDate","unix","isDayInRange","repeating","SelectDate","changeMode","_ref$trigger","trigger","labelType","_ref$modalHeaderText","modalHeaderText","_ref$modalDiscardMess","modalDiscardMessage","_ref$modalDiscardBtnT","modalDiscardBtnText","_ref$modalCancelBtnTe","modalCancelBtnText","onToggleDatePicker","_ref$required","required","_ref$defaultTimezoneA","defaultTimezoneAware","_ref$longDateFormat","longDateFormat","_ref$defaultShowDateP","defaultShowDatePicker","targetClassName","_ref$defaultLabelText","defaultLabelText","targetTextClassName","_ref$dateFormat","dateFormat","_ref$daysToModify","daysToModify","_ref$weekends","weekends","_ref$weekendLabel","weekendLabel","_ref$weekendIsSelecta","weekendIsSelectable","disableDaysBefore","timezoneAware","setTimezoneAware","labelText","local","currentYear","formattedEndDate","formattedStartDate","modifiedDates","offsetFrom","utcOffset","offsetTo","handleModifiedSave","selectedDates","getDefaultMonth","newDates","setNewDates","showDiscardModal","setShowDiscardModal","handleSave","handleBeforeCloseMenu","selectedDaysFrom","selectedDaysTo","newDatesFrom","newDatesTo","handleCancel","handleShowDatePicker","handleCloseDiscardModal","handleClear","handleSaveDiscardModal","userAvailabilities","globalDaysOff","selectableGlobalDaysOff","currentDay","getDay","nonWorkingDays","toJSON","titles","renderDatePickerForm","renderTargetEl","StyledToastMessage","$type","$dropShadow","StyledToastMessageText","StyledCloseSmallIcon","ToastMessage","_ref$dismissible","dismissible","_ref$dropShadow","dropShadow","handleOnClose","timer","clearTimeout","Fade","duration","Slide","directionSign","_ref$initialDirection","initialDirection","StyledSlideLeftRight","createGlobalStyle","SlideLeftRightTransition","_ref$direction","unmountOnExit","ResizeTransition","Reveal","Scale","StyledValueButtonLabel","StyledValueButtonValue","StyledValueButton","ValueButton","_ref$alwaysShowIcon","alwaysShowIcon","Trigger","StyledSelectTrigger","StyledCaretIcon","$open","SelectTrigger","StyledToggleSlider","StyledToggleSliderOff","StyledToggleSliderOn","StyledToggleCheckbox","StyledHelper","StyledToggle","Toggle","StyledComboBoxInput","StyledIconDefaults","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxCloseSmallIcon","StyledComboBoxList","StyledChipWrapper","gap","$autoSize","ChipContainer","$backgroundColor","$showClose","ChipTrigger","ChipCloseIcon","Chip","leftAdornment","closeClassName","typographyProps","showClose","_variant","ConditionalWrapper","condition","wrap","ComboBox","isFirst","handler","_ref$loading","loadingText","renderChip","_ref$forceCloseMenu","_ref$limitChips","limitChips","hiddenNumberText","_ref$inPortal","inPortal","inputWrapperClassName","scrollWrapper","selectedName","find","q","setValue","wrapperRef","chipWrapper","comboBoxRef","isFirstRender","_comboBoxRef$current","contains","listener","_childNode$current2","blur","handleDeselect","handleMouseDown","handleBlur","renderChipAdornment","avatarProps","$_css","$_css2","showOnClose","newSelected","autoSize","elements","isGrouped","groupedOptions","o","_index","splice","optionItem","avatarSize","showXIcon","hasSelected","$_css3","$_css4","$_css5","alignSelf","_comboBoxRef$current2","allowPinchZoom","_comboBoxRef$current3","StyledText","StyledAddCrossIcon","StyledAddToListButton","AddToListButton","StyledProgressBar","StyledProgressBarProgress","$height","ProgressBar","progress","progressColor","_ref$width","progressNumber","widthPercent","width_percent","stroke_min","StyledSvg","StyledBackgroundCircle","circle","$strokeDashOffset","StyledForegroundCircle","StyledProgressRingPercentage","$fontSize","ProgressRing","_ref$progress","_ref$radius","_ref$showPercentage","showPercentage","normalizedRadius","circumference","PI","strokeDashoffsetOuter","strokeDashoffsetInner","strokeDasharray","dominantBaseline","textAnchor","ProgressPie","ApplauseIcon","strokeLinecap","HeartIcon","PartyIcon","ry","SmileIcon","ThinkingIcon","ThumbsUpIcon","ThumbsDownIcon","Label","GlobalStyle","maxWidth","boxSizing","EditableContent","inputProps","evt","forwardedAs","EditableText","currentValue","setCurrentValue","prevValue","escapeRef","FolderIcon","withDocuments","filterUnits","dy","stdDeviation","xlinkHref","$background","$isCollection","StyledEntityProperty","$order","$visibleFromBreakpoint","StyledEntityGroup","$gap","EntityGroupContext","EntityGroup","_ref$renderAs","isCollection","background","classSuffix","EntityProperty","listOrder","listWidth","visibleFromBreakpoint","Entity","Group","Property","Submenu","onHeightChange","StyledStartMenuList","StyledStartMenuListItem","StyledStartMenuTitle","StyledStartMenuNoResults","StyledStartMenuDot","StartMenu","onItemClick","shouldRenderSubmenus","emptyFilterText","submenu","count","_selected$id","WizardContext","WizardContextProvider","StepActionButton","onNextButtonClick","_ref$actionLabel","isLast","StyledStepHeader","StyledStepTitle","StyledStepHeaderLeft","StyledCustomStep","Step","subtitle","onPreviousButtonClick","_ref$shouldRenderNext","shouldRenderNextButton","_ref$changingStepInPr","changingStepInProgress","_ref$skip","skip","onActionButtonClick","Wizard","setActiveStep","setChangingStepInProgress","goNext","stepEl","_stepEl$props","goPrevious","_step$props","renderActiveStep","close","StyledBadge","dimension","_ref$backgroundColor","_ref$isVisible","isVisible","clearAllText","_ref$resetLabel","resetLabel","menu","setMenu","isLeft","setIsLeft","enteredMenu","setEnteredMenu","handleHeight","offsetHeight","handleItemClick","setIndex","selectedArray","newFilters","handleClearAll","handleReset","c","_entry$submenu","onEntered","MoveFocusInside","searchPlaceholder","disableInternalSort","Boolean","_filter$id"],"mappings":"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"}