@onewelcome/react-lib-components 0.2.6 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"react-lib-components.cjs.development.js","sources":["../src/_BaseStyling_/BaseStyling.tsx","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../src/Button/BaseButton.tsx","../src/Button/Button.tsx","../src/Icon/Icon.tsx","../src/hooks/useSpacing.ts","../src/Typography/Typography.tsx","../src/Breadcrumbs/Breadcrumbs.tsx","../src/hooks/usePosition.ts","../src/Popover/Popover.tsx","../src/hooks/useBodyClick.ts","../src/ContextMenu/ContextMenu.tsx","../src/ContextMenu/ContextMenuItem.tsx","../src/Link/Link.tsx","../src/Button/IconButton.tsx","../src/Tabs/Tab.tsx","../src/util/helper.tsx","../src/Tabs/TabButton.tsx","../src/Tabs/TabPanel.tsx","../src/Tabs/Tabs.tsx","../src/TextEllipsis/TextEllipsis.tsx","../src/Tiles/Tile.tsx","../src/Tiles/Tiles.tsx","../src/Tooltip/Tooltip.tsx","../src/Skeleton/Skeleton.tsx","../src/StatusIndicator/StatusIndicator.tsx","../src/Form/Input/Input.tsx","../src/Form/Select/Select.tsx","../src/Form/Select/Option.tsx","../src/Form/Label/Label.tsx","../src/Pagination/Pagination.tsx","../src/hooks/useRepeater.ts","../src/Notifications/BaseModal/BaseModalContext.ts","../src/Notifications/BaseModal/BaseModal.tsx","../src/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.tsx","../src/Notifications/Snackbar/useSnackbar.ts","../src/Notifications/BaseModal/BaseModalContent/BaseModalContent.tsx","../src/Notifications/BaseModal/BaseModalActions/BaseModalActions.tsx","../src/Notifications/Dialog/DialogActions/DialogActions.tsx","../src/Notifications/Dialog/DialogTitle/DialogTitle.tsx","../src/Notifications/Dialog/Dialog.tsx","../src/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.tsx","../src/Notifications/DiscardChangesModal/DiscardChangesDialog/DiscardChangesDialog.tsx","../src/Notifications/DiscardChangesModal/DiscardChangesModal.tsx","../src/Notifications/SlideInModal/SlideInModal.tsx","../src/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.tsx","../src/hooks/useAnimation.ts","../src/Notifications/Snackbar/SnackbarItem/SnackbarItem.tsx","../src/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.tsx","../src/hooks/useFormSelector.ts","../src/Form/FormHelperText/FormHelperText.tsx","../src/Form/FormSelectorWrapper/FormSelectorWrapper.tsx","../src/Form/Checkbox/Checkbox.tsx","../src/Form/Radio/Radio.tsx","../src/Form/Textarea/Textarea.tsx","../src/Form/Toggle/Toggle.tsx","../src/Form/FormControl/FormControl.tsx","../src/Form/FormGroup/FormGroup.tsx","../src/Form/Wrapper/Wrapper/Wrapper.tsx","../src/hooks/useWrapper.ts","../src/Form/Wrapper/InputWrapper/InputWrapper.tsx","../src/Form/Wrapper/SelectWrapper/SelectWrapper.tsx","../src/Form/Wrapper/TextareaWrapper/TextareaWrapper.tsx","../src/Form/Fieldset/Fieldset.tsx","../src/Form/Form.tsx","../src/Form/Wrapper/RadioWrapper/RadioWrapper.tsx","../src/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.tsx","../src/Wizard/wizardStateReducer.ts","../src/Wizard/WizardStateProvider.tsx","../src/Wizard/Wizard.tsx","../src/Wizard/WizardActions/WizardActions.tsx","../src/Wizard/BaseWizardSteps/BaseWizardSteps.tsx","../src/Wizard/WizardSteps/WizardSteps.tsx","../src/DataGrid/DataGridHeader/DataGridHeaderCell.tsx","../src/DataGrid/DataGridHeader/DataGridHeader.tsx","../src/DataGrid/DataGridActions/DataGridColumnsToggle.tsx","../src/DataGrid/DataGridActions/DataGridActions.tsx","../src/DataGrid/DataGridBody/DataGridCell.tsx","../src/DataGrid/DataGridBody/DataGridRow.tsx","../src/DataGrid/DataGridBody/DataGridBody.tsx","../src/DataGrid/DataGrid.tsx"],"sourcesContent":["import React, { Fragment, HTMLAttributes, ReactChild, useEffect, useState } from \"react\";\n\ninterface CSSProperties {\n colorFocus?: string;\n colorPrimary?: string;\n colorSecondary?: string;\n colorTertiary?: string;\n defaultLineHeight?: string;\n buttonBorderRadius?: string;\n buttonBorderWidth?: string;\n buttonFontSize?: string;\n buttonBorderStyle?: string;\n buttonFillTextColor?: string;\n buttonFillBackgroundColor?: string;\n buttonOutlineHoverTextColor?: string;\n inputBorderColor?: string;\n inputBorderRadius?: string;\n inputBorderWidth?: string;\n inputBorderWidthFocus?: string;\n inputBorderStyle?: string;\n inputBackgroundColor?: string;\n modalShadowColor?: string;\n modalBackgroundColor?: string;\n modalHeaderBackgroundColor?: string;\n snackbarTextColor?: string;\n snackbarInfoBackgroundColor?: string;\n snackbarSuccessBackgroundColor?: string;\n snackbarErrorBackgroundColor?: string;\n snackbarBorderRadius?: string;\n dataGridRowBackgroundColor?: string;\n dataGridRowHoverBackgroundColor?: string;\n tabsBackgroundColor?: string;\n tabBorderWidth?: string;\n tabBorderStyle?: string;\n tablistBorderWidth?: string;\n tablistBorderStyle?: string;\n tablistBorderColor?: string;\n tabTextColor?: string;\n default?: string;\n success?: string;\n error?: string;\n disabled?: string;\n greyedOut?: string;\n warning?: string;\n fontFamily?: string;\n fontFamilyCode?: string;\n fontSize?: string;\n fontSizeH1?: string;\n fontSizeH2?: string;\n fontSizeH3?: string;\n fontSizeH4?: string;\n fontSizeSub?: string;\n fontSizeCode?: string;\n}\n\nexport interface Props extends HTMLAttributes<HTMLDivElement> {\n children?: ReactChild;\n properties?: CSSProperties;\n}\n\nexport const BaseStyling = ({ children, properties = {} }: Props) => {\n const defaultProperties: CSSProperties = {\n colorFocus: \"#0085f2\",\n colorPrimary: \"#9e006b\",\n colorSecondary: \"#003b5e\",\n colorTertiary: \"#ff1e4e\",\n defaultLineHeight: \"26px\",\n buttonBorderRadius: \"20px\",\n buttonBorderWidth: \"2px\",\n buttonFontSize: \"1rem\",\n buttonBorderStyle: \"solid\",\n buttonFillTextColor: \"#fff\",\n buttonFillBackgroundColor: \"#fff\",\n buttonOutlineHoverTextColor: \"#fff\",\n inputBorderColor: \"#e9e9eb\",\n inputBorderRadius: \"8px\",\n inputBorderWidth: \"1px\",\n inputBorderWidthFocus: \"2px\",\n inputBorderStyle: \"solid\",\n inputBackgroundColor: \"#fff\",\n modalShadowColor: \"rgba(0, 0, 0, 0.16)\",\n modalBackgroundColor: \"#f5f8f8\",\n modalHeaderBackgroundColor: \"#fff\",\n snackbarTextColor: \"#fff\",\n snackbarInfoBackgroundColor: \"#003b5e\",\n snackbarSuccessBackgroundColor: \"#008a28\",\n snackbarErrorBackgroundColor: \"#d9291c\",\n snackbarBorderRadius: \"8px\",\n dataGridRowBackgroundColor: \"transparent\",\n dataGridRowHoverBackgroundColor: \"#f5e6f0\",\n tabsBackgroundColor: \"#FFF\",\n tabBorderWidth: \"2px\",\n tabBorderStyle: \"solid\",\n tablistBorderWidth: \"1px\",\n tablistBorderStyle: \"solid\",\n tablistBorderColor: \"#C3C3C7\",\n tabTextColor: \"#0f0f1e\",\n default: \"#0f0f1e\",\n success: \"#008a28\",\n error: \"#d9291c\",\n disabled: \"#e9e9eb\",\n greyedOut: \"#6f6f76\",\n warning: \"#ff6105\",\n fontFamily: \"'Red Hat Display', sans-serif\",\n fontFamilyCode: \"'Red Hat Mono', sans-serif\",\n fontSize: \"1rem\",\n fontSizeH1: \"2.5rem\",\n fontSizeH2: \"1.625rem\",\n fontSizeH3: \"1.5rem\",\n fontSizeH4: \"1.25rem\",\n fontSizeSub: \".75rem\",\n fontSizeCode: \"1rem\"\n };\n\n /** We need a loading state, because otherwise you see the colors flash from the default to the possible overridden ones. */\n const [isLoading, setIsLoading] = useState(true);\n\n /** Set the actual CSS properties on the HTML :root object */\n const setCSSProperties = (CSSPropertiesObject: CSSProperties) => {\n for (const [key, value] of Object.entries(CSSPropertiesObject)) {\n const formattedPropertyName = key.replace(/([A-Z])/g, val => `-${val.toLowerCase()}`);\n document.documentElement.style.setProperty(`--${formattedPropertyName}`, value);\n }\n };\n\n /** Check if the properties prop object is filled with anything. If it is, we want to shallow merge it with the default BaseStyling. */\n useEffect(() => {\n if (Object.keys(properties).length !== 0) {\n const mergedState = { ...defaultProperties, ...properties };\n setCSSProperties(mergedState);\n } else {\n setCSSProperties(defaultProperties);\n }\n setIsLoading(false);\n }, [properties]);\n\n /** Only render if we're not loading */\n return !isLoading ? <Fragment>{children}</Fragment> : null;\n};\n","var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export{n as default};\n","import React, { ComponentPropsWithRef } from \"react\";\nimport classes from \"./BaseButton.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"button\"> {\n type?: \"submit\" | \"button\" | \"reset\";\n disabled?: boolean;\n color?: \"primary\" | \"secondary\" | \"tertiary\" | \"default\";\n}\n\nexport const BaseButton = React.forwardRef<HTMLButtonElement, Props>(\n ({ children, type = \"button\", className, ...rest }, ref) => {\n const validTypes = [\"submit\", \"button\", \"reset\"];\n\n if (!validTypes.includes(type))\n throw new Error(\n `You have entered an invalid button type. Expected 'submit', 'button' or 'reset' got ${type}`\n );\n\n return (\n <button\n {...rest}\n ref={ref}\n type={type}\n className={`${classes.button} ${className ? className : \"\"}`}\n >\n {children}\n </button>\n );\n }\n);\n","import React from \"react\";\nimport { BaseButton, Props as BaseButtonProps } from \"./BaseButton\";\nimport classes from \"./Button.module.scss\";\n\nexport interface Props extends BaseButtonProps {\n startIcon?: React.ReactNode | false;\n endIcon?: React.ReactNode | false;\n children?: React.ReactNode;\n variant?: \"text\" | \"fill\" | \"outline\";\n}\n\nexport const Button = React.forwardRef<HTMLButtonElement, Props>(\n (\n {\n children,\n variant = \"fill\",\n color = \"primary\",\n startIcon = false,\n endIcon = false,\n className,\n ...rest\n },\n ref\n ) => {\n const additionalClasses = [];\n\n if (startIcon || endIcon) {\n additionalClasses.push(classes[\"has-icon\"]);\n }\n\n if (startIcon) {\n additionalClasses.push(classes[\"start-icon\"]);\n }\n\n if (endIcon) {\n additionalClasses.push(classes[\"end-icon\"]);\n }\n\n if (className) {\n additionalClasses.push(className);\n }\n\n return (\n <BaseButton\n {...rest}\n ref={ref}\n className={`${classes[color]} ${classes[variant]} ${additionalClasses.join(\" \")}`}\n >\n {startIcon && <i>{startIcon}&nbsp;</i>}\n <span>{children}</span>\n {endIcon && <i>&nbsp;{endIcon}</i>}\n </BaseButton>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from \"react\";\nimport classes from \"./Icon.module.scss\";\n\nexport enum Icons {\n Bell = \"bell\",\n BellAlt = \"bell-alt\",\n Bookmark = \"bookmark\",\n BookmarkAlt = \"bookmark-alt\",\n Build = \"build\",\n Calendar = \"calendar\",\n Change = \"change\",\n Checkmark = \"checkmark\",\n CheckmarkCircle = \"checkmark-circle\",\n CheckmarkCircleAlt = \"checkmark-circle-alt\",\n CheckmarkCircleBreakout = \"checkmark-circle-breakout\",\n CheckmarkSquare = \"checkmark-square\",\n ChevronUp = \"chevron-up\",\n ChevronDown = \"chevron-down\",\n ChevronLeft = \"chevron-left\",\n ChevronRight = \"chevron-right\",\n Circle = \"circle\",\n Clock = \"clock\",\n Copy = \"copy\",\n Edit = \"edit\",\n Ellipsis = \"ellipsis\",\n EllipsisAlt = \"ellipsis-alt\",\n Equal = \"equal\",\n Error = \"error-circle\",\n Eye = \"eye\",\n Filter = \"filter\",\n FilterAlt = \"filter-alt\",\n FilterAltArrow = \"filter-alt-arrow\",\n FilterAltTimes = \"filter-alt-times\",\n Forbidden = \"forbidden\",\n Fullscreen = \"fullscreen\",\n FullscreenExit = \"fullscreen-exit\",\n Gearwheel = \"gearwheel\",\n Grid = \"grid\",\n Hamburger = \"hamburger\",\n Heart = \"heart\",\n Image = \"image\",\n InfoBell = \"info-bell\",\n InfoCircle = \"info-circle\",\n Link = \"link\",\n MinusSquare = \"minus-square\",\n NavigationFirst = \"navigation-first\",\n NavigationLast = \"navigation-last\",\n Plus = \"plus\",\n Radio = \"radio\",\n Refresh = \"refresh\",\n Search = \"search\",\n Share = \"share\",\n Square = \"square\",\n Star = \"star\",\n StarAlt = \"star-alt\",\n TableSearch = \"table-search\",\n Times = \"times\",\n TimesCircle = \"times-circle\",\n TimesCircleAlt = \"times-circle-alt\",\n TimesThin = \"times-thin\",\n Trash = \"trash\",\n TriangleDown = \"triangle-down\",\n TriangleDownCircle = \"triangle-down-circle\",\n TriangleLeft = \"triangle-left\",\n TriangleRight = \"triangle-right\",\n TriangleUp = \"triangle-up\",\n Undo = \"undo\",\n Warning = \"warning\"\n}\n\ntype Tag = \"span\" | \"div\" | \"i\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n icon: Icons;\n color?: string;\n size?: string;\n tag?: Tag;\n}\n\nexport const Icon = React.forwardRef<HTMLDivElement, Props>(\n ({ icon, color, className, style, size, tag = \"span\", ...rest }: Props, ref) => {\n const Component = tag;\n\n return (\n <Component\n {...rest}\n ref={ref}\n style={{ color: color, ...style, fontSize: size }}\n data-icon\n aria-hidden=\"true\"\n className={`${classes[\"icon\"]} ${classes[\"icon-\" + icon]} ${className ? className : \"\"}`}\n />\n );\n }\n);\n","import { CSSProperties } from \"react\";\n\nexport type SpacingMultiplier = 0 | 0.5 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;\ntype SpacingMultiplierStringOrNumber = `${SpacingMultiplier}` | SpacingMultiplier;\ntype MultiValueSpacingMultiplier =\n | `${SpacingMultiplier} ${SpacingMultiplier} ${SpacingMultiplier} ${SpacingMultiplier}`\n | `${SpacingMultiplier} ${SpacingMultiplier} ${SpacingMultiplier}`\n | `${SpacingMultiplier} ${SpacingMultiplier}`\n | SpacingMultiplierStringOrNumber;\n\nexport interface Spacing {\n padding?: MultiValueSpacingMultiplier;\n paddingTop?: SpacingMultiplierStringOrNumber;\n paddingBottom?: SpacingMultiplierStringOrNumber;\n paddingLeft?: SpacingMultiplierStringOrNumber;\n paddingRight?: SpacingMultiplierStringOrNumber;\n margin?: MultiValueSpacingMultiplier;\n marginTop?: SpacingMultiplierStringOrNumber;\n marginBottom?: SpacingMultiplierStringOrNumber;\n marginLeft?: SpacingMultiplierStringOrNumber;\n marginRight?: SpacingMultiplierStringOrNumber;\n}\n\nconst defaultFactor = 0.25;\nconst defaultUnit = \"rem\";\nconst spacingNumberRegex = /(\\d+\\.?\\d*)+/g;\n\nexport const useSpacing = (\n spacingProps?: Spacing,\n style?: CSSProperties\n): CSSProperties | undefined => {\n if (spacingProps) {\n return Object.entries(spacingProps).reduce<CSSProperties>((prev, [spacing, multiplier]) => {\n const matches = String(multiplier).matchAll(spacingNumberRegex);\n const cssSpacingValue = Array.from(matches)\n .map(([multiplierValue]) => `${Number(multiplierValue) * defaultFactor}${defaultUnit}`)\n .join(\" \");\n return { ...prev, [spacing]: cssSpacingValue };\n }, style ?? {});\n }\n return style;\n};\n","import React, { ComponentPropsWithRef, ReactNode } from \"react\";\nimport classes from \"./Typography.module.scss\";\nimport { Spacing, useSpacing } from \"../hooks/useSpacing\";\n\nexport const validVariants = [\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"body\",\n \"body-bold\",\n \"sub-text\",\n \"code\"\n] as const;\nexport type Variant = typeof validVariants[number];\n\ntype Tags =\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"p\"\n | \"div\"\n | \"code\"\n | \"span\"\n | \"sup\"\n | \"sub\"\n | \"strong\"\n | \"em\"\n | \"small\"\n | \"mark\"\n | \"del\"\n | \"ins\"\n | \"blockquote\";\n\nexport interface Props extends ComponentPropsWithRef<any> {\n children: ReactNode;\n variant: Variant;\n tag?: Tags;\n spacing?: Spacing;\n}\n\nexport const Typography = React.forwardRef<any, Props>(\n ({ children, variant, tag, style, spacing, className = \"\", ...rest }: Props, ref) => {\n if (!validVariants.includes(variant)) {\n throw new Error(\n `You entered an invalid variant. You can choose from: ${validVariants}, you entered: ${variant}`\n );\n }\n\n const styleWithSpacing = useSpacing(spacing, style);\n\n if (!tag) {\n switch (variant) {\n case \"h1\":\n case \"h2\":\n case \"h3\":\n case \"h4\":\n case \"code\":\n tag = variant;\n break;\n case \"body\":\n tag = \"p\";\n break;\n case \"body-bold\":\n tag = \"p\";\n break;\n case \"sub-text\":\n tag = \"span\";\n break;\n default:\n tag = \"div\";\n break;\n }\n }\n\n let TagName = tag;\n\n return (\n <TagName\n {...rest}\n ref={ref}\n style={styleWithSpacing}\n className={`${classes[\"typography_style_\" + variant]} ${className}`}\n >\n {children}\n </TagName>\n );\n }\n);\n","import React, { ComponentPropsWithRef, Fragment, ReactElement } from \"react\";\nimport { Icon, Icons } from \"../Icon/Icon\";\nimport { Link, Props as LinkProps } from \"../Link/Link\";\nimport { Typography } from \"../Typography/Typography\";\nimport classes from \"./Breadcrumbs.module.scss\";\n\ntype ChildrenType = ReactElement<LinkProps, typeof Link>;\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n children: ChildrenType | ChildrenType[];\n \"aria-label\": string;\n}\n\nexport const Breadcrumbs = React.forwardRef<HTMLDivElement, Props>(\n ({ children, \"aria-label\": ariaLabel, className = \"\", ...rest }: Props, ref) => {\n const items = React.Children.map(children, (child, index) => {\n const isLastElement = Array.isArray(children) ? index === children.length - 1 : true;\n if (isLastElement) {\n return (\n <Typography\n key={child.key}\n variant=\"body\"\n tag=\"span\"\n className={classes[\"last\"]}\n aria-current=\"page\"\n >\n {child.props.children}\n </Typography>\n );\n } else {\n return (\n <Fragment key={child.key}>\n {React.cloneElement(child)}\n <Icon icon={Icons.ChevronRight} className={classes[\"icon\"]} />\n </Fragment>\n );\n }\n });\n return (\n <nav\n {...rest}\n ref={ref}\n aria-label={ariaLabel}\n className={`${classes[\"breadcrumbs\"]} ${className}`}\n >\n {items}\n </nav>\n );\n }\n);\n","import React, { useState } from \"react\";\n\nexport interface ConfigObject {\n relativeElement: RefElement;\n elementToBePositioned: RefElement;\n transformOrigin?: Placement;\n placement?: Placement;\n offset?: Offset;\n}\n\nexport type HorizontalPlacement = \"left\" | \"center\" | \"centerh\" | \"right\";\nexport type VerticalPlacement = \"top\" | \"center\" | \"centerv\" | \"bottom\";\n\ntype Axis = \"vertical\" | \"horizontal\";\ntype RefElement = React.RefObject<HTMLOrSVGElement> | undefined;\n\ninterface DomRectObject {\n top: number;\n right: number;\n bottom: number;\n left: number;\n center: number;\n centerh: number;\n centerv: number;\n width: number;\n height: number;\n x: number;\n y: number;\n}\n\nexport interface Placement {\n horizontal: HorizontalPlacement;\n vertical: VerticalPlacement;\n}\n\nexport interface Offset {\n top: number;\n right: number;\n bottom: number;\n left: number;\n}\n\nexport interface Position {\n top: PositionType;\n right: PositionType;\n bottom: PositionType;\n left: PositionType;\n}\n\ninterface Dimensions {\n height: number;\n width: number;\n}\n\ntype PositionType = number | \"initial\";\n\nconst defaultConfigObject: ConfigObject = {\n relativeElement: undefined,\n elementToBePositioned: undefined,\n transformOrigin: {\n horizontal: \"left\",\n vertical: \"top\"\n },\n placement: {\n horizontal: \"left\",\n vertical: \"top\"\n },\n offset: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }\n};\n\n/* eslint-disable @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-non-null-asserted-optional-chain*/\nexport const usePosition = (providedConfigObject: ConfigObject = defaultConfigObject) => {\n const configObject = { ...defaultConfigObject, ...providedConfigObject };\n\n if (configObject.transformOrigin === undefined) {\n configObject.transformOrigin = defaultConfigObject.transformOrigin;\n }\n\n if (configObject.placement === undefined) {\n configObject.placement = defaultConfigObject.placement;\n }\n\n if (configObject.offset === undefined) {\n configObject.offset = defaultConfigObject.offset;\n }\n\n const [position, setPosition] = useState<Position>({\n left: 0,\n top: 0,\n right: \"initial\",\n bottom: \"initial\"\n });\n\n const _fixPossibleViewportOverflow = (\n value: number,\n transformOrigin: Placement,\n requestedReturnValue: Axis,\n elDimensions: Dimensions\n ) => {\n let returnValue = value;\n\n if (\n (transformOrigin[requestedReturnValue] === \"left\" && returnValue < 0) ||\n (transformOrigin[requestedReturnValue] === \"top\" && returnValue < 0) ||\n (transformOrigin[requestedReturnValue] === \"center\" && returnValue < 0) ||\n (transformOrigin[requestedReturnValue] === \"bottom\" && returnValue < 0)\n ) {\n returnValue = 0;\n }\n\n if (\n (transformOrigin[requestedReturnValue] === \"left\" &&\n returnValue > window.innerWidth - elDimensions.width) ||\n (transformOrigin[requestedReturnValue] === \"center\" &&\n requestedReturnValue === \"horizontal\" &&\n returnValue > window.innerWidth - elDimensions.width)\n ) {\n returnValue = window.innerWidth - elDimensions.width;\n }\n\n if (\n (transformOrigin[requestedReturnValue] === \"top\" &&\n returnValue > window.innerHeight - elDimensions.height) ||\n (transformOrigin[requestedReturnValue] === \"center\" &&\n requestedReturnValue === \"vertical\" &&\n returnValue > window.innerHeight - elDimensions.height)\n ) {\n returnValue = window.innerHeight - elDimensions.height;\n }\n\n if (\n transformOrigin[requestedReturnValue] === \"right\" &&\n returnValue > window.innerWidth - elDimensions.width\n ) {\n returnValue = window.innerWidth - elDimensions.width;\n }\n\n if (\n transformOrigin[requestedReturnValue] === \"bottom\" &&\n returnValue > window.innerHeight - elDimensions.height\n ) {\n returnValue = window.innerHeight - elDimensions.height;\n }\n\n return returnValue;\n };\n\n const _applyOffsetToPlacementValue = (\n value: number,\n requestedReturnValue: Axis,\n transformOrigin: Placement\n ) => {\n let returnValue = value;\n if (\n (requestedReturnValue === \"horizontal\" && configObject.offset?.left !== 0) ||\n (requestedReturnValue === \"horizontal\" && configObject.offset?.right !== 0)\n ) {\n if (\n transformOrigin[requestedReturnValue] === \"left\" ||\n transformOrigin[requestedReturnValue] === \"center\"\n ) {\n returnValue += configObject.offset?.left!;\n returnValue -= configObject.offset?.right!;\n }\n\n if (transformOrigin[requestedReturnValue] === \"right\") {\n returnValue -= configObject.offset?.left!;\n returnValue += configObject.offset?.right!;\n }\n }\n\n if (\n (requestedReturnValue === \"vertical\" && configObject.offset?.top !== 0) ||\n (requestedReturnValue === \"vertical\" && configObject.offset?.bottom !== 0)\n ) {\n if (\n transformOrigin[requestedReturnValue] === \"top\" ||\n transformOrigin[requestedReturnValue] === \"center\"\n ) {\n returnValue += configObject.offset?.top!;\n returnValue -= configObject.offset?.bottom!;\n }\n\n if (transformOrigin[requestedReturnValue] === \"bottom\") {\n returnValue -= configObject.offset?.top!;\n returnValue += configObject.offset?.bottom!;\n }\n }\n\n return returnValue;\n };\n\n const _calculateInitialPlacementValue = (\n transformOrigin: Placement,\n requestedReturnValue: Axis,\n relEl: DomRectObject,\n placementOriginDefinition: HorizontalPlacement | VerticalPlacement,\n elDimensions: Dimensions\n ) => {\n let value = 0;\n\n if (\n transformOrigin[requestedReturnValue] === \"left\" ||\n transformOrigin[requestedReturnValue] === \"top\"\n ) {\n value = relEl[placementOriginDefinition];\n } else if (transformOrigin[requestedReturnValue] === \"center\") {\n value =\n relEl[placementOriginDefinition] -\n elDimensions[requestedReturnValue === \"horizontal\" ? \"width\" : \"height\"] / 2;\n } else if (\n transformOrigin[requestedReturnValue] === \"right\" ||\n transformOrigin[requestedReturnValue] === \"bottom\"\n ) {\n value =\n window[requestedReturnValue === \"horizontal\" ? \"innerWidth\" : \"innerHeight\"] -\n relEl[placementOriginDefinition];\n }\n\n return value;\n };\n\n /**\n *\n * @param requestedReturnValue whether the requested return value is for the horizontal or vertical axis\n * @returns either the horizontally centered placement definition (centerh) or the vertically centered one (centerv)\n */\n const _determineCenteredPlacementOrigin = (requestedReturnValue: Axis) => {\n if (requestedReturnValue === \"horizontal\") {\n return \"centerh\";\n } else if (requestedReturnValue === \"vertical\") {\n return \"centerv\";\n }\n throw new Error(\n `the requested return value isn't \"vertical\" or \"horizontal\" ${requestedReturnValue} was given.`\n );\n };\n\n const _calculatePlacementValue = (\n transformOrigin: Placement,\n placement: HorizontalPlacement | VerticalPlacement,\n requestedReturnValue: Axis,\n relEl: DomRectObject,\n elDimensions: Dimensions\n ): number => {\n const placementOriginDefinition =\n placement === \"center\" ? _determineCenteredPlacementOrigin(requestedReturnValue) : placement;\n\n const value = _calculateInitialPlacementValue(\n transformOrigin,\n requestedReturnValue,\n relEl,\n placementOriginDefinition,\n elDimensions\n );\n\n const valueWithOffset = _applyOffsetToPlacementValue(\n value,\n requestedReturnValue,\n transformOrigin\n );\n\n const valueCorrectionForViewportOverflow = _fixPossibleViewportOverflow(\n valueWithOffset,\n transformOrigin,\n requestedReturnValue,\n elDimensions\n );\n\n return valueCorrectionForViewportOverflow;\n };\n\n const _calculatePlacement = (relEl: DomRectObject, elDimensions: Dimensions, axis: Axis) => {\n const placementValue = _calculatePlacementValue(\n configObject.transformOrigin!,\n configObject.placement![axis]!,\n axis,\n relEl,\n elDimensions\n );\n\n let direction = \"left\";\n let oppositeDirection = \"right\";\n\n if (axis === \"horizontal\" && configObject.transformOrigin?.horizontal === \"right\") {\n direction = \"right\";\n oppositeDirection = \"left\";\n } else if (axis === \"horizontal\") {\n direction = \"left\";\n oppositeDirection = \"right\";\n }\n\n if (axis === \"vertical\" && configObject.transformOrigin?.vertical === \"bottom\") {\n direction = \"bottom\";\n oppositeDirection = \"top\";\n } else if (axis === \"vertical\") {\n direction = \"top\";\n oppositeDirection = \"bottom\";\n }\n\n setPosition(prevState => ({\n ...prevState,\n [direction]: placementValue,\n [oppositeDirection]: \"initial\"\n }));\n };\n\n const calculatePosition = () => {\n if (!configObject.relativeElement?.current) return;\n const relativeElRect = (configObject.relativeElement!\n .current as HTMLElement)!.getBoundingClientRect();\n const elementToBePositionedDimensions: Dimensions = {\n height: (configObject.elementToBePositioned!.current as HTMLElement).offsetHeight,\n width: (configObject.elementToBePositioned!.current as HTMLElement).offsetWidth\n };\n\n /** We want to add a center (horizontal and vertical) property to the DOMRect object. Since it's a special object we can't modify so we clone it and add it. */\n const clonedRelEl = {\n top: relativeElRect.top,\n right: relativeElRect.right,\n bottom: relativeElRect.bottom,\n center: 0,\n centerv: relativeElRect.top + relativeElRect.height / 2,\n centerh: relativeElRect.left + relativeElRect.width / 2,\n left: relativeElRect.left,\n width: relativeElRect.width,\n height: relativeElRect.height,\n x: relativeElRect.x,\n y: relativeElRect.y\n };\n\n _calculatePlacement(clonedRelEl, elementToBePositionedDimensions, \"horizontal\");\n _calculatePlacement(clonedRelEl, elementToBePositionedDimensions, \"vertical\");\n };\n\n return {\n top: position.top,\n bottom: position.bottom,\n left: position.left,\n right: position.right,\n calculatePosition\n };\n};\n","import React, { ComponentPropsWithRef, ReactNode, RefObject, useEffect, useRef } from \"react\";\nimport { Offset, Placement, usePosition } from \"../hooks/usePosition\";\nimport classes from \"./Popover.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n children?: ReactNode;\n show?: boolean;\n anchorEl?: RefObject<HTMLOrSVGElement>; //eslint-disable-line no-undef\n placement?: Placement;\n offset?: Offset;\n transformOrigin?: Placement;\n}\n\nexport const Popover = React.forwardRef<HTMLDivElement, Props>(\n ({ children, className, show, placement, offset, transformOrigin, anchorEl, ...rest }, ref) => {\n const elToBePositioned = useRef<HTMLDivElement>(null);\n\n if (show === undefined) {\n throw new Error('Please make sure to define the \"show\" property on your Popover component');\n }\n\n const { top, left, right, bottom, calculatePosition } = usePosition({\n elementToBePositioned: elToBePositioned,\n relativeElement: anchorEl,\n offset: offset,\n placement: placement,\n transformOrigin: transformOrigin\n });\n\n useEffect(() => {\n calculatePosition();\n }, [show]);\n\n return (\n <div ref={ref} {...rest}>\n <div\n ref={elToBePositioned}\n className={`${classes.popover} ${className ?? \"\"} ${show ? classes.show : \"\"}`}\n style={{ top: top, left: left, right: right, bottom: bottom }}\n >\n {children}\n </div>\n </div>\n );\n }\n);\n","import { useEffect } from \"react\";\n\nexport const useBodyClick = (\n checkFunction: (event: MouseEvent) => boolean,\n callbackFunction: (...args: unknown[]) => unknown,\n dependingStateVariable: React.ComponentState | React.ComponentState[]\n) => {\n function bodyClickListener(event: MouseEvent) {\n if (checkFunction(event)) {\n callbackFunction();\n }\n }\n useEffect(() => {\n window.addEventListener(\"click\", bodyClickListener);\n\n return () => {\n window.removeEventListener(\"click\", bodyClickListener);\n };\n }, [dependingStateVariable]);\n};\n","import React, {\n ComponentPropsWithRef,\n ReactElement,\n ReactNode,\n useEffect,\n useRef,\n useState\n} from \"react\";\nimport { Props as ButtonProps } from \"../Button/Button\";\nimport { Props as IconButtonProps } from \"../Button/IconButton\";\nimport { Popover } from \"../Popover/Popover\";\nimport { Placement, Offset } from \"../hooks/usePosition\";\nimport classes from \"./ContextMenu.module.scss\";\nimport { useBodyClick } from \"../hooks/useBodyClick\";\nimport { createPortal } from \"react-dom\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n trigger: ReactElement<ButtonProps> | ReactElement<IconButtonProps>;\n decorativeElement?: ReactNode;\n children: ReactNode;\n placement?: Placement;\n transformOrigin?: Placement;\n offset?: Offset;\n id: string;\n show?: boolean;\n domRoot?: HTMLElement;\n onShow?: () => void;\n onClose?: () => void;\n}\n\nexport const ContextMenu = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n trigger,\n children,\n decorativeElement,\n id,\n show = false,\n onShow,\n onClose,\n placement = { horizontal: \"right\", vertical: \"top\" },\n offset = { top: 0, bottom: 0, left: 0, right: 0 },\n transformOrigin = { horizontal: \"left\", vertical: \"top\" },\n domRoot = document.body,\n ...rest\n }: Props,\n ref\n ) => {\n const anchorEl = useRef<HTMLButtonElement>(null);\n const [showContextMenu, setShowContextMenu] = useState(show);\n const [hasBeenClosed, setHasBeenClosed] = useState(false);\n const [selectedContextMenuItem, setSelectedContextMenuItem] = useState(-1);\n const [focusedContextMenuItem, setFocusedContextMenuItem] = useState(-1);\n const [shouldClick, setShouldClick] =\n useState(\n false\n ); /** We need this, because whenever we use the arrow keys to select the contextmenu item, and we focus the currently selected item it fires the \"click\" listener in ContextMenuItem component. Instead, we only want this to fire if we press \"enter\" or \"spacebar\" so we set this to true whenever that is the case, and back to false when it has been executed. */\n const [childrenCount] = useState(React.Children.count(children));\n\n if (!id) {\n throw new Error(\"You need to provide an ID to the context menu\");\n }\n\n const onArrowNavigation = (event: React.KeyboardEvent) => {\n if (focusedContextMenuItem === -1 && selectedContextMenuItem !== -1) {\n setFocusedContextMenuItem(selectedContextMenuItem);\n }\n\n const codesToPrevenDefault = [\n \"ArrowDown\",\n \"ArrowUp\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"Enter\",\n \"Space\",\n \"Escape\",\n \"End\",\n \"Home\"\n ];\n\n if (codesToPrevenDefault.includes(event.code)) {\n event.preventDefault();\n }\n\n switch (event.code) {\n case \"ArrowDown\":\n if (!showContextMenu) {\n setShowContextMenu(true);\n return;\n }\n setFocusedContextMenuItem(prevState => {\n return prevState + 1 > childrenCount - 1 ? 0 : prevState + 1;\n });\n return;\n case \"ArrowUp\":\n setFocusedContextMenuItem(prevState => {\n return prevState - 1 < 0 ? childrenCount - 1 : prevState - 1;\n });\n return;\n case \"Enter\":\n case \"Space\":\n if (!showContextMenu) {\n setShowContextMenu(true);\n return;\n }\n\n setShouldClick(true);\n setSelectedContextMenuItem(focusedContextMenuItem);\n setShowContextMenu(false);\n return;\n case \"Tab\":\n case \"Escape\":\n setShowContextMenu(false);\n return;\n case \"End\":\n setFocusedContextMenuItem(childrenCount - 1);\n return;\n case \"Home\":\n setFocusedContextMenuItem(0);\n return;\n }\n };\n\n useBodyClick(\n event => {\n return (\n showContextMenu &&\n anchorEl.current !== event.target &&\n anchorEl.current !== (event.target as HTMLElement).parentElement\n );\n },\n () => {\n setShowContextMenu(false);\n },\n showContextMenu\n );\n\n useEffect(() => {\n if (showContextMenu === true) {\n onShow && onShow();\n } else {\n onClose && onClose();\n !hasBeenClosed && setHasBeenClosed(true);\n setFocusedContextMenuItem(-1);\n hasBeenClosed && anchorEl.current && anchorEl.current.focus();\n }\n }, [showContextMenu]);\n\n const renderTrigger = () =>\n React.cloneElement(trigger, {\n id: id,\n \"aria-haspopup\": \"true\",\n \"aria-controls\": `${id}-menu`,\n \"aria-expanded\": showContextMenu,\n onClick: () => setShowContextMenu(!showContextMenu),\n tabIndex: 0,\n ref: anchorEl\n });\n\n const renderChildren = () => {\n return React.Children.map(children, (child, index) => {\n return React.cloneElement(child as ReactElement, {\n onFocusChange: (childIndex: number) => setFocusedContextMenuItem(childIndex),\n onSelectedChange: (childIndex: number) => {\n setSelectedContextMenuItem(childIndex);\n setShouldClick(false);\n },\n childIndex: index,\n hasFocus: focusedContextMenuItem === index,\n isSelected: selectedContextMenuItem === index,\n contextMenuOpened: showContextMenu,\n shouldClick: shouldClick\n });\n });\n };\n\n return (\n <div {...rest} ref={ref} onKeyDown={onArrowNavigation} className={classes[\"context-menu\"]}>\n {renderTrigger()}\n {createPortal(\n <Popover\n placement={placement}\n transformOrigin={transformOrigin}\n offset={offset}\n anchorEl={anchorEl}\n show={showContextMenu}\n >\n {decorativeElement && (\n <div className={classes[\"decorative-element\"]}>{decorativeElement}</div>\n )}\n <ul\n className={`${classes[\"menu\"]} ${decorativeElement ? classes[\"no-margin-top\"] : \"\"}`}\n id={`${id}-menu`}\n aria-describedby={id}\n role=\"menu\"\n >\n {renderChildren()}\n </ul>\n </Popover>,\n domRoot\n )}\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef, createRef, RefObject, useEffect } from \"react\";\nimport classes from \"./ContextMenuItem.module.scss\";\n\nexport interface Props extends Omit<ComponentPropsWithRef<\"button\">, \"onClick\"> {\n children?: string;\n hasFocus?: boolean;\n isSelected?: boolean;\n childIndex?: number;\n shouldClick?: boolean;\n contextMenuOpened?: boolean;\n onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n onFocusChange?: (childIndex: number) => void;\n onSelectedChange?: (childIndex: number) => void;\n}\n\nexport const ContextMenuItem = React.forwardRef<HTMLButtonElement, Props>(\n (\n {\n children,\n onClick,\n onFocusChange,\n onSelectedChange,\n hasFocus,\n isSelected,\n childIndex,\n contextMenuOpened,\n shouldClick,\n className,\n ...rest\n }: Props,\n ref\n ) => {\n let innerButtonRef = (ref as RefObject<HTMLButtonElement>) || createRef<HTMLButtonElement>();\n\n useEffect(() => {\n if (isSelected && innerButtonRef.current && shouldClick) {\n innerButtonRef.current.click();\n }\n }, [isSelected, shouldClick]);\n\n useEffect(() => {\n if (innerButtonRef.current && hasFocus && contextMenuOpened) {\n onFocusChange && childIndex && onFocusChange(childIndex);\n innerButtonRef.current.focus();\n }\n }, [hasFocus, innerButtonRef, contextMenuOpened]);\n\n return (\n <li role=\"none\" className={`${classes[\"context-menu-item\"]} ${className ?? \"\"}`}>\n <button\n role=\"menuitem\"\n {...rest}\n ref={innerButtonRef}\n data-focus={hasFocus}\n tabIndex={-1}\n onClick={event => {\n onClick && onClick(event);\n onSelectedChange && childIndex && onSelectedChange(childIndex);\n }}\n >\n {children}\n </button>\n </li>\n );\n }\n);\n","import React, {\n ComponentPropsWithRef,\n ForwardRefExoticComponent,\n ReactNode,\n RefAttributes\n} from \"react\";\nimport classes from \"./Link.module.scss\";\nimport { LinkProps } from \"./types\";\n\nexport type AnchorType = \"external\" | \"internal\" | \"download\";\n\nexport interface Props extends ComponentPropsWithRef<\"a\"> {\n children?: ReactNode;\n color?: \"primary\" | \"secondary\" | \"tertiary\";\n display?: \"link\" | \"button\";\n buttonVariant?: \"outline\" | \"text\" | \"fill\";\n type?: AnchorType;\n to: string;\n disabled?: boolean;\n component?: ForwardRefExoticComponent<LinkProps & RefAttributes<HTMLAnchorElement>>;\n}\n\nexport const Link = React.forwardRef<HTMLAnchorElement, Props>(\n (\n {\n children,\n className,\n disabled = false,\n to,\n color = \"primary\",\n type = \"internal\",\n display = \"link\",\n buttonVariant = \"fill\",\n component,\n ...rest\n }: Props,\n ref\n ) => {\n const determineTarget = () => {\n if (rest.target) {\n return rest.target;\n }\n\n if (type === \"external\") {\n return \"_blank\";\n }\n\n return \"\";\n };\n\n const classNames = [classes[color]];\n display === \"link\" && classNames.push(classes[\"link\"]);\n display === \"button\" && classNames.push(classes[\"button\"], classes[buttonVariant]);\n disabled && classNames.push(classes[\"disabled\"]);\n className && classNames.push(className);\n\n if (component) {\n return React.createElement(component, {\n ...rest,\n ref: ref,\n to: to,\n className: classNames.join(\" \"),\n \"aria-disabled\": disabled,\n style: {\n ...rest.style\n },\n children: children\n });\n }\n\n return (\n <a\n {...rest}\n ref={ref}\n download={type === \"download\"}\n rel={type === \"external\" ? \"noopener noreferer\" : undefined}\n href={!disabled ? to : undefined}\n className={classNames.join(\" \")}\n aria-disabled={disabled}\n target={determineTarget()}\n style={{\n ...rest.style\n }}\n >\n {children}\n </a>\n );\n }\n);\n","import React, { Fragment } from \"react\";\nimport { BaseButton, Props as BaseButtonProps } from \"./BaseButton\";\nimport classes from \"./IconButton.module.scss\";\nimport readyclasses from \"../readyclasses.module.scss\";\n\nexport interface Props extends BaseButtonProps {\n children?: React.ReactNode;\n iconSize?: \"s\" | \"m\" | \"l\";\n variant?: \"text\" | \"fill\" | \"outline\";\n className?: string;\n title?: string;\n}\n\nexport const IconButton = React.forwardRef<HTMLButtonElement, Props>(\n (\n { children, color = \"primary\", variant = \"text\", iconSize = \"m\", title, className, ...rest },\n ref\n ) => {\n if (!title) {\n console.error(\"Please make sure to specify a 'title' prop to your IconButton component! \");\n }\n\n const iconButtonClasses = [\n classes[\"icon-button\"],\n classes[variant],\n classes[color],\n classes[\"button-\" + iconSize]\n ];\n\n if (className) {\n iconButtonClasses.push(className);\n }\n\n return (\n <BaseButton {...rest} ref={ref} className={iconButtonClasses.join(\" \")}>\n <Fragment>\n {children}\n <span className={readyclasses[\"sr-only\"]}>{title}</span>\n </Fragment>\n </BaseButton>\n );\n }\n);\n","import React from \"react\";\n\nexport interface Props {\n title: string;\n children?: React.ReactNode;\n selected?: boolean;\n focussed?: boolean;\n buttonRef?: React.RefObject<HTMLButtonElement>;\n panelRef?: React.RefObject<HTMLDivElement>;\n onTabButtonClick?: () => void;\n}\n\nexport const Tab = (args: Props) => {\n return (\n <div {...args}>{`A <Tab /> component should only be used inside the <Tabs /> component.`}</div>\n );\n};\n","type KeyValuePair = { [key: string]: unknown };\n\nexport const generateID = (length = 15, stringToWeaveIn?: string) => {\n /** We will make sure to mesh the generate id and name property together to basically create a unique ID */\n let hashCharacters = [\n \"1\",\n \"2\",\n \"3\",\n \"4\",\n \"5\",\n \"6\",\n \"7\",\n \"8\",\n \"9\",\n \"0\",\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\",\n \"F\",\n \"G\",\n \"H\",\n \"I\",\n \"J\",\n \"K\",\n \"L\",\n \"M\",\n \"N\",\n \"O\",\n \"P\",\n \"Q\",\n \"R\",\n \"S\",\n \"T\",\n \"U\",\n \"V\",\n \"W\",\n \"X\",\n \"Y\",\n \"Z\",\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\",\n \"f\",\n \"g\",\n \"h\",\n \"i\",\n \"j\",\n \"k\",\n \"l\",\n \"m\",\n \"n\",\n \"o\",\n \"p\",\n \"q\",\n \"r\",\n \"s\",\n \"t\",\n \"u\",\n \"v\",\n \"w\",\n \"x\",\n \"y\",\n \"z\"\n ];\n\n let id = \"\";\n\n /** Generate an id of x characters in length */\n for (let i = 0; i < length && id.length < length; i++) {\n let stringCharacter =\n stringToWeaveIn && stringToWeaveIn[i] !== undefined && !/\\s/.test(stringToWeaveIn[i])\n ? stringToWeaveIn[i]\n : \"\";\n id = id + stringCharacter + hashCharacters[Math.floor(Math.random() * hashCharacters.length)];\n }\n\n return id.slice(0, length);\n};\n\nexport const filterProps = (props: any, regexPattern: RegExp, returnFiltered: boolean = true) => {\n if (returnFiltered) {\n return Object.keys(props).reduce((acc: KeyValuePair, key) => {\n if (regexPattern.test(key)) {\n acc[key] = props[key];\n }\n\n return acc;\n }, {});\n } else {\n return Object.entries(props)\n .filter(([key]) => !regexPattern.test(key))\n .reduce(\n (prevObj, currKeyValPair) => ({ ...prevObj, [currKeyValPair[0]]: currKeyValPair[1] }),\n {}\n );\n }\n};\n","import React, { ComponentPropsWithRef, useEffect } from \"react\";\nimport classes from \"./TabButton.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"button\"> {\n children?: string;\n selected?: boolean;\n focussed?: boolean;\n tabId?: string;\n tabPanelId?: string;\n onTabButtonClick?: () => void;\n}\n\nexport const TabButton = React.forwardRef<HTMLButtonElement, Props>(\n (\n {\n children,\n selected = false,\n focussed = false,\n tabId,\n tabPanelId,\n className,\n onTabButtonClick,\n ...rest\n }: Props,\n ref\n ) => {\n useEffect(() => {\n if (focussed && ref) {\n (ref as React.MutableRefObject<HTMLButtonElement>).current.focus();\n }\n }, [focussed]);\n\n const classNames = [classes[\"tabbutton\"]];\n\n selected && classNames.push(classes[\"selected\"]);\n focussed && !selected && classNames.push(classes[\"focussed\"]);\n className && classNames.push(className);\n\n return (\n <button\n {...rest}\n aria-selected={selected}\n key={tabId}\n className={classNames.join(\" \")}\n ref={ref}\n role=\"tab\"\n tabIndex={selected ? 0 : -1}\n type=\"button\"\n aria-controls={tabPanelId}\n id={tabId}\n onClick={onTabButtonClick}\n >\n <span aria-hidden=\"true\">{children}</span>\n {children}\n </button>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from \"react\";\nimport classes from \"./TabPanel.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n children: React.ReactNode;\n tabId: string;\n tabPanelId: string;\n selected?: boolean;\n}\n\nexport const TabPanel = React.forwardRef<HTMLDivElement, Props>(\n ({ children, tabId, tabPanelId, selected = false, className, ...rest }: Props, ref) => (\n <div\n {...rest}\n ref={ref}\n aria-labelledby={tabId}\n className={`${classes[\"tabpanel\"]} ${selected ? classes[\"selected\"] : \"\"} ${className ?? \"\"}`}\n id={tabPanelId}\n role=\"tabpanel\"\n tabIndex={0}\n hidden={!selected || undefined}\n aria-hidden={!selected}\n >\n {children}\n </div>\n )\n);\n","import React, {\n ComponentPropsWithRef,\n createRef,\n MutableRefObject,\n useEffect,\n useRef,\n useState\n} from \"react\";\nimport { generateID } from \"../util/helper\";\nimport { Props as TabProps } from \"./Tab\";\nimport { TabButton } from \"./TabButton\";\nimport { TabPanel } from \"./TabPanel\";\nimport classes from \"./Tabs.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n children: React.ReactElement<TabProps> | React.ReactElement<TabProps>[];\n selected?: number;\n \"aria-label\"?: string;\n onTabChange?: (index: number) => void;\n}\n\nexport const Tabs = ({\n children,\n selected = 0,\n \"aria-label\": ariaLabel,\n onTabChange,\n className,\n ...rest\n}: Props) => {\n const indicatorRef = useRef<HTMLDivElement>(null);\n const [indicatorPosition, setIndicatorPosition] = useState({ left: 0, top: 0 });\n const [indicatorWidth, setIndicatorWidth] = useState(0);\n\n const [max] = useState(React.Children.count(children) - 1);\n const min = 0;\n\n const [selectedTab, setSelectedTab] = useState(Math.min(max, Math.max(min, selected)));\n const [focussedTab, setFocussedTab] = useState(-1);\n const [tabIds] = useState([...Array(max)].map(() => generateID()));\n const [tabPanelIds] = useState([...Array(max)].map(() => generateID()));\n\n useEffect(() => {\n setSelectedTab(Math.min(max, Math.max(min, selected)));\n setFocussedTab(-1);\n }, [selected]);\n\n useEffect(() => {\n calculateIndicatorPosition();\n }, [selectedTab]);\n\n const calculateIndicatorPosition = () => {\n const selectedTabButton = (\n tabButtons[selectedTab].ref as MutableRefObject<HTMLButtonElement | null>\n ).current as HTMLButtonElement;\n\n setIndicatorPosition({\n left: selectedTabButton.offsetLeft,\n top:\n selectedTabButton.offsetTop +\n selectedTabButton.offsetHeight -\n indicatorRef.current!.offsetHeight\n });\n setIndicatorWidth(selectedTabButton.offsetWidth);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n // do not show focus unless we came here before\n let currentFocussedTab = focussedTab === -1 ? selectedTab : focussedTab;\n\n switch (e.code) {\n case \"ArrowLeft\":\n setFocussedTab(currentFocussedTab === min ? max : currentFocussedTab - 1);\n break;\n case \"ArrowRight\":\n setFocussedTab(currentFocussedTab === max ? min : currentFocussedTab + 1);\n break;\n case \"Home\":\n setFocussedTab(min);\n break;\n case \"End\":\n setFocussedTab(max);\n break;\n case \"Space\":\n case \"Enter\":\n activateTab(currentFocussedTab);\n break;\n }\n };\n\n const handleBlur = () => {\n setFocussedTab(selectedTab);\n };\n\n const activateTab = (index: number) => {\n setSelectedTab(index);\n setFocussedTab(index);\n onTabChange && onTabChange(index);\n };\n\n const tabButtons = React.Children.map(children, (child, index) =>\n React.createElement(TabButton, {\n ref: child.props.buttonRef || createRef<HTMLButtonElement>(),\n key: generateID(),\n tabId: tabIds[index],\n tabPanelId: tabPanelIds[index],\n selected: selectedTab === index,\n focussed: focussedTab === index,\n onTabButtonClick: () => activateTab(index),\n children: child.props.title\n })\n );\n\n const tabPanels = React.Children.map(children, (child, index) =>\n React.createElement(TabPanel, {\n ref: child.props.panelRef || createRef<HTMLDivElement>(),\n key: generateID(),\n selected: selectedTab === index,\n tabId: tabIds[index],\n tabPanelId: tabPanelIds[index],\n children: child.props.children\n })\n );\n\n return (\n <div {...rest} className={`${classes[\"tabs\"]} ${className ?? \"\"}`}>\n <div\n role=\"tablist\"\n onKeyDown={handleKeyDown}\n onBlur={handleBlur}\n aria-label={ariaLabel}\n className={classes[\"tablist\"]}\n >\n <div className={classes[\"tabdivider\"]} />\n {tabButtons}\n <div\n className={classes[\"indicator\"]}\n ref={indicatorRef}\n aria-hidden=\"true\"\n tabIndex={-1}\n style={{\n width: indicatorWidth,\n ...indicatorPosition\n }}\n />\n </div>\n <div className={classes[\"tabpanels\"]}>{tabPanels}</div>\n </div>\n );\n};\n","import React, { useRef, MouseEventHandler, useState, ComponentPropsWithRef } from \"react\";\nimport { Popover } from \"../Popover/Popover\";\nimport classes from \"./TextEllipsis.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n children?: string;\n popoverClassName?: string;\n}\n\nexport const TextEllipsis = React.forwardRef<HTMLDivElement, Props>(\n ({ children, popoverClassName, className, ...rest }: Props, ref) => {\n const [showPopover, setShowPopover] = useState(false);\n const textContainer = useRef<HTMLDivElement>(null);\n\n const ellipsisVisible = () => {\n if (\n textContainer.current &&\n textContainer.current.offsetWidth < textContainer.current.scrollWidth\n ) {\n return true;\n }\n return false;\n };\n\n const onMouseEnter: MouseEventHandler<HTMLDivElement> = () => {\n ellipsisVisible() && setShowPopover(true);\n };\n\n const onMouseLeave: MouseEventHandler<HTMLDivElement> = () => {\n ellipsisVisible() && setShowPopover(false);\n };\n\n return (\n <div\n {...rest}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n className={`${classes[\"text-ellipsis\"]} ${className ?? \"\"}`}\n ref={ref || textContainer}\n >\n {children}\n <Popover\n aria-hidden={true}\n data-hidden={!showPopover}\n show={showPopover}\n role=\"tooltip\"\n anchorEl={textContainer}\n className={`${classes.popover} ${popoverClassName ?? \"\"}`}\n >\n {children}\n </Popover>\n </div>\n );\n }\n);\n","import React, {\n ComponentPropsWithoutRef,\n ComponentPropsWithRef,\n ReactElement,\n useState\n} from \"react\";\nimport { Icon, Icons } from \"../Icon/Icon\";\nimport classes from \"./Tile.module.scss\";\nimport readyClasses from \"../readyclasses.module.scss\";\n\nimport { Props as ContextMenuProps } from \"../ContextMenu/ContextMenu\";\nimport { generateID } from \"../util/helper\";\nimport { Props as IconButtonProps } from \"../Button/IconButton\";\n\ninterface ImageProps extends ComponentPropsWithoutRef<\"img\"> {\n src: string;\n}\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n title: string;\n imageProps?: ImageProps;\n enabled?: boolean;\n loading?: boolean;\n tileAction?: ReactElement<ContextMenuProps> | ReactElement<IconButtonProps>;\n}\n\nexport const Tile = React.forwardRef<HTMLDivElement, Props>(\n ({ title, imageProps, enabled, className, loading, tileAction, ...rest }: Props, ref) => {\n const [tileDescriptionID] = useState(generateID(20));\n\n if (!title) {\n throw new Error(\"Please make sure to pass a title prop to your Tile component.\");\n }\n\n const statusMessage = () => {\n if (enabled) {\n return \"Status: enabled\";\n }\n\n return \"Status: disabled\";\n };\n\n return (\n <article\n {...rest}\n tabIndex={0}\n aria-labelledby={tileDescriptionID}\n ref={ref}\n className={`${classes[\"tile\"]} ${loading ? classes[\"loading\"] : \"\"}`}\n >\n <header style={{ justifyContent: enabled === undefined ? \"flex-end\" : \"space-between\" }}>\n {enabled === true && (\n <Icon\n color=\"var(--success)\"\n icon={Icons.Checkmark}\n className={`${classes[\"icon\"]} ${className ?? \"\"}`}\n />\n )}\n {enabled === false && (\n <Icon\n color=\"var(--greyed-out)\"\n icon={Icons.Forbidden}\n className={`${classes[\"icon\"]} ${className ?? \"\"}`}\n />\n )}\n {enabled !== undefined && (\n <span id={tileDescriptionID} className={readyClasses[\"sr-only\"]}>\n {`${title}. ${statusMessage()}`}\n </span>\n )}\n {tileAction ?? null}\n </header>\n <div className={classes[\"content\"]}>\n {imageProps && imageProps.src.length > 0 && (\n <figure className={classes[\"image\"]}>\n {!loading && <img {...imageProps} alt=\"\" />}\n </figure>\n )}\n {(!imageProps || imageProps.src.length === 0) && (\n <Icon className={classes[\"placeholder\"]} icon={Icons.Image} />\n )}\n <span className={classes[\"title\"]}>{title}</span>\n </div>\n </article>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactNode } from \"react\";\nimport classes from \"./Tiles.module.scss\";\nimport { Tile } from \"./Tile\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n children: ReactNode;\n loading?: boolean;\n}\n\nexport const Tiles = React.forwardRef<HTMLDivElement, Props>(\n ({ children, className, loading = false, ...rest }: Props, ref) => {\n const renderChildren = () => {\n if (loading) {\n return [\n <Tile\n key=\"placeholder1\"\n title=\"placeholder\"\n imageProps={{ src: \"placeholder\" }}\n loading={true}\n />,\n <Tile\n key=\"placeholder2\"\n title=\"placeholder\"\n imageProps={{ src: \"placeholder\" }}\n loading={true}\n />,\n <Tile\n key=\"placeholder3\"\n title=\"placeholder\"\n imageProps={{ src: \"placeholder\" }}\n loading={true}\n />\n ];\n }\n\n return children;\n };\n\n return (\n <div\n {...rest}\n ref={ref}\n className={`${classes[\"tiles\"]} ${className ?? \"\"}`}\n aria-live=\"polite\"\n aria-busy={loading}\n >\n {renderChildren()}\n </div>\n );\n }\n);\n","import React, {\n ComponentPropsWithRef,\n ReactNode,\n useEffect,\n useLayoutEffect,\n useRef,\n useState\n} from \"react\";\nimport { Icon, Icons } from \"../Icon/Icon\";\nimport classes from \"./Tooltip.module.scss\";\nimport { generateID } from \"../util/helper\";\nimport { Offset, Placement, usePosition } from \"../hooks/usePosition\";\nimport { createPortal } from \"react-dom\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n label: string | ReactNode;\n children: string;\n placement?: Placement;\n offset?: Offset;\n transformOrigin?: Placement;\n domRoot?: HTMLElement;\n}\n\ninterface DefaultPosition {\n placement: Placement;\n offset: Offset;\n transformOrigin: Placement;\n}\n\nconst defaultPosition: DefaultPosition = {\n placement: { horizontal: \"right\", vertical: \"center\" },\n offset: { left: 16, right: 0, top: 0, bottom: 0 },\n transformOrigin: { horizontal: \"left\", vertical: \"center\" }\n};\n\nexport const Tooltip = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n children,\n className,\n placement = defaultPosition.placement,\n offset = defaultPosition.offset,\n transformOrigin = defaultPosition.transformOrigin,\n domRoot = document.body,\n label,\n ...rest\n }: Props,\n ref\n ) => {\n const [identifier] = useState(generateID());\n const [visible, setVisible] = useState(false);\n\n const relativeElement = useRef<HTMLDivElement>(null);\n const elementToBePositioned = useRef<HTMLDivElement>(null);\n\n const { top, bottom, right, left, calculatePosition } = usePosition({\n relativeElement: relativeElement,\n elementToBePositioned: elementToBePositioned,\n placement: placement,\n offset: offset,\n transformOrigin: transformOrigin\n });\n\n useEffect(() => {\n if (!visible) return;\n\n function escapePressHandler(event: KeyboardEvent) {\n if (event.key === \"Escape\") {\n setVisible(false);\n }\n }\n\n document.addEventListener(\"keyup\", escapePressHandler);\n\n return () => {\n document.removeEventListener(\"keyup\", escapePressHandler);\n };\n }, [visible]);\n\n useLayoutEffect(() => {\n calculatePosition();\n }, [visible]);\n\n const renderChildren = () => {\n if (React.isValidElement(label)) {\n return React.cloneElement(label, {\n onFocus: () => setVisible(true),\n onBlur: () => setVisible(false),\n \"aria-describedby\": identifier,\n tabIndex: 0,\n className: classes[\"label\"]\n });\n }\n\n return (\n <span\n className={classes[\"label\"]}\n tabIndex={0}\n onFocus={() => setVisible(true)}\n onBlur={() => setVisible(false)}\n aria-describedby={identifier}\n >\n {label}\n </span>\n );\n };\n\n return (\n <div {...rest} ref={ref} className={`${classes.wrapper} ${className ?? \"\"}`}>\n {renderChildren()}\n <div className={`${classes[\"tooltip-wrapper\"]}`}>\n <Icon\n ref={relativeElement}\n tag=\"div\"\n onMouseEnter={() => setVisible(true)}\n onMouseLeave={() => setVisible(false)}\n icon={Icons.InfoCircle}\n className={classes.icon}\n />\n {createPortal(\n <div\n ref={elementToBePositioned}\n style={{\n ...rest.style,\n top: top,\n left: left,\n right: right,\n bottom: bottom\n }}\n aria-hidden={!visible}\n id={identifier}\n className={`${classes.tooltip} ${visible ? classes.visible : \"\"}`}\n >\n {children}\n </div>,\n domRoot\n )}\n </div>\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from \"react\";\nimport classes from \"./Skeleton.module.scss\";\n\nexport interface Props extends Omit<ComponentPropsWithRef<\"div\">, \"children\"> {\n variant?: \"circular\" | \"rectangle\" | \"text\";\n height?: number | string;\n width?: number | string;\n}\n\nexport const Skeleton = React.forwardRef<HTMLDivElement, Props>(\n ({ variant = \"text\", height, width, className, style, ...rest }: Props, ref) => {\n const classNames = [classes[\"skeleton\"]];\n !height && classNames.push(classes[\"no-height\"]);\n variant === \"text\" && classNames.push(classes[\"text\"]);\n variant === \"circular\" && classNames.push(classes[\"circular\"]);\n className && classNames.push(className);\n\n return (\n <span\n {...rest}\n aria-busy=\"true\"\n aria-hidden=\"true\"\n ref={ref}\n style={{ ...style, width, height }}\n className={classNames.join(\" \")}\n ></span>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactNode } from \"react\";\nimport { Typography, Props as TypographyProps } from \"../Typography/Typography\";\nimport classes from \"./StatusIndicator.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n children?: ReactNode;\n status: \"active\" | \"error\" | \"neutral\" | \"warning\";\n badgeProps?: ComponentPropsWithRef<\"div\">;\n typographyProps?: TypographyProps;\n}\n\nexport const StatusIndicator = React.forwardRef<HTMLDivElement, Props>(\n ({ children, status, badgeProps, typographyProps, ...rest }: Props, ref) => {\n return (\n <div {...rest} className={classes[\"status-indicator\"]} ref={ref}>\n <div\n className={`${classes[\"status-badge\"]} ${classes[status]} ${badgeProps?.className ?? \"\"}`}\n />\n <Typography {...typographyProps} spacing={{ margin: \"0\" }} variant=\"body\" tag=\"div\">\n {typographyProps?.children || children}\n </Typography>\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef, Ref, useEffect, useRef, useState } from \"react\";\nimport classes from \"./Input.module.scss\";\nimport readyclasses from \"../../readyclasses.module.scss\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\nimport { FormElement } from \"../form.interfaces\";\n\nconst dateTypes = [\"date\", \"time\", \"datetime-local\"] as const;\n\nexport type Type =\n | \"text\"\n | \"email\"\n | \"file\"\n | \"number\"\n | \"password\"\n | \"search\"\n | \"tel\"\n | \"url\"\n | \"hidden\"\n | typeof dateTypes[number];\n\nexport interface Props extends ComponentPropsWithRef<\"input\">, FormElement {\n wrapperProps?: ComponentPropsWithRef<\"div\">;\n labeledBy?: string;\n type: Type;\n suffix?: string;\n prefix?: string;\n}\n\nconst useErrorOffset = (\n suffix: React.RefObject<HTMLDivElement>,\n errorIcon: React.RefObject<HTMLDivElement>,\n inputWrapper: React.RefObject<HTMLDivElement>,\n error: boolean,\n type: Type,\n suffixContent: string = \"\"\n) => {\n const [errorOffset, setErrorOffset] = useState({});\n const [defaultErrorOffset, setDefaultErrorOffset] = useState<number | null>(null);\n\n const getErrorIconOffset = () => parseFloat(getComputedStyle(errorIcon.current!).right);\n const getInputPaddingRight = (input: HTMLDivElement) =>\n (dateTypes as ReadonlyArray<string>).includes(type)\n ? 0\n : parseFloat(getComputedStyle(input).paddingRight);\n\n useEffect(() => {\n if (errorIcon.current && inputWrapper.current) {\n let defaultOffset = defaultErrorOffset;\n if (!defaultOffset) {\n defaultOffset = getErrorIconOffset();\n setDefaultErrorOffset(defaultOffset);\n }\n\n if (suffix.current && suffixContent) {\n const inputPaddingRight = getInputPaddingRight(inputWrapper.current);\n const prefixDifference = suffix.current.offsetWidth + inputPaddingRight + defaultOffset;\n setErrorOffset({ right: `${prefixDifference}px` });\n } else {\n setErrorOffset({ right: `${defaultOffset}px` });\n }\n }\n }, [suffix.current, errorIcon.current, inputWrapper.current, error, type, suffixContent]);\n\n return { errorOffset };\n};\n\nexport const Input = React.forwardRef(\n (\n {\n error = false,\n className,\n name,\n style,\n wrapperProps,\n type,\n labeledBy,\n prefix,\n suffix,\n disabled,\n onFocus,\n onBlur,\n ...rest\n }: Props,\n ref: Ref<HTMLInputElement>\n ) => {\n const [focus, setFocus] = useState(false);\n const inputWrapperRef = useRef<HTMLDivElement>(null);\n const errorIconRef = useRef<HTMLDivElement>(null);\n const suffixRef = useRef<HTMLDivElement>(null);\n const { errorOffset } = useErrorOffset(\n suffixRef,\n errorIconRef,\n inputWrapperRef,\n error,\n type,\n suffix\n );\n\n useEffect(() => {\n if (name === undefined) {\n throw new Error(\"Please give your <Input /> component a 'name' attribute\");\n }\n }, []);\n\n const inputClassNames = [classes[\"input\"]];\n\n (dateTypes as ReadonlyArray<string>).includes(type) &&\n inputClassNames.push(classes[\"remove-extra-indent\"]);\n className && inputClassNames.push(className);\n\n const iconClassNames = [classes[\"warning\"]];\n (dateTypes as ReadonlyArray<string>).includes(type) &&\n iconClassNames.push(classes[\"extra-indent\"]);\n\n const wrapperClasses = [classes[\"input-wrapper\"]];\n const outlineClasses = [classes[\"outline\"]];\n\n wrapperProps?.className && wrapperClasses.push(wrapperProps.className);\n type === \"hidden\" && wrapperClasses.push(readyclasses[\"hidden\"]);\n prefix && wrapperClasses.push(classes[\"prefix\"]);\n suffix && wrapperClasses.push(classes[\"suffix\"]);\n disabled &&\n wrapperClasses.push(classes[\"disabled\"]) &&\n outlineClasses.push(classes[\"disabled\"]);\n error && wrapperClasses.push(classes[\"error\"]) && outlineClasses.push(classes[\"error\"]);\n focus && wrapperClasses.push(classes[\"focus\"]) && outlineClasses.push(classes[\"focus\"]);\n\n return (\n <div\n ref={inputWrapperRef}\n {...wrapperProps}\n style={{ ...style }}\n className={`${classes[\"input-wrapper\"]} ${wrapperClasses.join(\" \")}`}\n >\n {prefix && (\n <div data-prefix className={classes[\"prefix\"]}>\n <span>{prefix}</span>\n </div>\n )}\n <input\n {...rest}\n ref={ref}\n onFocus={event => {\n setFocus(true);\n onFocus && onFocus(event);\n }}\n onBlur={event => {\n setFocus(false);\n onBlur && onBlur(event);\n }}\n aria-labelledby={labeledBy}\n type={type}\n name={name}\n disabled={disabled}\n className={inputClassNames.join(\" \")}\n />\n {suffix && (\n <div ref={suffixRef} data-suffix className={classes[\"suffix\"]}>\n <span>{suffix}</span>\n </div>\n )}\n {error && (\n <Icon\n style={errorOffset}\n ref={errorIconRef}\n className={iconClassNames.join(\" \")}\n icon={Icons.Error}\n />\n )}\n <span className={outlineClasses.join(\" \")}></span>\n </div>\n );\n }\n);\n","import classes from \"./Select.module.scss\";\n\nimport React, {\n ComponentPropsWithRef,\n createRef,\n Fragment,\n ReactElement,\n useEffect,\n useRef,\n useState\n} from \"react\";\nimport { Input, Props as InputProps } from \"../Input/Input\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\nimport { FormElement } from \"../form.interfaces\";\nimport { useBodyClick } from \"../../hooks/useBodyClick\";\nimport readyclasses from \"../../readyclasses.module.scss\";\nimport { filterProps } from \"../../util/helper\";\n\ntype PartialInputProps = Partial<InputProps>;\n\nexport interface Props extends ComponentPropsWithRef<\"select\">, FormElement {\n children: ReactElement[];\n name?: string;\n labeledBy?: string;\n describedBy?: string;\n placeholder?: string;\n searchPlaceholder?: string;\n searchInputProps?: PartialInputProps;\n selectButtonProps?: ComponentPropsWithRef<\"button\">;\n className?: string;\n value: string;\n clearLabel?: string;\n onChange?: (event: React.ChangeEvent<HTMLSelectElement>, child?: ReactElement) => void;\n onClear?: (event: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement>) => void;\n}\n\ntype Position = {\n top: 0 | \"initial\";\n bottom: 0 | \"initial\";\n};\n\n/** Amount of items to be rendered before a search input is rendered */\nconst renderSearchCondition = 10;\n\nexport const Select = React.forwardRef<HTMLSelectElement, Props>(\n (\n {\n children,\n name,\n disabled = false,\n labeledBy,\n placeholder,\n describedBy,\n searchPlaceholder = \"Search item\",\n searchInputProps,\n selectButtonProps,\n className,\n error = false,\n value,\n clearLabel = \"Clear selection\",\n onChange,\n onClear,\n ...rest\n }: Props,\n ref\n ) => {\n const [expanded, setExpanded] = useState(false);\n const [opacity, setOpacity] = useState(0); // We set opacity because other wise if we calculate the max height you see the list full height for a split second and then it shortens.\n const [filter, setFilter] = useState(\"\");\n const [display, setDisplay] = useState(\"\");\n const [listPosition, setListPosition] = useState<Partial<Position>>({});\n const [optionsListMaxHeight, setOptionsListMaxHeight] = useState(\"none\");\n const containerReference = useRef<HTMLDivElement>(null);\n const optionListReference = useRef<HTMLDivElement>(null);\n const [isSearching, setIsSearching] = useState(false);\n const [focusedSelectItem, setFocusedSelectItem] = useState(-1);\n const [shouldClick, setShouldClick] =\n useState(\n false\n ); /** We need this, because whenever we use the arrow keys to select the select item, and we focus the currently selected item it fires the \"click\" listener in Option component. Instead, we only want this to fire if we press \"enter\" or \"spacebar\" so we set this to true whenever that is the case, and back to false when it has been executed. */\n const [childrenCount] = useState(React.Children.count(children));\n\n const nativeSelect = (ref as React.RefObject<HTMLSelectElement>) || createRef();\n const searchInputRef = useRef<HTMLInputElement>(null);\n\n const onArrowNavigation = (event: React.KeyboardEvent) => {\n const codesToPreventDefault = [\n \"ArrowDown\",\n \"ArrowUp\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"Space\",\n \"Escape\",\n \"End\",\n \"Home\"\n ];\n\n const codesToPreventDefaultWhenSearching = [\"ArrowDown\", \"ArrowUp\", \"Enter\", \"Escape\"];\n\n /** If the select is expanded, we also want to control the Tab key */\n if (expanded) {\n codesToPreventDefault.push(\"Tab\");\n }\n\n /** We will handle the way certain key strokes affect the Select, unless we're searching */\n if (codesToPreventDefault.includes(event.code) && !isSearching) {\n event.preventDefault();\n }\n\n if (isSearching && codesToPreventDefaultWhenSearching.includes(event.code)) {\n event.preventDefault();\n }\n\n if (isSearching) {\n switch (event.code) {\n case \"ArrowDown\":\n case \"Enter\":\n setIsSearching(false);\n setFocusedSelectItem(0);\n return;\n case \"ArrowUp\":\n setIsSearching(false);\n setFocusedSelectItem(childrenCount - 1);\n return;\n case \"Escape\":\n case \"Tab\":\n setIsSearching(false);\n setExpanded(false);\n containerReference.current &&\n containerReference.current.querySelector(\"button\")!.focus();\n }\n } else {\n switch (event.code) {\n case \"ArrowDown\":\n if (!expanded) {\n setExpanded(true);\n return;\n }\n setFocusedSelectItem(prevState => {\n return prevState + 1 > childrenCount - 1 ? 0 : prevState + 1;\n });\n return;\n case \"ArrowUp\":\n setFocusedSelectItem(prevState => {\n return prevState - 1 < 0 ? childrenCount - 1 : prevState - 1;\n });\n return;\n case \"Space\":\n if (!expanded) {\n setExpanded(true);\n return;\n }\n\n setShouldClick(true);\n setExpanded(false);\n containerReference.current &&\n containerReference.current.querySelector(\"button\")!.focus();\n return;\n case \"Tab\":\n if (childrenCount >= renderSearchCondition && expanded) {\n setIsSearching(true);\n searchInputRef.current && searchInputRef.current.focus();\n return;\n }\n setExpanded(false);\n\n return;\n case \"Escape\":\n if (expanded) {\n setExpanded(false);\n containerReference.current &&\n containerReference.current.querySelector(\"button\")!.focus();\n }\n return;\n case \"End\":\n setFocusedSelectItem(childrenCount - 1);\n return;\n case \"Home\":\n setFocusedSelectItem(0);\n return;\n }\n }\n };\n\n const syncDisplayValue = (val: string) => {\n React.Children.forEach(children, child => {\n if (child.props.value === val) {\n setDisplay(child.props.children);\n }\n });\n };\n\n const rePositionList = () => {\n if (!expanded || !optionListReference.current || !containerReference.current) {\n return;\n }\n\n // Check whether there is more space above or below the select\n // Check space between the bottom of select and top of viewport\n const spaceOnTopOfSelect = containerReference.current.getBoundingClientRect().bottom;\n\n // Check space between the top of the select and bottom of viewport\n const spaceOnBottomOfSelect =\n window.innerHeight - containerReference.current.getBoundingClientRect().top;\n\n // Set position as if there's more space on the bottom\n let position: Position = { top: 0, bottom: \"initial\" };\n\n // Set the position of the select\n if (spaceOnTopOfSelect > spaceOnBottomOfSelect) {\n position = { top: \"initial\", bottom: 0 };\n }\n\n setListPosition(position);\n\n // Calculate the potential max height of the options list\n calculateOptionListMaxHeight(position);\n };\n\n const calculateOptionListMaxHeight = (position: Position) => {\n // Calculate max height if there's more space below the select\n const listHeight = optionListReference.current!.getBoundingClientRect().height;\n const transformOrigin = position.top !== \"initial\" ? \"top\" : \"bottom\";\n\n const availableSpace =\n transformOrigin === \"top\"\n ? window.innerHeight -\n containerReference.current!.getBoundingClientRect()[transformOrigin] -\n 16\n : containerReference.current!.getBoundingClientRect()[transformOrigin] - 16;\n\n if (availableSpace < listHeight) {\n setOptionsListMaxHeight(`${availableSpace}px`);\n setOpacity(100);\n return;\n }\n\n setOptionsListMaxHeight(\"none\");\n setOpacity(100);\n };\n\n const onOptionChangeHandler = (optionRef: React.RefObject<HTMLLIElement>) => {\n if (nativeSelect.current && optionRef.current) {\n nativeSelect.current.value = optionRef.current.getAttribute(\"data-value\")!;\n nativeSelect.current.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n\n setExpanded(false);\n\n containerReference.current && containerReference.current.querySelector(\"button\")!.focus();\n };\n\n /**\n * @description We have to modify the children (Option component) to have a additional props that allows us to keep track of which one is selected and focused at all times and if a filter is active.\n * The `children` prop can be either a single object (1 child) or an array of multiple children.\n */\n const renderOptions = () => {\n if (isSearching || filter !== \"\") {\n const filteredChildren = React.Children.toArray(children).filter(\n child =>\n (child as ReactElement).props.children.toLowerCase().match(filter.toLowerCase()) !==\n null\n );\n\n return _internalRenderChildren(filteredChildren as ReactElement[]);\n }\n\n return _internalRenderChildren(children);\n\n function _internalRenderChildren(internalChildren: ReactElement[]) {\n return React.Children.map(internalChildren, (child, index) => {\n return React.cloneElement(child, {\n onFocusChange: (childIndex: number) => setFocusedSelectItem(childIndex),\n onOptionSelect: (optionRef: React.RefObject<HTMLLIElement>) => {\n onOptionChangeHandler(optionRef);\n setShouldClick(false);\n },\n isSelected: child.props.value === value,\n isSearching: isSearching,\n selectOpened: expanded,\n childIndex: index,\n hasFocus: focusedSelectItem === index,\n shouldClick: shouldClick\n });\n });\n }\n };\n\n const renderSearch = () => (\n <Input\n {...searchInputProps}\n autoFocus\n ref={searchInputRef}\n onFocus={() => setIsSearching(true)}\n onBlur={() => setIsSearching(false)}\n onChange={filterResults}\n className={classes[\"select-search\"]}\n wrapperProps={{\n className: `${classes[\"select-search-wrapper\"]} ${searchInputProps?.wrapperProps?.className}`\n }}\n type=\"text\"\n name=\"search-option\"\n placeholder={searchPlaceholder}\n />\n );\n\n const filterResults = (event: React.ChangeEvent<HTMLInputElement>) => {\n setFilter(event.currentTarget.value);\n };\n\n const statusIcon = () => {\n if (error) {\n return <Icon className={classes[\"warning\"]} icon={Icons.Warning} />;\n }\n\n if (value?.length !== 0 && onClear) {\n return (\n <div\n aria-hidden={false}\n role=\"button\"\n tabIndex={0}\n data-clear\n onClick={(e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n e.preventDefault();\n e.stopPropagation();\n onClear(e);\n }}\n onKeyDown={(e: React.KeyboardEvent<HTMLDivElement>) => {\n if (e.code === \"Enter\" || e.code === \"Space\") {\n e.preventDefault();\n e.stopPropagation();\n onClear(e);\n containerReference.current &&\n containerReference.current.querySelector(\"button\")!.focus();\n }\n }}\n >\n <span className={readyclasses[\"sr-only\"]}>{clearLabel}</span>\n <Icon tag=\"span\" icon={Icons.TimesThin} />\n </div>\n );\n }\n return null;\n };\n\n const nativeOnChangeHandler = (event: React.ChangeEvent<HTMLSelectElement>) => {\n onChange && onChange(event);\n };\n\n useEffect(() => {\n syncDisplayValue(value);\n }, [value]);\n\n useEffect(() => {\n rePositionList();\n }, [expanded]);\n\n useBodyClick(\n (event: MouseEvent) => !(event.target as Element).closest(\".custom-select\") && expanded,\n () => {\n setExpanded(false);\n setListPosition({ top: 0, bottom: \"initial\" });\n setOpacity(0);\n },\n expanded\n );\n\n const additionalClasses = [];\n expanded && additionalClasses.push(classes.expanded);\n error && additionalClasses.push(classes.error);\n disabled && additionalClasses.push(classes.disabled);\n className && additionalClasses.push(className);\n\n /** The native select is purely for external form libraries. We use it to emit an onChange with native select event object so they know exactly what's happening. */\n return (\n <Fragment>\n <select\n {...filterProps(rest, /^data-/, false)}\n tabIndex={-1}\n aria-hidden=\"true\"\n ref={nativeSelect}\n name={name}\n onChange={nativeOnChangeHandler}\n className={readyclasses[\"sr-only\"]}\n >\n <option value=\"\"></option>\n {React.Children.map(children, child => (\n <option value={child.props.value}></option>\n ))}\n </select>\n <div\n {...filterProps(rest, /^data-/)}\n ref={containerReference}\n onKeyDown={onArrowNavigation}\n className={`custom-select ${classes.select} ${additionalClasses.join(\" \")} ${\n className ?? \"\"\n }`}\n >\n <button\n {...selectButtonProps}\n onClick={() => {\n setExpanded(!expanded);\n }}\n type=\"button\"\n name={name}\n className={`${classes[\"custom-select\"]} ${additionalClasses.join(\" \")} `}\n disabled={disabled}\n aria-disabled={disabled}\n aria-invalid={error}\n aria-expanded={expanded}\n aria-haspopup=\"listbox\"\n aria-labelledby={labeledBy}\n aria-describedby={describedBy}\n >\n <div data-display className={classes[\"selected\"]}>\n {!value && placeholder && (\n <span className={classes[\"placeholder\"]}>{placeholder}</span>\n )}\n {value?.length > 0 && <span data-display-inner>{display}</span>}\n </div>\n <div className={classes[\"status\"]}>\n {statusIcon()}\n <Icon className={classes[\"triangle-down\"]} icon={Icons.TriangleDown} />\n </div>\n </button>\n <div\n ref={optionListReference}\n className={`list-wrapper ${classes[\"list-wrapper\"]}`}\n style={{\n display: expanded ? \"block\" : \"none\",\n opacity: opacity,\n maxHeight: optionsListMaxHeight,\n pointerEvents: expanded ? \"auto\" : \"none\",\n ...listPosition\n }}\n >\n {Array.isArray(children) && children.length > renderSearchCondition && renderSearch()}\n <ul role=\"listbox\">{renderOptions()}</ul>\n </div>\n </div>\n </Fragment>\n );\n }\n);\n","import React, { ComponentPropsWithRef, createRef, RefObject, useEffect } from \"react\";\nimport classes from \"./Select.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"li\"> {\n children: string;\n value: string;\n disabled?: boolean;\n isSelected?: boolean;\n selectOpened?: boolean;\n hasFocus?: boolean;\n shouldClick?: boolean;\n isSearching?: boolean;\n label?: string;\n childIndex?: number;\n onOptionSelect?: (ref: React.RefObject<HTMLLIElement>) => void;\n onFocusChange?: (childIndex: number) => void;\n}\n\nexport const Option = React.forwardRef<HTMLLIElement, Props>(\n (\n {\n children,\n className,\n isSelected = false,\n shouldClick,\n hasFocus,\n selectOpened,\n isSearching,\n childIndex,\n onOptionSelect,\n onFocusChange,\n disabled,\n value,\n ...rest\n }: Props,\n ref\n ) => {\n let innerOptionRef = (ref as RefObject<HTMLLIElement>) || createRef<HTMLLIElement>();\n\n useEffect(() => {\n if (isSelected && innerOptionRef.current && shouldClick) {\n innerOptionRef.current.click();\n }\n }, [isSelected, shouldClick]);\n\n useEffect(() => {\n if (innerOptionRef.current && hasFocus && selectOpened && !isSearching) {\n onFocusChange && childIndex && onFocusChange(childIndex);\n innerOptionRef.current.focus();\n }\n }, [hasFocus, innerOptionRef, selectOpened, isSearching]);\n\n const onSelectHandler = () => {\n if (onOptionSelect) onOptionSelect(innerOptionRef);\n };\n\n return (\n <li\n {...rest}\n ref={innerOptionRef}\n data-value={value}\n className={`${isSelected ? classes[\"selected-option\"] : \"\"} ${\n disabled ? classes.disabled : \"\"\n } ${className ?? \"\"}`}\n onClick={onSelectHandler}\n onKeyDownCapture={event => {\n if (event.code === \"Enter\") {\n event.stopPropagation();\n event.preventDefault();\n\n onSelectHandler();\n }\n }}\n aria-selected={isSelected}\n role=\"option\"\n tabIndex={disabled ? -1 : 0}\n >\n {children}\n </li>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactNode } from \"react\";\nimport classes from \"./Label.module.scss\";\nimport readyclasses from \"../../readyclasses.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"label\"> {\n children?: ReactNode;\n}\n\nexport const Label = React.forwardRef<HTMLLabelElement, Props>(\n ({ children, className, hidden = false, ...rest }: Props, ref) => {\n return (\n <label\n {...rest}\n ref={ref}\n className={`${hidden ? readyclasses[\"sr-only\"] : \"\"} ${classes[\"label\"]} ${\n className ?? \"\"\n }`}\n >\n {children}\n </label>\n );\n }\n);\n","import React, { ComponentPropsWithRef, Fragment, useState } from \"react\";\nimport classes from \"./Pagination.module.scss\";\nimport readyclasses from \"../readyclasses.module.scss\";\nimport { IconButton } from \"../Button/IconButton\";\nimport { Icons, Icon } from \"../Icon/Icon\";\nimport { Input } from \"../Form/Input/Input\";\nimport { Select } from \"../Form/Select/Select\";\nimport { Option } from \"../Form/Select/Option\";\nimport { Label } from \"../Form/Label/Label\";\n\nexport type PaginationTranslations = {\n totalItems: string;\n itemsPerPage: string;\n itemsPerPageLabel: string;\n currentPage: string;\n currentPageLabel: string;\n};\n\nexport type PageChangeLabels = \"next\" | \"previous\" | \"first\" | \"last\";\n\nenum DefaultTranslations {\n totalItems = \"Total items\",\n itemsPerPage = \"Items per page\",\n currentPage = \"Page %1 of %2\",\n itemsPerPageLabel = \"Select how many items per page you want to see.\",\n currentPageLabel = \"What page you are currently on.\"\n}\n\nexport type PageSize = 10 | 25 | 50;\n\nexport interface Props extends Omit<ComponentPropsWithRef<\"div\">, \"translate\"> {\n currentPage?: number;\n totalElements?: number;\n pageSize?: PageSize;\n translate?: PaginationTranslations;\n onPageChange: (pageToGoTo: number) => void;\n onPageSizeChange: (pageSize: PageSize) => void;\n}\n\nexport const Pagination = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n totalElements,\n pageSize = 10,\n translate = DefaultTranslations,\n currentPage,\n className,\n onPageChange,\n onPageSizeChange,\n ...rest\n }: Props,\n ref\n ) => {\n /** We use an internal state variable, because we don't want to fire onCurrentPageChange whenever onChange fires on the input. Rather, only when the Enter key is pressed. */\n const [internalCurrentPage, setInternalCurrentPage] = useState(currentPage?.toString() || \"1\");\n const calculateAmountOfPages = () => {\n if (!totalElements) return 1;\n\n if (Math.ceil(totalElements / pageSize) < 1) {\n return 1;\n }\n\n return Math.ceil(totalElements / pageSize);\n };\n\n const onEnterListener = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.code === \"Enter\") {\n onPageChange(Number(internalCurrentPage));\n }\n };\n\n const renderCurrentPageTranslation = () => {\n const amountOfPages = calculateAmountOfPages();\n\n if (amountOfPages) {\n const splitCurrentPageTranslation = translate.currentPage.split(\" \");\n\n return splitCurrentPageTranslation.map(string => {\n if (string.includes(\"%1\")) {\n return (\n <Fragment key={string}>\n <Label\n id=\"current-value-input-label\"\n htmlFor=\"current-value-input\"\n className={`${readyclasses[\"sr-only\"]} ${classes[\"current-value-input-label\"]}`}\n >\n {translate.currentPageLabel}\n </Label>\n <Input\n aria-labelledby=\"current-value-input-label\"\n key=\"input\"\n id=\"current-value-input\"\n type=\"text\"\n size={currentPage?.toString().length}\n max={calculateAmountOfPages()}\n wrapperProps={{ className: classes[\"current-value-input\"] }}\n onKeyUp={onEnterListener}\n onBlur={(event: React.ChangeEvent<HTMLInputElement>) =>\n onPageChange(Number(event.target.value))\n }\n onChange={(e: React.ChangeEvent<HTMLInputElement>) =>\n setInternalCurrentPage(e.target.value)\n }\n name=\"current-value-input\"\n value={internalCurrentPage}\n className={`${classes[\"form-element\"]} ${classes[\"current-page-input\"]}`}\n />\n </Fragment>\n );\n }\n\n if (string.includes(\"%2\")) {\n return (\n <div key={string}>\n <strong>{string.replace(\"%2\", amountOfPages.toString())}</strong>&nbsp;\n </div>\n );\n }\n\n return <div key={string}>{string}&nbsp;</div>;\n });\n }\n\n return null;\n };\n\n const onPageSizeChangeHandler = (event: React.ChangeEvent<HTMLSelectElement>) => {\n const pageSizeNumber = Number(event.target.value) as PageSize;\n onPageSizeChange(pageSizeNumber);\n };\n\n const onPageChangeHandler = (pageToGoTo: number) => {\n onPageChange(pageToGoTo);\n };\n\n return (\n <div\n {...rest}\n ref={ref}\n className={`${classes[\"pagination-wrapper\"]} ${className ? className : \"\"}`}\n >\n {totalElements && (\n <div className={classes[\"total\"]}>\n <span tabIndex={0}>\n {translate.totalItems}: <span>{totalElements}</span>\n </span>\n </div>\n )}\n <div className={classes[\"pagination\"]}>\n {pageSize && (\n <div className={classes[\"per-page\"]}>\n <Label id=\"page-size-select-label\">{translate.itemsPerPage}</Label>\n <Select\n labeledBy=\"page-size-select-label\"\n className={`${classes[\"form-element\"]} ${classes[\"page-size-select\"]}`}\n value={pageSize.toString()}\n onChange={onPageSizeChangeHandler}\n >\n <Option value=\"10\">10</Option>\n <Option value=\"25\">25</Option>\n <Option value=\"50\">50</Option>\n </Select>\n </div>\n )}\n <Fragment>\n {!!((currentPage && currentPage > 2) || (currentPage && currentPage > 1)) && (\n <div className={classes[\"previous\"]}>\n {currentPage > 2 && (\n <IconButton\n title=\"first\"\n onClick={() => onPageChangeHandler(0)}\n data-paginate=\"first\"\n >\n <Icon icon={Icons.NavigationFirst} />\n </IconButton>\n )}\n {currentPage > 1 && (\n <IconButton\n title=\"previous\"\n onClick={() => onPageChangeHandler(currentPage - 1)}\n data-paginate=\"previous\"\n >\n <Icon icon={Icons.ChevronLeft} />\n </IconButton>\n )}\n </div>\n )}\n {totalElements && !!calculateAmountOfPages() && (\n <div className={classes[\"page\"]}>{renderCurrentPageTranslation()}</div>\n )}\n <div className={classes[\"next\"]}>\n {!!(\n (currentPage !== undefined && currentPage < calculateAmountOfPages()!) ||\n (currentPage !== undefined && !totalElements)\n ) && (\n <IconButton\n title=\"next\"\n onClick={() => onPageChangeHandler(currentPage + 1)}\n data-paginate=\"next\"\n >\n <Icon icon={Icons.ChevronRight} />\n </IconButton>\n )}\n {!!(currentPage && totalElements && currentPage < calculateAmountOfPages()! - 1) && (\n <IconButton\n title=\"last\"\n onClick={() => onPageChangeHandler(totalElements / pageSize)}\n data-paginate=\"last\"\n >\n <Icon icon={Icons.NavigationLast} />\n </IconButton>\n )}\n </div>\n </Fragment>\n </div>\n </div>\n );\n }\n);\n","import React, { useEffect, useState } from \"react\";\nimport { generateID } from \"../util/helper\";\n\ninterface Arguments {\n componentToRepeat: React.ReactElement;\n}\n\nexport const useRepeater = <T>({ componentToRepeat }: Arguments) => {\n const [repeatedComponents, setRepeatedComponents] = useState<JSX.Element[]>([]);\n\n useEffect(() => {\n repeat();\n }, []);\n\n const repeat = () => {\n const clonedComponent = React.cloneElement(componentToRepeat, { key: generateID(20) });\n\n setRepeatedComponents(prevState => [...prevState, clonedComponent]);\n };\n\n const remove = (componentToRemove: React.ReactElement<T>) => {\n const newRepeatedComponents = repeatedComponents.filter(\n component => component !== componentToRemove\n );\n\n setRepeatedComponents(newRepeatedComponents);\n };\n\n return {\n repeatedComponents,\n repeat,\n remove\n };\n};\n","export const labelId = (id: string) => `${id}-label`;\nexport const descriptionId = (id: string) => `${id}-description`;\n","import React, { ComponentPropsWithRef, useEffect } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport classes from \"./BaseModal.module.scss\";\nimport { labelId, descriptionId } from \"./BaseModalContext\";\n\nconst SCROLL_PROPERTY_NAME = \"overflow\";\nconst SCROLL_PROPERTY_VALUE = \"hidden\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n id: string;\n children: React.ReactNode;\n open: boolean;\n onClose?: (event?: React.MouseEvent<HTMLElement>) => unknown;\n className?: string;\n containerProps?: ComponentPropsWithRef<\"div\">;\n backdropProps?: ComponentPropsWithRef<\"div\">;\n labelledby?: string;\n describedby?: string;\n disableEscapeKeyDown?: boolean;\n disableBackdrop?: boolean;\n forceContainerOpen?: boolean;\n zIndex?: number;\n domRoot?: HTMLElement;\n}\n\nexport const useSetBodyScroll = (open: boolean) => {\n const hideBodyScroll = () => {\n document.body.style[SCROLL_PROPERTY_NAME] = SCROLL_PROPERTY_VALUE;\n };\n\n const showBodyScroll = () => {\n const allModalsClosed =\n document.querySelectorAll(\"[role=dialog][data-hidden=false]\").length === 0;\n if (allModalsClosed) {\n document.body.style.removeProperty(SCROLL_PROPERTY_NAME);\n }\n };\n\n useEffect(() => {\n if (open) {\n hideBodyScroll();\n } else {\n showBodyScroll();\n }\n }, [open]);\n};\n\nexport const BaseModal = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n id,\n children,\n open,\n onClose,\n className = \"\",\n containerProps,\n backdropProps,\n labelledby,\n describedby,\n disableEscapeKeyDown = false,\n disableBackdrop = false,\n forceContainerOpen = false,\n zIndex,\n domRoot = document.body,\n ...rest\n }: Props,\n ref\n ) => {\n useSetBodyScroll(open);\n\n const handleEscKeyPress = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disableEscapeKeyDown && event.key === \"Escape\") {\n event.stopPropagation();\n onClose && onClose();\n }\n };\n\n const handleBackdropClick = () => !disableBackdrop && onClose && onClose();\n\n return createPortal(\n <div\n {...rest}\n ref={ref}\n id={id}\n className={`${classes[\"modal\"]} ${open ? classes[\"visible\"] : \"\"} ${className}`}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={labelledby || labelId(id)}\n aria-describedby={describedby || descriptionId(id)}\n aria-hidden={!open}\n tabIndex={-1}\n data-hidden={!open}\n onKeyDown={handleEscKeyPress}\n style={{ zIndex }}\n >\n <div\n {...backdropProps}\n className={`${classes[\"backdrop\"]} ${backdropProps?.className ?? \"\"}`}\n onClick={handleBackdropClick}\n ></div>\n {forceContainerOpen ? (\n <div\n {...containerProps}\n aria-hidden={!open}\n hidden={!open}\n style={{ zIndex: zIndex && zIndex + 1 }}\n className={`${classes[\"container\"]} ${containerProps?.className ?? \"\"}`}\n >\n {children}\n </div>\n ) : (\n open && (\n <div\n {...containerProps}\n style={{ zIndex: zIndex && zIndex + 1 }}\n className={`${classes[\"container\"]} ${containerProps?.className ?? \"\"}`}\n >\n {children}\n </div>\n )\n )}\n </div>,\n domRoot\n );\n }\n);\n","import React, { createContext } from \"react\";\nimport { SnackbarOptionsProps } from \"../interfaces\";\n\ninterface SnackbarContextProps {\n enqueueSnackbar: (title: string, content?: string, options?: SnackbarOptionsProps) => void;\n enqueueSuccessSnackbar: (title: string, content?: string, options?: SnackbarOptionsProps) => void;\n enqueueErrorSnackbar: (title: string, content?: string, options?: SnackbarOptionsProps) => void;\n}\n\nconst SnackbarContext = createContext<SnackbarContextProps>({\n enqueueSnackbar: () => null,\n enqueueSuccessSnackbar: () => null,\n enqueueErrorSnackbar: () => null\n});\n\ninterface Props {\n initialState: SnackbarContextProps;\n children?: React.ReactNode;\n}\n\nconst SnackbarContextProvider = ({ children, initialState }: Props) => {\n return <SnackbarContext.Provider value={initialState}>{children}</SnackbarContext.Provider>;\n};\n\nexport { SnackbarContextProvider, SnackbarContext, SnackbarContextProps };\n","import { useContext } from \"react\";\nimport { SnackbarContext } from \"./SnackbarProvider/SnackbarStateProvider\";\n\nexport const useSnackbar = () => useContext(SnackbarContext);\n","import React, { ComponentPropsWithRef, createRef, useEffect } from \"react\";\nimport classes from \"./BaseModalContent.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n id?: string;\n children: React.ReactNode;\n className?: string;\n disableAutoFocus?: boolean;\n}\n\nexport const BaseModalContent = React.forwardRef<HTMLDivElement, Props>(\n ({ id, children, className = \"\", disableAutoFocus = false, ...rest }: Props, ref) => {\n const contentRef = createRef<HTMLDivElement>();\n\n useEffect(() => {\n if (!disableAutoFocus && ref) {\n (ref as React.RefObject<HTMLDivElement>).current?.focus();\n } else if (!disableAutoFocus) {\n contentRef.current?.focus();\n }\n }, []);\n\n /**tabIndex is set to be able to do focus on that element which we need for catching keyDown events */\n return (\n <div\n {...rest}\n ref={ref || contentRef}\n id={id}\n className={`${classes[\"content\"]} ${className}`}\n tabIndex={-1}\n >\n {children}\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from \"react\";\nimport classes from \"./BaseModalActions.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"footer\"> {\n children?: React.ReactNode;\n}\n\nexport const BaseModalActions = React.forwardRef<HTMLElement, Props>(\n ({ children, className = \"\", ...rest }: Props, ref) => {\n return (\n <footer {...rest} ref={ref} className={`${classes[\"actions\"]} ${className}`}>\n {children}\n </footer>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from \"react\";\nimport {\n BaseModalActions,\n Props as BaseModalActionsProps\n} from \"../../BaseModal/BaseModalActions/BaseModalActions\";\nimport classes from \"./DialogActions.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<any>, BaseModalActionsProps {\n align: \"left\" | \"right\";\n}\n\nexport const DialogActions = React.forwardRef<HTMLElement, Props>(\n ({ children, align, ...rest }: Props, ref) => {\n return (\n <BaseModalActions\n {...rest}\n ref={ref}\n className={`${classes[\"actions\"]}${align === \"left\" ? \" \" + classes[\"left\"] : \"\"}`}\n >\n {children}\n </BaseModalActions>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from \"react\";\nimport { Typography } from \"../../../Typography/Typography\";\nimport classes from \"./DialogTitle.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n id: string;\n title: string;\n}\n\nexport const DialogTitle = React.forwardRef<HTMLDivElement, Props>(\n ({ id, title, ...rest }: Props, ref) => {\n return (\n <div {...rest} ref={ref} className={classes[\"header\"]}>\n <Typography id={id} className={classes[\"title\"]} tag=\"h1\" variant=\"h4\">\n {title}\n </Typography>\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef, useState } from \"react\";\nimport { BaseModal } from \"../BaseModal/BaseModal\";\nimport { BaseModalContent } from \"../BaseModal/BaseModalContent/BaseModalContent\";\nimport { DialogActions } from \"./DialogActions/DialogActions\";\nimport classes from \"./Dialog.module.scss\";\nimport { DialogTitle } from \"./DialogTitle/DialogTitle\";\nimport { Button, Props as ButtonProps } from \"../../Button/Button\";\nimport { labelId, descriptionId } from \"../BaseModal/BaseModalContext\";\nimport { generateID } from \"../../util/helper\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n id?: string;\n open: boolean;\n children: React.ReactNode;\n alignActions: \"left\" | \"right\";\n onClose: () => void;\n title: string;\n primaryAction: Action;\n secondaryAction?: Action;\n zIndex?: number;\n disableEscapeKeyDown?: boolean;\n}\n\nexport interface Action extends Omit<ButtonProps, \"variant\" | \"ref\"> {\n label: string;\n onClick: (event?: React.MouseEvent<HTMLButtonElement>) => unknown;\n}\n\nexport const Dialog = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n id,\n open,\n children,\n alignActions,\n onClose,\n title,\n primaryAction,\n secondaryAction,\n zIndex,\n disableEscapeKeyDown = true,\n ...rest\n }: Props,\n ref\n ) => {\n const [dialogId] = useState(id ?? generateID(20));\n const { label: primaryLabel, ...restOfPrimaryAction } = primaryAction;\n const PrimaryButton = (\n <Button key=\"primary\" {...restOfPrimaryAction}>\n {primaryLabel}\n </Button>\n );\n const TertiaryButton =\n secondaryAction &&\n (function () {\n const { label: secondaryLabel, ...restOfSecondaryAction } = secondaryAction;\n return (\n <Button key=\"tertiary\" variant=\"text\" {...restOfSecondaryAction}>\n {secondaryLabel}\n </Button>\n );\n })();\n\n const onHiddenInputKeyPress = (event: React.KeyboardEvent<HTMLInputElement>) => {\n /** It has to be here because then we will need to check if user doesn't click tab to select action button and want to do another action then primary one? */\n if (event.key === \"Enter\") {\n primaryAction.onClick();\n }\n };\n\n return (\n <BaseModal\n {...rest}\n ref={ref}\n id={dialogId}\n className={classes[\"dialog\"]}\n containerProps={{ className: classes[\"container\"] }}\n open={open}\n disableBackdrop\n onClose={onClose}\n zIndex={zIndex}\n disableEscapeKeyDown={disableEscapeKeyDown}\n >\n <DialogTitle id={labelId(dialogId)} title={title} />\n <BaseModalContent\n id={descriptionId(dialogId)}\n className={classes[\"content\"]}\n disableAutoFocus\n >\n {children}\n </BaseModalContent>\n <DialogActions align={alignActions}>\n {alignActions === \"left\"\n ? [PrimaryButton, TertiaryButton]\n : [TertiaryButton, PrimaryButton]}\n </DialogActions>\n <input\n autoFocus\n aria-hidden={true}\n style={{\n position: \"absolute\",\n width: 0,\n height: 0,\n opacity: 0\n }}\n maxLength={0}\n tabIndex={-1}\n onKeyPress={onHiddenInputKeyPress}\n />\n </BaseModal>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from \"react\";\nimport classes from \"./BaseModalHeader.module.scss\";\nimport { IconButton } from \"../../../Button/IconButton\";\nimport { Icon, Icons } from \"../../../Icon/Icon\";\nimport { Typography } from \"../../../Typography/Typography\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n id: string;\n title: string;\n children?: React.ReactNode;\n onClose: (event: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\nexport const BaseModalHeader = React.forwardRef<HTMLDivElement, Props>(\n ({ id, title, children, onClose, ...rest }: Props, ref) => {\n return (\n <div {...rest} ref={ref} className={classes[\"header\"]}>\n <div className={classes[\"headline\"]}>\n <Typography id={id} className={classes[\"title\"]} tag=\"h1\" variant=\"h4\">\n {title}\n </Typography>\n <IconButton onClick={onClose} className={classes[\"closeBtn\"]} title=\"close modal\">\n <Icon icon={Icons.Times} />\n </IconButton>\n </div>\n {children}\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from \"react\";\nimport { Dialog } from \"../../Dialog/Dialog\";\nimport { Typography } from \"../../../Typography/Typography\";\nimport { DataAttributeKey } from \"../../../interfaces\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n open: boolean;\n discardChangesButtonLabel: string;\n keepEditingButtonLabel: string;\n contentLabel: string;\n titleLabel: string;\n [dataAttribute: DataAttributeKey]: any;\n onKeepEditing: () => void;\n onDiscardChanges: () => void;\n}\n\nexport const DiscardChangesDialog = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n open,\n onKeepEditing,\n onDiscardChanges,\n discardChangesButtonLabel,\n keepEditingButtonLabel,\n contentLabel,\n titleLabel,\n ...rest\n }: Props,\n ref\n ) => {\n return (\n <Dialog\n {...rest}\n ref={ref}\n open={open}\n alignActions=\"left\"\n title={titleLabel}\n onClose={onKeepEditing}\n primaryAction={{\n label: discardChangesButtonLabel,\n onClick: onDiscardChanges\n }}\n secondaryAction={{\n label: keepEditingButtonLabel,\n onClick: onKeepEditing\n }}\n disableEscapeKeyDown={false}\n >\n <Typography variant=\"body\" spacing={{ margin: 0 }}>\n {contentLabel}\n </Typography>\n </Dialog>\n );\n }\n);\n","import React, { Fragment, useState } from \"react\";\nimport { Modal, Props as ModalProps } from \"../Modal/Modal\";\nimport { ModalHeader, Props as ModalHeaderProps } from \"../Modal/ModalHeader/ModalHeader\";\nimport {\n DiscardChangesDialog,\n Props as DiscardChangesDialogProps\n} from \"./DiscardChangesDialog/DiscardChangesDialog\";\n\nexport interface Props extends Omit<ModalProps, \"onClose\"> {\n hasUnsavedChanges: () => boolean;\n onClose: (event?: React.MouseEvent<HTMLElement>) => unknown;\n headerProps: Omit<ModalHeaderProps, \"onClose\" | \"id\">;\n discardChangedDialogProps: Omit<\n DiscardChangesDialogProps,\n \"open\" | \"onKeepEditing\" | \"onDiscardChanges\"\n >;\n modalRef?: React.RefObject<HTMLDivElement>;\n dialogRef?: React.RefObject<HTMLDivElement>;\n}\n\nexport const DiscardChangesModal = ({\n id,\n children,\n headerProps,\n discardChangedDialogProps,\n modalRef,\n dialogRef,\n onClose,\n hasUnsavedChanges,\n ...rest\n}: Props) => {\n const [openDiscardChangesDialog, setOpenDiscardChangesDialog] = useState(false);\n\n const onCloseWrapper = () =>\n hasUnsavedChanges() ? setOpenDiscardChangesDialog(true) : onClose();\n\n const onDialogKeepEditing = () => {\n setOpenDiscardChangesDialog(false);\n };\n\n const onDialogDiscardChanges = () => {\n setOpenDiscardChangesDialog(false);\n onClose();\n };\n\n return (\n <Fragment>\n <Modal id={id} ref={modalRef} onClose={onCloseWrapper} {...rest}>\n <ModalHeader {...headerProps} id={`${id}-label`} onClose={onCloseWrapper} />\n {children}\n </Modal>\n <DiscardChangesDialog\n {...discardChangedDialogProps}\n ref={dialogRef}\n open={openDiscardChangesDialog}\n onKeepEditing={onDialogKeepEditing}\n onDiscardChanges={onDialogDiscardChanges}\n />\n </Fragment>\n );\n};\n","import React, { TransitionEventHandler, useState, useRef } from \"react\";\nimport { Props as ModalProps, Modal } from \"../Modal/Modal\";\nimport classes from \"./SlideInModal.module.scss\";\n\nexport const SlideInModal = React.forwardRef<HTMLDivElement, ModalProps>(\n ({ children, id, open, ...rest }: ModalProps, ref) => {\n const [classHideOnTransition, setClassHideOnTransition] = useState<string>(\"hidden\");\n const containerRef = useRef(null);\n\n const onTransitionEnd: TransitionEventHandler<HTMLDivElement> = e => {\n if (e.target === containerRef.current) {\n setClassHideOnTransition(prev => (prev ? \"\" : \"hidden\"));\n }\n };\n\n return (\n <Modal\n {...rest}\n id={id}\n open={open}\n className={`${classes[\"slide-in-modal\"]} ${open ? classes[\"visible\"] : \"\"} ${\n !open ? classes[classHideOnTransition] : \"\"\n }`}\n containerProps={{ className: classes[\"container\"] }}\n backdropProps={{ className: classes[\"backdrop-slide\"] }}\n forceContainerOpen\n onTransitionEnd={onTransitionEnd}\n ref={ref || containerRef}\n >\n {children}\n </Modal>\n );\n }\n);\n\nexport { Props } from \"../Modal/Modal\";\n","import React from \"react\";\nimport classes from \"./SnackbarContainer.module.scss\";\n\nexport interface Placement {\n vertical: \"top\" | \"bottom\";\n horizontal: \"start\" | \"center\" | \"end\";\n}\n\nexport interface Props {\n placement: Placement;\n children?: React.ReactNode;\n zIndex?: number;\n className?: string;\n}\n\nexport const SnackbarContainer = ({ placement, children, zIndex, className, ...rest }: Props) => {\n return (\n <div\n {...rest}\n style={{ zIndex }}\n className={`${classes[\"snackbars\"]} ${classes[placement.horizontal]} ${\n classes[placement.vertical]\n } ${className ?? \"\"}`}\n >\n {children}\n </div>\n );\n};\n","import { useEffect, useRef, useState } from \"react\";\n\nexport const useAnimation = <RefElement extends HTMLElement>(callback: () => void) => {\n const animatedObjectRef = useRef<RefElement>(null);\n /** We need to store flag that says us when to call the callback */\n const [animationStarted, setAnimationStarted] = useState(false);\n\n const onAnimationEnd = () => animationStarted && callback();\n\n useEffect(() => {\n animatedObjectRef.current?.addEventListener(\"animationend\", onAnimationEnd);\n return () => animatedObjectRef.current?.removeEventListener(\"animationend\", onAnimationEnd);\n }, [animationStarted]);\n\n return {\n ref: animatedObjectRef,\n animationStarted,\n startAnimation: () => setAnimationStarted(true)\n };\n};\n","import React, { useEffect, useRef } from \"react\";\nimport { IconButton } from \"../../../Button/IconButton\";\nimport { Icon, Icons } from \"../../../Icon/Icon\";\nimport { Variant, Actions } from \"../interfaces\";\nimport classes from \"./SnackbarItem.module.scss\";\nimport readyclasses from \"../../../readyclasses.module.scss\";\nimport { useAnimation } from \"../../../hooks/useAnimation\";\nimport { Typography } from \"../../../Typography/Typography\";\n\nconst textColor = \"var(--snackbar-text-color)\";\n\nexport interface Props {\n id: string;\n title: string;\n duration: number;\n variant: Variant;\n onClose: (key: string) => void;\n closeButtonTitle: string;\n content?: string;\n actions?: Actions;\n}\n\nexport const SnackbarItem = ({\n id,\n title,\n duration,\n variant,\n content,\n actions = [],\n onClose,\n closeButtonTitle\n}: Props) => {\n const timerHandler = useRef<ReturnType<typeof setTimeout>>();\n const onAnimationEnd = () => onClose(id);\n const { ref, animationStarted, startAnimation } = useAnimation<HTMLDivElement>(onAnimationEnd);\n\n useEffect(() => {\n timerHandler.current = setTimeout(() => startAnimation(), duration);\n return () => {\n timerHandler.current && clearTimeout(timerHandler.current);\n };\n }, []);\n\n const onMouseEnter = () => {\n timerHandler.current && clearTimeout(timerHandler.current);\n };\n\n const onMouseLeave = () => {\n timerHandler.current = setTimeout(() => startAnimation(), duration);\n };\n\n const getVariantIcon = () => {\n if (variant === \"error\") {\n return Icons.Error;\n }\n return variant === \"success\" ? Icons.CheckmarkCircleBreakout : Icons.InfoCircle;\n };\n\n const actionButtons = actions.map((actionProp, index) => (\n <button\n key={index}\n {...actionProp}\n onClick={e => {\n onClose(id);\n actionProp.onClick && actionProp.onClick(e);\n }}\n children={actionProp.label}\n className={classes[\"action-button\"]}\n ></button>\n ));\n\n return (\n <div\n ref={ref}\n className={`${classes[\"snackbar\"]} ${classes[variant]} ${\n animationStarted ? readyclasses[\"slide-out\"] : readyclasses[\"slide-in\"]\n }`}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n <Icon icon={getVariantIcon()} className={classes[\"icon\"]} />\n <div className={classes[\"container\"]}>\n <div className={classes[\"headline\"]}>\n <Typography className={classes[\"title\"]} variant=\"h4\" tag=\"span\">\n {title}\n </Typography>\n <IconButton\n id={classes[\"close-btn\"]}\n onClick={() => startAnimation()}\n title={closeButtonTitle}\n >\n <Icon icon={Icons.Times} color={textColor} />\n </IconButton>\n </div>\n {!!content && (\n <Typography className={classes[\"content\"]} variant=\"body\">\n {content}\n </Typography>\n )}\n {actionButtons.length > 0 && <div className={classes[\"actions\"]}>{actionButtons}</div>}\n </div>\n </div>\n );\n};\n","import React, { ReactNode, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { SnackbarContextProvider } from \"./SnackbarStateProvider\";\nimport { Actions, SnackbarOptionsProps, Variant } from \"../interfaces\";\nimport { Placement, SnackbarContainer } from \"../SnackbarContainer/SnackbarContainer\";\nimport { generateID } from \"../../../util/helper\";\nimport { SnackbarItem } from \"../SnackbarItem/SnackbarItem\";\n\n/** Short msg is when only title is provided. Long one when content or/and actions are provided (or type is error). */\ninterface Duration {\n long: number;\n short: number;\n}\n\nexport interface Props {\n closeButtonTitle: string;\n children?: ReactNode;\n placement?: Placement;\n stackSize?: number;\n domRoot?: HTMLElement;\n autoHideDuration?: Duration;\n className?: string;\n}\n\ninterface Item {\n id: string;\n title: string;\n duration: number;\n variant: Variant;\n content?: string;\n actions?: Actions;\n onClose?: () => void;\n}\n\nexport const SnackbarProvider = (\n {\n closeButtonTitle,\n placement = { vertical: \"bottom\", horizontal: \"center\" },\n autoHideDuration = { long: 8000, short: 4000 },\n stackSize = 3,\n domRoot = document.body,\n children,\n className\n }: Props = { closeButtonTitle: \"\" }\n) => {\n const [snackbars, setSnackbars] = useState<Item[]>([]);\n\n const addSnackbar = (item: Item) => {\n setSnackbars(items => [...items, item]);\n };\n\n const getDuration = (variant: Variant, actions?: Actions, content?: string) => {\n const hasError = variant === \"error\";\n const hasContentOrActions = content || actions;\n if (hasError || hasContentOrActions) {\n return autoHideDuration.long;\n }\n return autoHideDuration.short;\n };\n\n const enqueueSnackbar = (\n title: string,\n content?: string,\n options: SnackbarOptionsProps = {}\n ): void => {\n const {\n variant = \"info\",\n actions,\n duration = getDuration(variant, actions, content),\n onClose\n } = options;\n const item: Item = {\n title,\n content,\n variant,\n actions,\n duration,\n id: generateID(15, title),\n onClose\n };\n addSnackbar(item);\n };\n\n const enqueueSuccessSnackbar = (\n title: string,\n content?: string,\n options?: SnackbarOptionsProps\n ): void => {\n enqueueSnackbar(title, content, { ...options, variant: \"success\" });\n };\n\n const enqueueErrorSnackbar = (\n title: string,\n content?: string,\n options?: SnackbarOptionsProps\n ): void => {\n enqueueSnackbar(title, content, { ...options, variant: \"error\" });\n };\n\n const onItemClosed = (id: string) => {\n setSnackbars(items => [...items].filter(item => item.id !== id));\n };\n\n const snackbarList = snackbars.map((item, index) =>\n index < stackSize ? (\n <SnackbarItem\n {...item}\n key={item.id}\n onClose={() => {\n onItemClosed(item.id);\n item.onClose && item.onClose();\n }}\n closeButtonTitle={closeButtonTitle}\n />\n ) : null\n );\n\n const snackbarPortal = createPortal(\n <SnackbarContainer placement={placement} className={className}>\n {snackbarList}\n </SnackbarContainer>,\n domRoot\n );\n\n return (\n <SnackbarContextProvider\n initialState={{ enqueueSnackbar, enqueueSuccessSnackbar, enqueueErrorSnackbar }}\n >\n {children}\n {snackbarPortal}\n </SnackbarContextProvider>\n );\n};\n","import { useEffect, useState } from \"react\";\nimport { generateID } from \"../util/helper\";\n\nexport interface ConfigObject {\n name: string | undefined;\n errorMessage?: string;\n error?: boolean;\n parentErrorId?: string;\n helperText?: string;\n parentHelperId?: string;\n}\n\nexport const useFormSelector = (configObject: ConfigObject) => {\n const [identifier] = useState(generateID(15, configObject.name));\n const [describedBy, setDescribedBy] = useState(\"\");\n const [errorId] = useState(generateID(15, configObject.errorMessage));\n\n useEffect(() => {\n if (configObject.error && configObject.parentErrorId) {\n setDescribedBy(configObject.parentErrorId);\n }\n\n if (\n (!configObject.error && configObject.helperText) ||\n (!configObject.parentErrorId && !configObject.errorMessage && configObject.helperText)\n ) {\n setDescribedBy(`${identifier}`);\n }\n\n if (\n (!configObject.error && !configObject.helperText && configObject.parentHelperId) ||\n (!configObject.parentErrorId && !configObject.errorMessage && configObject.parentHelperId)\n ) {\n setDescribedBy(`${configObject.parentHelperId}`);\n }\n\n if (configObject.errorMessage && !configObject.parentErrorId && configObject.error) {\n setDescribedBy(errorId);\n }\n }, [identifier, configObject.error, configObject.parentErrorId]);\n\n return {\n describedBy,\n errorId,\n identifier\n };\n};\n","import React, { ComponentPropsWithRef, ReactNode } from \"react\";\nimport classes from \"./FormHelperText.module.scss\";\nimport { Typography } from \"../../Typography/Typography\";\nimport { FormElement } from \"../form.interfaces\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\">, FormElement {\n children?: ReactNode;\n}\n\nexport const FormHelperText = React.forwardRef<HTMLDivElement, Props>(\n ({ children, error, className, ...rest }: Props, ref) => {\n return (\n <Typography\n {...rest}\n ref={ref}\n variant=\"sub-text\"\n tag=\"div\"\n className={`${classes[\"form-helper-text\"]} ${error ? classes.error : \"\"} ${\n className ?? \"\"\n }`}\n >\n {children}\n </Typography>\n );\n }\n);\n","import React, { ComponentPropsWithRef, createRef, ReactNode } from \"react\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\nimport { KeyValuePair } from \"../../interfaces\";\nimport { FormSelector } from \"../form.interfaces\";\nimport { FormHelperText, Props as FormHelperTextProps } from \"../FormHelperText/FormHelperText\";\nimport classes from \"./FormSelectorWrapper.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\">, FormSelector {\n children?: ReactNode;\n nestedChildren?: ReactNode;\n containerProps?: ComponentPropsWithRef<\"div\"> & KeyValuePair;\n helperProps?: FormHelperTextProps;\n disabled?: boolean;\n errorId?: string;\n identifier?: string;\n}\n\nexport const FormSelectorWrapper = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n children,\n className,\n nestedChildren,\n containerProps,\n helperProps,\n error,\n disabled,\n helperText,\n errorMessage,\n parentErrorId,\n errorId,\n identifier,\n ...rest\n }: Props,\n ref\n ) => {\n const helperRef = helperProps?.ref || createRef();\n\n return (\n <div\n {...rest}\n ref={ref}\n className={`${error ? classes[\"error\"] : \"\"} ${disabled ? classes[\"disabled\"] : \"\"} ${\n className ?? \"\"\n }`}\n >\n <div {...containerProps}>{children}</div>\n {(helperText || (helperProps && helperProps.children)) &&\n (!error || parentErrorId || !errorMessage) && (\n <FormHelperText\n {...helperProps}\n ref={helperRef}\n id={`${identifier}`}\n className={`${classes[\"helper-text\"]} ${helperProps?.className ?? \"\"} ${\n error ? classes[\"error\"] : \"\"\n }`}\n >\n {(helperProps && helperProps.children) || helperText}\n </FormHelperText>\n )}\n {errorMessage && !parentErrorId && error && (\n <span className={classes[\"error-message\"]}>\n <Icon className={classes[\"error-icon\"]} icon={Icons.Error} />\n <span id={errorId}>{errorMessage}</span>\n </span>\n )}\n {nestedChildren}\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactElement, ReactNode, useEffect } from \"react\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\nimport { Props as FormHelperTextProps } from \"../FormHelperText/FormHelperText\";\nimport classes from \"./Checkbox.module.scss\";\nimport { useFormSelector } from \"../../hooks/useFormSelector\";\nimport {\n FormSelectorWrapper,\n Props as FormSelectorWrapperProps\n} from \"../FormSelectorWrapper/FormSelectorWrapper\";\nimport { FormSelector } from \"../form.interfaces\";\n\nconst isToggle = (children: ReactNode) => (children as ReactElement)?.props?.[\"data-toggle\"];\n\nexport interface Props extends ComponentPropsWithRef<\"input\">, FormSelector {\n children: ReactNode;\n label?: string;\n indeterminate?: boolean;\n helperProps?: FormHelperTextProps;\n formSelectorWrapperProps?: FormSelectorWrapperProps;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const Checkbox = React.forwardRef<HTMLInputElement, Props>(\n (\n {\n children,\n name,\n helperText,\n helperProps,\n indeterminate,\n parentErrorId,\n errorMessage,\n disabled,\n label,\n parentHelperId,\n className,\n error,\n checked = false,\n formSelectorWrapperProps,\n onChange,\n ...rest\n }: Props,\n ref\n ) => {\n const { errorId, identifier, describedBy } = useFormSelector({\n name,\n helperText,\n parentErrorId,\n errorMessage,\n error,\n parentHelperId\n });\n\n useEffect(() => {\n if (!name) {\n throw new Error(\"Please pass a 'name' prop to your <Checkbox> component.\");\n }\n\n if (typeof children === \"object\" && !isToggle(children) && indeterminate === undefined) {\n throw new Error(\n \"If you have nested checkboxes you have to manage the indeterminate state by passing a boolean to the `indeterminate` prop.\"\n );\n }\n }, []);\n\n const determineLabel = () => {\n if (label) {\n return label;\n } else if (children === undefined) {\n throw new Error(\n \"Please make sure to pass either a string or more Checkbox components as a child of your Checkbox component.\"\n );\n }\n\n if (typeof children === \"string\") {\n return children;\n }\n\n throw new Error(\n \"If you pass Checkboxes as a child component (to create nested checkbox tree) you need to pass a label to the parent checkbox.\"\n );\n };\n\n const renderNestedCheckboxes = () => (\n <ul className={classes[\"checkbox-list\"]}>\n {React.Children.map(children as ReactElement[], child => {\n return (\n <li>\n <Checkbox\n {...child.props}\n parentHelperId={parentHelperId}\n parentErrorId={parentErrorId}\n error={error}\n disabled={child.props.disabled ? child.props.disabled : disabled}\n >\n {child.props.children}\n </Checkbox>\n </li>\n );\n })}\n </ul>\n );\n\n const onChangeHandler = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (disabled) {\n return;\n }\n onChange && onChange(event);\n };\n\n const renderToggle = () => React.Children.toArray(children).filter(isToggle);\n\n const iconClasses = [classes[\"input\"], disabled ? classes[\"disabled\"] : \"\"];\n\n /** Default return value is the default checkbox */\n return (\n <FormSelectorWrapper\n {...formSelectorWrapperProps}\n className={`${classes[\"checkbox-wrapper\"]} ${className ? className : \"\"}`}\n containerProps={{ className: classes[\"checkbox-container\"] }}\n helperText={helperText}\n helperProps={helperProps}\n parentErrorId={parentErrorId}\n errorId={errorId}\n errorMessage={errorMessage}\n error={error}\n disabled={disabled}\n identifier={identifier}\n nestedChildren={\n typeof children === \"object\" && !isToggle(children) && renderNestedCheckboxes()\n }\n >\n <input\n {...rest}\n ref={ref}\n disabled={disabled}\n className={`${classes[\"native-input\"]} ${error ? classes[\"error\"] : \"\"}`}\n checked={checked}\n onChange={onChangeHandler}\n aria-invalid={error as boolean}\n aria-checked={indeterminate ? \"mixed\" : checked}\n aria-describedby={describedBy}\n id={`${identifier}-checkbox`}\n name={name}\n type=\"checkbox\"\n />\n {renderToggle()}\n\n {indeterminate && <Icon className={iconClasses.join(\" \")} icon={Icons.MinusSquare} />}\n {checked && !indeterminate && (\n <Icon className={iconClasses.join(\" \")} icon={Icons.CheckmarkSquare} />\n )}\n {!checked && !indeterminate && (\n <Icon className={iconClasses.join(\" \")} icon={Icons.Square} />\n )}\n <label htmlFor={`${identifier}-checkbox`}>{determineLabel()}</label>\n </FormSelectorWrapper>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from \"react\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\nimport { Props as HelperProps } from \"../FormHelperText/FormHelperText\";\nimport classes from \"./Radio.module.scss\";\nimport { useFormSelector } from \"../../hooks/useFormSelector\";\nimport { FormSelector } from \"../form.interfaces\";\nimport {\n FormSelectorWrapper,\n Props as FormSelectorWrapperProps\n} from \"../FormSelectorWrapper/FormSelectorWrapper\";\n\nexport interface Props extends ComponentPropsWithRef<\"input\">, FormSelector {\n children: string;\n value: string;\n formSelectorWrapperProps?: FormSelectorWrapperProps;\n helperProps?: HelperProps;\n}\n\nexport const Radio = React.forwardRef<HTMLInputElement, Props>(\n (\n {\n children,\n disabled,\n className,\n value,\n name,\n helperText,\n parentErrorId,\n parentHelperId,\n error,\n errorMessage,\n checked = false,\n formSelectorWrapperProps,\n helperProps,\n onChange,\n ...rest\n }: Props,\n ref\n ) => {\n const { errorId, identifier, describedBy } = useFormSelector({\n name,\n helperText,\n parentErrorId,\n errorMessage,\n error,\n parentHelperId\n });\n\n const onChangeHandler = (event: React.ChangeEvent<HTMLInputElement> | React.MouseEvent) => {\n if (disabled) {\n return;\n }\n /** We have to clone the native event we got here and change the \"target\" property to the value. Otherwise, this regular event has \"on\" as it's event.target.value, which is useless. */\n const nativeEvent: any = event.nativeEvent || event;\n const clonedEvent = new nativeEvent.constructor(nativeEvent.type, nativeEvent);\n\n Object.defineProperty(clonedEvent, \"target\", {\n writable: true,\n value: { value: value }\n });\n\n onChange && onChange(clonedEvent);\n };\n\n /** Default return value is the default radio */\n return (\n <FormSelectorWrapper\n {...formSelectorWrapperProps}\n className={`${classes[\"radio-wrapper\"]} ${className ?? \"\"}`}\n containerProps={{ className: classes[\"radio-container\"] }}\n helperText={helperText}\n helperProps={helperProps}\n parentErrorId={parentErrorId}\n errorId={errorId}\n errorMessage={errorMessage}\n error={error}\n disabled={disabled}\n identifier={identifier}\n >\n <input\n {...rest}\n ref={ref}\n disabled={disabled}\n tabIndex={0}\n className={`${classes[\"native-input\"]} ${error ? classes[\"error\"] : \"\"}`}\n onChange={onChangeHandler}\n checked={checked}\n aria-invalid={error ? true : false}\n aria-checked={checked}\n aria-describedby={describedBy}\n name={name}\n value={value}\n id={`${identifier}-radio`}\n type=\"radio\"\n />\n\n {checked && (\n <Icon\n className={`${classes[\"input\"]} ${disabled ? classes[\"disabled\"] : \"\"}`}\n icon={Icons.Radio}\n />\n )}\n {!checked && (\n <Icon\n className={`${classes[\"input\"]} ${disabled ? classes[\"disabled\"] : \"\"}`}\n icon={Icons.Circle}\n />\n )}\n\n <label onClick={onChangeHandler} htmlFor={`${identifier}-radio`}>\n {children}\n </label>\n </FormSelectorWrapper>\n );\n }\n);\n","import React, { ComponentPropsWithRef, useState } from \"react\";\nimport { Icon, Props as IconProps, Icons } from \"../../Icon/Icon\";\nimport classes from \"./Textarea.module.scss\";\nimport { FormElement } from \"../form.interfaces\";\n\ninterface IconPropsPartial extends Omit<Partial<IconProps>, \"ref\"> {}\n\nexport interface Props extends ComponentPropsWithRef<\"textarea\">, FormElement {\n wrapperProps?: ComponentPropsWithRef<\"div\">;\n errorProps?: IconPropsPartial;\n}\n\nexport const Textarea = React.forwardRef<HTMLTextAreaElement, Props>(\n (\n {\n error = false,\n disabled = false,\n className,\n rows = 4,\n wrapperProps,\n errorProps,\n onFocus,\n onBlur,\n ...rest\n }: Props,\n ref\n ) => {\n const [focus, setFocus] = useState(false);\n\n const wrapperClasses = [classes[\"textarea-wrapper\"]];\n const outlineClasses = [classes[\"outline\"]];\n\n wrapperProps?.className && wrapperClasses.push(wrapperProps.className);\n disabled &&\n wrapperClasses.push(classes[\"disabled\"]) &&\n outlineClasses.push(classes[\"disabled\"]);\n error && wrapperClasses.push(classes[\"error\"]) && outlineClasses.push(classes[\"error\"]);\n focus && wrapperClasses.push(classes[\"focus\"]) && outlineClasses.push(classes[\"focus\"]);\n\n return (\n <div {...wrapperProps} className={wrapperClasses.join(\" \")}>\n <textarea\n {...rest}\n ref={ref}\n rows={rows}\n className={`${error ? classes[\"error\"] : \"\"} ${classes[\"textarea\"]} ${className ?? \"\"}`}\n disabled={disabled}\n onFocus={event => {\n setFocus(true);\n onFocus && onFocus(event);\n }}\n onBlur={event => {\n setFocus(false);\n onBlur && onBlur(event);\n }}\n />\n {error && (\n <Icon\n {...errorProps}\n className={`${classes[\"warning\"]} ${errorProps?.className ?? \"\"}`}\n icon={Icons.Error}\n />\n )}\n <span className={outlineClasses.join(\" \")}></span>\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from \"react\";\nimport { Checkbox, Props as CheckboxProps } from \"../Checkbox/Checkbox\";\nimport classes from \"./Toggle.module.scss\";\n\nexport interface Props\n extends ComponentPropsWithRef<\"input\">,\n Omit<CheckboxProps, \"indeterminate\" | \"errorMessage\" | \"error\" | \"children\" | \"label\"> {\n children: string;\n}\n\nexport const Toggle = React.forwardRef<HTMLInputElement, Props>(\n ({ children, checked, disabled, helperProps, ...rest }: Props, ref) => (\n <div className={classes[\"toggle-wrapper\"]}>\n <Checkbox\n {...rest}\n ref={ref}\n checked={checked}\n className={classes[\"checkbox\"]}\n helperProps={{ className: classes[\"toggle-helper\"], ...helperProps }}\n disabled={disabled}\n label={children}\n >\n <span\n data-toggle\n aria-hidden=\"true\"\n className={`${classes[\"toggle\"]} ${checked ? classes[\"checked\"] : \"\"} ${\n disabled ? classes[\"disabled\"] : \"\"\n } `}\n ></span>\n </Checkbox>\n </div>\n )\n);\n","import React, { ComponentPropsWithRef, ReactElement } from \"react\";\nimport classes from \"./FormControl.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n children?: ReactElement | ReactElement[];\n grid?: 1 | 2 | 3;\n align?: \"top\" | \"start\" | \"middle\" | \"center\" | \"bottom\" | \"end\" | \"stretch\";\n error?: boolean;\n disabled?: boolean;\n}\n\nexport const FormControl = React.forwardRef<HTMLDivElement, Props>(\n ({ children, disabled, error, className, grid, align = \"center\", ...rest }: Props, ref) => {\n const renderChildren = () =>\n React.Children.map(children, child => {\n if (!child) {\n return null;\n }\n\n const childElement = React.cloneElement(child, {\n disabled: child.props.disabled !== undefined ? child.props.disabled : disabled,\n error: child.props.error !== undefined ? child.props.error : error\n });\n\n if (grid && grid > 1) {\n return (\n <div className={`${classes[\"col-\" + grid]} ${classes.column}`}>{childElement}</div>\n );\n }\n\n return childElement;\n });\n\n return (\n <div\n {...rest}\n ref={ref}\n data-formcontrol\n className={`${classes[\"form-control\"]} ${className ? className : \"\"} ${\n grid && grid > 1 ? `${classes.grid} ${classes[\"grid-\" + grid]}` : \"\"\n } ${classes[align]}`}\n >\n {renderChildren()}\n </div>\n );\n }\n);\n","/** The empty className property on FormHelperText is on purpose! We want to basically \"filter\" out the className from helperProps because we're adding this to the surrounding div. This makes it so also the errormessage receives this styling. */\n\nimport React, { ComponentPropsWithRef, ReactChild } from \"react\";\nimport classes from \"./FormGroup.module.scss\";\nimport { FormHelperText, Props as HelperProps } from \"../FormHelperText/FormHelperText\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n children: ReactChild[] | ReactChild;\n error?: boolean;\n errorMessageIcon?: Icons;\n errorMessageIconPosition?: \"before\" | \"after\";\n errorMessage?: string;\n errorId?: string;\n helperIndent?: number;\n helperText?: string;\n helperId?: string;\n helperProps?: HelperProps;\n disabled?: boolean;\n}\n\nexport const FormGroup = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n children,\n className,\n error,\n errorMessage,\n errorId,\n errorMessageIcon,\n errorMessageIconPosition = \"before\",\n helperText,\n helperId,\n helperProps,\n helperIndent,\n ...rest\n }: Props,\n ref\n ) => {\n return (\n <div\n {...rest}\n ref={ref}\n className={`${classes[\"form-group\"]} ${error ? classes.error : \"\"} ${className ?? \"\"}`}\n >\n {children}\n\n {(helperText || (errorMessage && error)) && (\n <div\n style={{ marginLeft: `${helperIndent}px` }}\n className={`${classes[\"default-helper\"]} ${\n helperProps?.className ? helperProps.className : \"\"\n }`}\n >\n {helperText && !error && (\n <FormHelperText {...helperProps} className={\"\"} id={helperId}>\n {(helperProps && helperProps.children) || helperText}\n </FormHelperText>\n )}\n {error && errorMessage && (\n <span className={classes[\"error-message\"]}>\n <span className={classes.message} id={errorId}>\n {errorMessageIcon && errorMessageIconPosition === \"before\" && (\n <Icon\n className={`${classes[\"error-icon\"]} ${classes[\"error-icon-before\"]}`}\n icon={errorMessageIcon}\n />\n )}\n {errorMessage}\n {errorMessageIcon && errorMessageIconPosition === \"after\" && (\n <Icon\n className={`${classes[\"error-icon\"]} ${classes[\"error-icon-after\"]}`}\n icon={errorMessageIcon}\n />\n )}\n </span>\n </span>\n )}\n </div>\n )}\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactElement } from \"react\";\nimport { FormGroup, Props as FormGroupProps } from \"../../FormGroup/FormGroup\";\nimport { Label, Props as LabelProps } from \"../../Label/Label\";\nimport classes from \"./Wrapper.module.scss\";\nimport { Props as HelperProps } from \"../../FormHelperText/FormHelperText\";\nimport { FormElement } from \"../../form.interfaces\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\">, FormGroupProps {\n children: ReactElement | ReactElement[];\n floatingLabelActive?: boolean;\n floatingLabel?: boolean;\n helperIndent?: number;\n label?: string;\n labelProps?: LabelProps;\n name: string;\n /** This does NOT add validation! It simply adds an asterix on the Label! */\n required?: boolean;\n innerClassName?: string;\n}\n\n/** For components that extend this component we create an interface (InputWrapper, SelectWrapper, etc.) */\nexport interface WrapperProps extends FormElement {\n errorMessage?: string;\n helperText?: string;\n helperProps?: HelperProps;\n label?: string;\n name: string;\n required?: boolean;\n disabled?: boolean;\n}\n\nexport const Wrapper = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n children,\n className,\n error,\n errorMessage,\n errorId,\n errorMessageIcon,\n errorMessageIconPosition,\n helperText,\n helperId,\n floatingLabel = true,\n floatingLabelActive,\n required,\n helperProps,\n helperIndent,\n labelProps,\n label,\n disabled,\n name,\n innerClassName,\n ...rest\n }: Props,\n ref\n ) => {\n const renderChildren = () =>\n React.Children.map(children, child =>\n React.cloneElement(child, {\n disabled\n })\n );\n\n const labelClasses = [];\n\n floatingLabel && labelClasses.push(classes[\"floating-label\"]);\n floatingLabel && floatingLabelActive && labelClasses.push(classes[\"floating-label-active\"]);\n labelProps?.className && labelClasses.push(labelProps.className);\n required && labelClasses.push(classes[\"required\"]);\n error && labelClasses.push(classes[\"error\"]);\n\n return (\n <div {...rest} ref={ref} className={`${classes.wrapper} ${className ? className : \"\"}`}>\n <FormGroup\n error={error}\n errorMessage={errorMessage}\n errorId={errorId}\n errorMessageIcon={errorMessageIcon}\n errorMessageIconPosition={errorMessageIconPosition}\n helperText={helperText}\n helperId={helperId}\n helperProps={helperProps}\n helperIndent={helperIndent}\n >\n <div\n className={`${floatingLabel ? classes[\"floating-wrapper\"] : \"\"} ${\n innerClassName ? innerClassName : \"\"\n }`}\n >\n {label && (\n <Label\n {...labelProps}\n className={`${classes.label} ${labelClasses.join(\" \")}`}\n htmlFor={name}\n >\n {label}\n </Label>\n )}\n {renderChildren()}\n </div>\n </FormGroup>\n </div>\n );\n }\n);\n","import { useEffect, useState } from \"react\";\nimport { generateID } from \"../util/helper\";\nimport { Type as InputTypes } from \"../Form/Input/Input\";\n\nexport const useWrapper = (value?: string, placeholder?: string, type?: InputTypes) => {\n const [helperId] = useState(generateID(20));\n const [errorId] = useState(generateID(20));\n const [labelId] = useState(generateID(20));\n const [floatingLabelActive, setFloatingLabelActive] = useState(false);\n const [hasFocus, setHasFocus] = useState(false);\n\n useEffect(() => {\n if (\n (value?.length && value.length > 0) ||\n placeholder ||\n type === \"datetime-local\" ||\n type === \"time\" ||\n type === \"date\"\n ) {\n setFloatingLabelActive(true);\n }\n }, []);\n\n useEffect(() => {\n if ((value?.length && value.length > 0) || hasFocus) {\n setFloatingLabelActive(true);\n } else if (\n !placeholder &&\n !hasFocus &&\n type !== \"datetime-local\" &&\n type !== \"time\" &&\n type !== \"date\"\n ) {\n setFloatingLabelActive(false);\n }\n }, [value, placeholder, type, hasFocus]);\n\n return {\n helperId,\n errorId,\n labelId,\n floatingLabelActive,\n setFloatingLabelActive,\n hasFocus,\n setHasFocus\n };\n};\n","import React, { ComponentPropsWithRef, useEffect, useRef, useState } from \"react\";\nimport { Input, Type, Props as InputProps } from \"../../Input/Input\";\nimport classes from \"./InputWrapper.module.scss\";\nimport { Wrapper, WrapperProps } from \"../Wrapper/Wrapper\";\nimport { useWrapper } from \"../../../hooks/useWrapper\";\n\ninterface PartialInputProps extends Partial<InputProps> {}\n\nexport interface Props extends ComponentPropsWithRef<\"div\">, WrapperProps {\n label: string;\n type: Type;\n name: string;\n inputProps?: PartialInputProps;\n value: string;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void;\n}\n\nconst useLabelOffset = (\n input: React.RefObject<HTMLInputElement>,\n floatingLabelActive: boolean,\n prefix?: string\n) => {\n const [labelOffset, setLabelOffset] = useState({});\n\n const resetLabelOffset = () => setLabelOffset({ left: undefined });\n\n useEffect(() => {\n if (input.current && prefix) {\n if (floatingLabelActive) {\n resetLabelOffset();\n } else {\n const spacingBetweenPrefixAndInput = 4;\n const prefixDifference =\n getComputedStyle(input.current).paddingLeft + spacingBetweenPrefixAndInput;\n setLabelOffset({ left: `${prefixDifference}px` });\n }\n }\n }, [input.current, prefix, floatingLabelActive]);\n\n return { labelOffset };\n};\n\nexport const InputWrapper = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n type,\n name,\n inputProps,\n helperText,\n helperProps,\n value,\n className,\n error,\n onChange,\n onBlur,\n onFocus,\n ...rest\n }: Props,\n ref\n ) => {\n const {\n errorId,\n floatingLabelActive,\n setFloatingLabelActive,\n hasFocus,\n setHasFocus,\n helperId,\n labelId\n } = useWrapper(value, inputProps?.placeholder, type);\n const { prefix, suffix } = inputProps || {};\n const input = useRef<HTMLInputElement>(null);\n const hasValueOrActiveFloatingLabel = !!value || floatingLabelActive;\n const labelClasses = [classes[\"input-label\"]];\n const { labelOffset } = useLabelOffset(\n (inputProps && (inputProps.ref as React.RefObject<HTMLInputElement>)) || input,\n floatingLabelActive,\n prefix\n );\n\n hasFocus && labelClasses.push(classes[\"focus\"]);\n\n return (\n <Wrapper\n {...rest}\n ref={ref}\n name={name}\n className={`${classes[\"input-wrapper\"]} ${className ?? \"\"}`}\n labelProps={{\n id: labelId,\n className: labelClasses.join(\" \"),\n style: { ...labelOffset }\n }}\n floatingLabelActive={floatingLabelActive}\n errorId={errorId}\n error={error}\n helperId={helperId}\n helperText={helperText}\n helperProps={{\n ...helperProps,\n className: `${classes[\"input-wrapper-helper\"]} ${helperProps?.className ?? \"\"} `\n }}\n helperIndent={20}\n >\n <Input\n {...inputProps}\n prefix={hasValueOrActiveFloatingLabel ? prefix : \"\"}\n suffix={hasValueOrActiveFloatingLabel ? suffix : \"\"}\n wrapperProps={{\n className: `${floatingLabelActive ? classes[\"floating-label-active\"] : \"\"} ${\n inputProps?.wrapperProps?.className ?? \"\"\n }`\n }}\n ref={(inputProps && inputProps.ref) || input}\n aria-labelledby={labelId}\n aria-describedby={error ? errorId : helperId}\n onChange={onChange}\n onFocus={e => {\n onFocus && onFocus(e);\n setHasFocus(true);\n setFloatingLabelActive(true);\n }}\n onBlur={e => {\n onBlur && onBlur(e);\n setHasFocus(false);\n e.target.value ||\n e.target.placeholder ||\n inputProps?.placeholder?.length ||\n type === \"datetime-local\" ||\n type === \"time\" ||\n type === \"date\"\n ? setFloatingLabelActive(true)\n : setFloatingLabelActive(false);\n }}\n className={`${floatingLabelActive ? classes[\"floating-label\"] : \"\"} ${\n inputProps?.className ?? \"\"\n }`}\n name={name}\n error={error}\n id={name}\n value={value}\n type={type}\n />\n </Wrapper>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactChild, ReactElement } from \"react\";\nimport classes from \"./SelectWrapper.module.scss\";\nimport { Wrapper, WrapperProps } from \"../Wrapper/Wrapper\";\nimport { Select, Props as SelectProps } from \"../../Select/Select\";\nimport { useWrapper } from \"../../../hooks/useWrapper\";\n\ninterface PartialSelectProps extends Partial<SelectProps> {}\n\nexport interface Props\n extends Omit<ComponentPropsWithRef<\"div\">, \"onChange\">,\n Omit<WrapperProps, \"onChange\" | \"error\"> {\n children: ReactChild | ReactChild[];\n placeholder?: string;\n value: string;\n error?: boolean;\n selectProps?: PartialSelectProps;\n onChange?: (event: React.ChangeEvent<HTMLSelectElement>) => void;\n onClear?: (event: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement>) => void;\n}\n\nexport const SelectWrapper = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n children,\n error,\n value,\n placeholder,\n selectProps,\n helperProps,\n onChange,\n onClear,\n ...rest\n }: Props,\n ref\n ) => {\n const { errorId, floatingLabelActive, helperId, labelId } = useWrapper(value, placeholder);\n\n return (\n <Wrapper\n {...rest}\n ref={ref}\n floatingLabelActive={floatingLabelActive}\n errorId={errorId}\n helperId={helperId}\n labelProps={{ id: labelId, className: classes[\"select-label\"] }}\n helperProps={{\n ...helperProps,\n className: `${classes[\"select-helper-text\"]} ${helperProps?.className ?? \"\"}`\n }}\n error={error}\n >\n <Select\n {...selectProps}\n value={value}\n labeledBy={labelId}\n error={error}\n describedBy={error ? errorId : helperId}\n onChange={onChange}\n onClear={e => {\n onClear && onClear(e);\n }}\n placeholder={placeholder}\n className={`${floatingLabelActive ? classes[\"floating-label-active\"] : \"\"} ${\n selectProps?.className ?? \"\"\n }`}\n >\n {children as ReactElement[]}\n </Select>\n </Wrapper>\n );\n }\n);\n","import React, { ComponentPropsWithRef, useState } from \"react\";\nimport classes from \"./TextareaWrapper.module.scss\";\nimport { Wrapper, WrapperProps } from \"../Wrapper/Wrapper\";\nimport { Textarea, Props as TextareaProps } from \"../../Textarea/Textarea\";\nimport { useWrapper } from \"../../../hooks/useWrapper\";\n\nexport interface Props\n extends Omit<\n ComponentPropsWithRef<\"div\">,\n \"onFocus\" | \"onChange\" | \"onBlur\" | \"onMouseEnter\" | \"onMouseLeave\"\n >,\n Omit<WrapperProps, \"onFocus\" | \"onChange\" | \"onBlur\" | \"onMouseEnter\" | \"onMouseLeave\"> {\n placeholder?: string;\n textareaProps?: TextareaProps;\n value: string;\n onFocus?: (event: React.FocusEvent<HTMLTextAreaElement>) => void;\n onChange?: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;\n onBlur?: (event: React.FocusEvent<HTMLTextAreaElement>) => void;\n onMouseEnter?: (event: React.MouseEvent<HTMLTextAreaElement>) => void;\n onMouseLeave?: (event: React.MouseEvent<HTMLTextAreaElement>) => void;\n}\n\nexport const TextareaWrapper = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n name,\n error,\n value,\n label,\n placeholder,\n textareaProps,\n helperProps,\n onChange,\n onFocus,\n onBlur,\n onMouseEnter,\n onMouseLeave,\n disabled,\n ...rest\n }: Props,\n ref\n ) => {\n const {\n errorId,\n floatingLabelActive,\n setFloatingLabelActive,\n hasFocus,\n setHasFocus,\n helperId,\n labelId\n } = useWrapper(value, placeholder);\n const [hover, setHover] = useState(false);\n\n const optionalClasses: string[] = [];\n\n hasFocus && optionalClasses.push(classes[\"focus\"]);\n hover && optionalClasses.push(classes[\"hover\"]);\n disabled && optionalClasses.push(classes[\"disabled\"]);\n error && optionalClasses.push(classes[\"error\"]);\n\n return (\n <Wrapper\n {...rest}\n ref={ref}\n disabled={disabled}\n labelProps={{\n id: labelId,\n className: `${classes[\"textarea-label\"]} ${optionalClasses.join(\" \")}`\n }}\n name={name}\n label={label}\n helperId={helperId}\n helperProps={{\n ...helperProps,\n className: classes[\"textarea-helper-text\"]\n }}\n error={error}\n floatingLabelActive={floatingLabelActive}\n errorId={errorId}\n >\n <Textarea\n {...textareaProps}\n error={error}\n aria-labelledby={label && labelId}\n aria-describedby={error ? errorId : helperId}\n placeholder={placeholder}\n name={name}\n id={name}\n value={value}\n onChange={onChange}\n onFocus={e => {\n onFocus && onFocus(e);\n setHasFocus(true);\n setFloatingLabelActive(true);\n }}\n onBlur={e => {\n onBlur && onBlur(e);\n setHasFocus(false);\n e.target.value || e.target.placeholder || textareaProps?.placeholder?.length\n ? setFloatingLabelActive(true)\n : setFloatingLabelActive(false);\n }}\n onMouseEnter={e => {\n onMouseEnter && onMouseEnter(e);\n setHover(true);\n }}\n onMouseLeave={e => {\n onMouseLeave && onMouseLeave(e);\n setHover(false);\n }}\n className={`${classes[\"textarea\"]} ${error ? classes[\"error\"] : \"\"}`}\n wrapperProps={{\n className: `${classes[\"textarea-wrapper\"]}} ${optionalClasses.join(\" \")}`\n }}\n errorProps={{ className: classes[\"error-icon\"] }}\n />\n </Wrapper>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactNode, ReactElement } from \"react\";\nimport readyclasses from \"../../readyclasses.module.scss\";\nimport classes from \"./Fieldset.module.scss\";\nimport { Typography, Variant } from \"../../Typography/Typography\";\nimport { Input } from \"../Input/Input\";\nimport { Select } from \"../Select/Select\";\nimport { Radio } from \"../Radio/Radio\";\nimport { Checkbox } from \"../Checkbox/Checkbox\";\nimport { Textarea } from \"../Textarea/Textarea\";\nimport { Toggle } from \"../Toggle/Toggle\";\nimport { Label } from \"../Label/Label\";\nimport { FormControl } from \"../FormControl/FormControl\";\nimport { FormSelectorWrapper } from \"../FormSelectorWrapper/FormSelectorWrapper\";\nimport { FormHelperText } from \"../FormHelperText/FormHelperText\";\nimport { InputWrapper } from \"../Wrapper/InputWrapper/InputWrapper\";\nimport { SelectWrapper } from \"../Wrapper/SelectWrapper/SelectWrapper\";\nimport { TextareaWrapper } from \"../Wrapper/TextareaWrapper/TextareaWrapper\";\n\nexport interface Props extends ComponentPropsWithRef<\"fieldset\"> {\n children?: ReactElement | ReactElement[];\n legend: string;\n legendStyle?: Variant;\n hideLegend?: boolean;\n background?: string;\n noPadding?: boolean;\n noBackground?: boolean;\n required?: boolean;\n error?: boolean;\n disablePropagation?: boolean;\n}\n\nexport const Fieldset = React.forwardRef<HTMLFieldSetElement, Props>(\n (\n {\n children,\n className,\n legend,\n legendStyle = \"body\",\n hideLegend = false,\n noBackground,\n background = noBackground ? \"\" : \"#FFF\",\n noPadding = false,\n disabled = false,\n required = false,\n error = false,\n disablePropagation = false,\n ...rest\n }: Props,\n ref\n ) => {\n const renderChildren = () => {\n if (!children) return;\n\n /* All right, so the issue is that whenever we try to add disabled and error to a component that doesn't accept it, \n React will throw an error. However, it might occur that we want a component inside of Fieldset because of aesthetic purposes \n (fieldset applies a sort of container with white background and if we want to display it inside of this container... then yea).\n So instead we supply an array of components that we want to add the disabled and error prop to and check if child.type equals one of these. */\n const allowedComponents: ReactNode[] = [\n Input,\n Select,\n Radio,\n Checkbox,\n Textarea,\n Toggle,\n Label,\n FormControl,\n FormSelectorWrapper,\n FormHelperText,\n InputWrapper,\n SelectWrapper,\n TextareaWrapper\n ];\n\n return React.Children.map(children, (child: ReactElement) => {\n if (allowedComponents.includes(child.type) && !disablePropagation) {\n return React.cloneElement(child, {\n disabled: child.props.disabled ?? disabled,\n error: child.props.error ?? error\n });\n }\n\n return child;\n });\n };\n\n return (\n <fieldset\n {...rest}\n ref={ref}\n disabled={disabled}\n style={{ backgroundColor: background, ...rest.style }}\n className={`${classes.fieldset} ${noPadding ? classes[\"no-padding\"] : \"\"} ${\n className ?? \"\"\n }`}\n >\n {legend && <legend className={readyclasses[\"sr-only\"]}>{legend}</legend>}\n {legend && !hideLegend && (\n <Typography\n variant={legendStyle}\n tag=\"span\"\n aria-hidden=\"true\"\n className={`${classes[\"legend\"]} ${required ? classes[\"required\"] : \"\"} ${\n error ? classes[\"error\"] : \"\"\n }`}\n >\n {legend}\n </Typography>\n )}\n {renderChildren()}\n </fieldset>\n );\n }\n);\n","import React, { HTMLProps, ReactNode } from \"react\";\nimport classes from \"./Form.module.scss\";\n\nexport interface Props extends HTMLProps<HTMLFormElement> {\n children?: ReactNode;\n}\n\nexport const Form = ({ children, className, ...rest }: Props) => {\n return (\n <form className={`${classes.form} ${className ?? \"\"}`} {...rest}>\n {children}\n </form>\n );\n};\n","import React, { ComponentPropsWithRef, ReactElement, useEffect } from \"react\";\nimport classes from \"./RadioWrapper.module.scss\";\nimport { Wrapper, WrapperProps } from \"../Wrapper/Wrapper\";\nimport { useWrapper } from \"../../../hooks/useWrapper\";\nimport { Icons } from \"../../../Icon/Icon\";\nimport { Fieldset, Props as FieldsetProps } from \"../../../Form/Fieldset/Fieldset\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\">, WrapperProps {\n children: ReactElement | ReactElement[];\n fieldsetProps: FieldsetProps;\n value: string;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const RadioWrapper = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n children,\n error,\n name,\n helperText,\n helperProps,\n fieldsetProps,\n value,\n onChange,\n disabled,\n ...rest\n }: Props,\n ref\n ) => {\n const { errorId, helperId } = useWrapper(value);\n\n useEffect(() => {\n if (fieldsetProps.legend === undefined) {\n console.error(\n `You should give your Fieldset component a legend prop so a legend element is rendered. This error was thrown in RadioWrapper. You can add this legend prop through the fieldsetProps prop by passing an object (fieldsetProps={{ legend: \"legend here\" }})`\n );\n }\n }, []);\n\n const renderChildren = () =>\n React.Children.map(children, child =>\n React.cloneElement(child, {\n parentErrorId: errorId,\n error: error,\n checked: child.props.value === value,\n name: name,\n parentHelperId: helperText ? helperId : false,\n onChange: onChange,\n disabled: child.props.disabled !== undefined ? child.props.disabled : disabled\n })\n );\n\n return (\n <Fieldset {...fieldsetProps} error={error} disabled={disabled}>\n <Wrapper\n {...rest}\n ref={ref}\n disabled={disabled}\n name={name}\n helperId={helperId}\n helperText={helperText}\n helperProps={{\n ...helperProps,\n className: `${classes[\"radio-wrapper-helper\"]} ${\n error ? classes[\"radio-wrapper-error\"] : \"\"\n } ${helperProps?.className ?? \"\"}`\n }}\n error={error}\n errorId={errorId}\n errorMessageIcon={Icons.Error}\n floatingLabel={false}\n >\n {renderChildren()}\n </Wrapper>\n </Fieldset>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactElement, useEffect } from \"react\";\nimport classes from \"./CheckboxWrapper.module.scss\";\nimport { useWrapper } from \"../../../hooks/useWrapper\";\nimport { Wrapper, WrapperProps } from \"../Wrapper/Wrapper\";\nimport { Icons } from \"../../../Icon/Icon\";\nimport { Fieldset, Props as FieldsetProps } from \"../../../Form/Fieldset/Fieldset\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\">, WrapperProps {\n children: ReactElement[] | ReactElement;\n fieldsetProps: FieldsetProps;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const CheckboxWrapper = React.forwardRef<HTMLDivElement, Props>(\n ({ children, error = false, helperText, helperProps, fieldsetProps, ...rest }: Props, ref) => {\n const { errorId, helperId } = useWrapper();\n\n useEffect(() => {\n if (fieldsetProps.legend === undefined) {\n console.error(\n `You should give your Fieldset component a legend prop so a legend element is rendered. This error was thrown in CheckboxWrapper. You can add this legend prop through the fieldsetProps prop by passing an object (fieldsetProps={{ legend: \"legend here\" }})`\n );\n }\n }, []);\n\n const renderChildren = () =>\n React.Children.map(children, child =>\n React.cloneElement(child, {\n parentErrorId: errorId,\n error: error,\n parentHelperId: helperText ? helperId : false,\n disabled: rest.disabled\n })\n );\n\n return (\n <Fieldset {...fieldsetProps} error={error} required={rest.required}>\n <Wrapper\n {...rest}\n ref={ref}\n label=\"\"\n helperId={helperId}\n helperText={helperText}\n helperProps={{\n ...helperProps,\n className: `${classes[\"checkbox-wrapper-helper\"]} ${\n error ? classes[\"checkbox-wrapper-error\"] : \"\"\n } ${helperProps?.className ?? \"\"}`\n }}\n error={error}\n errorMessageIcon={Icons.Error}\n errorId={errorId}\n >\n {renderChildren()}\n </Wrapper>\n </Fieldset>\n );\n }\n);\n","import { Reducer } from \"react\";\nimport { Step } from \"./BaseWizardSteps/BaseWizardSteps\";\nimport { WizardMode } from \"./Wizard\";\n\ntype WizardStateType = {\n steps: Step[];\n currentStepNo: number;\n mode: WizardMode;\n stepScreenReaderLabel: string;\n};\n\ninterface SetWizardStateAction {\n type: \"SET_STATE\";\n payload: {\n steps: Step[];\n mode: WizardMode;\n stepScreenReaderLabel: string;\n };\n}\n\ninterface ChangeCurrentStepNoAction {\n type: \"CHANGE_CURRENT_STEP_NO\";\n payload: number;\n}\n\nconst setWizardState = (\n steps: Step[],\n mode: WizardMode,\n stepScreenReaderLabel: string\n): SetWizardStateAction => {\n return { type: \"SET_STATE\", payload: { steps, mode, stepScreenReaderLabel } };\n};\n\nconst changeCurrentStepNo = (currentStepNo: number): ChangeCurrentStepNoAction => {\n return { type: \"CHANGE_CURRENT_STEP_NO\", payload: currentStepNo };\n};\n\ntype WizardActions = SetWizardStateAction | ChangeCurrentStepNoAction;\n\nconst reducer: Reducer<WizardStateType, WizardActions> = (state, action) => {\n switch (action.type) {\n case \"SET_STATE\":\n return { ...state, ...action.payload };\n case \"CHANGE_CURRENT_STEP_NO\":\n return { ...state, currentStepNo: action.payload };\n default:\n return state;\n }\n};\n\nexport { setWizardState, changeCurrentStepNo, reducer, WizardActions, WizardStateType };\n","import React, { createContext, Dispatch, useReducer } from \"react\";\nimport { WizardActions, WizardStateType, reducer } from \"./wizardStateReducer\";\n\nconst WizardStateContext = createContext<{\n state: WizardStateType;\n dispatch: Dispatch<WizardActions>;\n}>({\n state: {} as WizardStateType,\n dispatch: () => null\n});\n\nexport interface Props {\n initialState: WizardStateType;\n children?: React.ReactNode;\n}\n\nconst WizardStateProvider = ({ children, initialState }: Props) => {\n const [state, dispatch] = useReducer(reducer, initialState);\n return (\n <WizardStateContext.Provider value={{ state, dispatch }}>\n {children}\n </WizardStateContext.Provider>\n );\n};\n\nexport { WizardStateProvider, WizardStateContext };\n","import React, { Fragment, useContext, useEffect } from \"react\";\nimport { Step } from \"./BaseWizardSteps/BaseWizardSteps\";\nimport { WizardStateContext, WizardStateProvider } from \"./WizardStateProvider\";\nimport { setWizardState } from \"./wizardStateReducer\";\n\nexport type WizardMode = \"add\" | \"edit\";\n\nexport interface Props {\n steps: Step[];\n mode: WizardMode;\n initialStepNo?: number;\n onStepChange: (stepNo: number) => void;\n stepScreenReaderLabel: string;\n children: React.ReactNode;\n}\n\nconst useSetWizardState = (steps: Step[], mode: WizardMode, stepScreenReaderLabel: string) => {\n const { dispatch } = useContext(WizardStateContext);\n\n useEffect(() => {\n dispatch(setWizardState(steps, mode, stepScreenReaderLabel));\n }, [steps, mode, stepScreenReaderLabel]);\n};\n\nconst useStepChanging = (onStepChange: (stepNo: number) => void) => {\n const {\n state: { currentStepNo }\n } = useContext(WizardStateContext);\n\n useEffect(() => {\n onStepChange(currentStepNo);\n }, [currentStepNo]);\n};\n\nconst WizardContent = ({ steps, mode, stepScreenReaderLabel, onStepChange, children }: Props) => {\n useSetWizardState(steps, mode, stepScreenReaderLabel);\n useStepChanging(onStepChange);\n\n return <Fragment>{children}</Fragment>;\n};\n\nexport const Wizard = (props: Props) => {\n const { steps, initialStepNo: currentStepNo = 0, mode, stepScreenReaderLabel } = props;\n return (\n <WizardStateProvider initialState={{ steps, currentStepNo, mode, stepScreenReaderLabel }}>\n <WizardContent {...props} />\n </WizardStateProvider>\n );\n};\n","import React, { Fragment, useContext, useMemo } from \"react\";\nimport { Button } from \"../../Button/Button\";\nimport { Step } from \"../BaseWizardSteps/BaseWizardSteps\";\nimport { WizardMode } from \"../Wizard\";\nimport { WizardStateContext } from \"../WizardStateProvider\";\nimport { changeCurrentStepNo } from \"../wizardStateReducer\";\n\nexport interface Props extends React.HTMLProps<HTMLDivElement> {\n cancelButtonLabel: string;\n previousButtonLabel: string;\n nextButtonLabel: string;\n saveAndCloseButtonLabel: string;\n onCancel: () => void;\n onNext: (currentStepNo: number) => boolean;\n onPrevious?: () => void;\n onSaveAndClose: (currentStepNo: number) => void;\n}\n\nconst calculateNextStepNo = (steps: Step[], currentStepNo: number) => () =>\n steps.findIndex((step, stepNo) => stepNo > currentStepNo && !step.disabled);\n\nconst calculatePrevStepNo = (steps: Step[], currentStepNo: number) => () => {\n const reversedCurrentStepNo = steps.length - 1 - currentStepNo;\n const reversedPrevStepNo = [...steps]\n .reverse()\n .findIndex((step, stepNo) => stepNo > reversedCurrentStepNo && !step.disabled);\n if (reversedPrevStepNo > 0) {\n return steps.length - 1 - reversedPrevStepNo;\n }\n return -1;\n};\n\nconst useNextStepNo = (mode: WizardMode, currentStepNo: number, steps: Step[]) =>\n useMemo(calculateNextStepNo(steps, currentStepNo), [mode, currentStepNo, steps]);\n\nconst usePreviousStepNo = (mode: WizardMode, currentStepNo: number, steps: Step[]) =>\n useMemo(calculatePrevStepNo(steps, currentStepNo), [mode, currentStepNo, steps]);\n\nexport const WizardActions = ({\n onCancel,\n onNext,\n onPrevious,\n onSaveAndClose,\n cancelButtonLabel,\n previousButtonLabel,\n nextButtonLabel,\n saveAndCloseButtonLabel\n}: Props) => {\n const {\n state: { mode, steps, currentStepNo },\n dispatch\n } = useContext(WizardStateContext);\n const nextStepNo = useNextStepNo(mode, currentStepNo, steps);\n const hasNextStep = nextStepNo !== -1;\n const previousStepNo = usePreviousStepNo(mode, currentStepNo, steps);\n const hasPreviousStep = previousStepNo !== -1;\n const isLastStepOrEditMode = !hasNextStep || mode === \"edit\";\n\n const changeStepNo = (direction: \"forward\" | \"backward\") => {\n if (direction === \"forward\") {\n hasNextStep && dispatch(changeCurrentStepNo(nextStepNo));\n } else {\n hasPreviousStep && dispatch(changeCurrentStepNo(previousStepNo));\n }\n };\n\n const onNextWrapper = () => {\n onNext(currentStepNo) && changeStepNo(\"forward\");\n };\n\n const onPreviousWrapper = () => {\n onPrevious && onPrevious();\n changeStepNo(\"backward\");\n };\n\n const onSaveAndCloseWrapper = () => {\n onSaveAndClose(currentStepNo);\n };\n\n return (\n <Fragment>\n <Button variant=\"text\" onClick={onCancel}>\n {cancelButtonLabel}\n </Button>\n {hasPreviousStep && (\n <Button variant=\"outline\" onClick={onPreviousWrapper}>\n {previousButtonLabel}\n </Button>\n )}\n {hasNextStep && (\n <Button variant={mode === \"edit\" ? \"outline\" : \"fill\"} onClick={onNextWrapper}>\n {nextButtonLabel}\n </Button>\n )}\n {isLastStepOrEditMode && (\n <Button onClick={onSaveAndCloseWrapper}>{saveAndCloseButtonLabel}</Button>\n )}\n </Fragment>\n );\n};\n","import React, { ComponentPropsWithRef, Fragment } from \"react\";\nimport classes from \"./BaseWizardSteps.module.scss\";\nimport readyclasses from \"../../readyclasses.module.scss\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\n\ntype StepState = \"finished\" | \"current\" | \"future\";\n\nexport interface Step {\n label: string;\n disabled?: boolean;\n}\n\nexport interface Props extends Omit<ComponentPropsWithRef<\"div\">, \"onClick\"> {\n steps: Step[];\n currentStepNo: number;\n onClick?: (stepNo: number) => void;\n futureStepsClickable?: boolean;\n stepScreenReaderLabel: string;\n}\n\nexport const BaseWizardSteps = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n steps,\n currentStepNo,\n onClick,\n futureStepsClickable = false,\n stepScreenReaderLabel,\n ...rest\n }: Props,\n ref\n ) => {\n const getStepState = (stepNo: number): StepState => {\n if (currentStepNo === stepNo) {\n return \"current\";\n } else if (stepNo < currentStepNo) {\n return \"finished\";\n }\n return \"future\";\n };\n\n const getStepContent = (stepState: StepState, index: number, disabled?: boolean) => {\n const stepNumberString = String(index + 1);\n if (stepState === \"finished\") {\n return disabled ? null : <Icon className={classes[\"checkmark\"]} icon={Icons.Checkmark} />;\n } else {\n return (\n <Fragment>\n <span className={readyclasses[\"sr-only\"]}>{stepScreenReaderLabel} </span>\n {stepNumberString}\n </Fragment>\n );\n }\n };\n\n const generatedSteps = steps.map((step, index) => {\n const stepState = getStepState(index);\n const disabledStyleClassName = step.disabled ? classes[\"disabled\"] : \"\";\n const clickableClassName = futureStepsClickable ? classes[\"clickable\"] : \"\";\n\n return (\n <button\n key={step.label.toLowerCase().replace(/\\s/, \"-\")}\n disabled={\n step.disabled ||\n (stepState === \"future\" && !futureStepsClickable) ||\n stepState === \"current\"\n }\n aria-current={stepState === \"current\" ? \"step\" : undefined}\n onClick={() => onClick && onClick(index)}\n className={`${classes[\"wizard-element\"]} ${classes[stepState]} ${clickableClassName} ${disabledStyleClassName}`}\n >\n <div className={classes[\"number-wrapper\"]}>\n <span className={classes[\"number\"]}>\n {getStepContent(stepState, index, step.disabled)}\n </span>\n </div>\n <div className={classes[\"two-line-text-overflow\"]}>\n <span className={classes[\"label\"]}>{step.label}</span>\n </div>\n </button>\n );\n });\n\n return (\n <div {...rest} ref={ref} className={classes[\"wizard\"]}>\n {generatedSteps}\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef, useContext } from \"react\";\nimport { WizardStateContext } from \"../WizardStateProvider\";\nimport { BaseWizardSteps } from \"../BaseWizardSteps/BaseWizardSteps\";\nimport { changeCurrentStepNo } from \"../wizardStateReducer\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n onStepClick: (currentStepNo: number, selectedStepNo: number) => boolean;\n}\n\nexport const WizardSteps = React.forwardRef<HTMLDivElement, Props>(\n ({ onStepClick, ...rest }: Props, ref) => {\n const {\n state: { currentStepNo, mode, stepScreenReaderLabel, steps },\n dispatch\n } = useContext(WizardStateContext);\n\n const onClick = (selectedStepNo: number) => {\n onStepClick(currentStepNo, selectedStepNo) && dispatch(changeCurrentStepNo(selectedStepNo));\n };\n\n return (\n <BaseWizardSteps\n {...rest}\n ref={ref}\n onClick={onClick}\n steps={steps}\n currentStepNo={currentStepNo}\n stepScreenReaderLabel={stepScreenReaderLabel}\n futureStepsClickable={mode === \"edit\"}\n />\n );\n }\n);\n","import React, { ComponentPropsWithRef, Fragment } from \"react\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\nimport { ColumnName, Direction } from \"../datagrid.interfaces\";\nimport classes from \"./DataGridHeaderCell.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"th\"> {\n headline: string;\n name: ColumnName;\n disableSorting?: boolean;\n activeSortDirection?: Direction;\n onSort?: (name: ColumnName) => void;\n}\n\nconst ariaSortMapping = {\n ASC: \"ascending\",\n DESC: \"descending\"\n} as const;\n\nexport const DataGridHeaderCell = React.forwardRef<HTMLTableCellElement, Props>(\n ({ headline, name, disableSorting, activeSortDirection, onSort, ...rest }: Props, ref) => {\n const onCellClick = () => {\n onSort && onSort(name);\n };\n\n const sortingIndicator = () => {\n const getSortingIndicatorClasses = (direction: Direction) => {\n const sortingIndicatorClasses = [classes[\"indicator\"]];\n activeSortDirection &&\n sortingIndicatorClasses.push(\n activeSortDirection === direction ? classes[\"active\"] : classes[\"hidden\"]\n );\n return sortingIndicatorClasses;\n };\n\n return (\n <Fragment>\n <Icon className={getSortingIndicatorClasses(\"ASC\").join(\" \")} icon={Icons.TriangleUp} />\n <Icon\n className={getSortingIndicatorClasses(\"DESC\").join(\" \")}\n icon={Icons.TriangleDown}\n />\n </Fragment>\n );\n };\n\n const innerContent = (\n <Fragment>\n <span className={classes[\"headline\"]}>{headline}</span>\n {!disableSorting && (\n <div className={classes[\"sorting-indicator-container\"]}>{sortingIndicator()}</div>\n )}\n </Fragment>\n );\n\n return (\n <th\n {...rest}\n ref={ref}\n className={classes[\"header-cell\"]}\n aria-sort={activeSortDirection && ariaSortMapping[activeSortDirection]}\n >\n {disableSorting ? (\n <div key={name}>{innerContent}</div>\n ) : (\n <button key={name} onClick={onCellClick}>\n {innerContent}\n </button>\n )}\n </th>\n );\n }\n);\n","import React, { ComponentPropsWithRef, useEffect, useState } from \"react\";\nimport { ColumnName, Direction, HeaderCell, OnSortFunction, Sort } from \"../datagrid.interfaces\";\nimport { DataGridHeaderCell } from \"./DataGridHeaderCell\";\nimport classes from \"./DataGridHeader.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"thead\"> {\n headers: HeaderCell[];\n initialSort?: Sort;\n onSort?: OnSortFunction;\n disableContextMenuColumn?: boolean;\n enableMultiSorting?: boolean;\n spacing?: React.CSSProperties;\n}\n\nconst sortingStates = [undefined, \"ASC\", \"DESC\"] as (Direction | undefined)[];\n\nexport const DataGridHeader = React.forwardRef<HTMLTableSectionElement, Props>(\n (\n {\n initialSort,\n onSort,\n headers,\n disableContextMenuColumn,\n enableMultiSorting,\n spacing,\n ...rest\n }: Props,\n ref\n ) => {\n const [sortList, setSortList] = useState(initialSort || []);\n\n useEffect(() => {\n setSortList(initialSort || []);\n }, [initialSort]);\n\n const calculateNextSortState = (direction?: Direction) => {\n const currentDirectionIdx = sortingStates.findIndex(item => item === direction);\n return sortingStates[currentDirectionIdx + (1 % sortingStates.length)];\n };\n\n /**\n * The sortList contains sorting columns objects. The order of those objects determinates priorities of sorting.\n * Last modified sorting column has the highest priority.\n */\n const updateSortList = (name: ColumnName): Sort => {\n const current = sortList.find(item => item.name === name);\n const restSortList = enableMultiSorting ? sortList.filter(item => item.name !== name) : [];\n const newSortDirection = calculateNextSortState(current?.direction);\n return newSortDirection\n ? [{ name, direction: newSortDirection }, ...restSortList]\n : restSortList;\n };\n\n const wrapOnSort = (name: ColumnName) => {\n const newSort = updateSortList(name);\n onSort && onSort(newSort);\n setSortList(newSort);\n };\n\n const headerCells = headers.map((header, index) => {\n if (header.hidden) {\n return null;\n }\n\n let headerStyle: React.CSSProperties = {};\n\n if (index === 0) {\n headerStyle.paddingLeft = spacing?.paddingLeft;\n }\n if (index === headers.length - 1 && disableContextMenuColumn) {\n headerStyle.paddingRight = spacing?.paddingRight;\n }\n\n const sort = sortList.find(item => item.name === header.name);\n return (\n <DataGridHeaderCell\n key={header.name}\n name={header.name}\n headline={header.headline}\n disableSorting={header.disableSorting || !onSort}\n onSort={wrapOnSort}\n activeSortDirection={sort?.direction}\n style={headerStyle}\n />\n );\n });\n\n return (\n <thead {...rest} ref={ref} className={classes[\"thead\"]}>\n <tr className={classes[\"row\"]}>\n {headerCells}\n {!disableContextMenuColumn && (\n <td\n style={{ paddingRight: spacing?.paddingRight }}\n aria-label=\"context menu\"\n className={classes[\"context-menu\"]}\n ></td>\n )}\n </tr>\n </thead>\n );\n }\n);\n","import React, { Fragment, useState } from \"react\";\nimport { IconButton } from \"../../Button/IconButton\";\nimport { Toggle } from \"../../Form/Toggle/Toggle\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\nimport { Popover, Props as PopoverProps } from \"../../Popover/Popover\";\nimport { Typography } from \"../../Typography/Typography\";\nimport { generateID } from \"../../util/helper\";\nimport { ColumnName, HeaderCell } from \"../datagrid.interfaces\";\nimport classes from \"./DataGridColumnsToggle.module.scss\";\nimport { createPortal } from \"react-dom\";\n\nexport interface Props extends PopoverProps {\n open: boolean;\n headers: HeaderCell[];\n titleLabel?: string;\n closeButtonTitle?: string;\n onClose: () => void;\n onToggleClicked: (colName: ColumnName) => void;\n domRoot?: HTMLElement;\n}\n\nexport const DataGridColumnsToggle = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n open,\n headers,\n titleLabel = \"Show columns\",\n closeButtonTitle = \"Close show columns dialog\",\n onClose,\n onToggleClicked,\n className,\n domRoot = document.body,\n ...rest\n }: Props,\n ref\n ) => {\n const [id] = useState(generateID());\n const labelledId = id + \"_header\";\n\n const toggles = headers.map(item => (\n <Toggle\n key={item.name}\n name={item.name}\n checked={!item.hidden}\n onChange={() => onToggleClicked(item.name)}\n >\n {item.headline}\n </Toggle>\n ));\n\n const handleBackdropClick = () => onClose();\n\n return (\n <Popover\n {...rest}\n ref={ref}\n className={`${classes[\"popover\"]} ${className}`}\n show={open}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={labelledId}\n >\n {open &&\n createPortal(\n <div className={classes[\"backdrop\"]} onClick={handleBackdropClick}></div>,\n domRoot\n )}\n {open && (\n <Fragment>\n <div className={classes[\"header\"]}>\n <Typography id={labelledId} className={classes[\"title\"]} tag=\"span\" variant=\"h4\">\n {titleLabel}\n </Typography>\n <IconButton\n onClick={onClose}\n className={`${classes[\"close-btn\"]}`}\n title={closeButtonTitle}\n >\n <Icon icon={Icons.Times} />\n </IconButton>\n </div>\n <div className={classes[\"content\"]}>{toggles}</div>\n </Fragment>\n )}\n </Popover>\n );\n }\n);\n","import React, { ComponentPropsWithRef, Fragment, useRef, useState } from \"react\";\nimport { Button, Props as ButtonProps } from \"../../Button/Button\";\nimport { IconButton } from \"../../Button/IconButton\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\nimport { HeaderCell, ColumnName } from \"../datagrid.interfaces\";\nimport classes from \"./DataGridActions.module.scss\";\nimport { DataGridColumnsToggle } from \"./DataGridColumnsToggle\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n enableAddBtn?: boolean;\n enableColumnsBtn?: boolean;\n enableSearchBtn?: boolean;\n addBtnProps?: ButtonProps;\n columnsBtnProps?: ButtonProps;\n searchBtnProps?: ButtonProps;\n headers: HeaderCell[];\n onColumnToggled: (colName: ColumnName) => void;\n}\n\nexport const DataGridActions = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n className,\n enableAddBtn,\n enableColumnsBtn,\n enableSearchBtn,\n addBtnProps = {},\n columnsBtnProps = {},\n searchBtnProps = {},\n headers,\n onColumnToggled,\n ...rest\n }: Props,\n ref\n ) => {\n const isHidden = !(enableAddBtn || enableColumnsBtn || enableSearchBtn);\n const [showColsPopover, setShowColsPopover] = useState(false);\n const showColumnBtn = useRef<HTMLButtonElement>(null);\n\n return isHidden ? null : (\n <div {...rest} ref={ref} className={`${classes[\"actions\"]} ${className ?? \"\"}`}>\n <div className={classes[\"left-actions\"]}>\n {enableAddBtn && (\n <Button\n color=\"primary\"\n startIcon={<Icon icon={Icons.Plus} />}\n title=\"Add item\"\n type=\"button\"\n variant=\"outline\"\n children=\"Add item\"\n {...addBtnProps}\n />\n )}\n </div>\n <div className={classes[\"right-actions\"]}>\n {enableColumnsBtn && (\n <Fragment>\n <Button\n startIcon={<Icon icon={Icons.Change} />}\n title=\"Show/hide columns\"\n variant=\"text\"\n children=\"Columns\"\n {...columnsBtnProps}\n className={`${classes[\"desktop\"]} ${columnsBtnProps?.className ?? \"\"}`}\n ref={showColumnBtn}\n onClick={() => setShowColsPopover(true)}\n />\n <IconButton\n title=\"Show/hide columns\"\n {...columnsBtnProps}\n onClick={() => setShowColsPopover(true)}\n className={`${classes[\"mobile\"]} ${columnsBtnProps?.className ?? \"\"}`}\n >\n <Icon icon={Icons.Change} />\n </IconButton>\n <DataGridColumnsToggle\n aria-hidden={!showColsPopover}\n open={showColsPopover}\n headers={headers}\n onClose={() => setShowColsPopover(false)}\n onToggleClicked={onColumnToggled}\n anchorEl={showColumnBtn}\n />\n </Fragment>\n )}\n {enableSearchBtn && (\n <Fragment>\n <Button\n startIcon={<Icon icon={Icons.TableSearch} />}\n title=\"Search\"\n variant=\"text\"\n children=\"Search\"\n {...searchBtnProps}\n className={`${classes[\"desktop\"]} ${searchBtnProps?.className ?? \"\"}`}\n />\n <IconButton\n title=\"Search\"\n {...searchBtnProps}\n className={`${classes[\"mobile\"]} ${columnsBtnProps?.className ?? \"\"}`}\n >\n <Icon icon={Icons.TableSearch} />\n </IconButton>\n </Fragment>\n )}\n </div>\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactChild } from \"react\";\nimport { Typography } from \"../../Typography/Typography\";\nimport classes from \"./DataGridCell.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"td\"> {\n children?: ReactChild;\n isLoading?: boolean;\n spacing?: React.CSSProperties;\n cellIndex?: number;\n columnLength?: number;\n disableContextMenuColumn?: boolean;\n}\n\nexport const DataGridCell = React.forwardRef<HTMLTableCellElement, Props>(\n (\n {\n children,\n className,\n isLoading,\n spacing,\n cellIndex,\n columnLength,\n disableContextMenuColumn,\n ...rest\n }: Props,\n ref\n ) => {\n let cellStyle: React.CSSProperties = {};\n\n if (cellIndex === 0) {\n cellStyle.paddingLeft = spacing?.paddingLeft;\n }\n if (\n (cellIndex === columnLength && !disableContextMenuColumn) ||\n (columnLength && cellIndex === columnLength - 1 && disableContextMenuColumn)\n ) {\n cellStyle.paddingRight = spacing?.paddingRight;\n }\n\n return (\n <td\n {...rest}\n ref={ref}\n style={{ ...rest.style, ...cellStyle }}\n className={`${classes[\"cell\"]} ${className ?? \"\"}`}\n >\n {isLoading && (\n <div className={classes[\"loading\"]} aria-busy=\"true\" aria-live=\"polite\"></div>\n )}\n {!isLoading && (\n <Typography variant=\"body\" tag=\"span\">\n {children}\n </Typography>\n )}\n </td>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from \"react\";\nimport { HeaderCell } from \"../datagrid.interfaces\";\nimport classes from \"./DataGridRow.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"tr\"> {\n headers?: HeaderCell[];\n isLoading?: boolean;\n spacing?: React.CSSProperties;\n disableContextMenuColumn?: boolean;\n}\n\nexport const DataGridRow = React.forwardRef<HTMLTableRowElement, Props>(\n (\n { children, className, headers, isLoading, spacing, disableContextMenuColumn, ...rest }: Props,\n ref\n ) => {\n const visibleCells = React.Children.map(children as React.ReactElement[], (child, index) => {\n if (child) {\n const cellWithSpacing = React.cloneElement(child, {\n spacing: spacing,\n cellIndex: index,\n columnLength: headers?.length,\n disableContextMenuColumn\n });\n\n const visible = headers && headers.length > index ? !headers[index].hidden : true;\n return visible && cellWithSpacing;\n }\n return null;\n });\n\n const classNames = [classes[\"row\"]];\n className && classNames.push(className);\n isLoading && classNames.push(classes[\"loading\"]);\n\n return (\n <tr {...rest} ref={ref} className={classNames.join(\" \")}>\n {visibleCells}\n </tr>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactElement, Ref } from \"react\";\nimport { HeaderCell } from \"../datagrid.interfaces\";\nimport { DataGridCell } from \"./DataGridCell\";\nimport { DataGridRow } from \"./DataGridRow\";\nimport classes from \"./DataGridBody.module.scss\";\nimport { Typography } from \"../../Typography/Typography\";\n\nexport interface Props<T> extends ComponentPropsWithRef<\"tbody\"> {\n children: ({ item, index }: { item: T; index: number }) => ReactElement;\n data?: T[];\n headers: HeaderCell[];\n isLoading?: boolean;\n disableContextMenuColumn?: boolean;\n emptyLabel?: string;\n spacing?: React.CSSProperties;\n}\n\nconst skeletonLoadingRows = 9;\n\nconst DataGridBodyInner = <T extends {}>(\n {\n children,\n data,\n headers,\n isLoading,\n disableContextMenuColumn,\n emptyLabel,\n spacing,\n ...rest\n }: Props<T>,\n ref: Ref<HTMLTableSectionElement>\n) => {\n const renderContent = () => {\n const visibleColumns = headers.filter(header => !header.hidden).length;\n if (isLoading) {\n return Array.from(Array(skeletonLoadingRows)).map((_, rowIdx) => (\n <DataGridRow key={rowIdx} isLoading>\n {Array.from(Array(visibleColumns)).map((__, colIdx) => (\n <DataGridCell key={colIdx} isLoading></DataGridCell>\n ))}\n {!disableContextMenuColumn && <DataGridCell></DataGridCell>}\n </DataGridRow>\n ));\n }\n\n const emptyData = !data || data.length === 0;\n if (emptyData) {\n return (\n <tr>\n <td\n className={classes[\"empty\"]}\n colSpan={visibleColumns + (disableContextMenuColumn ? 0 : 1)}\n >\n <Typography variant=\"body\" spacing={{ margin: 0 }}>\n {emptyLabel}\n </Typography>\n </td>\n </tr>\n );\n }\n\n return data?.map((item, index) => {\n return React.cloneElement(children({ item, index }), {\n headers,\n spacing,\n disableContextMenuColumn\n });\n });\n };\n\n return (\n <tbody {...rest} ref={ref}>\n {renderContent()}\n </tbody>\n );\n};\n\nexport const DataGridBody = React.forwardRef(DataGridBodyInner) as <T extends {}>(\n p: Props<T> & { ref?: Ref<HTMLTableSectionElement> }\n) => ReactElement;\n","import React, { ComponentPropsWithRef, ReactElement, Ref, useEffect, useState } from \"react\";\nimport { Props as ButtonProps } from \"../Button/Button\";\nimport classes from \"./DataGrid.module.scss\";\nimport { DataGridHeader } from \"./DataGridHeader/DataGridHeader\";\nimport { DataGridActions } from \"./DataGridActions/DataGridActions\";\nimport { DataGridBody } from \"./DataGridBody/DataGridBody\";\nimport { ColumnName, HeaderCell, OnSortFunction, Sort } from \"./datagrid.interfaces\";\nimport { Pagination, Props as PaginationProps } from \"../Pagination/Pagination\";\nimport { Spacing, useSpacing } from \"../hooks/useSpacing\";\n\nexport interface Props<T> extends Omit<ComponentPropsWithRef<\"div\">, \"children\"> {\n children: ({ item, index }: { item: T; index: number }) => ReactElement;\n data?: T[];\n initialSort?: Sort;\n onSort?: OnSortFunction;\n headers: HeaderCell[];\n actions?: {\n enableAddBtn?: boolean;\n enableColumnsBtn?: boolean;\n enableSearchBtn?: boolean;\n addBtnProps?: ButtonProps;\n columnsBtnProps?: ButtonProps;\n searchBtnProps?: ButtonProps;\n };\n emptyLabel?: string;\n paginationProps?: PaginationProps;\n disableContextMenuColumn?: boolean;\n isLoading?: boolean;\n enableMultiSorting?: boolean;\n spacing?: Spacing;\n}\n\nconst DataGridInner = <T extends {}>(\n {\n children,\n data,\n initialSort,\n onSort,\n headers,\n actions = {},\n paginationProps,\n disableContextMenuColumn,\n isLoading,\n enableMultiSorting,\n emptyLabel,\n spacing,\n style,\n ...rest\n }: Props<T>,\n ref: Ref<HTMLDivElement>\n) => {\n if (!headers) {\n throw new Error(\"Headers definition has to be provided\");\n }\n if (!children) {\n throw new Error(\"DataGridBody should be provieded with a template how to render rows\");\n }\n\n const [internalHeaders, setInternalHeaders] = useState(headers);\n const styleWithSpacing = useSpacing(spacing, style);\n\n useEffect(() => setInternalHeaders(headers), [headers]);\n\n const onColumnToggled = (colName: ColumnName) => {\n setInternalHeaders(\n internalHeaders.map(item =>\n item.name !== colName ? item : { ...item, hidden: !item.hidden }\n )\n );\n };\n\n if (styleWithSpacing?.padding) {\n const splitPaddings = styleWithSpacing.padding.toString().split(\" \");\n\n let paddingLeftIndex: number = 0;\n\n if (splitPaddings.length >= 2) {\n paddingLeftIndex = 1;\n }\n if (splitPaddings.length === 4) {\n paddingLeftIndex = 3;\n }\n\n Object.defineProperties(styleWithSpacing, {\n paddingTop: {\n value: splitPaddings[0]\n },\n paddingRight: {\n value: splitPaddings[splitPaddings.length - 1 > 0 ? 1 : 0]\n },\n paddingBottom: {\n value: splitPaddings[splitPaddings.length / 3 >= 1 ? 2 : 0]\n },\n paddingLeft: {\n value: splitPaddings[paddingLeftIndex]\n }\n });\n }\n\n return (\n <div\n {...rest}\n className={classes[\"grid-wrapper\"]}\n ref={ref}\n style={{\n paddingTop: styleWithSpacing?.paddingTop,\n paddingBottom: styleWithSpacing?.paddingBottom\n }}\n >\n <DataGridActions\n {...actions}\n style={{\n paddingLeft: styleWithSpacing?.paddingLeft,\n paddingRight: styleWithSpacing?.paddingRight\n }}\n headers={internalHeaders}\n onColumnToggled={onColumnToggled}\n />\n <div className={classes[\"table-wrapper\"]}>\n <table className={classes[\"table\"]}>\n <DataGridHeader\n headers={internalHeaders}\n initialSort={initialSort}\n onSort={onSort}\n disableContextMenuColumn={disableContextMenuColumn}\n enableMultiSorting={enableMultiSorting}\n spacing={styleWithSpacing}\n />\n <DataGridBody\n children={children}\n data={data}\n headers={internalHeaders}\n isLoading={isLoading}\n disableContextMenuColumn={disableContextMenuColumn}\n emptyLabel={emptyLabel}\n spacing={styleWithSpacing}\n />\n </table>\n </div>\n {paginationProps && !isLoading && (\n <Pagination\n {...paginationProps}\n style={{\n ...paginationProps.style,\n paddingLeft: styleWithSpacing?.paddingLeft,\n paddingRight: styleWithSpacing?.paddingRight\n }}\n className={`${classes[\"pagination\"]} ${paginationProps.className ?? \"\"}`}\n />\n )}\n </div>\n );\n};\n\nexport const DataGrid = React.forwardRef(DataGridInner) as <T extends {}>(\n p: Props<T> & { ref?: Ref<HTMLDivElement> }\n) => ReactElement;\n"],"names":["BaseStyling","children","properties","defaultProperties","colorFocus","colorPrimary","colorSecondary","colorTertiary","defaultLineHeight","buttonBorderRadius","buttonBorderWidth","buttonFontSize","buttonBorderStyle","buttonFillTextColor","buttonFillBackgroundColor","buttonOutlineHoverTextColor","inputBorderColor","inputBorderRadius","inputBorderWidth","inputBorderWidthFocus","inputBorderStyle","inputBackgroundColor","modalShadowColor","modalBackgroundColor","modalHeaderBackgroundColor","snackbarTextColor","snackbarInfoBackgroundColor","snackbarSuccessBackgroundColor","snackbarErrorBackgroundColor","snackbarBorderRadius","dataGridRowBackgroundColor","dataGridRowHoverBackgroundColor","tabsBackgroundColor","tabBorderWidth","tabBorderStyle","tablistBorderWidth","tablistBorderStyle","tablistBorderColor","tabTextColor","success","error","disabled","greyedOut","warning","fontFamily","fontFamilyCode","fontSize","fontSizeH1","fontSizeH2","fontSizeH3","fontSizeH4","fontSizeSub","fontSizeCode","useState","isLoading","setIsLoading","setCSSProperties","CSSPropertiesObject","Object","entries","key","value","formattedPropertyName","replace","val","toLowerCase","document","documentElement","style","setProperty","useEffect","keys","length","mergedState","React","createElement","Fragment","BaseButton","forwardRef","ref","type","className","rest","_excluded","validTypes","includes","Error","classes","button","Button","variant","color","startIcon","endIcon","additionalClasses","push","join","Icons","Icon","icon","size","tag","Component","defaultFactor","defaultUnit","spacingNumberRegex","useSpacing","spacingProps","reduce","prev","spacing","multiplier","matches","String","matchAll","cssSpacingValue","Array","from","map","multiplierValue","Number","validVariants","Typography","styleWithSpacing","TagName","Breadcrumbs","ariaLabel","items","Children","child","index","isLastElement","isArray","props","cloneElement","ChevronRight","defaultConfigObject","relativeElement","undefined","elementToBePositioned","transformOrigin","horizontal","vertical","placement","offset","top","right","bottom","left","usePosition","providedConfigObject","configObject","position","setPosition","_fixPossibleViewportOverflow","requestedReturnValue","elDimensions","returnValue","window","innerWidth","width","innerHeight","height","_applyOffsetToPlacementValue","_calculateInitialPlacementValue","relEl","placementOriginDefinition","_determineCenteredPlacementOrigin","_calculatePlacementValue","valueWithOffset","valueCorrectionForViewportOverflow","_calculatePlacement","axis","placementValue","direction","oppositeDirection","prevState","calculatePosition","current","relativeElRect","getBoundingClientRect","elementToBePositionedDimensions","offsetHeight","offsetWidth","clonedRelEl","center","centerv","centerh","x","y","Popover","show","anchorEl","elToBePositioned","useRef","popover","useBodyClick","checkFunction","callbackFunction","dependingStateVariable","bodyClickListener","event","addEventListener","removeEventListener","ContextMenu","trigger","decorativeElement","id","onShow","onClose","domRoot","body","showContextMenu","setShowContextMenu","hasBeenClosed","setHasBeenClosed","selectedContextMenuItem","setSelectedContextMenuItem","focusedContextMenuItem","setFocusedContextMenuItem","shouldClick","setShouldClick","count","childrenCount","onArrowNavigation","codesToPrevenDefault","code","preventDefault","target","parentElement","focus","renderTrigger","onClick","tabIndex","renderChildren","onFocusChange","childIndex","onSelectedChange","hasFocus","isSelected","contextMenuOpened","onKeyDown","createPortal","role","ContextMenuItem","innerButtonRef","createRef","click","Link","to","display","buttonVariant","component","determineTarget","classNames","download","rel","href","IconButton","iconSize","title","console","iconButtonClasses","readyclasses","Tab","args","generateID","stringToWeaveIn","hashCharacters","i","stringCharacter","test","Math","floor","random","slice","filterProps","regexPattern","returnFiltered","acc","filter","prevObj","currKeyValPair","TabButton","selected","focussed","tabId","tabPanelId","onTabButtonClick","TabPanel","hidden","Tabs","onTabChange","indicatorRef","indicatorPosition","setIndicatorPosition","indicatorWidth","setIndicatorWidth","max","min","selectedTab","setSelectedTab","focussedTab","setFocussedTab","tabIds","tabPanelIds","calculateIndicatorPosition","selectedTabButton","tabButtons","offsetLeft","offsetTop","handleKeyDown","e","currentFocussedTab","activateTab","handleBlur","buttonRef","tabPanels","panelRef","onBlur","TextEllipsis","popoverClassName","showPopover","setShowPopover","textContainer","ellipsisVisible","scrollWidth","onMouseEnter","onMouseLeave","Tile","imageProps","enabled","loading","tileAction","tileDescriptionID","statusMessage","justifyContent","Checkmark","Forbidden","readyClasses","src","alt","Image","Tiles","defaultPosition","Tooltip","label","identifier","visible","setVisible","escapePressHandler","useLayoutEffect","isValidElement","onFocus","wrapper","InfoCircle","tooltip","Skeleton","StatusIndicator","status","badgeProps","typographyProps","margin","dateTypes","useErrorOffset","suffix","errorIcon","inputWrapper","suffixContent","errorOffset","setErrorOffset","defaultErrorOffset","setDefaultErrorOffset","getErrorIconOffset","parseFloat","getComputedStyle","getInputPaddingRight","input","paddingRight","defaultOffset","inputPaddingRight","prefixDifference","Input","name","wrapperProps","labeledBy","prefix","setFocus","inputWrapperRef","errorIconRef","suffixRef","inputClassNames","iconClassNames","wrapperClasses","outlineClasses","renderSearchCondition","Select","placeholder","describedBy","searchPlaceholder","searchInputProps","selectButtonProps","clearLabel","onChange","onClear","expanded","setExpanded","opacity","setOpacity","setFilter","setDisplay","listPosition","setListPosition","optionsListMaxHeight","setOptionsListMaxHeight","containerReference","optionListReference","isSearching","setIsSearching","focusedSelectItem","setFocusedSelectItem","nativeSelect","searchInputRef","codesToPreventDefault","codesToPreventDefaultWhenSearching","querySelector","syncDisplayValue","forEach","rePositionList","spaceOnTopOfSelect","spaceOnBottomOfSelect","calculateOptionListMaxHeight","listHeight","availableSpace","onOptionChangeHandler","optionRef","getAttribute","dispatchEvent","Event","bubbles","renderOptions","filteredChildren","toArray","match","_internalRenderChildren","internalChildren","onOptionSelect","selectOpened","renderSearch","autoFocus","filterResults","currentTarget","statusIcon","Warning","stopPropagation","TimesThin","nativeOnChangeHandler","closest","select","TriangleDown","maxHeight","pointerEvents","Option","innerOptionRef","onSelectHandler","onKeyDownCapture","Label","DefaultTranslations","Pagination","totalElements","pageSize","translate","currentPage","onPageChange","onPageSizeChange","toString","internalCurrentPage","setInternalCurrentPage","calculateAmountOfPages","ceil","onEnterListener","renderCurrentPageTranslation","amountOfPages","splitCurrentPageTranslation","split","string","htmlFor","currentPageLabel","onKeyUp","onPageSizeChangeHandler","pageSizeNumber","onPageChangeHandler","pageToGoTo","totalItems","itemsPerPage","NavigationFirst","ChevronLeft","NavigationLast","useRepeater","componentToRepeat","repeatedComponents","setRepeatedComponents","repeat","clonedComponent","remove","componentToRemove","newRepeatedComponents","labelId","descriptionId","SCROLL_PROPERTY_NAME","SCROLL_PROPERTY_VALUE","useSetBodyScroll","open","hideBodyScroll","showBodyScroll","allModalsClosed","querySelectorAll","removeProperty","BaseModal","containerProps","backdropProps","labelledby","describedby","disableEscapeKeyDown","disableBackdrop","forceContainerOpen","zIndex","handleEscKeyPress","handleBackdropClick","SnackbarContext","createContext","enqueueSnackbar","enqueueSuccessSnackbar","enqueueErrorSnackbar","SnackbarContextProvider","initialState","Provider","useSnackbar","useContext","BaseModalContent","disableAutoFocus","contentRef","BaseModalActions","DialogActions","align","DialogTitle","Dialog","alignActions","primaryAction","secondaryAction","dialogId","primaryLabel","restOfPrimaryAction","PrimaryButton","TertiaryButton","secondaryLabel","restOfSecondaryAction","onHiddenInputKeyPress","maxLength","onKeyPress","BaseModalHeader","Times","DiscardChangesDialog","onKeepEditing","onDiscardChanges","discardChangesButtonLabel","keepEditingButtonLabel","contentLabel","titleLabel","DiscardChangesModal","headerProps","discardChangedDialogProps","modalRef","dialogRef","hasUnsavedChanges","openDiscardChangesDialog","setOpenDiscardChangesDialog","onCloseWrapper","onDialogKeepEditing","onDialogDiscardChanges","Modal","ModalHeader","SlideInModal","classHideOnTransition","setClassHideOnTransition","containerRef","onTransitionEnd","SnackbarContainer","useAnimation","callback","animatedObjectRef","animationStarted","setAnimationStarted","onAnimationEnd","startAnimation","textColor","SnackbarItem","duration","content","actions","closeButtonTitle","timerHandler","setTimeout","clearTimeout","getVariantIcon","CheckmarkCircleBreakout","actionButtons","actionProp","SnackbarProvider","autoHideDuration","stackSize","snackbars","setSnackbars","addSnackbar","item","getDuration","hasError","hasContentOrActions","options","onItemClosed","snackbarList","snackbarPortal","useFormSelector","setDescribedBy","errorMessage","errorId","parentErrorId","helperText","parentHelperId","FormHelperText","FormSelectorWrapper","nestedChildren","helperProps","helperRef","isToggle","Checkbox","indeterminate","checked","formSelectorWrapperProps","determineLabel","renderNestedCheckboxes","onChangeHandler","renderToggle","iconClasses","MinusSquare","CheckmarkSquare","Square","Radio","nativeEvent","clonedEvent","constructor","defineProperty","writable","Circle","Textarea","rows","errorProps","Toggle","FormControl","grid","childElement","column","FormGroup","errorMessageIcon","errorMessageIconPosition","helperId","helperIndent","marginLeft","message","Wrapper","floatingLabel","floatingLabelActive","required","labelProps","innerClassName","labelClasses","useWrapper","setFloatingLabelActive","setHasFocus","useLabelOffset","labelOffset","setLabelOffset","resetLabelOffset","spacingBetweenPrefixAndInput","paddingLeft","InputWrapper","inputProps","hasValueOrActiveFloatingLabel","SelectWrapper","selectProps","TextareaWrapper","textareaProps","hover","setHover","optionalClasses","Fieldset","legend","legendStyle","hideLegend","noBackground","background","noPadding","disablePropagation","allowedComponents","backgroundColor","fieldset","Form","form","RadioWrapper","fieldsetProps","CheckboxWrapper","setWizardState","steps","mode","stepScreenReaderLabel","payload","changeCurrentStepNo","currentStepNo","reducer","state","action","WizardStateContext","dispatch","WizardStateProvider","useReducer","useSetWizardState","useStepChanging","onStepChange","WizardContent","Wizard","initialStepNo","calculateNextStepNo","findIndex","step","stepNo","calculatePrevStepNo","reversedCurrentStepNo","reversedPrevStepNo","reverse","useNextStepNo","useMemo","usePreviousStepNo","WizardActions","onCancel","onNext","onPrevious","onSaveAndClose","cancelButtonLabel","previousButtonLabel","nextButtonLabel","saveAndCloseButtonLabel","nextStepNo","hasNextStep","previousStepNo","hasPreviousStep","isLastStepOrEditMode","changeStepNo","onNextWrapper","onPreviousWrapper","onSaveAndCloseWrapper","BaseWizardSteps","futureStepsClickable","getStepState","getStepContent","stepState","stepNumberString","generatedSteps","disabledStyleClassName","clickableClassName","WizardSteps","onStepClick","selectedStepNo","ariaSortMapping","ASC","DESC","DataGridHeaderCell","headline","disableSorting","activeSortDirection","onSort","onCellClick","sortingIndicator","getSortingIndicatorClasses","sortingIndicatorClasses","TriangleUp","innerContent","sortingStates","DataGridHeader","initialSort","headers","disableContextMenuColumn","enableMultiSorting","sortList","setSortList","calculateNextSortState","currentDirectionIdx","updateSortList","find","restSortList","newSortDirection","wrapOnSort","newSort","headerCells","header","headerStyle","sort","DataGridColumnsToggle","onToggleClicked","labelledId","toggles","DataGridActions","enableAddBtn","enableColumnsBtn","enableSearchBtn","addBtnProps","columnsBtnProps","searchBtnProps","onColumnToggled","isHidden","showColsPopover","setShowColsPopover","showColumnBtn","Plus","Change","TableSearch","DataGridCell","cellIndex","columnLength","cellStyle","DataGridRow","visibleCells","cellWithSpacing","skeletonLoadingRows","DataGridBodyInner","data","emptyLabel","renderContent","visibleColumns","_","rowIdx","__","colIdx","emptyData","colSpan","DataGridBody","DataGridInner","paginationProps","internalHeaders","setInternalHeaders","colName","padding","splitPaddings","paddingLeftIndex","defineProperties","paddingTop","paddingBottom","DataGrid"],"mappings":"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"}
1
+ {"version":3,"file":"react-lib-components.cjs.development.js","sources":["../src/_BaseStyling_/BaseStyling.tsx","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../src/Button/BaseButton.tsx","../src/Button/Button.tsx","../src/Icon/Icon.tsx","../src/hooks/useSpacing.ts","../src/Typography/Typography.tsx","../src/Breadcrumbs/Breadcrumbs.tsx","../src/hooks/usePosition.ts","../src/Popover/Popover.tsx","../src/hooks/useBodyClick.ts","../src/ContextMenu/ContextMenu.tsx","../src/ContextMenu/ContextMenuItem.tsx","../src/Link/Link.tsx","../src/Button/IconButton.tsx","../src/Tabs/Tab.tsx","../src/util/helper.tsx","../src/Tabs/TabButton.tsx","../src/Tabs/TabPanel.tsx","../src/Tabs/Tabs.tsx","../src/TextEllipsis/TextEllipsis.tsx","../src/Tiles/Tile.tsx","../src/Tiles/Tiles.tsx","../src/Tooltip/Tooltip.tsx","../src/Skeleton/Skeleton.tsx","../src/StatusIndicator/StatusIndicator.tsx","../src/Form/Input/Input.tsx","../src/Form/Select/Select.tsx","../src/Form/Select/Option.tsx","../src/Form/Label/Label.tsx","../src/Pagination/Pagination.tsx","../src/hooks/useRepeater.ts","../src/Notifications/BaseModal/BaseModalContext.ts","../src/Notifications/BaseModal/BaseModal.tsx","../src/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.tsx","../src/Notifications/Snackbar/useSnackbar.ts","../src/Notifications/BaseModal/BaseModalContent/BaseModalContent.tsx","../src/Notifications/BaseModal/BaseModalActions/BaseModalActions.tsx","../src/Notifications/Dialog/DialogActions/DialogActions.tsx","../src/Notifications/Dialog/DialogTitle/DialogTitle.tsx","../src/Notifications/Dialog/Dialog.tsx","../src/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.tsx","../src/Notifications/DiscardChangesModal/DiscardChangesDialog/DiscardChangesDialog.tsx","../src/Notifications/DiscardChangesModal/DiscardChangesModal.tsx","../src/Notifications/SlideInModal/SlideInModal.tsx","../src/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.tsx","../src/hooks/useAnimation.ts","../src/Notifications/Snackbar/SnackbarItem/SnackbarItem.tsx","../src/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.tsx","../src/hooks/useFormSelector.ts","../src/Form/FormHelperText/FormHelperText.tsx","../src/Form/FormSelectorWrapper/FormSelectorWrapper.tsx","../src/Form/Checkbox/Checkbox.tsx","../src/Form/Radio/Radio.tsx","../src/Form/Textarea/Textarea.tsx","../src/Form/Toggle/Toggle.tsx","../src/Form/FormControl/FormControl.tsx","../src/Form/FormGroup/FormGroup.tsx","../src/Form/Wrapper/Wrapper/Wrapper.tsx","../src/hooks/useWrapper.ts","../src/Form/Wrapper/InputWrapper/InputWrapper.tsx","../src/Form/Wrapper/SelectWrapper/SelectWrapper.tsx","../src/Form/Wrapper/TextareaWrapper/TextareaWrapper.tsx","../src/Form/Fieldset/Fieldset.tsx","../src/Form/Form.tsx","../src/Form/Wrapper/RadioWrapper/RadioWrapper.tsx","../src/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.tsx","../src/Wizard/wizardStateReducer.ts","../src/Wizard/WizardStateProvider.tsx","../src/Wizard/Wizard.tsx","../src/Wizard/WizardActions/WizardActions.tsx","../src/Wizard/BaseWizardSteps/BaseWizardSteps.tsx","../src/Wizard/WizardSteps/WizardSteps.tsx","../src/DataGrid/DataGridHeader/DataGridHeaderCell.tsx","../src/DataGrid/DataGridHeader/DataGridHeader.tsx","../src/DataGrid/DataGridActions/DataGridColumnsToggle.tsx","../src/DataGrid/DataGridActions/DataGridActions.tsx","../src/DataGrid/DataGridBody/DataGridCell.tsx","../src/DataGrid/DataGridBody/DataGridRow.tsx","../src/DataGrid/DataGridBody/DataGridBody.tsx","../src/DataGrid/DataGrid.tsx"],"sourcesContent":["import React, { Fragment, HTMLAttributes, ReactChild, useEffect, useState } from \"react\";\n\ninterface CSSProperties {\n colorFocus?: string;\n colorPrimary?: string;\n colorSecondary?: string;\n colorTertiary?: string;\n defaultLineHeight?: string;\n buttonBorderRadius?: string;\n buttonBorderWidth?: string;\n buttonFontSize?: string;\n buttonBorderStyle?: string;\n buttonFillTextColor?: string;\n buttonFillBackgroundColor?: string;\n buttonOutlineHoverTextColor?: string;\n inputBorderColor?: string;\n inputBorderRadius?: string;\n inputBorderWidth?: string;\n inputBorderWidthFocus?: string;\n inputBorderStyle?: string;\n inputBackgroundColor?: string;\n modalShadowColor?: string;\n modalBackgroundColor?: string;\n modalHeaderBackgroundColor?: string;\n snackbarTextColor?: string;\n snackbarInfoBackgroundColor?: string;\n snackbarSuccessBackgroundColor?: string;\n snackbarErrorBackgroundColor?: string;\n snackbarBorderRadius?: string;\n dataGridRowBackgroundColor?: string;\n dataGridRowHoverBackgroundColor?: string;\n tabsBackgroundColor?: string;\n tabBorderWidth?: string;\n tabBorderStyle?: string;\n tablistBorderWidth?: string;\n tablistBorderStyle?: string;\n tablistBorderColor?: string;\n tabTextColor?: string;\n default?: string;\n success?: string;\n error?: string;\n disabled?: string;\n greyedOut?: string;\n warning?: string;\n fontFamily?: string;\n fontFamilyCode?: string;\n fontSize?: string;\n fontSizeH1?: string;\n fontSizeH2?: string;\n fontSizeH3?: string;\n fontSizeH4?: string;\n fontSizeSub?: string;\n fontSizeCode?: string;\n}\n\nexport interface Props extends HTMLAttributes<HTMLDivElement> {\n children?: ReactChild;\n properties?: CSSProperties;\n}\n\nexport const BaseStyling = ({ children, properties = {} }: Props) => {\n const defaultProperties: CSSProperties = {\n colorFocus: \"#0085f2\",\n colorPrimary: \"#9e006b\",\n colorSecondary: \"#003b5e\",\n colorTertiary: \"#ff1e4e\",\n defaultLineHeight: \"26px\",\n buttonBorderRadius: \"20px\",\n buttonBorderWidth: \"2px\",\n buttonFontSize: \"1rem\",\n buttonBorderStyle: \"solid\",\n buttonFillTextColor: \"#fff\",\n buttonFillBackgroundColor: \"#fff\",\n buttonOutlineHoverTextColor: \"#fff\",\n inputBorderColor: \"#e9e9eb\",\n inputBorderRadius: \"8px\",\n inputBorderWidth: \"1px\",\n inputBorderWidthFocus: \"2px\",\n inputBorderStyle: \"solid\",\n inputBackgroundColor: \"#fff\",\n modalShadowColor: \"rgba(0, 0, 0, 0.16)\",\n modalBackgroundColor: \"#f5f8f8\",\n modalHeaderBackgroundColor: \"#fff\",\n snackbarTextColor: \"#fff\",\n snackbarInfoBackgroundColor: \"#003b5e\",\n snackbarSuccessBackgroundColor: \"#008a28\",\n snackbarErrorBackgroundColor: \"#d9291c\",\n snackbarBorderRadius: \"8px\",\n dataGridRowBackgroundColor: \"transparent\",\n dataGridRowHoverBackgroundColor: \"#f5e6f0\",\n tabsBackgroundColor: \"#FFF\",\n tabBorderWidth: \"2px\",\n tabBorderStyle: \"solid\",\n tablistBorderWidth: \"1px\",\n tablistBorderStyle: \"solid\",\n tablistBorderColor: \"#C3C3C7\",\n tabTextColor: \"#0f0f1e\",\n default: \"#0f0f1e\",\n success: \"#008a28\",\n error: \"#d9291c\",\n disabled: \"#e9e9eb\",\n greyedOut: \"#6f6f76\",\n warning: \"#ff6105\",\n fontFamily: \"'Red Hat Display', sans-serif\",\n fontFamilyCode: \"'Red Hat Mono', sans-serif\",\n fontSize: \"1rem\",\n fontSizeH1: \"2.5rem\",\n fontSizeH2: \"1.625rem\",\n fontSizeH3: \"1.5rem\",\n fontSizeH4: \"1.25rem\",\n fontSizeSub: \".75rem\",\n fontSizeCode: \"1rem\"\n };\n\n /** We need a loading state, because otherwise you see the colors flash from the default to the possible overridden ones. */\n const [isLoading, setIsLoading] = useState(true);\n\n /** Set the actual CSS properties on the HTML :root object */\n const setCSSProperties = (CSSPropertiesObject: CSSProperties) => {\n for (const [key, value] of Object.entries(CSSPropertiesObject)) {\n const formattedPropertyName = key.replace(/([A-Z])/g, val => `-${val.toLowerCase()}`);\n document.documentElement.style.setProperty(`--${formattedPropertyName}`, value);\n }\n };\n\n /** Check if the properties prop object is filled with anything. If it is, we want to shallow merge it with the default BaseStyling. */\n useEffect(() => {\n if (Object.keys(properties).length !== 0) {\n const mergedState = { ...defaultProperties, ...properties };\n setCSSProperties(mergedState);\n } else {\n setCSSProperties(defaultProperties);\n }\n setIsLoading(false);\n }, [properties]);\n\n /** Only render if we're not loading */\n return !isLoading ? <Fragment>{children}</Fragment> : null;\n};\n","var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export{n as default};\n","import React, { ComponentPropsWithRef } from \"react\";\nimport classes from \"./BaseButton.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"button\"> {\n type?: \"submit\" | \"button\" | \"reset\";\n disabled?: boolean;\n color?: \"primary\" | \"secondary\" | \"tertiary\" | \"default\";\n}\n\nexport const BaseButton = React.forwardRef<HTMLButtonElement, Props>(\n ({ children, type = \"button\", className, ...rest }, ref) => {\n const validTypes = [\"submit\", \"button\", \"reset\"];\n\n if (!validTypes.includes(type))\n throw new Error(\n `You have entered an invalid button type. Expected 'submit', 'button' or 'reset' got ${type}`\n );\n\n return (\n <button\n {...rest}\n ref={ref}\n type={type}\n className={`${classes.button} ${className ? className : \"\"}`}\n >\n {children}\n </button>\n );\n }\n);\n","import React from \"react\";\nimport { BaseButton, Props as BaseButtonProps } from \"./BaseButton\";\nimport classes from \"./Button.module.scss\";\n\nexport interface Props extends BaseButtonProps {\n startIcon?: React.ReactNode | false;\n endIcon?: React.ReactNode | false;\n children?: React.ReactNode;\n variant?: \"text\" | \"fill\" | \"outline\";\n}\n\nexport const Button = React.forwardRef<HTMLButtonElement, Props>(\n (\n {\n children,\n variant = \"fill\",\n color = \"primary\",\n startIcon = false,\n endIcon = false,\n className,\n ...rest\n },\n ref\n ) => {\n const additionalClasses = [];\n\n if (startIcon || endIcon) {\n additionalClasses.push(classes[\"has-icon\"]);\n }\n\n if (startIcon) {\n additionalClasses.push(classes[\"start-icon\"]);\n }\n\n if (endIcon) {\n additionalClasses.push(classes[\"end-icon\"]);\n }\n\n if (className) {\n additionalClasses.push(className);\n }\n\n return (\n <BaseButton\n {...rest}\n ref={ref}\n className={`${classes[color]} ${classes[variant]} ${additionalClasses.join(\" \")}`}\n >\n {startIcon && <i>{startIcon}&nbsp;</i>}\n <span>{children}</span>\n {endIcon && <i>&nbsp;{endIcon}</i>}\n </BaseButton>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from \"react\";\nimport classes from \"./Icon.module.scss\";\n\nexport enum Icons {\n Bell = \"bell\",\n BellAlt = \"bell-alt\",\n Bookmark = \"bookmark\",\n BookmarkAlt = \"bookmark-alt\",\n Build = \"build\",\n Calendar = \"calendar\",\n Change = \"change\",\n Checkmark = \"checkmark\",\n CheckmarkCircle = \"checkmark-circle\",\n CheckmarkCircleAlt = \"checkmark-circle-alt\",\n CheckmarkCircleBreakout = \"checkmark-circle-breakout\",\n CheckmarkSquare = \"checkmark-square\",\n ChevronUp = \"chevron-up\",\n ChevronDown = \"chevron-down\",\n ChevronLeft = \"chevron-left\",\n ChevronRight = \"chevron-right\",\n Circle = \"circle\",\n Clock = \"clock\",\n Copy = \"copy\",\n Edit = \"edit\",\n Ellipsis = \"ellipsis\",\n EllipsisAlt = \"ellipsis-alt\",\n Equal = \"equal\",\n Error = \"error-circle\",\n Eye = \"eye\",\n Filter = \"filter\",\n FilterAlt = \"filter-alt\",\n FilterAltArrow = \"filter-alt-arrow\",\n FilterAltTimes = \"filter-alt-times\",\n Forbidden = \"forbidden\",\n Fullscreen = \"fullscreen\",\n FullscreenExit = \"fullscreen-exit\",\n Gearwheel = \"gearwheel\",\n Grid = \"grid\",\n Hamburger = \"hamburger\",\n Heart = \"heart\",\n Image = \"image\",\n InfoBell = \"info-bell\",\n InfoCircle = \"info-circle\",\n Link = \"link\",\n MinusSquare = \"minus-square\",\n NavigationFirst = \"navigation-first\",\n NavigationLast = \"navigation-last\",\n Plus = \"plus\",\n Radio = \"radio\",\n Refresh = \"refresh\",\n Search = \"search\",\n Share = \"share\",\n Square = \"square\",\n Star = \"star\",\n StarAlt = \"star-alt\",\n TableSearch = \"table-search\",\n Times = \"times\",\n TimesCircle = \"times-circle\",\n TimesCircleAlt = \"times-circle-alt\",\n TimesThin = \"times-thin\",\n Trash = \"trash\",\n TriangleDown = \"triangle-down\",\n TriangleDownCircle = \"triangle-down-circle\",\n TriangleLeft = \"triangle-left\",\n TriangleRight = \"triangle-right\",\n TriangleUp = \"triangle-up\",\n Undo = \"undo\",\n Warning = \"warning\"\n}\n\ntype Tag = \"span\" | \"div\" | \"i\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n icon: Icons;\n color?: string;\n size?: string;\n tag?: Tag;\n}\n\nexport const Icon = React.forwardRef<HTMLDivElement, Props>(\n ({ icon, color, className, style, size, tag = \"span\", ...rest }: Props, ref) => {\n const Component = tag;\n\n return (\n <Component\n {...rest}\n ref={ref}\n style={{ color: color, ...style, fontSize: size }}\n data-icon\n aria-hidden=\"true\"\n className={`${classes[\"icon\"]} ${classes[\"icon-\" + icon]} ${className ? className : \"\"}`}\n />\n );\n }\n);\n","import { CSSProperties } from \"react\";\n\nexport type SpacingMultiplier = 0 | 0.5 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;\ntype SpacingMultiplierStringOrNumber = `${SpacingMultiplier}` | SpacingMultiplier;\ntype MultiValueSpacingMultiplier =\n | `${SpacingMultiplier} ${SpacingMultiplier} ${SpacingMultiplier} ${SpacingMultiplier}`\n | `${SpacingMultiplier} ${SpacingMultiplier} ${SpacingMultiplier}`\n | `${SpacingMultiplier} ${SpacingMultiplier}`\n | SpacingMultiplierStringOrNumber;\n\nexport interface Spacing {\n padding?: MultiValueSpacingMultiplier;\n paddingTop?: SpacingMultiplierStringOrNumber;\n paddingBottom?: SpacingMultiplierStringOrNumber;\n paddingLeft?: SpacingMultiplierStringOrNumber;\n paddingRight?: SpacingMultiplierStringOrNumber;\n margin?: MultiValueSpacingMultiplier;\n marginTop?: SpacingMultiplierStringOrNumber;\n marginBottom?: SpacingMultiplierStringOrNumber;\n marginLeft?: SpacingMultiplierStringOrNumber;\n marginRight?: SpacingMultiplierStringOrNumber;\n}\n\nconst defaultFactor = 0.25;\nconst defaultUnit = \"rem\";\nconst spacingNumberRegex = /(\\d+\\.?\\d*)+/g;\n\nexport const useSpacing = (\n spacingProps?: Spacing,\n style?: CSSProperties\n): CSSProperties | undefined => {\n if (spacingProps) {\n return Object.entries(spacingProps).reduce<CSSProperties>((prev, [spacing, multiplier]) => {\n const matches = String(multiplier).matchAll(spacingNumberRegex);\n const cssSpacingValue = Array.from(matches)\n .map(([multiplierValue]) => `${Number(multiplierValue) * defaultFactor}${defaultUnit}`)\n .join(\" \");\n return { ...prev, [spacing]: cssSpacingValue };\n }, style ?? {});\n }\n return style;\n};\n","import React, { ComponentPropsWithRef, ReactNode } from \"react\";\nimport classes from \"./Typography.module.scss\";\nimport { Spacing, useSpacing } from \"../hooks/useSpacing\";\n\nexport const validVariants = [\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"body\",\n \"body-bold\",\n \"sub-text\",\n \"code\"\n] as const;\nexport type Variant = typeof validVariants[number];\n\ntype Tags =\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"p\"\n | \"div\"\n | \"code\"\n | \"span\"\n | \"sup\"\n | \"sub\"\n | \"strong\"\n | \"em\"\n | \"small\"\n | \"mark\"\n | \"del\"\n | \"ins\"\n | \"blockquote\";\n\nexport interface Props extends ComponentPropsWithRef<any> {\n children: ReactNode;\n variant: Variant;\n tag?: Tags;\n spacing?: Spacing;\n}\n\nexport const Typography = React.forwardRef<any, Props>(\n ({ children, variant, tag, style, spacing, className = \"\", ...rest }: Props, ref) => {\n if (!validVariants.includes(variant)) {\n throw new Error(\n `You entered an invalid variant. You can choose from: ${validVariants}, you entered: ${variant}`\n );\n }\n\n const styleWithSpacing = useSpacing(spacing, style);\n\n if (!tag) {\n switch (variant) {\n case \"h1\":\n case \"h2\":\n case \"h3\":\n case \"h4\":\n case \"code\":\n tag = variant;\n break;\n case \"body\":\n tag = \"p\";\n break;\n case \"body-bold\":\n tag = \"p\";\n break;\n case \"sub-text\":\n tag = \"span\";\n break;\n default:\n tag = \"div\";\n break;\n }\n }\n\n let TagName = tag;\n\n return (\n <TagName\n {...rest}\n ref={ref}\n style={styleWithSpacing}\n className={`${classes[\"typography_style_\" + variant]} ${className}`}\n >\n {children}\n </TagName>\n );\n }\n);\n","import React, { ComponentPropsWithRef, Fragment, ReactElement } from \"react\";\nimport { Icon, Icons } from \"../Icon/Icon\";\nimport { Link, Props as LinkProps } from \"../Link/Link\";\nimport { Typography } from \"../Typography/Typography\";\nimport classes from \"./Breadcrumbs.module.scss\";\n\ntype ChildrenType = ReactElement<LinkProps, typeof Link>;\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n children: ChildrenType | ChildrenType[];\n \"aria-label\": string;\n}\n\nexport const Breadcrumbs = React.forwardRef<HTMLDivElement, Props>(\n ({ children, \"aria-label\": ariaLabel, className = \"\", ...rest }: Props, ref) => {\n const items = React.Children.map(children, (child, index) => {\n const isLastElement = Array.isArray(children) ? index === children.length - 1 : true;\n if (isLastElement) {\n return (\n <Typography\n key={child.key}\n variant=\"body\"\n tag=\"span\"\n className={classes[\"last\"]}\n aria-current=\"page\"\n >\n {child.props.children}\n </Typography>\n );\n } else {\n return (\n <Fragment key={child.key}>\n {React.cloneElement(child)}\n <Icon icon={Icons.ChevronRight} className={classes[\"icon\"]} />\n </Fragment>\n );\n }\n });\n return (\n <nav\n {...rest}\n ref={ref}\n aria-label={ariaLabel}\n className={`${classes[\"breadcrumbs\"]} ${className}`}\n >\n {items}\n </nav>\n );\n }\n);\n","import React, { useState } from \"react\";\n\nexport interface ConfigObject {\n relativeElement: RefElement;\n elementToBePositioned: RefElement;\n transformOrigin?: Placement;\n placement?: Placement;\n offset?: Offset;\n}\n\nexport type HorizontalPlacement = \"left\" | \"center\" | \"centerh\" | \"right\";\nexport type VerticalPlacement = \"top\" | \"center\" | \"centerv\" | \"bottom\";\n\ntype Axis = \"vertical\" | \"horizontal\";\ntype RefElement = React.RefObject<HTMLOrSVGElement> | undefined;\n\ninterface DomRectObject {\n top: number;\n right: number;\n bottom: number;\n left: number;\n center: number;\n centerh: number;\n centerv: number;\n width: number;\n height: number;\n x: number;\n y: number;\n}\n\nexport interface Placement {\n horizontal: HorizontalPlacement;\n vertical: VerticalPlacement;\n}\n\nexport interface Offset {\n top: number;\n right: number;\n bottom: number;\n left: number;\n}\n\nexport interface Position {\n top: PositionType;\n right: PositionType;\n bottom: PositionType;\n left: PositionType;\n}\n\ninterface Dimensions {\n height: number;\n width: number;\n}\n\ntype PositionType = number | \"initial\";\n\nconst defaultConfigObject: ConfigObject = {\n relativeElement: undefined,\n elementToBePositioned: undefined,\n transformOrigin: {\n horizontal: \"left\",\n vertical: \"top\"\n },\n placement: {\n horizontal: \"left\",\n vertical: \"top\"\n },\n offset: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }\n};\n\n/* eslint-disable @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-non-null-asserted-optional-chain*/\nexport const usePosition = (providedConfigObject: ConfigObject = defaultConfigObject) => {\n const configObject = { ...defaultConfigObject, ...providedConfigObject };\n\n if (configObject.transformOrigin === undefined) {\n configObject.transformOrigin = defaultConfigObject.transformOrigin;\n }\n\n if (configObject.placement === undefined) {\n configObject.placement = defaultConfigObject.placement;\n }\n\n if (configObject.offset === undefined) {\n configObject.offset = defaultConfigObject.offset;\n }\n\n const [position, setPosition] = useState<Position>({\n left: 0,\n top: 0,\n right: \"initial\",\n bottom: \"initial\"\n });\n\n const _fixPossibleViewportOverflow = (\n value: number,\n transformOrigin: Placement,\n requestedReturnValue: Axis,\n elDimensions: Dimensions\n ) => {\n let returnValue = value;\n\n if (\n (transformOrigin[requestedReturnValue] === \"left\" && returnValue < 0) ||\n (transformOrigin[requestedReturnValue] === \"top\" && returnValue < 0) ||\n (transformOrigin[requestedReturnValue] === \"center\" && returnValue < 0) ||\n (transformOrigin[requestedReturnValue] === \"bottom\" && returnValue < 0)\n ) {\n returnValue = 0;\n }\n\n if (\n (transformOrigin[requestedReturnValue] === \"left\" &&\n returnValue > window.innerWidth - elDimensions.width) ||\n (transformOrigin[requestedReturnValue] === \"center\" &&\n requestedReturnValue === \"horizontal\" &&\n returnValue > window.innerWidth - elDimensions.width)\n ) {\n returnValue = window.innerWidth - elDimensions.width;\n }\n\n if (\n (transformOrigin[requestedReturnValue] === \"top\" &&\n returnValue > window.innerHeight - elDimensions.height) ||\n (transformOrigin[requestedReturnValue] === \"center\" &&\n requestedReturnValue === \"vertical\" &&\n returnValue > window.innerHeight - elDimensions.height)\n ) {\n returnValue = window.innerHeight - elDimensions.height;\n }\n\n if (\n transformOrigin[requestedReturnValue] === \"right\" &&\n returnValue > window.innerWidth - elDimensions.width\n ) {\n returnValue = window.innerWidth - elDimensions.width;\n }\n\n if (\n transformOrigin[requestedReturnValue] === \"bottom\" &&\n returnValue > window.innerHeight - elDimensions.height\n ) {\n returnValue = window.innerHeight - elDimensions.height;\n }\n\n return returnValue;\n };\n\n const _applyOffsetToPlacementValue = (\n value: number,\n requestedReturnValue: Axis,\n transformOrigin: Placement\n ) => {\n let returnValue = value;\n if (\n (requestedReturnValue === \"horizontal\" && configObject.offset?.left !== 0) ||\n (requestedReturnValue === \"horizontal\" && configObject.offset?.right !== 0)\n ) {\n if (\n transformOrigin[requestedReturnValue] === \"left\" ||\n transformOrigin[requestedReturnValue] === \"center\"\n ) {\n returnValue += configObject.offset?.left!;\n returnValue -= configObject.offset?.right!;\n }\n\n if (transformOrigin[requestedReturnValue] === \"right\") {\n returnValue -= configObject.offset?.left!;\n returnValue += configObject.offset?.right!;\n }\n }\n\n if (\n (requestedReturnValue === \"vertical\" && configObject.offset?.top !== 0) ||\n (requestedReturnValue === \"vertical\" && configObject.offset?.bottom !== 0)\n ) {\n if (\n transformOrigin[requestedReturnValue] === \"top\" ||\n transformOrigin[requestedReturnValue] === \"center\"\n ) {\n returnValue += configObject.offset?.top!;\n returnValue -= configObject.offset?.bottom!;\n }\n\n if (transformOrigin[requestedReturnValue] === \"bottom\") {\n returnValue -= configObject.offset?.top!;\n returnValue += configObject.offset?.bottom!;\n }\n }\n\n return returnValue;\n };\n\n const _calculateInitialPlacementValue = (\n transformOrigin: Placement,\n requestedReturnValue: Axis,\n relEl: DomRectObject,\n placementOriginDefinition: HorizontalPlacement | VerticalPlacement,\n elDimensions: Dimensions\n ) => {\n let value = 0;\n\n if (\n transformOrigin[requestedReturnValue] === \"left\" ||\n transformOrigin[requestedReturnValue] === \"top\"\n ) {\n value = relEl[placementOriginDefinition];\n } else if (transformOrigin[requestedReturnValue] === \"center\") {\n value =\n relEl[placementOriginDefinition] -\n elDimensions[requestedReturnValue === \"horizontal\" ? \"width\" : \"height\"] / 2;\n } else if (\n transformOrigin[requestedReturnValue] === \"right\" ||\n transformOrigin[requestedReturnValue] === \"bottom\"\n ) {\n value =\n window[requestedReturnValue === \"horizontal\" ? \"innerWidth\" : \"innerHeight\"] -\n relEl[placementOriginDefinition];\n }\n\n return value;\n };\n\n /**\n *\n * @param requestedReturnValue whether the requested return value is for the horizontal or vertical axis\n * @returns either the horizontally centered placement definition (centerh) or the vertically centered one (centerv)\n */\n const _determineCenteredPlacementOrigin = (requestedReturnValue: Axis) => {\n if (requestedReturnValue === \"horizontal\") {\n return \"centerh\";\n } else if (requestedReturnValue === \"vertical\") {\n return \"centerv\";\n }\n throw new Error(\n `the requested return value isn't \"vertical\" or \"horizontal\" ${requestedReturnValue} was given.`\n );\n };\n\n const _calculatePlacementValue = (\n transformOrigin: Placement,\n placement: HorizontalPlacement | VerticalPlacement,\n requestedReturnValue: Axis,\n relEl: DomRectObject,\n elDimensions: Dimensions\n ): number => {\n const placementOriginDefinition =\n placement === \"center\" ? _determineCenteredPlacementOrigin(requestedReturnValue) : placement;\n\n const value = _calculateInitialPlacementValue(\n transformOrigin,\n requestedReturnValue,\n relEl,\n placementOriginDefinition,\n elDimensions\n );\n\n const valueWithOffset = _applyOffsetToPlacementValue(\n value,\n requestedReturnValue,\n transformOrigin\n );\n\n const valueCorrectionForViewportOverflow = _fixPossibleViewportOverflow(\n valueWithOffset,\n transformOrigin,\n requestedReturnValue,\n elDimensions\n );\n\n return valueCorrectionForViewportOverflow;\n };\n\n const _calculatePlacement = (relEl: DomRectObject, elDimensions: Dimensions, axis: Axis) => {\n const placementValue = _calculatePlacementValue(\n configObject.transformOrigin!,\n configObject.placement![axis]!,\n axis,\n relEl,\n elDimensions\n );\n\n let direction = \"left\";\n let oppositeDirection = \"right\";\n\n if (axis === \"horizontal\" && configObject.transformOrigin?.horizontal === \"right\") {\n direction = \"right\";\n oppositeDirection = \"left\";\n } else if (axis === \"horizontal\") {\n direction = \"left\";\n oppositeDirection = \"right\";\n }\n\n if (axis === \"vertical\" && configObject.transformOrigin?.vertical === \"bottom\") {\n direction = \"bottom\";\n oppositeDirection = \"top\";\n } else if (axis === \"vertical\") {\n direction = \"top\";\n oppositeDirection = \"bottom\";\n }\n\n setPosition(prevState => ({\n ...prevState,\n [direction]: placementValue,\n [oppositeDirection]: \"initial\"\n }));\n };\n\n const calculatePosition = () => {\n if (!configObject.relativeElement?.current) return;\n const relativeElRect = (configObject.relativeElement!\n .current as HTMLElement)!.getBoundingClientRect();\n const elementToBePositionedDimensions: Dimensions = {\n height: (configObject.elementToBePositioned!.current as HTMLElement).offsetHeight,\n width: (configObject.elementToBePositioned!.current as HTMLElement).offsetWidth\n };\n\n /** We want to add a center (horizontal and vertical) property to the DOMRect object. Since it's a special object we can't modify so we clone it and add it. */\n const clonedRelEl = {\n top: relativeElRect.top,\n right: relativeElRect.right,\n bottom: relativeElRect.bottom,\n center: 0,\n centerv: relativeElRect.top + relativeElRect.height / 2,\n centerh: relativeElRect.left + relativeElRect.width / 2,\n left: relativeElRect.left,\n width: relativeElRect.width,\n height: relativeElRect.height,\n x: relativeElRect.x,\n y: relativeElRect.y\n };\n\n _calculatePlacement(clonedRelEl, elementToBePositionedDimensions, \"horizontal\");\n _calculatePlacement(clonedRelEl, elementToBePositionedDimensions, \"vertical\");\n };\n\n return {\n top: position.top,\n bottom: position.bottom,\n left: position.left,\n right: position.right,\n calculatePosition\n };\n};\n","import React, { ComponentPropsWithRef, ReactNode, RefObject, useEffect, useRef } from \"react\";\nimport { Offset, Placement, usePosition } from \"../hooks/usePosition\";\nimport classes from \"./Popover.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n children?: ReactNode;\n show?: boolean;\n anchorEl?: RefObject<HTMLOrSVGElement>; //eslint-disable-line no-undef\n placement?: Placement;\n offset?: Offset;\n transformOrigin?: Placement;\n}\n\nexport const Popover = React.forwardRef<HTMLDivElement, Props>(\n ({ children, className, show, placement, offset, transformOrigin, anchorEl, ...rest }, ref) => {\n const elToBePositioned = useRef<HTMLDivElement>(null);\n\n if (show === undefined) {\n throw new Error('Please make sure to define the \"show\" property on your Popover component');\n }\n\n const { top, left, right, bottom, calculatePosition } = usePosition({\n elementToBePositioned: elToBePositioned,\n relativeElement: anchorEl,\n offset: offset,\n placement: placement,\n transformOrigin: transformOrigin\n });\n\n useEffect(() => {\n calculatePosition();\n }, [show]);\n\n return (\n <div ref={ref} {...rest}>\n <div\n ref={elToBePositioned}\n className={`${classes.popover} ${className ?? \"\"} ${show ? classes.show : \"\"}`}\n style={{ top: top, left: left, right: right, bottom: bottom }}\n >\n {children}\n </div>\n </div>\n );\n }\n);\n","import { useEffect } from \"react\";\n\nexport const useBodyClick = (\n checkFunction: (event: MouseEvent) => boolean,\n callbackFunction: (...args: unknown[]) => unknown,\n dependingStateVariable: React.ComponentState | React.ComponentState[]\n) => {\n function bodyClickListener(event: MouseEvent) {\n if (checkFunction(event)) {\n callbackFunction();\n }\n }\n useEffect(() => {\n window.addEventListener(\"click\", bodyClickListener);\n\n return () => {\n window.removeEventListener(\"click\", bodyClickListener);\n };\n }, [dependingStateVariable]);\n};\n","import React, {\n ComponentPropsWithRef,\n ReactElement,\n ReactNode,\n useEffect,\n useRef,\n useState\n} from \"react\";\nimport { Props as ButtonProps } from \"../Button/Button\";\nimport { Props as IconButtonProps } from \"../Button/IconButton\";\nimport { Popover } from \"../Popover/Popover\";\nimport { Placement, Offset } from \"../hooks/usePosition\";\nimport classes from \"./ContextMenu.module.scss\";\nimport { useBodyClick } from \"../hooks/useBodyClick\";\nimport { createPortal } from \"react-dom\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n trigger: ReactElement<ButtonProps> | ReactElement<IconButtonProps>;\n decorativeElement?: ReactNode;\n children: ReactNode;\n placement?: Placement;\n transformOrigin?: Placement;\n offset?: Offset;\n id: string;\n show?: boolean;\n domRoot?: HTMLElement;\n onShow?: () => void;\n onClose?: () => void;\n}\n\nexport const ContextMenu = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n trigger,\n children,\n decorativeElement,\n id,\n show = false,\n onShow,\n onClose,\n placement = { horizontal: \"right\", vertical: \"top\" },\n offset = { top: 0, bottom: 0, left: 0, right: 0 },\n transformOrigin = { horizontal: \"left\", vertical: \"top\" },\n domRoot = document.body,\n ...rest\n }: Props,\n ref\n ) => {\n const anchorEl = useRef<HTMLButtonElement>(null);\n const [showContextMenu, setShowContextMenu] = useState(show);\n const [hasBeenClosed, setHasBeenClosed] = useState(false);\n const [selectedContextMenuItem, setSelectedContextMenuItem] = useState(-1);\n const [focusedContextMenuItem, setFocusedContextMenuItem] = useState(-1);\n const [shouldClick, setShouldClick] =\n useState(\n false\n ); /** We need this, because whenever we use the arrow keys to select the contextmenu item, and we focus the currently selected item it fires the \"click\" listener in ContextMenuItem component. Instead, we only want this to fire if we press \"enter\" or \"spacebar\" so we set this to true whenever that is the case, and back to false when it has been executed. */\n const [childrenCount] = useState(React.Children.count(children));\n\n if (!id) {\n throw new Error(\"You need to provide an ID to the context menu\");\n }\n\n const onArrowNavigation = (event: React.KeyboardEvent) => {\n if (focusedContextMenuItem === -1 && selectedContextMenuItem !== -1) {\n setFocusedContextMenuItem(selectedContextMenuItem);\n }\n\n const codesToPrevenDefault = [\n \"ArrowDown\",\n \"ArrowUp\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"Enter\",\n \"Space\",\n \"Escape\",\n \"End\",\n \"Home\"\n ];\n\n if (codesToPrevenDefault.includes(event.code)) {\n event.preventDefault();\n }\n\n switch (event.code) {\n case \"ArrowDown\":\n if (!showContextMenu) {\n setShowContextMenu(true);\n return;\n }\n setFocusedContextMenuItem(prevState => {\n return prevState + 1 > childrenCount - 1 ? 0 : prevState + 1;\n });\n return;\n case \"ArrowUp\":\n setFocusedContextMenuItem(prevState => {\n return prevState - 1 < 0 ? childrenCount - 1 : prevState - 1;\n });\n return;\n case \"Enter\":\n case \"Space\":\n if (!showContextMenu) {\n setShowContextMenu(true);\n return;\n }\n\n setShouldClick(true);\n setSelectedContextMenuItem(focusedContextMenuItem);\n setShowContextMenu(false);\n return;\n case \"Tab\":\n case \"Escape\":\n setShowContextMenu(false);\n return;\n case \"End\":\n setFocusedContextMenuItem(childrenCount - 1);\n return;\n case \"Home\":\n setFocusedContextMenuItem(0);\n return;\n }\n };\n\n useBodyClick(\n event => {\n return (\n showContextMenu &&\n anchorEl.current !== event.target &&\n anchorEl.current !== (event.target as HTMLElement).parentElement\n );\n },\n () => {\n setShowContextMenu(false);\n },\n showContextMenu\n );\n\n useEffect(() => {\n if (showContextMenu === true) {\n onShow && onShow();\n } else {\n onClose && onClose();\n !hasBeenClosed && setHasBeenClosed(true);\n setFocusedContextMenuItem(-1);\n hasBeenClosed && anchorEl.current && anchorEl.current.focus();\n }\n }, [showContextMenu]);\n\n const renderTrigger = () =>\n React.cloneElement(trigger, {\n id: id,\n \"aria-haspopup\": \"true\",\n \"aria-controls\": `${id}-menu`,\n \"aria-expanded\": showContextMenu,\n onClick: () => setShowContextMenu(!showContextMenu),\n tabIndex: 0,\n ref: anchorEl\n });\n\n const renderChildren = () => {\n return React.Children.map(children, (child, index) => {\n return React.cloneElement(child as ReactElement, {\n onFocusChange: (childIndex: number) => setFocusedContextMenuItem(childIndex),\n onSelectedChange: (childIndex: number) => {\n setSelectedContextMenuItem(childIndex);\n setShouldClick(false);\n },\n childIndex: index,\n hasFocus: focusedContextMenuItem === index,\n isSelected: selectedContextMenuItem === index,\n contextMenuOpened: showContextMenu,\n shouldClick: shouldClick\n });\n });\n };\n\n return (\n <div {...rest} ref={ref} onKeyDown={onArrowNavigation} className={classes[\"context-menu\"]}>\n {renderTrigger()}\n {createPortal(\n <Popover\n placement={placement}\n transformOrigin={transformOrigin}\n offset={offset}\n anchorEl={anchorEl}\n show={showContextMenu}\n >\n {decorativeElement && (\n <div className={classes[\"decorative-element\"]}>{decorativeElement}</div>\n )}\n <ul\n className={`${classes[\"menu\"]} ${decorativeElement ? classes[\"no-margin-top\"] : \"\"}`}\n id={`${id}-menu`}\n aria-describedby={id}\n role=\"menu\"\n >\n {renderChildren()}\n </ul>\n </Popover>,\n domRoot\n )}\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef, createRef, RefObject, useEffect } from \"react\";\nimport classes from \"./ContextMenuItem.module.scss\";\n\nexport interface Props extends Omit<ComponentPropsWithRef<\"button\">, \"onClick\"> {\n children?: string;\n hasFocus?: boolean;\n isSelected?: boolean;\n childIndex?: number;\n shouldClick?: boolean;\n contextMenuOpened?: boolean;\n onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n onFocusChange?: (childIndex: number) => void;\n onSelectedChange?: (childIndex: number) => void;\n}\n\nexport const ContextMenuItem = React.forwardRef<HTMLButtonElement, Props>(\n (\n {\n children,\n onClick,\n onFocusChange,\n onSelectedChange,\n hasFocus,\n isSelected,\n childIndex,\n contextMenuOpened,\n shouldClick,\n className,\n ...rest\n }: Props,\n ref\n ) => {\n let innerButtonRef = (ref as RefObject<HTMLButtonElement>) || createRef<HTMLButtonElement>();\n\n useEffect(() => {\n if (isSelected && innerButtonRef.current && shouldClick) {\n innerButtonRef.current.click();\n }\n }, [isSelected, shouldClick]);\n\n useEffect(() => {\n if (innerButtonRef.current && hasFocus && contextMenuOpened) {\n onFocusChange && childIndex && onFocusChange(childIndex);\n innerButtonRef.current.focus();\n }\n }, [hasFocus, innerButtonRef, contextMenuOpened]);\n\n return (\n <li role=\"none\" className={`${classes[\"context-menu-item\"]} ${className ?? \"\"}`}>\n <button\n role=\"menuitem\"\n {...rest}\n ref={innerButtonRef}\n data-focus={hasFocus}\n tabIndex={-1}\n onClick={event => {\n onClick && onClick(event);\n onSelectedChange && childIndex && onSelectedChange(childIndex);\n }}\n >\n {children}\n </button>\n </li>\n );\n }\n);\n","import React, {\n ComponentPropsWithRef,\n ForwardRefExoticComponent,\n ReactNode,\n RefAttributes\n} from \"react\";\nimport classes from \"./Link.module.scss\";\nimport { LinkProps } from \"./types\";\n\nexport type AnchorType = \"external\" | \"internal\" | \"download\";\n\nexport interface Props extends ComponentPropsWithRef<\"a\"> {\n children?: ReactNode;\n color?: \"primary\" | \"secondary\" | \"tertiary\";\n display?: \"link\" | \"button\";\n buttonVariant?: \"outline\" | \"text\" | \"fill\";\n type?: AnchorType;\n to: string;\n disabled?: boolean;\n component?: ForwardRefExoticComponent<LinkProps & RefAttributes<HTMLAnchorElement>>;\n}\n\nexport const Link = React.forwardRef<HTMLAnchorElement, Props>(\n (\n {\n children,\n className,\n disabled = false,\n to,\n color = \"primary\",\n type = \"internal\",\n display = \"link\",\n buttonVariant = \"fill\",\n component,\n ...rest\n }: Props,\n ref\n ) => {\n const determineTarget = () => {\n if (rest.target) {\n return rest.target;\n }\n\n if (type === \"external\") {\n return \"_blank\";\n }\n\n return \"\";\n };\n\n const classNames = [classes[color]];\n display === \"link\" && classNames.push(classes[\"link\"]);\n display === \"button\" && classNames.push(classes[\"button\"], classes[buttonVariant]);\n disabled && classNames.push(classes[\"disabled\"]);\n className && classNames.push(className);\n\n if (component) {\n return React.createElement(component, {\n ...rest,\n ref: ref,\n to: to,\n className: classNames.join(\" \"),\n \"aria-disabled\": disabled,\n style: {\n ...rest.style\n },\n children: children\n });\n }\n\n return (\n <a\n {...rest}\n ref={ref}\n download={type === \"download\"}\n rel={type === \"external\" ? \"noopener noreferer\" : undefined}\n href={!disabled ? to : undefined}\n className={classNames.join(\" \")}\n aria-disabled={disabled}\n target={determineTarget()}\n style={{\n ...rest.style\n }}\n >\n {children}\n </a>\n );\n }\n);\n","import React, { Fragment } from \"react\";\nimport { BaseButton, Props as BaseButtonProps } from \"./BaseButton\";\nimport classes from \"./IconButton.module.scss\";\nimport readyclasses from \"../readyclasses.module.scss\";\n\nexport interface Props extends BaseButtonProps {\n children?: React.ReactNode;\n iconSize?: \"s\" | \"m\" | \"l\";\n variant?: \"text\" | \"fill\" | \"outline\";\n className?: string;\n title?: string;\n}\n\nexport const IconButton = React.forwardRef<HTMLButtonElement, Props>(\n (\n { children, color = \"primary\", variant = \"text\", iconSize = \"m\", title, className, ...rest },\n ref\n ) => {\n if (!title) {\n console.error(\"Please make sure to specify a 'title' prop to your IconButton component! \");\n }\n\n const iconButtonClasses = [\n classes[\"icon-button\"],\n classes[variant],\n classes[color],\n classes[\"button-\" + iconSize]\n ];\n\n if (className) {\n iconButtonClasses.push(className);\n }\n\n return (\n <BaseButton {...rest} ref={ref} className={iconButtonClasses.join(\" \")}>\n <Fragment>\n {children}\n <span className={readyclasses[\"sr-only\"]}>{title}</span>\n </Fragment>\n </BaseButton>\n );\n }\n);\n","import React from \"react\";\n\nexport interface Props {\n title: string;\n children?: React.ReactNode;\n selected?: boolean;\n focussed?: boolean;\n buttonRef?: React.RefObject<HTMLButtonElement>;\n panelRef?: React.RefObject<HTMLDivElement>;\n onTabButtonClick?: () => void;\n}\n\nexport const Tab = (args: Props) => {\n return (\n <div {...args}>{`A <Tab /> component should only be used inside the <Tabs /> component.`}</div>\n );\n};\n","type KeyValuePair = { [key: string]: unknown };\n\nexport const generateID = (length = 15, stringToWeaveIn?: string) => {\n /** We will make sure to mesh the generate id and name property together to basically create a unique ID */\n let hashCharacters = [\n \"1\",\n \"2\",\n \"3\",\n \"4\",\n \"5\",\n \"6\",\n \"7\",\n \"8\",\n \"9\",\n \"0\",\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\",\n \"F\",\n \"G\",\n \"H\",\n \"I\",\n \"J\",\n \"K\",\n \"L\",\n \"M\",\n \"N\",\n \"O\",\n \"P\",\n \"Q\",\n \"R\",\n \"S\",\n \"T\",\n \"U\",\n \"V\",\n \"W\",\n \"X\",\n \"Y\",\n \"Z\",\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\",\n \"f\",\n \"g\",\n \"h\",\n \"i\",\n \"j\",\n \"k\",\n \"l\",\n \"m\",\n \"n\",\n \"o\",\n \"p\",\n \"q\",\n \"r\",\n \"s\",\n \"t\",\n \"u\",\n \"v\",\n \"w\",\n \"x\",\n \"y\",\n \"z\"\n ];\n\n let id = \"\";\n\n /** Generate an id of x characters in length */\n for (let i = 0; i < length && id.length < length; i++) {\n let stringCharacter =\n stringToWeaveIn && stringToWeaveIn[i] !== undefined && !/\\s/.test(stringToWeaveIn[i])\n ? stringToWeaveIn[i]\n : \"\";\n id = id + stringCharacter + hashCharacters[Math.floor(Math.random() * hashCharacters.length)];\n }\n\n return id.slice(0, length);\n};\n\nexport const filterProps = (props: any, regexPattern: RegExp, returnFiltered: boolean = true) => {\n if (returnFiltered) {\n return Object.keys(props).reduce((acc: KeyValuePair, key) => {\n if (regexPattern.test(key)) {\n acc[key] = props[key];\n }\n\n return acc;\n }, {});\n } else {\n return Object.entries(props)\n .filter(([key]) => !regexPattern.test(key))\n .reduce(\n (prevObj, currKeyValPair) => ({ ...prevObj, [currKeyValPair[0]]: currKeyValPair[1] }),\n {}\n );\n }\n};\n","import React, { ComponentPropsWithRef, useEffect } from \"react\";\nimport classes from \"./TabButton.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"button\"> {\n children?: string;\n selected?: boolean;\n focussed?: boolean;\n tabId?: string;\n tabPanelId?: string;\n onTabButtonClick?: () => void;\n}\n\nexport const TabButton = React.forwardRef<HTMLButtonElement, Props>(\n (\n {\n children,\n selected = false,\n focussed = false,\n tabId,\n tabPanelId,\n className,\n onTabButtonClick,\n ...rest\n }: Props,\n ref\n ) => {\n useEffect(() => {\n if (focussed && ref) {\n (ref as React.MutableRefObject<HTMLButtonElement>).current.focus();\n }\n }, [focussed]);\n\n const classNames = [classes[\"tabbutton\"]];\n\n selected && classNames.push(classes[\"selected\"]);\n focussed && !selected && classNames.push(classes[\"focussed\"]);\n className && classNames.push(className);\n\n return (\n <button\n {...rest}\n aria-selected={selected}\n key={tabId}\n className={classNames.join(\" \")}\n ref={ref}\n role=\"tab\"\n tabIndex={selected ? 0 : -1}\n type=\"button\"\n aria-controls={tabPanelId}\n id={tabId}\n onClick={onTabButtonClick}\n >\n <span aria-hidden=\"true\">{children}</span>\n {children}\n </button>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from \"react\";\nimport classes from \"./TabPanel.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n children: React.ReactNode;\n tabId: string;\n tabPanelId: string;\n selected?: boolean;\n}\n\nexport const TabPanel = React.forwardRef<HTMLDivElement, Props>(\n ({ children, tabId, tabPanelId, selected = false, className, ...rest }: Props, ref) => (\n <div\n {...rest}\n ref={ref}\n aria-labelledby={tabId}\n className={`${classes[\"tabpanel\"]} ${selected ? classes[\"selected\"] : \"\"} ${className ?? \"\"}`}\n id={tabPanelId}\n role=\"tabpanel\"\n tabIndex={0}\n hidden={!selected || undefined}\n aria-hidden={!selected}\n >\n {children}\n </div>\n )\n);\n","import React, {\n ComponentPropsWithRef,\n createRef,\n MutableRefObject,\n useEffect,\n useRef,\n useState\n} from \"react\";\nimport { generateID } from \"../util/helper\";\nimport { Props as TabProps } from \"./Tab\";\nimport { TabButton } from \"./TabButton\";\nimport { TabPanel } from \"./TabPanel\";\nimport classes from \"./Tabs.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n children: React.ReactElement<TabProps> | React.ReactElement<TabProps>[];\n selected?: number;\n \"aria-label\"?: string;\n onTabChange?: (index: number) => void;\n}\n\nexport const Tabs = ({\n children,\n selected = 0,\n \"aria-label\": ariaLabel,\n onTabChange,\n className,\n ...rest\n}: Props) => {\n const indicatorRef = useRef<HTMLDivElement>(null);\n const [indicatorPosition, setIndicatorPosition] = useState({ left: 0, top: 0 });\n const [indicatorWidth, setIndicatorWidth] = useState(0);\n\n const [max] = useState(React.Children.count(children) - 1);\n const min = 0;\n\n const [selectedTab, setSelectedTab] = useState(Math.min(max, Math.max(min, selected)));\n const [focussedTab, setFocussedTab] = useState(-1);\n const [tabIds] = useState([...Array(max)].map(() => generateID()));\n const [tabPanelIds] = useState([...Array(max)].map(() => generateID()));\n\n useEffect(() => {\n setSelectedTab(Math.min(max, Math.max(min, selected)));\n setFocussedTab(-1);\n }, [selected]);\n\n useEffect(() => {\n calculateIndicatorPosition();\n }, [selectedTab]);\n\n const calculateIndicatorPosition = () => {\n const selectedTabButton = (\n tabButtons[selectedTab].ref as MutableRefObject<HTMLButtonElement | null>\n ).current as HTMLButtonElement;\n\n setIndicatorPosition({\n left: selectedTabButton.offsetLeft,\n top:\n selectedTabButton.offsetTop +\n selectedTabButton.offsetHeight -\n indicatorRef.current!.offsetHeight\n });\n setIndicatorWidth(selectedTabButton.offsetWidth);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n // do not show focus unless we came here before\n let currentFocussedTab = focussedTab === -1 ? selectedTab : focussedTab;\n\n switch (e.code) {\n case \"ArrowLeft\":\n setFocussedTab(currentFocussedTab === min ? max : currentFocussedTab - 1);\n break;\n case \"ArrowRight\":\n setFocussedTab(currentFocussedTab === max ? min : currentFocussedTab + 1);\n break;\n case \"Home\":\n setFocussedTab(min);\n break;\n case \"End\":\n setFocussedTab(max);\n break;\n case \"Space\":\n case \"Enter\":\n activateTab(currentFocussedTab);\n break;\n }\n };\n\n const handleBlur = () => {\n setFocussedTab(selectedTab);\n };\n\n const activateTab = (index: number) => {\n setSelectedTab(index);\n setFocussedTab(index);\n onTabChange && onTabChange(index);\n };\n\n const tabButtons = React.Children.map(children, (child, index) =>\n React.createElement(TabButton, {\n ref: child.props.buttonRef || createRef<HTMLButtonElement>(),\n key: generateID(),\n tabId: tabIds[index],\n tabPanelId: tabPanelIds[index],\n selected: selectedTab === index,\n focussed: focussedTab === index,\n onTabButtonClick: () => activateTab(index),\n children: child.props.title\n })\n );\n\n const tabPanels = React.Children.map(children, (child, index) =>\n React.createElement(TabPanel, {\n ref: child.props.panelRef || createRef<HTMLDivElement>(),\n key: generateID(),\n selected: selectedTab === index,\n tabId: tabIds[index],\n tabPanelId: tabPanelIds[index],\n children: child.props.children\n })\n );\n\n return (\n <div {...rest} className={`${classes[\"tabs\"]} ${className ?? \"\"}`}>\n <div\n role=\"tablist\"\n onKeyDown={handleKeyDown}\n onBlur={handleBlur}\n aria-label={ariaLabel}\n className={classes[\"tablist\"]}\n >\n <div className={classes[\"tabdivider\"]} />\n {tabButtons}\n <div\n className={classes[\"indicator\"]}\n ref={indicatorRef}\n aria-hidden=\"true\"\n tabIndex={-1}\n style={{\n width: indicatorWidth,\n ...indicatorPosition\n }}\n />\n </div>\n <div className={classes[\"tabpanels\"]}>{tabPanels}</div>\n </div>\n );\n};\n","import React, { useRef, MouseEventHandler, useState, ComponentPropsWithRef } from \"react\";\nimport { Popover } from \"../Popover/Popover\";\nimport classes from \"./TextEllipsis.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n children?: string;\n popoverClassName?: string;\n}\n\nexport const TextEllipsis = React.forwardRef<HTMLDivElement, Props>(\n ({ children, popoverClassName, className, ...rest }: Props, ref) => {\n const [showPopover, setShowPopover] = useState(false);\n const textContainer = useRef<HTMLDivElement>(null);\n\n const ellipsisVisible = () => {\n if (\n textContainer.current &&\n textContainer.current.offsetWidth < textContainer.current.scrollWidth\n ) {\n return true;\n }\n return false;\n };\n\n const onMouseEnter: MouseEventHandler<HTMLDivElement> = () => {\n ellipsisVisible() && setShowPopover(true);\n };\n\n const onMouseLeave: MouseEventHandler<HTMLDivElement> = () => {\n ellipsisVisible() && setShowPopover(false);\n };\n\n return (\n <div\n {...rest}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n className={`${classes[\"text-ellipsis\"]} ${className ?? \"\"}`}\n ref={ref || textContainer}\n >\n {children}\n <Popover\n aria-hidden={true}\n data-hidden={!showPopover}\n show={showPopover}\n role=\"tooltip\"\n anchorEl={textContainer}\n className={`${classes.popover} ${popoverClassName ?? \"\"}`}\n >\n {children}\n </Popover>\n </div>\n );\n }\n);\n","import React, {\n ComponentPropsWithoutRef,\n ComponentPropsWithRef,\n ReactElement,\n useState\n} from \"react\";\nimport { Icon, Icons } from \"../Icon/Icon\";\nimport classes from \"./Tile.module.scss\";\nimport readyClasses from \"../readyclasses.module.scss\";\n\nimport { Props as ContextMenuProps } from \"../ContextMenu/ContextMenu\";\nimport { generateID } from \"../util/helper\";\nimport { Props as IconButtonProps } from \"../Button/IconButton\";\n\ninterface ImageProps extends ComponentPropsWithoutRef<\"img\"> {\n src: string;\n}\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n title: string;\n imageProps?: ImageProps;\n enabled?: boolean;\n loading?: boolean;\n tileAction?: ReactElement<ContextMenuProps> | ReactElement<IconButtonProps>;\n}\n\nexport const Tile = React.forwardRef<HTMLDivElement, Props>(\n ({ title, imageProps, enabled, className, loading, tileAction, ...rest }: Props, ref) => {\n const [tileDescriptionID] = useState(generateID(20));\n\n if (!title) {\n throw new Error(\"Please make sure to pass a title prop to your Tile component.\");\n }\n\n const statusMessage = () => {\n if (enabled) {\n return \"Status: enabled\";\n }\n\n return \"Status: disabled\";\n };\n\n return (\n <article\n {...rest}\n tabIndex={0}\n aria-labelledby={tileDescriptionID}\n ref={ref}\n className={`${classes[\"tile\"]} ${loading ? classes[\"loading\"] : \"\"}`}\n >\n <header style={{ justifyContent: enabled === undefined ? \"flex-end\" : \"space-between\" }}>\n {enabled === true && (\n <Icon\n color=\"var(--success)\"\n icon={Icons.Checkmark}\n className={`${classes[\"icon\"]} ${className ?? \"\"}`}\n />\n )}\n {enabled === false && (\n <Icon\n color=\"var(--greyed-out)\"\n icon={Icons.Forbidden}\n className={`${classes[\"icon\"]} ${className ?? \"\"}`}\n />\n )}\n {enabled !== undefined && (\n <span id={tileDescriptionID} className={readyClasses[\"sr-only\"]}>\n {`${title}. ${statusMessage()}`}\n </span>\n )}\n {tileAction ?? null}\n </header>\n <div className={classes[\"content\"]}>\n {imageProps && imageProps.src.length > 0 && (\n <figure className={classes[\"image\"]}>\n {!loading && <img {...imageProps} alt=\"\" />}\n </figure>\n )}\n {(!imageProps || imageProps.src.length === 0) && (\n <Icon className={classes[\"placeholder\"]} icon={Icons.Image} />\n )}\n <span className={classes[\"title\"]}>{title}</span>\n </div>\n </article>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactNode } from \"react\";\nimport classes from \"./Tiles.module.scss\";\nimport { Tile } from \"./Tile\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n children: ReactNode;\n loading?: boolean;\n}\n\nexport const Tiles = React.forwardRef<HTMLDivElement, Props>(\n ({ children, className, loading = false, ...rest }: Props, ref) => {\n const renderChildren = () => {\n if (loading) {\n return [\n <Tile\n key=\"placeholder1\"\n title=\"placeholder\"\n imageProps={{ src: \"placeholder\" }}\n loading={true}\n />,\n <Tile\n key=\"placeholder2\"\n title=\"placeholder\"\n imageProps={{ src: \"placeholder\" }}\n loading={true}\n />,\n <Tile\n key=\"placeholder3\"\n title=\"placeholder\"\n imageProps={{ src: \"placeholder\" }}\n loading={true}\n />\n ];\n }\n\n return children;\n };\n\n return (\n <div\n {...rest}\n ref={ref}\n className={`${classes[\"tiles\"]} ${className ?? \"\"}`}\n aria-live=\"polite\"\n aria-busy={loading}\n >\n {renderChildren()}\n </div>\n );\n }\n);\n","import React, {\n ComponentPropsWithRef,\n ReactNode,\n useEffect,\n useLayoutEffect,\n useRef,\n useState\n} from \"react\";\nimport { Icon, Icons } from \"../Icon/Icon\";\nimport classes from \"./Tooltip.module.scss\";\nimport { generateID } from \"../util/helper\";\nimport { Offset, Placement, usePosition } from \"../hooks/usePosition\";\nimport { createPortal } from \"react-dom\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n label: string | ReactNode;\n children: string;\n placement?: Placement;\n offset?: Offset;\n transformOrigin?: Placement;\n domRoot?: HTMLElement;\n}\n\ninterface DefaultPosition {\n placement: Placement;\n offset: Offset;\n transformOrigin: Placement;\n}\n\nconst defaultPosition: DefaultPosition = {\n placement: { horizontal: \"right\", vertical: \"center\" },\n offset: { left: 16, right: 0, top: 0, bottom: 0 },\n transformOrigin: { horizontal: \"left\", vertical: \"center\" }\n};\n\nexport const Tooltip = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n children,\n className,\n placement = defaultPosition.placement,\n offset = defaultPosition.offset,\n transformOrigin = defaultPosition.transformOrigin,\n domRoot = document.body,\n label,\n ...rest\n }: Props,\n ref\n ) => {\n const [identifier] = useState(generateID());\n const [visible, setVisible] = useState(false);\n\n const relativeElement = useRef<HTMLDivElement>(null);\n const elementToBePositioned = useRef<HTMLDivElement>(null);\n\n const { top, bottom, right, left, calculatePosition } = usePosition({\n relativeElement: relativeElement,\n elementToBePositioned: elementToBePositioned,\n placement: placement,\n offset: offset,\n transformOrigin: transformOrigin\n });\n\n useEffect(() => {\n if (!visible) return;\n\n function escapePressHandler(event: KeyboardEvent) {\n if (event.key === \"Escape\") {\n setVisible(false);\n }\n }\n\n document.addEventListener(\"keyup\", escapePressHandler);\n\n return () => {\n document.removeEventListener(\"keyup\", escapePressHandler);\n };\n }, [visible]);\n\n useLayoutEffect(() => {\n calculatePosition();\n }, [visible]);\n\n const renderChildren = () => {\n if (React.isValidElement(label)) {\n return React.cloneElement(label, {\n onFocus: () => setVisible(true),\n onBlur: () => setVisible(false),\n \"aria-describedby\": identifier,\n tabIndex: 0,\n className: classes[\"label\"]\n });\n }\n\n return (\n <span\n className={classes[\"label\"]}\n tabIndex={0}\n onFocus={() => setVisible(true)}\n onBlur={() => setVisible(false)}\n aria-describedby={identifier}\n >\n {label}\n </span>\n );\n };\n\n return (\n <div {...rest} ref={ref} className={`${classes.wrapper} ${className ?? \"\"}`}>\n {renderChildren()}\n <div className={`${classes[\"tooltip-wrapper\"]}`}>\n <Icon\n ref={relativeElement}\n tag=\"div\"\n onMouseEnter={() => setVisible(true)}\n onMouseLeave={() => setVisible(false)}\n icon={Icons.InfoCircle}\n className={classes.icon}\n />\n {createPortal(\n <div\n ref={elementToBePositioned}\n style={{\n ...rest.style,\n top: top,\n left: left,\n right: right,\n bottom: bottom\n }}\n aria-hidden={!visible}\n id={identifier}\n className={`${classes.tooltip} ${visible ? classes.visible : \"\"}`}\n >\n {children}\n </div>,\n domRoot\n )}\n </div>\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from \"react\";\nimport classes from \"./Skeleton.module.scss\";\n\nexport interface Props extends Omit<ComponentPropsWithRef<\"div\">, \"children\"> {\n variant?: \"circular\" | \"rectangle\" | \"text\";\n height?: number | string;\n width?: number | string;\n}\n\nexport const Skeleton = React.forwardRef<HTMLDivElement, Props>(\n ({ variant = \"text\", height, width, className, style, ...rest }: Props, ref) => {\n const classNames = [classes[\"skeleton\"]];\n !height && classNames.push(classes[\"no-height\"]);\n variant === \"text\" && classNames.push(classes[\"text\"]);\n variant === \"circular\" && classNames.push(classes[\"circular\"]);\n className && classNames.push(className);\n\n return (\n <span\n {...rest}\n aria-busy=\"true\"\n aria-hidden=\"true\"\n ref={ref}\n style={{ ...style, width, height }}\n className={classNames.join(\" \")}\n ></span>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactNode } from \"react\";\nimport { Typography, Props as TypographyProps } from \"../Typography/Typography\";\nimport classes from \"./StatusIndicator.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n children?: ReactNode;\n status: \"active\" | \"error\" | \"neutral\" | \"warning\";\n badgeProps?: ComponentPropsWithRef<\"div\">;\n typographyProps?: TypographyProps;\n}\n\nexport const StatusIndicator = React.forwardRef<HTMLDivElement, Props>(\n ({ children, status, badgeProps, typographyProps, ...rest }: Props, ref) => {\n return (\n <div {...rest} className={classes[\"status-indicator\"]} ref={ref}>\n <div\n className={`${classes[\"status-badge\"]} ${classes[status]} ${badgeProps?.className ?? \"\"}`}\n />\n <Typography {...typographyProps} spacing={{ margin: \"0\" }} variant=\"body\" tag=\"div\">\n {typographyProps?.children || children}\n </Typography>\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef, Ref, useEffect, useRef, useState } from \"react\";\nimport classes from \"./Input.module.scss\";\nimport readyclasses from \"../../readyclasses.module.scss\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\nimport { FormElement } from \"../form.interfaces\";\n\nconst dateTypes = [\"date\", \"time\", \"datetime-local\"] as const;\n\nexport type Type =\n | \"text\"\n | \"email\"\n | \"file\"\n | \"number\"\n | \"password\"\n | \"search\"\n | \"tel\"\n | \"url\"\n | \"hidden\"\n | typeof dateTypes[number];\n\nexport interface Props extends ComponentPropsWithRef<\"input\">, FormElement {\n wrapperProps?: ComponentPropsWithRef<\"div\">;\n labeledBy?: string;\n type: Type;\n suffix?: string;\n prefix?: string;\n}\n\nconst useErrorOffset = (\n suffix: React.RefObject<HTMLDivElement>,\n errorIcon: React.RefObject<HTMLDivElement>,\n inputWrapper: React.RefObject<HTMLDivElement>,\n error: boolean,\n type: Type,\n suffixContent: string = \"\"\n) => {\n const [errorOffset, setErrorOffset] = useState({});\n const [defaultErrorOffset, setDefaultErrorOffset] = useState<number | null>(null);\n\n const getErrorIconOffset = () => parseFloat(getComputedStyle(errorIcon.current!).right);\n const getInputPaddingRight = (input: HTMLDivElement) =>\n (dateTypes as ReadonlyArray<string>).includes(type)\n ? 0\n : parseFloat(getComputedStyle(input).paddingRight);\n\n useEffect(() => {\n if (errorIcon.current && inputWrapper.current) {\n let defaultOffset = defaultErrorOffset;\n if (!defaultOffset) {\n defaultOffset = getErrorIconOffset();\n setDefaultErrorOffset(defaultOffset);\n }\n\n if (suffix.current && suffixContent) {\n const inputPaddingRight = getInputPaddingRight(inputWrapper.current);\n const prefixDifference = suffix.current.offsetWidth + inputPaddingRight + defaultOffset;\n setErrorOffset({ right: `${prefixDifference}px` });\n } else {\n setErrorOffset({ right: `${defaultOffset}px` });\n }\n }\n }, [suffix.current, errorIcon.current, inputWrapper.current, error, type, suffixContent]);\n\n return { errorOffset };\n};\n\nexport const Input = React.forwardRef(\n (\n {\n error = false,\n className,\n name,\n style,\n wrapperProps,\n type,\n labeledBy,\n prefix,\n suffix,\n disabled,\n onFocus,\n onBlur,\n ...rest\n }: Props,\n ref: Ref<HTMLInputElement>\n ) => {\n const [focus, setFocus] = useState(false);\n const inputWrapperRef = useRef<HTMLDivElement>(null);\n const errorIconRef = useRef<HTMLDivElement>(null);\n const suffixRef = useRef<HTMLDivElement>(null);\n const { errorOffset } = useErrorOffset(\n suffixRef,\n errorIconRef,\n inputWrapperRef,\n error,\n type,\n suffix\n );\n\n useEffect(() => {\n if (name === undefined) {\n throw new Error(\"Please give your <Input /> component a 'name' attribute\");\n }\n }, []);\n\n const inputClassNames = [classes[\"input\"]];\n\n (dateTypes as ReadonlyArray<string>).includes(type) &&\n inputClassNames.push(classes[\"remove-extra-indent\"]);\n className && inputClassNames.push(className);\n\n const iconClassNames = [classes[\"warning\"]];\n (dateTypes as ReadonlyArray<string>).includes(type) &&\n iconClassNames.push(classes[\"extra-indent\"]);\n\n const wrapperClasses = [classes[\"input-wrapper\"]];\n const outlineClasses = [classes[\"outline\"]];\n\n wrapperProps?.className && wrapperClasses.push(wrapperProps.className);\n type === \"hidden\" && wrapperClasses.push(readyclasses[\"hidden\"]);\n prefix && wrapperClasses.push(classes[\"prefix\"]);\n suffix && wrapperClasses.push(classes[\"suffix\"]);\n disabled &&\n wrapperClasses.push(classes[\"disabled\"]) &&\n outlineClasses.push(classes[\"disabled\"]);\n error && wrapperClasses.push(classes[\"error\"]) && outlineClasses.push(classes[\"error\"]);\n focus && wrapperClasses.push(classes[\"focus\"]) && outlineClasses.push(classes[\"focus\"]);\n\n return (\n <div\n ref={inputWrapperRef}\n {...wrapperProps}\n style={{ ...style }}\n className={`${classes[\"input-wrapper\"]} ${wrapperClasses.join(\" \")}`}\n >\n {prefix && (\n <div data-prefix className={classes[\"prefix\"]}>\n <span>{prefix}</span>\n </div>\n )}\n <input\n {...rest}\n ref={ref}\n onFocus={event => {\n setFocus(true);\n onFocus && onFocus(event);\n }}\n onBlur={event => {\n setFocus(false);\n onBlur && onBlur(event);\n }}\n aria-labelledby={labeledBy}\n type={type}\n name={name}\n disabled={disabled}\n className={inputClassNames.join(\" \")}\n />\n {suffix && (\n <div ref={suffixRef} data-suffix className={classes[\"suffix\"]}>\n <span>{suffix}</span>\n </div>\n )}\n {error && (\n <Icon\n style={errorOffset}\n ref={errorIconRef}\n className={iconClassNames.join(\" \")}\n icon={Icons.Error}\n />\n )}\n <span className={outlineClasses.join(\" \")}></span>\n </div>\n );\n }\n);\n","import classes from \"./Select.module.scss\";\n\nimport React, {\n ComponentPropsWithRef,\n createRef,\n Fragment,\n ReactElement,\n useEffect,\n useRef,\n useState\n} from \"react\";\nimport { Input, Props as InputProps } from \"../Input/Input\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\nimport { FormElement } from \"../form.interfaces\";\nimport { useBodyClick } from \"../../hooks/useBodyClick\";\nimport readyclasses from \"../../readyclasses.module.scss\";\nimport { filterProps } from \"../../util/helper\";\n\ntype PartialInputProps = Partial<InputProps>;\n\nexport interface Props extends ComponentPropsWithRef<\"select\">, FormElement {\n children: ReactElement[];\n name?: string;\n labeledBy?: string;\n describedBy?: string;\n placeholder?: string;\n searchPlaceholder?: string;\n searchInputProps?: PartialInputProps;\n selectButtonProps?: ComponentPropsWithRef<\"button\">;\n className?: string;\n value: string;\n clearLabel?: string;\n onChange?: (event: React.ChangeEvent<HTMLSelectElement>, child?: ReactElement) => void;\n onClear?: (event: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement>) => void;\n}\n\ntype Position = {\n top: 0 | \"initial\";\n bottom: 0 | \"initial\";\n};\n\n/** Amount of items to be rendered before a search input is rendered */\nconst renderSearchCondition = 10;\n\nexport const Select = React.forwardRef<HTMLSelectElement, Props>(\n (\n {\n children,\n name,\n disabled = false,\n labeledBy,\n placeholder,\n describedBy,\n searchPlaceholder = \"Search item\",\n searchInputProps,\n selectButtonProps,\n className,\n error = false,\n value,\n clearLabel = \"Clear selection\",\n onChange,\n onClear,\n ...rest\n }: Props,\n ref\n ) => {\n const [expanded, setExpanded] = useState(false);\n const [opacity, setOpacity] = useState(0); // We set opacity because other wise if we calculate the max height you see the list full height for a split second and then it shortens.\n const [filter, setFilter] = useState(\"\");\n const [display, setDisplay] = useState(\"\");\n const [listPosition, setListPosition] = useState<Partial<Position>>({});\n const [optionsListMaxHeight, setOptionsListMaxHeight] = useState(\"none\");\n const containerReference = useRef<HTMLDivElement>(null);\n const optionListReference = useRef<HTMLDivElement>(null);\n const [isSearching, setIsSearching] = useState(false);\n const [focusedSelectItem, setFocusedSelectItem] = useState(-1);\n const [shouldClick, setShouldClick] =\n useState(\n false\n ); /** We need this, because whenever we use the arrow keys to select the select item, and we focus the currently selected item it fires the \"click\" listener in Option component. Instead, we only want this to fire if we press \"enter\" or \"spacebar\" so we set this to true whenever that is the case, and back to false when it has been executed. */\n const [childrenCount] = useState(React.Children.count(children));\n\n const nativeSelect = (ref as React.RefObject<HTMLSelectElement>) || createRef();\n const searchInputRef = useRef<HTMLInputElement>(null);\n\n const onArrowNavigation = (event: React.KeyboardEvent) => {\n const codesToPreventDefault = [\n \"ArrowDown\",\n \"ArrowUp\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"Space\",\n \"Escape\",\n \"End\",\n \"Home\"\n ];\n\n const codesToPreventDefaultWhenSearching = [\"ArrowDown\", \"ArrowUp\", \"Enter\", \"Escape\"];\n\n /** If the select is expanded, we also want to control the Tab key */\n if (expanded) {\n codesToPreventDefault.push(\"Tab\");\n }\n\n /** We will handle the way certain key strokes affect the Select, unless we're searching */\n if (codesToPreventDefault.includes(event.code) && !isSearching) {\n event.preventDefault();\n }\n\n if (isSearching && codesToPreventDefaultWhenSearching.includes(event.code)) {\n event.preventDefault();\n }\n\n if (isSearching) {\n switch (event.code) {\n case \"ArrowDown\":\n case \"Enter\":\n setIsSearching(false);\n setFocusedSelectItem(0);\n return;\n case \"ArrowUp\":\n setIsSearching(false);\n setFocusedSelectItem(childrenCount - 1);\n return;\n case \"Escape\":\n case \"Tab\":\n setIsSearching(false);\n setExpanded(false);\n containerReference.current &&\n containerReference.current.querySelector(\"button\")!.focus();\n }\n } else {\n switch (event.code) {\n case \"ArrowDown\":\n if (!expanded) {\n setExpanded(true);\n return;\n }\n setFocusedSelectItem(prevState => {\n return prevState + 1 > childrenCount - 1 ? 0 : prevState + 1;\n });\n return;\n case \"ArrowUp\":\n setFocusedSelectItem(prevState => {\n return prevState - 1 < 0 ? childrenCount - 1 : prevState - 1;\n });\n return;\n case \"Space\":\n if (!expanded) {\n setExpanded(true);\n return;\n }\n\n setShouldClick(true);\n setExpanded(false);\n containerReference.current &&\n containerReference.current.querySelector(\"button\")!.focus();\n return;\n case \"Tab\":\n if (childrenCount >= renderSearchCondition && expanded) {\n setIsSearching(true);\n searchInputRef.current && searchInputRef.current.focus();\n return;\n }\n setExpanded(false);\n\n return;\n case \"Escape\":\n if (expanded) {\n setExpanded(false);\n containerReference.current &&\n containerReference.current.querySelector(\"button\")!.focus();\n }\n return;\n case \"End\":\n setFocusedSelectItem(childrenCount - 1);\n return;\n case \"Home\":\n setFocusedSelectItem(0);\n return;\n }\n }\n };\n\n const syncDisplayValue = (val: string) => {\n React.Children.forEach(children, child => {\n if (child.props.value === val) {\n setDisplay(child.props.children);\n }\n });\n };\n\n const rePositionList = () => {\n if (!expanded || !optionListReference.current || !containerReference.current) {\n return;\n }\n\n // Check whether there is more space above or below the select\n // Check space between the bottom of select and top of viewport\n const spaceOnTopOfSelect = containerReference.current.getBoundingClientRect().bottom;\n\n // Check space between the top of the select and bottom of viewport\n const spaceOnBottomOfSelect =\n window.innerHeight - containerReference.current.getBoundingClientRect().top;\n\n // Set position as if there's more space on the bottom\n let position: Position = { top: 0, bottom: \"initial\" };\n\n // Set the position of the select\n if (spaceOnTopOfSelect > spaceOnBottomOfSelect) {\n position = { top: \"initial\", bottom: 0 };\n }\n\n setListPosition(position);\n\n // Calculate the potential max height of the options list\n calculateOptionListMaxHeight(position);\n };\n\n const calculateOptionListMaxHeight = (position: Position) => {\n // Calculate max height if there's more space below the select\n const listHeight = optionListReference.current!.getBoundingClientRect().height;\n const transformOrigin = position.top !== \"initial\" ? \"top\" : \"bottom\";\n\n const availableSpace =\n transformOrigin === \"top\"\n ? window.innerHeight -\n containerReference.current!.getBoundingClientRect()[transformOrigin] -\n 16\n : containerReference.current!.getBoundingClientRect()[transformOrigin] - 16;\n\n if (availableSpace < listHeight) {\n setOptionsListMaxHeight(`${availableSpace}px`);\n setOpacity(100);\n return;\n }\n\n setOptionsListMaxHeight(\"none\");\n setOpacity(100);\n };\n\n const onOptionChangeHandler = (optionRef: React.RefObject<HTMLLIElement>) => {\n if (nativeSelect.current && optionRef.current) {\n nativeSelect.current.value = optionRef.current.getAttribute(\"data-value\")!;\n nativeSelect.current.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n\n setExpanded(false);\n\n containerReference.current && containerReference.current.querySelector(\"button\")!.focus();\n };\n\n /**\n * @description We have to modify the children (Option component) to have a additional props that allows us to keep track of which one is selected and focused at all times and if a filter is active.\n * The `children` prop can be either a single object (1 child) or an array of multiple children.\n */\n const renderOptions = () => {\n if (isSearching || filter !== \"\") {\n const filteredChildren = React.Children.toArray(children).filter(\n child =>\n (child as ReactElement).props.children.toLowerCase().match(filter.toLowerCase()) !==\n null\n );\n\n return _internalRenderChildren(filteredChildren as ReactElement[]);\n }\n\n return _internalRenderChildren(children);\n\n function _internalRenderChildren(internalChildren: ReactElement[]) {\n return React.Children.map(internalChildren, (child, index) => {\n return React.cloneElement(child, {\n onFocusChange: (childIndex: number) => setFocusedSelectItem(childIndex),\n onOptionSelect: (optionRef: React.RefObject<HTMLLIElement>) => {\n onOptionChangeHandler(optionRef);\n setShouldClick(false);\n },\n isSelected: child.props.value === value,\n isSearching: isSearching,\n selectOpened: expanded,\n childIndex: index,\n hasFocus: focusedSelectItem === index,\n shouldClick: shouldClick\n });\n });\n }\n };\n\n const renderSearch = () => (\n <Input\n {...searchInputProps}\n autoFocus\n ref={searchInputRef}\n onFocus={() => setIsSearching(true)}\n onBlur={() => setIsSearching(false)}\n onChange={filterResults}\n className={classes[\"select-search\"]}\n wrapperProps={{\n className: `${classes[\"select-search-wrapper\"]} ${searchInputProps?.wrapperProps?.className}`\n }}\n type=\"text\"\n name=\"search-option\"\n placeholder={searchPlaceholder}\n />\n );\n\n const filterResults = (event: React.ChangeEvent<HTMLInputElement>) => {\n setFilter(event.currentTarget.value);\n };\n\n const statusIcon = () => {\n if (error) {\n return <Icon className={classes[\"warning\"]} icon={Icons.Warning} />;\n }\n\n if (value?.length !== 0 && onClear) {\n return (\n <div\n aria-hidden={false}\n role=\"button\"\n tabIndex={0}\n data-clear\n onClick={(e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n e.preventDefault();\n e.stopPropagation();\n onClear(e);\n }}\n onKeyDown={(e: React.KeyboardEvent<HTMLDivElement>) => {\n if (e.code === \"Enter\" || e.code === \"Space\") {\n e.preventDefault();\n e.stopPropagation();\n onClear(e);\n containerReference.current &&\n containerReference.current.querySelector(\"button\")!.focus();\n }\n }}\n >\n <span className={readyclasses[\"sr-only\"]}>{clearLabel}</span>\n <Icon tag=\"span\" icon={Icons.TimesThin} />\n </div>\n );\n }\n return null;\n };\n\n const nativeOnChangeHandler = (event: React.ChangeEvent<HTMLSelectElement>) => {\n onChange && onChange(event);\n };\n\n useEffect(() => {\n syncDisplayValue(value);\n }, [value]);\n\n useEffect(() => {\n rePositionList();\n }, [expanded]);\n\n useBodyClick(\n (event: MouseEvent) => !(event.target as Element).closest(\".custom-select\") && expanded,\n () => {\n setExpanded(false);\n setListPosition({ top: 0, bottom: \"initial\" });\n setOpacity(0);\n },\n expanded\n );\n\n const additionalClasses = [];\n expanded && additionalClasses.push(classes.expanded);\n error && additionalClasses.push(classes.error);\n disabled && additionalClasses.push(classes.disabled);\n className && additionalClasses.push(className);\n\n /** The native select is purely for external form libraries. We use it to emit an onChange with native select event object so they know exactly what's happening. */\n return (\n <Fragment>\n <select\n {...filterProps(rest, /^data-/, false)}\n tabIndex={-1}\n aria-hidden=\"true\"\n ref={nativeSelect}\n name={name}\n onChange={nativeOnChangeHandler}\n className={readyclasses[\"sr-only\"]}\n >\n <option value=\"\"></option>\n {React.Children.map(children, child => (\n <option value={child.props.value}></option>\n ))}\n </select>\n <div\n {...filterProps(rest, /^data-/)}\n ref={containerReference}\n onKeyDown={onArrowNavigation}\n className={`custom-select ${classes.select} ${additionalClasses.join(\" \")} ${\n className ?? \"\"\n }`}\n >\n <button\n {...selectButtonProps}\n onClick={() => {\n setExpanded(!expanded);\n }}\n type=\"button\"\n name={name}\n className={`${classes[\"custom-select\"]} ${additionalClasses.join(\" \")} `}\n disabled={disabled}\n aria-disabled={disabled}\n aria-invalid={error}\n aria-expanded={expanded}\n aria-haspopup=\"listbox\"\n aria-labelledby={labeledBy}\n aria-describedby={describedBy}\n >\n <div data-display className={classes[\"selected\"]}>\n {!value && placeholder && (\n <span className={classes[\"placeholder\"]}>{placeholder}</span>\n )}\n {value?.length > 0 && <span data-display-inner>{display}</span>}\n </div>\n <div className={classes[\"status\"]}>\n {statusIcon()}\n <Icon className={classes[\"triangle-down\"]} icon={Icons.TriangleDown} />\n </div>\n </button>\n <div\n ref={optionListReference}\n className={`list-wrapper ${classes[\"list-wrapper\"]}`}\n style={{\n display: expanded ? \"block\" : \"none\",\n opacity: opacity,\n maxHeight: optionsListMaxHeight,\n pointerEvents: expanded ? \"auto\" : \"none\",\n ...listPosition\n }}\n >\n {Array.isArray(children) && children.length > renderSearchCondition && renderSearch()}\n <ul role=\"listbox\">{renderOptions()}</ul>\n </div>\n </div>\n </Fragment>\n );\n }\n);\n","import React, { ComponentPropsWithRef, createRef, RefObject, useEffect } from \"react\";\nimport classes from \"./Select.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"li\"> {\n children: string;\n value: string;\n disabled?: boolean;\n isSelected?: boolean;\n selectOpened?: boolean;\n hasFocus?: boolean;\n shouldClick?: boolean;\n isSearching?: boolean;\n label?: string;\n childIndex?: number;\n onOptionSelect?: (ref: React.RefObject<HTMLLIElement>) => void;\n onFocusChange?: (childIndex: number) => void;\n}\n\nexport const Option = React.forwardRef<HTMLLIElement, Props>(\n (\n {\n children,\n className,\n isSelected = false,\n shouldClick,\n hasFocus,\n selectOpened,\n isSearching,\n childIndex,\n onOptionSelect,\n onFocusChange,\n disabled,\n value,\n ...rest\n }: Props,\n ref\n ) => {\n let innerOptionRef = (ref as RefObject<HTMLLIElement>) || createRef<HTMLLIElement>();\n\n useEffect(() => {\n if (isSelected && innerOptionRef.current && shouldClick) {\n innerOptionRef.current.click();\n }\n }, [isSelected, shouldClick]);\n\n useEffect(() => {\n if (innerOptionRef.current && hasFocus && selectOpened && !isSearching) {\n onFocusChange && childIndex && onFocusChange(childIndex);\n innerOptionRef.current.focus();\n }\n }, [hasFocus, innerOptionRef, selectOpened, isSearching]);\n\n const onSelectHandler = () => {\n if (onOptionSelect) onOptionSelect(innerOptionRef);\n };\n\n return (\n <li\n {...rest}\n ref={innerOptionRef}\n data-value={value}\n className={`${isSelected ? classes[\"selected-option\"] : \"\"} ${\n disabled ? classes.disabled : \"\"\n } ${className ?? \"\"}`}\n onClick={onSelectHandler}\n onKeyDownCapture={event => {\n if (event.code === \"Enter\") {\n event.stopPropagation();\n event.preventDefault();\n\n onSelectHandler();\n }\n }}\n aria-selected={isSelected}\n role=\"option\"\n tabIndex={disabled ? -1 : 0}\n >\n {children}\n </li>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactNode } from \"react\";\nimport classes from \"./Label.module.scss\";\nimport readyclasses from \"../../readyclasses.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"label\"> {\n children?: ReactNode;\n}\n\nexport const Label = React.forwardRef<HTMLLabelElement, Props>(\n ({ children, className, hidden = false, ...rest }: Props, ref) => {\n return (\n <label\n {...rest}\n ref={ref}\n className={`${hidden ? readyclasses[\"sr-only\"] : \"\"} ${classes[\"label\"]} ${\n className ?? \"\"\n }`}\n >\n {children}\n </label>\n );\n }\n);\n","import React, { ComponentPropsWithRef, Fragment, useState } from \"react\";\nimport classes from \"./Pagination.module.scss\";\nimport readyclasses from \"../readyclasses.module.scss\";\nimport { IconButton } from \"../Button/IconButton\";\nimport { Icons, Icon } from \"../Icon/Icon\";\nimport { Input } from \"../Form/Input/Input\";\nimport { Select } from \"../Form/Select/Select\";\nimport { Option } from \"../Form/Select/Option\";\nimport { Label } from \"../Form/Label/Label\";\n\nexport type PaginationTranslations = {\n totalItems: string;\n itemsPerPage: string;\n itemsPerPageLabel: string;\n currentPage: string;\n currentPageLabel: string;\n};\n\nexport type PageChangeLabels = \"next\" | \"previous\" | \"first\" | \"last\";\n\nenum DefaultTranslations {\n totalItems = \"Total items\",\n itemsPerPage = \"Items per page\",\n currentPage = \"Page %1 of %2\",\n itemsPerPageLabel = \"Select how many items per page you want to see.\",\n currentPageLabel = \"What page you are currently on.\"\n}\n\nexport type PageSize = 10 | 25 | 50;\n\nexport interface Props extends Omit<ComponentPropsWithRef<\"div\">, \"translate\"> {\n currentPage?: number;\n totalElements?: number;\n pageSize?: PageSize;\n translate?: PaginationTranslations;\n onPageChange: (pageToGoTo: number) => void;\n onPageSizeChange: (pageSize: PageSize) => void;\n}\n\nexport const Pagination = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n totalElements,\n pageSize = 10,\n translate = DefaultTranslations,\n currentPage,\n className,\n onPageChange,\n onPageSizeChange,\n ...rest\n }: Props,\n ref\n ) => {\n /** We use an internal state variable, because we don't want to fire onCurrentPageChange whenever onChange fires on the input. Rather, only when the Enter key is pressed. */\n const [internalCurrentPage, setInternalCurrentPage] = useState(currentPage?.toString() || \"1\");\n const calculateAmountOfPages = () => {\n if (!totalElements) return 1;\n\n if (Math.ceil(totalElements / pageSize) < 1) {\n return 1;\n }\n\n return Math.ceil(totalElements / pageSize);\n };\n\n const onEnterListener = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.code === \"Enter\") {\n onPageChange(Number(internalCurrentPage));\n }\n };\n\n const renderCurrentPageTranslation = () => {\n const amountOfPages = calculateAmountOfPages();\n\n if (amountOfPages) {\n const splitCurrentPageTranslation = translate.currentPage.split(\" \");\n\n return splitCurrentPageTranslation.map(string => {\n if (string.includes(\"%1\")) {\n return (\n <Fragment key={string}>\n <Label\n id=\"current-value-input-label\"\n htmlFor=\"current-value-input\"\n className={`${readyclasses[\"sr-only\"]} ${classes[\"current-value-input-label\"]}`}\n >\n {translate.currentPageLabel}\n </Label>\n <Input\n aria-labelledby=\"current-value-input-label\"\n key=\"input\"\n id=\"current-value-input\"\n type=\"text\"\n size={currentPage?.toString().length}\n max={calculateAmountOfPages()}\n wrapperProps={{ className: classes[\"current-value-input\"] }}\n onKeyUp={onEnterListener}\n onBlur={(event: React.ChangeEvent<HTMLInputElement>) =>\n onPageChange(Number(event.target.value))\n }\n onChange={(e: React.ChangeEvent<HTMLInputElement>) =>\n setInternalCurrentPage(e.target.value)\n }\n name=\"current-value-input\"\n value={internalCurrentPage}\n className={`${classes[\"form-element\"]} ${classes[\"current-page-input\"]}`}\n />\n </Fragment>\n );\n }\n\n if (string.includes(\"%2\")) {\n return (\n <div key={string}>\n <strong>{string.replace(\"%2\", amountOfPages.toString())}</strong>&nbsp;\n </div>\n );\n }\n\n return <div key={string}>{string}&nbsp;</div>;\n });\n }\n\n return null;\n };\n\n const onPageSizeChangeHandler = (event: React.ChangeEvent<HTMLSelectElement>) => {\n const pageSizeNumber = Number(event.target.value) as PageSize;\n onPageSizeChange(pageSizeNumber);\n };\n\n const onPageChangeHandler = (pageToGoTo: number) => {\n onPageChange(pageToGoTo);\n };\n\n return (\n <div\n {...rest}\n ref={ref}\n className={`${classes[\"pagination-wrapper\"]} ${className ? className : \"\"}`}\n >\n {totalElements && (\n <div className={classes[\"total\"]}>\n <span tabIndex={0}>\n {translate.totalItems}: <span>{totalElements}</span>\n </span>\n </div>\n )}\n <div className={classes[\"pagination\"]}>\n {pageSize && (\n <div className={classes[\"per-page\"]}>\n <Label id=\"page-size-select-label\">{translate.itemsPerPage}</Label>\n <Select\n labeledBy=\"page-size-select-label\"\n className={`${classes[\"form-element\"]} ${classes[\"page-size-select\"]}`}\n value={pageSize.toString()}\n onChange={onPageSizeChangeHandler}\n >\n <Option value=\"10\">10</Option>\n <Option value=\"25\">25</Option>\n <Option value=\"50\">50</Option>\n </Select>\n </div>\n )}\n <Fragment>\n {!!((currentPage && currentPage > 2) || (currentPage && currentPage > 1)) && (\n <div className={classes[\"previous\"]}>\n {currentPage > 2 && (\n <IconButton\n title=\"first\"\n onClick={() => onPageChangeHandler(0)}\n data-paginate=\"first\"\n >\n <Icon icon={Icons.NavigationFirst} />\n </IconButton>\n )}\n {currentPage > 1 && (\n <IconButton\n title=\"previous\"\n onClick={() => onPageChangeHandler(currentPage - 1)}\n data-paginate=\"previous\"\n >\n <Icon icon={Icons.ChevronLeft} />\n </IconButton>\n )}\n </div>\n )}\n {totalElements && !!calculateAmountOfPages() && (\n <div className={classes[\"page\"]}>{renderCurrentPageTranslation()}</div>\n )}\n <div className={classes[\"next\"]}>\n {!!(\n (currentPage !== undefined && currentPage < calculateAmountOfPages()!) ||\n (currentPage !== undefined && !totalElements)\n ) && (\n <IconButton\n title=\"next\"\n onClick={() => onPageChangeHandler(currentPage + 1)}\n data-paginate=\"next\"\n >\n <Icon icon={Icons.ChevronRight} />\n </IconButton>\n )}\n {!!(currentPage && totalElements && currentPage < calculateAmountOfPages()! - 1) && (\n <IconButton\n title=\"last\"\n onClick={() => onPageChangeHandler(totalElements / pageSize)}\n data-paginate=\"last\"\n >\n <Icon icon={Icons.NavigationLast} />\n </IconButton>\n )}\n </div>\n </Fragment>\n </div>\n </div>\n );\n }\n);\n","import React, { useEffect, useState } from \"react\";\nimport { generateID } from \"../util/helper\";\n\ninterface Arguments {\n componentToRepeat: React.ReactElement;\n}\n\nexport const useRepeater = <T>({ componentToRepeat }: Arguments) => {\n const [repeatedComponents, setRepeatedComponents] = useState<JSX.Element[]>([]);\n\n useEffect(() => {\n repeat();\n }, []);\n\n const repeat = () => {\n const clonedComponent = React.cloneElement(componentToRepeat, { key: generateID(20) });\n\n setRepeatedComponents(prevState => [...prevState, clonedComponent]);\n };\n\n const remove = (componentToRemove: React.ReactElement<T>) => {\n const newRepeatedComponents = repeatedComponents.filter(\n component => component !== componentToRemove\n );\n\n setRepeatedComponents(newRepeatedComponents);\n };\n\n return {\n repeatedComponents,\n repeat,\n remove\n };\n};\n","export const labelId = (id: string) => `${id}-label`;\nexport const descriptionId = (id: string) => `${id}-description`;\n","import React, { ComponentPropsWithRef, useEffect } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport classes from \"./BaseModal.module.scss\";\nimport { labelId, descriptionId } from \"./BaseModalContext\";\n\nconst SCROLL_PROPERTY_NAME = \"overflow\";\nconst SCROLL_PROPERTY_VALUE = \"hidden\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n id: string;\n children: React.ReactNode;\n open: boolean;\n onClose?: (event?: React.MouseEvent<HTMLElement>) => unknown;\n className?: string;\n containerProps?: ComponentPropsWithRef<\"div\">;\n backdropProps?: ComponentPropsWithRef<\"div\">;\n labelledby?: string;\n describedby?: string;\n disableEscapeKeyDown?: boolean;\n disableBackdrop?: boolean;\n forceContainerOpen?: boolean;\n zIndex?: number;\n domRoot?: HTMLElement;\n}\n\nexport const useSetBodyScroll = (open: boolean) => {\n const hideBodyScroll = () => {\n document.body.style[SCROLL_PROPERTY_NAME] = SCROLL_PROPERTY_VALUE;\n };\n\n const showBodyScroll = () => {\n const allModalsClosed =\n document.querySelectorAll(\"[role=dialog][data-hidden=false]\").length === 0;\n if (allModalsClosed) {\n document.body.style.removeProperty(SCROLL_PROPERTY_NAME);\n }\n };\n\n useEffect(() => {\n if (open) {\n hideBodyScroll();\n } else {\n showBodyScroll();\n }\n }, [open]);\n};\n\nexport const BaseModal = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n id,\n children,\n open,\n onClose,\n className = \"\",\n containerProps,\n backdropProps,\n labelledby,\n describedby,\n disableEscapeKeyDown = false,\n disableBackdrop = false,\n forceContainerOpen = false,\n zIndex,\n domRoot = document.body,\n ...rest\n }: Props,\n ref\n ) => {\n useSetBodyScroll(open);\n\n const handleEscKeyPress = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disableEscapeKeyDown && event.key === \"Escape\") {\n event.stopPropagation();\n onClose && onClose();\n }\n };\n\n const handleBackdropClick = () => !disableBackdrop && onClose && onClose();\n\n return createPortal(\n <div\n {...rest}\n ref={ref}\n id={id}\n className={`${classes[\"modal\"]} ${open ? classes[\"visible\"] : \"\"} ${className}`}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={labelledby || labelId(id)}\n aria-describedby={describedby || descriptionId(id)}\n aria-hidden={!open}\n tabIndex={-1}\n data-hidden={!open}\n onKeyDown={handleEscKeyPress}\n style={{ zIndex }}\n >\n <div\n {...backdropProps}\n className={`${classes[\"backdrop\"]} ${backdropProps?.className ?? \"\"}`}\n onClick={handleBackdropClick}\n ></div>\n {forceContainerOpen ? (\n <div\n {...containerProps}\n aria-hidden={!open}\n hidden={!open}\n style={{ zIndex: zIndex && zIndex + 1 }}\n className={`${classes[\"container\"]} ${containerProps?.className ?? \"\"}`}\n >\n {children}\n </div>\n ) : (\n open && (\n <div\n {...containerProps}\n style={{ zIndex: zIndex && zIndex + 1 }}\n className={`${classes[\"container\"]} ${containerProps?.className ?? \"\"}`}\n >\n {children}\n </div>\n )\n )}\n </div>,\n domRoot\n );\n }\n);\n","import React, { createContext } from \"react\";\nimport { SnackbarOptionsProps } from \"../interfaces\";\n\ninterface SnackbarContextProps {\n enqueueSnackbar: (title: string, content?: string, options?: SnackbarOptionsProps) => void;\n enqueueSuccessSnackbar: (title: string, content?: string, options?: SnackbarOptionsProps) => void;\n enqueueErrorSnackbar: (title: string, content?: string, options?: SnackbarOptionsProps) => void;\n}\n\nconst SnackbarContext = createContext<SnackbarContextProps>({\n enqueueSnackbar: () => null,\n enqueueSuccessSnackbar: () => null,\n enqueueErrorSnackbar: () => null\n});\n\ninterface Props {\n initialState: SnackbarContextProps;\n children?: React.ReactNode;\n}\n\nconst SnackbarContextProvider = ({ children, initialState }: Props) => {\n return <SnackbarContext.Provider value={initialState}>{children}</SnackbarContext.Provider>;\n};\n\nexport { SnackbarContextProvider, SnackbarContext, SnackbarContextProps };\n","import { useContext } from \"react\";\nimport { SnackbarContext } from \"./SnackbarProvider/SnackbarStateProvider\";\n\nexport const useSnackbar = () => useContext(SnackbarContext);\n","import React, { ComponentPropsWithRef, createRef, useEffect } from \"react\";\nimport classes from \"./BaseModalContent.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n id?: string;\n children: React.ReactNode;\n className?: string;\n disableAutoFocus?: boolean;\n}\n\nexport const BaseModalContent = React.forwardRef<HTMLDivElement, Props>(\n ({ id, children, className = \"\", disableAutoFocus = false, ...rest }: Props, ref) => {\n const contentRef = createRef<HTMLDivElement>();\n\n useEffect(() => {\n if (!disableAutoFocus && ref) {\n (ref as React.RefObject<HTMLDivElement>).current?.focus();\n } else if (!disableAutoFocus) {\n contentRef.current?.focus();\n }\n }, []);\n\n /**tabIndex is set to be able to do focus on that element which we need for catching keyDown events */\n return (\n <div\n {...rest}\n ref={ref || contentRef}\n id={id}\n className={`${classes[\"content\"]} ${className}`}\n tabIndex={-1}\n >\n {children}\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from \"react\";\nimport classes from \"./BaseModalActions.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"footer\"> {\n children?: React.ReactNode;\n}\n\nexport const BaseModalActions = React.forwardRef<HTMLElement, Props>(\n ({ children, className = \"\", ...rest }: Props, ref) => {\n return (\n <footer {...rest} ref={ref} className={`${classes[\"actions\"]} ${className}`}>\n {children}\n </footer>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from \"react\";\nimport {\n BaseModalActions,\n Props as BaseModalActionsProps\n} from \"../../BaseModal/BaseModalActions/BaseModalActions\";\nimport classes from \"./DialogActions.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<any>, BaseModalActionsProps {\n align: \"left\" | \"right\";\n}\n\nexport const DialogActions = React.forwardRef<HTMLElement, Props>(\n ({ children, align, ...rest }: Props, ref) => {\n return (\n <BaseModalActions\n {...rest}\n ref={ref}\n className={`${classes[\"actions\"]}${align === \"left\" ? \" \" + classes[\"left\"] : \"\"}`}\n >\n {children}\n </BaseModalActions>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from \"react\";\nimport { Typography } from \"../../../Typography/Typography\";\nimport classes from \"./DialogTitle.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n id: string;\n title: string;\n}\n\nexport const DialogTitle = React.forwardRef<HTMLDivElement, Props>(\n ({ id, title, ...rest }: Props, ref) => {\n return (\n <div {...rest} ref={ref} className={classes[\"header\"]}>\n <Typography id={id} className={classes[\"title\"]} tag=\"h1\" variant=\"h4\">\n {title}\n </Typography>\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef, useState } from \"react\";\nimport { BaseModal } from \"../BaseModal/BaseModal\";\nimport { BaseModalContent } from \"../BaseModal/BaseModalContent/BaseModalContent\";\nimport { DialogActions } from \"./DialogActions/DialogActions\";\nimport classes from \"./Dialog.module.scss\";\nimport { DialogTitle } from \"./DialogTitle/DialogTitle\";\nimport { Button, Props as ButtonProps } from \"../../Button/Button\";\nimport { labelId, descriptionId } from \"../BaseModal/BaseModalContext\";\nimport { generateID } from \"../../util/helper\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n id?: string;\n open: boolean;\n children: React.ReactNode;\n alignActions: \"left\" | \"right\";\n onClose: () => void;\n title: string;\n primaryAction: Action;\n secondaryAction?: Action;\n zIndex?: number;\n disableEscapeKeyDown?: boolean;\n}\n\nexport interface Action extends Omit<ButtonProps, \"variant\" | \"ref\"> {\n label: string;\n onClick: (event?: React.MouseEvent<HTMLButtonElement>) => unknown;\n}\n\nexport const Dialog = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n id,\n open,\n children,\n alignActions,\n onClose,\n title,\n primaryAction,\n secondaryAction,\n zIndex,\n disableEscapeKeyDown = true,\n ...rest\n }: Props,\n ref\n ) => {\n const [dialogId] = useState(id ?? generateID(20));\n const { label: primaryLabel, ...restOfPrimaryAction } = primaryAction;\n const PrimaryButton = (\n <Button key=\"primary\" {...restOfPrimaryAction}>\n {primaryLabel}\n </Button>\n );\n const TertiaryButton =\n secondaryAction &&\n (function () {\n const { label: secondaryLabel, ...restOfSecondaryAction } = secondaryAction;\n return (\n <Button key=\"tertiary\" variant=\"text\" {...restOfSecondaryAction}>\n {secondaryLabel}\n </Button>\n );\n })();\n\n const onHiddenInputKeyPress = (event: React.KeyboardEvent<HTMLInputElement>) => {\n /** It has to be here because then we will need to check if user doesn't click tab to select action button and want to do another action then primary one? */\n if (event.key === \"Enter\") {\n primaryAction.onClick();\n }\n };\n\n return (\n <BaseModal\n {...rest}\n ref={ref}\n id={dialogId}\n className={classes[\"dialog\"]}\n containerProps={{ className: classes[\"container\"] }}\n open={open}\n disableBackdrop\n onClose={onClose}\n zIndex={zIndex}\n disableEscapeKeyDown={disableEscapeKeyDown}\n >\n <DialogTitle id={labelId(dialogId)} title={title} />\n <BaseModalContent\n id={descriptionId(dialogId)}\n className={classes[\"content\"]}\n disableAutoFocus\n >\n {children}\n </BaseModalContent>\n <DialogActions align={alignActions}>\n {alignActions === \"left\"\n ? [PrimaryButton, TertiaryButton]\n : [TertiaryButton, PrimaryButton]}\n </DialogActions>\n <input\n autoFocus\n aria-hidden={true}\n style={{\n position: \"absolute\",\n width: 0,\n height: 0,\n opacity: 0\n }}\n maxLength={0}\n tabIndex={-1}\n onKeyPress={onHiddenInputKeyPress}\n />\n </BaseModal>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from \"react\";\nimport classes from \"./BaseModalHeader.module.scss\";\nimport { IconButton } from \"../../../Button/IconButton\";\nimport { Icon, Icons } from \"../../../Icon/Icon\";\nimport { Typography } from \"../../../Typography/Typography\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n id: string;\n title: string;\n children?: React.ReactNode;\n onClose: (event: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\nexport const BaseModalHeader = React.forwardRef<HTMLDivElement, Props>(\n ({ id, title, children, onClose, ...rest }: Props, ref) => {\n return (\n <div {...rest} ref={ref} className={classes[\"header\"]}>\n <div className={classes[\"headline\"]}>\n <Typography id={id} className={classes[\"title\"]} tag=\"h1\" variant=\"h4\">\n {title}\n </Typography>\n <IconButton onClick={onClose} className={classes[\"closeBtn\"]} title=\"close modal\">\n <Icon icon={Icons.Times} />\n </IconButton>\n </div>\n {children}\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from \"react\";\nimport { Dialog } from \"../../Dialog/Dialog\";\nimport { Typography } from \"../../../Typography/Typography\";\nimport { DataAttributeKey } from \"../../../interfaces\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n open: boolean;\n discardChangesButtonLabel: string;\n keepEditingButtonLabel: string;\n contentLabel: string;\n titleLabel: string;\n [dataAttribute: DataAttributeKey]: any;\n onKeepEditing: () => void;\n onDiscardChanges: () => void;\n}\n\nexport const DiscardChangesDialog = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n open,\n onKeepEditing,\n onDiscardChanges,\n discardChangesButtonLabel,\n keepEditingButtonLabel,\n contentLabel,\n titleLabel,\n ...rest\n }: Props,\n ref\n ) => {\n return (\n <Dialog\n {...rest}\n ref={ref}\n open={open}\n alignActions=\"left\"\n title={titleLabel}\n onClose={onKeepEditing}\n primaryAction={{\n label: discardChangesButtonLabel,\n onClick: onDiscardChanges\n }}\n secondaryAction={{\n label: keepEditingButtonLabel,\n onClick: onKeepEditing\n }}\n disableEscapeKeyDown={false}\n >\n <Typography variant=\"body\" spacing={{ margin: 0 }}>\n {contentLabel}\n </Typography>\n </Dialog>\n );\n }\n);\n","import React, { Fragment, useState } from \"react\";\nimport { Modal, Props as ModalProps } from \"../Modal/Modal\";\nimport { ModalHeader, Props as ModalHeaderProps } from \"../Modal/ModalHeader/ModalHeader\";\nimport {\n DiscardChangesDialog,\n Props as DiscardChangesDialogProps\n} from \"./DiscardChangesDialog/DiscardChangesDialog\";\n\nexport interface Props extends Omit<ModalProps, \"onClose\"> {\n hasUnsavedChanges: () => boolean;\n onClose: (event?: React.MouseEvent<HTMLElement>) => unknown;\n headerProps: Omit<ModalHeaderProps, \"onClose\" | \"id\">;\n discardChangedDialogProps: Omit<\n DiscardChangesDialogProps,\n \"open\" | \"onKeepEditing\" | \"onDiscardChanges\"\n >;\n modalRef?: React.RefObject<HTMLDivElement>;\n dialogRef?: React.RefObject<HTMLDivElement>;\n}\n\nexport const DiscardChangesModal = ({\n id,\n children,\n headerProps,\n discardChangedDialogProps,\n modalRef,\n dialogRef,\n onClose,\n hasUnsavedChanges,\n ...rest\n}: Props) => {\n const [openDiscardChangesDialog, setOpenDiscardChangesDialog] = useState(false);\n\n const onCloseWrapper = () =>\n hasUnsavedChanges() ? setOpenDiscardChangesDialog(true) : onClose();\n\n const onDialogKeepEditing = () => {\n setOpenDiscardChangesDialog(false);\n };\n\n const onDialogDiscardChanges = () => {\n setOpenDiscardChangesDialog(false);\n onClose();\n };\n\n return (\n <Fragment>\n <Modal id={id} ref={modalRef} onClose={onCloseWrapper} {...rest}>\n <ModalHeader {...headerProps} id={`${id}-label`} onClose={onCloseWrapper} />\n {children}\n </Modal>\n <DiscardChangesDialog\n {...discardChangedDialogProps}\n ref={dialogRef}\n open={openDiscardChangesDialog}\n onKeepEditing={onDialogKeepEditing}\n onDiscardChanges={onDialogDiscardChanges}\n />\n </Fragment>\n );\n};\n","import React, { TransitionEventHandler, useState, useRef } from \"react\";\nimport { Props as ModalProps, Modal } from \"../Modal/Modal\";\nimport classes from \"./SlideInModal.module.scss\";\n\nexport const SlideInModal = React.forwardRef<HTMLDivElement, ModalProps>(\n ({ children, id, open, ...rest }: ModalProps, ref) => {\n const [classHideOnTransition, setClassHideOnTransition] = useState<string>(\"hidden\");\n const containerRef = useRef(null);\n\n const onTransitionEnd: TransitionEventHandler<HTMLDivElement> = e => {\n if (e.target === containerRef.current) {\n setClassHideOnTransition(prev => (prev ? \"\" : \"hidden\"));\n }\n };\n\n return (\n <Modal\n {...rest}\n id={id}\n open={open}\n className={`${classes[\"slide-in-modal\"]} ${open ? classes[\"visible\"] : \"\"} ${\n !open ? classes[classHideOnTransition] : \"\"\n }`}\n containerProps={{ className: classes[\"container\"] }}\n backdropProps={{ className: classes[\"backdrop-slide\"] }}\n forceContainerOpen\n onTransitionEnd={onTransitionEnd}\n ref={ref || containerRef}\n >\n {children}\n </Modal>\n );\n }\n);\n\nexport { Props } from \"../Modal/Modal\";\n","import React from \"react\";\nimport classes from \"./SnackbarContainer.module.scss\";\n\nexport interface Placement {\n vertical: \"top\" | \"bottom\";\n horizontal: \"start\" | \"center\" | \"end\";\n}\n\nexport interface Props {\n placement: Placement;\n children?: React.ReactNode;\n zIndex?: number;\n className?: string;\n}\n\nexport const SnackbarContainer = ({ placement, children, zIndex, className, ...rest }: Props) => {\n return (\n <div\n {...rest}\n style={{ zIndex }}\n className={`${classes[\"snackbars\"]} ${classes[placement.horizontal]} ${\n classes[placement.vertical]\n } ${className ?? \"\"}`}\n >\n {children}\n </div>\n );\n};\n","import { useEffect, useRef, useState } from \"react\";\n\nexport const useAnimation = <RefElement extends HTMLElement>(callback: () => void) => {\n const animatedObjectRef = useRef<RefElement>(null);\n /** We need to store flag that says us when to call the callback */\n const [animationStarted, setAnimationStarted] = useState(false);\n\n const onAnimationEnd = () => animationStarted && callback();\n\n useEffect(() => {\n animatedObjectRef.current?.addEventListener(\"animationend\", onAnimationEnd);\n return () => animatedObjectRef.current?.removeEventListener(\"animationend\", onAnimationEnd);\n }, [animationStarted]);\n\n return {\n ref: animatedObjectRef,\n animationStarted,\n startAnimation: () => setAnimationStarted(true)\n };\n};\n","import React, { useEffect, useRef } from \"react\";\nimport { IconButton } from \"../../../Button/IconButton\";\nimport { Icon, Icons } from \"../../../Icon/Icon\";\nimport { Variant, Actions } from \"../interfaces\";\nimport classes from \"./SnackbarItem.module.scss\";\nimport readyclasses from \"../../../readyclasses.module.scss\";\nimport { useAnimation } from \"../../../hooks/useAnimation\";\nimport { Typography } from \"../../../Typography/Typography\";\n\nconst textColor = \"var(--snackbar-text-color)\";\n\nexport interface Props {\n id: string;\n title: string;\n duration: number;\n variant: Variant;\n onClose: (key: string) => void;\n closeButtonTitle: string;\n content?: string;\n actions?: Actions;\n}\n\nexport const SnackbarItem = ({\n id,\n title,\n duration,\n variant,\n content,\n actions = [],\n onClose,\n closeButtonTitle\n}: Props) => {\n const timerHandler = useRef<ReturnType<typeof setTimeout>>();\n const onAnimationEnd = () => onClose(id);\n const { ref, animationStarted, startAnimation } = useAnimation<HTMLDivElement>(onAnimationEnd);\n\n useEffect(() => {\n timerHandler.current = setTimeout(() => startAnimation(), duration);\n return () => {\n timerHandler.current && clearTimeout(timerHandler.current);\n };\n }, []);\n\n const onMouseEnter = () => {\n timerHandler.current && clearTimeout(timerHandler.current);\n };\n\n const onMouseLeave = () => {\n timerHandler.current = setTimeout(() => startAnimation(), duration);\n };\n\n const getVariantIcon = () => {\n if (variant === \"error\") {\n return Icons.Error;\n }\n return variant === \"success\" ? Icons.CheckmarkCircleBreakout : Icons.InfoCircle;\n };\n\n const actionButtons = actions.map((actionProp, index) => (\n <button\n key={index}\n {...actionProp}\n onClick={e => {\n onClose(id);\n actionProp.onClick && actionProp.onClick(e);\n }}\n children={actionProp.label}\n className={classes[\"action-button\"]}\n ></button>\n ));\n\n return (\n <div\n ref={ref}\n className={`${classes[\"snackbar\"]} ${classes[variant]} ${\n animationStarted ? readyclasses[\"slide-out\"] : readyclasses[\"slide-in\"]\n }`}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n <Icon icon={getVariantIcon()} className={classes[\"icon\"]} />\n <div className={classes[\"container\"]}>\n <div className={classes[\"headline\"]}>\n <Typography className={classes[\"title\"]} variant=\"h4\" tag=\"span\">\n {title}\n </Typography>\n <IconButton\n id={classes[\"close-btn\"]}\n onClick={() => startAnimation()}\n title={closeButtonTitle}\n >\n <Icon icon={Icons.Times} color={textColor} />\n </IconButton>\n </div>\n {!!content && (\n <Typography className={classes[\"content\"]} variant=\"body\">\n {content}\n </Typography>\n )}\n {actionButtons.length > 0 && <div className={classes[\"actions\"]}>{actionButtons}</div>}\n </div>\n </div>\n );\n};\n","import React, { ReactNode, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { SnackbarContextProvider } from \"./SnackbarStateProvider\";\nimport { Actions, SnackbarOptionsProps, Variant } from \"../interfaces\";\nimport { Placement, SnackbarContainer } from \"../SnackbarContainer/SnackbarContainer\";\nimport { generateID } from \"../../../util/helper\";\nimport { SnackbarItem } from \"../SnackbarItem/SnackbarItem\";\n\n/** Short msg is when only title is provided. Long one when content or/and actions are provided (or type is error). */\ninterface Duration {\n long: number;\n short: number;\n}\n\nexport interface Props {\n closeButtonTitle: string;\n children?: ReactNode;\n placement?: Placement;\n stackSize?: number;\n domRoot?: HTMLElement;\n autoHideDuration?: Duration;\n className?: string;\n}\n\ninterface Item {\n id: string;\n title: string;\n duration: number;\n variant: Variant;\n content?: string;\n actions?: Actions;\n onClose?: () => void;\n}\n\nexport const SnackbarProvider = (\n {\n closeButtonTitle,\n placement = { vertical: \"bottom\", horizontal: \"center\" },\n autoHideDuration = { long: 8000, short: 4000 },\n stackSize = 3,\n domRoot = document.body,\n children,\n className\n }: Props = { closeButtonTitle: \"\" }\n) => {\n const [snackbars, setSnackbars] = useState<Item[]>([]);\n\n const addSnackbar = (item: Item) => {\n setSnackbars(items => [...items, item]);\n };\n\n const getDuration = (variant: Variant, actions?: Actions, content?: string) => {\n const hasError = variant === \"error\";\n const hasContentOrActions = content || actions;\n if (hasError || hasContentOrActions) {\n return autoHideDuration.long;\n }\n return autoHideDuration.short;\n };\n\n const enqueueSnackbar = (\n title: string,\n content?: string,\n options: SnackbarOptionsProps = {}\n ): void => {\n const {\n variant = \"info\",\n actions,\n duration = getDuration(variant, actions, content),\n onClose\n } = options;\n const item: Item = {\n title,\n content,\n variant,\n actions,\n duration,\n id: generateID(15, title),\n onClose\n };\n addSnackbar(item);\n };\n\n const enqueueSuccessSnackbar = (\n title: string,\n content?: string,\n options?: SnackbarOptionsProps\n ): void => {\n enqueueSnackbar(title, content, { ...options, variant: \"success\" });\n };\n\n const enqueueErrorSnackbar = (\n title: string,\n content?: string,\n options?: SnackbarOptionsProps\n ): void => {\n enqueueSnackbar(title, content, { ...options, variant: \"error\" });\n };\n\n const onItemClosed = (id: string) => {\n setSnackbars(items => [...items].filter(item => item.id !== id));\n };\n\n const snackbarList = snackbars.map((item, index) =>\n index < stackSize ? (\n <SnackbarItem\n {...item}\n key={item.id}\n onClose={() => {\n onItemClosed(item.id);\n item.onClose && item.onClose();\n }}\n closeButtonTitle={closeButtonTitle}\n />\n ) : null\n );\n\n const snackbarPortal = createPortal(\n <SnackbarContainer placement={placement} className={className}>\n {snackbarList}\n </SnackbarContainer>,\n domRoot\n );\n\n return (\n <SnackbarContextProvider\n initialState={{ enqueueSnackbar, enqueueSuccessSnackbar, enqueueErrorSnackbar }}\n >\n {children}\n {snackbarPortal}\n </SnackbarContextProvider>\n );\n};\n","import { useEffect, useState } from \"react\";\nimport { generateID } from \"../util/helper\";\n\nexport interface ConfigObject {\n name: string | undefined;\n errorMessage?: string;\n error?: boolean;\n parentErrorId?: string;\n helperText?: string;\n parentHelperId?: string;\n}\n\nexport const useFormSelector = (configObject: ConfigObject) => {\n const [identifier] = useState(generateID(15, configObject.name));\n const [describedBy, setDescribedBy] = useState(\"\");\n const [errorId] = useState(generateID(15, configObject.errorMessage));\n\n useEffect(() => {\n if (configObject.error && configObject.parentErrorId) {\n setDescribedBy(configObject.parentErrorId);\n }\n\n if (\n (!configObject.error && configObject.helperText) ||\n (!configObject.parentErrorId && !configObject.errorMessage && configObject.helperText)\n ) {\n setDescribedBy(`${identifier}`);\n }\n\n if (\n (!configObject.error && !configObject.helperText && configObject.parentHelperId) ||\n (!configObject.parentErrorId && !configObject.errorMessage && configObject.parentHelperId)\n ) {\n setDescribedBy(`${configObject.parentHelperId}`);\n }\n\n if (configObject.errorMessage && !configObject.parentErrorId && configObject.error) {\n setDescribedBy(errorId);\n }\n }, [identifier, configObject.error, configObject.parentErrorId]);\n\n return {\n describedBy,\n errorId,\n identifier\n };\n};\n","import React, { ComponentPropsWithRef, ReactNode } from \"react\";\nimport classes from \"./FormHelperText.module.scss\";\nimport { Typography } from \"../../Typography/Typography\";\nimport { FormElement } from \"../form.interfaces\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\">, FormElement {\n children?: ReactNode;\n}\n\nexport const FormHelperText = React.forwardRef<HTMLDivElement, Props>(\n ({ children, error, className, ...rest }: Props, ref) => {\n return (\n <Typography\n {...rest}\n ref={ref}\n variant=\"sub-text\"\n tag=\"div\"\n className={`${classes[\"form-helper-text\"]} ${error ? classes.error : \"\"} ${\n className ?? \"\"\n }`}\n >\n {children}\n </Typography>\n );\n }\n);\n","import React, { ComponentPropsWithRef, createRef, ReactNode } from \"react\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\nimport { KeyValuePair } from \"../../interfaces\";\nimport { FormSelector } from \"../form.interfaces\";\nimport { FormHelperText, Props as FormHelperTextProps } from \"../FormHelperText/FormHelperText\";\nimport classes from \"./FormSelectorWrapper.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\">, FormSelector {\n children?: ReactNode;\n nestedChildren?: ReactNode;\n containerProps?: ComponentPropsWithRef<\"div\"> & KeyValuePair;\n helperProps?: FormHelperTextProps;\n disabled?: boolean;\n errorId?: string;\n identifier?: string;\n}\n\nexport const FormSelectorWrapper = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n children,\n className,\n nestedChildren,\n containerProps,\n helperProps,\n error,\n disabled,\n helperText,\n errorMessage,\n parentErrorId,\n errorId,\n identifier,\n ...rest\n }: Props,\n ref\n ) => {\n const helperRef = helperProps?.ref || createRef();\n\n return (\n <div\n {...rest}\n ref={ref}\n className={`${error ? classes[\"error\"] : \"\"} ${disabled ? classes[\"disabled\"] : \"\"} ${\n className ?? \"\"\n }`}\n >\n <div {...containerProps}>{children}</div>\n {(helperText || (helperProps && helperProps.children)) &&\n (!error || parentErrorId || !errorMessage) && (\n <FormHelperText\n {...helperProps}\n ref={helperRef}\n id={`${identifier}`}\n className={`${classes[\"helper-text\"]} ${helperProps?.className ?? \"\"} ${\n error ? classes[\"error\"] : \"\"\n }`}\n >\n {(helperProps && helperProps.children) || helperText}\n </FormHelperText>\n )}\n {errorMessage && !parentErrorId && error && (\n <span className={classes[\"error-message\"]}>\n <Icon className={classes[\"error-icon\"]} icon={Icons.Error} />\n <span id={errorId}>{errorMessage}</span>\n </span>\n )}\n {nestedChildren}\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactElement, ReactNode, useEffect } from \"react\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\nimport { Props as FormHelperTextProps } from \"../FormHelperText/FormHelperText\";\nimport classes from \"./Checkbox.module.scss\";\nimport { useFormSelector } from \"../../hooks/useFormSelector\";\nimport {\n FormSelectorWrapper,\n Props as FormSelectorWrapperProps\n} from \"../FormSelectorWrapper/FormSelectorWrapper\";\nimport { FormSelector } from \"../form.interfaces\";\n\nconst isToggle = (children: ReactNode) => (children as ReactElement)?.props?.[\"data-toggle\"];\n\nexport interface Props extends ComponentPropsWithRef<\"input\">, FormSelector {\n children: ReactNode;\n label?: string;\n indeterminate?: boolean;\n helperProps?: FormHelperTextProps;\n formSelectorWrapperProps?: FormSelectorWrapperProps;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const Checkbox = React.forwardRef<HTMLInputElement, Props>(\n (\n {\n children,\n name,\n helperText,\n helperProps,\n indeterminate,\n parentErrorId,\n errorMessage,\n disabled,\n label,\n parentHelperId,\n className,\n error,\n checked = false,\n formSelectorWrapperProps,\n onChange,\n ...rest\n }: Props,\n ref\n ) => {\n const { errorId, identifier, describedBy } = useFormSelector({\n name,\n helperText,\n parentErrorId,\n errorMessage,\n error,\n parentHelperId\n });\n\n useEffect(() => {\n if (!name) {\n throw new Error(\"Please pass a 'name' prop to your <Checkbox> component.\");\n }\n\n if (typeof children === \"object\" && !isToggle(children) && indeterminate === undefined) {\n throw new Error(\n \"If you have nested checkboxes you have to manage the indeterminate state by passing a boolean to the `indeterminate` prop.\"\n );\n }\n }, []);\n\n const determineLabel = () => {\n if (label) {\n return label;\n } else if (children === undefined) {\n throw new Error(\n \"Please make sure to pass either a string or more Checkbox components as a child of your Checkbox component.\"\n );\n }\n\n if (typeof children === \"string\") {\n return children;\n }\n\n throw new Error(\n \"If you pass Checkboxes as a child component (to create nested checkbox tree) you need to pass a label to the parent checkbox.\"\n );\n };\n\n const renderNestedCheckboxes = () => (\n <ul className={classes[\"checkbox-list\"]}>\n {React.Children.map(children as ReactElement[], child => {\n return (\n <li>\n <Checkbox\n {...child.props}\n parentHelperId={parentHelperId}\n parentErrorId={parentErrorId}\n error={error}\n disabled={child.props.disabled ? child.props.disabled : disabled}\n >\n {child.props.children}\n </Checkbox>\n </li>\n );\n })}\n </ul>\n );\n\n const onChangeHandler = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (disabled) {\n return;\n }\n onChange && onChange(event);\n };\n\n const renderToggle = () => React.Children.toArray(children).filter(isToggle);\n\n const iconClasses = [classes[\"input\"], disabled ? classes[\"disabled\"] : \"\"];\n\n /** Default return value is the default checkbox */\n return (\n <FormSelectorWrapper\n {...formSelectorWrapperProps}\n className={`${classes[\"checkbox-wrapper\"]} ${className ? className : \"\"}`}\n containerProps={{ className: classes[\"checkbox-container\"] }}\n helperText={helperText}\n helperProps={helperProps}\n parentErrorId={parentErrorId}\n errorId={errorId}\n errorMessage={errorMessage}\n error={error}\n disabled={disabled}\n identifier={identifier}\n nestedChildren={\n typeof children === \"object\" && !isToggle(children) && renderNestedCheckboxes()\n }\n >\n <input\n {...rest}\n ref={ref}\n disabled={disabled}\n className={`${classes[\"native-input\"]} ${error ? classes[\"error\"] : \"\"}`}\n checked={checked}\n onChange={onChangeHandler}\n aria-invalid={error as boolean}\n aria-checked={indeterminate ? \"mixed\" : checked}\n aria-describedby={describedBy}\n id={`${identifier}-checkbox`}\n name={name}\n type=\"checkbox\"\n />\n {renderToggle()}\n\n {indeterminate && <Icon className={iconClasses.join(\" \")} icon={Icons.MinusSquare} />}\n {checked && !indeterminate && (\n <Icon className={iconClasses.join(\" \")} icon={Icons.CheckmarkSquare} />\n )}\n {!checked && !indeterminate && (\n <Icon className={iconClasses.join(\" \")} icon={Icons.Square} />\n )}\n <label htmlFor={`${identifier}-checkbox`}>{determineLabel()}</label>\n </FormSelectorWrapper>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from \"react\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\nimport { Props as HelperProps } from \"../FormHelperText/FormHelperText\";\nimport classes from \"./Radio.module.scss\";\nimport { useFormSelector } from \"../../hooks/useFormSelector\";\nimport { FormSelector } from \"../form.interfaces\";\nimport {\n FormSelectorWrapper,\n Props as FormSelectorWrapperProps\n} from \"../FormSelectorWrapper/FormSelectorWrapper\";\n\nexport interface Props extends ComponentPropsWithRef<\"input\">, FormSelector {\n children: string;\n value: string;\n formSelectorWrapperProps?: FormSelectorWrapperProps;\n helperProps?: HelperProps;\n}\n\nexport const Radio = React.forwardRef<HTMLInputElement, Props>(\n (\n {\n children,\n disabled,\n className,\n value,\n name,\n helperText,\n parentErrorId,\n parentHelperId,\n error,\n errorMessage,\n checked = false,\n formSelectorWrapperProps,\n helperProps,\n onChange,\n ...rest\n }: Props,\n ref\n ) => {\n const { errorId, identifier, describedBy } = useFormSelector({\n name,\n helperText,\n parentErrorId,\n errorMessage,\n error,\n parentHelperId\n });\n\n const onChangeHandler = (event: React.ChangeEvent<HTMLInputElement> | React.MouseEvent) => {\n if (disabled) {\n return;\n }\n /** We have to clone the native event we got here and change the \"target\" property to the value. Otherwise, this regular event has \"on\" as it's event.target.value, which is useless. */\n const nativeEvent: any = event.nativeEvent || event;\n const clonedEvent = new nativeEvent.constructor(nativeEvent.type, nativeEvent);\n\n Object.defineProperty(clonedEvent, \"target\", {\n writable: true,\n value: { value: value }\n });\n\n onChange && onChange(clonedEvent);\n };\n\n /** Default return value is the default radio */\n return (\n <FormSelectorWrapper\n {...formSelectorWrapperProps}\n className={`${classes[\"radio-wrapper\"]} ${className ?? \"\"}`}\n containerProps={{ className: classes[\"radio-container\"] }}\n helperText={helperText}\n helperProps={helperProps}\n parentErrorId={parentErrorId}\n errorId={errorId}\n errorMessage={errorMessage}\n error={error}\n disabled={disabled}\n identifier={identifier}\n >\n <input\n {...rest}\n ref={ref}\n disabled={disabled}\n tabIndex={0}\n className={`${classes[\"native-input\"]} ${error ? classes[\"error\"] : \"\"}`}\n onChange={onChangeHandler}\n checked={checked}\n aria-invalid={error ? true : false}\n aria-checked={checked}\n aria-describedby={describedBy}\n name={name}\n value={value}\n id={`${identifier}-radio`}\n type=\"radio\"\n />\n\n {checked && (\n <Icon\n className={`${classes[\"input\"]} ${disabled ? classes[\"disabled\"] : \"\"}`}\n icon={Icons.Radio}\n />\n )}\n {!checked && (\n <Icon\n className={`${classes[\"input\"]} ${disabled ? classes[\"disabled\"] : \"\"}`}\n icon={Icons.Circle}\n />\n )}\n\n <label onClick={onChangeHandler} htmlFor={`${identifier}-radio`}>\n {children}\n </label>\n </FormSelectorWrapper>\n );\n }\n);\n","import React, { ComponentPropsWithRef, useState } from \"react\";\nimport { Icon, Props as IconProps, Icons } from \"../../Icon/Icon\";\nimport classes from \"./Textarea.module.scss\";\nimport { FormElement } from \"../form.interfaces\";\n\ninterface IconPropsPartial extends Omit<Partial<IconProps>, \"ref\"> {}\n\nexport interface Props extends ComponentPropsWithRef<\"textarea\">, FormElement {\n wrapperProps?: ComponentPropsWithRef<\"div\">;\n errorProps?: IconPropsPartial;\n}\n\nexport const Textarea = React.forwardRef<HTMLTextAreaElement, Props>(\n (\n {\n error = false,\n disabled = false,\n className,\n rows = 4,\n wrapperProps,\n errorProps,\n onFocus,\n onBlur,\n ...rest\n }: Props,\n ref\n ) => {\n const [focus, setFocus] = useState(false);\n\n const wrapperClasses = [classes[\"textarea-wrapper\"]];\n const outlineClasses = [classes[\"outline\"]];\n\n wrapperProps?.className && wrapperClasses.push(wrapperProps.className);\n disabled &&\n wrapperClasses.push(classes[\"disabled\"]) &&\n outlineClasses.push(classes[\"disabled\"]);\n error && wrapperClasses.push(classes[\"error\"]) && outlineClasses.push(classes[\"error\"]);\n focus && wrapperClasses.push(classes[\"focus\"]) && outlineClasses.push(classes[\"focus\"]);\n\n return (\n <div {...wrapperProps} className={wrapperClasses.join(\" \")}>\n <textarea\n {...rest}\n ref={ref}\n rows={rows}\n className={`${error ? classes[\"error\"] : \"\"} ${classes[\"textarea\"]} ${className ?? \"\"}`}\n disabled={disabled}\n onFocus={event => {\n setFocus(true);\n onFocus && onFocus(event);\n }}\n onBlur={event => {\n setFocus(false);\n onBlur && onBlur(event);\n }}\n />\n {error && (\n <Icon\n {...errorProps}\n className={`${classes[\"warning\"]} ${errorProps?.className ?? \"\"}`}\n icon={Icons.Error}\n />\n )}\n <span className={outlineClasses.join(\" \")}></span>\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from \"react\";\nimport { Checkbox, Props as CheckboxProps } from \"../Checkbox/Checkbox\";\nimport classes from \"./Toggle.module.scss\";\n\nexport interface Props\n extends ComponentPropsWithRef<\"input\">,\n Omit<CheckboxProps, \"indeterminate\" | \"errorMessage\" | \"error\" | \"children\" | \"label\"> {\n children: string;\n}\n\nexport const Toggle = React.forwardRef<HTMLInputElement, Props>(\n ({ children, checked, disabled, helperProps, ...rest }: Props, ref) => (\n <div className={classes[\"toggle-wrapper\"]}>\n <Checkbox\n {...rest}\n ref={ref}\n checked={checked}\n className={classes[\"checkbox\"]}\n helperProps={{ className: classes[\"toggle-helper\"], ...helperProps }}\n disabled={disabled}\n label={children}\n >\n <span\n data-toggle\n aria-hidden=\"true\"\n className={`${classes[\"toggle\"]} ${checked ? classes[\"checked\"] : \"\"} ${\n disabled ? classes[\"disabled\"] : \"\"\n } `}\n ></span>\n </Checkbox>\n </div>\n )\n);\n","import React, { ComponentPropsWithRef, ReactElement } from \"react\";\nimport classes from \"./FormControl.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n children?: ReactElement | ReactElement[];\n grid?: 1 | 2 | 3;\n align?: \"top\" | \"start\" | \"middle\" | \"center\" | \"bottom\" | \"end\" | \"stretch\";\n error?: boolean;\n disabled?: boolean;\n}\n\nexport const FormControl = React.forwardRef<HTMLDivElement, Props>(\n ({ children, disabled, error, className, grid, align = \"center\", ...rest }: Props, ref) => {\n const renderChildren = () =>\n React.Children.map(children, child => {\n if (!child) {\n return null;\n }\n\n const childElement = React.cloneElement(child, {\n disabled: child.props.disabled !== undefined ? child.props.disabled : disabled,\n error: child.props.error !== undefined ? child.props.error : error\n });\n\n if (grid && grid > 1) {\n return (\n <div className={`${classes[\"col-\" + grid]} ${classes.column}`}>{childElement}</div>\n );\n }\n\n return childElement;\n });\n\n return (\n <div\n {...rest}\n ref={ref}\n data-formcontrol\n className={`${classes[\"form-control\"]} ${className ? className : \"\"} ${\n grid && grid > 1 ? `${classes.grid} ${classes[\"grid-\" + grid]}` : \"\"\n } ${classes[align]}`}\n >\n {renderChildren()}\n </div>\n );\n }\n);\n","/** The empty className property on FormHelperText is on purpose! We want to basically \"filter\" out the className from helperProps because we're adding this to the surrounding div. This makes it so also the errormessage receives this styling. */\n\nimport React, { ComponentPropsWithRef, ReactChild } from \"react\";\nimport classes from \"./FormGroup.module.scss\";\nimport { FormHelperText, Props as HelperProps } from \"../FormHelperText/FormHelperText\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n children: ReactChild[] | ReactChild;\n error?: boolean;\n errorMessageIcon?: Icons;\n errorMessageIconPosition?: \"before\" | \"after\";\n errorMessage?: string;\n errorId?: string;\n helperIndent?: number;\n helperText?: string;\n helperId?: string;\n helperProps?: HelperProps;\n disabled?: boolean;\n}\n\nexport const FormGroup = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n children,\n className,\n error,\n errorMessage,\n errorId,\n errorMessageIcon,\n errorMessageIconPosition = \"before\",\n helperText,\n helperId,\n helperProps,\n helperIndent,\n ...rest\n }: Props,\n ref\n ) => {\n return (\n <div\n {...rest}\n ref={ref}\n className={`${classes[\"form-group\"]} ${error ? classes.error : \"\"} ${className ?? \"\"}`}\n >\n {children}\n\n {(helperText || (errorMessage && error)) && (\n <div\n style={{ marginLeft: `${helperIndent}px` }}\n className={`${classes[\"default-helper\"]} ${\n helperProps?.className ? helperProps.className : \"\"\n }`}\n >\n {helperText && !error && (\n <FormHelperText {...helperProps} className={\"\"} id={helperId}>\n {(helperProps && helperProps.children) || helperText}\n </FormHelperText>\n )}\n {error && errorMessage && (\n <span className={classes[\"error-message\"]}>\n <span className={classes.message} id={errorId}>\n {errorMessageIcon && errorMessageIconPosition === \"before\" && (\n <Icon\n className={`${classes[\"error-icon\"]} ${classes[\"error-icon-before\"]}`}\n icon={errorMessageIcon}\n />\n )}\n {errorMessage}\n {errorMessageIcon && errorMessageIconPosition === \"after\" && (\n <Icon\n className={`${classes[\"error-icon\"]} ${classes[\"error-icon-after\"]}`}\n icon={errorMessageIcon}\n />\n )}\n </span>\n </span>\n )}\n </div>\n )}\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactElement } from \"react\";\nimport { FormGroup, Props as FormGroupProps } from \"../../FormGroup/FormGroup\";\nimport { Label, Props as LabelProps } from \"../../Label/Label\";\nimport classes from \"./Wrapper.module.scss\";\nimport { Props as HelperProps } from \"../../FormHelperText/FormHelperText\";\nimport { FormElement } from \"../../form.interfaces\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\">, FormGroupProps {\n children: ReactElement | ReactElement[];\n floatingLabelActive?: boolean;\n floatingLabel?: boolean;\n helperIndent?: number;\n label?: string;\n labelProps?: LabelProps;\n name: string;\n /** This does NOT add validation! It simply adds an asterix on the Label! */\n required?: boolean;\n innerClassName?: string;\n}\n\n/** For components that extend this component we create an interface (InputWrapper, SelectWrapper, etc.) */\nexport interface WrapperProps extends FormElement {\n errorMessage?: string;\n helperText?: string;\n helperProps?: HelperProps;\n label?: string;\n name: string;\n required?: boolean;\n disabled?: boolean;\n}\n\nexport const Wrapper = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n children,\n className,\n error,\n errorMessage,\n errorId,\n errorMessageIcon,\n errorMessageIconPosition,\n helperText,\n helperId,\n floatingLabel = true,\n floatingLabelActive,\n required,\n helperProps,\n helperIndent,\n labelProps,\n label,\n disabled,\n name,\n innerClassName,\n ...rest\n }: Props,\n ref\n ) => {\n const renderChildren = () =>\n React.Children.map(children, child =>\n React.cloneElement(child, {\n disabled\n })\n );\n\n const labelClasses = [];\n\n floatingLabel && labelClasses.push(classes[\"floating-label\"]);\n floatingLabel && floatingLabelActive && labelClasses.push(classes[\"floating-label-active\"]);\n labelProps?.className && labelClasses.push(labelProps.className);\n required && labelClasses.push(classes[\"required\"]);\n error && labelClasses.push(classes[\"error\"]);\n disabled && labelClasses.push(classes[\"disabled\"]);\n\n return (\n <div {...rest} ref={ref} className={`${classes.wrapper} ${className ?? \"\"}`}>\n <FormGroup\n error={error}\n errorMessage={errorMessage}\n errorId={errorId}\n errorMessageIcon={errorMessageIcon}\n errorMessageIconPosition={errorMessageIconPosition}\n helperText={helperText}\n helperId={helperId}\n helperProps={helperProps}\n helperIndent={helperIndent}\n >\n <div\n className={`${floatingLabel ? classes[\"floating-wrapper\"] : \"\"} ${\n innerClassName ? innerClassName : \"\"\n }`}\n >\n {label && (\n <Label\n {...labelProps}\n className={`${classes.label} ${labelClasses.join(\" \")}`}\n htmlFor={name}\n >\n {label}\n </Label>\n )}\n {renderChildren()}\n </div>\n </FormGroup>\n </div>\n );\n }\n);\n","import { useEffect, useState } from \"react\";\nimport { generateID } from \"../util/helper\";\nimport { Type as InputTypes } from \"../Form/Input/Input\";\n\nexport const useWrapper = (value?: string, placeholder?: string, type?: InputTypes) => {\n const [helperId] = useState(generateID(20));\n const [errorId] = useState(generateID(20));\n const [labelId] = useState(generateID(20));\n const [floatingLabelActive, setFloatingLabelActive] = useState(false);\n const [hasFocus, setHasFocus] = useState(false);\n\n useEffect(() => {\n if (\n (value?.length && value.length > 0) ||\n placeholder ||\n type === \"datetime-local\" ||\n type === \"time\" ||\n type === \"date\"\n ) {\n setFloatingLabelActive(true);\n }\n }, []);\n\n useEffect(() => {\n if ((value?.length && value.length > 0) || hasFocus) {\n setFloatingLabelActive(true);\n } else if (\n !placeholder &&\n !hasFocus &&\n type !== \"datetime-local\" &&\n type !== \"time\" &&\n type !== \"date\"\n ) {\n setFloatingLabelActive(false);\n }\n }, [value, placeholder, type, hasFocus]);\n\n return {\n helperId,\n errorId,\n labelId,\n floatingLabelActive,\n setFloatingLabelActive,\n hasFocus,\n setHasFocus\n };\n};\n","import React, { ComponentPropsWithRef, useEffect, useRef, useState } from \"react\";\nimport { Input, Type, Props as InputProps } from \"../../Input/Input\";\nimport classes from \"./InputWrapper.module.scss\";\nimport { Wrapper, WrapperProps } from \"../Wrapper/Wrapper\";\nimport { useWrapper } from \"../../../hooks/useWrapper\";\n\ninterface PartialInputProps extends Partial<InputProps> {}\n\nexport interface Props extends ComponentPropsWithRef<\"div\">, WrapperProps {\n label: string;\n type: Type;\n name: string;\n inputProps?: PartialInputProps;\n value: string;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void;\n}\n\nconst useLabelOffset = (\n input: React.RefObject<HTMLInputElement>,\n floatingLabelActive: boolean,\n prefix?: string\n) => {\n const [labelOffset, setLabelOffset] = useState({});\n\n const resetLabelOffset = () => setLabelOffset({ left: undefined });\n\n useEffect(() => {\n if (input.current && prefix) {\n if (floatingLabelActive) {\n resetLabelOffset();\n } else {\n const spacingBetweenPrefixAndInput = 4;\n const prefixDifference =\n getComputedStyle(input.current).paddingLeft + spacingBetweenPrefixAndInput;\n setLabelOffset({ left: `${prefixDifference}px` });\n }\n }\n }, [input.current, prefix, floatingLabelActive]);\n\n return { labelOffset };\n};\n\nexport const InputWrapper = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n type,\n name,\n inputProps,\n helperText,\n helperProps,\n value,\n className,\n error,\n onChange,\n onBlur,\n onFocus,\n disabled,\n ...rest\n }: Props,\n ref\n ) => {\n const {\n errorId,\n floatingLabelActive,\n setFloatingLabelActive,\n hasFocus,\n setHasFocus,\n helperId,\n labelId\n } = useWrapper(value, inputProps?.placeholder, type);\n const { prefix, suffix } = inputProps || {};\n const input = useRef<HTMLInputElement>(null);\n const hasValueOrActiveFloatingLabel = !!value || floatingLabelActive;\n const { labelOffset } = useLabelOffset(\n (inputProps && (inputProps.ref as React.RefObject<HTMLInputElement>)) || input,\n floatingLabelActive,\n prefix\n );\n\n const labelClasses = [classes[\"input-label\"]];\n hasFocus && labelClasses.push(classes[\"focus\"]);\n\n const inputWrapperClasses = [];\n floatingLabelActive && inputWrapperClasses.push(classes[\"floating-label-active\"]);\n inputProps?.wrapperProps?.className &&\n inputWrapperClasses.push(inputProps?.wrapperProps?.className);\n disabled && inputWrapperClasses.push(classes[\"disabled\"]);\n\n return (\n <Wrapper\n {...rest}\n ref={ref}\n name={name}\n className={`${classes[\"input-wrapper\"]} ${className ?? \"\"}`}\n labelProps={{\n id: labelId,\n className: labelClasses.join(\" \"),\n style: { ...labelOffset }\n }}\n floatingLabelActive={floatingLabelActive}\n errorId={errorId}\n error={error}\n helperId={helperId}\n helperText={helperText}\n helperProps={{\n ...helperProps,\n className: `${classes[\"input-wrapper-helper\"]} ${helperProps?.className ?? \"\"} `\n }}\n helperIndent={20}\n disabled={disabled}\n >\n <Input\n {...inputProps}\n prefix={hasValueOrActiveFloatingLabel ? prefix : \"\"}\n suffix={hasValueOrActiveFloatingLabel ? suffix : \"\"}\n wrapperProps={{\n className: inputWrapperClasses.join(\" \")\n }}\n ref={(inputProps && inputProps.ref) || input}\n aria-labelledby={labelId}\n aria-describedby={error ? errorId : helperId}\n onChange={onChange}\n onFocus={e => {\n onFocus && onFocus(e);\n setHasFocus(true);\n setFloatingLabelActive(true);\n }}\n onBlur={e => {\n onBlur && onBlur(e);\n setHasFocus(false);\n e.target.value ||\n e.target.placeholder ||\n inputProps?.placeholder?.length ||\n type === \"datetime-local\" ||\n type === \"time\" ||\n type === \"date\"\n ? setFloatingLabelActive(true)\n : setFloatingLabelActive(false);\n }}\n className={`${floatingLabelActive ? classes[\"floating-label\"] : \"\"} ${\n inputProps?.className ?? \"\"\n }`}\n name={name}\n error={error}\n id={name}\n value={value}\n type={type}\n />\n </Wrapper>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactChild, ReactElement } from \"react\";\nimport classes from \"./SelectWrapper.module.scss\";\nimport { Wrapper, WrapperProps } from \"../Wrapper/Wrapper\";\nimport { Select, Props as SelectProps } from \"../../Select/Select\";\nimport { useWrapper } from \"../../../hooks/useWrapper\";\n\ninterface PartialSelectProps extends Partial<SelectProps> {}\n\nexport interface Props\n extends Omit<ComponentPropsWithRef<\"div\">, \"onChange\">,\n Omit<WrapperProps, \"onChange\" | \"error\"> {\n children: ReactChild | ReactChild[];\n placeholder?: string;\n value: string;\n error?: boolean;\n selectProps?: PartialSelectProps;\n onChange?: (event: React.ChangeEvent<HTMLSelectElement>) => void;\n onClear?: (event: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement>) => void;\n}\n\nexport const SelectWrapper = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n children,\n error,\n value,\n placeholder,\n selectProps,\n helperProps,\n onChange,\n onClear,\n ...rest\n }: Props,\n ref\n ) => {\n const { errorId, floatingLabelActive, helperId, labelId } = useWrapper(value, placeholder);\n\n return (\n <Wrapper\n {...rest}\n ref={ref}\n floatingLabelActive={floatingLabelActive}\n errorId={errorId}\n helperId={helperId}\n labelProps={{ id: labelId, className: classes[\"select-label\"] }}\n helperProps={{\n ...helperProps,\n className: `${classes[\"select-helper-text\"]} ${helperProps?.className ?? \"\"}`\n }}\n error={error}\n >\n <Select\n {...selectProps}\n value={value}\n labeledBy={labelId}\n error={error}\n describedBy={error ? errorId : helperId}\n onChange={onChange}\n onClear={e => {\n onClear && onClear(e);\n }}\n placeholder={placeholder}\n className={`${floatingLabelActive ? classes[\"floating-label-active\"] : \"\"} ${\n selectProps?.className ?? \"\"\n }`}\n >\n {children as ReactElement[]}\n </Select>\n </Wrapper>\n );\n }\n);\n","import React, { ComponentPropsWithRef, useState } from \"react\";\nimport classes from \"./TextareaWrapper.module.scss\";\nimport { Wrapper, WrapperProps } from \"../Wrapper/Wrapper\";\nimport { Textarea, Props as TextareaProps } from \"../../Textarea/Textarea\";\nimport { useWrapper } from \"../../../hooks/useWrapper\";\n\nexport interface Props\n extends Omit<\n ComponentPropsWithRef<\"div\">,\n \"onFocus\" | \"onChange\" | \"onBlur\" | \"onMouseEnter\" | \"onMouseLeave\"\n >,\n Omit<WrapperProps, \"onFocus\" | \"onChange\" | \"onBlur\" | \"onMouseEnter\" | \"onMouseLeave\"> {\n placeholder?: string;\n textareaProps?: TextareaProps;\n value: string;\n onFocus?: (event: React.FocusEvent<HTMLTextAreaElement>) => void;\n onChange?: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;\n onBlur?: (event: React.FocusEvent<HTMLTextAreaElement>) => void;\n onMouseEnter?: (event: React.MouseEvent<HTMLTextAreaElement>) => void;\n onMouseLeave?: (event: React.MouseEvent<HTMLTextAreaElement>) => void;\n}\n\nexport const TextareaWrapper = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n name,\n error,\n value,\n label,\n placeholder,\n textareaProps,\n helperProps,\n onChange,\n onFocus,\n onBlur,\n onMouseEnter,\n onMouseLeave,\n disabled,\n ...rest\n }: Props,\n ref\n ) => {\n const {\n errorId,\n floatingLabelActive,\n setFloatingLabelActive,\n hasFocus,\n setHasFocus,\n helperId,\n labelId\n } = useWrapper(value, placeholder);\n const [hover, setHover] = useState(false);\n\n const optionalClasses: string[] = [];\n\n hasFocus && optionalClasses.push(classes[\"focus\"]);\n hover && optionalClasses.push(classes[\"hover\"]);\n disabled && optionalClasses.push(classes[\"disabled\"]);\n error && optionalClasses.push(classes[\"error\"]);\n\n return (\n <Wrapper\n {...rest}\n ref={ref}\n disabled={disabled}\n labelProps={{\n id: labelId,\n className: `${classes[\"textarea-label\"]} ${optionalClasses.join(\" \")}`\n }}\n name={name}\n label={label}\n helperId={helperId}\n helperProps={{\n ...helperProps,\n className: classes[\"textarea-helper-text\"]\n }}\n error={error}\n floatingLabelActive={floatingLabelActive}\n errorId={errorId}\n >\n <Textarea\n {...textareaProps}\n error={error}\n aria-labelledby={label && labelId}\n aria-describedby={error ? errorId : helperId}\n placeholder={placeholder}\n name={name}\n id={name}\n value={value}\n onChange={onChange}\n onFocus={e => {\n onFocus && onFocus(e);\n setHasFocus(true);\n setFloatingLabelActive(true);\n }}\n onBlur={e => {\n onBlur && onBlur(e);\n setHasFocus(false);\n e.target.value || e.target.placeholder || textareaProps?.placeholder?.length\n ? setFloatingLabelActive(true)\n : setFloatingLabelActive(false);\n }}\n onMouseEnter={e => {\n onMouseEnter && onMouseEnter(e);\n setHover(true);\n }}\n onMouseLeave={e => {\n onMouseLeave && onMouseLeave(e);\n setHover(false);\n }}\n className={`${classes[\"textarea\"]} ${error ? classes[\"error\"] : \"\"}`}\n wrapperProps={{\n className: `${classes[\"textarea-wrapper\"]}} ${optionalClasses.join(\" \")}`\n }}\n errorProps={{ className: classes[\"error-icon\"] }}\n />\n </Wrapper>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactNode, ReactElement } from \"react\";\nimport readyclasses from \"../../readyclasses.module.scss\";\nimport classes from \"./Fieldset.module.scss\";\nimport { Typography, Variant } from \"../../Typography/Typography\";\nimport { Input } from \"../Input/Input\";\nimport { Select } from \"../Select/Select\";\nimport { Radio } from \"../Radio/Radio\";\nimport { Checkbox } from \"../Checkbox/Checkbox\";\nimport { Textarea } from \"../Textarea/Textarea\";\nimport { Toggle } from \"../Toggle/Toggle\";\nimport { Label } from \"../Label/Label\";\nimport { FormControl } from \"../FormControl/FormControl\";\nimport { FormSelectorWrapper } from \"../FormSelectorWrapper/FormSelectorWrapper\";\nimport { FormHelperText } from \"../FormHelperText/FormHelperText\";\nimport { InputWrapper } from \"../Wrapper/InputWrapper/InputWrapper\";\nimport { SelectWrapper } from \"../Wrapper/SelectWrapper/SelectWrapper\";\nimport { TextareaWrapper } from \"../Wrapper/TextareaWrapper/TextareaWrapper\";\n\nexport interface Props extends ComponentPropsWithRef<\"fieldset\"> {\n children?: ReactElement | ReactElement[];\n legend: string;\n legendStyle?: Variant;\n hideLegend?: boolean;\n background?: string;\n noPadding?: boolean;\n noBackground?: boolean;\n required?: boolean;\n error?: boolean;\n disablePropagation?: boolean;\n}\n\nexport const Fieldset = React.forwardRef<HTMLFieldSetElement, Props>(\n (\n {\n children,\n className,\n legend,\n legendStyle = \"body\",\n hideLegend = false,\n noBackground,\n background = noBackground ? \"\" : \"#FFF\",\n noPadding = false,\n disabled = false,\n required = false,\n error = false,\n disablePropagation = false,\n ...rest\n }: Props,\n ref\n ) => {\n const renderChildren = () => {\n if (!children) return;\n\n /* All right, so the issue is that whenever we try to add disabled and error to a component that doesn't accept it, \n React will throw an error. However, it might occur that we want a component inside of Fieldset because of aesthetic purposes \n (fieldset applies a sort of container with white background and if we want to display it inside of this container... then yea).\n So instead we supply an array of components that we want to add the disabled and error prop to and check if child.type equals one of these. */\n const allowedComponents: ReactNode[] = [\n Input,\n Select,\n Radio,\n Checkbox,\n Textarea,\n Toggle,\n Label,\n FormControl,\n FormSelectorWrapper,\n FormHelperText,\n InputWrapper,\n SelectWrapper,\n TextareaWrapper\n ];\n\n return React.Children.map(children, (child: ReactElement) => {\n if (allowedComponents.includes(child.type) && !disablePropagation) {\n return React.cloneElement(child, {\n disabled: child.props.disabled ?? disabled,\n error: child.props.error ?? error\n });\n }\n\n return child;\n });\n };\n\n return (\n <fieldset\n {...rest}\n ref={ref}\n disabled={disabled}\n style={{ backgroundColor: background, ...rest.style }}\n className={`${classes.fieldset} ${noPadding ? classes[\"no-padding\"] : \"\"} ${\n className ?? \"\"\n }`}\n >\n {legend && <legend className={readyclasses[\"sr-only\"]}>{legend}</legend>}\n {legend && !hideLegend && (\n <Typography\n variant={legendStyle}\n tag=\"span\"\n aria-hidden=\"true\"\n className={`${classes[\"legend\"]} ${required ? classes[\"required\"] : \"\"} ${\n error ? classes[\"error\"] : \"\"\n }`}\n >\n {legend}\n </Typography>\n )}\n {renderChildren()}\n </fieldset>\n );\n }\n);\n","import React, { HTMLProps, ReactNode } from \"react\";\nimport classes from \"./Form.module.scss\";\n\nexport interface Props extends HTMLProps<HTMLFormElement> {\n children?: ReactNode;\n}\n\nexport const Form = ({ children, className, ...rest }: Props) => {\n return (\n <form className={`${classes.form} ${className ?? \"\"}`} {...rest}>\n {children}\n </form>\n );\n};\n","import React, { ComponentPropsWithRef, ReactElement, useEffect } from \"react\";\nimport classes from \"./RadioWrapper.module.scss\";\nimport { Wrapper, WrapperProps } from \"../Wrapper/Wrapper\";\nimport { useWrapper } from \"../../../hooks/useWrapper\";\nimport { Icons } from \"../../../Icon/Icon\";\nimport { Fieldset, Props as FieldsetProps } from \"../../../Form/Fieldset/Fieldset\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\">, WrapperProps {\n children: ReactElement | ReactElement[];\n fieldsetProps: FieldsetProps;\n value: string;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const RadioWrapper = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n children,\n error,\n name,\n helperText,\n helperProps,\n fieldsetProps,\n value,\n onChange,\n disabled,\n ...rest\n }: Props,\n ref\n ) => {\n const { errorId, helperId } = useWrapper(value);\n\n useEffect(() => {\n if (fieldsetProps.legend === undefined) {\n console.error(\n `You should give your Fieldset component a legend prop so a legend element is rendered. This error was thrown in RadioWrapper. You can add this legend prop through the fieldsetProps prop by passing an object (fieldsetProps={{ legend: \"legend here\" }})`\n );\n }\n }, []);\n\n const renderChildren = () =>\n React.Children.map(children, child =>\n React.cloneElement(child, {\n parentErrorId: errorId,\n error: error,\n checked: child.props.value === value,\n name: name,\n parentHelperId: helperText ? helperId : false,\n onChange: onChange,\n disabled: child.props.disabled !== undefined ? child.props.disabled : disabled\n })\n );\n\n return (\n <Fieldset {...fieldsetProps} error={error} disabled={disabled}>\n <Wrapper\n {...rest}\n ref={ref}\n disabled={disabled}\n name={name}\n helperId={helperId}\n helperText={helperText}\n helperProps={{\n ...helperProps,\n className: `${classes[\"radio-wrapper-helper\"]} ${\n error ? classes[\"radio-wrapper-error\"] : \"\"\n } ${helperProps?.className ?? \"\"}`\n }}\n error={error}\n errorId={errorId}\n errorMessageIcon={Icons.Error}\n floatingLabel={false}\n >\n {renderChildren()}\n </Wrapper>\n </Fieldset>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactElement, useEffect } from \"react\";\nimport classes from \"./CheckboxWrapper.module.scss\";\nimport { useWrapper } from \"../../../hooks/useWrapper\";\nimport { Wrapper, WrapperProps } from \"../Wrapper/Wrapper\";\nimport { Icons } from \"../../../Icon/Icon\";\nimport { Fieldset, Props as FieldsetProps } from \"../../../Form/Fieldset/Fieldset\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\">, WrapperProps {\n children: ReactElement[] | ReactElement;\n fieldsetProps: FieldsetProps;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const CheckboxWrapper = React.forwardRef<HTMLDivElement, Props>(\n ({ children, error = false, helperText, helperProps, fieldsetProps, ...rest }: Props, ref) => {\n const { errorId, helperId } = useWrapper();\n\n useEffect(() => {\n if (fieldsetProps.legend === undefined) {\n console.error(\n `You should give your Fieldset component a legend prop so a legend element is rendered. This error was thrown in CheckboxWrapper. You can add this legend prop through the fieldsetProps prop by passing an object (fieldsetProps={{ legend: \"legend here\" }})`\n );\n }\n }, []);\n\n const renderChildren = () =>\n React.Children.map(children, child =>\n React.cloneElement(child, {\n parentErrorId: errorId,\n error: error,\n parentHelperId: helperText ? helperId : false,\n disabled: rest.disabled\n })\n );\n\n return (\n <Fieldset {...fieldsetProps} error={error} required={rest.required}>\n <Wrapper\n {...rest}\n ref={ref}\n label=\"\"\n helperId={helperId}\n helperText={helperText}\n helperProps={{\n ...helperProps,\n className: `${classes[\"checkbox-wrapper-helper\"]} ${\n error ? classes[\"checkbox-wrapper-error\"] : \"\"\n } ${helperProps?.className ?? \"\"}`\n }}\n error={error}\n errorMessageIcon={Icons.Error}\n errorId={errorId}\n >\n {renderChildren()}\n </Wrapper>\n </Fieldset>\n );\n }\n);\n","import { Reducer } from \"react\";\nimport { Step } from \"./BaseWizardSteps/BaseWizardSteps\";\nimport { WizardMode } from \"./Wizard\";\n\ntype WizardStateType = {\n steps: Step[];\n currentStepNo: number;\n mode: WizardMode;\n stepScreenReaderLabel: string;\n};\n\ninterface SetWizardStateAction {\n type: \"SET_STATE\";\n payload: {\n steps: Step[];\n mode: WizardMode;\n stepScreenReaderLabel: string;\n };\n}\n\ninterface ChangeCurrentStepNoAction {\n type: \"CHANGE_CURRENT_STEP_NO\";\n payload: number;\n}\n\nconst setWizardState = (\n steps: Step[],\n mode: WizardMode,\n stepScreenReaderLabel: string\n): SetWizardStateAction => {\n return { type: \"SET_STATE\", payload: { steps, mode, stepScreenReaderLabel } };\n};\n\nconst changeCurrentStepNo = (currentStepNo: number): ChangeCurrentStepNoAction => {\n return { type: \"CHANGE_CURRENT_STEP_NO\", payload: currentStepNo };\n};\n\ntype WizardActions = SetWizardStateAction | ChangeCurrentStepNoAction;\n\nconst reducer: Reducer<WizardStateType, WizardActions> = (state, action) => {\n switch (action.type) {\n case \"SET_STATE\":\n return { ...state, ...action.payload };\n case \"CHANGE_CURRENT_STEP_NO\":\n return { ...state, currentStepNo: action.payload };\n default:\n return state;\n }\n};\n\nexport { setWizardState, changeCurrentStepNo, reducer, WizardActions, WizardStateType };\n","import React, { createContext, Dispatch, useReducer } from \"react\";\nimport { WizardActions, WizardStateType, reducer } from \"./wizardStateReducer\";\n\nconst WizardStateContext = createContext<{\n state: WizardStateType;\n dispatch: Dispatch<WizardActions>;\n}>({\n state: {} as WizardStateType,\n dispatch: () => null\n});\n\nexport interface Props {\n initialState: WizardStateType;\n children?: React.ReactNode;\n}\n\nconst WizardStateProvider = ({ children, initialState }: Props) => {\n const [state, dispatch] = useReducer(reducer, initialState);\n return (\n <WizardStateContext.Provider value={{ state, dispatch }}>\n {children}\n </WizardStateContext.Provider>\n );\n};\n\nexport { WizardStateProvider, WizardStateContext };\n","import React, { Fragment, useContext, useEffect } from \"react\";\nimport { Step } from \"./BaseWizardSteps/BaseWizardSteps\";\nimport { WizardStateContext, WizardStateProvider } from \"./WizardStateProvider\";\nimport { setWizardState } from \"./wizardStateReducer\";\n\nexport type WizardMode = \"add\" | \"edit\";\n\nexport interface Props {\n steps: Step[];\n mode: WizardMode;\n initialStepNo?: number;\n onStepChange: (stepNo: number) => void;\n stepScreenReaderLabel: string;\n children: React.ReactNode;\n}\n\nconst useSetWizardState = (steps: Step[], mode: WizardMode, stepScreenReaderLabel: string) => {\n const { dispatch } = useContext(WizardStateContext);\n\n useEffect(() => {\n dispatch(setWizardState(steps, mode, stepScreenReaderLabel));\n }, [steps, mode, stepScreenReaderLabel]);\n};\n\nconst useStepChanging = (onStepChange: (stepNo: number) => void) => {\n const {\n state: { currentStepNo }\n } = useContext(WizardStateContext);\n\n useEffect(() => {\n onStepChange(currentStepNo);\n }, [currentStepNo]);\n};\n\nconst WizardContent = ({ steps, mode, stepScreenReaderLabel, onStepChange, children }: Props) => {\n useSetWizardState(steps, mode, stepScreenReaderLabel);\n useStepChanging(onStepChange);\n\n return <Fragment>{children}</Fragment>;\n};\n\nexport const Wizard = (props: Props) => {\n const { steps, initialStepNo: currentStepNo = 0, mode, stepScreenReaderLabel } = props;\n return (\n <WizardStateProvider initialState={{ steps, currentStepNo, mode, stepScreenReaderLabel }}>\n <WizardContent {...props} />\n </WizardStateProvider>\n );\n};\n","import React, { Fragment, useContext, useMemo } from \"react\";\nimport { Button } from \"../../Button/Button\";\nimport { Step } from \"../BaseWizardSteps/BaseWizardSteps\";\nimport { WizardMode } from \"../Wizard\";\nimport { WizardStateContext } from \"../WizardStateProvider\";\nimport { changeCurrentStepNo } from \"../wizardStateReducer\";\n\nexport interface Props extends React.HTMLProps<HTMLDivElement> {\n cancelButtonLabel: string;\n previousButtonLabel: string;\n nextButtonLabel: string;\n saveAndCloseButtonLabel: string;\n onCancel: () => void;\n onNext: (currentStepNo: number) => boolean;\n onPrevious?: () => void;\n onSaveAndClose: (currentStepNo: number) => void;\n}\n\nconst calculateNextStepNo = (steps: Step[], currentStepNo: number) => () =>\n steps.findIndex((step, stepNo) => stepNo > currentStepNo && !step.disabled);\n\nconst calculatePrevStepNo = (steps: Step[], currentStepNo: number) => () => {\n const reversedCurrentStepNo = steps.length - 1 - currentStepNo;\n const reversedPrevStepNo = [...steps]\n .reverse()\n .findIndex((step, stepNo) => stepNo > reversedCurrentStepNo && !step.disabled);\n if (reversedPrevStepNo > 0) {\n return steps.length - 1 - reversedPrevStepNo;\n }\n return -1;\n};\n\nconst useNextStepNo = (mode: WizardMode, currentStepNo: number, steps: Step[]) =>\n useMemo(calculateNextStepNo(steps, currentStepNo), [mode, currentStepNo, steps]);\n\nconst usePreviousStepNo = (mode: WizardMode, currentStepNo: number, steps: Step[]) =>\n useMemo(calculatePrevStepNo(steps, currentStepNo), [mode, currentStepNo, steps]);\n\nexport const WizardActions = ({\n onCancel,\n onNext,\n onPrevious,\n onSaveAndClose,\n cancelButtonLabel,\n previousButtonLabel,\n nextButtonLabel,\n saveAndCloseButtonLabel\n}: Props) => {\n const {\n state: { mode, steps, currentStepNo },\n dispatch\n } = useContext(WizardStateContext);\n const nextStepNo = useNextStepNo(mode, currentStepNo, steps);\n const hasNextStep = nextStepNo !== -1;\n const previousStepNo = usePreviousStepNo(mode, currentStepNo, steps);\n const hasPreviousStep = previousStepNo !== -1;\n const isLastStepOrEditMode = !hasNextStep || mode === \"edit\";\n\n const changeStepNo = (direction: \"forward\" | \"backward\") => {\n if (direction === \"forward\") {\n hasNextStep && dispatch(changeCurrentStepNo(nextStepNo));\n } else {\n hasPreviousStep && dispatch(changeCurrentStepNo(previousStepNo));\n }\n };\n\n const onNextWrapper = () => {\n onNext(currentStepNo) && changeStepNo(\"forward\");\n };\n\n const onPreviousWrapper = () => {\n onPrevious && onPrevious();\n changeStepNo(\"backward\");\n };\n\n const onSaveAndCloseWrapper = () => {\n onSaveAndClose(currentStepNo);\n };\n\n return (\n <Fragment>\n <Button variant=\"text\" onClick={onCancel}>\n {cancelButtonLabel}\n </Button>\n {hasPreviousStep && (\n <Button variant=\"outline\" onClick={onPreviousWrapper}>\n {previousButtonLabel}\n </Button>\n )}\n {hasNextStep && (\n <Button variant={mode === \"edit\" ? \"outline\" : \"fill\"} onClick={onNextWrapper}>\n {nextButtonLabel}\n </Button>\n )}\n {isLastStepOrEditMode && (\n <Button onClick={onSaveAndCloseWrapper}>{saveAndCloseButtonLabel}</Button>\n )}\n </Fragment>\n );\n};\n","import React, { ComponentPropsWithRef, Fragment } from \"react\";\nimport classes from \"./BaseWizardSteps.module.scss\";\nimport readyclasses from \"../../readyclasses.module.scss\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\n\ntype StepState = \"finished\" | \"current\" | \"future\";\n\nexport interface Step {\n label: string;\n disabled?: boolean;\n}\n\nexport interface Props extends Omit<ComponentPropsWithRef<\"div\">, \"onClick\"> {\n steps: Step[];\n currentStepNo: number;\n onClick?: (stepNo: number) => void;\n futureStepsClickable?: boolean;\n stepScreenReaderLabel: string;\n}\n\nexport const BaseWizardSteps = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n steps,\n currentStepNo,\n onClick,\n futureStepsClickable = false,\n stepScreenReaderLabel,\n ...rest\n }: Props,\n ref\n ) => {\n const getStepState = (stepNo: number): StepState => {\n if (currentStepNo === stepNo) {\n return \"current\";\n } else if (stepNo < currentStepNo) {\n return \"finished\";\n }\n return \"future\";\n };\n\n const getStepContent = (stepState: StepState, index: number, disabled?: boolean) => {\n const stepNumberString = String(index + 1);\n if (stepState === \"finished\") {\n return disabled ? null : <Icon className={classes[\"checkmark\"]} icon={Icons.Checkmark} />;\n } else {\n return (\n <Fragment>\n <span className={readyclasses[\"sr-only\"]}>{stepScreenReaderLabel} </span>\n {stepNumberString}\n </Fragment>\n );\n }\n };\n\n const generatedSteps = steps.map((step, index) => {\n const stepState = getStepState(index);\n const disabledStyleClassName = step.disabled ? classes[\"disabled\"] : \"\";\n const clickableClassName = futureStepsClickable ? classes[\"clickable\"] : \"\";\n\n return (\n <button\n key={step.label.toLowerCase().replace(/\\s/, \"-\")}\n disabled={\n step.disabled ||\n (stepState === \"future\" && !futureStepsClickable) ||\n stepState === \"current\"\n }\n aria-current={stepState === \"current\" ? \"step\" : undefined}\n onClick={() => onClick && onClick(index)}\n className={`${classes[\"wizard-element\"]} ${classes[stepState]} ${clickableClassName} ${disabledStyleClassName}`}\n >\n <div className={classes[\"number-wrapper\"]}>\n <span className={classes[\"number\"]}>\n {getStepContent(stepState, index, step.disabled)}\n </span>\n </div>\n <div className={classes[\"two-line-text-overflow\"]}>\n <span className={classes[\"label\"]}>{step.label}</span>\n </div>\n </button>\n );\n });\n\n return (\n <div {...rest} ref={ref} className={classes[\"wizard\"]}>\n {generatedSteps}\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef, useContext } from \"react\";\nimport { WizardStateContext } from \"../WizardStateProvider\";\nimport { BaseWizardSteps } from \"../BaseWizardSteps/BaseWizardSteps\";\nimport { changeCurrentStepNo } from \"../wizardStateReducer\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n onStepClick: (currentStepNo: number, selectedStepNo: number) => boolean;\n}\n\nexport const WizardSteps = React.forwardRef<HTMLDivElement, Props>(\n ({ onStepClick, ...rest }: Props, ref) => {\n const {\n state: { currentStepNo, mode, stepScreenReaderLabel, steps },\n dispatch\n } = useContext(WizardStateContext);\n\n const onClick = (selectedStepNo: number) => {\n onStepClick(currentStepNo, selectedStepNo) && dispatch(changeCurrentStepNo(selectedStepNo));\n };\n\n return (\n <BaseWizardSteps\n {...rest}\n ref={ref}\n onClick={onClick}\n steps={steps}\n currentStepNo={currentStepNo}\n stepScreenReaderLabel={stepScreenReaderLabel}\n futureStepsClickable={mode === \"edit\"}\n />\n );\n }\n);\n","import React, { ComponentPropsWithRef, Fragment } from \"react\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\nimport { ColumnName, Direction } from \"../datagrid.interfaces\";\nimport classes from \"./DataGridHeaderCell.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"th\"> {\n headline: string;\n name: ColumnName;\n disableSorting?: boolean;\n activeSortDirection?: Direction;\n onSort?: (name: ColumnName) => void;\n}\n\nconst ariaSortMapping = {\n ASC: \"ascending\",\n DESC: \"descending\"\n} as const;\n\nexport const DataGridHeaderCell = React.forwardRef<HTMLTableCellElement, Props>(\n ({ headline, name, disableSorting, activeSortDirection, onSort, ...rest }: Props, ref) => {\n const onCellClick = () => {\n onSort && onSort(name);\n };\n\n const sortingIndicator = () => {\n const getSortingIndicatorClasses = (direction: Direction) => {\n const sortingIndicatorClasses = [classes[\"indicator\"]];\n activeSortDirection &&\n sortingIndicatorClasses.push(\n activeSortDirection === direction ? classes[\"active\"] : classes[\"hidden\"]\n );\n return sortingIndicatorClasses;\n };\n\n return (\n <Fragment>\n <Icon className={getSortingIndicatorClasses(\"ASC\").join(\" \")} icon={Icons.TriangleUp} />\n <Icon\n className={getSortingIndicatorClasses(\"DESC\").join(\" \")}\n icon={Icons.TriangleDown}\n />\n </Fragment>\n );\n };\n\n const innerContent = (\n <Fragment>\n <span className={classes[\"headline\"]}>{headline}</span>\n {!disableSorting && (\n <div className={classes[\"sorting-indicator-container\"]}>{sortingIndicator()}</div>\n )}\n </Fragment>\n );\n\n return (\n <th\n {...rest}\n ref={ref}\n className={classes[\"header-cell\"]}\n aria-sort={activeSortDirection && ariaSortMapping[activeSortDirection]}\n >\n {disableSorting ? (\n <div key={name}>{innerContent}</div>\n ) : (\n <button key={name} onClick={onCellClick}>\n {innerContent}\n </button>\n )}\n </th>\n );\n }\n);\n","import React, { ComponentPropsWithRef, useEffect, useState } from \"react\";\nimport { ColumnName, Direction, HeaderCell, OnSortFunction, Sort } from \"../datagrid.interfaces\";\nimport { DataGridHeaderCell } from \"./DataGridHeaderCell\";\nimport classes from \"./DataGridHeader.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"thead\"> {\n headers: HeaderCell[];\n initialSort?: Sort;\n onSort?: OnSortFunction;\n disableContextMenuColumn?: boolean;\n enableMultiSorting?: boolean;\n spacing?: React.CSSProperties;\n}\n\nconst sortingStates = [undefined, \"ASC\", \"DESC\"] as (Direction | undefined)[];\n\nexport const DataGridHeader = React.forwardRef<HTMLTableSectionElement, Props>(\n (\n {\n initialSort,\n onSort,\n headers,\n disableContextMenuColumn,\n enableMultiSorting,\n spacing,\n ...rest\n }: Props,\n ref\n ) => {\n const [sortList, setSortList] = useState(initialSort || []);\n\n useEffect(() => {\n setSortList(initialSort || []);\n }, [initialSort]);\n\n const calculateNextSortState = (direction?: Direction) => {\n const currentDirectionIdx = sortingStates.findIndex(item => item === direction);\n return sortingStates[currentDirectionIdx + (1 % sortingStates.length)];\n };\n\n /**\n * The sortList contains sorting columns objects. The order of those objects determinates priorities of sorting.\n * Last modified sorting column has the highest priority.\n */\n const updateSortList = (name: ColumnName): Sort => {\n const current = sortList.find(item => item.name === name);\n const restSortList = enableMultiSorting ? sortList.filter(item => item.name !== name) : [];\n const newSortDirection = calculateNextSortState(current?.direction);\n return newSortDirection\n ? [{ name, direction: newSortDirection }, ...restSortList]\n : restSortList;\n };\n\n const wrapOnSort = (name: ColumnName) => {\n const newSort = updateSortList(name);\n onSort && onSort(newSort);\n setSortList(newSort);\n };\n\n const headerCells = headers.map((header, index) => {\n if (header.hidden) {\n return null;\n }\n\n let headerStyle: React.CSSProperties = {};\n\n if (index === 0) {\n headerStyle.paddingLeft = spacing?.paddingLeft;\n }\n if (index === headers.length - 1 && disableContextMenuColumn) {\n headerStyle.paddingRight = spacing?.paddingRight;\n }\n\n const sort = sortList.find(item => item.name === header.name);\n return (\n <DataGridHeaderCell\n key={header.name}\n name={header.name}\n headline={header.headline}\n disableSorting={header.disableSorting || !onSort}\n onSort={wrapOnSort}\n activeSortDirection={sort?.direction}\n style={headerStyle}\n />\n );\n });\n\n return (\n <thead {...rest} ref={ref} className={classes[\"thead\"]}>\n <tr className={classes[\"row\"]}>\n {headerCells}\n {!disableContextMenuColumn && (\n <td\n style={{ paddingRight: spacing?.paddingRight }}\n aria-label=\"context menu\"\n className={classes[\"context-menu\"]}\n ></td>\n )}\n </tr>\n </thead>\n );\n }\n);\n","import React, { Fragment, useState } from \"react\";\nimport { IconButton } from \"../../Button/IconButton\";\nimport { Toggle } from \"../../Form/Toggle/Toggle\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\nimport { Popover, Props as PopoverProps } from \"../../Popover/Popover\";\nimport { Typography } from \"../../Typography/Typography\";\nimport { generateID } from \"../../util/helper\";\nimport { ColumnName, HeaderCell } from \"../datagrid.interfaces\";\nimport classes from \"./DataGridColumnsToggle.module.scss\";\nimport { createPortal } from \"react-dom\";\n\nexport interface Props extends PopoverProps {\n open: boolean;\n headers: HeaderCell[];\n titleLabel?: string;\n closeButtonTitle?: string;\n onClose: () => void;\n onToggleClicked: (colName: ColumnName) => void;\n domRoot?: HTMLElement;\n}\n\nexport const DataGridColumnsToggle = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n open,\n headers,\n titleLabel = \"Show columns\",\n closeButtonTitle = \"Close show columns dialog\",\n onClose,\n onToggleClicked,\n className,\n domRoot = document.body,\n ...rest\n }: Props,\n ref\n ) => {\n const [id] = useState(generateID());\n const labelledId = id + \"_header\";\n\n const toggles = headers.map(item => (\n <Toggle\n key={item.name}\n name={item.name}\n checked={!item.hidden}\n onChange={() => onToggleClicked(item.name)}\n >\n {item.headline}\n </Toggle>\n ));\n\n const handleBackdropClick = () => onClose();\n\n return (\n <Popover\n {...rest}\n ref={ref}\n className={`${classes[\"popover\"]} ${className}`}\n show={open}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={labelledId}\n >\n {open &&\n createPortal(\n <div className={classes[\"backdrop\"]} onClick={handleBackdropClick}></div>,\n domRoot\n )}\n {open && (\n <Fragment>\n <div className={classes[\"header\"]}>\n <Typography id={labelledId} className={classes[\"title\"]} tag=\"span\" variant=\"h4\">\n {titleLabel}\n </Typography>\n <IconButton\n onClick={onClose}\n className={`${classes[\"close-btn\"]}`}\n title={closeButtonTitle}\n >\n <Icon icon={Icons.Times} />\n </IconButton>\n </div>\n <div className={classes[\"content\"]}>{toggles}</div>\n </Fragment>\n )}\n </Popover>\n );\n }\n);\n","import React, { ComponentPropsWithRef, Fragment, useRef, useState } from \"react\";\nimport { Button, Props as ButtonProps } from \"../../Button/Button\";\nimport { IconButton } from \"../../Button/IconButton\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\nimport { HeaderCell, ColumnName } from \"../datagrid.interfaces\";\nimport classes from \"./DataGridActions.module.scss\";\nimport { DataGridColumnsToggle } from \"./DataGridColumnsToggle\";\n\nexport interface Props extends ComponentPropsWithRef<\"div\"> {\n enableAddBtn?: boolean;\n enableColumnsBtn?: boolean;\n enableSearchBtn?: boolean;\n addBtnProps?: ButtonProps;\n columnsBtnProps?: ButtonProps;\n searchBtnProps?: ButtonProps;\n headers: HeaderCell[];\n onColumnToggled: (colName: ColumnName) => void;\n}\n\nexport const DataGridActions = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n className,\n enableAddBtn,\n enableColumnsBtn,\n enableSearchBtn,\n addBtnProps = {},\n columnsBtnProps = {},\n searchBtnProps = {},\n headers,\n onColumnToggled,\n ...rest\n }: Props,\n ref\n ) => {\n const isHidden = !(enableAddBtn || enableColumnsBtn || enableSearchBtn);\n const [showColsPopover, setShowColsPopover] = useState(false);\n const showColumnBtn = useRef<HTMLButtonElement>(null);\n\n return isHidden ? null : (\n <div {...rest} ref={ref} className={`${classes[\"actions\"]} ${className ?? \"\"}`}>\n <div className={classes[\"left-actions\"]}>\n {enableAddBtn && (\n <Button\n color=\"primary\"\n startIcon={<Icon icon={Icons.Plus} />}\n title=\"Add item\"\n type=\"button\"\n variant=\"outline\"\n children=\"Add item\"\n {...addBtnProps}\n />\n )}\n </div>\n <div className={classes[\"right-actions\"]}>\n {enableColumnsBtn && (\n <Fragment>\n <Button\n startIcon={<Icon icon={Icons.Change} />}\n title=\"Show/hide columns\"\n variant=\"text\"\n children=\"Columns\"\n {...columnsBtnProps}\n className={`${classes[\"desktop\"]} ${columnsBtnProps?.className ?? \"\"}`}\n ref={showColumnBtn}\n onClick={() => setShowColsPopover(true)}\n />\n <IconButton\n title=\"Show/hide columns\"\n {...columnsBtnProps}\n onClick={() => setShowColsPopover(true)}\n className={`${classes[\"mobile\"]} ${columnsBtnProps?.className ?? \"\"}`}\n >\n <Icon icon={Icons.Change} />\n </IconButton>\n <DataGridColumnsToggle\n aria-hidden={!showColsPopover}\n open={showColsPopover}\n headers={headers}\n onClose={() => setShowColsPopover(false)}\n onToggleClicked={onColumnToggled}\n anchorEl={showColumnBtn}\n />\n </Fragment>\n )}\n {enableSearchBtn && (\n <Fragment>\n <Button\n startIcon={<Icon icon={Icons.TableSearch} />}\n title=\"Search\"\n variant=\"text\"\n children=\"Search\"\n {...searchBtnProps}\n className={`${classes[\"desktop\"]} ${searchBtnProps?.className ?? \"\"}`}\n />\n <IconButton\n title=\"Search\"\n {...searchBtnProps}\n className={`${classes[\"mobile\"]} ${columnsBtnProps?.className ?? \"\"}`}\n >\n <Icon icon={Icons.TableSearch} />\n </IconButton>\n </Fragment>\n )}\n </div>\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactChild } from \"react\";\nimport { Typography } from \"../../Typography/Typography\";\nimport classes from \"./DataGridCell.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"td\"> {\n children?: ReactChild;\n isLoading?: boolean;\n spacing?: React.CSSProperties;\n cellIndex?: number;\n columnLength?: number;\n disableContextMenuColumn?: boolean;\n}\n\nexport const DataGridCell = React.forwardRef<HTMLTableCellElement, Props>(\n (\n {\n children,\n className,\n isLoading,\n spacing,\n cellIndex,\n columnLength,\n disableContextMenuColumn,\n ...rest\n }: Props,\n ref\n ) => {\n let cellStyle: React.CSSProperties = {};\n\n if (cellIndex === 0) {\n cellStyle.paddingLeft = spacing?.paddingLeft;\n }\n if (\n (cellIndex === columnLength && !disableContextMenuColumn) ||\n (columnLength && cellIndex === columnLength - 1 && disableContextMenuColumn)\n ) {\n cellStyle.paddingRight = spacing?.paddingRight;\n }\n\n return (\n <td\n {...rest}\n ref={ref}\n style={{ ...rest.style, ...cellStyle }}\n className={`${classes[\"cell\"]} ${className ?? \"\"}`}\n >\n {isLoading && (\n <div className={classes[\"loading\"]} aria-busy=\"true\" aria-live=\"polite\"></div>\n )}\n {!isLoading && (\n <Typography variant=\"body\" tag=\"span\">\n {children}\n </Typography>\n )}\n </td>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from \"react\";\nimport { HeaderCell } from \"../datagrid.interfaces\";\nimport classes from \"./DataGridRow.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"tr\"> {\n headers?: HeaderCell[];\n isLoading?: boolean;\n spacing?: React.CSSProperties;\n disableContextMenuColumn?: boolean;\n}\n\nexport const DataGridRow = React.forwardRef<HTMLTableRowElement, Props>(\n (\n { children, className, headers, isLoading, spacing, disableContextMenuColumn, ...rest }: Props,\n ref\n ) => {\n const visibleCells = React.Children.map(children as React.ReactElement[], (child, index) => {\n if (child) {\n const cellWithSpacing = React.cloneElement(child, {\n spacing: spacing,\n cellIndex: index,\n columnLength: headers?.length,\n disableContextMenuColumn\n });\n\n const visible = headers && headers.length > index ? !headers[index].hidden : true;\n return visible && cellWithSpacing;\n }\n return null;\n });\n\n const classNames = [classes[\"row\"]];\n className && classNames.push(className);\n isLoading && classNames.push(classes[\"loading\"]);\n\n return (\n <tr {...rest} ref={ref} className={classNames.join(\" \")}>\n {visibleCells}\n </tr>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactElement, Ref } from \"react\";\nimport { HeaderCell } from \"../datagrid.interfaces\";\nimport { DataGridCell } from \"./DataGridCell\";\nimport { DataGridRow } from \"./DataGridRow\";\nimport classes from \"./DataGridBody.module.scss\";\nimport { Typography } from \"../../Typography/Typography\";\n\nexport interface Props<T> extends ComponentPropsWithRef<\"tbody\"> {\n children: ({ item, index }: { item: T; index: number }) => ReactElement;\n data?: T[];\n headers: HeaderCell[];\n isLoading?: boolean;\n disableContextMenuColumn?: boolean;\n emptyLabel?: string;\n spacing?: React.CSSProperties;\n}\n\nconst skeletonLoadingRows = 9;\n\nconst DataGridBodyInner = <T extends {}>(\n {\n children,\n data,\n headers,\n isLoading,\n disableContextMenuColumn,\n emptyLabel,\n spacing,\n ...rest\n }: Props<T>,\n ref: Ref<HTMLTableSectionElement>\n) => {\n const renderContent = () => {\n const visibleColumns = headers.filter(header => !header.hidden).length;\n if (isLoading) {\n return Array.from(Array(skeletonLoadingRows)).map((_, rowIdx) => (\n <DataGridRow key={rowIdx} isLoading>\n {Array.from(Array(visibleColumns)).map((__, colIdx) => (\n <DataGridCell key={colIdx} isLoading></DataGridCell>\n ))}\n {!disableContextMenuColumn && <DataGridCell></DataGridCell>}\n </DataGridRow>\n ));\n }\n\n const emptyData = !data || data.length === 0;\n if (emptyData) {\n return (\n <tr>\n <td\n className={classes[\"empty\"]}\n colSpan={visibleColumns + (disableContextMenuColumn ? 0 : 1)}\n >\n <Typography variant=\"body\" spacing={{ margin: 0 }}>\n {emptyLabel}\n </Typography>\n </td>\n </tr>\n );\n }\n\n return data?.map((item, index) => {\n return React.cloneElement(children({ item, index }), {\n headers,\n spacing,\n disableContextMenuColumn\n });\n });\n };\n\n return (\n <tbody {...rest} ref={ref}>\n {renderContent()}\n </tbody>\n );\n};\n\nexport const DataGridBody = React.forwardRef(DataGridBodyInner) as <T extends {}>(\n p: Props<T> & { ref?: Ref<HTMLTableSectionElement> }\n) => ReactElement;\n","import React, { ComponentPropsWithRef, ReactElement, Ref, useEffect, useState } from \"react\";\nimport { Props as ButtonProps } from \"../Button/Button\";\nimport classes from \"./DataGrid.module.scss\";\nimport { DataGridHeader } from \"./DataGridHeader/DataGridHeader\";\nimport { DataGridActions } from \"./DataGridActions/DataGridActions\";\nimport { DataGridBody } from \"./DataGridBody/DataGridBody\";\nimport { ColumnName, HeaderCell, OnSortFunction, Sort } from \"./datagrid.interfaces\";\nimport { Pagination, Props as PaginationProps } from \"../Pagination/Pagination\";\nimport { Spacing, useSpacing } from \"../hooks/useSpacing\";\n\nexport interface Props<T> extends Omit<ComponentPropsWithRef<\"div\">, \"children\"> {\n children: ({ item, index }: { item: T; index: number }) => ReactElement;\n data?: T[];\n initialSort?: Sort;\n onSort?: OnSortFunction;\n headers: HeaderCell[];\n actions?: {\n enableAddBtn?: boolean;\n enableColumnsBtn?: boolean;\n enableSearchBtn?: boolean;\n addBtnProps?: ButtonProps;\n columnsBtnProps?: ButtonProps;\n searchBtnProps?: ButtonProps;\n };\n emptyLabel?: string;\n paginationProps?: PaginationProps;\n disableContextMenuColumn?: boolean;\n isLoading?: boolean;\n enableMultiSorting?: boolean;\n spacing?: Spacing;\n}\n\nconst DataGridInner = <T extends {}>(\n {\n children,\n data,\n initialSort,\n onSort,\n headers,\n actions = {},\n paginationProps,\n disableContextMenuColumn,\n isLoading,\n enableMultiSorting,\n emptyLabel,\n spacing,\n style,\n ...rest\n }: Props<T>,\n ref: Ref<HTMLDivElement>\n) => {\n if (!headers) {\n throw new Error(\"Headers definition has to be provided\");\n }\n if (!children) {\n throw new Error(\"DataGridBody should be provieded with a template how to render rows\");\n }\n\n const [internalHeaders, setInternalHeaders] = useState(headers);\n const styleWithSpacing = useSpacing(spacing, style);\n\n useEffect(() => setInternalHeaders(headers), [headers]);\n\n const onColumnToggled = (colName: ColumnName) => {\n setInternalHeaders(\n internalHeaders.map(item =>\n item.name !== colName ? item : { ...item, hidden: !item.hidden }\n )\n );\n };\n\n if (styleWithSpacing?.padding) {\n const splitPaddings = styleWithSpacing.padding.toString().split(\" \");\n\n let paddingLeftIndex: number = 0;\n\n if (splitPaddings.length >= 2) {\n paddingLeftIndex = 1;\n }\n if (splitPaddings.length === 4) {\n paddingLeftIndex = 3;\n }\n\n Object.defineProperties(styleWithSpacing, {\n paddingTop: {\n value: splitPaddings[0]\n },\n paddingRight: {\n value: splitPaddings[splitPaddings.length - 1 > 0 ? 1 : 0]\n },\n paddingBottom: {\n value: splitPaddings[splitPaddings.length / 3 >= 1 ? 2 : 0]\n },\n paddingLeft: {\n value: splitPaddings[paddingLeftIndex]\n }\n });\n }\n\n return (\n <div\n {...rest}\n className={classes[\"grid-wrapper\"]}\n ref={ref}\n style={{\n paddingTop: styleWithSpacing?.paddingTop,\n paddingBottom: styleWithSpacing?.paddingBottom\n }}\n >\n <DataGridActions\n {...actions}\n style={{\n paddingLeft: styleWithSpacing?.paddingLeft,\n paddingRight: styleWithSpacing?.paddingRight\n }}\n headers={internalHeaders}\n onColumnToggled={onColumnToggled}\n />\n <div className={classes[\"table-wrapper\"]}>\n <table className={classes[\"table\"]}>\n <DataGridHeader\n headers={internalHeaders}\n initialSort={initialSort}\n onSort={onSort}\n disableContextMenuColumn={disableContextMenuColumn}\n enableMultiSorting={enableMultiSorting}\n spacing={styleWithSpacing}\n />\n <DataGridBody\n children={children}\n data={data}\n headers={internalHeaders}\n isLoading={isLoading}\n disableContextMenuColumn={disableContextMenuColumn}\n emptyLabel={emptyLabel}\n spacing={styleWithSpacing}\n />\n </table>\n </div>\n {paginationProps && !isLoading && (\n <Pagination\n {...paginationProps}\n style={{\n ...paginationProps.style,\n paddingLeft: styleWithSpacing?.paddingLeft,\n paddingRight: styleWithSpacing?.paddingRight\n }}\n className={`${classes[\"pagination\"]} ${paginationProps.className ?? \"\"}`}\n />\n )}\n </div>\n );\n};\n\nexport const DataGrid = React.forwardRef(DataGridInner) as <T extends {}>(\n p: Props<T> & { ref?: Ref<HTMLDivElement> }\n) => ReactElement;\n"],"names":["BaseStyling","children","properties","defaultProperties","colorFocus","colorPrimary","colorSecondary","colorTertiary","defaultLineHeight","buttonBorderRadius","buttonBorderWidth","buttonFontSize","buttonBorderStyle","buttonFillTextColor","buttonFillBackgroundColor","buttonOutlineHoverTextColor","inputBorderColor","inputBorderRadius","inputBorderWidth","inputBorderWidthFocus","inputBorderStyle","inputBackgroundColor","modalShadowColor","modalBackgroundColor","modalHeaderBackgroundColor","snackbarTextColor","snackbarInfoBackgroundColor","snackbarSuccessBackgroundColor","snackbarErrorBackgroundColor","snackbarBorderRadius","dataGridRowBackgroundColor","dataGridRowHoverBackgroundColor","tabsBackgroundColor","tabBorderWidth","tabBorderStyle","tablistBorderWidth","tablistBorderStyle","tablistBorderColor","tabTextColor","success","error","disabled","greyedOut","warning","fontFamily","fontFamilyCode","fontSize","fontSizeH1","fontSizeH2","fontSizeH3","fontSizeH4","fontSizeSub","fontSizeCode","useState","isLoading","setIsLoading","setCSSProperties","CSSPropertiesObject","Object","entries","key","value","formattedPropertyName","replace","val","toLowerCase","document","documentElement","style","setProperty","useEffect","keys","length","mergedState","React","createElement","Fragment","BaseButton","forwardRef","ref","type","className","rest","_excluded","validTypes","includes","Error","classes","button","Button","variant","color","startIcon","endIcon","additionalClasses","push","join","Icons","Icon","icon","size","tag","Component","defaultFactor","defaultUnit","spacingNumberRegex","useSpacing","spacingProps","reduce","prev","spacing","multiplier","matches","String","matchAll","cssSpacingValue","Array","from","map","multiplierValue","Number","validVariants","Typography","styleWithSpacing","TagName","Breadcrumbs","ariaLabel","items","Children","child","index","isLastElement","isArray","props","cloneElement","ChevronRight","defaultConfigObject","relativeElement","undefined","elementToBePositioned","transformOrigin","horizontal","vertical","placement","offset","top","right","bottom","left","usePosition","providedConfigObject","configObject","position","setPosition","_fixPossibleViewportOverflow","requestedReturnValue","elDimensions","returnValue","window","innerWidth","width","innerHeight","height","_applyOffsetToPlacementValue","_calculateInitialPlacementValue","relEl","placementOriginDefinition","_determineCenteredPlacementOrigin","_calculatePlacementValue","valueWithOffset","valueCorrectionForViewportOverflow","_calculatePlacement","axis","placementValue","direction","oppositeDirection","prevState","calculatePosition","current","relativeElRect","getBoundingClientRect","elementToBePositionedDimensions","offsetHeight","offsetWidth","clonedRelEl","center","centerv","centerh","x","y","Popover","show","anchorEl","elToBePositioned","useRef","popover","useBodyClick","checkFunction","callbackFunction","dependingStateVariable","bodyClickListener","event","addEventListener","removeEventListener","ContextMenu","trigger","decorativeElement","id","onShow","onClose","domRoot","body","showContextMenu","setShowContextMenu","hasBeenClosed","setHasBeenClosed","selectedContextMenuItem","setSelectedContextMenuItem","focusedContextMenuItem","setFocusedContextMenuItem","shouldClick","setShouldClick","count","childrenCount","onArrowNavigation","codesToPrevenDefault","code","preventDefault","target","parentElement","focus","renderTrigger","onClick","tabIndex","renderChildren","onFocusChange","childIndex","onSelectedChange","hasFocus","isSelected","contextMenuOpened","onKeyDown","createPortal","role","ContextMenuItem","innerButtonRef","createRef","click","Link","to","display","buttonVariant","component","determineTarget","classNames","download","rel","href","IconButton","iconSize","title","console","iconButtonClasses","readyclasses","Tab","args","generateID","stringToWeaveIn","hashCharacters","i","stringCharacter","test","Math","floor","random","slice","filterProps","regexPattern","returnFiltered","acc","filter","prevObj","currKeyValPair","TabButton","selected","focussed","tabId","tabPanelId","onTabButtonClick","TabPanel","hidden","Tabs","onTabChange","indicatorRef","indicatorPosition","setIndicatorPosition","indicatorWidth","setIndicatorWidth","max","min","selectedTab","setSelectedTab","focussedTab","setFocussedTab","tabIds","tabPanelIds","calculateIndicatorPosition","selectedTabButton","tabButtons","offsetLeft","offsetTop","handleKeyDown","e","currentFocussedTab","activateTab","handleBlur","buttonRef","tabPanels","panelRef","onBlur","TextEllipsis","popoverClassName","showPopover","setShowPopover","textContainer","ellipsisVisible","scrollWidth","onMouseEnter","onMouseLeave","Tile","imageProps","enabled","loading","tileAction","tileDescriptionID","statusMessage","justifyContent","Checkmark","Forbidden","readyClasses","src","alt","Image","Tiles","defaultPosition","Tooltip","label","identifier","visible","setVisible","escapePressHandler","useLayoutEffect","isValidElement","onFocus","wrapper","InfoCircle","tooltip","Skeleton","StatusIndicator","status","badgeProps","typographyProps","margin","dateTypes","useErrorOffset","suffix","errorIcon","inputWrapper","suffixContent","errorOffset","setErrorOffset","defaultErrorOffset","setDefaultErrorOffset","getErrorIconOffset","parseFloat","getComputedStyle","getInputPaddingRight","input","paddingRight","defaultOffset","inputPaddingRight","prefixDifference","Input","name","wrapperProps","labeledBy","prefix","setFocus","inputWrapperRef","errorIconRef","suffixRef","inputClassNames","iconClassNames","wrapperClasses","outlineClasses","renderSearchCondition","Select","placeholder","describedBy","searchPlaceholder","searchInputProps","selectButtonProps","clearLabel","onChange","onClear","expanded","setExpanded","opacity","setOpacity","setFilter","setDisplay","listPosition","setListPosition","optionsListMaxHeight","setOptionsListMaxHeight","containerReference","optionListReference","isSearching","setIsSearching","focusedSelectItem","setFocusedSelectItem","nativeSelect","searchInputRef","codesToPreventDefault","codesToPreventDefaultWhenSearching","querySelector","syncDisplayValue","forEach","rePositionList","spaceOnTopOfSelect","spaceOnBottomOfSelect","calculateOptionListMaxHeight","listHeight","availableSpace","onOptionChangeHandler","optionRef","getAttribute","dispatchEvent","Event","bubbles","renderOptions","filteredChildren","toArray","match","_internalRenderChildren","internalChildren","onOptionSelect","selectOpened","renderSearch","autoFocus","filterResults","currentTarget","statusIcon","Warning","stopPropagation","TimesThin","nativeOnChangeHandler","closest","select","TriangleDown","maxHeight","pointerEvents","Option","innerOptionRef","onSelectHandler","onKeyDownCapture","Label","DefaultTranslations","Pagination","totalElements","pageSize","translate","currentPage","onPageChange","onPageSizeChange","toString","internalCurrentPage","setInternalCurrentPage","calculateAmountOfPages","ceil","onEnterListener","renderCurrentPageTranslation","amountOfPages","splitCurrentPageTranslation","split","string","htmlFor","currentPageLabel","onKeyUp","onPageSizeChangeHandler","pageSizeNumber","onPageChangeHandler","pageToGoTo","totalItems","itemsPerPage","NavigationFirst","ChevronLeft","NavigationLast","useRepeater","componentToRepeat","repeatedComponents","setRepeatedComponents","repeat","clonedComponent","remove","componentToRemove","newRepeatedComponents","labelId","descriptionId","SCROLL_PROPERTY_NAME","SCROLL_PROPERTY_VALUE","useSetBodyScroll","open","hideBodyScroll","showBodyScroll","allModalsClosed","querySelectorAll","removeProperty","BaseModal","containerProps","backdropProps","labelledby","describedby","disableEscapeKeyDown","disableBackdrop","forceContainerOpen","zIndex","handleEscKeyPress","handleBackdropClick","SnackbarContext","createContext","enqueueSnackbar","enqueueSuccessSnackbar","enqueueErrorSnackbar","SnackbarContextProvider","initialState","Provider","useSnackbar","useContext","BaseModalContent","disableAutoFocus","contentRef","BaseModalActions","DialogActions","align","DialogTitle","Dialog","alignActions","primaryAction","secondaryAction","dialogId","primaryLabel","restOfPrimaryAction","PrimaryButton","TertiaryButton","secondaryLabel","restOfSecondaryAction","onHiddenInputKeyPress","maxLength","onKeyPress","BaseModalHeader","Times","DiscardChangesDialog","onKeepEditing","onDiscardChanges","discardChangesButtonLabel","keepEditingButtonLabel","contentLabel","titleLabel","DiscardChangesModal","headerProps","discardChangedDialogProps","modalRef","dialogRef","hasUnsavedChanges","openDiscardChangesDialog","setOpenDiscardChangesDialog","onCloseWrapper","onDialogKeepEditing","onDialogDiscardChanges","Modal","ModalHeader","SlideInModal","classHideOnTransition","setClassHideOnTransition","containerRef","onTransitionEnd","SnackbarContainer","useAnimation","callback","animatedObjectRef","animationStarted","setAnimationStarted","onAnimationEnd","startAnimation","textColor","SnackbarItem","duration","content","actions","closeButtonTitle","timerHandler","setTimeout","clearTimeout","getVariantIcon","CheckmarkCircleBreakout","actionButtons","actionProp","SnackbarProvider","autoHideDuration","stackSize","snackbars","setSnackbars","addSnackbar","item","getDuration","hasError","hasContentOrActions","options","onItemClosed","snackbarList","snackbarPortal","useFormSelector","setDescribedBy","errorMessage","errorId","parentErrorId","helperText","parentHelperId","FormHelperText","FormSelectorWrapper","nestedChildren","helperProps","helperRef","isToggle","Checkbox","indeterminate","checked","formSelectorWrapperProps","determineLabel","renderNestedCheckboxes","onChangeHandler","renderToggle","iconClasses","MinusSquare","CheckmarkSquare","Square","Radio","nativeEvent","clonedEvent","constructor","defineProperty","writable","Circle","Textarea","rows","errorProps","Toggle","FormControl","grid","childElement","column","FormGroup","errorMessageIcon","errorMessageIconPosition","helperId","helperIndent","marginLeft","message","Wrapper","floatingLabel","floatingLabelActive","required","labelProps","innerClassName","labelClasses","useWrapper","setFloatingLabelActive","setHasFocus","useLabelOffset","labelOffset","setLabelOffset","resetLabelOffset","spacingBetweenPrefixAndInput","paddingLeft","InputWrapper","inputProps","hasValueOrActiveFloatingLabel","inputWrapperClasses","SelectWrapper","selectProps","TextareaWrapper","textareaProps","hover","setHover","optionalClasses","Fieldset","legend","legendStyle","hideLegend","noBackground","background","noPadding","disablePropagation","allowedComponents","backgroundColor","fieldset","Form","form","RadioWrapper","fieldsetProps","CheckboxWrapper","setWizardState","steps","mode","stepScreenReaderLabel","payload","changeCurrentStepNo","currentStepNo","reducer","state","action","WizardStateContext","dispatch","WizardStateProvider","useReducer","useSetWizardState","useStepChanging","onStepChange","WizardContent","Wizard","initialStepNo","calculateNextStepNo","findIndex","step","stepNo","calculatePrevStepNo","reversedCurrentStepNo","reversedPrevStepNo","reverse","useNextStepNo","useMemo","usePreviousStepNo","WizardActions","onCancel","onNext","onPrevious","onSaveAndClose","cancelButtonLabel","previousButtonLabel","nextButtonLabel","saveAndCloseButtonLabel","nextStepNo","hasNextStep","previousStepNo","hasPreviousStep","isLastStepOrEditMode","changeStepNo","onNextWrapper","onPreviousWrapper","onSaveAndCloseWrapper","BaseWizardSteps","futureStepsClickable","getStepState","getStepContent","stepState","stepNumberString","generatedSteps","disabledStyleClassName","clickableClassName","WizardSteps","onStepClick","selectedStepNo","ariaSortMapping","ASC","DESC","DataGridHeaderCell","headline","disableSorting","activeSortDirection","onSort","onCellClick","sortingIndicator","getSortingIndicatorClasses","sortingIndicatorClasses","TriangleUp","innerContent","sortingStates","DataGridHeader","initialSort","headers","disableContextMenuColumn","enableMultiSorting","sortList","setSortList","calculateNextSortState","currentDirectionIdx","updateSortList","find","restSortList","newSortDirection","wrapOnSort","newSort","headerCells","header","headerStyle","sort","DataGridColumnsToggle","onToggleClicked","labelledId","toggles","DataGridActions","enableAddBtn","enableColumnsBtn","enableSearchBtn","addBtnProps","columnsBtnProps","searchBtnProps","onColumnToggled","isHidden","showColsPopover","setShowColsPopover","showColumnBtn","Plus","Change","TableSearch","DataGridCell","cellIndex","columnLength","cellStyle","DataGridRow","visibleCells","cellWithSpacing","skeletonLoadingRows","DataGridBodyInner","data","emptyLabel","renderContent","visibleColumns","_","rowIdx","__","colIdx","emptyData","colSpan","DataGridBody","DataGridInner","paginationProps","internalHeaders","setInternalHeaders","colName","padding","splitPaddings","paddingLeftIndex","defineProperties","paddingTop","paddingBottom","DataGrid"],"mappings":"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"}