@onewelcome/react-lib-components 0.1.3-alpha → 0.1.4-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Link/Link.d.ts +2 -2
- package/dist/Tabs/TabButton.d.ts +1 -1
- package/dist/Tabs/TabPanel.d.ts +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/react-lib-components.cjs.development.js +271 -45
- package/dist/react-lib-components.cjs.development.js.map +1 -1
- package/dist/react-lib-components.cjs.production.min.js +1 -1
- package/dist/react-lib-components.cjs.production.min.js.map +1 -1
- package/dist/react-lib-components.esm.js +270 -46
- package/dist/react-lib-components.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/Form/FormGroup/FormGroup.test.tsx +24 -0
- package/src/Form/FormGroup/FormGroup.tsx +1 -1
- package/src/Link/Link.tsx +7 -2
- package/src/index.ts +3 -0
|
@@ -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/hooks/useSpacing.ts","../src/Typography/Typography.tsx","../src/Button/BaseButton.tsx","../src/Button/Button.tsx","../src/Link/Link.tsx","../src/Button/IconButton.tsx","../src/Icon/Icon.tsx","../src/Form/Input/Input.tsx","../src/hooks/useBodyClick.ts","../src/util/helper.tsx","../src/Form/Select/Select.tsx","../src/Form/Select/Option.tsx","../src/Form/Label/Label.tsx","../src/Pagination/Pagination.tsx","../src/Notifications/BaseModal/BaseModalContext.ts","../src/Notifications/BaseModal/BaseModal.tsx","../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/hooks/usePosition.ts","../src/Popover/Popover.tsx","../src/TextEllipsis/TextEllipsis.tsx","../src/Tooltip/Tooltip.tsx","../src/Tiles/Tile.tsx","../src/Tiles/Tiles.tsx","../src/ContextMenu/ContextMenu.tsx","../src/ContextMenu/ContextMenuItem.tsx","../src/Breadcrumbs/Breadcrumbs.tsx","../src/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.tsx","../src/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.tsx","../src/hooks/useAnimation.ts","../src/Notifications/Snackbar/SnackbarItem/SnackbarItem.tsx","../src/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.tsx","../src/Notifications/Snackbar/useSnackbar.ts","../src/hooks/useRepeater.ts","../src/Form/Form.tsx","../src/hooks/useFormSelector.ts","../src/Form/FormHelperText/FormHelperText.tsx","../src/Form/FormSelectorWrapper/FormSelectorWrapper.tsx","../src/Form/Radio/Radio.tsx","../src/Form/Checkbox/Checkbox.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/Wrapper/CheckboxWrapper/CheckboxWrapper.tsx","../src/Form/Wrapper/RadioWrapper/RadioWrapper.tsx","../src/Wizard/BaseWizardSteps/BaseWizardSteps.tsx","../src/Wizard/wizardStateReducer.ts","../src/Wizard/WizardStateProvider.tsx","../src/Wizard/WizardActions/WizardActions.tsx","../src/Wizard/WizardSteps/WizardSteps.tsx","../src/Wizard/Wizard.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 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 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 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: '#e22a1d',\n snackbarBorderRadius: '8px',\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: '#e22a1d',\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 { 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\nconst validVariants = ['h1', 'h2', 'h3', 'h4', 'body', 'body-bold', 'sub-text', 'code'] 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\n/** I couldn't find anything on the internet that indicated that ComponentPropsWithRef can take multiple tags. Since the TagName can be many different things I have to use any here. Using a mix of tags (like the Tags type) will throw an error. */\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 } 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} </i>}\n <span>{children}</span>\n {endIcon && <i> {endIcon}</i>}\n </BaseButton>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ForwardRefExoticComponent, RefAttributes } from 'react';\nimport classes from './Link.module.scss';\nimport { LinkProps } from './types';\n\ntype AnchorType = 'external' | 'internal' | 'download';\n\nexport interface Props extends ComponentPropsWithRef<'a'> {\n children?: string;\n color?: 'primary' | 'secondary' | 'tertiary';\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 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['link'], classes[color]];\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 className?: string;\n title?: string;\n}\n\nexport const IconButton = React.forwardRef<HTMLButtonElement, Props>(\n ({ children, color = 'primary', iconSize = 'm', title, className, ...rest }, ref) => {\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[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, { 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 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 React, { ComponentPropsWithRef, Ref, useEffect, 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\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\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\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 && wrapperClasses.push(classes['disabled']);\n error && wrapperClasses.push(classes['error']);\n focus && wrapperClasses.push(classes['focus']);\n\n return (\n <div\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 data-suffix className={classes['suffix']}>\n <span>{suffix}</span>\n </div>\n )}\n {error && <Icon className={iconClassNames.join(' ')} icon={Icons.Error} />}\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","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 classes from './Select.module.scss';\n\nimport React, {\n ComponentPropsWithRef,\n Fragment,\n ReactElement,\n RefObject,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { Input } 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\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 className?: string;\n value: string;\n onChange?: (event: React.ChangeEvent<HTMLSelectElement>, child?: ReactElement) => void;\n onClear?: (event: React.MouseEvent<HTMLDivElement>) => void;\n}\n\ntype Position = {\n top: 0 | 'initial';\n bottom: 0 | 'initial';\n};\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 className,\n error = false,\n value,\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\n const nativeSelect = useRef<HTMLSelectElement>(null);\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 = (event: React.MouseEvent<HTMLLIElement>) => {\n // We need to set value and the fire change event. If a custom ref has been given we pass that value, otherwise we use the ref we've created ourselves when the component was instantiated.\n if (nativeSelect.current) {\n nativeSelect.current.value = event.currentTarget.dataset.value!;\n nativeSelect.current.dispatchEvent(new Event('change', { bubbles: true }));\n } else if (ref) {\n (ref as RefObject<HTMLSelectElement>).current!.value = event.currentTarget.dataset.value!;\n (ref as RefObject<HTMLSelectElement>).current!.dispatchEvent(\n new Event('change', { bubbles: true })\n );\n }\n setExpanded(false);\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 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 React.Children.map(children, (child) =>\n React.cloneElement(child, {\n onOptionSelect: onOptionChangeHandler,\n selected: child.props.value === value,\n filter: filter,\n })\n );\n\n const renderSearch = () => (\n <Input\n autoFocus\n onChange={filterResults}\n className={classes['select-search']}\n wrapperProps={{ className: classes['select-search-wrapper'] }}\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 <Icon\n tag=\"div\"\n data-clear\n icon={Icons.TimesThin}\n onClick={(e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n e.preventDefault();\n e.stopPropagation();\n onClear(e);\n }}\n />\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(!expanded);\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={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 className={`custom-select ${classes.select} ${additionalClasses.join(' ')} ${\n className ?? ''\n }`}\n >\n <button\n onClick={() => setExpanded(!expanded)}\n type=\"button\"\n name={name}\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>{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 ...listPosition,\n }}\n >\n {Array.isArray(children) && children.length > 10 && renderSearch()}\n <ul role=\"listbox\" tabIndex={-1}>\n {renderOptions()}\n </ul>\n </div>\n </div>\n </Fragment>\n );\n }\n);\n","import React, { ComponentPropsWithRef, useEffect, useState } 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 selected?: boolean;\n label?: string;\n filter?: string;\n onOptionSelect?: (event: React.SyntheticEvent<HTMLLIElement>) => void;\n}\n\nexport const Option = React.forwardRef<HTMLLIElement, Props>(\n (\n {\n children,\n className,\n selected = false,\n onOptionSelect,\n disabled,\n filter,\n value,\n ...rest\n }: Props,\n ref\n ) => {\n const [showOption, setShowOption] = useState(true);\n\n const onSelectHandler = (event: React.SyntheticEvent<HTMLLIElement>) => {\n if (onOptionSelect) onOptionSelect(event);\n };\n\n useEffect(() => {\n if (filter) {\n setShowOption(children.toLowerCase().match(filter.toLowerCase()) !== null);\n } else {\n setShowOption(true);\n }\n }, [filter]);\n\n if (!showOption) return null;\n\n return (\n <li\n {...rest}\n ref={ref}\n data-value={value}\n className={`${selected ? classes['selected-option'] : ''} ${\n disabled ? classes.disabled : ''\n } ${className ?? ''}`}\n onClick={onSelectHandler}\n onKeyPress={(e) => {\n e.key === 'Enter' && onSelectHandler(e);\n }}\n aria-selected={selected}\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 = () => (totalElements ? Math.ceil(totalElements / pageSize) : 0);\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']}\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 <div key={string}>{string.replace('%2', amountOfPages.toString())} </div>;\n }\n\n return <div key={string}>{string} </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 {totalElements && 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 && (\n <div className={classes['page']}>{renderCurrentPageTranslation()}</div>\n )}\n <div className={classes['next']}>\n {((currentPage && currentPage < calculateAmountOfPages()) ||\n (currentPage && !totalElements)) && (\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","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 containerClassName?: string;\n labelledby?: string;\n describedby?: string;\n disableEscapeKeyDown?: boolean;\n disableBackdrop?: 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 containerClassName = '',\n labelledby,\n describedby,\n disableEscapeKeyDown = false,\n disableBackdrop = 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 className={classes['backdrop']} onClick={handleBackdropClick}></div>\n {open && (\n <div\n style={{ zIndex: zIndex && zIndex + 1 }}\n className={`${classes['container']} ${containerClassName}`}\n >\n {children}\n </div>\n )}\n </div>,\n domRoot\n );\n }\n);\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 containerClassName={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, { 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 HorizontalPlacment = '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: HorizontalPlacment;\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\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: HorizontalPlacment | 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: HorizontalPlacment | 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 { usePosition, Offset, Placement } 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>;\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 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 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, ReactElement, useState } 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 {\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, { ComponentPropsWithRef, ReactElement, useEffect, useRef, useState } 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 { Props as ContextMenuItemProps } from './ContextMenuItem';\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 children: ReactElement<ContextMenuItemProps> | ReactElement<ContextMenuItemProps>[];\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 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\n if (!id) {\n throw new Error('You need to provide an ID to the context menu');\n }\n\n useBodyClick(\n (event) => {\n return showContextMenu && anchorEl.current !== event.target;\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 }\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': show,\n onClick: () => setShowContextMenu(!showContextMenu),\n ref: anchorEl,\n });\n\n return (\n <div {...rest} ref={ref} 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 <ul className={classes.menu} id={`${id}-menu`} aria-describedby={id} role=\"menu\">\n {children}\n </ul>\n </Popover>,\n domRoot\n )}\n </div>\n );\n }\n);\n","import React, { HTMLProps } from 'react';\nimport classes from './ContextMenuItem.module.scss';\n\nexport interface Props extends Omit<HTMLProps<HTMLLIElement>, 'onClick'> {\n children?: string;\n onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\nexport const ContextMenuItem = ({ children, onClick, ...rest }: Props) => {\n return (\n <li {...rest} role=\"menuitem\" className={classes['context-menu-item']}>\n <button onClick={(event) => onClick && onClick(event)}>{children}</button>\n </li>\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, { 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 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 onClick={() => startAnimation()}\n className={classes['close-btn']}\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}\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 } = options;\n const item: Item = {\n title,\n content,\n variant,\n actions,\n duration,\n id: generateID(15, title),\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={onItemClosed}\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 { useContext } from 'react';\nimport { SnackbarContext } from './SnackbarProvider/SnackbarStateProvider';\n\nexport const useSnackbar = () => useContext(SnackbarContext);\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","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 { 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 } 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, 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 CheckboxProps 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, CheckboxProps>(\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 }: CheckboxProps,\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 console.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 ReactNode[], (child) => {\n return (\n <li>\n <Checkbox\n {...(child as ReactElement).props}\n parentHelperId={parentHelperId}\n parentErrorId={parentErrorId}\n error={error}\n disabled={disabled ? disabled : (child as CheckboxProps).disabled}\n >\n {(child as ReactElement).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, 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 ...rest\n }: Props,\n ref\n ) => {\n return (\n <div\n {...wrapperProps}\n className={`${classes['textarea-wrapper']} ${wrapperProps?.className ?? ''}`}\n >\n <textarea\n {...rest}\n ref={ref}\n rows={rows}\n className={`${error ? classes['error'] : ''} ${classes['textarea']} ${className ?? ''}`}\n disabled={disabled}\n />\n {error && (\n <Icon\n {...errorProps}\n className={`${classes['warning']} ${errorProps?.className ?? ''}`}\n icon={Icons.Error}\n />\n )}\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from 'react';\nimport { Checkbox, 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, ...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'] }}\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) && (\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 ) {\n setFloatingLabelActive(true);\n }\n }, []);\n\n useEffect(() => {\n if ((value?.length && value.length > 0) || hasFocus) {\n setFloatingLabelActive(true);\n } else if (!placeholder && !hasFocus && type !== 'datetime-local' && type !== 'time') {\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 wrapper: React.RefObject<HTMLDivElement>,\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 (wrapper.current && input.current && prefix) {\n if (floatingLabelActive) {\n resetLabelOffset();\n } else {\n const prefixDifference =\n input.current.getBoundingClientRect().left -\n wrapper.current.getBoundingClientRect().left +\n 4;\n\n setLabelOffset({ left: `${prefixDifference}px` });\n }\n }\n }, [wrapper.current, 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 wrapper = useRef<HTMLDivElement>(null);\n const input = useRef<HTMLInputElement>(null);\n const hasValueOrActiveFloatingLabel = !!value || floatingLabelActive;\n const labelClasses = [classes['input-label']];\n const { labelOffset } = useLabelOffset(\n (ref as React.RefObject<HTMLDivElement>) || wrapper,\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 || wrapper}\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 ? 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?: () => 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={onClear}\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']} ${hasFocus ? classes['focus'] : ''}`,\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']}\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, { 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 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, 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 { 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, 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, 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, { 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"],"names":["BaseStyling","children","properties","defaultProperties","colorFocus","colorPrimary","colorSecondary","colorTertiary","defaultLineHeight","buttonBorderRadius","buttonBorderWidth","buttonFontSize","buttonBorderStyle","buttonFillTextColor","buttonFillBackgroundColor","buttonOutlineHoverTextColor","inputBorderColor","inputBorderRadius","inputBorderWidth","inputBorderStyle","inputBackgroundColor","modalShadowColor","modalBackgroundColor","modalHeaderBackgroundColor","snackbarTextColor","snackbarInfoBackgroundColor","snackbarSuccessBackgroundColor","snackbarErrorBackgroundColor","snackbarBorderRadius","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","defaultFactor","defaultUnit","spacingNumberRegex","useSpacing","spacingProps","reduce","prev","spacing","multiplier","matches","String","matchAll","cssSpacingValue","Array","from","map","multiplierValue","Number","join","validVariants","Typography","forwardRef","ref","variant","tag","className","rest","_excluded","includes","Error","styleWithSpacing","TagName","classes","BaseButton","type","validTypes","button","Button","color","startIcon","endIcon","additionalClasses","push","Link","to","component","determineTarget","target","classNames","download","rel","undefined","href","IconButton","iconSize","title","console","iconButtonClasses","readyclasses","Icons","Icon","icon","size","Component","dateTypes","Input","name","wrapperProps","labeledBy","prefix","suffix","onFocus","onBlur","focus","setFocus","inputClassNames","iconClassNames","wrapperClasses","event","useBodyClick","checkFunction","callbackFunction","dependingStateVariable","bodyClickListener","window","addEventListener","removeEventListener","generateID","stringToWeaveIn","hashCharacters","id","i","stringCharacter","test","Math","floor","random","slice","filterProps","props","regexPattern","returnFiltered","acc","filter","prevObj","currKeyValPair","Select","placeholder","describedBy","searchPlaceholder","onChange","onClear","expanded","setExpanded","opacity","setOpacity","setFilter","display","setDisplay","listPosition","setListPosition","optionsListMaxHeight","setOptionsListMaxHeight","containerReference","useRef","optionListReference","nativeSelect","syncDisplayValue","Children","forEach","child","rePositionList","current","spaceOnTopOfSelect","getBoundingClientRect","bottom","spaceOnBottomOfSelect","innerHeight","top","position","calculateOptionListMaxHeight","listHeight","height","transformOrigin","availableSpace","onOptionChangeHandler","currentTarget","dataset","dispatchEvent","Event","bubbles","renderOptions","cloneElement","onOptionSelect","selected","renderSearch","autoFocus","filterResults","statusIcon","Warning","TimesThin","onClick","e","preventDefault","stopPropagation","nativeOnChangeHandler","closest","tabIndex","select","TriangleDown","maxHeight","isArray","role","Option","showOption","setShowOption","onSelectHandler","match","onKeyPress","Label","hidden","DefaultTranslations","Pagination","totalElements","pageSize","translate","currentPage","onPageChange","onPageSizeChange","toString","internalCurrentPage","setInternalCurrentPage","calculateAmountOfPages","ceil","onEnterListener","code","renderCurrentPageTranslation","amountOfPages","splitCurrentPageTranslation","split","string","htmlFor","currentPageLabel","max","onKeyUp","onPageSizeChangeHandler","pageSizeNumber","onPageChangeHandler","pageToGoTo","totalItems","itemsPerPage","NavigationFirst","ChevronLeft","ChevronRight","NavigationLast","labelId","descriptionId","SCROLL_PROPERTY_NAME","SCROLL_PROPERTY_VALUE","useSetBodyScroll","open","hideBodyScroll","body","showBodyScroll","allModalsClosed","querySelectorAll","removeProperty","BaseModal","onClose","containerClassName","labelledby","describedby","disableEscapeKeyDown","disableBackdrop","zIndex","domRoot","handleEscKeyPress","handleBackdropClick","createPortal","onKeyDown","BaseModalContent","disableAutoFocus","contentRef","createRef","BaseModalActions","DialogActions","align","DialogTitle","Dialog","alignActions","primaryAction","secondaryAction","dialogId","primaryLabel","label","restOfPrimaryAction","PrimaryButton","TertiaryButton","secondaryLabel","restOfSecondaryAction","onHiddenInputKeyPress","width","maxLength","BaseModalHeader","Times","DiscardChangesDialog","onKeepEditing","onDiscardChanges","discardChangesButtonLabel","keepEditingButtonLabel","contentLabel","titleLabel","margin","DiscardChangesModal","headerProps","discardChangedDialogProps","modalRef","dialogRef","hasUnsavedChanges","openDiscardChangesDialog","setOpenDiscardChangesDialog","onCloseWrapper","onDialogKeepEditing","onDialogDiscardChanges","Modal","ModalHeader","defaultConfigObject","relativeElement","elementToBePositioned","horizontal","vertical","placement","offset","right","left","usePosition","providedConfigObject","configObject","setPosition","_fixPossibleViewportOverflow","requestedReturnValue","elDimensions","returnValue","innerWidth","_applyOffsetToPlacementValue","_calculateInitialPlacementValue","relEl","placementOriginDefinition","_determineCenteredPlacementOrigin","_calculatePlacementValue","valueWithOffset","valueCorrectionForViewportOverflow","_calculatePlacement","axis","placementValue","direction","oppositeDirection","prevState","calculatePosition","relativeElRect","elementToBePositionedDimensions","offsetHeight","offsetWidth","clonedRelEl","center","centerv","centerh","x","y","Popover","show","anchorEl","elToBePositioned","popover","TextEllipsis","popoverClassName","showPopover","setShowPopover","textContainer","ellipsisVisible","scrollWidth","onMouseEnter","onMouseLeave","defaultPosition","Tooltip","identifier","visible","setVisible","escapePressHandler","useLayoutEffect","renderChildren","isValidElement","wrapper","InfoCircle","tooltip","Tile","imageProps","enabled","loading","tileAction","tileDescriptionID","statusMessage","justifyContent","Checkmark","Forbidden","readyClasses","src","alt","Image","Tiles","ContextMenu","trigger","onShow","showContextMenu","setShowContextMenu","renderTrigger","menu","ContextMenuItem","Breadcrumbs","ariaLabel","items","index","isLastElement","SnackbarContext","createContext","enqueueSnackbar","enqueueSuccessSnackbar","enqueueErrorSnackbar","SnackbarContextProvider","initialState","Provider","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","useSnackbar","useContext","useRepeater","componentToRepeat","repeatedComponents","setRepeatedComponents","repeat","clonedComponent","remove","componentToRemove","newRepeatedComponents","Form","form","useFormSelector","setDescribedBy","errorMessage","errorId","parentErrorId","helperText","parentHelperId","FormHelperText","FormSelectorWrapper","nestedChildren","containerProps","helperProps","helperRef","Radio","checked","formSelectorWrapperProps","onChangeHandler","nativeEvent","clonedEvent","constructor","defineProperty","writable","Circle","isToggle","Checkbox","indeterminate","determineLabel","renderNestedCheckboxes","renderToggle","toArray","iconClasses","MinusSquare","CheckmarkSquare","Square","Textarea","rows","errorProps","Toggle","FormControl","grid","childElement","column","FormGroup","errorMessageIcon","errorMessageIconPosition","helperId","helperIndent","marginLeft","message","Wrapper","floatingLabel","floatingLabelActive","required","labelProps","innerClassName","labelClasses","useWrapper","setFloatingLabelActive","hasFocus","setHasFocus","useLabelOffset","input","labelOffset","setLabelOffset","resetLabelOffset","prefixDifference","InputWrapper","inputProps","hasValueOrActiveFloatingLabel","SelectWrapper","selectProps","TextareaWrapper","textareaProps","hover","setHover","optionalClasses","Fieldset","legend","legendStyle","hideLegend","noBackground","background","noPadding","disablePropagation","allowedComponents","backgroundColor","fieldset","CheckboxWrapper","fieldsetProps","RadioWrapper","BaseWizardSteps","steps","currentStepNo","futureStepsClickable","stepScreenReaderLabel","getStepState","stepNo","getStepContent","stepState","stepNumberString","generatedSteps","step","disabledStyleClassName","clickableClassName","setWizardState","mode","payload","changeCurrentStepNo","reducer","state","action","WizardStateContext","dispatch","WizardStateProvider","useReducer","calculateNextStepNo","findIndex","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","WizardSteps","onStepClick","selectedStepNo","useSetWizardState","useStepChanging","onStepChange","WizardContent","Wizard","initialStepNo"],"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/hooks/useSpacing.ts","../src/Typography/Typography.tsx","../src/Button/BaseButton.tsx","../src/Button/Button.tsx","../src/Link/Link.tsx","../src/Button/IconButton.tsx","../src/Icon/Icon.tsx","../src/Form/Input/Input.tsx","../src/hooks/useBodyClick.ts","../src/util/helper.tsx","../src/Form/Select/Select.tsx","../src/Form/Select/Option.tsx","../src/Form/Label/Label.tsx","../src/Pagination/Pagination.tsx","../src/Tabs/TabButton.tsx","../src/Tabs/TabPanel.tsx","../src/Tabs/Tabs.tsx","../src/Tabs/Tab.tsx","../src/Notifications/BaseModal/BaseModalContext.ts","../src/Notifications/BaseModal/BaseModal.tsx","../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/hooks/usePosition.ts","../src/Popover/Popover.tsx","../src/TextEllipsis/TextEllipsis.tsx","../src/Tooltip/Tooltip.tsx","../src/Tiles/Tile.tsx","../src/Tiles/Tiles.tsx","../src/ContextMenu/ContextMenu.tsx","../src/ContextMenu/ContextMenuItem.tsx","../src/Breadcrumbs/Breadcrumbs.tsx","../src/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.tsx","../src/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.tsx","../src/hooks/useAnimation.ts","../src/Notifications/Snackbar/SnackbarItem/SnackbarItem.tsx","../src/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.tsx","../src/Notifications/Snackbar/useSnackbar.ts","../src/hooks/useRepeater.ts","../src/Form/Form.tsx","../src/hooks/useFormSelector.ts","../src/Form/FormHelperText/FormHelperText.tsx","../src/Form/FormSelectorWrapper/FormSelectorWrapper.tsx","../src/Form/Radio/Radio.tsx","../src/Form/Checkbox/Checkbox.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/Wrapper/CheckboxWrapper/CheckboxWrapper.tsx","../src/Form/Wrapper/RadioWrapper/RadioWrapper.tsx","../src/Wizard/BaseWizardSteps/BaseWizardSteps.tsx","../src/Wizard/wizardStateReducer.ts","../src/Wizard/WizardStateProvider.tsx","../src/Wizard/WizardActions/WizardActions.tsx","../src/Wizard/WizardSteps/WizardSteps.tsx","../src/Wizard/Wizard.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 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 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 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: '#e22a1d',\n snackbarBorderRadius: '8px',\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: '#e22a1d',\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 { 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\nconst validVariants = ['h1', 'h2', 'h3', 'h4', 'body', 'body-bold', 'sub-text', 'code'] 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\n/** I couldn't find anything on the internet that indicated that ComponentPropsWithRef can take multiple tags. Since the TagName can be many different things I have to use any here. Using a mix of tags (like the Tags type) will throw an error. */\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 } 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} </i>}\n <span>{children}</span>\n {endIcon && <i> {endIcon}</i>}\n </BaseButton>\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\ntype AnchorType = 'external' | 'internal' | 'download';\n\nexport interface Props extends ComponentPropsWithRef<'a'> {\n children?: ReactNode;\n color?: 'primary' | 'secondary' | 'tertiary';\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 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['link'], classes[color]];\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 className?: string;\n title?: string;\n}\n\nexport const IconButton = React.forwardRef<HTMLButtonElement, Props>(\n ({ children, color = 'primary', iconSize = 'm', title, className, ...rest }, ref) => {\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[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, { 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 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 React, { ComponentPropsWithRef, Ref, useEffect, 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\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\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\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 && wrapperClasses.push(classes['disabled']);\n error && wrapperClasses.push(classes['error']);\n focus && wrapperClasses.push(classes['focus']);\n\n return (\n <div\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 data-suffix className={classes['suffix']}>\n <span>{suffix}</span>\n </div>\n )}\n {error && <Icon className={iconClassNames.join(' ')} icon={Icons.Error} />}\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","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 classes from './Select.module.scss';\n\nimport React, {\n ComponentPropsWithRef,\n Fragment,\n ReactElement,\n RefObject,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { Input } 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\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 className?: string;\n value: string;\n onChange?: (event: React.ChangeEvent<HTMLSelectElement>, child?: ReactElement) => void;\n onClear?: (event: React.MouseEvent<HTMLDivElement>) => void;\n}\n\ntype Position = {\n top: 0 | 'initial';\n bottom: 0 | 'initial';\n};\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 className,\n error = false,\n value,\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\n const nativeSelect = useRef<HTMLSelectElement>(null);\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 = (event: React.MouseEvent<HTMLLIElement>) => {\n // We need to set value and the fire change event. If a custom ref has been given we pass that value, otherwise we use the ref we've created ourselves when the component was instantiated.\n if (nativeSelect.current) {\n nativeSelect.current.value = event.currentTarget.dataset.value!;\n nativeSelect.current.dispatchEvent(new Event('change', { bubbles: true }));\n } else if (ref) {\n (ref as RefObject<HTMLSelectElement>).current!.value = event.currentTarget.dataset.value!;\n (ref as RefObject<HTMLSelectElement>).current!.dispatchEvent(\n new Event('change', { bubbles: true })\n );\n }\n setExpanded(false);\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 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 React.Children.map(children, (child) =>\n React.cloneElement(child, {\n onOptionSelect: onOptionChangeHandler,\n selected: child.props.value === value,\n filter: filter,\n })\n );\n\n const renderSearch = () => (\n <Input\n autoFocus\n onChange={filterResults}\n className={classes['select-search']}\n wrapperProps={{ className: classes['select-search-wrapper'] }}\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 <Icon\n tag=\"div\"\n data-clear\n icon={Icons.TimesThin}\n onClick={(e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n e.preventDefault();\n e.stopPropagation();\n onClear(e);\n }}\n />\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(!expanded);\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={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 className={`custom-select ${classes.select} ${additionalClasses.join(' ')} ${\n className ?? ''\n }`}\n >\n <button\n onClick={() => setExpanded(!expanded)}\n type=\"button\"\n name={name}\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>{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 ...listPosition,\n }}\n >\n {Array.isArray(children) && children.length > 10 && renderSearch()}\n <ul role=\"listbox\" tabIndex={-1}>\n {renderOptions()}\n </ul>\n </div>\n </div>\n </Fragment>\n );\n }\n);\n","import React, { ComponentPropsWithRef, useEffect, useState } 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 selected?: boolean;\n label?: string;\n filter?: string;\n onOptionSelect?: (event: React.SyntheticEvent<HTMLLIElement>) => void;\n}\n\nexport const Option = React.forwardRef<HTMLLIElement, Props>(\n (\n {\n children,\n className,\n selected = false,\n onOptionSelect,\n disabled,\n filter,\n value,\n ...rest\n }: Props,\n ref\n ) => {\n const [showOption, setShowOption] = useState(true);\n\n const onSelectHandler = (event: React.SyntheticEvent<HTMLLIElement>) => {\n if (onOptionSelect) onOptionSelect(event);\n };\n\n useEffect(() => {\n if (filter) {\n setShowOption(children.toLowerCase().match(filter.toLowerCase()) !== null);\n } else {\n setShowOption(true);\n }\n }, [filter]);\n\n if (!showOption) return null;\n\n return (\n <li\n {...rest}\n ref={ref}\n data-value={value}\n className={`${selected ? classes['selected-option'] : ''} ${\n disabled ? classes.disabled : ''\n } ${className ?? ''}`}\n onClick={onSelectHandler}\n onKeyPress={(e) => {\n e.key === 'Enter' && onSelectHandler(e);\n }}\n aria-selected={selected}\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 = () => (totalElements ? Math.ceil(totalElements / pageSize) : 0);\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']}\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 <div key={string}>{string.replace('%2', amountOfPages.toString())} </div>;\n }\n\n return <div key={string}>{string} </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 {totalElements && 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 && (\n <div className={classes['page']}>{renderCurrentPageTranslation()}</div>\n )}\n <div className={classes['next']}>\n {((currentPage && currentPage < calculateAmountOfPages()) ||\n (currentPage && !totalElements)) && (\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, { 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 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","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 containerClassName?: string;\n labelledby?: string;\n describedby?: string;\n disableEscapeKeyDown?: boolean;\n disableBackdrop?: 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 containerClassName = '',\n labelledby,\n describedby,\n disableEscapeKeyDown = false,\n disableBackdrop = 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 className={classes['backdrop']} onClick={handleBackdropClick}></div>\n {open && (\n <div\n style={{ zIndex: zIndex && zIndex + 1 }}\n className={`${classes['container']} ${containerClassName}`}\n >\n {children}\n </div>\n )}\n </div>,\n domRoot\n );\n }\n);\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 containerClassName={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, { 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 HorizontalPlacment = '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: HorizontalPlacment;\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\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: HorizontalPlacment | 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: HorizontalPlacment | 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 { usePosition, Offset, Placement } 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>;\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 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 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, ReactElement, useState } 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 {\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, { ComponentPropsWithRef, ReactElement, useEffect, useRef, useState } 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 { Props as ContextMenuItemProps } from './ContextMenuItem';\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 children: ReactElement<ContextMenuItemProps> | ReactElement<ContextMenuItemProps>[];\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 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\n if (!id) {\n throw new Error('You need to provide an ID to the context menu');\n }\n\n useBodyClick(\n (event) => {\n return showContextMenu && anchorEl.current !== event.target;\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 }\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': show,\n onClick: () => setShowContextMenu(!showContextMenu),\n ref: anchorEl,\n });\n\n return (\n <div {...rest} ref={ref} 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 <ul className={classes.menu} id={`${id}-menu`} aria-describedby={id} role=\"menu\">\n {children}\n </ul>\n </Popover>,\n domRoot\n )}\n </div>\n );\n }\n);\n","import React, { HTMLProps } from 'react';\nimport classes from './ContextMenuItem.module.scss';\n\nexport interface Props extends Omit<HTMLProps<HTMLLIElement>, 'onClick'> {\n children?: string;\n onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\nexport const ContextMenuItem = ({ children, onClick, ...rest }: Props) => {\n return (\n <li {...rest} role=\"menuitem\" className={classes['context-menu-item']}>\n <button onClick={(event) => onClick && onClick(event)}>{children}</button>\n </li>\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, { 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 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 onClick={() => startAnimation()}\n className={classes['close-btn']}\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}\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 } = options;\n const item: Item = {\n title,\n content,\n variant,\n actions,\n duration,\n id: generateID(15, title),\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={onItemClosed}\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 { useContext } from 'react';\nimport { SnackbarContext } from './SnackbarProvider/SnackbarStateProvider';\n\nexport const useSnackbar = () => useContext(SnackbarContext);\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","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 { 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 } 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, 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 CheckboxProps 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, CheckboxProps>(\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 }: CheckboxProps,\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 console.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 ReactNode[], (child) => {\n return (\n <li>\n <Checkbox\n {...(child as ReactElement).props}\n parentHelperId={parentHelperId}\n parentErrorId={parentErrorId}\n error={error}\n disabled={disabled ? disabled : (child as CheckboxProps).disabled}\n >\n {(child as ReactElement).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, 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 ...rest\n }: Props,\n ref\n ) => {\n return (\n <div\n {...wrapperProps}\n className={`${classes['textarea-wrapper']} ${wrapperProps?.className ?? ''}`}\n >\n <textarea\n {...rest}\n ref={ref}\n rows={rows}\n className={`${error ? classes['error'] : ''} ${classes['textarea']} ${className ?? ''}`}\n disabled={disabled}\n />\n {error && (\n <Icon\n {...errorProps}\n className={`${classes['warning']} ${errorProps?.className ?? ''}`}\n icon={Icons.Error}\n />\n )}\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from 'react';\nimport { Checkbox, 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, ...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'] }}\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 ) {\n setFloatingLabelActive(true);\n }\n }, []);\n\n useEffect(() => {\n if ((value?.length && value.length > 0) || hasFocus) {\n setFloatingLabelActive(true);\n } else if (!placeholder && !hasFocus && type !== 'datetime-local' && type !== 'time') {\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 wrapper: React.RefObject<HTMLDivElement>,\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 (wrapper.current && input.current && prefix) {\n if (floatingLabelActive) {\n resetLabelOffset();\n } else {\n const prefixDifference =\n input.current.getBoundingClientRect().left -\n wrapper.current.getBoundingClientRect().left +\n 4;\n\n setLabelOffset({ left: `${prefixDifference}px` });\n }\n }\n }, [wrapper.current, 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 wrapper = useRef<HTMLDivElement>(null);\n const input = useRef<HTMLInputElement>(null);\n const hasValueOrActiveFloatingLabel = !!value || floatingLabelActive;\n const labelClasses = [classes['input-label']];\n const { labelOffset } = useLabelOffset(\n (ref as React.RefObject<HTMLDivElement>) || wrapper,\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 || wrapper}\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 ? 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?: () => 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={onClear}\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']} ${hasFocus ? classes['focus'] : ''}`,\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']}\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, { 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 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, 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 { 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, 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, 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, { 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"],"names":["BaseStyling","children","properties","defaultProperties","colorFocus","colorPrimary","colorSecondary","colorTertiary","defaultLineHeight","buttonBorderRadius","buttonBorderWidth","buttonFontSize","buttonBorderStyle","buttonFillTextColor","buttonFillBackgroundColor","buttonOutlineHoverTextColor","inputBorderColor","inputBorderRadius","inputBorderWidth","inputBorderStyle","inputBackgroundColor","modalShadowColor","modalBackgroundColor","modalHeaderBackgroundColor","snackbarTextColor","snackbarInfoBackgroundColor","snackbarSuccessBackgroundColor","snackbarErrorBackgroundColor","snackbarBorderRadius","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","defaultFactor","defaultUnit","spacingNumberRegex","useSpacing","spacingProps","reduce","prev","spacing","multiplier","matches","String","matchAll","cssSpacingValue","Array","from","map","multiplierValue","Number","join","validVariants","Typography","forwardRef","ref","variant","tag","className","rest","_excluded","includes","Error","styleWithSpacing","TagName","classes","BaseButton","type","validTypes","button","Button","color","startIcon","endIcon","additionalClasses","push","Link","to","component","determineTarget","target","classNames","download","rel","undefined","href","IconButton","iconSize","title","console","iconButtonClasses","readyclasses","Icons","Icon","icon","size","Component","dateTypes","Input","name","wrapperProps","labeledBy","prefix","suffix","onFocus","onBlur","focus","setFocus","inputClassNames","iconClassNames","wrapperClasses","event","useBodyClick","checkFunction","callbackFunction","dependingStateVariable","bodyClickListener","window","addEventListener","removeEventListener","generateID","stringToWeaveIn","hashCharacters","id","i","stringCharacter","test","Math","floor","random","slice","filterProps","props","regexPattern","returnFiltered","acc","filter","prevObj","currKeyValPair","Select","placeholder","describedBy","searchPlaceholder","onChange","onClear","expanded","setExpanded","opacity","setOpacity","setFilter","display","setDisplay","listPosition","setListPosition","optionsListMaxHeight","setOptionsListMaxHeight","containerReference","useRef","optionListReference","nativeSelect","syncDisplayValue","Children","forEach","child","rePositionList","current","spaceOnTopOfSelect","getBoundingClientRect","bottom","spaceOnBottomOfSelect","innerHeight","top","position","calculateOptionListMaxHeight","listHeight","height","transformOrigin","availableSpace","onOptionChangeHandler","currentTarget","dataset","dispatchEvent","Event","bubbles","renderOptions","cloneElement","onOptionSelect","selected","renderSearch","autoFocus","filterResults","statusIcon","Warning","TimesThin","onClick","e","preventDefault","stopPropagation","nativeOnChangeHandler","closest","tabIndex","select","TriangleDown","maxHeight","isArray","role","Option","showOption","setShowOption","onSelectHandler","match","onKeyPress","Label","hidden","DefaultTranslations","Pagination","totalElements","pageSize","translate","currentPage","onPageChange","onPageSizeChange","toString","internalCurrentPage","setInternalCurrentPage","calculateAmountOfPages","ceil","onEnterListener","code","renderCurrentPageTranslation","amountOfPages","splitCurrentPageTranslation","split","string","htmlFor","currentPageLabel","max","onKeyUp","onPageSizeChangeHandler","pageSizeNumber","onPageChangeHandler","pageToGoTo","totalItems","itemsPerPage","NavigationFirst","ChevronLeft","ChevronRight","NavigationLast","TabButton","focussed","tabId","tabPanelId","onTabButtonClick","TabPanel","Tabs","ariaLabel","onTabChange","indicatorRef","left","indicatorPosition","setIndicatorPosition","indicatorWidth","setIndicatorWidth","count","min","selectedTab","setSelectedTab","focussedTab","setFocussedTab","tabIds","tabPanelIds","calculateIndicatorPosition","selectedTabButton","tabButtons","offsetLeft","offsetTop","offsetHeight","offsetWidth","handleKeyDown","currentFocussedTab","activateTab","handleBlur","index","buttonRef","createRef","tabPanels","panelRef","onKeyDown","width","Tab","args","labelId","descriptionId","SCROLL_PROPERTY_NAME","SCROLL_PROPERTY_VALUE","useSetBodyScroll","open","hideBodyScroll","body","showBodyScroll","allModalsClosed","querySelectorAll","removeProperty","BaseModal","onClose","containerClassName","labelledby","describedby","disableEscapeKeyDown","disableBackdrop","zIndex","domRoot","handleEscKeyPress","handleBackdropClick","createPortal","BaseModalContent","disableAutoFocus","contentRef","BaseModalActions","DialogActions","align","DialogTitle","Dialog","alignActions","primaryAction","secondaryAction","dialogId","primaryLabel","label","restOfPrimaryAction","PrimaryButton","TertiaryButton","secondaryLabel","restOfSecondaryAction","onHiddenInputKeyPress","maxLength","BaseModalHeader","Times","DiscardChangesDialog","onKeepEditing","onDiscardChanges","discardChangesButtonLabel","keepEditingButtonLabel","contentLabel","titleLabel","margin","DiscardChangesModal","headerProps","discardChangedDialogProps","modalRef","dialogRef","hasUnsavedChanges","openDiscardChangesDialog","setOpenDiscardChangesDialog","onCloseWrapper","onDialogKeepEditing","onDialogDiscardChanges","Modal","ModalHeader","defaultConfigObject","relativeElement","elementToBePositioned","horizontal","vertical","placement","offset","right","usePosition","providedConfigObject","configObject","setPosition","_fixPossibleViewportOverflow","requestedReturnValue","elDimensions","returnValue","innerWidth","_applyOffsetToPlacementValue","_calculateInitialPlacementValue","relEl","placementOriginDefinition","_determineCenteredPlacementOrigin","_calculatePlacementValue","valueWithOffset","valueCorrectionForViewportOverflow","_calculatePlacement","axis","placementValue","direction","oppositeDirection","prevState","calculatePosition","relativeElRect","elementToBePositionedDimensions","clonedRelEl","center","centerv","centerh","x","y","Popover","show","anchorEl","elToBePositioned","popover","TextEllipsis","popoverClassName","showPopover","setShowPopover","textContainer","ellipsisVisible","scrollWidth","onMouseEnter","onMouseLeave","defaultPosition","Tooltip","identifier","visible","setVisible","escapePressHandler","useLayoutEffect","renderChildren","isValidElement","wrapper","InfoCircle","tooltip","Tile","imageProps","enabled","loading","tileAction","tileDescriptionID","statusMessage","justifyContent","Checkmark","Forbidden","readyClasses","src","alt","Image","Tiles","ContextMenu","trigger","onShow","showContextMenu","setShowContextMenu","renderTrigger","menu","ContextMenuItem","Breadcrumbs","items","isLastElement","SnackbarContext","createContext","enqueueSnackbar","enqueueSuccessSnackbar","enqueueErrorSnackbar","SnackbarContextProvider","initialState","Provider","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","useSnackbar","useContext","useRepeater","componentToRepeat","repeatedComponents","setRepeatedComponents","repeat","clonedComponent","remove","componentToRemove","newRepeatedComponents","Form","form","useFormSelector","setDescribedBy","errorMessage","errorId","parentErrorId","helperText","parentHelperId","FormHelperText","FormSelectorWrapper","nestedChildren","containerProps","helperProps","helperRef","Radio","checked","formSelectorWrapperProps","onChangeHandler","nativeEvent","clonedEvent","constructor","defineProperty","writable","Circle","isToggle","Checkbox","indeterminate","determineLabel","renderNestedCheckboxes","renderToggle","toArray","iconClasses","MinusSquare","CheckmarkSquare","Square","Textarea","rows","errorProps","Toggle","FormControl","grid","childElement","column","FormGroup","errorMessageIcon","errorMessageIconPosition","helperId","helperIndent","marginLeft","message","Wrapper","floatingLabel","floatingLabelActive","required","labelProps","innerClassName","labelClasses","useWrapper","setFloatingLabelActive","hasFocus","setHasFocus","useLabelOffset","input","labelOffset","setLabelOffset","resetLabelOffset","prefixDifference","InputWrapper","inputProps","hasValueOrActiveFloatingLabel","SelectWrapper","selectProps","TextareaWrapper","textareaProps","hover","setHover","optionalClasses","Fieldset","legend","legendStyle","hideLegend","noBackground","background","noPadding","disablePropagation","allowedComponents","backgroundColor","fieldset","CheckboxWrapper","fieldsetProps","RadioWrapper","BaseWizardSteps","steps","currentStepNo","futureStepsClickable","stepScreenReaderLabel","getStepState","stepNo","getStepContent","stepState","stepNumberString","generatedSteps","step","disabledStyleClassName","clickableClassName","setWizardState","mode","payload","changeCurrentStepNo","reducer","state","action","WizardStateContext","dispatch","WizardStateProvider","useReducer","calculateNextStepNo","findIndex","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","WizardSteps","onStepClick","selectedStepNo","useSetWizardState","useStepChanging","onStepChange","WizardContent","Wizard","initialStepNo"],"mappings":"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"}
|