@onewelcome/react-lib-components 0.1.7-alpha → 0.1.8-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.
Files changed (69) hide show
  1. package/dist/DataGrid/DataGrid.d.ts +30 -0
  2. package/dist/DataGrid/DataGridActions/DataGridActions.d.ts +14 -0
  3. package/dist/DataGrid/DataGridActions/DataGridColumnsToggle.d.ts +13 -0
  4. package/dist/DataGrid/DataGridBody/DataGridBody.d.ts +16 -0
  5. package/dist/DataGrid/DataGridBody/DataGridCell.d.ts +6 -0
  6. package/dist/DataGrid/DataGridBody/DataGridRow.d.ts +7 -0
  7. package/dist/DataGrid/DataGridHeader/DataGridHeader.d.ts +10 -0
  8. package/dist/DataGrid/DataGridHeader/DataGridHeaderCell.d.ts +10 -0
  9. package/dist/DataGrid/datagrid.interfaces.d.ts +13 -0
  10. package/dist/Form/Select/Option.d.ts +9 -4
  11. package/dist/Form/Select/Select.d.ts +8 -2
  12. package/dist/Form/Wrapper/SelectWrapper/SelectWrapper.d.ts +1 -1
  13. package/dist/Icon/Icon.d.ts +1 -0
  14. package/dist/_BaseStyling_/BaseStyling.d.ts +4 -0
  15. package/dist/hooks/useSpacing.d.ts +1 -1
  16. package/dist/hooks/useWrapper.d.ts +1 -1
  17. package/dist/index.d.ts +5 -0
  18. package/dist/react-lib-components.cjs.development.js +949 -272
  19. package/dist/react-lib-components.cjs.development.js.map +1 -1
  20. package/dist/react-lib-components.cjs.production.min.js +1 -1
  21. package/dist/react-lib-components.cjs.production.min.js.map +1 -1
  22. package/dist/react-lib-components.esm.js +947 -273
  23. package/dist/react-lib-components.esm.js.map +1 -1
  24. package/dist/util/helper.d.ts +1 -1
  25. package/package.json +11 -11
  26. package/src/ContextMenu/ContextMenu.tsx +16 -1
  27. package/src/DataGrid/DataGrid.module.scss +21 -0
  28. package/src/DataGrid/DataGrid.test.tsx +276 -0
  29. package/src/DataGrid/DataGrid.tsx +101 -0
  30. package/src/DataGrid/DataGridActions/DataGridActions.module.scss +35 -0
  31. package/src/DataGrid/DataGridActions/DataGridActions.test.tsx +184 -0
  32. package/src/DataGrid/DataGridActions/DataGridActions.tsx +109 -0
  33. package/src/DataGrid/DataGridActions/DataGridColumnsToggle.module.scss +41 -0
  34. package/src/DataGrid/DataGridActions/DataGridColumnsToggle.test.tsx +83 -0
  35. package/src/DataGrid/DataGridActions/DataGridColumnsToggle.tsx +88 -0
  36. package/src/DataGrid/DataGridBody/DataGridBody.module.scss +10 -0
  37. package/src/DataGrid/DataGridBody/DataGridBody.test.tsx +123 -0
  38. package/src/DataGrid/DataGridBody/DataGridBody.tsx +64 -0
  39. package/src/DataGrid/DataGridBody/DataGridCell.module.scss +33 -0
  40. package/src/DataGrid/DataGridBody/DataGridCell.test.tsx +74 -0
  41. package/src/DataGrid/DataGridBody/DataGridCell.tsx +25 -0
  42. package/src/DataGrid/DataGridBody/DataGridRow.module.scss +7 -0
  43. package/src/DataGrid/DataGridBody/DataGridRow.test.tsx +101 -0
  44. package/src/DataGrid/DataGridBody/DataGridRow.tsx +27 -0
  45. package/src/DataGrid/DataGridBody/__snapshots__/DataGridBody.test.tsx.snap +258 -0
  46. package/src/DataGrid/DataGridHeader/DataGridHeader.module.scss +26 -0
  47. package/src/DataGrid/DataGridHeader/DataGridHeader.test.tsx +255 -0
  48. package/src/DataGrid/DataGridHeader/DataGridHeader.tsx +80 -0
  49. package/src/DataGrid/DataGridHeader/DataGridHeaderCell.module.scss +68 -0
  50. package/src/DataGrid/DataGridHeader/DataGridHeaderCell.test.tsx +128 -0
  51. package/src/DataGrid/DataGridHeader/DataGridHeaderCell.tsx +72 -0
  52. package/src/DataGrid/datagrid.interfaces.ts +14 -0
  53. package/src/Form/Select/Option.tsx +39 -21
  54. package/src/Form/Select/Select.module.scss +1 -1
  55. package/src/Form/Select/Select.test.tsx +235 -56
  56. package/src/Form/Select/Select.tsx +194 -34
  57. package/src/Form/Toggle/Toggle.module.scss +1 -0
  58. package/src/Form/Wrapper/SelectWrapper/SelectWrapper.test.tsx +44 -0
  59. package/src/Form/Wrapper/SelectWrapper/SelectWrapper.tsx +4 -2
  60. package/src/Icon/Icon.module.scss +4 -0
  61. package/src/Icon/Icon.tsx +1 -0
  62. package/src/Notifications/BaseModal/BaseModal.module.scss +1 -1
  63. package/src/Notifications/BaseModal/BaseModal.test.tsx +2 -1
  64. package/src/Notifications/Dialog/Dialog.module.scss +1 -1
  65. package/src/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.module.scss +1 -1
  66. package/src/Notifications/Snackbar/SnackbarItem/SnackbarItem.module.scss +1 -1
  67. package/src/Pagination/Pagination.module.scss +74 -74
  68. package/src/_BaseStyling_/BaseStyling.tsx +14 -6
  69. package/src/index.ts +6 -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/Button/BaseButton.tsx","../src/Button/Button.tsx","../src/Icon/Icon.tsx","../src/hooks/useSpacing.ts","../src/Typography/Typography.tsx","../src/Breadcrumbs/Breadcrumbs.tsx","../src/hooks/usePosition.ts","../src/Popover/Popover.tsx","../src/hooks/useBodyClick.ts","../src/ContextMenu/ContextMenu.tsx","../src/ContextMenu/ContextMenuItem.tsx","../src/Link/Link.tsx","../src/Button/IconButton.tsx","../src/Tabs/Tab.tsx","../src/util/helper.tsx","../src/Tabs/TabButton.tsx","../src/Tabs/TabPanel.tsx","../src/Tabs/Tabs.tsx","../src/TextEllipsis/TextEllipsis.tsx","../src/Tiles/Tile.tsx","../src/Tiles/Tiles.tsx","../src/Tooltip/Tooltip.tsx","../src/Form/Input/Input.tsx","../src/Form/Select/Select.tsx","../src/Form/Select/Option.tsx","../src/Form/Label/Label.tsx","../src/Pagination/Pagination.tsx","../src/hooks/useRepeater.ts","../src/Notifications/BaseModal/BaseModalContext.ts","../src/Notifications/BaseModal/BaseModal.tsx","../src/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.tsx","../src/Notifications/Snackbar/useSnackbar.ts","../src/Notifications/BaseModal/BaseModalContent/BaseModalContent.tsx","../src/Notifications/BaseModal/BaseModalActions/BaseModalActions.tsx","../src/Notifications/Dialog/DialogActions/DialogActions.tsx","../src/Notifications/Dialog/DialogTitle/DialogTitle.tsx","../src/Notifications/Dialog/Dialog.tsx","../src/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.tsx","../src/Notifications/DiscardChangesModal/DiscardChangesDialog/DiscardChangesDialog.tsx","../src/Notifications/DiscardChangesModal/DiscardChangesModal.tsx","../src/Notifications/SlideInModal/SlideInModal.tsx","../src/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.tsx","../src/hooks/useAnimation.ts","../src/Notifications/Snackbar/SnackbarItem/SnackbarItem.tsx","../src/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.tsx","../src/hooks/useFormSelector.ts","../src/Form/FormHelperText/FormHelperText.tsx","../src/Form/FormSelectorWrapper/FormSelectorWrapper.tsx","../src/Form/Checkbox/Checkbox.tsx","../src/Form/Radio/Radio.tsx","../src/Form/Textarea/Textarea.tsx","../src/Form/Toggle/Toggle.tsx","../src/Form/FormControl/FormControl.tsx","../src/Form/FormGroup/FormGroup.tsx","../src/Form/Wrapper/Wrapper/Wrapper.tsx","../src/hooks/useWrapper.ts","../src/Form/Wrapper/InputWrapper/InputWrapper.tsx","../src/Form/Wrapper/SelectWrapper/SelectWrapper.tsx","../src/Form/Wrapper/TextareaWrapper/TextareaWrapper.tsx","../src/Form/Fieldset/Fieldset.tsx","../src/Form/Form.tsx","../src/Form/Wrapper/RadioWrapper/RadioWrapper.tsx","../src/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.tsx","../src/Wizard/wizardStateReducer.ts","../src/Wizard/WizardStateProvider.tsx","../src/Wizard/Wizard.tsx","../src/Wizard/WizardActions/WizardActions.tsx","../src/Wizard/BaseWizardSteps/BaseWizardSteps.tsx","../src/Wizard/WizardSteps/WizardSteps.tsx"],"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 React, { ComponentPropsWithRef } from 'react';\nimport classes from './BaseButton.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<'button'> {\n type?: 'submit' | 'button' | 'reset';\n disabled?: boolean;\n color?: 'primary' | 'secondary' | 'tertiary' | 'default';\n}\n\nexport const BaseButton = React.forwardRef<HTMLButtonElement, Props>(\n ({ children, type = 'button', className, ...rest }, ref) => {\n const validTypes = ['submit', 'button', 'reset'];\n\n if (!validTypes.includes(type))\n throw new Error(\n `You have entered an invalid button type. Expected 'submit', 'button' or 'reset' got ${type}`\n );\n\n return (\n <button\n {...rest}\n ref={ref}\n type={type}\n className={`${classes.button} ${className ? className : ''}`}\n >\n {children}\n </button>\n );\n }\n);\n","import React from 'react';\nimport { BaseButton, Props as BaseButtonProps } from './BaseButton';\nimport classes from './Button.module.scss';\n\nexport interface Props extends BaseButtonProps {\n startIcon?: React.ReactNode | false;\n endIcon?: React.ReactNode | false;\n children?: React.ReactNode;\n variant?: 'text' | 'fill' | 'outline';\n}\n\nexport const Button = React.forwardRef<HTMLButtonElement, Props>(\n (\n {\n children,\n variant = 'fill',\n color = 'primary',\n startIcon = false,\n endIcon = false,\n className,\n ...rest\n },\n ref\n ) => {\n const additionalClasses = [];\n\n if (startIcon || endIcon) {\n additionalClasses.push(classes['has-icon']);\n }\n\n if (startIcon) {\n additionalClasses.push(classes['start-icon']);\n }\n\n if (endIcon) {\n additionalClasses.push(classes['end-icon']);\n }\n\n if (className) {\n additionalClasses.push(className);\n }\n\n return (\n <BaseButton\n {...rest}\n ref={ref}\n className={`${classes[color]} ${classes[variant]} ${additionalClasses.join(' ')}`}\n >\n {startIcon && <i>{startIcon}&nbsp;</i>}\n <span>{children}</span>\n {endIcon && <i>&nbsp;{endIcon}</i>}\n </BaseButton>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from 'react';\nimport classes from './Icon.module.scss';\n\nexport enum Icons {\n Bell = 'bell',\n BellAlt = 'bell-alt',\n Bookmark = 'bookmark',\n BookmarkAlt = 'bookmark-alt',\n Build = 'build',\n Calendar = 'calendar',\n Change = 'change',\n Checkmark = 'checkmark',\n CheckmarkCircle = 'checkmark-circle',\n CheckmarkCircleAlt = 'checkmark-circle-alt',\n CheckmarkCircleBreakout = 'checkmark-circle-breakout',\n CheckmarkSquare = 'checkmark-square',\n ChevronUp = 'chevron-up',\n ChevronDown = 'chevron-down',\n ChevronLeft = 'chevron-left',\n ChevronRight = 'chevron-right',\n Circle = 'circle',\n Clock = 'clock',\n Copy = 'copy',\n Edit = 'edit',\n Ellipsis = 'ellipsis',\n EllipsisAlt = 'ellipsis-alt',\n Equal = 'equal',\n Error = 'error-circle',\n Eye = 'eye',\n Filter = 'filter',\n FilterAlt = 'filter-alt',\n FilterAltArrow = 'filter-alt-arrow',\n FilterAltTimes = 'filter-alt-times',\n Forbidden = 'forbidden',\n Fullscreen = 'fullscreen',\n FullscreenExit = 'fullscreen-exit',\n Gearwheel = 'gearwheel',\n Grid = 'grid',\n Hamburger = 'hamburger',\n Heart = 'heart',\n Image = 'image',\n InfoBell = 'info-bell',\n InfoCircle = 'info-circle',\n Link = 'link',\n MinusSquare = 'minus-square',\n NavigationFirst = 'navigation-first',\n NavigationLast = 'navigation-last',\n Plus = 'plus',\n Radio = 'radio',\n Refresh = 'refresh',\n Search = 'search',\n Share = 'share',\n Square = 'square',\n Star = 'star',\n StarAlt = 'star-alt',\n Times = 'times',\n TimesCircle = 'times-circle',\n TimesCircleAlt = 'times-circle-alt',\n TimesThin = 'times-thin',\n Trash = 'trash',\n TriangleDown = 'triangle-down',\n TriangleDownCircle = 'triangle-down-circle',\n TriangleLeft = 'triangle-left',\n TriangleRight = 'triangle-right',\n TriangleUp = 'triangle-up',\n Undo = 'undo',\n Warning = 'warning',\n}\n\ntype Tag = 'span' | 'div' | 'i';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n icon: Icons;\n color?: string;\n size?: string;\n tag?: Tag;\n}\n\nexport const Icon = React.forwardRef<HTMLDivElement, Props>(\n ({ icon, color, className, style, size, tag = 'span', ...rest }: Props, ref) => {\n const Component = tag;\n\n return (\n <Component\n {...rest}\n ref={ref}\n style={{ color: color, ...style, fontSize: size }}\n data-icon\n aria-hidden=\"true\"\n className={`${classes['icon']} ${classes['icon-' + icon]} ${className ? className : ''}`}\n />\n );\n }\n);\n","import { CSSProperties } from 'react';\n\nexport type SpacingMultiplier = 0 | 0.5 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;\ntype SpacingMultiplierStringOrNumber = `${SpacingMultiplier}` | SpacingMultiplier;\ntype MultiValueSpacingMultiplier =\n | `${SpacingMultiplier} ${SpacingMultiplier} ${SpacingMultiplier} ${SpacingMultiplier}`\n | `${SpacingMultiplier} ${SpacingMultiplier} ${SpacingMultiplier}`\n | `${SpacingMultiplier} ${SpacingMultiplier}`\n | SpacingMultiplierStringOrNumber;\n\nexport interface Spacing {\n padding?: MultiValueSpacingMultiplier;\n paddingTop?: SpacingMultiplierStringOrNumber;\n paddingBottom?: SpacingMultiplierStringOrNumber;\n paddingLeft?: SpacingMultiplierStringOrNumber;\n paddingRight?: SpacingMultiplierStringOrNumber;\n margin?: MultiValueSpacingMultiplier;\n marginTop?: SpacingMultiplierStringOrNumber;\n marginBottom?: SpacingMultiplierStringOrNumber;\n marginLeft?: SpacingMultiplierStringOrNumber;\n marginRight?: SpacingMultiplierStringOrNumber;\n}\n\nconst defaultFactor = 0.25;\nconst defaultUnit = 'rem';\nconst spacingNumberRegex = /(\\d+\\.?\\d*)+/g;\n\nexport const useSpacing = (\n spacingProps?: Spacing,\n style?: CSSProperties\n): CSSProperties | undefined => {\n if (spacingProps) {\n return Object.entries(spacingProps).reduce<CSSProperties>((prev, [spacing, multiplier]) => {\n const matches = String(multiplier).matchAll(spacingNumberRegex);\n const cssSpacingValue = Array.from(matches)\n .map(([multiplierValue]) => `${Number(multiplierValue) * defaultFactor}${defaultUnit}`)\n .join(' ');\n return { ...prev, [spacing]: cssSpacingValue };\n }, style ?? {});\n }\n return style;\n};\n","import React, { ComponentPropsWithRef, ReactNode } from 'react';\nimport classes from './Typography.module.scss';\nimport { Spacing, useSpacing } from '../hooks/useSpacing';\n\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, Fragment, ReactElement } from 'react';\nimport { Icon, Icons } from '../Icon/Icon';\nimport { Link, Props as LinkProps } from '../Link/Link';\nimport { Typography } from '../Typography/Typography';\nimport classes from './Breadcrumbs.module.scss';\n\ntype ChildrenType = ReactElement<LinkProps, typeof Link>;\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n children: ChildrenType | ChildrenType[];\n 'aria-label': string;\n}\n\nexport const Breadcrumbs = React.forwardRef<HTMLDivElement, Props>(\n ({ children, 'aria-label': ariaLabel, className = '', ...rest }: Props, ref) => {\n const items = React.Children.map(children, (child, index) => {\n const isLastElement = Array.isArray(children) ? index === children.length - 1 : true;\n if (isLastElement) {\n return (\n <Typography\n key={child.key}\n variant=\"body\"\n tag=\"span\"\n className={classes['last']}\n aria-current=\"page\"\n >\n {child.props.children}\n </Typography>\n );\n } else {\n return (\n <Fragment key={child.key}>\n {React.cloneElement(child)}\n <Icon icon={Icons.ChevronRight} className={classes['icon']} />\n </Fragment>\n );\n }\n });\n return (\n <nav\n {...rest}\n ref={ref}\n aria-label={ariaLabel}\n className={`${classes['breadcrumbs']} ${className}`}\n >\n {items}\n </nav>\n );\n }\n);\n","import React, { useState } from 'react';\n\nexport interface ConfigObject {\n relativeElement: RefElement;\n elementToBePositioned: RefElement;\n transformOrigin?: Placement;\n placement?: Placement;\n offset?: Offset;\n}\n\nexport type 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 { useEffect } from 'react';\n\nexport const useBodyClick = (\n checkFunction: (event: MouseEvent) => boolean,\n callbackFunction: (...args: unknown[]) => unknown,\n dependingStateVariable: React.ComponentState | React.ComponentState[]\n) => {\n function bodyClickListener(event: MouseEvent) {\n if (checkFunction(event)) {\n callbackFunction();\n }\n }\n useEffect(() => {\n window.addEventListener('click', bodyClickListener);\n\n return () => {\n window.removeEventListener('click', bodyClickListener);\n };\n }, [dependingStateVariable]);\n};\n","import React, {\n ComponentPropsWithRef,\n ReactElement,\n ReactNode,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { Props as ButtonProps } from '../Button/Button';\nimport { Props as IconButtonProps } from '../Button/IconButton';\nimport { Popover } from '../Popover/Popover';\nimport { Placement, Offset } from '../hooks/usePosition';\nimport classes from './ContextMenu.module.scss';\nimport { useBodyClick } from '../hooks/useBodyClick';\nimport { createPortal } from 'react-dom';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n trigger: ReactElement<ButtonProps> | ReactElement<IconButtonProps>;\n children: ReactNode;\n placement?: Placement;\n transformOrigin?: Placement;\n offset?: Offset;\n id: string;\n show?: boolean;\n domRoot?: HTMLElement;\n onShow?: () => void;\n onClose?: () => void;\n}\n\nexport const ContextMenu = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n trigger,\n children,\n id,\n show = false,\n onShow,\n onClose,\n placement = { horizontal: 'right', vertical: 'top' },\n offset = { top: 0, bottom: 0, left: 0, right: 0 },\n transformOrigin = { horizontal: 'left', vertical: 'top' },\n domRoot = document.body,\n ...rest\n }: Props,\n ref\n ) => {\n const anchorEl = useRef<HTMLButtonElement>(null);\n const [showContextMenu, setShowContextMenu] = useState(show);\n const [selectedContextMenuItem, setSelectedContextMenuItem] = useState(-1);\n const [focusedContextMenuItem, setFocusedContextMenuItem] = useState(-1);\n const [shouldClick, setShouldClick] =\n useState(\n false\n ); /** We need this, because whenever we use the arrow keys to select the contextmenu item, and we focus the currently selected item it fires the \"click\" listener in ContextMenuItem component. Instead, we only want this to fire if we press \"enter\" or \"spacebar\" so we set this to true whenever that is the case, and back to false when it has been executed. */\n const [childrenCount] = useState(React.Children.count(children));\n\n if (!id) {\n throw new Error('You need to provide an ID to the context menu');\n }\n\n const onArrowNavigation = (event: React.KeyboardEvent) => {\n if (focusedContextMenuItem === -1 && selectedContextMenuItem !== -1) {\n setFocusedContextMenuItem(selectedContextMenuItem);\n }\n\n event.preventDefault();\n switch (event.code) {\n case 'ArrowDown':\n if (!showContextMenu) {\n setShowContextMenu(true);\n return;\n }\n setFocusedContextMenuItem((prevState) => {\n return prevState + 1 > childrenCount - 1 ? 0 : prevState + 1;\n });\n return;\n case 'ArrowUp':\n setFocusedContextMenuItem((prevState) => {\n return prevState - 1 < 0 ? childrenCount - 1 : prevState - 1;\n });\n return;\n case 'Enter':\n case 'Space':\n if (!showContextMenu) {\n setShowContextMenu(true);\n return;\n }\n\n setShouldClick(true);\n setSelectedContextMenuItem(focusedContextMenuItem);\n setShowContextMenu(false);\n return;\n case 'Tab':\n case 'Escape':\n setShowContextMenu(false);\n return;\n case 'End':\n setFocusedContextMenuItem(childrenCount - 1);\n return;\n case 'Home':\n setFocusedContextMenuItem(0);\n return;\n }\n };\n\n useBodyClick(\n (event) => {\n return 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 setFocusedContextMenuItem(-1);\n anchorEl.current && anchorEl.current.focus();\n }\n }, [showContextMenu]);\n\n const renderTrigger = () =>\n React.cloneElement(trigger, {\n id: id,\n 'aria-haspopup': 'true',\n 'aria-controls': `${id}-menu`,\n 'aria-expanded': showContextMenu,\n onClick: () => setShowContextMenu(!showContextMenu),\n tabIndex: 0,\n ref: anchorEl,\n });\n\n const renderChildren = () => {\n return React.Children.map(children, (child, index) => {\n return React.cloneElement(child as ReactElement, {\n onFocusChange: (childIndex: number) => setFocusedContextMenuItem(childIndex),\n onSelectedChange: (childIndex: number) => {\n setSelectedContextMenuItem(childIndex);\n setShouldClick(false);\n },\n childIndex: index,\n hasFocus: focusedContextMenuItem === index,\n isSelected: selectedContextMenuItem === index,\n contextMenuOpened: showContextMenu,\n shouldClick: shouldClick,\n });\n });\n };\n\n return (\n <div {...rest} ref={ref} onKeyDown={onArrowNavigation} className={classes['context-menu']}>\n {renderTrigger()}\n {createPortal(\n <Popover\n placement={placement}\n transformOrigin={transformOrigin}\n offset={offset}\n anchorEl={anchorEl}\n show={showContextMenu}\n >\n <ul className={classes.menu} id={`${id}-menu`} aria-describedby={id} role=\"menu\">\n {renderChildren()}\n </ul>\n </Popover>,\n domRoot\n )}\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef, createRef, RefObject, useEffect } from 'react';\nimport classes from './ContextMenuItem.module.scss';\n\nexport interface Props extends Omit<ComponentPropsWithRef<'button'>, 'onClick'> {\n children?: string;\n hasFocus?: boolean;\n isSelected?: boolean;\n childIndex?: number;\n shouldClick?: boolean;\n contextMenuOpened?: boolean;\n onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n onFocusChange?: (childIndex: number) => void;\n onSelectedChange?: (childIndex: number) => void;\n}\n\nexport const ContextMenuItem = React.forwardRef<HTMLButtonElement, Props>(\n (\n {\n children,\n onClick,\n onFocusChange,\n onSelectedChange,\n hasFocus,\n isSelected,\n childIndex,\n contextMenuOpened,\n shouldClick,\n ...rest\n }: Props,\n ref\n ) => {\n let innerButtonRef = (ref as RefObject<HTMLButtonElement>) || createRef<HTMLButtonElement>();\n\n useEffect(() => {\n if (isSelected && innerButtonRef.current && shouldClick) {\n innerButtonRef.current.click();\n }\n }, [isSelected, shouldClick]);\n\n useEffect(() => {\n if (innerButtonRef.current && hasFocus && contextMenuOpened) {\n onFocusChange && childIndex && onFocusChange(childIndex);\n innerButtonRef.current.focus();\n }\n }, [hasFocus, innerButtonRef, contextMenuOpened]);\n\n return (\n <li role=\"menuitem\" className={classes['context-menu-item']}>\n <button\n {...rest}\n ref={innerButtonRef}\n data-focus={hasFocus}\n onClick={(event) => {\n onClick && onClick(event);\n onSelectedChange && childIndex && onSelectedChange(childIndex);\n }}\n >\n {children}\n </button>\n </li>\n );\n }\n);\n","import React, {\n ComponentPropsWithRef,\n ForwardRefExoticComponent,\n ReactNode,\n RefAttributes,\n} from 'react';\nimport classes from './Link.module.scss';\nimport { LinkProps } from './types';\n\nexport type AnchorType = 'external' | 'internal' | 'download';\n\nexport interface Props extends ComponentPropsWithRef<'a'> {\n children?: ReactNode;\n color?: 'primary' | 'secondary' | 'tertiary';\n display?: 'link' | 'button';\n buttonVariant?: 'outline' | 'text' | 'fill';\n type?: AnchorType;\n to: string;\n disabled?: boolean;\n component?: ForwardRefExoticComponent<LinkProps & RefAttributes<HTMLAnchorElement>>;\n}\n\nexport const Link = React.forwardRef<HTMLAnchorElement, Props>(\n (\n {\n children,\n className,\n disabled = false,\n to,\n color = 'primary',\n type = 'internal',\n display = 'link',\n buttonVariant = 'fill',\n component,\n ...rest\n }: Props,\n ref\n ) => {\n const determineTarget = () => {\n if (rest.target) {\n return rest.target;\n }\n\n if (type === 'external') {\n return '_blank';\n }\n\n return '';\n };\n\n const classNames = [classes[color]];\n display === 'link' && classNames.push(classes['link']);\n display === 'button' && classNames.push(classes['button'], classes[buttonVariant]);\n disabled && classNames.push(classes['disabled']);\n className && classNames.push(className);\n\n if (component) {\n return React.createElement(component, {\n ...rest,\n ref: ref,\n to: to,\n className: classNames.join(' '),\n 'aria-disabled': disabled,\n style: {\n ...rest.style,\n },\n children: children,\n });\n }\n\n return (\n <a\n {...rest}\n ref={ref}\n download={type === 'download'}\n rel={type === 'external' ? 'noopener noreferer' : undefined}\n href={!disabled ? to : undefined}\n className={classNames.join(' ')}\n aria-disabled={disabled}\n target={determineTarget()}\n style={{\n ...rest.style,\n }}\n >\n {children}\n </a>\n );\n }\n);\n","import React, { Fragment } from 'react';\nimport { BaseButton, Props as BaseButtonProps } from './BaseButton';\nimport classes from './IconButton.module.scss';\nimport readyclasses from '../readyclasses.module.scss';\n\nexport interface Props extends BaseButtonProps {\n children?: React.ReactNode;\n iconSize?: 's' | 'm' | 'l';\n variant?: 'text' | 'fill' | 'outline';\n className?: string;\n title?: string;\n}\n\nexport const IconButton = React.forwardRef<HTMLButtonElement, Props>(\n (\n { children, color = 'primary', variant = 'text', iconSize = 'm', title, className, ...rest },\n ref\n ) => {\n if (!title) {\n console.error(\"Please make sure to specify a 'title' prop to your IconButton component! \");\n }\n\n const iconButtonClasses = [\n classes['icon-button'],\n classes[variant],\n classes[color],\n classes['button-' + iconSize],\n ];\n\n if (className) {\n iconButtonClasses.push(className);\n }\n\n return (\n <BaseButton {...rest} ref={ref} className={iconButtonClasses.join(' ')}>\n <Fragment>\n {children}\n <span className={readyclasses['sr-only']}>{title}</span>\n </Fragment>\n </BaseButton>\n );\n }\n);\n","import React from 'react';\n\nexport interface Props {\n title: string;\n children?: React.ReactNode;\n selected?: boolean;\n focussed?: boolean;\n buttonRef?: React.RefObject<HTMLButtonElement>;\n panelRef?: React.RefObject<HTMLDivElement>;\n onTabButtonClick?: () => void;\n}\n\nexport const Tab = (args: Props) => {\n return (\n <div {...args}>{`A <Tab /> component should only be used inside the <Tabs /> component.`}</div>\n );\n};\n","type KeyValuePair = { [key: string]: unknown };\n\nexport const generateID = (length = 15, stringToWeaveIn?: string) => {\n /** We will make sure to mesh the generate id and name property together to basically create a unique ID */\n let hashCharacters = [\n '1',\n '2',\n '3',\n '4',\n '5',\n '6',\n '7',\n '8',\n '9',\n '0',\n 'A',\n 'B',\n 'C',\n 'D',\n 'E',\n 'F',\n 'G',\n 'H',\n 'I',\n 'J',\n 'K',\n 'L',\n 'M',\n 'N',\n 'O',\n 'P',\n 'Q',\n 'R',\n 'S',\n 'T',\n 'U',\n 'V',\n 'W',\n 'X',\n 'Y',\n 'Z',\n 'a',\n 'b',\n 'c',\n 'd',\n 'e',\n 'f',\n 'g',\n 'h',\n 'i',\n 'j',\n 'k',\n 'l',\n 'm',\n 'n',\n 'o',\n 'p',\n 'q',\n 'r',\n 's',\n 't',\n 'u',\n 'v',\n 'w',\n 'x',\n 'y',\n 'z',\n ];\n\n let id = '';\n\n /** Generate an id of x characters in length */\n for (let i = 0; i < length && id.length < length; i++) {\n let stringCharacter =\n stringToWeaveIn && stringToWeaveIn[i] !== undefined && !/\\s/.test(stringToWeaveIn[i])\n ? stringToWeaveIn[i]\n : '';\n id = id + stringCharacter + hashCharacters[Math.floor(Math.random() * hashCharacters.length)];\n }\n\n return id.slice(0, length);\n};\n\nexport const filterProps = (props: any, regexPattern: RegExp, returnFiltered: boolean = true) => {\n if (returnFiltered) {\n return Object.keys(props).reduce((acc: KeyValuePair, key) => {\n if (regexPattern.test(key)) {\n acc[key] = props[key];\n }\n\n return acc;\n }, {});\n } else {\n return Object.entries(props)\n .filter(([key]) => !regexPattern.test(key))\n .reduce(\n (prevObj, currKeyValPair) => ({ ...prevObj, [currKeyValPair[0]]: currKeyValPair[1] }),\n {}\n );\n }\n};\n","import React, { ComponentPropsWithRef, useEffect } from 'react';\nimport classes from './TabButton.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<'button'> {\n children?: string;\n selected?: boolean;\n focussed?: boolean;\n tabId?: string;\n tabPanelId?: string;\n onTabButtonClick?: () => void;\n}\n\nexport const TabButton = React.forwardRef<HTMLButtonElement, Props>(\n (\n {\n children,\n selected = false,\n focussed = false,\n tabId,\n tabPanelId,\n className,\n onTabButtonClick,\n ...rest\n }: Props,\n ref\n ) => {\n useEffect(() => {\n if (focussed && ref) {\n (ref as React.MutableRefObject<HTMLButtonElement>).current.focus();\n }\n }, [focussed]);\n\n const classNames = [classes['tabbutton']];\n\n selected && classNames.push(classes['selected']);\n focussed && !selected && classNames.push(classes['focussed']);\n className && classNames.push(className);\n\n return (\n <button\n {...rest}\n aria-selected={selected}\n key={tabId}\n className={classNames.join(' ')}\n ref={ref}\n role=\"tab\"\n tabIndex={selected ? 0 : -1}\n type=\"button\"\n aria-controls={tabPanelId}\n id={tabId}\n onClick={onTabButtonClick}\n >\n <span aria-hidden=\"true\">{children}</span>\n {children}\n </button>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from 'react';\nimport classes from './TabPanel.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n children: React.ReactNode;\n tabId: string;\n tabPanelId: string;\n selected?: boolean;\n}\n\nexport const TabPanel = React.forwardRef<HTMLDivElement, Props>(\n ({ children, tabId, tabPanelId, selected = false, className, ...rest }: Props, ref) => (\n <div\n {...rest}\n ref={ref}\n aria-labelledby={tabId}\n className={`${classes['tabpanel']} ${selected ? classes['selected'] : ''} ${className ?? ''}`}\n id={tabPanelId}\n role=\"tabpanel\"\n tabIndex={0}\n hidden={!selected || undefined}\n aria-hidden={!selected}\n >\n {children}\n </div>\n )\n);\n","import React, {\n ComponentPropsWithRef,\n createRef,\n MutableRefObject,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { generateID } from '../util/helper';\nimport { Props as TabProps } from './Tab';\nimport { TabButton } from './TabButton';\nimport { TabPanel } from './TabPanel';\nimport classes from './Tabs.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n children: React.ReactElement<TabProps> | React.ReactElement<TabProps>[];\n selected?: number;\n 'aria-label'?: string;\n onTabChange?: (index: number) => void;\n}\n\nexport const Tabs = ({\n children,\n selected = 0,\n 'aria-label': ariaLabel,\n onTabChange,\n className,\n ...rest\n}: Props) => {\n const indicatorRef = useRef<HTMLDivElement>(null);\n const [indicatorPosition, setIndicatorPosition] = useState({ left: 0, top: 0 });\n const [indicatorWidth, setIndicatorWidth] = useState(0);\n\n const [max] = useState(React.Children.count(children) - 1);\n const min = 0;\n\n const [selectedTab, setSelectedTab] = useState(Math.min(max, Math.max(min, selected)));\n const [focussedTab, setFocussedTab] = useState(-1);\n const [tabIds] = useState([...Array(max)].map(() => generateID()));\n const [tabPanelIds] = useState([...Array(max)].map(() => generateID()));\n\n useEffect(() => {\n setSelectedTab(Math.min(max, Math.max(min, selected)));\n setFocussedTab(-1);\n }, [selected]);\n\n useEffect(() => {\n calculateIndicatorPosition();\n }, [selectedTab]);\n\n const calculateIndicatorPosition = () => {\n const selectedTabButton = (\n tabButtons[selectedTab].ref as MutableRefObject<HTMLButtonElement | null>\n ).current as HTMLButtonElement;\n\n setIndicatorPosition({\n left: selectedTabButton.offsetLeft,\n top:\n selectedTabButton.offsetTop +\n selectedTabButton.offsetHeight -\n indicatorRef.current!.offsetHeight,\n });\n setIndicatorWidth(selectedTabButton.offsetWidth);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n // do not show focus unless we came here before\n let currentFocussedTab = focussedTab === -1 ? selectedTab : focussedTab;\n\n switch (e.code) {\n case 'ArrowLeft':\n setFocussedTab(currentFocussedTab === min ? max : currentFocussedTab - 1);\n break;\n case 'ArrowRight':\n setFocussedTab(currentFocussedTab === max ? min : currentFocussedTab + 1);\n break;\n case 'Home':\n setFocussedTab(min);\n break;\n case 'End':\n setFocussedTab(max);\n break;\n case 'Space':\n case 'Enter':\n activateTab(currentFocussedTab);\n break;\n }\n };\n\n const handleBlur = () => {\n setFocussedTab(selectedTab);\n };\n\n const activateTab = (index: number) => {\n setSelectedTab(index);\n setFocussedTab(index);\n onTabChange && onTabChange(index);\n };\n\n const tabButtons = React.Children.map(children, (child, index) =>\n React.createElement(TabButton, {\n ref: child.props.buttonRef || createRef<HTMLButtonElement>(),\n key: generateID(),\n tabId: tabIds[index],\n tabPanelId: tabPanelIds[index],\n selected: selectedTab === index,\n focussed: focussedTab === index,\n onTabButtonClick: () => activateTab(index),\n children: child.props.title,\n })\n );\n\n const tabPanels = React.Children.map(children, (child, index) =>\n React.createElement(TabPanel, {\n ref: child.props.panelRef || createRef<HTMLDivElement>(),\n key: generateID(),\n selected: selectedTab === index,\n tabId: tabIds[index],\n tabPanelId: tabPanelIds[index],\n children: child.props.children,\n })\n );\n\n return (\n <div {...rest} className={`${classes['tabs']} ${className ?? ''}`}>\n <div\n role=\"tablist\"\n onKeyDown={handleKeyDown}\n onBlur={handleBlur}\n aria-label={ariaLabel}\n className={classes['tablist']}\n >\n <div className={classes['tabdivider']} />\n {tabButtons}\n <div\n className={classes['indicator']}\n ref={indicatorRef}\n aria-hidden=\"true\"\n tabIndex={-1}\n style={{\n width: indicatorWidth,\n ...indicatorPosition,\n }}\n />\n </div>\n <div className={classes['tabpanels']}>{tabPanels}</div>\n </div>\n );\n};\n","import React, { useRef, MouseEventHandler, useState, ComponentPropsWithRef } from 'react';\nimport { Popover } from '../Popover/Popover';\nimport classes from './TextEllipsis.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n children?: string;\n popoverClassName?: string;\n}\n\nexport const TextEllipsis = React.forwardRef<HTMLDivElement, Props>(\n ({ children, popoverClassName, className, ...rest }: Props, ref) => {\n const [showPopover, setShowPopover] = useState(false);\n const textContainer = useRef<HTMLDivElement>(null);\n\n const ellipsisVisible = () => {\n if (\n textContainer.current &&\n textContainer.current.offsetWidth < textContainer.current.scrollWidth\n ) {\n return true;\n }\n return false;\n };\n\n const onMouseEnter: MouseEventHandler<HTMLDivElement> = () => {\n ellipsisVisible() && setShowPopover(true);\n };\n\n const onMouseLeave: MouseEventHandler<HTMLDivElement> = () => {\n ellipsisVisible() && setShowPopover(false);\n };\n\n return (\n <div\n {...rest}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n className={`${classes['text-ellipsis']} ${className ?? ''}`}\n ref={ref || textContainer}\n >\n {children}\n <Popover\n aria-hidden={true}\n data-hidden={!showPopover}\n show={showPopover}\n role=\"tooltip\"\n anchorEl={textContainer}\n className={`${classes.popover} ${popoverClassName ?? ''}`}\n >\n {children}\n </Popover>\n </div>\n );\n }\n);\n","import React, { 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, {\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, 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 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())}&nbsp;</div>;\n }\n\n return <div key={string}>{string}&nbsp;</div>;\n });\n }\n\n return null;\n };\n\n const onPageSizeChangeHandler = (event: React.ChangeEvent<HTMLSelectElement>) => {\n const pageSizeNumber = Number(event.target.value) as PageSize;\n onPageSizeChange(pageSizeNumber);\n };\n\n const onPageChangeHandler = (pageToGoTo: number) => {\n onPageChange(pageToGoTo);\n };\n\n return (\n <div\n {...rest}\n ref={ref}\n className={`${classes['pagination-wrapper']} ${className ? className : ''}`}\n >\n {totalElements && (\n <div className={classes['total']}>\n <span tabIndex={0}>\n {translate.totalItems}: <span>{totalElements}</span>\n </span>\n </div>\n )}\n <div className={classes['pagination']}>\n {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, { useEffect, useState } from 'react';\nimport { generateID } from '../util/helper';\n\ninterface Arguments {\n componentToRepeat: React.ReactElement;\n}\n\nexport const useRepeater = <T>({ componentToRepeat }: Arguments) => {\n const [repeatedComponents, setRepeatedComponents] = useState<JSX.Element[]>([]);\n\n useEffect(() => {\n repeat();\n }, []);\n\n const repeat = () => {\n const clonedComponent = React.cloneElement(componentToRepeat, { key: generateID(20) });\n\n setRepeatedComponents((prevState) => [...prevState, clonedComponent]);\n };\n\n const remove = (componentToRemove: React.ReactElement<T>) => {\n const newRepeatedComponents = repeatedComponents.filter(\n (component) => component !== componentToRemove\n );\n\n setRepeatedComponents(newRepeatedComponents);\n };\n\n return {\n repeatedComponents,\n repeat,\n remove,\n };\n};\n","export const labelId = (id: string) => `${id}-label`;\nexport const descriptionId = (id: string) => `${id}-description`;\n","import React, { ComponentPropsWithRef, useEffect } from 'react';\nimport { createPortal } from 'react-dom';\nimport classes from './BaseModal.module.scss';\nimport { labelId, descriptionId } from './BaseModalContext';\n\nconst SCROLL_PROPERTY_NAME = 'overflow';\nconst SCROLL_PROPERTY_VALUE = 'hidden';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n id: string;\n children: React.ReactNode;\n open: boolean;\n onClose?: (event?: React.MouseEvent<HTMLElement>) => unknown;\n className?: string;\n containerProps?: ComponentPropsWithRef<'div'>;\n backdropProps?: ComponentPropsWithRef<'div'>;\n labelledby?: string;\n describedby?: string;\n disableEscapeKeyDown?: boolean;\n disableBackdrop?: boolean;\n forceContainerOpen?: boolean;\n zIndex?: number;\n domRoot?: HTMLElement;\n}\n\nexport const useSetBodyScroll = (open: boolean) => {\n const hideBodyScroll = () => {\n document.body.style[SCROLL_PROPERTY_NAME] = SCROLL_PROPERTY_VALUE;\n };\n\n const showBodyScroll = () => {\n const allModalsClosed =\n document.querySelectorAll('[role=dialog][data-hidden=false]').length === 0;\n if (allModalsClosed) {\n document.body.style.removeProperty(SCROLL_PROPERTY_NAME);\n }\n };\n\n useEffect(() => {\n if (open) {\n hideBodyScroll();\n } else {\n showBodyScroll();\n }\n }, [open]);\n};\n\nexport const BaseModal = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n id,\n children,\n open,\n onClose,\n className = '',\n containerProps,\n backdropProps,\n labelledby,\n describedby,\n disableEscapeKeyDown = false,\n disableBackdrop = false,\n forceContainerOpen = false,\n zIndex,\n domRoot = document.body,\n ...rest\n }: Props,\n ref\n ) => {\n useSetBodyScroll(open);\n\n const handleEscKeyPress = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disableEscapeKeyDown && event.key === 'Escape') {\n event.stopPropagation();\n onClose && onClose();\n }\n };\n\n const handleBackdropClick = () => !disableBackdrop && onClose && onClose();\n\n return createPortal(\n <div\n {...rest}\n ref={ref}\n id={id}\n className={`${classes['modal']} ${open ? classes['visible'] : ''} ${className}`}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={labelledby || labelId(id)}\n aria-describedby={describedby || descriptionId(id)}\n aria-hidden={!open}\n tabIndex={-1}\n data-hidden={!open}\n onKeyDown={handleEscKeyPress}\n style={{ zIndex }}\n >\n <div\n {...backdropProps}\n className={`${classes['backdrop']} ${backdropProps?.className ?? ''}`}\n onClick={handleBackdropClick}\n ></div>\n {forceContainerOpen ? (\n <div\n {...containerProps}\n aria-hidden={!open}\n hidden={!open}\n style={{ zIndex: zIndex && zIndex + 1 }}\n className={`${classes['container']} ${containerProps?.className ?? ''}`}\n >\n {children}\n </div>\n ) : (\n open && (\n <div\n {...containerProps}\n style={{ zIndex: zIndex && zIndex + 1 }}\n className={`${classes['container']} ${containerProps?.className ?? ''}`}\n >\n {children}\n </div>\n )\n )}\n </div>,\n domRoot\n );\n }\n);\n","import React, { createContext } from 'react';\nimport { SnackbarOptionsProps } from '../interfaces';\n\ninterface SnackbarContextProps {\n enqueueSnackbar: (title: string, content?: string, options?: SnackbarOptionsProps) => void;\n enqueueSuccessSnackbar: (title: string, content?: string, options?: SnackbarOptionsProps) => void;\n enqueueErrorSnackbar: (title: string, content?: string, options?: SnackbarOptionsProps) => void;\n}\n\nconst SnackbarContext = createContext<SnackbarContextProps>({\n enqueueSnackbar: () => null,\n enqueueSuccessSnackbar: () => null,\n enqueueErrorSnackbar: () => null,\n});\n\ninterface Props {\n initialState: SnackbarContextProps;\n children?: React.ReactNode;\n}\n\nconst SnackbarContextProvider = ({ children, initialState }: Props) => {\n return <SnackbarContext.Provider value={initialState}>{children}</SnackbarContext.Provider>;\n};\n\nexport { SnackbarContextProvider, SnackbarContext, SnackbarContextProps };\n","import { useContext } from 'react';\nimport { SnackbarContext } from './SnackbarProvider/SnackbarStateProvider';\n\nexport const useSnackbar = () => useContext(SnackbarContext);\n","import React, { ComponentPropsWithRef, createRef, useEffect } from 'react';\nimport classes from './BaseModalContent.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n id?: string;\n children: React.ReactNode;\n className?: string;\n disableAutoFocus?: boolean;\n}\n\nexport const BaseModalContent = React.forwardRef<HTMLDivElement, Props>(\n ({ id, children, className = '', disableAutoFocus = false, ...rest }: Props, ref) => {\n const contentRef = createRef<HTMLDivElement>();\n\n useEffect(() => {\n if (!disableAutoFocus && ref) {\n (ref as React.RefObject<HTMLDivElement>).current?.focus();\n } else if (!disableAutoFocus) {\n contentRef.current?.focus();\n }\n }, []);\n\n /**tabIndex is set to be able to do focus on that element which we need for catching keyDown events */\n return (\n <div\n {...rest}\n ref={ref || contentRef}\n id={id}\n className={`${classes['content']} ${className}`}\n tabIndex={-1}\n >\n {children}\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from 'react';\nimport classes from './BaseModalActions.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<'footer'> {\n children?: React.ReactNode;\n}\n\nexport const BaseModalActions = React.forwardRef<HTMLElement, Props>(\n ({ children, className = '', ...rest }: Props, ref) => {\n return (\n <footer {...rest} ref={ref} className={`${classes['actions']} ${className}`}>\n {children}\n </footer>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from 'react';\nimport {\n BaseModalActions,\n Props as BaseModalActionsProps,\n} from '../../BaseModal/BaseModalActions/BaseModalActions';\nimport classes from './DialogActions.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<any>, BaseModalActionsProps {\n align: 'left' | 'right';\n}\n\nexport const DialogActions = React.forwardRef<HTMLElement, Props>(\n ({ children, align, ...rest }: Props, ref) => {\n return (\n <BaseModalActions\n {...rest}\n ref={ref}\n className={`${classes['actions']}${align === 'left' ? ' ' + classes['left'] : ''}`}\n >\n {children}\n </BaseModalActions>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from 'react';\nimport { Typography } from '../../../Typography/Typography';\nimport classes from './DialogTitle.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n id: string;\n title: string;\n}\n\nexport const DialogTitle = React.forwardRef<HTMLDivElement, Props>(\n ({ id, title, ...rest }: Props, ref) => {\n return (\n <div {...rest} ref={ref} className={classes['header']}>\n <Typography id={id} className={classes['title']} tag=\"h1\" variant=\"h4\">\n {title}\n </Typography>\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef, useState } from 'react';\nimport { BaseModal } from '../BaseModal/BaseModal';\nimport { BaseModalContent } from '../BaseModal/BaseModalContent/BaseModalContent';\nimport { DialogActions } from './DialogActions/DialogActions';\nimport classes from './Dialog.module.scss';\nimport { DialogTitle } from './DialogTitle/DialogTitle';\nimport { Button, Props as ButtonProps } from '../../Button/Button';\nimport { labelId, descriptionId } from '../BaseModal/BaseModalContext';\nimport { generateID } from '../../util/helper';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n id?: string;\n open: boolean;\n children: React.ReactNode;\n alignActions: 'left' | 'right';\n onClose: () => void;\n title: string;\n primaryAction: Action;\n secondaryAction?: Action;\n zIndex?: number;\n disableEscapeKeyDown?: boolean;\n}\n\nexport interface Action extends Omit<ButtonProps, 'variant' | 'ref'> {\n label: string;\n onClick: (event?: React.MouseEvent<HTMLButtonElement>) => unknown;\n}\n\nexport const Dialog = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n id,\n open,\n children,\n alignActions,\n onClose,\n title,\n primaryAction,\n secondaryAction,\n zIndex,\n disableEscapeKeyDown = true,\n ...rest\n }: Props,\n ref\n ) => {\n const [dialogId] = useState(id ?? generateID(20));\n const { label: primaryLabel, ...restOfPrimaryAction } = primaryAction;\n const PrimaryButton = (\n <Button key=\"primary\" {...restOfPrimaryAction}>\n {primaryLabel}\n </Button>\n );\n const TertiaryButton =\n secondaryAction &&\n (function () {\n const { label: secondaryLabel, ...restOfSecondaryAction } = secondaryAction;\n return (\n <Button key=\"tertiary\" variant=\"text\" {...restOfSecondaryAction}>\n {secondaryLabel}\n </Button>\n );\n })();\n\n const onHiddenInputKeyPress = (event: React.KeyboardEvent<HTMLInputElement>) => {\n /** It has to be here because then we will need to check if user doesn't click tab to select action button and want to do another action then primary one? */\n if (event.key === 'Enter') {\n primaryAction.onClick();\n }\n };\n\n return (\n <BaseModal\n {...rest}\n ref={ref}\n id={dialogId}\n className={classes['dialog']}\n containerProps={{ className: classes['container'] }}\n open={open}\n disableBackdrop\n onClose={onClose}\n zIndex={zIndex}\n disableEscapeKeyDown={disableEscapeKeyDown}\n >\n <DialogTitle id={labelId(dialogId)} title={title} />\n <BaseModalContent\n id={descriptionId(dialogId)}\n className={classes['content']}\n disableAutoFocus\n >\n {children}\n </BaseModalContent>\n <DialogActions align={alignActions}>\n {alignActions === 'left'\n ? [PrimaryButton, TertiaryButton]\n : [TertiaryButton, PrimaryButton]}\n </DialogActions>\n <input\n autoFocus\n aria-hidden={true}\n style={{\n position: 'absolute',\n width: 0,\n height: 0,\n opacity: 0,\n }}\n maxLength={0}\n tabIndex={-1}\n onKeyPress={onHiddenInputKeyPress}\n />\n </BaseModal>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from 'react';\nimport classes from './BaseModalHeader.module.scss';\nimport { IconButton } from '../../../Button/IconButton';\nimport { Icon, Icons } from '../../../Icon/Icon';\nimport { Typography } from '../../../Typography/Typography';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n id: string;\n title: string;\n children?: React.ReactNode;\n onClose: (event: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\nexport const BaseModalHeader = React.forwardRef<HTMLDivElement, Props>(\n ({ id, title, children, onClose, ...rest }: Props, ref) => {\n return (\n <div {...rest} ref={ref} className={classes['header']}>\n <div className={classes['headline']}>\n <Typography id={id} className={classes['title']} tag=\"h1\" variant=\"h4\">\n {title}\n </Typography>\n <IconButton onClick={onClose} className={classes['closeBtn']} title=\"close modal\">\n <Icon icon={Icons.Times} />\n </IconButton>\n </div>\n {children}\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from 'react';\nimport { Dialog } from '../../Dialog/Dialog';\nimport { Typography } from '../../../Typography/Typography';\nimport { DataAttributeKey } from '../../../interfaces';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n open: boolean;\n discardChangesButtonLabel: string;\n keepEditingButtonLabel: string;\n contentLabel: string;\n titleLabel: string;\n [dataAttribute: DataAttributeKey]: any;\n onKeepEditing: () => void;\n onDiscardChanges: () => void;\n}\n\nexport const DiscardChangesDialog = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n open,\n onKeepEditing,\n onDiscardChanges,\n discardChangesButtonLabel,\n keepEditingButtonLabel,\n contentLabel,\n titleLabel,\n ...rest\n }: Props,\n ref\n ) => {\n return (\n <Dialog\n {...rest}\n ref={ref}\n open={open}\n alignActions=\"left\"\n title={titleLabel}\n onClose={onKeepEditing}\n primaryAction={{\n label: discardChangesButtonLabel,\n onClick: onDiscardChanges,\n }}\n secondaryAction={{\n label: keepEditingButtonLabel,\n onClick: onKeepEditing,\n }}\n disableEscapeKeyDown={false}\n >\n <Typography variant=\"body\" spacing={{ margin: 0 }}>\n {contentLabel}\n </Typography>\n </Dialog>\n );\n }\n);\n","import React, { Fragment, useState } from 'react';\nimport { Modal, Props as ModalProps } from '../Modal/Modal';\nimport { ModalHeader, Props as ModalHeaderProps } from '../Modal/ModalHeader/ModalHeader';\nimport {\n DiscardChangesDialog,\n Props as DiscardChangesDialogProps,\n} from './DiscardChangesDialog/DiscardChangesDialog';\n\nexport interface Props extends Omit<ModalProps, 'onClose'> {\n hasUnsavedChanges: () => boolean;\n onClose: (event?: React.MouseEvent<HTMLElement>) => unknown;\n headerProps: Omit<ModalHeaderProps, 'onClose' | 'id'>;\n discardChangedDialogProps: Omit<\n DiscardChangesDialogProps,\n 'open' | 'onKeepEditing' | 'onDiscardChanges'\n >;\n modalRef?: React.RefObject<HTMLDivElement>;\n dialogRef?: React.RefObject<HTMLDivElement>;\n}\n\nexport const DiscardChangesModal = ({\n id,\n children,\n headerProps,\n discardChangedDialogProps,\n modalRef,\n dialogRef,\n onClose,\n hasUnsavedChanges,\n ...rest\n}: Props) => {\n const [openDiscardChangesDialog, setOpenDiscardChangesDialog] = useState(false);\n\n const onCloseWrapper = () =>\n hasUnsavedChanges() ? setOpenDiscardChangesDialog(true) : onClose();\n\n const onDialogKeepEditing = () => {\n setOpenDiscardChangesDialog(false);\n };\n\n const onDialogDiscardChanges = () => {\n setOpenDiscardChangesDialog(false);\n onClose();\n };\n\n return (\n <Fragment>\n <Modal id={id} ref={modalRef} onClose={onCloseWrapper} {...rest}>\n <ModalHeader {...headerProps} id={`${id}-label`} onClose={onCloseWrapper} />\n {children}\n </Modal>\n <DiscardChangesDialog\n {...discardChangedDialogProps}\n ref={dialogRef}\n open={openDiscardChangesDialog}\n onKeepEditing={onDialogKeepEditing}\n onDiscardChanges={onDialogDiscardChanges}\n />\n </Fragment>\n );\n};\n","import React, { useState } from 'react';\nimport { Props as ModalProps, Modal } from '../Modal/Modal';\nimport classes from './SlideInModal.module.scss';\n\nexport const SlideInModal = React.forwardRef<HTMLDivElement, ModalProps>(\n ({ children, id, open, ...rest }: ModalProps, ref) => {\n const [classHideOnTransition, setClassHideOnTransition] = useState<'hidden' | ''>('hidden');\n\n const onTransitionEnd = () => setClassHideOnTransition((prev) => (prev ? '' : 'hidden'));\n\n return (\n <Modal\n {...rest}\n id={id}\n open={open}\n className={`${classes['slide-in-modal']} ${open ? classes['visible'] : ''} ${\n !open ? classes[classHideOnTransition] : ''\n }`}\n containerProps={{ className: classes['container'] }}\n backdropProps={{ className: classes['backdrop-slide'] }}\n forceContainerOpen\n onTransitionEnd={onTransitionEnd}\n ref={ref}\n >\n {children}\n </Modal>\n );\n }\n);\n\nexport { Props } from '../Modal/Modal';\n","import React from 'react';\nimport classes from './SnackbarContainer.module.scss';\n\nexport interface Placement {\n vertical: 'top' | 'bottom';\n horizontal: 'start' | 'center' | 'end';\n}\n\nexport interface Props {\n placement: Placement;\n children?: React.ReactNode;\n zIndex?: number;\n className?: string;\n}\n\nexport const SnackbarContainer = ({ placement, children, zIndex, className, ...rest }: Props) => {\n return (\n <div\n {...rest}\n style={{ zIndex }}\n className={`${classes['snackbars']} ${classes[placement.horizontal]} ${\n classes[placement.vertical]\n } ${className ?? ''}`}\n >\n {children}\n </div>\n );\n};\n","import { useEffect, useRef, useState } from 'react';\n\nexport const useAnimation = <RefElement extends HTMLElement>(callback: () => void) => {\n const animatedObjectRef = useRef<RefElement>(null);\n /** We need to store flag that says us when to call the callback */\n const [animationStarted, setAnimationStarted] = useState(false);\n\n const onAnimationEnd = () => animationStarted && callback();\n\n useEffect(() => {\n animatedObjectRef.current?.addEventListener('animationend', onAnimationEnd);\n return () => animatedObjectRef.current?.removeEventListener('animationend', onAnimationEnd);\n }, [animationStarted]);\n\n return {\n ref: animatedObjectRef,\n animationStarted,\n startAnimation: () => setAnimationStarted(true),\n };\n};\n","import React, { useEffect, useRef } from 'react';\nimport { IconButton } from '../../../Button/IconButton';\nimport { Icon, Icons } from '../../../Icon/Icon';\nimport { Variant, Actions } from '../interfaces';\nimport classes from './SnackbarItem.module.scss';\nimport readyclasses from '../../../readyclasses.module.scss';\nimport { useAnimation } from '../../../hooks/useAnimation';\nimport { Typography } from '../../../Typography/Typography';\n\nconst textColor = 'var(--snackbar-text-color)';\n\nexport interface Props {\n id: string;\n title: string;\n duration: number;\n variant: Variant;\n onClose: (key: string) => void;\n closeButtonTitle: string;\n content?: string;\n actions?: Actions;\n}\n\nexport const SnackbarItem = ({\n id,\n title,\n duration,\n variant,\n content,\n actions = [],\n onClose,\n closeButtonTitle,\n}: Props) => {\n const timerHandler = useRef<ReturnType<typeof setTimeout>>();\n const onAnimationEnd = () => onClose(id);\n const { ref, animationStarted, startAnimation } = useAnimation<HTMLDivElement>(onAnimationEnd);\n\n useEffect(() => {\n timerHandler.current = setTimeout(() => startAnimation(), duration);\n return () => {\n timerHandler.current && clearTimeout(timerHandler.current);\n };\n }, []);\n\n const onMouseEnter = () => {\n timerHandler.current && clearTimeout(timerHandler.current);\n };\n\n const onMouseLeave = () => {\n timerHandler.current = setTimeout(() => startAnimation(), duration);\n };\n\n const getVariantIcon = () => {\n if (variant === 'error') {\n return Icons.Error;\n }\n return variant === 'success' ? Icons.CheckmarkCircleBreakout : Icons.InfoCircle;\n };\n\n const actionButtons = actions.map((actionProp, index) => (\n <button\n key={index}\n {...actionProp}\n onClick={(e) => {\n onClose(id);\n actionProp.onClick && actionProp.onClick(e);\n }}\n children={actionProp.label}\n className={classes['action-button']}\n ></button>\n ));\n\n return (\n <div\n ref={ref}\n className={`${classes['snackbar']} ${classes[variant]} ${\n animationStarted ? readyclasses['slide-out'] : readyclasses['slide-in']\n }`}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n <Icon icon={getVariantIcon()} className={classes['icon']} />\n <div className={classes['container']}>\n <div className={classes['headline']}>\n <Typography className={classes['title']} variant=\"h4\" tag=\"span\">\n {title}\n </Typography>\n <IconButton\n 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 { useEffect, useState } from 'react';\nimport { generateID } from '../util/helper';\n\nexport interface ConfigObject {\n name: string | undefined;\n errorMessage?: string;\n error?: boolean;\n parentErrorId?: string;\n helperText?: string;\n parentHelperId?: string;\n}\n\nexport const useFormSelector = (configObject: ConfigObject) => {\n const [identifier] = useState(generateID(15, configObject.name));\n const [describedBy, setDescribedBy] = useState('');\n const [errorId] = useState(generateID(15, configObject.errorMessage));\n\n useEffect(() => {\n if (configObject.error && configObject.parentErrorId) {\n setDescribedBy(configObject.parentErrorId);\n }\n\n if (\n (!configObject.error && configObject.helperText) ||\n (!configObject.parentErrorId && !configObject.errorMessage && configObject.helperText)\n ) {\n setDescribedBy(`${identifier}`);\n }\n\n if (\n (!configObject.error && !configObject.helperText && configObject.parentHelperId) ||\n (!configObject.parentErrorId && !configObject.errorMessage && configObject.parentHelperId)\n ) {\n setDescribedBy(`${configObject.parentHelperId}`);\n }\n\n if (configObject.errorMessage && !configObject.parentErrorId && configObject.error) {\n setDescribedBy(errorId);\n }\n }, [identifier, configObject.error, configObject.parentErrorId]);\n\n return {\n describedBy,\n errorId,\n identifier,\n };\n};\n","import React, { ComponentPropsWithRef, ReactNode } from 'react';\nimport classes from './FormHelperText.module.scss';\nimport { Typography } from '../../Typography/Typography';\nimport { FormElement } from '../form.interfaces';\n\nexport interface Props extends ComponentPropsWithRef<'div'>, FormElement {\n children?: ReactNode;\n}\n\nexport const FormHelperText = React.forwardRef<HTMLDivElement, Props>(\n ({ children, error, className, ...rest }: Props, ref) => {\n return (\n <Typography\n {...rest}\n ref={ref}\n variant=\"sub-text\"\n tag=\"div\"\n className={`${classes['form-helper-text']} ${error ? classes.error : ''} ${\n className ?? ''\n }`}\n >\n {children}\n </Typography>\n );\n }\n);\n","import React, { ComponentPropsWithRef, createRef, ReactNode } from 'react';\nimport { Icon, Icons } from '../../Icon/Icon';\nimport { KeyValuePair } from '../../interfaces';\nimport { FormSelector } from '../form.interfaces';\nimport { FormHelperText, Props as FormHelperTextProps } from '../FormHelperText/FormHelperText';\nimport classes from './FormSelectorWrapper.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<'div'>, FormSelector {\n children?: ReactNode;\n nestedChildren?: ReactNode;\n containerProps?: ComponentPropsWithRef<'div'> & KeyValuePair;\n helperProps?: FormHelperTextProps;\n disabled?: boolean;\n errorId?: string;\n identifier?: string;\n}\n\nexport const FormSelectorWrapper = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n children,\n className,\n nestedChildren,\n containerProps,\n helperProps,\n error,\n disabled,\n helperText,\n errorMessage,\n parentErrorId,\n errorId,\n identifier,\n ...rest\n }: Props,\n ref\n ) => {\n const helperRef = helperProps?.ref || createRef();\n\n return (\n <div\n {...rest}\n ref={ref}\n className={`${error ? classes['error'] : ''} ${disabled ? classes['disabled'] : ''} ${\n className ?? ''\n }`}\n >\n <div {...containerProps}>{children}</div>\n {(helperText || (helperProps && helperProps.children)) &&\n (!error || parentErrorId || !errorMessage) && (\n <FormHelperText\n {...helperProps}\n ref={helperRef}\n id={`${identifier}`}\n className={`${classes['helper-text']} ${helperProps?.className ?? ''} ${\n error ? classes['error'] : ''\n }`}\n >\n {(helperProps && helperProps.children) || helperText}\n </FormHelperText>\n )}\n {errorMessage && !parentErrorId && error && (\n <span className={classes['error-message']}>\n <Icon className={classes['error-icon']} icon={Icons.Error} />\n <span id={errorId}>{errorMessage}</span>\n </span>\n )}\n {nestedChildren}\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactElement, ReactNode, useEffect } from 'react';\nimport { Icon, Icons } from '../../Icon/Icon';\nimport { Props as FormHelperTextProps } from '../FormHelperText/FormHelperText';\nimport classes from './Checkbox.module.scss';\nimport { useFormSelector } from '../../hooks/useFormSelector';\nimport {\n FormSelectorWrapper,\n Props as FormSelectorWrapperProps,\n} from '../FormSelectorWrapper/FormSelectorWrapper';\nimport { FormSelector } from '../form.interfaces';\n\nconst isToggle = (children: ReactNode) => (children as ReactElement)?.props?.['data-toggle'];\n\nexport interface Props extends ComponentPropsWithRef<'input'>, FormSelector {\n children: ReactNode;\n label?: string;\n indeterminate?: boolean;\n helperProps?: FormHelperTextProps;\n formSelectorWrapperProps?: FormSelectorWrapperProps;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const Checkbox = React.forwardRef<HTMLInputElement, Props>(\n (\n {\n children,\n name,\n helperText,\n helperProps,\n indeterminate,\n parentErrorId,\n errorMessage,\n disabled,\n label,\n parentHelperId,\n className,\n error,\n checked = false,\n formSelectorWrapperProps,\n onChange,\n ...rest\n }: Props,\n ref\n ) => {\n const { errorId, identifier, describedBy } = useFormSelector({\n name,\n helperText,\n parentErrorId,\n errorMessage,\n error,\n parentHelperId,\n });\n\n useEffect(() => {\n if (!name) {\n throw new Error(\"Please pass a 'name' prop to your <Checkbox> component.\");\n }\n\n if (typeof children === 'object' && !isToggle(children) && indeterminate === undefined) {\n throw new Error(\n 'If you have nested checkboxes you have to manage the indeterminate state by passing a boolean to the `indeterminate` prop.'\n );\n }\n }, []);\n\n const determineLabel = () => {\n if (label) {\n return label;\n } else if (children === undefined) {\n throw new Error(\n 'Please make sure to pass either a string or more Checkbox components as a child of your Checkbox component.'\n );\n }\n\n if (typeof children === 'string') {\n return children;\n }\n\n throw new Error(\n 'If you pass Checkboxes as a child component (to create nested checkbox tree) you need to pass a label to the parent checkbox.'\n );\n };\n\n const renderNestedCheckboxes = () => (\n <ul className={classes['checkbox-list']}>\n {React.Children.map(children as ReactElement[], (child) => {\n return (\n <li>\n <Checkbox\n {...child.props}\n parentHelperId={parentHelperId}\n parentErrorId={parentErrorId}\n error={error}\n disabled={child.props.disabled ? child.props.disabled : disabled}\n >\n {child.props.children}\n </Checkbox>\n </li>\n );\n })}\n </ul>\n );\n\n const onChangeHandler = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (disabled) {\n return;\n }\n onChange && onChange(event);\n };\n\n const renderToggle = () => React.Children.toArray(children).filter(isToggle);\n\n const iconClasses = [classes['input'], disabled ? classes['disabled'] : ''];\n\n /** Default return value is the default checkbox */\n return (\n <FormSelectorWrapper\n {...formSelectorWrapperProps}\n className={`${classes['checkbox-wrapper']} ${className ? className : ''}`}\n containerProps={{ className: classes['checkbox-container'] }}\n helperText={helperText}\n helperProps={helperProps}\n parentErrorId={parentErrorId}\n errorId={errorId}\n errorMessage={errorMessage}\n error={error}\n disabled={disabled}\n identifier={identifier}\n nestedChildren={\n typeof children === 'object' && !isToggle(children) && renderNestedCheckboxes()\n }\n >\n <input\n {...rest}\n ref={ref}\n disabled={disabled}\n className={`${classes['native-input']} ${error ? classes['error'] : ''}`}\n checked={checked}\n onChange={onChangeHandler}\n aria-invalid={error as boolean}\n aria-checked={indeterminate ? 'mixed' : checked}\n aria-describedby={describedBy}\n id={`${identifier}-checkbox`}\n name={name}\n type=\"checkbox\"\n />\n {renderToggle()}\n\n {indeterminate && <Icon className={iconClasses.join(' ')} icon={Icons.MinusSquare} />}\n {checked && !indeterminate && (\n <Icon className={iconClasses.join(' ')} icon={Icons.CheckmarkSquare} />\n )}\n {!checked && !indeterminate && (\n <Icon className={iconClasses.join(' ')} icon={Icons.Square} />\n )}\n <label htmlFor={`${identifier}-checkbox`}>{determineLabel()}</label>\n </FormSelectorWrapper>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from 'react';\nimport { Icon, Icons } from '../../Icon/Icon';\nimport { Props as HelperProps } from '../FormHelperText/FormHelperText';\nimport classes from './Radio.module.scss';\nimport { useFormSelector } from '../../hooks/useFormSelector';\nimport { FormSelector } from '../form.interfaces';\nimport {\n FormSelectorWrapper,\n Props as FormSelectorWrapperProps,\n} from '../FormSelectorWrapper/FormSelectorWrapper';\n\nexport interface Props extends ComponentPropsWithRef<'input'>, FormSelector {\n children: string;\n value: string;\n formSelectorWrapperProps?: FormSelectorWrapperProps;\n helperProps?: HelperProps;\n}\n\nexport const Radio = React.forwardRef<HTMLInputElement, Props>(\n (\n {\n children,\n disabled,\n className,\n value,\n name,\n helperText,\n parentErrorId,\n parentHelperId,\n error,\n errorMessage,\n checked = false,\n formSelectorWrapperProps,\n helperProps,\n onChange,\n ...rest\n }: Props,\n ref\n ) => {\n const { errorId, identifier, describedBy } = useFormSelector({\n name,\n helperText,\n parentErrorId,\n errorMessage,\n error,\n parentHelperId,\n });\n\n const onChangeHandler = (event: React.ChangeEvent<HTMLInputElement> | React.MouseEvent) => {\n if (disabled) {\n return;\n }\n /** We have to clone the native event we got here and change the \"target\" property to the value. Otherwise, this regular event has \"on\" as it's event.target.value, which is useless. */\n const nativeEvent: any = event.nativeEvent || event;\n const clonedEvent = new nativeEvent.constructor(nativeEvent.type, nativeEvent);\n\n Object.defineProperty(clonedEvent, 'target', {\n writable: true,\n value: { value: value },\n });\n\n onChange && onChange(clonedEvent);\n };\n\n /** Default return value is the default radio */\n return (\n <FormSelectorWrapper\n {...formSelectorWrapperProps}\n className={`${classes['radio-wrapper']} ${className ?? ''}`}\n containerProps={{ className: classes['radio-container'] }}\n helperText={helperText}\n helperProps={helperProps}\n parentErrorId={parentErrorId}\n errorId={errorId}\n errorMessage={errorMessage}\n error={error}\n disabled={disabled}\n identifier={identifier}\n >\n <input\n {...rest}\n ref={ref}\n disabled={disabled}\n tabIndex={0}\n className={`${classes['native-input']} ${error ? classes['error'] : ''}`}\n onChange={onChangeHandler}\n checked={checked}\n aria-invalid={error ? true : false}\n aria-checked={checked}\n aria-describedby={describedBy}\n name={name}\n value={value}\n id={`${identifier}-radio`}\n type=\"radio\"\n />\n\n {checked && (\n <Icon\n className={`${classes['input']} ${disabled ? classes['disabled'] : ''}`}\n icon={Icons.Radio}\n />\n )}\n {!checked && (\n <Icon\n className={`${classes['input']} ${disabled ? classes['disabled'] : ''}`}\n icon={Icons.Circle}\n />\n )}\n\n <label onClick={onChangeHandler} htmlFor={`${identifier}-radio`}>\n {children}\n </label>\n </FormSelectorWrapper>\n );\n }\n);\n","import React, { ComponentPropsWithRef } 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, Props as CheckboxProps } from '../Checkbox/Checkbox';\nimport classes from './Toggle.module.scss';\n\nexport interface Props\n extends ComponentPropsWithRef<'input'>,\n Omit<CheckboxProps, 'indeterminate' | 'errorMessage' | 'error' | 'children' | 'label'> {\n children: string;\n}\n\nexport const Toggle = React.forwardRef<HTMLInputElement, Props>(\n ({ children, checked, disabled, helperProps, ...rest }: Props, ref) => (\n <div className={classes['toggle-wrapper']}>\n <Checkbox\n {...rest}\n ref={ref}\n checked={checked}\n className={classes['checkbox']}\n helperProps={{ className: classes['toggle-helper'], ...helperProps }}\n disabled={disabled}\n label={children}\n >\n <span\n data-toggle\n aria-hidden=\"true\"\n className={`${classes['toggle']} ${checked ? classes['checked'] : ''} ${\n disabled ? classes['disabled'] : ''\n } `}\n ></span>\n </Checkbox>\n </div>\n )\n);\n","import React, { ComponentPropsWithRef, ReactElement } from 'react';\nimport classes from './FormControl.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n children?: ReactElement | ReactElement[];\n grid?: 1 | 2 | 3;\n align?: 'top' | 'start' | 'middle' | 'center' | 'bottom' | 'end' | 'stretch';\n error?: boolean;\n disabled?: boolean;\n}\n\nexport const FormControl = React.forwardRef<HTMLDivElement, Props>(\n ({ children, disabled, error, className, grid, align = 'center', ...rest }: Props, ref) => {\n const renderChildren = () =>\n React.Children.map(children, (child) => {\n if (!child) {\n return null;\n }\n\n const childElement = React.cloneElement(child, {\n disabled: child.props.disabled !== undefined ? child.props.disabled : disabled,\n error: child.props.error !== undefined ? child.props.error : error,\n });\n\n if (grid && grid > 1) {\n return (\n <div className={`${classes['col-' + grid]} ${classes.column}`}>{childElement}</div>\n );\n }\n\n return childElement;\n });\n\n return (\n <div\n {...rest}\n ref={ref}\n data-formcontrol\n className={`${classes['form-control']} ${className ? className : ''} ${\n grid && grid > 1 ? `${classes.grid} ${classes['grid-' + grid]}` : ''\n } ${classes[align]}`}\n >\n {renderChildren()}\n </div>\n );\n }\n);\n","/** The empty className property on FormHelperText is on purpose! We want to basically \"filter\" out the className from helperProps because we're adding this to the surrounding div. This makes it so also the errormessage receives this styling. */\n\nimport React, { ComponentPropsWithRef, ReactChild } from 'react';\nimport classes from './FormGroup.module.scss';\nimport { FormHelperText, Props as HelperProps } from '../FormHelperText/FormHelperText';\nimport { Icon, Icons } from '../../Icon/Icon';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n children: ReactChild[] | ReactChild;\n error?: boolean;\n errorMessageIcon?: Icons;\n errorMessageIconPosition?: 'before' | 'after';\n errorMessage?: string;\n errorId?: string;\n helperIndent?: number;\n helperText?: string;\n helperId?: string;\n helperProps?: HelperProps;\n disabled?: boolean;\n}\n\nexport const FormGroup = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n children,\n className,\n error,\n errorMessage,\n errorId,\n errorMessageIcon,\n errorMessageIconPosition = 'before',\n helperText,\n helperId,\n helperProps,\n helperIndent,\n ...rest\n }: Props,\n ref\n ) => {\n return (\n <div\n {...rest}\n ref={ref}\n className={`${classes['form-group']} ${error ? classes.error : ''} ${className ?? ''}`}\n >\n {children}\n\n {(helperText || (errorMessage && error)) && (\n <div\n style={{ marginLeft: `${helperIndent}px` }}\n className={`${classes['default-helper']} ${\n helperProps?.className ? helperProps.className : ''\n }`}\n >\n {helperText && !error && (\n <FormHelperText {...helperProps} className={''} id={helperId}>\n {(helperProps && helperProps.children) || helperText}\n </FormHelperText>\n )}\n {error && errorMessage && (\n <span className={classes['error-message']}>\n <span className={classes.message} id={errorId}>\n {errorMessageIcon && errorMessageIconPosition === 'before' && (\n <Icon\n className={`${classes['error-icon']} ${classes['error-icon-before']}`}\n icon={errorMessageIcon}\n />\n )}\n {errorMessage}\n {errorMessageIcon && errorMessageIconPosition === 'after' && (\n <Icon\n className={`${classes['error-icon']} ${classes['error-icon-after']}`}\n icon={errorMessageIcon}\n />\n )}\n </span>\n </span>\n )}\n </div>\n )}\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactElement } from 'react';\nimport { FormGroup, Props as FormGroupProps } from '../../FormGroup/FormGroup';\nimport { Label, Props as LabelProps } from '../../Label/Label';\nimport classes from './Wrapper.module.scss';\nimport { Props as HelperProps } from '../../FormHelperText/FormHelperText';\nimport { FormElement } from '../../form.interfaces';\n\nexport interface Props extends ComponentPropsWithRef<'div'>, FormGroupProps {\n children: ReactElement | ReactElement[];\n floatingLabelActive?: boolean;\n floatingLabel?: boolean;\n helperIndent?: number;\n label?: string;\n labelProps?: LabelProps;\n name: string;\n /** This does NOT add validation! It simply adds an asterix on the Label! */\n required?: boolean;\n innerClassName?: string;\n}\n\n/** For components that extend this component we create an interface (InputWrapper, SelectWrapper, etc.) */\nexport interface WrapperProps extends FormElement {\n errorMessage?: string;\n helperText?: string;\n helperProps?: HelperProps;\n label?: string;\n name: string;\n required?: boolean;\n disabled?: boolean;\n}\n\nexport const Wrapper = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n children,\n className,\n error,\n errorMessage,\n errorId,\n errorMessageIcon,\n errorMessageIconPosition,\n helperText,\n helperId,\n floatingLabel = true,\n floatingLabelActive,\n required,\n helperProps,\n helperIndent,\n labelProps,\n label,\n disabled,\n name,\n innerClassName,\n ...rest\n }: Props,\n ref\n ) => {\n const renderChildren = () =>\n React.Children.map(children, (child) =>\n React.cloneElement(child, {\n disabled,\n })\n );\n\n const labelClasses = [];\n\n floatingLabel && labelClasses.push(classes['floating-label']);\n floatingLabel && floatingLabelActive && labelClasses.push(classes['floating-label-active']);\n labelProps?.className && labelClasses.push(labelProps.className);\n required && labelClasses.push(classes['required']);\n error && labelClasses.push(classes['error']);\n\n return (\n <div {...rest} ref={ref} className={`${classes.wrapper} ${className ? className : ''}`}>\n <FormGroup\n error={error}\n errorMessage={errorMessage}\n errorId={errorId}\n errorMessageIcon={errorMessageIcon}\n errorMessageIconPosition={errorMessageIconPosition}\n helperText={helperText}\n helperId={helperId}\n helperProps={helperProps}\n helperIndent={helperIndent}\n >\n <div\n className={`${floatingLabel ? classes['floating-wrapper'] : ''} ${\n innerClassName ? innerClassName : ''\n }`}\n >\n {label && (\n <Label\n {...labelProps}\n className={`${classes.label} ${labelClasses.join(' ')}`}\n htmlFor={name}\n >\n {label}\n </Label>\n )}\n {renderChildren()}\n </div>\n </FormGroup>\n </div>\n );\n }\n);\n","import { useEffect, useState } from 'react';\nimport { generateID } from '../util/helper';\nimport { Type as InputTypes } from '../Form/Input/Input';\n\nexport const useWrapper = (value?: string, placeholder?: string, type?: InputTypes) => {\n const [helperId] = useState(generateID(20));\n const [errorId] = useState(generateID(20));\n const [labelId] = useState(generateID(20));\n const [floatingLabelActive, setFloatingLabelActive] = useState(false);\n const [hasFocus, setHasFocus] = useState(false);\n\n useEffect(() => {\n if (\n (value?.length && value.length > 0) ||\n placeholder ||\n type === 'datetime-local' ||\n type === 'time'\n ) {\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, { HTMLProps, ReactNode } from 'react';\nimport classes from './Form.module.scss';\n\nexport interface Props extends HTMLProps<HTMLFormElement> {\n children?: ReactNode;\n}\n\nexport const Form = ({ children, className, ...rest }: Props) => {\n return (\n <form className={`${classes.form} ${className ?? ''}`} {...rest}>\n {children}\n </form>\n );\n};\n","import React, { ComponentPropsWithRef, ReactElement, useEffect } from 'react';\nimport classes from './RadioWrapper.module.scss';\nimport { Wrapper, WrapperProps } from '../Wrapper/Wrapper';\nimport { useWrapper } from '../../../hooks/useWrapper';\nimport { Icons } from '../../../Icon/Icon';\nimport { Fieldset, Props as FieldsetProps } from '../../../Form/Fieldset/Fieldset';\n\nexport interface Props extends ComponentPropsWithRef<'div'>, WrapperProps {\n children: ReactElement | ReactElement[];\n fieldsetProps: FieldsetProps;\n value: string;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const RadioWrapper = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n children,\n error,\n name,\n helperText,\n helperProps,\n fieldsetProps,\n value,\n onChange,\n disabled,\n ...rest\n }: Props,\n ref\n ) => {\n const { errorId, helperId } = useWrapper(value);\n\n useEffect(() => {\n if (fieldsetProps.legend === undefined) {\n console.error(\n `You should give your Fieldset component a legend prop so a legend element is rendered. This error was thrown in RadioWrapper. You can add this legend prop through the fieldsetProps prop by passing an object (fieldsetProps={{ legend: \"legend here\" }})`\n );\n }\n }, []);\n\n const renderChildren = () =>\n React.Children.map(children, (child) =>\n React.cloneElement(child, {\n parentErrorId: errorId,\n error: error,\n checked: child.props.value === value,\n name: name,\n parentHelperId: helperText ? helperId : false,\n onChange: onChange,\n disabled: child.props.disabled !== undefined ? child.props.disabled : disabled,\n })\n );\n\n return (\n <Fieldset {...fieldsetProps} error={error} disabled={disabled}>\n <Wrapper\n {...rest}\n ref={ref}\n disabled={disabled}\n name={name}\n helperId={helperId}\n helperText={helperText}\n helperProps={{\n ...helperProps,\n className: `${classes['radio-wrapper-helper']} ${\n error ? classes['radio-wrapper-error'] : ''\n } ${helperProps?.className ?? ''}`,\n }}\n error={error}\n errorId={errorId}\n errorMessageIcon={Icons.Error}\n floatingLabel={false}\n >\n {renderChildren()}\n </Wrapper>\n </Fieldset>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactElement, useEffect } from 'react';\nimport classes from './CheckboxWrapper.module.scss';\nimport { useWrapper } from '../../../hooks/useWrapper';\nimport { Wrapper, WrapperProps } from '../Wrapper/Wrapper';\nimport { Icons } from '../../../Icon/Icon';\nimport { Fieldset, Props as FieldsetProps } from '../../../Form/Fieldset/Fieldset';\n\nexport interface Props extends ComponentPropsWithRef<'div'>, WrapperProps {\n children: ReactElement[] | ReactElement;\n fieldsetProps: FieldsetProps;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const CheckboxWrapper = React.forwardRef<HTMLDivElement, Props>(\n ({ children, error = false, helperText, helperProps, fieldsetProps, ...rest }: Props, ref) => {\n const { errorId, helperId } = useWrapper();\n\n useEffect(() => {\n if (fieldsetProps.legend === undefined) {\n console.error(\n `You should give your Fieldset component a legend prop so a legend element is rendered. This error was thrown in CheckboxWrapper. You can add this legend prop through the fieldsetProps prop by passing an object (fieldsetProps={{ legend: \"legend here\" }})`\n );\n }\n }, []);\n\n const renderChildren = () =>\n React.Children.map(children, (child) =>\n React.cloneElement(child, {\n parentErrorId: errorId,\n error: error,\n parentHelperId: helperText ? helperId : false,\n disabled: rest.disabled,\n })\n );\n\n return (\n <Fieldset {...fieldsetProps} error={error} required={rest.required}>\n <Wrapper\n {...rest}\n ref={ref}\n label=\"\"\n helperId={helperId}\n helperText={helperText}\n helperProps={{\n ...helperProps,\n className: `${classes['checkbox-wrapper-helper']} ${\n error ? classes['checkbox-wrapper-error'] : ''\n } ${helperProps?.className ?? ''}`,\n }}\n error={error}\n errorMessageIcon={Icons.Error}\n errorId={errorId}\n >\n {renderChildren()}\n </Wrapper>\n </Fieldset>\n );\n }\n);\n","import { Reducer } from 'react';\nimport { Step } from './BaseWizardSteps/BaseWizardSteps';\nimport { WizardMode } from './Wizard';\n\ntype WizardStateType = {\n steps: Step[];\n currentStepNo: number;\n mode: WizardMode;\n stepScreenReaderLabel: string;\n};\n\ninterface SetWizardStateAction {\n type: 'SET_STATE';\n payload: {\n steps: Step[];\n mode: WizardMode;\n stepScreenReaderLabel: string;\n };\n}\n\ninterface ChangeCurrentStepNoAction {\n type: 'CHANGE_CURRENT_STEP_NO';\n payload: number;\n}\n\nconst setWizardState = (\n steps: Step[],\n mode: WizardMode,\n stepScreenReaderLabel: string\n): SetWizardStateAction => {\n return { type: 'SET_STATE', payload: { steps, mode, stepScreenReaderLabel } };\n};\n\nconst changeCurrentStepNo = (currentStepNo: number): ChangeCurrentStepNoAction => {\n return { type: 'CHANGE_CURRENT_STEP_NO', payload: currentStepNo };\n};\n\ntype WizardActions = SetWizardStateAction | ChangeCurrentStepNoAction;\n\nconst reducer: Reducer<WizardStateType, WizardActions> = (state, action) => {\n switch (action.type) {\n case 'SET_STATE':\n return { ...state, ...action.payload };\n case 'CHANGE_CURRENT_STEP_NO':\n return { ...state, currentStepNo: action.payload };\n default:\n return state;\n }\n};\n\nexport { setWizardState, changeCurrentStepNo, reducer, WizardActions, WizardStateType };\n","import React, { createContext, Dispatch, useReducer } from 'react';\nimport { WizardActions, WizardStateType, reducer } from './wizardStateReducer';\n\nconst WizardStateContext = createContext<{\n state: WizardStateType;\n dispatch: Dispatch<WizardActions>;\n}>({\n state: {} as WizardStateType,\n dispatch: () => null,\n});\n\nexport interface Props {\n initialState: WizardStateType;\n children?: React.ReactNode;\n}\n\nconst WizardStateProvider = ({ children, initialState }: Props) => {\n const [state, dispatch] = useReducer(reducer, initialState);\n return (\n <WizardStateContext.Provider value={{ state, dispatch }}>\n {children}\n </WizardStateContext.Provider>\n );\n};\n\nexport { WizardStateProvider, WizardStateContext };\n","import React, { Fragment, useContext, useEffect } from 'react';\nimport { Step } from './BaseWizardSteps/BaseWizardSteps';\nimport { WizardStateContext, WizardStateProvider } from './WizardStateProvider';\nimport { setWizardState } from './wizardStateReducer';\n\nexport type WizardMode = 'add' | 'edit';\n\nexport interface Props {\n steps: Step[];\n mode: WizardMode;\n initialStepNo?: number;\n onStepChange: (stepNo: number) => void;\n stepScreenReaderLabel: string;\n children: React.ReactNode;\n}\n\nconst useSetWizardState = (steps: Step[], mode: WizardMode, stepScreenReaderLabel: string) => {\n const { dispatch } = useContext(WizardStateContext);\n\n useEffect(() => {\n dispatch(setWizardState(steps, mode, stepScreenReaderLabel));\n }, [steps, mode, stepScreenReaderLabel]);\n};\n\nconst useStepChanging = (onStepChange: (stepNo: number) => void) => {\n const {\n state: { currentStepNo },\n } = useContext(WizardStateContext);\n\n useEffect(() => {\n onStepChange(currentStepNo);\n }, [currentStepNo]);\n};\n\nconst WizardContent = ({ steps, mode, stepScreenReaderLabel, onStepChange, children }: Props) => {\n useSetWizardState(steps, mode, stepScreenReaderLabel);\n useStepChanging(onStepChange);\n\n return <Fragment>{children}</Fragment>;\n};\n\nexport const Wizard = (props: Props) => {\n const { steps, initialStepNo: currentStepNo = 0, mode, stepScreenReaderLabel } = props;\n return (\n <WizardStateProvider initialState={{ steps, currentStepNo, mode, stepScreenReaderLabel }}>\n <WizardContent {...props} />\n </WizardStateProvider>\n );\n};\n","import React, { Fragment, useContext, useMemo } from 'react';\nimport { Button } from '../../Button/Button';\nimport { Step } from '../BaseWizardSteps/BaseWizardSteps';\nimport { WizardMode } from '../Wizard';\nimport { WizardStateContext } from '../WizardStateProvider';\nimport { changeCurrentStepNo } from '../wizardStateReducer';\n\nexport interface Props extends React.HTMLProps<HTMLDivElement> {\n cancelButtonLabel: string;\n previousButtonLabel: string;\n nextButtonLabel: string;\n saveAndCloseButtonLabel: string;\n onCancel: () => void;\n onNext: (currentStepNo: number) => boolean;\n onPrevious?: () => void;\n onSaveAndClose: (currentStepNo: number) => void;\n}\n\nconst calculateNextStepNo = (steps: Step[], currentStepNo: number) => () =>\n steps.findIndex((step, stepNo) => stepNo > currentStepNo && !step.disabled);\n\nconst calculatePrevStepNo = (steps: Step[], currentStepNo: number) => () => {\n const reversedCurrentStepNo = steps.length - 1 - currentStepNo;\n const reversedPrevStepNo = [...steps]\n .reverse()\n .findIndex((step, stepNo) => stepNo > reversedCurrentStepNo && !step.disabled);\n if (reversedPrevStepNo > 0) {\n return steps.length - 1 - reversedPrevStepNo;\n }\n return -1;\n};\n\nconst useNextStepNo = (mode: WizardMode, currentStepNo: number, steps: Step[]) =>\n useMemo(calculateNextStepNo(steps, currentStepNo), [mode, currentStepNo, steps]);\n\nconst usePreviousStepNo = (mode: WizardMode, currentStepNo: number, steps: Step[]) =>\n useMemo(calculatePrevStepNo(steps, currentStepNo), [mode, currentStepNo, steps]);\n\nexport const WizardActions = ({\n onCancel,\n onNext,\n onPrevious,\n onSaveAndClose,\n cancelButtonLabel,\n previousButtonLabel,\n nextButtonLabel,\n saveAndCloseButtonLabel,\n}: Props) => {\n const {\n state: { mode, steps, currentStepNo },\n dispatch,\n } = useContext(WizardStateContext);\n const nextStepNo = useNextStepNo(mode, currentStepNo, steps);\n const hasNextStep = nextStepNo !== -1;\n const previousStepNo = usePreviousStepNo(mode, currentStepNo, steps);\n const hasPreviousStep = previousStepNo !== -1;\n const isLastStepOrEditMode = !hasNextStep || mode === 'edit';\n\n const changeStepNo = (direction: 'forward' | 'backward') => {\n if (direction === 'forward') {\n hasNextStep && dispatch(changeCurrentStepNo(nextStepNo));\n } else {\n hasPreviousStep && dispatch(changeCurrentStepNo(previousStepNo));\n }\n };\n\n const onNextWrapper = () => {\n onNext(currentStepNo) && changeStepNo('forward');\n };\n\n const onPreviousWrapper = () => {\n onPrevious && onPrevious();\n changeStepNo('backward');\n };\n\n const onSaveAndCloseWrapper = () => {\n onSaveAndClose(currentStepNo);\n };\n\n return (\n <Fragment>\n <Button variant=\"text\" onClick={onCancel}>\n {cancelButtonLabel}\n </Button>\n {hasPreviousStep && (\n <Button variant=\"outline\" onClick={onPreviousWrapper}>\n {previousButtonLabel}\n </Button>\n )}\n {hasNextStep && (\n <Button variant={mode === 'edit' ? 'outline' : 'fill'} onClick={onNextWrapper}>\n {nextButtonLabel}\n </Button>\n )}\n {isLastStepOrEditMode && (\n <Button onClick={onSaveAndCloseWrapper}>{saveAndCloseButtonLabel}</Button>\n )}\n </Fragment>\n );\n};\n","import React, { ComponentPropsWithRef, Fragment } from 'react';\nimport classes from './BaseWizardSteps.module.scss';\nimport readyclasses from '../../readyclasses.module.scss';\nimport { Icon, Icons } from '../../Icon/Icon';\n\ntype StepState = 'finished' | 'current' | 'future';\n\nexport interface Step {\n label: string;\n disabled?: boolean;\n}\n\nexport interface Props extends Omit<ComponentPropsWithRef<'div'>, 'onClick'> {\n steps: Step[];\n currentStepNo: number;\n onClick?: (stepNo: number) => void;\n futureStepsClickable?: boolean;\n stepScreenReaderLabel: string;\n}\n\nexport const BaseWizardSteps = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n steps,\n currentStepNo,\n onClick,\n futureStepsClickable = false,\n stepScreenReaderLabel,\n ...rest\n }: Props,\n ref\n ) => {\n const getStepState = (stepNo: number): StepState => {\n if (currentStepNo === stepNo) {\n return 'current';\n } else if (stepNo < currentStepNo) {\n return 'finished';\n }\n return 'future';\n };\n\n const getStepContent = (stepState: StepState, index: number, disabled?: boolean) => {\n const stepNumberString = String(index + 1);\n if (stepState === 'finished') {\n return disabled ? null : <Icon className={classes['checkmark']} icon={Icons.Checkmark} />;\n } else {\n return (\n <Fragment>\n <span className={readyclasses['sr-only']}>{stepScreenReaderLabel} </span>\n {stepNumberString}\n </Fragment>\n );\n }\n };\n\n const generatedSteps = steps.map((step, index) => {\n const stepState = getStepState(index);\n const disabledStyleClassName = step.disabled ? classes['disabled'] : '';\n const clickableClassName = futureStepsClickable ? classes['clickable'] : '';\n\n return (\n <button\n key={step.label.toLowerCase().replace(/\\s/, '-')}\n disabled={\n step.disabled ||\n (stepState === 'future' && !futureStepsClickable) ||\n stepState === 'current'\n }\n aria-current={stepState === 'current' ? 'step' : undefined}\n onClick={() => onClick && onClick(index)}\n className={`${classes['wizard-element']} ${classes[stepState]} ${clickableClassName} ${disabledStyleClassName}`}\n >\n <div className={classes['number-wrapper']}>\n <span className={classes['number']}>\n {getStepContent(stepState, index, step.disabled)}\n </span>\n </div>\n <div className={classes['two-line-text-overflow']}>\n <span className={classes['label']}>{step.label}</span>\n </div>\n </button>\n );\n });\n\n return (\n <div {...rest} ref={ref} className={classes['wizard']}>\n {generatedSteps}\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef, useContext } from 'react';\nimport { WizardStateContext } from '../WizardStateProvider';\nimport { BaseWizardSteps } from '../BaseWizardSteps/BaseWizardSteps';\nimport { changeCurrentStepNo } from '../wizardStateReducer';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n onStepClick: (currentStepNo: number, selectedStepNo: number) => boolean;\n}\n\nexport const WizardSteps = React.forwardRef<HTMLDivElement, Props>(\n ({ onStepClick, ...rest }: Props, ref) => {\n const {\n state: { currentStepNo, mode, stepScreenReaderLabel, steps },\n dispatch,\n } = useContext(WizardStateContext);\n\n const onClick = (selectedStepNo: number) => {\n onStepClick(currentStepNo, selectedStepNo) && dispatch(changeCurrentStepNo(selectedStepNo));\n };\n\n return (\n <BaseWizardSteps\n {...rest}\n ref={ref}\n onClick={onClick}\n steps={steps}\n currentStepNo={currentStepNo}\n stepScreenReaderLabel={stepScreenReaderLabel}\n futureStepsClickable={mode === 'edit'}\n />\n );\n }\n);\n"],"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","BaseButton","forwardRef","ref","type","className","rest","_excluded","validTypes","includes","Error","classes","button","Button","variant","color","startIcon","endIcon","additionalClasses","push","join","Icons","Icon","icon","size","tag","Component","defaultFactor","defaultUnit","spacingNumberRegex","useSpacing","spacingProps","reduce","prev","spacing","multiplier","matches","String","matchAll","cssSpacingValue","Array","from","map","multiplierValue","Number","validVariants","Typography","styleWithSpacing","TagName","Breadcrumbs","ariaLabel","items","Children","child","index","isLastElement","isArray","props","cloneElement","ChevronRight","defaultConfigObject","relativeElement","undefined","elementToBePositioned","transformOrigin","horizontal","vertical","placement","offset","top","right","bottom","left","usePosition","providedConfigObject","configObject","position","setPosition","_fixPossibleViewportOverflow","requestedReturnValue","elDimensions","returnValue","window","innerWidth","width","innerHeight","height","_applyOffsetToPlacementValue","_calculateInitialPlacementValue","relEl","placementOriginDefinition","_determineCenteredPlacementOrigin","_calculatePlacementValue","valueWithOffset","valueCorrectionForViewportOverflow","_calculatePlacement","axis","placementValue","direction","oppositeDirection","prevState","calculatePosition","current","relativeElRect","getBoundingClientRect","elementToBePositionedDimensions","offsetHeight","offsetWidth","clonedRelEl","center","centerv","centerh","x","y","Popover","show","anchorEl","elToBePositioned","useRef","popover","useBodyClick","checkFunction","callbackFunction","dependingStateVariable","bodyClickListener","event","addEventListener","removeEventListener","ContextMenu","trigger","id","onShow","onClose","domRoot","body","showContextMenu","setShowContextMenu","selectedContextMenuItem","setSelectedContextMenuItem","focusedContextMenuItem","setFocusedContextMenuItem","shouldClick","setShouldClick","count","childrenCount","onArrowNavigation","preventDefault","code","target","focus","renderTrigger","onClick","tabIndex","renderChildren","onFocusChange","childIndex","onSelectedChange","hasFocus","isSelected","contextMenuOpened","onKeyDown","createPortal","menu","role","ContextMenuItem","innerButtonRef","createRef","click","Link","to","display","buttonVariant","component","determineTarget","classNames","download","rel","href","IconButton","iconSize","title","console","iconButtonClasses","readyclasses","Tab","args","generateID","stringToWeaveIn","hashCharacters","i","stringCharacter","test","Math","floor","random","slice","filterProps","regexPattern","returnFiltered","acc","filter","prevObj","currKeyValPair","TabButton","selected","focussed","tabId","tabPanelId","onTabButtonClick","TabPanel","hidden","Tabs","onTabChange","indicatorRef","indicatorPosition","setIndicatorPosition","indicatorWidth","setIndicatorWidth","max","min","selectedTab","setSelectedTab","focussedTab","setFocussedTab","tabIds","tabPanelIds","calculateIndicatorPosition","selectedTabButton","tabButtons","offsetLeft","offsetTop","handleKeyDown","e","currentFocussedTab","activateTab","handleBlur","buttonRef","tabPanels","panelRef","onBlur","TextEllipsis","popoverClassName","showPopover","setShowPopover","textContainer","ellipsisVisible","scrollWidth","onMouseEnter","onMouseLeave","Tile","imageProps","enabled","loading","tileAction","tileDescriptionID","statusMessage","justifyContent","Checkmark","Forbidden","readyClasses","src","alt","Image","Tiles","defaultPosition","Tooltip","label","identifier","visible","setVisible","escapePressHandler","useLayoutEffect","isValidElement","onFocus","wrapper","InfoCircle","tooltip","dateTypes","Input","name","wrapperProps","labeledBy","prefix","suffix","setFocus","inputClassNames","iconClassNames","wrapperClasses","Select","placeholder","describedBy","searchPlaceholder","onChange","onClear","expanded","setExpanded","opacity","setOpacity","setFilter","setDisplay","listPosition","setListPosition","optionsListMaxHeight","setOptionsListMaxHeight","containerReference","optionListReference","nativeSelect","syncDisplayValue","forEach","rePositionList","spaceOnTopOfSelect","spaceOnBottomOfSelect","calculateOptionListMaxHeight","listHeight","availableSpace","onOptionChangeHandler","currentTarget","dataset","dispatchEvent","Event","bubbles","renderOptions","onOptionSelect","renderSearch","autoFocus","filterResults","statusIcon","Warning","TimesThin","stopPropagation","nativeOnChangeHandler","closest","select","TriangleDown","maxHeight","Option","showOption","setShowOption","onSelectHandler","match","onKeyPress","Label","DefaultTranslations","Pagination","totalElements","pageSize","translate","currentPage","onPageChange","onPageSizeChange","toString","internalCurrentPage","setInternalCurrentPage","calculateAmountOfPages","ceil","onEnterListener","renderCurrentPageTranslation","amountOfPages","splitCurrentPageTranslation","split","string","htmlFor","currentPageLabel","onKeyUp","onPageSizeChangeHandler","pageSizeNumber","onPageChangeHandler","pageToGoTo","totalItems","itemsPerPage","NavigationFirst","ChevronLeft","NavigationLast","useRepeater","componentToRepeat","repeatedComponents","setRepeatedComponents","repeat","clonedComponent","remove","componentToRemove","newRepeatedComponents","labelId","descriptionId","SCROLL_PROPERTY_NAME","SCROLL_PROPERTY_VALUE","useSetBodyScroll","open","hideBodyScroll","showBodyScroll","allModalsClosed","querySelectorAll","removeProperty","BaseModal","containerProps","backdropProps","labelledby","describedby","disableEscapeKeyDown","disableBackdrop","forceContainerOpen","zIndex","handleEscKeyPress","handleBackdropClick","SnackbarContext","createContext","enqueueSnackbar","enqueueSuccessSnackbar","enqueueErrorSnackbar","SnackbarContextProvider","initialState","Provider","useSnackbar","useContext","BaseModalContent","disableAutoFocus","contentRef","BaseModalActions","DialogActions","align","DialogTitle","Dialog","alignActions","primaryAction","secondaryAction","dialogId","primaryLabel","restOfPrimaryAction","PrimaryButton","TertiaryButton","secondaryLabel","restOfSecondaryAction","onHiddenInputKeyPress","maxLength","BaseModalHeader","Times","DiscardChangesDialog","onKeepEditing","onDiscardChanges","discardChangesButtonLabel","keepEditingButtonLabel","contentLabel","titleLabel","margin","DiscardChangesModal","headerProps","discardChangedDialogProps","modalRef","dialogRef","hasUnsavedChanges","openDiscardChangesDialog","setOpenDiscardChangesDialog","onCloseWrapper","onDialogKeepEditing","onDialogDiscardChanges","Modal","ModalHeader","SlideInModal","classHideOnTransition","setClassHideOnTransition","onTransitionEnd","SnackbarContainer","useAnimation","callback","animatedObjectRef","animationStarted","setAnimationStarted","onAnimationEnd","startAnimation","textColor","SnackbarItem","duration","content","actions","closeButtonTitle","timerHandler","setTimeout","clearTimeout","getVariantIcon","CheckmarkCircleBreakout","actionButtons","actionProp","SnackbarProvider","autoHideDuration","stackSize","snackbars","setSnackbars","addSnackbar","item","getDuration","hasError","hasContentOrActions","options","onItemClosed","snackbarList","snackbarPortal","useFormSelector","setDescribedBy","errorMessage","errorId","parentErrorId","helperText","parentHelperId","FormHelperText","FormSelectorWrapper","nestedChildren","helperProps","helperRef","isToggle","Checkbox","indeterminate","checked","formSelectorWrapperProps","determineLabel","renderNestedCheckboxes","onChangeHandler","renderToggle","toArray","iconClasses","MinusSquare","CheckmarkSquare","Square","Radio","nativeEvent","clonedEvent","constructor","defineProperty","writable","Circle","Textarea","rows","errorProps","Toggle","FormControl","grid","childElement","column","FormGroup","errorMessageIcon","errorMessageIconPosition","helperId","helperIndent","marginLeft","message","Wrapper","floatingLabel","floatingLabelActive","required","labelProps","innerClassName","labelClasses","useWrapper","setFloatingLabelActive","setHasFocus","useLabelOffset","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","Form","form","RadioWrapper","fieldsetProps","CheckboxWrapper","setWizardState","steps","mode","stepScreenReaderLabel","payload","changeCurrentStepNo","currentStepNo","reducer","state","action","WizardStateContext","dispatch","WizardStateProvider","useReducer","useSetWizardState","useStepChanging","onStepChange","WizardContent","Wizard","initialStepNo","calculateNextStepNo","findIndex","step","stepNo","calculatePrevStepNo","reversedCurrentStepNo","reversedPrevStepNo","reverse","useNextStepNo","useMemo","usePreviousStepNo","WizardActions","onCancel","onNext","onPrevious","onSaveAndClose","cancelButtonLabel","previousButtonLabel","nextButtonLabel","saveAndCloseButtonLabel","nextStepNo","hasNextStep","previousStepNo","hasPreviousStep","isLastStepOrEditMode","changeStepNo","onNextWrapper","onPreviousWrapper","onSaveAndCloseWrapper","BaseWizardSteps","futureStepsClickable","getStepState","getStepContent","stepState","stepNumberString","generatedSteps","disabledStyleClassName","clickableClassName","WizardSteps","onStepClick","selectedStepNo"],"mappings":"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"}
1
+ {"version":3,"file":"react-lib-components.cjs.development.js","sources":["../src/_BaseStyling_/BaseStyling.tsx","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../src/Button/BaseButton.tsx","../src/Button/Button.tsx","../src/Icon/Icon.tsx","../src/hooks/useSpacing.ts","../src/Typography/Typography.tsx","../src/Breadcrumbs/Breadcrumbs.tsx","../src/hooks/usePosition.ts","../src/Popover/Popover.tsx","../src/hooks/useBodyClick.ts","../src/ContextMenu/ContextMenu.tsx","../src/ContextMenu/ContextMenuItem.tsx","../src/Link/Link.tsx","../src/Button/IconButton.tsx","../src/Tabs/Tab.tsx","../src/util/helper.tsx","../src/Tabs/TabButton.tsx","../src/Tabs/TabPanel.tsx","../src/Tabs/Tabs.tsx","../src/TextEllipsis/TextEllipsis.tsx","../src/Tiles/Tile.tsx","../src/Tiles/Tiles.tsx","../src/Tooltip/Tooltip.tsx","../src/Form/Input/Input.tsx","../src/Form/Select/Select.tsx","../src/Form/Select/Option.tsx","../src/Form/Label/Label.tsx","../src/Pagination/Pagination.tsx","../src/hooks/useRepeater.ts","../src/Notifications/BaseModal/BaseModalContext.ts","../src/Notifications/BaseModal/BaseModal.tsx","../src/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.tsx","../src/Notifications/Snackbar/useSnackbar.ts","../src/Notifications/BaseModal/BaseModalContent/BaseModalContent.tsx","../src/Notifications/BaseModal/BaseModalActions/BaseModalActions.tsx","../src/Notifications/Dialog/DialogActions/DialogActions.tsx","../src/Notifications/Dialog/DialogTitle/DialogTitle.tsx","../src/Notifications/Dialog/Dialog.tsx","../src/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.tsx","../src/Notifications/DiscardChangesModal/DiscardChangesDialog/DiscardChangesDialog.tsx","../src/Notifications/DiscardChangesModal/DiscardChangesModal.tsx","../src/Notifications/SlideInModal/SlideInModal.tsx","../src/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.tsx","../src/hooks/useAnimation.ts","../src/Notifications/Snackbar/SnackbarItem/SnackbarItem.tsx","../src/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.tsx","../src/hooks/useFormSelector.ts","../src/Form/FormHelperText/FormHelperText.tsx","../src/Form/FormSelectorWrapper/FormSelectorWrapper.tsx","../src/Form/Checkbox/Checkbox.tsx","../src/Form/Radio/Radio.tsx","../src/Form/Textarea/Textarea.tsx","../src/Form/Toggle/Toggle.tsx","../src/Form/FormControl/FormControl.tsx","../src/Form/FormGroup/FormGroup.tsx","../src/Form/Wrapper/Wrapper/Wrapper.tsx","../src/hooks/useWrapper.ts","../src/Form/Wrapper/InputWrapper/InputWrapper.tsx","../src/Form/Wrapper/SelectWrapper/SelectWrapper.tsx","../src/Form/Wrapper/TextareaWrapper/TextareaWrapper.tsx","../src/Form/Fieldset/Fieldset.tsx","../src/Form/Form.tsx","../src/Form/Wrapper/RadioWrapper/RadioWrapper.tsx","../src/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.tsx","../src/Wizard/wizardStateReducer.ts","../src/Wizard/WizardStateProvider.tsx","../src/Wizard/Wizard.tsx","../src/Wizard/WizardActions/WizardActions.tsx","../src/Wizard/BaseWizardSteps/BaseWizardSteps.tsx","../src/Wizard/WizardSteps/WizardSteps.tsx","../src/DataGrid/DataGridHeader/DataGridHeaderCell.tsx","../src/DataGrid/DataGridHeader/DataGridHeader.tsx","../src/DataGrid/DataGridActions/DataGridColumnsToggle.tsx","../src/DataGrid/DataGridActions/DataGridActions.tsx","../src/DataGrid/DataGridBody/DataGridCell.tsx","../src/DataGrid/DataGridBody/DataGridRow.tsx","../src/DataGrid/DataGridBody/DataGridBody.tsx","../src/DataGrid/DataGrid.tsx"],"sourcesContent":["import React, { Fragment, HTMLAttributes, ReactChild, useEffect, useState } from 'react';\n\ninterface CSSProperties {\n colorFocus?: string;\n colorPrimary?: string;\n colorSecondary?: string;\n colorTertiary?: string;\n defaultLineHeight?: string;\n buttonBorderRadius?: string;\n buttonBorderWidth?: string;\n buttonFontSize?: string;\n buttonBorderStyle?: string;\n buttonFillTextColor?: string;\n buttonFillBackgroundColor?: string;\n buttonOutlineHoverTextColor?: string;\n inputBorderColor?: string;\n inputBorderRadius?: string;\n inputBorderWidth?: string;\n inputBorderStyle?: string;\n inputBackgroundColor?: string;\n modalShadowColor?: string;\n modalBackgroundColor?: string;\n modalHeaderBackgroundColor?: string;\n snackbarTextColor?: string;\n snackbarInfoBackgroundColor?: string;\n snackbarSuccessBackgroundColor?: string;\n snackbarErrorBackgroundColor?: string;\n snackbarBorderRadius?: string;\n dataGridRowBackgroundColor?: string;\n dataGridRowHoverBackgroundColor?: string;\n cardBackgroundColor?: string;\n cardBorderRadius?: 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 dataGridRowBackgroundColor: 'transparent',\n dataGridRowHoverBackgroundColor: '#f5e6f0',\n cardBackgroundColor: '#fff',\n cardBorderRadius: '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 React, { ComponentPropsWithRef } from 'react';\nimport classes from './BaseButton.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<'button'> {\n type?: 'submit' | 'button' | 'reset';\n disabled?: boolean;\n color?: 'primary' | 'secondary' | 'tertiary' | 'default';\n}\n\nexport const BaseButton = React.forwardRef<HTMLButtonElement, Props>(\n ({ children, type = 'button', className, ...rest }, ref) => {\n const validTypes = ['submit', 'button', 'reset'];\n\n if (!validTypes.includes(type))\n throw new Error(\n `You have entered an invalid button type. Expected 'submit', 'button' or 'reset' got ${type}`\n );\n\n return (\n <button\n {...rest}\n ref={ref}\n type={type}\n className={`${classes.button} ${className ? className : ''}`}\n >\n {children}\n </button>\n );\n }\n);\n","import React from 'react';\nimport { BaseButton, Props as BaseButtonProps } from './BaseButton';\nimport classes from './Button.module.scss';\n\nexport interface Props extends BaseButtonProps {\n startIcon?: React.ReactNode | false;\n endIcon?: React.ReactNode | false;\n children?: React.ReactNode;\n variant?: 'text' | 'fill' | 'outline';\n}\n\nexport const Button = React.forwardRef<HTMLButtonElement, Props>(\n (\n {\n children,\n variant = 'fill',\n color = 'primary',\n startIcon = false,\n endIcon = false,\n className,\n ...rest\n },\n ref\n ) => {\n const additionalClasses = [];\n\n if (startIcon || endIcon) {\n additionalClasses.push(classes['has-icon']);\n }\n\n if (startIcon) {\n additionalClasses.push(classes['start-icon']);\n }\n\n if (endIcon) {\n additionalClasses.push(classes['end-icon']);\n }\n\n if (className) {\n additionalClasses.push(className);\n }\n\n return (\n <BaseButton\n {...rest}\n ref={ref}\n className={`${classes[color]} ${classes[variant]} ${additionalClasses.join(' ')}`}\n >\n {startIcon && <i>{startIcon}&nbsp;</i>}\n <span>{children}</span>\n {endIcon && <i>&nbsp;{endIcon}</i>}\n </BaseButton>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from 'react';\nimport classes from './Icon.module.scss';\n\nexport enum Icons {\n Bell = 'bell',\n BellAlt = 'bell-alt',\n Bookmark = 'bookmark',\n BookmarkAlt = 'bookmark-alt',\n Build = 'build',\n Calendar = 'calendar',\n Change = 'change',\n Checkmark = 'checkmark',\n CheckmarkCircle = 'checkmark-circle',\n CheckmarkCircleAlt = 'checkmark-circle-alt',\n CheckmarkCircleBreakout = 'checkmark-circle-breakout',\n CheckmarkSquare = 'checkmark-square',\n ChevronUp = 'chevron-up',\n ChevronDown = 'chevron-down',\n ChevronLeft = 'chevron-left',\n ChevronRight = 'chevron-right',\n Circle = 'circle',\n Clock = 'clock',\n Copy = 'copy',\n Edit = 'edit',\n Ellipsis = 'ellipsis',\n EllipsisAlt = 'ellipsis-alt',\n Equal = 'equal',\n Error = 'error-circle',\n Eye = 'eye',\n Filter = 'filter',\n FilterAlt = 'filter-alt',\n FilterAltArrow = 'filter-alt-arrow',\n FilterAltTimes = 'filter-alt-times',\n Forbidden = 'forbidden',\n Fullscreen = 'fullscreen',\n FullscreenExit = 'fullscreen-exit',\n Gearwheel = 'gearwheel',\n Grid = 'grid',\n Hamburger = 'hamburger',\n Heart = 'heart',\n Image = 'image',\n InfoBell = 'info-bell',\n InfoCircle = 'info-circle',\n Link = 'link',\n MinusSquare = 'minus-square',\n NavigationFirst = 'navigation-first',\n NavigationLast = 'navigation-last',\n Plus = 'plus',\n Radio = 'radio',\n Refresh = 'refresh',\n Search = 'search',\n Share = 'share',\n Square = 'square',\n Star = 'star',\n StarAlt = 'star-alt',\n TableSearch = 'table-search',\n Times = 'times',\n TimesCircle = 'times-circle',\n TimesCircleAlt = 'times-circle-alt',\n TimesThin = 'times-thin',\n Trash = 'trash',\n TriangleDown = 'triangle-down',\n TriangleDownCircle = 'triangle-down-circle',\n TriangleLeft = 'triangle-left',\n TriangleRight = 'triangle-right',\n TriangleUp = 'triangle-up',\n Undo = 'undo',\n Warning = 'warning',\n}\n\ntype Tag = 'span' | 'div' | 'i';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n icon: Icons;\n color?: string;\n size?: string;\n tag?: Tag;\n}\n\nexport const Icon = React.forwardRef<HTMLDivElement, Props>(\n ({ icon, color, className, style, size, tag = 'span', ...rest }: Props, ref) => {\n const Component = tag;\n\n return (\n <Component\n {...rest}\n ref={ref}\n style={{ color: color, ...style, fontSize: size }}\n data-icon\n aria-hidden=\"true\"\n className={`${classes['icon']} ${classes['icon-' + icon]} ${className ? className : ''}`}\n />\n );\n }\n);\n","import { CSSProperties } from 'react';\n\nexport type SpacingMultiplier = 0 | 0.5 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;\ntype SpacingMultiplierStringOrNumber = `${SpacingMultiplier}` | SpacingMultiplier;\ntype MultiValueSpacingMultiplier =\n | `${SpacingMultiplier} ${SpacingMultiplier} ${SpacingMultiplier} ${SpacingMultiplier}`\n | `${SpacingMultiplier} ${SpacingMultiplier} ${SpacingMultiplier}`\n | `${SpacingMultiplier} ${SpacingMultiplier}`\n | SpacingMultiplierStringOrNumber;\n\nexport interface Spacing {\n padding?: MultiValueSpacingMultiplier;\n paddingTop?: SpacingMultiplierStringOrNumber;\n paddingBottom?: SpacingMultiplierStringOrNumber;\n paddingLeft?: SpacingMultiplierStringOrNumber;\n paddingRight?: SpacingMultiplierStringOrNumber;\n margin?: MultiValueSpacingMultiplier;\n marginTop?: SpacingMultiplierStringOrNumber;\n marginBottom?: SpacingMultiplierStringOrNumber;\n marginLeft?: SpacingMultiplierStringOrNumber;\n marginRight?: SpacingMultiplierStringOrNumber;\n}\n\nconst defaultFactor = 0.25;\nconst defaultUnit = 'rem';\nconst spacingNumberRegex = /(\\d+\\.?\\d*)+/g;\n\nexport const useSpacing = (\n spacingProps?: Spacing,\n style?: CSSProperties\n): CSSProperties | undefined => {\n if (spacingProps) {\n return Object.entries(spacingProps).reduce<CSSProperties>((prev, [spacing, multiplier]) => {\n const matches = String(multiplier).matchAll(spacingNumberRegex);\n const cssSpacingValue = Array.from(matches)\n .map(([multiplierValue]) => `${Number(multiplierValue) * defaultFactor}${defaultUnit}`)\n .join(' ');\n return { ...prev, [spacing]: cssSpacingValue };\n }, style ?? {});\n }\n return style;\n};\n","import React, { ComponentPropsWithRef, ReactNode } from 'react';\nimport classes from './Typography.module.scss';\nimport { Spacing, useSpacing } from '../hooks/useSpacing';\n\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, Fragment, ReactElement } from 'react';\nimport { Icon, Icons } from '../Icon/Icon';\nimport { Link, Props as LinkProps } from '../Link/Link';\nimport { Typography } from '../Typography/Typography';\nimport classes from './Breadcrumbs.module.scss';\n\ntype ChildrenType = ReactElement<LinkProps, typeof Link>;\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n children: ChildrenType | ChildrenType[];\n 'aria-label': string;\n}\n\nexport const Breadcrumbs = React.forwardRef<HTMLDivElement, Props>(\n ({ children, 'aria-label': ariaLabel, className = '', ...rest }: Props, ref) => {\n const items = React.Children.map(children, (child, index) => {\n const isLastElement = Array.isArray(children) ? index === children.length - 1 : true;\n if (isLastElement) {\n return (\n <Typography\n key={child.key}\n variant=\"body\"\n tag=\"span\"\n className={classes['last']}\n aria-current=\"page\"\n >\n {child.props.children}\n </Typography>\n );\n } else {\n return (\n <Fragment key={child.key}>\n {React.cloneElement(child)}\n <Icon icon={Icons.ChevronRight} className={classes['icon']} />\n </Fragment>\n );\n }\n });\n return (\n <nav\n {...rest}\n ref={ref}\n aria-label={ariaLabel}\n className={`${classes['breadcrumbs']} ${className}`}\n >\n {items}\n </nav>\n );\n }\n);\n","import React, { useState } from 'react';\n\nexport interface ConfigObject {\n relativeElement: RefElement;\n elementToBePositioned: RefElement;\n transformOrigin?: Placement;\n placement?: Placement;\n offset?: Offset;\n}\n\nexport type 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 { useEffect } from 'react';\n\nexport const useBodyClick = (\n checkFunction: (event: MouseEvent) => boolean,\n callbackFunction: (...args: unknown[]) => unknown,\n dependingStateVariable: React.ComponentState | React.ComponentState[]\n) => {\n function bodyClickListener(event: MouseEvent) {\n if (checkFunction(event)) {\n callbackFunction();\n }\n }\n useEffect(() => {\n window.addEventListener('click', bodyClickListener);\n\n return () => {\n window.removeEventListener('click', bodyClickListener);\n };\n }, [dependingStateVariable]);\n};\n","import React, {\n ComponentPropsWithRef,\n ReactElement,\n ReactNode,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { Props as ButtonProps } from '../Button/Button';\nimport { Props as IconButtonProps } from '../Button/IconButton';\nimport { Popover } from '../Popover/Popover';\nimport { Placement, Offset } from '../hooks/usePosition';\nimport classes from './ContextMenu.module.scss';\nimport { useBodyClick } from '../hooks/useBodyClick';\nimport { createPortal } from 'react-dom';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n trigger: ReactElement<ButtonProps> | ReactElement<IconButtonProps>;\n children: ReactNode;\n placement?: Placement;\n transformOrigin?: Placement;\n offset?: Offset;\n id: string;\n show?: boolean;\n domRoot?: HTMLElement;\n onShow?: () => void;\n onClose?: () => void;\n}\n\nexport const ContextMenu = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n trigger,\n children,\n id,\n show = false,\n onShow,\n onClose,\n placement = { horizontal: 'right', vertical: 'top' },\n offset = { top: 0, bottom: 0, left: 0, right: 0 },\n transformOrigin = { horizontal: 'left', vertical: 'top' },\n domRoot = document.body,\n ...rest\n }: Props,\n ref\n ) => {\n const anchorEl = useRef<HTMLButtonElement>(null);\n const [showContextMenu, setShowContextMenu] = useState(show);\n const [selectedContextMenuItem, setSelectedContextMenuItem] = useState(-1);\n const [focusedContextMenuItem, setFocusedContextMenuItem] = useState(-1);\n const [shouldClick, setShouldClick] =\n useState(\n false\n ); /** We need this, because whenever we use the arrow keys to select the contextmenu item, and we focus the currently selected item it fires the \"click\" listener in ContextMenuItem component. Instead, we only want this to fire if we press \"enter\" or \"spacebar\" so we set this to true whenever that is the case, and back to false when it has been executed. */\n const [childrenCount] = useState(React.Children.count(children));\n\n if (!id) {\n throw new Error('You need to provide an ID to the context menu');\n }\n\n const onArrowNavigation = (event: React.KeyboardEvent) => {\n if (focusedContextMenuItem === -1 && selectedContextMenuItem !== -1) {\n setFocusedContextMenuItem(selectedContextMenuItem);\n }\n\n const codesToPrevenDefault = [\n 'ArrowDown',\n 'ArrowUp',\n 'ArrowLeft',\n 'ArrowRight',\n 'Enter',\n 'Space',\n 'Escape',\n 'End',\n 'Home',\n ];\n\n if (codesToPrevenDefault.includes(event.code)) {\n event.preventDefault();\n }\n\n switch (event.code) {\n case 'ArrowDown':\n if (!showContextMenu) {\n setShowContextMenu(true);\n return;\n }\n setFocusedContextMenuItem((prevState) => {\n return prevState + 1 > childrenCount - 1 ? 0 : prevState + 1;\n });\n return;\n case 'ArrowUp':\n setFocusedContextMenuItem((prevState) => {\n return prevState - 1 < 0 ? childrenCount - 1 : prevState - 1;\n });\n return;\n case 'Enter':\n case 'Space':\n if (!showContextMenu) {\n setShowContextMenu(true);\n return;\n }\n\n setShouldClick(true);\n setSelectedContextMenuItem(focusedContextMenuItem);\n setShowContextMenu(false);\n return;\n case 'Tab':\n case 'Escape':\n setShowContextMenu(false);\n return;\n case 'End':\n setFocusedContextMenuItem(childrenCount - 1);\n return;\n case 'Home':\n setFocusedContextMenuItem(0);\n return;\n }\n };\n\n useBodyClick(\n (event) => {\n return 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 setFocusedContextMenuItem(-1);\n anchorEl.current && anchorEl.current.focus();\n }\n }, [showContextMenu]);\n\n const renderTrigger = () =>\n React.cloneElement(trigger, {\n id: id,\n 'aria-haspopup': 'true',\n 'aria-controls': `${id}-menu`,\n 'aria-expanded': showContextMenu,\n onClick: () => setShowContextMenu(!showContextMenu),\n tabIndex: 0,\n ref: anchorEl,\n });\n\n const renderChildren = () => {\n return React.Children.map(children, (child, index) => {\n return React.cloneElement(child as ReactElement, {\n onFocusChange: (childIndex: number) => setFocusedContextMenuItem(childIndex),\n onSelectedChange: (childIndex: number) => {\n setSelectedContextMenuItem(childIndex);\n setShouldClick(false);\n },\n childIndex: index,\n hasFocus: focusedContextMenuItem === index,\n isSelected: selectedContextMenuItem === index,\n contextMenuOpened: showContextMenu,\n shouldClick: shouldClick,\n });\n });\n };\n\n return (\n <div {...rest} ref={ref} onKeyDown={onArrowNavigation} className={classes['context-menu']}>\n {renderTrigger()}\n {createPortal(\n <Popover\n placement={placement}\n transformOrigin={transformOrigin}\n offset={offset}\n anchorEl={anchorEl}\n show={showContextMenu}\n >\n <ul className={classes.menu} id={`${id}-menu`} aria-describedby={id} role=\"menu\">\n {renderChildren()}\n </ul>\n </Popover>,\n domRoot\n )}\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef, createRef, RefObject, useEffect } from 'react';\nimport classes from './ContextMenuItem.module.scss';\n\nexport interface Props extends Omit<ComponentPropsWithRef<'button'>, 'onClick'> {\n children?: string;\n hasFocus?: boolean;\n isSelected?: boolean;\n childIndex?: number;\n shouldClick?: boolean;\n contextMenuOpened?: boolean;\n onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n onFocusChange?: (childIndex: number) => void;\n onSelectedChange?: (childIndex: number) => void;\n}\n\nexport const ContextMenuItem = React.forwardRef<HTMLButtonElement, Props>(\n (\n {\n children,\n onClick,\n onFocusChange,\n onSelectedChange,\n hasFocus,\n isSelected,\n childIndex,\n contextMenuOpened,\n shouldClick,\n ...rest\n }: Props,\n ref\n ) => {\n let innerButtonRef = (ref as RefObject<HTMLButtonElement>) || createRef<HTMLButtonElement>();\n\n useEffect(() => {\n if (isSelected && innerButtonRef.current && shouldClick) {\n innerButtonRef.current.click();\n }\n }, [isSelected, shouldClick]);\n\n useEffect(() => {\n if (innerButtonRef.current && hasFocus && contextMenuOpened) {\n onFocusChange && childIndex && onFocusChange(childIndex);\n innerButtonRef.current.focus();\n }\n }, [hasFocus, innerButtonRef, contextMenuOpened]);\n\n return (\n <li role=\"menuitem\" className={classes['context-menu-item']}>\n <button\n {...rest}\n ref={innerButtonRef}\n data-focus={hasFocus}\n onClick={(event) => {\n onClick && onClick(event);\n onSelectedChange && childIndex && onSelectedChange(childIndex);\n }}\n >\n {children}\n </button>\n </li>\n );\n }\n);\n","import React, {\n ComponentPropsWithRef,\n ForwardRefExoticComponent,\n ReactNode,\n RefAttributes,\n} from 'react';\nimport classes from './Link.module.scss';\nimport { LinkProps } from './types';\n\nexport type AnchorType = 'external' | 'internal' | 'download';\n\nexport interface Props extends ComponentPropsWithRef<'a'> {\n children?: ReactNode;\n color?: 'primary' | 'secondary' | 'tertiary';\n display?: 'link' | 'button';\n buttonVariant?: 'outline' | 'text' | 'fill';\n type?: AnchorType;\n to: string;\n disabled?: boolean;\n component?: ForwardRefExoticComponent<LinkProps & RefAttributes<HTMLAnchorElement>>;\n}\n\nexport const Link = React.forwardRef<HTMLAnchorElement, Props>(\n (\n {\n children,\n className,\n disabled = false,\n to,\n color = 'primary',\n type = 'internal',\n display = 'link',\n buttonVariant = 'fill',\n component,\n ...rest\n }: Props,\n ref\n ) => {\n const determineTarget = () => {\n if (rest.target) {\n return rest.target;\n }\n\n if (type === 'external') {\n return '_blank';\n }\n\n return '';\n };\n\n const classNames = [classes[color]];\n display === 'link' && classNames.push(classes['link']);\n display === 'button' && classNames.push(classes['button'], classes[buttonVariant]);\n disabled && classNames.push(classes['disabled']);\n className && classNames.push(className);\n\n if (component) {\n return React.createElement(component, {\n ...rest,\n ref: ref,\n to: to,\n className: classNames.join(' '),\n 'aria-disabled': disabled,\n style: {\n ...rest.style,\n },\n children: children,\n });\n }\n\n return (\n <a\n {...rest}\n ref={ref}\n download={type === 'download'}\n rel={type === 'external' ? 'noopener noreferer' : undefined}\n href={!disabled ? to : undefined}\n className={classNames.join(' ')}\n aria-disabled={disabled}\n target={determineTarget()}\n style={{\n ...rest.style,\n }}\n >\n {children}\n </a>\n );\n }\n);\n","import React, { Fragment } from 'react';\nimport { BaseButton, Props as BaseButtonProps } from './BaseButton';\nimport classes from './IconButton.module.scss';\nimport readyclasses from '../readyclasses.module.scss';\n\nexport interface Props extends BaseButtonProps {\n children?: React.ReactNode;\n iconSize?: 's' | 'm' | 'l';\n variant?: 'text' | 'fill' | 'outline';\n className?: string;\n title?: string;\n}\n\nexport const IconButton = React.forwardRef<HTMLButtonElement, Props>(\n (\n { children, color = 'primary', variant = 'text', iconSize = 'm', title, className, ...rest },\n ref\n ) => {\n if (!title) {\n console.error(\"Please make sure to specify a 'title' prop to your IconButton component! \");\n }\n\n const iconButtonClasses = [\n classes['icon-button'],\n classes[variant],\n classes[color],\n classes['button-' + iconSize],\n ];\n\n if (className) {\n iconButtonClasses.push(className);\n }\n\n return (\n <BaseButton {...rest} ref={ref} className={iconButtonClasses.join(' ')}>\n <Fragment>\n {children}\n <span className={readyclasses['sr-only']}>{title}</span>\n </Fragment>\n </BaseButton>\n );\n }\n);\n","import React from 'react';\n\nexport interface Props {\n title: string;\n children?: React.ReactNode;\n selected?: boolean;\n focussed?: boolean;\n buttonRef?: React.RefObject<HTMLButtonElement>;\n panelRef?: React.RefObject<HTMLDivElement>;\n onTabButtonClick?: () => void;\n}\n\nexport const Tab = (args: Props) => {\n return (\n <div {...args}>{`A <Tab /> component should only be used inside the <Tabs /> component.`}</div>\n );\n};\n","type KeyValuePair = { [key: string]: unknown };\n\nexport const generateID = (length = 15, stringToWeaveIn?: string) => {\n /** We will make sure to mesh the generate id and name property together to basically create a unique ID */\n let hashCharacters = [\n '1',\n '2',\n '3',\n '4',\n '5',\n '6',\n '7',\n '8',\n '9',\n '0',\n 'A',\n 'B',\n 'C',\n 'D',\n 'E',\n 'F',\n 'G',\n 'H',\n 'I',\n 'J',\n 'K',\n 'L',\n 'M',\n 'N',\n 'O',\n 'P',\n 'Q',\n 'R',\n 'S',\n 'T',\n 'U',\n 'V',\n 'W',\n 'X',\n 'Y',\n 'Z',\n 'a',\n 'b',\n 'c',\n 'd',\n 'e',\n 'f',\n 'g',\n 'h',\n 'i',\n 'j',\n 'k',\n 'l',\n 'm',\n 'n',\n 'o',\n 'p',\n 'q',\n 'r',\n 's',\n 't',\n 'u',\n 'v',\n 'w',\n 'x',\n 'y',\n 'z',\n ];\n\n let id = '';\n\n /** Generate an id of x characters in length */\n for (let i = 0; i < length && id.length < length; i++) {\n let stringCharacter =\n stringToWeaveIn && stringToWeaveIn[i] !== undefined && !/\\s/.test(stringToWeaveIn[i])\n ? stringToWeaveIn[i]\n : '';\n id = id + stringCharacter + hashCharacters[Math.floor(Math.random() * hashCharacters.length)];\n }\n\n return id.slice(0, length);\n};\n\nexport const filterProps = (props: any, regexPattern: RegExp, returnFiltered: boolean = true) => {\n if (returnFiltered) {\n return Object.keys(props).reduce((acc: KeyValuePair, key) => {\n if (regexPattern.test(key)) {\n acc[key] = props[key];\n }\n\n return acc;\n }, {});\n } else {\n return Object.entries(props)\n .filter(([key]) => !regexPattern.test(key))\n .reduce(\n (prevObj, currKeyValPair) => ({ ...prevObj, [currKeyValPair[0]]: currKeyValPair[1] }),\n {}\n );\n }\n};\n","import React, { ComponentPropsWithRef, useEffect } from 'react';\nimport classes from './TabButton.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<'button'> {\n children?: string;\n selected?: boolean;\n focussed?: boolean;\n tabId?: string;\n tabPanelId?: string;\n onTabButtonClick?: () => void;\n}\n\nexport const TabButton = React.forwardRef<HTMLButtonElement, Props>(\n (\n {\n children,\n selected = false,\n focussed = false,\n tabId,\n tabPanelId,\n className,\n onTabButtonClick,\n ...rest\n }: Props,\n ref\n ) => {\n useEffect(() => {\n if (focussed && ref) {\n (ref as React.MutableRefObject<HTMLButtonElement>).current.focus();\n }\n }, [focussed]);\n\n const classNames = [classes['tabbutton']];\n\n selected && classNames.push(classes['selected']);\n focussed && !selected && classNames.push(classes['focussed']);\n className && classNames.push(className);\n\n return (\n <button\n {...rest}\n aria-selected={selected}\n key={tabId}\n className={classNames.join(' ')}\n ref={ref}\n role=\"tab\"\n tabIndex={selected ? 0 : -1}\n type=\"button\"\n aria-controls={tabPanelId}\n id={tabId}\n onClick={onTabButtonClick}\n >\n <span aria-hidden=\"true\">{children}</span>\n {children}\n </button>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from 'react';\nimport classes from './TabPanel.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n children: React.ReactNode;\n tabId: string;\n tabPanelId: string;\n selected?: boolean;\n}\n\nexport const TabPanel = React.forwardRef<HTMLDivElement, Props>(\n ({ children, tabId, tabPanelId, selected = false, className, ...rest }: Props, ref) => (\n <div\n {...rest}\n ref={ref}\n aria-labelledby={tabId}\n className={`${classes['tabpanel']} ${selected ? classes['selected'] : ''} ${className ?? ''}`}\n id={tabPanelId}\n role=\"tabpanel\"\n tabIndex={0}\n hidden={!selected || undefined}\n aria-hidden={!selected}\n >\n {children}\n </div>\n )\n);\n","import React, {\n ComponentPropsWithRef,\n createRef,\n MutableRefObject,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { generateID } from '../util/helper';\nimport { Props as TabProps } from './Tab';\nimport { TabButton } from './TabButton';\nimport { TabPanel } from './TabPanel';\nimport classes from './Tabs.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n children: React.ReactElement<TabProps> | React.ReactElement<TabProps>[];\n selected?: number;\n 'aria-label'?: string;\n onTabChange?: (index: number) => void;\n}\n\nexport const Tabs = ({\n children,\n selected = 0,\n 'aria-label': ariaLabel,\n onTabChange,\n className,\n ...rest\n}: Props) => {\n const indicatorRef = useRef<HTMLDivElement>(null);\n const [indicatorPosition, setIndicatorPosition] = useState({ left: 0, top: 0 });\n const [indicatorWidth, setIndicatorWidth] = useState(0);\n\n const [max] = useState(React.Children.count(children) - 1);\n const min = 0;\n\n const [selectedTab, setSelectedTab] = useState(Math.min(max, Math.max(min, selected)));\n const [focussedTab, setFocussedTab] = useState(-1);\n const [tabIds] = useState([...Array(max)].map(() => generateID()));\n const [tabPanelIds] = useState([...Array(max)].map(() => generateID()));\n\n useEffect(() => {\n setSelectedTab(Math.min(max, Math.max(min, selected)));\n setFocussedTab(-1);\n }, [selected]);\n\n useEffect(() => {\n calculateIndicatorPosition();\n }, [selectedTab]);\n\n const calculateIndicatorPosition = () => {\n const selectedTabButton = (\n tabButtons[selectedTab].ref as MutableRefObject<HTMLButtonElement | null>\n ).current as HTMLButtonElement;\n\n setIndicatorPosition({\n left: selectedTabButton.offsetLeft,\n top:\n selectedTabButton.offsetTop +\n selectedTabButton.offsetHeight -\n indicatorRef.current!.offsetHeight,\n });\n setIndicatorWidth(selectedTabButton.offsetWidth);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n // do not show focus unless we came here before\n let currentFocussedTab = focussedTab === -1 ? selectedTab : focussedTab;\n\n switch (e.code) {\n case 'ArrowLeft':\n setFocussedTab(currentFocussedTab === min ? max : currentFocussedTab - 1);\n break;\n case 'ArrowRight':\n setFocussedTab(currentFocussedTab === max ? min : currentFocussedTab + 1);\n break;\n case 'Home':\n setFocussedTab(min);\n break;\n case 'End':\n setFocussedTab(max);\n break;\n case 'Space':\n case 'Enter':\n activateTab(currentFocussedTab);\n break;\n }\n };\n\n const handleBlur = () => {\n setFocussedTab(selectedTab);\n };\n\n const activateTab = (index: number) => {\n setSelectedTab(index);\n setFocussedTab(index);\n onTabChange && onTabChange(index);\n };\n\n const tabButtons = React.Children.map(children, (child, index) =>\n React.createElement(TabButton, {\n ref: child.props.buttonRef || createRef<HTMLButtonElement>(),\n key: generateID(),\n tabId: tabIds[index],\n tabPanelId: tabPanelIds[index],\n selected: selectedTab === index,\n focussed: focussedTab === index,\n onTabButtonClick: () => activateTab(index),\n children: child.props.title,\n })\n );\n\n const tabPanels = React.Children.map(children, (child, index) =>\n React.createElement(TabPanel, {\n ref: child.props.panelRef || createRef<HTMLDivElement>(),\n key: generateID(),\n selected: selectedTab === index,\n tabId: tabIds[index],\n tabPanelId: tabPanelIds[index],\n children: child.props.children,\n })\n );\n\n return (\n <div {...rest} className={`${classes['tabs']} ${className ?? ''}`}>\n <div\n role=\"tablist\"\n onKeyDown={handleKeyDown}\n onBlur={handleBlur}\n aria-label={ariaLabel}\n className={classes['tablist']}\n >\n <div className={classes['tabdivider']} />\n {tabButtons}\n <div\n className={classes['indicator']}\n ref={indicatorRef}\n aria-hidden=\"true\"\n tabIndex={-1}\n style={{\n width: indicatorWidth,\n ...indicatorPosition,\n }}\n />\n </div>\n <div className={classes['tabpanels']}>{tabPanels}</div>\n </div>\n );\n};\n","import React, { useRef, MouseEventHandler, useState, ComponentPropsWithRef } from 'react';\nimport { Popover } from '../Popover/Popover';\nimport classes from './TextEllipsis.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n children?: string;\n popoverClassName?: string;\n}\n\nexport const TextEllipsis = React.forwardRef<HTMLDivElement, Props>(\n ({ children, popoverClassName, className, ...rest }: Props, ref) => {\n const [showPopover, setShowPopover] = useState(false);\n const textContainer = useRef<HTMLDivElement>(null);\n\n const ellipsisVisible = () => {\n if (\n textContainer.current &&\n textContainer.current.offsetWidth < textContainer.current.scrollWidth\n ) {\n return true;\n }\n return false;\n };\n\n const onMouseEnter: MouseEventHandler<HTMLDivElement> = () => {\n ellipsisVisible() && setShowPopover(true);\n };\n\n const onMouseLeave: MouseEventHandler<HTMLDivElement> = () => {\n ellipsisVisible() && setShowPopover(false);\n };\n\n return (\n <div\n {...rest}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n className={`${classes['text-ellipsis']} ${className ?? ''}`}\n ref={ref || textContainer}\n >\n {children}\n <Popover\n aria-hidden={true}\n data-hidden={!showPopover}\n show={showPopover}\n role=\"tooltip\"\n anchorEl={textContainer}\n className={`${classes.popover} ${popoverClassName ?? ''}`}\n >\n {children}\n </Popover>\n </div>\n );\n }\n);\n","import React, { 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, {\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, 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 classes from './Select.module.scss';\n\nimport React, {\n ComponentPropsWithRef,\n createRef,\n Fragment,\n ReactElement,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { Input, Props as InputProps } from '../Input/Input';\nimport { Icon, Icons } from '../../Icon/Icon';\nimport { FormElement } from '../form.interfaces';\nimport { useBodyClick } from '../../hooks/useBodyClick';\nimport readyclasses from '../../readyclasses.module.scss';\nimport { filterProps } from '../../util/helper';\n\ntype PartialInputProps = Partial<InputProps>;\n\nexport interface Props extends ComponentPropsWithRef<'select'>, FormElement {\n children: ReactElement[];\n name?: string;\n labeledBy?: string;\n describedBy?: string;\n placeholder?: string;\n searchPlaceholder?: string;\n searchInputProps?: PartialInputProps;\n selectButtonProps?: ComponentPropsWithRef<'button'>;\n className?: string;\n value: string;\n clearLabel?: string;\n onChange?: (event: React.ChangeEvent<HTMLSelectElement>, child?: ReactElement) => void;\n onClear?: (event: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement>) => void;\n}\n\ntype Position = {\n top: 0 | 'initial';\n bottom: 0 | 'initial';\n};\n\n/** Amount of items to be rendered before a search input is rendered */\nconst renderSearchCondition = 10;\n\nexport const Select = React.forwardRef<HTMLSelectElement, Props>(\n (\n {\n children,\n name,\n disabled = false,\n labeledBy,\n placeholder,\n describedBy,\n searchPlaceholder = 'Search item',\n searchInputProps,\n selectButtonProps,\n className,\n error = false,\n value,\n clearLabel = 'Clear selection',\n onChange,\n onClear,\n ...rest\n }: Props,\n ref\n ) => {\n const [expanded, setExpanded] = useState(false);\n const [opacity, setOpacity] = useState(0); // We set opacity because other wise if we calculate the max height you see the list full height for a split second and then it shortens.\n const [filter, setFilter] = useState('');\n const [display, setDisplay] = useState('');\n const [listPosition, setListPosition] = useState<Partial<Position>>({});\n const [optionsListMaxHeight, setOptionsListMaxHeight] = useState('none');\n const containerReference = useRef<HTMLDivElement>(null);\n const optionListReference = useRef<HTMLDivElement>(null);\n const [isSearching, setIsSearching] = useState(false);\n const [focusedSelectItem, setFocusedSelectItem] = useState(-1);\n const [shouldClick, setShouldClick] =\n useState(\n false\n ); /** We need this, because whenever we use the arrow keys to select the select item, and we focus the currently selected item it fires the \"click\" listener in Option component. Instead, we only want this to fire if we press \"enter\" or \"spacebar\" so we set this to true whenever that is the case, and back to false when it has been executed. */\n const [childrenCount] = useState(React.Children.count(children));\n\n const nativeSelect = (ref as React.RefObject<HTMLSelectElement>) || createRef();\n const searchInputRef = useRef<HTMLInputElement>(null);\n\n const onArrowNavigation = (event: React.KeyboardEvent) => {\n const codesToPreventDefault = [\n 'ArrowDown',\n 'ArrowUp',\n 'ArrowLeft',\n 'ArrowRight',\n 'Space',\n 'Escape',\n 'End',\n 'Home',\n ];\n\n const codesToPreventDefaultWhenSearching = ['ArrowDown', 'ArrowUp', 'Enter', 'Escape'];\n\n /** If the select is expanded, we also want to control the Tab key */\n if (expanded) {\n codesToPreventDefault.push('Tab');\n }\n\n /** We will handle the way certain key strokes affect the Select, unless we're searching */\n if (codesToPreventDefault.includes(event.code) && !isSearching) {\n event.preventDefault();\n }\n\n if (isSearching && codesToPreventDefaultWhenSearching.includes(event.code)) {\n event.preventDefault();\n }\n\n if (isSearching) {\n switch (event.code) {\n case 'ArrowDown':\n case 'Enter':\n setIsSearching(false);\n setFocusedSelectItem(0);\n return;\n case 'ArrowUp':\n setIsSearching(false);\n setFocusedSelectItem(childrenCount - 1);\n return;\n case 'Escape':\n case 'Tab':\n setIsSearching(false);\n setExpanded(false);\n containerReference.current &&\n containerReference.current.querySelector('button')!.focus();\n }\n } else {\n switch (event.code) {\n case 'ArrowDown':\n if (!expanded) {\n setExpanded(true);\n return;\n }\n setFocusedSelectItem((prevState) => {\n return prevState + 1 > childrenCount - 1 ? 0 : prevState + 1;\n });\n return;\n case 'ArrowUp':\n setFocusedSelectItem((prevState) => {\n return prevState - 1 < 0 ? childrenCount - 1 : prevState - 1;\n });\n return;\n case 'Space':\n if (!expanded) {\n setExpanded(true);\n return;\n }\n\n setShouldClick(true);\n setExpanded(false);\n containerReference.current &&\n containerReference.current.querySelector('button')!.focus();\n return;\n case 'Tab':\n if (childrenCount >= renderSearchCondition && expanded) {\n setIsSearching(true);\n searchInputRef.current && searchInputRef.current.focus();\n return;\n }\n setExpanded(false);\n\n return;\n case 'Escape':\n if (expanded) {\n setExpanded(false);\n containerReference.current &&\n containerReference.current.querySelector('button')!.focus();\n }\n return;\n case 'End':\n setFocusedSelectItem(childrenCount - 1);\n return;\n case 'Home':\n setFocusedSelectItem(0);\n return;\n }\n }\n };\n\n const syncDisplayValue = (val: string) => {\n React.Children.forEach(children, (child) => {\n if (child.props.value === val) {\n setDisplay(child.props.children);\n }\n });\n };\n\n const rePositionList = () => {\n if (!expanded || !optionListReference.current || !containerReference.current) {\n return;\n }\n\n // Check whether there is more space above or below the select\n // Check space between the bottom of select and top of viewport\n const spaceOnTopOfSelect = containerReference.current.getBoundingClientRect().bottom;\n\n // Check space between the top of the select and bottom of viewport\n const spaceOnBottomOfSelect =\n window.innerHeight - containerReference.current.getBoundingClientRect().top;\n\n // Set position as if there's more space on the bottom\n let position: Position = { top: 0, bottom: 'initial' };\n\n // Set the position of the select\n if (spaceOnTopOfSelect > spaceOnBottomOfSelect) {\n position = { top: 'initial', bottom: 0 };\n }\n\n setListPosition(position);\n\n // Calculate the potential max height of the options list\n calculateOptionListMaxHeight(position);\n };\n\n const calculateOptionListMaxHeight = (position: Position) => {\n // Calculate max height if there's more space below the select\n const listHeight = optionListReference.current!.getBoundingClientRect().height;\n const transformOrigin = position.top !== 'initial' ? 'top' : 'bottom';\n\n const availableSpace =\n transformOrigin === 'top'\n ? window.innerHeight -\n containerReference.current!.getBoundingClientRect()[transformOrigin] -\n 16\n : containerReference.current!.getBoundingClientRect()[transformOrigin] - 16;\n\n if (availableSpace < listHeight) {\n setOptionsListMaxHeight(`${availableSpace}px`);\n setOpacity(100);\n return;\n }\n\n setOptionsListMaxHeight('none');\n setOpacity(100);\n };\n\n const onOptionChangeHandler = (optionRef: React.RefObject<HTMLLIElement>) => {\n if (nativeSelect.current && optionRef.current) {\n nativeSelect.current.value = optionRef.current.getAttribute('data-value')!;\n nativeSelect.current.dispatchEvent(new Event('change', { bubbles: true }));\n }\n\n setExpanded(false);\n\n containerReference.current && containerReference.current.querySelector('button')!.focus();\n };\n\n /**\n * @description We have to modify the children (Option component) to have a additional props that allows us to keep track of which one is selected and focused at all times and if a filter is active.\n * The `children` prop can be either a single object (1 child) or an array of multiple children.\n */\n const renderOptions = () => {\n if (isSearching || filter !== '') {\n const filteredChildren = React.Children.toArray(children).filter(\n (child) =>\n (child as ReactElement).props.children.toLowerCase().match(filter.toLowerCase()) !==\n null\n );\n\n return _internalRenderChildren(filteredChildren as ReactElement[]);\n }\n\n return _internalRenderChildren(children);\n\n function _internalRenderChildren(internalChildren: ReactElement[]) {\n return React.Children.map(internalChildren, (child, index) => {\n return React.cloneElement(child, {\n onFocusChange: (childIndex: number) => setFocusedSelectItem(childIndex),\n onOptionSelect: (optionRef: React.RefObject<HTMLLIElement>) => {\n onOptionChangeHandler(optionRef);\n setShouldClick(false);\n },\n isSelected: child.props.value === value,\n isSearching: isSearching,\n selectOpened: expanded,\n childIndex: index,\n hasFocus: focusedSelectItem === index,\n shouldClick: shouldClick,\n });\n });\n }\n };\n\n const renderSearch = () => (\n <Input\n {...searchInputProps}\n autoFocus\n ref={searchInputRef}\n onFocus={() => setIsSearching(true)}\n onBlur={() => setIsSearching(false)}\n onChange={filterResults}\n className={classes['select-search']}\n wrapperProps={{\n className: `${classes['select-search-wrapper']} ${searchInputProps?.wrapperProps?.className}`,\n }}\n type=\"text\"\n name=\"search-option\"\n placeholder={searchPlaceholder}\n />\n );\n\n const filterResults = (event: React.ChangeEvent<HTMLInputElement>) => {\n setFilter(event.currentTarget.value);\n };\n\n const statusIcon = () => {\n if (error) {\n return <Icon className={classes['warning']} icon={Icons.Warning} />;\n }\n\n if (value?.length !== 0 && onClear) {\n return (\n <div\n aria-hidden={false}\n role=\"button\"\n tabIndex={0}\n data-clear\n onClick={(e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n e.preventDefault();\n e.stopPropagation();\n onClear(e);\n }}\n onKeyDown={(e: React.KeyboardEvent<HTMLDivElement>) => {\n if (e.code === 'Enter' || e.code === 'Space') {\n e.preventDefault();\n e.stopPropagation();\n onClear(e);\n containerReference.current &&\n containerReference.current.querySelector('button')!.focus();\n }\n }}\n >\n <span className={readyclasses['sr-only']}>{clearLabel}</span>\n <Icon tag=\"span\" icon={Icons.TimesThin} />\n </div>\n );\n }\n return null;\n };\n\n const nativeOnChangeHandler = (event: React.ChangeEvent<HTMLSelectElement>) => {\n onChange && onChange(event);\n };\n\n useEffect(() => {\n syncDisplayValue(value);\n }, [value]);\n\n useEffect(() => {\n rePositionList();\n }, [expanded]);\n\n useBodyClick(\n (event: MouseEvent) => !(event.target as Element).closest('.custom-select') && expanded,\n () => {\n setExpanded(!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={nativeSelect}\n name={name}\n onChange={nativeOnChangeHandler}\n className={readyclasses['sr-only']}\n >\n <option value=\"\"></option>\n {React.Children.map(children, (child) => (\n <option value={child.props.value}></option>\n ))}\n </select>\n <div\n {...filterProps(rest, /^data-/)}\n ref={containerReference}\n onKeyDown={onArrowNavigation}\n className={`custom-select ${classes.select} ${additionalClasses.join(' ')} ${\n className ?? ''\n }`}\n >\n <button\n {...selectButtonProps}\n onClick={() => {\n setExpanded(!expanded);\n }}\n type=\"button\"\n name={name}\n 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 className={classes['custom-select']}\n >\n <div data-display className={classes['selected']}>\n {!value && placeholder && (\n <span className={classes['placeholder']}>{placeholder}</span>\n )}\n {value?.length > 0 && <span data-display-inner>{display}</span>}\n </div>\n <div className={classes['status']}>\n {statusIcon()}\n <Icon className={classes['triangle-down']} icon={Icons.TriangleDown} />\n </div>\n </button>\n <div\n ref={optionListReference}\n className={`list-wrapper ${classes['list-wrapper']}`}\n style={{\n display: expanded ? 'block' : 'none',\n opacity: opacity,\n maxHeight: optionsListMaxHeight,\n ...listPosition,\n }}\n >\n {Array.isArray(children) && children.length > renderSearchCondition && renderSearch()}\n <ul role=\"listbox\">{renderOptions()}</ul>\n </div>\n </div>\n </Fragment>\n );\n }\n);\n","import React, { ComponentPropsWithRef, createRef, RefObject, useEffect } from 'react';\nimport classes from './Select.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<'li'> {\n children: string;\n value: string;\n disabled?: boolean;\n isSelected?: boolean;\n selectOpened?: boolean;\n hasFocus?: boolean;\n shouldClick?: boolean;\n isSearching?: boolean;\n label?: string;\n childIndex?: number;\n onOptionSelect?: (ref: React.RefObject<HTMLLIElement>) => void;\n onFocusChange?: (childIndex: number) => void;\n}\n\nexport const Option = React.forwardRef<HTMLLIElement, Props>(\n (\n {\n children,\n className,\n isSelected = false,\n shouldClick,\n hasFocus,\n selectOpened,\n isSearching,\n childIndex,\n onOptionSelect,\n onFocusChange,\n disabled,\n value,\n ...rest\n }: Props,\n ref\n ) => {\n let innerOptionRef = (ref as RefObject<HTMLLIElement>) || createRef<HTMLLIElement>();\n\n useEffect(() => {\n if (isSelected && innerOptionRef.current && shouldClick) {\n innerOptionRef.current.click();\n }\n }, [isSelected, shouldClick]);\n\n useEffect(() => {\n if (innerOptionRef.current && hasFocus && selectOpened && !isSearching) {\n onFocusChange && childIndex && onFocusChange(childIndex);\n innerOptionRef.current.focus();\n }\n }, [hasFocus, innerOptionRef, selectOpened, isSearching]);\n\n const onSelectHandler = () => {\n if (onOptionSelect) onOptionSelect(innerOptionRef);\n };\n\n return (\n <li\n {...rest}\n ref={innerOptionRef}\n data-value={value}\n className={`${isSelected ? classes['selected-option'] : ''} ${\n disabled ? classes.disabled : ''\n } ${className ?? ''}`}\n onClick={onSelectHandler}\n onKeyDownCapture={(event) => {\n if (event.code === 'Enter') {\n event.stopPropagation();\n event.preventDefault();\n\n onSelectHandler();\n }\n }}\n aria-selected={isSelected}\n role=\"option\"\n tabIndex={disabled ? -1 : 0}\n >\n {children}\n </li>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactNode } from 'react';\nimport classes from './Label.module.scss';\nimport readyclasses from '../../readyclasses.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<'label'> {\n children?: ReactNode;\n}\n\nexport const Label = React.forwardRef<HTMLLabelElement, Props>(\n ({ children, className, hidden = false, ...rest }: Props, ref) => {\n return (\n <label\n {...rest}\n ref={ref}\n className={`${hidden ? readyclasses['sr-only'] : ''} ${classes['label']} ${\n className ?? ''\n }`}\n >\n {children}\n </label>\n );\n }\n);\n","import React, { ComponentPropsWithRef, Fragment, useState } from 'react';\nimport classes from './Pagination.module.scss';\nimport readyclasses from '../readyclasses.module.scss';\nimport { IconButton } from '../Button/IconButton';\nimport { Icons, Icon } from '../Icon/Icon';\nimport { Input } from '../Form/Input/Input';\nimport { Select } from '../Form/Select/Select';\nimport { Option } from '../Form/Select/Option';\nimport { Label } from '../Form/Label/Label';\n\nexport type PaginationTranslations = {\n totalItems: string;\n itemsPerPage: string;\n itemsPerPageLabel: string;\n currentPage: string;\n currentPageLabel: string;\n};\n\nexport type PageChangeLabels = 'next' | 'previous' | 'first' | 'last';\n\nenum DefaultTranslations {\n totalItems = 'Total items',\n itemsPerPage = 'Items per page',\n currentPage = 'Page %1 of %2',\n itemsPerPageLabel = 'Select how many items per page you want to see.',\n currentPageLabel = 'What page you are currently on.',\n}\n\nexport type PageSize = 10 | 25 | 50;\n\nexport interface Props extends Omit<ComponentPropsWithRef<'div'>, 'translate'> {\n currentPage?: number;\n totalElements?: number;\n pageSize?: PageSize;\n translate?: PaginationTranslations;\n onPageChange: (pageToGoTo: number) => void;\n onPageSizeChange: (pageSize: PageSize) => void;\n}\n\nexport const Pagination = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n totalElements,\n pageSize = 10,\n translate = DefaultTranslations,\n currentPage,\n className,\n onPageChange,\n onPageSizeChange,\n ...rest\n }: Props,\n ref\n ) => {\n /** We use an internal state variable, because we don't want to fire onCurrentPageChange whenever onChange fires on the input. Rather, only when the Enter key is pressed. */\n const [internalCurrentPage, setInternalCurrentPage] = useState(currentPage?.toString() || '1');\n const calculateAmountOfPages = () => (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())}&nbsp;</div>;\n }\n\n return <div key={string}>{string}&nbsp;</div>;\n });\n }\n\n return null;\n };\n\n const onPageSizeChangeHandler = (event: React.ChangeEvent<HTMLSelectElement>) => {\n const pageSizeNumber = Number(event.target.value) as PageSize;\n onPageSizeChange(pageSizeNumber);\n };\n\n const onPageChangeHandler = (pageToGoTo: number) => {\n onPageChange(pageToGoTo);\n };\n\n return (\n <div\n {...rest}\n ref={ref}\n className={`${classes['pagination-wrapper']} ${className ? className : ''}`}\n >\n {totalElements && (\n <div className={classes['total']}>\n <span tabIndex={0}>\n {translate.totalItems}: <span>{totalElements}</span>\n </span>\n </div>\n )}\n <div className={classes['pagination']}>\n {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, { useEffect, useState } from 'react';\nimport { generateID } from '../util/helper';\n\ninterface Arguments {\n componentToRepeat: React.ReactElement;\n}\n\nexport const useRepeater = <T>({ componentToRepeat }: Arguments) => {\n const [repeatedComponents, setRepeatedComponents] = useState<JSX.Element[]>([]);\n\n useEffect(() => {\n repeat();\n }, []);\n\n const repeat = () => {\n const clonedComponent = React.cloneElement(componentToRepeat, { key: generateID(20) });\n\n setRepeatedComponents((prevState) => [...prevState, clonedComponent]);\n };\n\n const remove = (componentToRemove: React.ReactElement<T>) => {\n const newRepeatedComponents = repeatedComponents.filter(\n (component) => component !== componentToRemove\n );\n\n setRepeatedComponents(newRepeatedComponents);\n };\n\n return {\n repeatedComponents,\n repeat,\n remove,\n };\n};\n","export const labelId = (id: string) => `${id}-label`;\nexport const descriptionId = (id: string) => `${id}-description`;\n","import React, { ComponentPropsWithRef, useEffect } from 'react';\nimport { createPortal } from 'react-dom';\nimport classes from './BaseModal.module.scss';\nimport { labelId, descriptionId } from './BaseModalContext';\n\nconst SCROLL_PROPERTY_NAME = 'overflow';\nconst SCROLL_PROPERTY_VALUE = 'hidden';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n id: string;\n children: React.ReactNode;\n open: boolean;\n onClose?: (event?: React.MouseEvent<HTMLElement>) => unknown;\n className?: string;\n containerProps?: ComponentPropsWithRef<'div'>;\n backdropProps?: ComponentPropsWithRef<'div'>;\n labelledby?: string;\n describedby?: string;\n disableEscapeKeyDown?: boolean;\n disableBackdrop?: boolean;\n forceContainerOpen?: boolean;\n zIndex?: number;\n domRoot?: HTMLElement;\n}\n\nexport const useSetBodyScroll = (open: boolean) => {\n const hideBodyScroll = () => {\n document.body.style[SCROLL_PROPERTY_NAME] = SCROLL_PROPERTY_VALUE;\n };\n\n const showBodyScroll = () => {\n const allModalsClosed =\n document.querySelectorAll('[role=dialog][data-hidden=false]').length === 0;\n if (allModalsClosed) {\n document.body.style.removeProperty(SCROLL_PROPERTY_NAME);\n }\n };\n\n useEffect(() => {\n if (open) {\n hideBodyScroll();\n } else {\n showBodyScroll();\n }\n }, [open]);\n};\n\nexport const BaseModal = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n id,\n children,\n open,\n onClose,\n className = '',\n containerProps,\n backdropProps,\n labelledby,\n describedby,\n disableEscapeKeyDown = false,\n disableBackdrop = false,\n forceContainerOpen = false,\n zIndex,\n domRoot = document.body,\n ...rest\n }: Props,\n ref\n ) => {\n useSetBodyScroll(open);\n\n const handleEscKeyPress = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disableEscapeKeyDown && event.key === 'Escape') {\n event.stopPropagation();\n onClose && onClose();\n }\n };\n\n const handleBackdropClick = () => !disableBackdrop && onClose && onClose();\n\n return createPortal(\n <div\n {...rest}\n ref={ref}\n id={id}\n className={`${classes['modal']} ${open ? classes['visible'] : ''} ${className}`}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={labelledby || labelId(id)}\n aria-describedby={describedby || descriptionId(id)}\n aria-hidden={!open}\n tabIndex={-1}\n data-hidden={!open}\n onKeyDown={handleEscKeyPress}\n style={{ zIndex }}\n >\n <div\n {...backdropProps}\n className={`${classes['backdrop']} ${backdropProps?.className ?? ''}`}\n onClick={handleBackdropClick}\n ></div>\n {forceContainerOpen ? (\n <div\n {...containerProps}\n aria-hidden={!open}\n hidden={!open}\n style={{ zIndex: zIndex && zIndex + 1 }}\n className={`${classes['container']} ${containerProps?.className ?? ''}`}\n >\n {children}\n </div>\n ) : (\n open && (\n <div\n {...containerProps}\n style={{ zIndex: zIndex && zIndex + 1 }}\n className={`${classes['container']} ${containerProps?.className ?? ''}`}\n >\n {children}\n </div>\n )\n )}\n </div>,\n domRoot\n );\n }\n);\n","import React, { createContext } from 'react';\nimport { SnackbarOptionsProps } from '../interfaces';\n\ninterface SnackbarContextProps {\n enqueueSnackbar: (title: string, content?: string, options?: SnackbarOptionsProps) => void;\n enqueueSuccessSnackbar: (title: string, content?: string, options?: SnackbarOptionsProps) => void;\n enqueueErrorSnackbar: (title: string, content?: string, options?: SnackbarOptionsProps) => void;\n}\n\nconst SnackbarContext = createContext<SnackbarContextProps>({\n enqueueSnackbar: () => null,\n enqueueSuccessSnackbar: () => null,\n enqueueErrorSnackbar: () => null,\n});\n\ninterface Props {\n initialState: SnackbarContextProps;\n children?: React.ReactNode;\n}\n\nconst SnackbarContextProvider = ({ children, initialState }: Props) => {\n return <SnackbarContext.Provider value={initialState}>{children}</SnackbarContext.Provider>;\n};\n\nexport { SnackbarContextProvider, SnackbarContext, SnackbarContextProps };\n","import { useContext } from 'react';\nimport { SnackbarContext } from './SnackbarProvider/SnackbarStateProvider';\n\nexport const useSnackbar = () => useContext(SnackbarContext);\n","import React, { ComponentPropsWithRef, createRef, useEffect } from 'react';\nimport classes from './BaseModalContent.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n id?: string;\n children: React.ReactNode;\n className?: string;\n disableAutoFocus?: boolean;\n}\n\nexport const BaseModalContent = React.forwardRef<HTMLDivElement, Props>(\n ({ id, children, className = '', disableAutoFocus = false, ...rest }: Props, ref) => {\n const contentRef = createRef<HTMLDivElement>();\n\n useEffect(() => {\n if (!disableAutoFocus && ref) {\n (ref as React.RefObject<HTMLDivElement>).current?.focus();\n } else if (!disableAutoFocus) {\n contentRef.current?.focus();\n }\n }, []);\n\n /**tabIndex is set to be able to do focus on that element which we need for catching keyDown events */\n return (\n <div\n {...rest}\n ref={ref || contentRef}\n id={id}\n className={`${classes['content']} ${className}`}\n tabIndex={-1}\n >\n {children}\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from 'react';\nimport classes from './BaseModalActions.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<'footer'> {\n children?: React.ReactNode;\n}\n\nexport const BaseModalActions = React.forwardRef<HTMLElement, Props>(\n ({ children, className = '', ...rest }: Props, ref) => {\n return (\n <footer {...rest} ref={ref} className={`${classes['actions']} ${className}`}>\n {children}\n </footer>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from 'react';\nimport {\n BaseModalActions,\n Props as BaseModalActionsProps,\n} from '../../BaseModal/BaseModalActions/BaseModalActions';\nimport classes from './DialogActions.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<any>, BaseModalActionsProps {\n align: 'left' | 'right';\n}\n\nexport const DialogActions = React.forwardRef<HTMLElement, Props>(\n ({ children, align, ...rest }: Props, ref) => {\n return (\n <BaseModalActions\n {...rest}\n ref={ref}\n className={`${classes['actions']}${align === 'left' ? ' ' + classes['left'] : ''}`}\n >\n {children}\n </BaseModalActions>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from 'react';\nimport { Typography } from '../../../Typography/Typography';\nimport classes from './DialogTitle.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n id: string;\n title: string;\n}\n\nexport const DialogTitle = React.forwardRef<HTMLDivElement, Props>(\n ({ id, title, ...rest }: Props, ref) => {\n return (\n <div {...rest} ref={ref} className={classes['header']}>\n <Typography id={id} className={classes['title']} tag=\"h1\" variant=\"h4\">\n {title}\n </Typography>\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef, useState } from 'react';\nimport { BaseModal } from '../BaseModal/BaseModal';\nimport { BaseModalContent } from '../BaseModal/BaseModalContent/BaseModalContent';\nimport { DialogActions } from './DialogActions/DialogActions';\nimport classes from './Dialog.module.scss';\nimport { DialogTitle } from './DialogTitle/DialogTitle';\nimport { Button, Props as ButtonProps } from '../../Button/Button';\nimport { labelId, descriptionId } from '../BaseModal/BaseModalContext';\nimport { generateID } from '../../util/helper';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n id?: string;\n open: boolean;\n children: React.ReactNode;\n alignActions: 'left' | 'right';\n onClose: () => void;\n title: string;\n primaryAction: Action;\n secondaryAction?: Action;\n zIndex?: number;\n disableEscapeKeyDown?: boolean;\n}\n\nexport interface Action extends Omit<ButtonProps, 'variant' | 'ref'> {\n label: string;\n onClick: (event?: React.MouseEvent<HTMLButtonElement>) => unknown;\n}\n\nexport const Dialog = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n id,\n open,\n children,\n alignActions,\n onClose,\n title,\n primaryAction,\n secondaryAction,\n zIndex,\n disableEscapeKeyDown = true,\n ...rest\n }: Props,\n ref\n ) => {\n const [dialogId] = useState(id ?? generateID(20));\n const { label: primaryLabel, ...restOfPrimaryAction } = primaryAction;\n const PrimaryButton = (\n <Button key=\"primary\" {...restOfPrimaryAction}>\n {primaryLabel}\n </Button>\n );\n const TertiaryButton =\n secondaryAction &&\n (function () {\n const { label: secondaryLabel, ...restOfSecondaryAction } = secondaryAction;\n return (\n <Button key=\"tertiary\" variant=\"text\" {...restOfSecondaryAction}>\n {secondaryLabel}\n </Button>\n );\n })();\n\n const onHiddenInputKeyPress = (event: React.KeyboardEvent<HTMLInputElement>) => {\n /** It has to be here because then we will need to check if user doesn't click tab to select action button and want to do another action then primary one? */\n if (event.key === 'Enter') {\n primaryAction.onClick();\n }\n };\n\n return (\n <BaseModal\n {...rest}\n ref={ref}\n id={dialogId}\n className={classes['dialog']}\n containerProps={{ className: classes['container'] }}\n open={open}\n disableBackdrop\n onClose={onClose}\n zIndex={zIndex}\n disableEscapeKeyDown={disableEscapeKeyDown}\n >\n <DialogTitle id={labelId(dialogId)} title={title} />\n <BaseModalContent\n id={descriptionId(dialogId)}\n className={classes['content']}\n disableAutoFocus\n >\n {children}\n </BaseModalContent>\n <DialogActions align={alignActions}>\n {alignActions === 'left'\n ? [PrimaryButton, TertiaryButton]\n : [TertiaryButton, PrimaryButton]}\n </DialogActions>\n <input\n autoFocus\n aria-hidden={true}\n style={{\n position: 'absolute',\n width: 0,\n height: 0,\n opacity: 0,\n }}\n maxLength={0}\n tabIndex={-1}\n onKeyPress={onHiddenInputKeyPress}\n />\n </BaseModal>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from 'react';\nimport classes from './BaseModalHeader.module.scss';\nimport { IconButton } from '../../../Button/IconButton';\nimport { Icon, Icons } from '../../../Icon/Icon';\nimport { Typography } from '../../../Typography/Typography';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n id: string;\n title: string;\n children?: React.ReactNode;\n onClose: (event: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\nexport const BaseModalHeader = React.forwardRef<HTMLDivElement, Props>(\n ({ id, title, children, onClose, ...rest }: Props, ref) => {\n return (\n <div {...rest} ref={ref} className={classes['header']}>\n <div className={classes['headline']}>\n <Typography id={id} className={classes['title']} tag=\"h1\" variant=\"h4\">\n {title}\n </Typography>\n <IconButton onClick={onClose} className={classes['closeBtn']} title=\"close modal\">\n <Icon icon={Icons.Times} />\n </IconButton>\n </div>\n {children}\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from 'react';\nimport { Dialog } from '../../Dialog/Dialog';\nimport { Typography } from '../../../Typography/Typography';\nimport { DataAttributeKey } from '../../../interfaces';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n open: boolean;\n discardChangesButtonLabel: string;\n keepEditingButtonLabel: string;\n contentLabel: string;\n titleLabel: string;\n [dataAttribute: DataAttributeKey]: any;\n onKeepEditing: () => void;\n onDiscardChanges: () => void;\n}\n\nexport const DiscardChangesDialog = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n open,\n onKeepEditing,\n onDiscardChanges,\n discardChangesButtonLabel,\n keepEditingButtonLabel,\n contentLabel,\n titleLabel,\n ...rest\n }: Props,\n ref\n ) => {\n return (\n <Dialog\n {...rest}\n ref={ref}\n open={open}\n alignActions=\"left\"\n title={titleLabel}\n onClose={onKeepEditing}\n primaryAction={{\n label: discardChangesButtonLabel,\n onClick: onDiscardChanges,\n }}\n secondaryAction={{\n label: keepEditingButtonLabel,\n onClick: onKeepEditing,\n }}\n disableEscapeKeyDown={false}\n >\n <Typography variant=\"body\" spacing={{ margin: 0 }}>\n {contentLabel}\n </Typography>\n </Dialog>\n );\n }\n);\n","import React, { Fragment, useState } from 'react';\nimport { Modal, Props as ModalProps } from '../Modal/Modal';\nimport { ModalHeader, Props as ModalHeaderProps } from '../Modal/ModalHeader/ModalHeader';\nimport {\n DiscardChangesDialog,\n Props as DiscardChangesDialogProps,\n} from './DiscardChangesDialog/DiscardChangesDialog';\n\nexport interface Props extends Omit<ModalProps, 'onClose'> {\n hasUnsavedChanges: () => boolean;\n onClose: (event?: React.MouseEvent<HTMLElement>) => unknown;\n headerProps: Omit<ModalHeaderProps, 'onClose' | 'id'>;\n discardChangedDialogProps: Omit<\n DiscardChangesDialogProps,\n 'open' | 'onKeepEditing' | 'onDiscardChanges'\n >;\n modalRef?: React.RefObject<HTMLDivElement>;\n dialogRef?: React.RefObject<HTMLDivElement>;\n}\n\nexport const DiscardChangesModal = ({\n id,\n children,\n headerProps,\n discardChangedDialogProps,\n modalRef,\n dialogRef,\n onClose,\n hasUnsavedChanges,\n ...rest\n}: Props) => {\n const [openDiscardChangesDialog, setOpenDiscardChangesDialog] = useState(false);\n\n const onCloseWrapper = () =>\n hasUnsavedChanges() ? setOpenDiscardChangesDialog(true) : onClose();\n\n const onDialogKeepEditing = () => {\n setOpenDiscardChangesDialog(false);\n };\n\n const onDialogDiscardChanges = () => {\n setOpenDiscardChangesDialog(false);\n onClose();\n };\n\n return (\n <Fragment>\n <Modal id={id} ref={modalRef} onClose={onCloseWrapper} {...rest}>\n <ModalHeader {...headerProps} id={`${id}-label`} onClose={onCloseWrapper} />\n {children}\n </Modal>\n <DiscardChangesDialog\n {...discardChangedDialogProps}\n ref={dialogRef}\n open={openDiscardChangesDialog}\n onKeepEditing={onDialogKeepEditing}\n onDiscardChanges={onDialogDiscardChanges}\n />\n </Fragment>\n );\n};\n","import React, { useState } from 'react';\nimport { Props as ModalProps, Modal } from '../Modal/Modal';\nimport classes from './SlideInModal.module.scss';\n\nexport const SlideInModal = React.forwardRef<HTMLDivElement, ModalProps>(\n ({ children, id, open, ...rest }: ModalProps, ref) => {\n const [classHideOnTransition, setClassHideOnTransition] = useState<'hidden' | ''>('hidden');\n\n const onTransitionEnd = () => setClassHideOnTransition((prev) => (prev ? '' : 'hidden'));\n\n return (\n <Modal\n {...rest}\n id={id}\n open={open}\n className={`${classes['slide-in-modal']} ${open ? classes['visible'] : ''} ${\n !open ? classes[classHideOnTransition] : ''\n }`}\n containerProps={{ className: classes['container'] }}\n backdropProps={{ className: classes['backdrop-slide'] }}\n forceContainerOpen\n onTransitionEnd={onTransitionEnd}\n ref={ref}\n >\n {children}\n </Modal>\n );\n }\n);\n\nexport { Props } from '../Modal/Modal';\n","import React from 'react';\nimport classes from './SnackbarContainer.module.scss';\n\nexport interface Placement {\n vertical: 'top' | 'bottom';\n horizontal: 'start' | 'center' | 'end';\n}\n\nexport interface Props {\n placement: Placement;\n children?: React.ReactNode;\n zIndex?: number;\n className?: string;\n}\n\nexport const SnackbarContainer = ({ placement, children, zIndex, className, ...rest }: Props) => {\n return (\n <div\n {...rest}\n style={{ zIndex }}\n className={`${classes['snackbars']} ${classes[placement.horizontal]} ${\n classes[placement.vertical]\n } ${className ?? ''}`}\n >\n {children}\n </div>\n );\n};\n","import { useEffect, useRef, useState } from 'react';\n\nexport const useAnimation = <RefElement extends HTMLElement>(callback: () => void) => {\n const animatedObjectRef = useRef<RefElement>(null);\n /** We need to store flag that says us when to call the callback */\n const [animationStarted, setAnimationStarted] = useState(false);\n\n const onAnimationEnd = () => animationStarted && callback();\n\n useEffect(() => {\n animatedObjectRef.current?.addEventListener('animationend', onAnimationEnd);\n return () => animatedObjectRef.current?.removeEventListener('animationend', onAnimationEnd);\n }, [animationStarted]);\n\n return {\n ref: animatedObjectRef,\n animationStarted,\n startAnimation: () => setAnimationStarted(true),\n };\n};\n","import React, { useEffect, useRef } from 'react';\nimport { IconButton } from '../../../Button/IconButton';\nimport { Icon, Icons } from '../../../Icon/Icon';\nimport { Variant, Actions } from '../interfaces';\nimport classes from './SnackbarItem.module.scss';\nimport readyclasses from '../../../readyclasses.module.scss';\nimport { useAnimation } from '../../../hooks/useAnimation';\nimport { Typography } from '../../../Typography/Typography';\n\nconst textColor = 'var(--snackbar-text-color)';\n\nexport interface Props {\n id: string;\n title: string;\n duration: number;\n variant: Variant;\n onClose: (key: string) => void;\n closeButtonTitle: string;\n content?: string;\n actions?: Actions;\n}\n\nexport const SnackbarItem = ({\n id,\n title,\n duration,\n variant,\n content,\n actions = [],\n onClose,\n closeButtonTitle,\n}: Props) => {\n const timerHandler = useRef<ReturnType<typeof setTimeout>>();\n const onAnimationEnd = () => onClose(id);\n const { ref, animationStarted, startAnimation } = useAnimation<HTMLDivElement>(onAnimationEnd);\n\n useEffect(() => {\n timerHandler.current = setTimeout(() => startAnimation(), duration);\n return () => {\n timerHandler.current && clearTimeout(timerHandler.current);\n };\n }, []);\n\n const onMouseEnter = () => {\n timerHandler.current && clearTimeout(timerHandler.current);\n };\n\n const onMouseLeave = () => {\n timerHandler.current = setTimeout(() => startAnimation(), duration);\n };\n\n const getVariantIcon = () => {\n if (variant === 'error') {\n return Icons.Error;\n }\n return variant === 'success' ? Icons.CheckmarkCircleBreakout : Icons.InfoCircle;\n };\n\n const actionButtons = actions.map((actionProp, index) => (\n <button\n key={index}\n {...actionProp}\n onClick={(e) => {\n onClose(id);\n actionProp.onClick && actionProp.onClick(e);\n }}\n children={actionProp.label}\n className={classes['action-button']}\n ></button>\n ));\n\n return (\n <div\n ref={ref}\n className={`${classes['snackbar']} ${classes[variant]} ${\n animationStarted ? readyclasses['slide-out'] : readyclasses['slide-in']\n }`}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n <Icon icon={getVariantIcon()} className={classes['icon']} />\n <div className={classes['container']}>\n <div className={classes['headline']}>\n <Typography className={classes['title']} variant=\"h4\" tag=\"span\">\n {title}\n </Typography>\n <IconButton\n 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 { useEffect, useState } from 'react';\nimport { generateID } from '../util/helper';\n\nexport interface ConfigObject {\n name: string | undefined;\n errorMessage?: string;\n error?: boolean;\n parentErrorId?: string;\n helperText?: string;\n parentHelperId?: string;\n}\n\nexport const useFormSelector = (configObject: ConfigObject) => {\n const [identifier] = useState(generateID(15, configObject.name));\n const [describedBy, setDescribedBy] = useState('');\n const [errorId] = useState(generateID(15, configObject.errorMessage));\n\n useEffect(() => {\n if (configObject.error && configObject.parentErrorId) {\n setDescribedBy(configObject.parentErrorId);\n }\n\n if (\n (!configObject.error && configObject.helperText) ||\n (!configObject.parentErrorId && !configObject.errorMessage && configObject.helperText)\n ) {\n setDescribedBy(`${identifier}`);\n }\n\n if (\n (!configObject.error && !configObject.helperText && configObject.parentHelperId) ||\n (!configObject.parentErrorId && !configObject.errorMessage && configObject.parentHelperId)\n ) {\n setDescribedBy(`${configObject.parentHelperId}`);\n }\n\n if (configObject.errorMessage && !configObject.parentErrorId && configObject.error) {\n setDescribedBy(errorId);\n }\n }, [identifier, configObject.error, configObject.parentErrorId]);\n\n return {\n describedBy,\n errorId,\n identifier,\n };\n};\n","import React, { ComponentPropsWithRef, ReactNode } from 'react';\nimport classes from './FormHelperText.module.scss';\nimport { Typography } from '../../Typography/Typography';\nimport { FormElement } from '../form.interfaces';\n\nexport interface Props extends ComponentPropsWithRef<'div'>, FormElement {\n children?: ReactNode;\n}\n\nexport const FormHelperText = React.forwardRef<HTMLDivElement, Props>(\n ({ children, error, className, ...rest }: Props, ref) => {\n return (\n <Typography\n {...rest}\n ref={ref}\n variant=\"sub-text\"\n tag=\"div\"\n className={`${classes['form-helper-text']} ${error ? classes.error : ''} ${\n className ?? ''\n }`}\n >\n {children}\n </Typography>\n );\n }\n);\n","import React, { ComponentPropsWithRef, createRef, ReactNode } from 'react';\nimport { Icon, Icons } from '../../Icon/Icon';\nimport { KeyValuePair } from '../../interfaces';\nimport { FormSelector } from '../form.interfaces';\nimport { FormHelperText, Props as FormHelperTextProps } from '../FormHelperText/FormHelperText';\nimport classes from './FormSelectorWrapper.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<'div'>, FormSelector {\n children?: ReactNode;\n nestedChildren?: ReactNode;\n containerProps?: ComponentPropsWithRef<'div'> & KeyValuePair;\n helperProps?: FormHelperTextProps;\n disabled?: boolean;\n errorId?: string;\n identifier?: string;\n}\n\nexport const FormSelectorWrapper = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n children,\n className,\n nestedChildren,\n containerProps,\n helperProps,\n error,\n disabled,\n helperText,\n errorMessage,\n parentErrorId,\n errorId,\n identifier,\n ...rest\n }: Props,\n ref\n ) => {\n const helperRef = helperProps?.ref || createRef();\n\n return (\n <div\n {...rest}\n ref={ref}\n className={`${error ? classes['error'] : ''} ${disabled ? classes['disabled'] : ''} ${\n className ?? ''\n }`}\n >\n <div {...containerProps}>{children}</div>\n {(helperText || (helperProps && helperProps.children)) &&\n (!error || parentErrorId || !errorMessage) && (\n <FormHelperText\n {...helperProps}\n ref={helperRef}\n id={`${identifier}`}\n className={`${classes['helper-text']} ${helperProps?.className ?? ''} ${\n error ? classes['error'] : ''\n }`}\n >\n {(helperProps && helperProps.children) || helperText}\n </FormHelperText>\n )}\n {errorMessage && !parentErrorId && error && (\n <span className={classes['error-message']}>\n <Icon className={classes['error-icon']} icon={Icons.Error} />\n <span id={errorId}>{errorMessage}</span>\n </span>\n )}\n {nestedChildren}\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactElement, ReactNode, useEffect } from 'react';\nimport { Icon, Icons } from '../../Icon/Icon';\nimport { Props as FormHelperTextProps } from '../FormHelperText/FormHelperText';\nimport classes from './Checkbox.module.scss';\nimport { useFormSelector } from '../../hooks/useFormSelector';\nimport {\n FormSelectorWrapper,\n Props as FormSelectorWrapperProps,\n} from '../FormSelectorWrapper/FormSelectorWrapper';\nimport { FormSelector } from '../form.interfaces';\n\nconst isToggle = (children: ReactNode) => (children as ReactElement)?.props?.['data-toggle'];\n\nexport interface Props extends ComponentPropsWithRef<'input'>, FormSelector {\n children: ReactNode;\n label?: string;\n indeterminate?: boolean;\n helperProps?: FormHelperTextProps;\n formSelectorWrapperProps?: FormSelectorWrapperProps;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const Checkbox = React.forwardRef<HTMLInputElement, Props>(\n (\n {\n children,\n name,\n helperText,\n helperProps,\n indeterminate,\n parentErrorId,\n errorMessage,\n disabled,\n label,\n parentHelperId,\n className,\n error,\n checked = false,\n formSelectorWrapperProps,\n onChange,\n ...rest\n }: Props,\n ref\n ) => {\n const { errorId, identifier, describedBy } = useFormSelector({\n name,\n helperText,\n parentErrorId,\n errorMessage,\n error,\n parentHelperId,\n });\n\n useEffect(() => {\n if (!name) {\n throw new Error(\"Please pass a 'name' prop to your <Checkbox> component.\");\n }\n\n if (typeof children === 'object' && !isToggle(children) && indeterminate === undefined) {\n throw new Error(\n 'If you have nested checkboxes you have to manage the indeterminate state by passing a boolean to the `indeterminate` prop.'\n );\n }\n }, []);\n\n const determineLabel = () => {\n if (label) {\n return label;\n } else if (children === undefined) {\n throw new Error(\n 'Please make sure to pass either a string or more Checkbox components as a child of your Checkbox component.'\n );\n }\n\n if (typeof children === 'string') {\n return children;\n }\n\n throw new Error(\n 'If you pass Checkboxes as a child component (to create nested checkbox tree) you need to pass a label to the parent checkbox.'\n );\n };\n\n const renderNestedCheckboxes = () => (\n <ul className={classes['checkbox-list']}>\n {React.Children.map(children as ReactElement[], (child) => {\n return (\n <li>\n <Checkbox\n {...child.props}\n parentHelperId={parentHelperId}\n parentErrorId={parentErrorId}\n error={error}\n disabled={child.props.disabled ? child.props.disabled : disabled}\n >\n {child.props.children}\n </Checkbox>\n </li>\n );\n })}\n </ul>\n );\n\n const onChangeHandler = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (disabled) {\n return;\n }\n onChange && onChange(event);\n };\n\n const renderToggle = () => React.Children.toArray(children).filter(isToggle);\n\n const iconClasses = [classes['input'], disabled ? classes['disabled'] : ''];\n\n /** Default return value is the default checkbox */\n return (\n <FormSelectorWrapper\n {...formSelectorWrapperProps}\n className={`${classes['checkbox-wrapper']} ${className ? className : ''}`}\n containerProps={{ className: classes['checkbox-container'] }}\n helperText={helperText}\n helperProps={helperProps}\n parentErrorId={parentErrorId}\n errorId={errorId}\n errorMessage={errorMessage}\n error={error}\n disabled={disabled}\n identifier={identifier}\n nestedChildren={\n typeof children === 'object' && !isToggle(children) && renderNestedCheckboxes()\n }\n >\n <input\n {...rest}\n ref={ref}\n disabled={disabled}\n className={`${classes['native-input']} ${error ? classes['error'] : ''}`}\n checked={checked}\n onChange={onChangeHandler}\n aria-invalid={error as boolean}\n aria-checked={indeterminate ? 'mixed' : checked}\n aria-describedby={describedBy}\n id={`${identifier}-checkbox`}\n name={name}\n type=\"checkbox\"\n />\n {renderToggle()}\n\n {indeterminate && <Icon className={iconClasses.join(' ')} icon={Icons.MinusSquare} />}\n {checked && !indeterminate && (\n <Icon className={iconClasses.join(' ')} icon={Icons.CheckmarkSquare} />\n )}\n {!checked && !indeterminate && (\n <Icon className={iconClasses.join(' ')} icon={Icons.Square} />\n )}\n <label htmlFor={`${identifier}-checkbox`}>{determineLabel()}</label>\n </FormSelectorWrapper>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from 'react';\nimport { Icon, Icons } from '../../Icon/Icon';\nimport { Props as HelperProps } from '../FormHelperText/FormHelperText';\nimport classes from './Radio.module.scss';\nimport { useFormSelector } from '../../hooks/useFormSelector';\nimport { FormSelector } from '../form.interfaces';\nimport {\n FormSelectorWrapper,\n Props as FormSelectorWrapperProps,\n} from '../FormSelectorWrapper/FormSelectorWrapper';\n\nexport interface Props extends ComponentPropsWithRef<'input'>, FormSelector {\n children: string;\n value: string;\n formSelectorWrapperProps?: FormSelectorWrapperProps;\n helperProps?: HelperProps;\n}\n\nexport const Radio = React.forwardRef<HTMLInputElement, Props>(\n (\n {\n children,\n disabled,\n className,\n value,\n name,\n helperText,\n parentErrorId,\n parentHelperId,\n error,\n errorMessage,\n checked = false,\n formSelectorWrapperProps,\n helperProps,\n onChange,\n ...rest\n }: Props,\n ref\n ) => {\n const { errorId, identifier, describedBy } = useFormSelector({\n name,\n helperText,\n parentErrorId,\n errorMessage,\n error,\n parentHelperId,\n });\n\n const onChangeHandler = (event: React.ChangeEvent<HTMLInputElement> | React.MouseEvent) => {\n if (disabled) {\n return;\n }\n /** We have to clone the native event we got here and change the \"target\" property to the value. Otherwise, this regular event has \"on\" as it's event.target.value, which is useless. */\n const nativeEvent: any = event.nativeEvent || event;\n const clonedEvent = new nativeEvent.constructor(nativeEvent.type, nativeEvent);\n\n Object.defineProperty(clonedEvent, 'target', {\n writable: true,\n value: { value: value },\n });\n\n onChange && onChange(clonedEvent);\n };\n\n /** Default return value is the default radio */\n return (\n <FormSelectorWrapper\n {...formSelectorWrapperProps}\n className={`${classes['radio-wrapper']} ${className ?? ''}`}\n containerProps={{ className: classes['radio-container'] }}\n helperText={helperText}\n helperProps={helperProps}\n parentErrorId={parentErrorId}\n errorId={errorId}\n errorMessage={errorMessage}\n error={error}\n disabled={disabled}\n identifier={identifier}\n >\n <input\n {...rest}\n ref={ref}\n disabled={disabled}\n tabIndex={0}\n className={`${classes['native-input']} ${error ? classes['error'] : ''}`}\n onChange={onChangeHandler}\n checked={checked}\n aria-invalid={error ? true : false}\n aria-checked={checked}\n aria-describedby={describedBy}\n name={name}\n value={value}\n id={`${identifier}-radio`}\n type=\"radio\"\n />\n\n {checked && (\n <Icon\n className={`${classes['input']} ${disabled ? classes['disabled'] : ''}`}\n icon={Icons.Radio}\n />\n )}\n {!checked && (\n <Icon\n className={`${classes['input']} ${disabled ? classes['disabled'] : ''}`}\n icon={Icons.Circle}\n />\n )}\n\n <label onClick={onChangeHandler} htmlFor={`${identifier}-radio`}>\n {children}\n </label>\n </FormSelectorWrapper>\n );\n }\n);\n","import React, { ComponentPropsWithRef } 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, Props as CheckboxProps } from '../Checkbox/Checkbox';\nimport classes from './Toggle.module.scss';\n\nexport interface Props\n extends ComponentPropsWithRef<'input'>,\n Omit<CheckboxProps, 'indeterminate' | 'errorMessage' | 'error' | 'children' | 'label'> {\n children: string;\n}\n\nexport const Toggle = React.forwardRef<HTMLInputElement, Props>(\n ({ children, checked, disabled, helperProps, ...rest }: Props, ref) => (\n <div className={classes['toggle-wrapper']}>\n <Checkbox\n {...rest}\n ref={ref}\n checked={checked}\n className={classes['checkbox']}\n helperProps={{ className: classes['toggle-helper'], ...helperProps }}\n disabled={disabled}\n label={children}\n >\n <span\n data-toggle\n aria-hidden=\"true\"\n className={`${classes['toggle']} ${checked ? classes['checked'] : ''} ${\n disabled ? classes['disabled'] : ''\n } `}\n ></span>\n </Checkbox>\n </div>\n )\n);\n","import React, { ComponentPropsWithRef, ReactElement } from 'react';\nimport classes from './FormControl.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n children?: ReactElement | ReactElement[];\n grid?: 1 | 2 | 3;\n align?: 'top' | 'start' | 'middle' | 'center' | 'bottom' | 'end' | 'stretch';\n error?: boolean;\n disabled?: boolean;\n}\n\nexport const FormControl = React.forwardRef<HTMLDivElement, Props>(\n ({ children, disabled, error, className, grid, align = 'center', ...rest }: Props, ref) => {\n const renderChildren = () =>\n React.Children.map(children, (child) => {\n if (!child) {\n return null;\n }\n\n const childElement = React.cloneElement(child, {\n disabled: child.props.disabled !== undefined ? child.props.disabled : disabled,\n error: child.props.error !== undefined ? child.props.error : error,\n });\n\n if (grid && grid > 1) {\n return (\n <div className={`${classes['col-' + grid]} ${classes.column}`}>{childElement}</div>\n );\n }\n\n return childElement;\n });\n\n return (\n <div\n {...rest}\n ref={ref}\n data-formcontrol\n className={`${classes['form-control']} ${className ? className : ''} ${\n grid && grid > 1 ? `${classes.grid} ${classes['grid-' + grid]}` : ''\n } ${classes[align]}`}\n >\n {renderChildren()}\n </div>\n );\n }\n);\n","/** The empty className property on FormHelperText is on purpose! We want to basically \"filter\" out the className from helperProps because we're adding this to the surrounding div. This makes it so also the errormessage receives this styling. */\n\nimport React, { ComponentPropsWithRef, ReactChild } from 'react';\nimport classes from './FormGroup.module.scss';\nimport { FormHelperText, Props as HelperProps } from '../FormHelperText/FormHelperText';\nimport { Icon, Icons } from '../../Icon/Icon';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n children: ReactChild[] | ReactChild;\n error?: boolean;\n errorMessageIcon?: Icons;\n errorMessageIconPosition?: 'before' | 'after';\n errorMessage?: string;\n errorId?: string;\n helperIndent?: number;\n helperText?: string;\n helperId?: string;\n helperProps?: HelperProps;\n disabled?: boolean;\n}\n\nexport const FormGroup = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n children,\n className,\n error,\n errorMessage,\n errorId,\n errorMessageIcon,\n errorMessageIconPosition = 'before',\n helperText,\n helperId,\n helperProps,\n helperIndent,\n ...rest\n }: Props,\n ref\n ) => {\n return (\n <div\n {...rest}\n ref={ref}\n className={`${classes['form-group']} ${error ? classes.error : ''} ${className ?? ''}`}\n >\n {children}\n\n {(helperText || (errorMessage && error)) && (\n <div\n style={{ marginLeft: `${helperIndent}px` }}\n className={`${classes['default-helper']} ${\n helperProps?.className ? helperProps.className : ''\n }`}\n >\n {helperText && !error && (\n <FormHelperText {...helperProps} className={''} id={helperId}>\n {(helperProps && helperProps.children) || helperText}\n </FormHelperText>\n )}\n {error && errorMessage && (\n <span className={classes['error-message']}>\n <span className={classes.message} id={errorId}>\n {errorMessageIcon && errorMessageIconPosition === 'before' && (\n <Icon\n className={`${classes['error-icon']} ${classes['error-icon-before']}`}\n icon={errorMessageIcon}\n />\n )}\n {errorMessage}\n {errorMessageIcon && errorMessageIconPosition === 'after' && (\n <Icon\n className={`${classes['error-icon']} ${classes['error-icon-after']}`}\n icon={errorMessageIcon}\n />\n )}\n </span>\n </span>\n )}\n </div>\n )}\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactElement } from 'react';\nimport { FormGroup, Props as FormGroupProps } from '../../FormGroup/FormGroup';\nimport { Label, Props as LabelProps } from '../../Label/Label';\nimport classes from './Wrapper.module.scss';\nimport { Props as HelperProps } from '../../FormHelperText/FormHelperText';\nimport { FormElement } from '../../form.interfaces';\n\nexport interface Props extends ComponentPropsWithRef<'div'>, FormGroupProps {\n children: ReactElement | ReactElement[];\n floatingLabelActive?: boolean;\n floatingLabel?: boolean;\n helperIndent?: number;\n label?: string;\n labelProps?: LabelProps;\n name: string;\n /** This does NOT add validation! It simply adds an asterix on the Label! */\n required?: boolean;\n innerClassName?: string;\n}\n\n/** For components that extend this component we create an interface (InputWrapper, SelectWrapper, etc.) */\nexport interface WrapperProps extends FormElement {\n errorMessage?: string;\n helperText?: string;\n helperProps?: HelperProps;\n label?: string;\n name: string;\n required?: boolean;\n disabled?: boolean;\n}\n\nexport const Wrapper = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n children,\n className,\n error,\n errorMessage,\n errorId,\n errorMessageIcon,\n errorMessageIconPosition,\n helperText,\n helperId,\n floatingLabel = true,\n floatingLabelActive,\n required,\n helperProps,\n helperIndent,\n labelProps,\n label,\n disabled,\n name,\n innerClassName,\n ...rest\n }: Props,\n ref\n ) => {\n const renderChildren = () =>\n React.Children.map(children, (child) =>\n React.cloneElement(child, {\n disabled,\n })\n );\n\n const labelClasses = [];\n\n floatingLabel && labelClasses.push(classes['floating-label']);\n floatingLabel && floatingLabelActive && labelClasses.push(classes['floating-label-active']);\n labelProps?.className && labelClasses.push(labelProps.className);\n required && labelClasses.push(classes['required']);\n error && labelClasses.push(classes['error']);\n\n return (\n <div {...rest} ref={ref} className={`${classes.wrapper} ${className ? className : ''}`}>\n <FormGroup\n error={error}\n errorMessage={errorMessage}\n errorId={errorId}\n errorMessageIcon={errorMessageIcon}\n errorMessageIconPosition={errorMessageIconPosition}\n helperText={helperText}\n helperId={helperId}\n helperProps={helperProps}\n helperIndent={helperIndent}\n >\n <div\n className={`${floatingLabel ? classes['floating-wrapper'] : ''} ${\n innerClassName ? innerClassName : ''\n }`}\n >\n {label && (\n <Label\n {...labelProps}\n className={`${classes.label} ${labelClasses.join(' ')}`}\n htmlFor={name}\n >\n {label}\n </Label>\n )}\n {renderChildren()}\n </div>\n </FormGroup>\n </div>\n );\n }\n);\n","import { useEffect, useState } from 'react';\nimport { generateID } from '../util/helper';\nimport { Type as InputTypes } from '../Form/Input/Input';\n\nexport const useWrapper = (value?: string, placeholder?: string, type?: InputTypes) => {\n const [helperId] = useState(generateID(20));\n const [errorId] = useState(generateID(20));\n const [labelId] = useState(generateID(20));\n const [floatingLabelActive, setFloatingLabelActive] = useState(false);\n const [hasFocus, setHasFocus] = useState(false);\n\n useEffect(() => {\n if (\n (value?.length && value.length > 0) ||\n placeholder ||\n type === 'datetime-local' ||\n type === 'time'\n ) {\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?: (event: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement>) => void;\n}\n\nexport const SelectWrapper = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n children,\n error,\n value,\n placeholder,\n selectProps,\n helperProps,\n onChange,\n onClear,\n ...rest\n }: Props,\n ref\n ) => {\n const { errorId, floatingLabelActive, helperId, labelId } = useWrapper(value, placeholder);\n\n return (\n <Wrapper\n {...rest}\n ref={ref}\n floatingLabelActive={floatingLabelActive}\n errorId={errorId}\n helperId={helperId}\n labelProps={{ id: labelId, className: classes['select-label'] }}\n helperProps={{\n ...helperProps,\n className: `${classes['select-helper-text']} ${helperProps?.className ?? ''}`,\n }}\n error={error}\n >\n <Select\n {...selectProps}\n value={value}\n labeledBy={labelId}\n error={error}\n describedBy={error ? errorId : helperId}\n onChange={onChange}\n onClear={(e) => {\n onClear && onClear(e);\n }}\n placeholder={placeholder}\n className={`${floatingLabelActive ? classes['floating-label-active'] : ''} ${\n selectProps?.className ?? ''\n }`}\n >\n {children as ReactElement[]}\n </Select>\n </Wrapper>\n );\n }\n);\n","import React, { ComponentPropsWithRef, useState } from 'react';\nimport classes from './TextareaWrapper.module.scss';\nimport { Wrapper, WrapperProps } from '../Wrapper/Wrapper';\nimport { Textarea, Props as TextareaProps } from '../../Textarea/Textarea';\nimport { useWrapper } from '../../../hooks/useWrapper';\n\nexport interface Props\n extends Omit<\n ComponentPropsWithRef<'div'>,\n 'onFocus' | 'onChange' | 'onBlur' | 'onMouseEnter' | 'onMouseLeave'\n >,\n Omit<WrapperProps, 'onFocus' | 'onChange' | 'onBlur' | 'onMouseEnter' | 'onMouseLeave'> {\n placeholder?: string;\n textareaProps?: TextareaProps;\n value: string;\n onFocus?: (event: React.FocusEvent<HTMLTextAreaElement>) => void;\n onChange?: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;\n onBlur?: (event: React.FocusEvent<HTMLTextAreaElement>) => void;\n onMouseEnter?: (event: React.MouseEvent<HTMLTextAreaElement>) => void;\n onMouseLeave?: (event: React.MouseEvent<HTMLTextAreaElement>) => void;\n}\n\nexport const TextareaWrapper = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n name,\n error,\n value,\n label,\n placeholder,\n textareaProps,\n helperProps,\n onChange,\n onFocus,\n onBlur,\n onMouseEnter,\n onMouseLeave,\n disabled,\n ...rest\n }: Props,\n ref\n ) => {\n const {\n errorId,\n floatingLabelActive,\n setFloatingLabelActive,\n hasFocus,\n setHasFocus,\n helperId,\n labelId,\n } = useWrapper(value, placeholder);\n const [hover, setHover] = useState(false);\n\n const optionalClasses: string[] = [];\n\n hasFocus && optionalClasses.push(classes['focus']);\n hover && optionalClasses.push(classes['hover']);\n disabled && optionalClasses.push(classes['disabled']);\n error && optionalClasses.push(classes['error']);\n\n return (\n <Wrapper\n {...rest}\n ref={ref}\n disabled={disabled}\n labelProps={{\n id: labelId,\n className: `${classes['textarea-label']} ${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, { HTMLProps, ReactNode } from 'react';\nimport classes from './Form.module.scss';\n\nexport interface Props extends HTMLProps<HTMLFormElement> {\n children?: ReactNode;\n}\n\nexport const Form = ({ children, className, ...rest }: Props) => {\n return (\n <form className={`${classes.form} ${className ?? ''}`} {...rest}>\n {children}\n </form>\n );\n};\n","import React, { ComponentPropsWithRef, ReactElement, useEffect } from 'react';\nimport classes from './RadioWrapper.module.scss';\nimport { Wrapper, WrapperProps } from '../Wrapper/Wrapper';\nimport { useWrapper } from '../../../hooks/useWrapper';\nimport { Icons } from '../../../Icon/Icon';\nimport { Fieldset, Props as FieldsetProps } from '../../../Form/Fieldset/Fieldset';\n\nexport interface Props extends ComponentPropsWithRef<'div'>, WrapperProps {\n children: ReactElement | ReactElement[];\n fieldsetProps: FieldsetProps;\n value: string;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const RadioWrapper = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n children,\n error,\n name,\n helperText,\n helperProps,\n fieldsetProps,\n value,\n onChange,\n disabled,\n ...rest\n }: Props,\n ref\n ) => {\n const { errorId, helperId } = useWrapper(value);\n\n useEffect(() => {\n if (fieldsetProps.legend === undefined) {\n console.error(\n `You should give your Fieldset component a legend prop so a legend element is rendered. This error was thrown in RadioWrapper. You can add this legend prop through the fieldsetProps prop by passing an object (fieldsetProps={{ legend: \"legend here\" }})`\n );\n }\n }, []);\n\n const renderChildren = () =>\n React.Children.map(children, (child) =>\n React.cloneElement(child, {\n parentErrorId: errorId,\n error: error,\n checked: child.props.value === value,\n name: name,\n parentHelperId: helperText ? helperId : false,\n onChange: onChange,\n disabled: child.props.disabled !== undefined ? child.props.disabled : disabled,\n })\n );\n\n return (\n <Fieldset {...fieldsetProps} error={error} disabled={disabled}>\n <Wrapper\n {...rest}\n ref={ref}\n disabled={disabled}\n name={name}\n helperId={helperId}\n helperText={helperText}\n helperProps={{\n ...helperProps,\n className: `${classes['radio-wrapper-helper']} ${\n error ? classes['radio-wrapper-error'] : ''\n } ${helperProps?.className ?? ''}`,\n }}\n error={error}\n errorId={errorId}\n errorMessageIcon={Icons.Error}\n floatingLabel={false}\n >\n {renderChildren()}\n </Wrapper>\n </Fieldset>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactElement, useEffect } from 'react';\nimport classes from './CheckboxWrapper.module.scss';\nimport { useWrapper } from '../../../hooks/useWrapper';\nimport { Wrapper, WrapperProps } from '../Wrapper/Wrapper';\nimport { Icons } from '../../../Icon/Icon';\nimport { Fieldset, Props as FieldsetProps } from '../../../Form/Fieldset/Fieldset';\n\nexport interface Props extends ComponentPropsWithRef<'div'>, WrapperProps {\n children: ReactElement[] | ReactElement;\n fieldsetProps: FieldsetProps;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const CheckboxWrapper = React.forwardRef<HTMLDivElement, Props>(\n ({ children, error = false, helperText, helperProps, fieldsetProps, ...rest }: Props, ref) => {\n const { errorId, helperId } = useWrapper();\n\n useEffect(() => {\n if (fieldsetProps.legend === undefined) {\n console.error(\n `You should give your Fieldset component a legend prop so a legend element is rendered. This error was thrown in CheckboxWrapper. You can add this legend prop through the fieldsetProps prop by passing an object (fieldsetProps={{ legend: \"legend here\" }})`\n );\n }\n }, []);\n\n const renderChildren = () =>\n React.Children.map(children, (child) =>\n React.cloneElement(child, {\n parentErrorId: errorId,\n error: error,\n parentHelperId: helperText ? helperId : false,\n disabled: rest.disabled,\n })\n );\n\n return (\n <Fieldset {...fieldsetProps} error={error} required={rest.required}>\n <Wrapper\n {...rest}\n ref={ref}\n label=\"\"\n helperId={helperId}\n helperText={helperText}\n helperProps={{\n ...helperProps,\n className: `${classes['checkbox-wrapper-helper']} ${\n error ? classes['checkbox-wrapper-error'] : ''\n } ${helperProps?.className ?? ''}`,\n }}\n error={error}\n errorMessageIcon={Icons.Error}\n errorId={errorId}\n >\n {renderChildren()}\n </Wrapper>\n </Fieldset>\n );\n }\n);\n","import { Reducer } from 'react';\nimport { Step } from './BaseWizardSteps/BaseWizardSteps';\nimport { WizardMode } from './Wizard';\n\ntype WizardStateType = {\n steps: Step[];\n currentStepNo: number;\n mode: WizardMode;\n stepScreenReaderLabel: string;\n};\n\ninterface SetWizardStateAction {\n type: 'SET_STATE';\n payload: {\n steps: Step[];\n mode: WizardMode;\n stepScreenReaderLabel: string;\n };\n}\n\ninterface ChangeCurrentStepNoAction {\n type: 'CHANGE_CURRENT_STEP_NO';\n payload: number;\n}\n\nconst setWizardState = (\n steps: Step[],\n mode: WizardMode,\n stepScreenReaderLabel: string\n): SetWizardStateAction => {\n return { type: 'SET_STATE', payload: { steps, mode, stepScreenReaderLabel } };\n};\n\nconst changeCurrentStepNo = (currentStepNo: number): ChangeCurrentStepNoAction => {\n return { type: 'CHANGE_CURRENT_STEP_NO', payload: currentStepNo };\n};\n\ntype WizardActions = SetWizardStateAction | ChangeCurrentStepNoAction;\n\nconst reducer: Reducer<WizardStateType, WizardActions> = (state, action) => {\n switch (action.type) {\n case 'SET_STATE':\n return { ...state, ...action.payload };\n case 'CHANGE_CURRENT_STEP_NO':\n return { ...state, currentStepNo: action.payload };\n default:\n return state;\n }\n};\n\nexport { setWizardState, changeCurrentStepNo, reducer, WizardActions, WizardStateType };\n","import React, { createContext, Dispatch, useReducer } from 'react';\nimport { WizardActions, WizardStateType, reducer } from './wizardStateReducer';\n\nconst WizardStateContext = createContext<{\n state: WizardStateType;\n dispatch: Dispatch<WizardActions>;\n}>({\n state: {} as WizardStateType,\n dispatch: () => null,\n});\n\nexport interface Props {\n initialState: WizardStateType;\n children?: React.ReactNode;\n}\n\nconst WizardStateProvider = ({ children, initialState }: Props) => {\n const [state, dispatch] = useReducer(reducer, initialState);\n return (\n <WizardStateContext.Provider value={{ state, dispatch }}>\n {children}\n </WizardStateContext.Provider>\n );\n};\n\nexport { WizardStateProvider, WizardStateContext };\n","import React, { Fragment, useContext, useEffect } from 'react';\nimport { Step } from './BaseWizardSteps/BaseWizardSteps';\nimport { WizardStateContext, WizardStateProvider } from './WizardStateProvider';\nimport { setWizardState } from './wizardStateReducer';\n\nexport type WizardMode = 'add' | 'edit';\n\nexport interface Props {\n steps: Step[];\n mode: WizardMode;\n initialStepNo?: number;\n onStepChange: (stepNo: number) => void;\n stepScreenReaderLabel: string;\n children: React.ReactNode;\n}\n\nconst useSetWizardState = (steps: Step[], mode: WizardMode, stepScreenReaderLabel: string) => {\n const { dispatch } = useContext(WizardStateContext);\n\n useEffect(() => {\n dispatch(setWizardState(steps, mode, stepScreenReaderLabel));\n }, [steps, mode, stepScreenReaderLabel]);\n};\n\nconst useStepChanging = (onStepChange: (stepNo: number) => void) => {\n const {\n state: { currentStepNo },\n } = useContext(WizardStateContext);\n\n useEffect(() => {\n onStepChange(currentStepNo);\n }, [currentStepNo]);\n};\n\nconst WizardContent = ({ steps, mode, stepScreenReaderLabel, onStepChange, children }: Props) => {\n useSetWizardState(steps, mode, stepScreenReaderLabel);\n useStepChanging(onStepChange);\n\n return <Fragment>{children}</Fragment>;\n};\n\nexport const Wizard = (props: Props) => {\n const { steps, initialStepNo: currentStepNo = 0, mode, stepScreenReaderLabel } = props;\n return (\n <WizardStateProvider initialState={{ steps, currentStepNo, mode, stepScreenReaderLabel }}>\n <WizardContent {...props} />\n </WizardStateProvider>\n );\n};\n","import React, { Fragment, useContext, useMemo } from 'react';\nimport { Button } from '../../Button/Button';\nimport { Step } from '../BaseWizardSteps/BaseWizardSteps';\nimport { WizardMode } from '../Wizard';\nimport { WizardStateContext } from '../WizardStateProvider';\nimport { changeCurrentStepNo } from '../wizardStateReducer';\n\nexport interface Props extends React.HTMLProps<HTMLDivElement> {\n cancelButtonLabel: string;\n previousButtonLabel: string;\n nextButtonLabel: string;\n saveAndCloseButtonLabel: string;\n onCancel: () => void;\n onNext: (currentStepNo: number) => boolean;\n onPrevious?: () => void;\n onSaveAndClose: (currentStepNo: number) => void;\n}\n\nconst calculateNextStepNo = (steps: Step[], currentStepNo: number) => () =>\n steps.findIndex((step, stepNo) => stepNo > currentStepNo && !step.disabled);\n\nconst calculatePrevStepNo = (steps: Step[], currentStepNo: number) => () => {\n const reversedCurrentStepNo = steps.length - 1 - currentStepNo;\n const reversedPrevStepNo = [...steps]\n .reverse()\n .findIndex((step, stepNo) => stepNo > reversedCurrentStepNo && !step.disabled);\n if (reversedPrevStepNo > 0) {\n return steps.length - 1 - reversedPrevStepNo;\n }\n return -1;\n};\n\nconst useNextStepNo = (mode: WizardMode, currentStepNo: number, steps: Step[]) =>\n useMemo(calculateNextStepNo(steps, currentStepNo), [mode, currentStepNo, steps]);\n\nconst usePreviousStepNo = (mode: WizardMode, currentStepNo: number, steps: Step[]) =>\n useMemo(calculatePrevStepNo(steps, currentStepNo), [mode, currentStepNo, steps]);\n\nexport const WizardActions = ({\n onCancel,\n onNext,\n onPrevious,\n onSaveAndClose,\n cancelButtonLabel,\n previousButtonLabel,\n nextButtonLabel,\n saveAndCloseButtonLabel,\n}: Props) => {\n const {\n state: { mode, steps, currentStepNo },\n dispatch,\n } = useContext(WizardStateContext);\n const nextStepNo = useNextStepNo(mode, currentStepNo, steps);\n const hasNextStep = nextStepNo !== -1;\n const previousStepNo = usePreviousStepNo(mode, currentStepNo, steps);\n const hasPreviousStep = previousStepNo !== -1;\n const isLastStepOrEditMode = !hasNextStep || mode === 'edit';\n\n const changeStepNo = (direction: 'forward' | 'backward') => {\n if (direction === 'forward') {\n hasNextStep && dispatch(changeCurrentStepNo(nextStepNo));\n } else {\n hasPreviousStep && dispatch(changeCurrentStepNo(previousStepNo));\n }\n };\n\n const onNextWrapper = () => {\n onNext(currentStepNo) && changeStepNo('forward');\n };\n\n const onPreviousWrapper = () => {\n onPrevious && onPrevious();\n changeStepNo('backward');\n };\n\n const onSaveAndCloseWrapper = () => {\n onSaveAndClose(currentStepNo);\n };\n\n return (\n <Fragment>\n <Button variant=\"text\" onClick={onCancel}>\n {cancelButtonLabel}\n </Button>\n {hasPreviousStep && (\n <Button variant=\"outline\" onClick={onPreviousWrapper}>\n {previousButtonLabel}\n </Button>\n )}\n {hasNextStep && (\n <Button variant={mode === 'edit' ? 'outline' : 'fill'} onClick={onNextWrapper}>\n {nextButtonLabel}\n </Button>\n )}\n {isLastStepOrEditMode && (\n <Button onClick={onSaveAndCloseWrapper}>{saveAndCloseButtonLabel}</Button>\n )}\n </Fragment>\n );\n};\n","import React, { ComponentPropsWithRef, Fragment } from 'react';\nimport classes from './BaseWizardSteps.module.scss';\nimport readyclasses from '../../readyclasses.module.scss';\nimport { Icon, Icons } from '../../Icon/Icon';\n\ntype StepState = 'finished' | 'current' | 'future';\n\nexport interface Step {\n label: string;\n disabled?: boolean;\n}\n\nexport interface Props extends Omit<ComponentPropsWithRef<'div'>, 'onClick'> {\n steps: Step[];\n currentStepNo: number;\n onClick?: (stepNo: number) => void;\n futureStepsClickable?: boolean;\n stepScreenReaderLabel: string;\n}\n\nexport const BaseWizardSteps = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n steps,\n currentStepNo,\n onClick,\n futureStepsClickable = false,\n stepScreenReaderLabel,\n ...rest\n }: Props,\n ref\n ) => {\n const getStepState = (stepNo: number): StepState => {\n if (currentStepNo === stepNo) {\n return 'current';\n } else if (stepNo < currentStepNo) {\n return 'finished';\n }\n return 'future';\n };\n\n const getStepContent = (stepState: StepState, index: number, disabled?: boolean) => {\n const stepNumberString = String(index + 1);\n if (stepState === 'finished') {\n return disabled ? null : <Icon className={classes['checkmark']} icon={Icons.Checkmark} />;\n } else {\n return (\n <Fragment>\n <span className={readyclasses['sr-only']}>{stepScreenReaderLabel} </span>\n {stepNumberString}\n </Fragment>\n );\n }\n };\n\n const generatedSteps = steps.map((step, index) => {\n const stepState = getStepState(index);\n const disabledStyleClassName = step.disabled ? classes['disabled'] : '';\n const clickableClassName = futureStepsClickable ? classes['clickable'] : '';\n\n return (\n <button\n key={step.label.toLowerCase().replace(/\\s/, '-')}\n disabled={\n step.disabled ||\n (stepState === 'future' && !futureStepsClickable) ||\n stepState === 'current'\n }\n aria-current={stepState === 'current' ? 'step' : undefined}\n onClick={() => onClick && onClick(index)}\n className={`${classes['wizard-element']} ${classes[stepState]} ${clickableClassName} ${disabledStyleClassName}`}\n >\n <div className={classes['number-wrapper']}>\n <span className={classes['number']}>\n {getStepContent(stepState, index, step.disabled)}\n </span>\n </div>\n <div className={classes['two-line-text-overflow']}>\n <span className={classes['label']}>{step.label}</span>\n </div>\n </button>\n );\n });\n\n return (\n <div {...rest} ref={ref} className={classes['wizard']}>\n {generatedSteps}\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef, useContext } from 'react';\nimport { WizardStateContext } from '../WizardStateProvider';\nimport { BaseWizardSteps } from '../BaseWizardSteps/BaseWizardSteps';\nimport { changeCurrentStepNo } from '../wizardStateReducer';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n onStepClick: (currentStepNo: number, selectedStepNo: number) => boolean;\n}\n\nexport const WizardSteps = React.forwardRef<HTMLDivElement, Props>(\n ({ onStepClick, ...rest }: Props, ref) => {\n const {\n state: { currentStepNo, mode, stepScreenReaderLabel, steps },\n dispatch,\n } = useContext(WizardStateContext);\n\n const onClick = (selectedStepNo: number) => {\n onStepClick(currentStepNo, selectedStepNo) && dispatch(changeCurrentStepNo(selectedStepNo));\n };\n\n return (\n <BaseWizardSteps\n {...rest}\n ref={ref}\n onClick={onClick}\n steps={steps}\n currentStepNo={currentStepNo}\n stepScreenReaderLabel={stepScreenReaderLabel}\n futureStepsClickable={mode === 'edit'}\n />\n );\n }\n);\n","import React, { ComponentPropsWithRef, Fragment } from 'react';\nimport { Icon, Icons } from '../../Icon/Icon';\nimport { ColumnName, Direction } from '../datagrid.interfaces';\nimport classes from './DataGridHeaderCell.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<'th'> {\n headline: string;\n name: ColumnName;\n disableSorting?: boolean;\n activeSortDirection?: Direction;\n onSort?: (name: ColumnName) => void;\n}\n\nconst ariaSortMapping = {\n ASC: 'ascending',\n DESC: 'descending',\n} as const;\n\nexport const DataGridHeaderCell = React.forwardRef<HTMLTableCellElement, Props>(\n ({ headline, name, disableSorting, activeSortDirection, onSort, ...rest }: Props, ref) => {\n const onCellClick = () => {\n onSort && onSort(name);\n };\n\n const sortingIndicator = () => {\n const getSortingIndicatorClasses = (direction: Direction) => {\n const sortingIndicatorClasses = [classes['indicator']];\n activeSortDirection &&\n sortingIndicatorClasses.push(\n activeSortDirection === direction ? classes['active'] : classes['hidden']\n );\n return sortingIndicatorClasses;\n };\n\n return (\n <Fragment>\n <Icon className={getSortingIndicatorClasses('ASC').join(' ')} icon={Icons.TriangleUp} />\n <Icon\n className={getSortingIndicatorClasses('DESC').join(' ')}\n icon={Icons.TriangleDown}\n />\n </Fragment>\n );\n };\n\n const innerContent = (\n <Fragment>\n <span className={classes['headline']}>{headline}</span>\n {!disableSorting && (\n <div className={classes['sorting-indicator-container']}>{sortingIndicator()}</div>\n )}\n </Fragment>\n );\n\n return (\n <th\n {...rest}\n ref={ref}\n className={classes['header-cell']}\n aria-sort={activeSortDirection && ariaSortMapping[activeSortDirection]}\n >\n {disableSorting ? (\n <div key={name}>{innerContent}</div>\n ) : (\n <button key={name} onClick={onCellClick}>\n {innerContent}\n </button>\n )}\n </th>\n );\n }\n);\n","import React, { ComponentPropsWithRef, useEffect, useState } from 'react';\nimport { ColumnName, Direction, HeaderCell, OnSortFunction, Sort } from '../datagrid.interfaces';\nimport { DataGridHeaderCell } from './DataGridHeaderCell';\nimport classes from './DataGridHeader.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<'thead'> {\n headers: HeaderCell[];\n initialSort?: Sort;\n onSort?: OnSortFunction;\n disableContextMenuColumn?: boolean;\n enableMultiSorting?: boolean;\n}\n\nconst sortingStates = [undefined, 'ASC', 'DESC'] as (Direction | undefined)[];\n\nexport const DataGridHeader = React.forwardRef<HTMLTableSectionElement, Props>(\n (\n { initialSort, onSort, headers, disableContextMenuColumn, enableMultiSorting, ...rest }: Props,\n ref\n ) => {\n const [sortList, setSortList] = useState(initialSort || []);\n\n useEffect(() => {\n setSortList(initialSort || []);\n }, [initialSort]);\n\n const calculateNextSortState = (direction?: Direction) => {\n const currentDirectionIdx = sortingStates.findIndex((item) => item === direction);\n return sortingStates[currentDirectionIdx + (1 % sortingStates.length)];\n };\n\n /**\n * The sortList contains sorting columns objects. The order of those objects determinates priorities of sorting.\n * Last modified sorting column has the highest priority.\n */\n const updateSortList = (name: ColumnName): Sort => {\n const current = sortList.find((item) => item.name === name);\n const restSortList = enableMultiSorting ? sortList.filter((item) => item.name !== name) : [];\n const newSortDirection = calculateNextSortState(current?.direction);\n return newSortDirection\n ? [{ name, direction: newSortDirection }, ...restSortList]\n : restSortList;\n };\n\n const wrapOnSort = (name: ColumnName) => {\n const newSort = updateSortList(name);\n onSort && onSort(newSort);\n setSortList(newSort);\n };\n\n const headerCells = headers.map((header) => {\n if (header.hidden) {\n return null;\n }\n\n const sort = sortList.find((item) => item.name === header.name);\n return (\n <DataGridHeaderCell\n key={header.name}\n name={header.name}\n headline={header.headline}\n disableSorting={header.disableSorting || !onSort}\n onSort={wrapOnSort}\n activeSortDirection={sort?.direction}\n />\n );\n });\n\n return (\n <thead {...rest} ref={ref} className={classes['thead']}>\n <tr className={classes['row']}>\n {headerCells}\n {!disableContextMenuColumn && (\n <td aria-label=\"context menu\" className={classes['context-menu']}></td>\n )}\n </tr>\n </thead>\n );\n }\n);\n","import React, { Fragment, useState } from 'react';\nimport { IconButton } from '../../Button/IconButton';\nimport { Toggle } from '../../Form/Toggle/Toggle';\nimport { Icon, Icons } from '../../Icon/Icon';\nimport { Popover, Props as PopoverProps } from '../../Popover/Popover';\nimport { Typography } from '../../Typography/Typography';\nimport { generateID } from '../../util/helper';\nimport { ColumnName, HeaderCell } from '../datagrid.interfaces';\nimport classes from './DataGridColumnsToggle.module.scss';\nimport { createPortal } from 'react-dom';\n\nexport interface Props extends PopoverProps {\n open: boolean;\n headers: HeaderCell[];\n titleLabel?: string;\n closeButtonTitle?: string;\n onClose: () => void;\n onToggleClicked: (colName: ColumnName) => void;\n domRoot?: HTMLElement;\n}\n\nexport const DataGridColumnsToggle = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n open,\n headers,\n titleLabel = 'Show columns',\n closeButtonTitle = 'Close show columns dialog',\n onClose,\n onToggleClicked,\n className,\n domRoot = document.body,\n ...rest\n }: Props,\n ref\n ) => {\n const [id] = useState(generateID());\n const labelledId = id + '_header';\n\n const toggles = headers.map((item) => (\n <Toggle\n key={item.name}\n name={item.name}\n checked={!item.hidden}\n onChange={() => onToggleClicked(item.name)}\n >\n {item.headline}\n </Toggle>\n ));\n\n const handleBackdropClick = () => onClose();\n\n return (\n <Popover\n {...rest}\n ref={ref}\n className={`${classes['popover']} ${className}`}\n show={open}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={labelledId}\n >\n {open &&\n createPortal(\n <div className={classes['backdrop']} onClick={handleBackdropClick}></div>,\n domRoot\n )}\n {open && (\n <Fragment>\n <div className={classes['header']}>\n <Typography id={labelledId} className={classes['title']} tag=\"span\" variant=\"h4\">\n {titleLabel}\n </Typography>\n <IconButton\n onClick={onClose}\n className={`${classes['close-btn']}`}\n title={closeButtonTitle}\n >\n <Icon icon={Icons.Times} />\n </IconButton>\n </div>\n <div className={classes['content']}>{toggles}</div>\n </Fragment>\n )}\n </Popover>\n );\n }\n);\n","import React, { ComponentPropsWithRef, Fragment, useRef, useState } from 'react';\nimport { Button, Props as ButtonProps } from '../../Button/Button';\nimport { IconButton } from '../../Button/IconButton';\nimport { Icon, Icons } from '../../Icon/Icon';\nimport { HeaderCell, ColumnName } from '../datagrid.interfaces';\nimport classes from './DataGridActions.module.scss';\nimport { DataGridColumnsToggle } from './DataGridColumnsToggle';\n\nexport interface Props extends ComponentPropsWithRef<'div'> {\n enableAddBtn?: boolean;\n enableColumnsBtn?: boolean;\n enableSearchBtn?: boolean;\n addBtnProps?: ButtonProps;\n columnsBtnProps?: ButtonProps;\n searchBtnProps?: ButtonProps;\n headers: HeaderCell[];\n onColumnToggled: (colName: ColumnName) => void;\n}\n\nexport const DataGridActions = React.forwardRef<HTMLDivElement, Props>(\n (\n {\n className,\n enableAddBtn,\n enableColumnsBtn,\n enableSearchBtn,\n addBtnProps = {},\n columnsBtnProps = {},\n searchBtnProps = {},\n headers,\n onColumnToggled,\n ...rest\n }: Props,\n ref\n ) => {\n const isHidden = !(enableAddBtn || enableColumnsBtn || enableSearchBtn);\n const [showColsPopover, setShowColsPopover] = useState(false);\n const showColumnBtn = useRef<HTMLButtonElement>(null);\n\n return isHidden ? null : (\n <div {...rest} ref={ref} className={`${classes['actions']} ${className ?? ''}`}>\n <div className={classes['left-actions']}>\n {enableAddBtn && (\n <Button\n color=\"primary\"\n startIcon={<Icon icon={Icons.Plus} />}\n title=\"Add item\"\n type=\"button\"\n variant=\"outline\"\n children=\"Add item\"\n {...addBtnProps}\n />\n )}\n </div>\n <div className={classes['right-actions']}>\n {enableColumnsBtn && (\n <Fragment>\n <Button\n startIcon={<Icon icon={Icons.Change} />}\n title=\"Show/hide columns\"\n variant=\"text\"\n children=\"Columns\"\n {...columnsBtnProps}\n className={`${classes['desktop']} ${columnsBtnProps?.className ?? ''}`}\n ref={showColumnBtn}\n onClick={() => setShowColsPopover(true)}\n />\n <IconButton\n title=\"Show/hide columns\"\n {...columnsBtnProps}\n onClick={() => setShowColsPopover(true)}\n className={`${classes['mobile']} ${columnsBtnProps?.className ?? ''}`}\n >\n <Icon icon={Icons.Change} />\n </IconButton>\n <DataGridColumnsToggle\n aria-hidden={!showColsPopover}\n open={showColsPopover}\n headers={headers}\n onClose={() => setShowColsPopover(false)}\n onToggleClicked={onColumnToggled}\n anchorEl={showColumnBtn}\n />\n </Fragment>\n )}\n {enableSearchBtn && (\n <Fragment>\n <Button\n startIcon={<Icon icon={Icons.TableSearch} />}\n title=\"Search\"\n variant=\"text\"\n children=\"Search\"\n {...searchBtnProps}\n className={`${classes['desktop']} ${searchBtnProps?.className ?? ''}`}\n />\n <IconButton\n title=\"Search\"\n {...searchBtnProps}\n className={`${classes['mobile']} ${columnsBtnProps?.className ?? ''}`}\n >\n <Icon icon={Icons.TableSearch} />\n </IconButton>\n </Fragment>\n )}\n </div>\n </div>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactChild } from 'react';\nimport { Typography } from '../../Typography/Typography';\nimport classes from './DataGridCell.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<'td'> {\n children?: ReactChild;\n isLoading?: boolean;\n}\n\nexport const DataGridCell = React.forwardRef<HTMLTableCellElement, Props>(\n ({ children, className, isLoading, ...rest }: Props, ref) => {\n return (\n <td {...rest} ref={ref} className={`${classes['cell']} ${className ?? ''}`}>\n {isLoading && (\n <div className={classes['loading']} aria-busy=\"true\" aria-live=\"polite\"></div>\n )}\n {!isLoading && (\n <Typography variant=\"body\" tag=\"span\">\n {children}\n </Typography>\n )}\n </td>\n );\n }\n);\n","import React, { ComponentPropsWithRef } from 'react';\nimport { HeaderCell } from '../datagrid.interfaces';\nimport classes from './DataGridRow.module.scss';\n\nexport interface Props extends ComponentPropsWithRef<'tr'> {\n headers?: HeaderCell[];\n isLoading?: boolean;\n}\n\nexport const DataGridRow = React.forwardRef<HTMLTableRowElement, Props>(\n ({ children, className, headers, isLoading, ...rest }: Props, ref) => {\n const visibleCells = React.Children.map(children, (child, index) => {\n const visible = headers?.length! > index ? !headers![index].hidden : true;\n return visible && child;\n });\n\n const classNames = [classes['row']];\n className && classNames.push(className);\n isLoading && classNames.push(classes['loading']);\n\n return (\n <tr {...rest} ref={ref} className={classNames.join(' ')}>\n {visibleCells}\n </tr>\n );\n }\n);\n","import React, { ComponentPropsWithRef, ReactElement, Ref } from 'react';\nimport { HeaderCell } from '../datagrid.interfaces';\nimport { DataGridCell } from './DataGridCell';\nimport { DataGridRow } from './DataGridRow';\nimport classes from './DataGridBody.module.scss';\nimport { Typography } from '../../Typography/Typography';\n\nexport interface Props<T> extends ComponentPropsWithRef<'tbody'> {\n children: ({ item, index }: { item: T; index: number }) => ReactElement;\n data?: T[];\n headers: HeaderCell[];\n isLoading?: boolean;\n disableContextMenuColumn?: boolean;\n emptyLabel?: string;\n}\n\nconst skeletonLoadingRows = 9;\n\nconst DataGridBodyInner = <T extends {}>(\n { children, data, headers, isLoading, disableContextMenuColumn, emptyLabel, ...rest }: Props<T>,\n ref: Ref<HTMLTableSectionElement>\n) => {\n const renderContent = () => {\n const visibleColumns = headers.filter((header) => !header.hidden).length;\n if (isLoading) {\n return Array.from(Array(skeletonLoadingRows)).map((_, rowIdx) => (\n <DataGridRow key={rowIdx} isLoading>\n {Array.from(Array(visibleColumns)).map((__, colIdx) => (\n <DataGridCell key={colIdx} isLoading></DataGridCell>\n ))}\n {!disableContextMenuColumn && <DataGridCell></DataGridCell>}\n </DataGridRow>\n ));\n }\n\n const emptyData = !data || data.length === 0;\n if (emptyData) {\n return (\n <tr>\n <td\n className={classes['empty']}\n colSpan={visibleColumns + (disableContextMenuColumn ? 0 : 1)}\n >\n <Typography variant=\"body\" spacing={{ margin: 0 }}>\n {emptyLabel}\n </Typography>\n </td>\n </tr>\n );\n }\n\n return data?.map((item, index) => React.cloneElement(children({ item, index }), { headers }));\n };\n\n return (\n <tbody {...rest} ref={ref}>\n {renderContent()}\n </tbody>\n );\n};\n\nexport const DataGridBody = React.forwardRef(DataGridBodyInner) as <T extends {}>(\n p: Props<T> & { ref?: Ref<HTMLTableSectionElement> }\n) => ReactElement;\n","import React, { ComponentPropsWithRef, ReactElement, Ref, useEffect, useState } from 'react';\nimport { Props as ButtonProps } from '../Button/Button';\nimport classes from './DataGrid.module.scss';\nimport { DataGridHeader } from './DataGridHeader/DataGridHeader';\nimport { DataGridActions } from './DataGridActions/DataGridActions';\nimport { DataGridBody } from './DataGridBody/DataGridBody';\nimport { ColumnName, HeaderCell, OnSortFunction, Sort } from './datagrid.interfaces';\nimport { Pagination, Props as PaginationProps } from '../Pagination/Pagination';\n\nexport interface Props<T> extends ComponentPropsWithRef<'div'> {\n children: ({ item, index }: { item: T; index: number }) => ReactElement;\n data?: T[];\n initialSort?: Sort;\n onSort?: OnSortFunction;\n headers: HeaderCell[];\n actions?: {\n enableAddBtn?: boolean;\n enableColumnsBtn?: boolean;\n enableSearchBtn?: boolean;\n addBtnProps?: ButtonProps;\n columnsBtnProps?: ButtonProps;\n searchBtnProps?: ButtonProps;\n };\n emptyLabel?: string;\n paginationProps?: PaginationProps;\n disableContextMenuColumn?: boolean;\n isLoading?: boolean;\n enableMultiSorting?: boolean;\n}\n\nconst DataGridInner = <T extends {}>(\n {\n children,\n data,\n initialSort,\n onSort,\n headers,\n actions = {},\n paginationProps,\n disableContextMenuColumn,\n isLoading,\n enableMultiSorting,\n emptyLabel,\n ...rest\n }: Props<T>,\n ref: Ref<HTMLDivElement>\n) => {\n if (!headers) {\n throw new Error('Headers definition has to be provided');\n }\n if (!children) {\n throw new Error('DataGridBody should be provieded with a template how to render rows');\n }\n\n const [internalHeaders, setInternalHeaders] = useState(headers);\n\n useEffect(() => setInternalHeaders(headers), [headers]);\n\n const onColumnToggled = (colName: ColumnName) => {\n setInternalHeaders(\n internalHeaders.map((item) =>\n item.name !== colName ? item : { ...item, hidden: !item.hidden }\n )\n );\n };\n\n return (\n <div {...rest} ref={ref}>\n <DataGridActions {...actions} headers={internalHeaders} onColumnToggled={onColumnToggled} />\n <div className={classes['table-wrapper']}>\n <table className={classes['table']}>\n <DataGridHeader\n headers={internalHeaders}\n initialSort={initialSort}\n onSort={onSort}\n disableContextMenuColumn={disableContextMenuColumn}\n enableMultiSorting={enableMultiSorting}\n />\n <DataGridBody\n children={children}\n data={data}\n headers={internalHeaders}\n isLoading={isLoading}\n disableContextMenuColumn={disableContextMenuColumn}\n emptyLabel={emptyLabel}\n />\n </table>\n </div>\n {paginationProps && !isLoading && (\n <Pagination\n {...paginationProps}\n className={`${classes['pagination']} ${paginationProps.className ?? ''}`}\n />\n )}\n </div>\n );\n};\n\nexport const DataGrid = React.forwardRef(DataGridInner) as <T extends {}>(\n p: Props<T> & { ref?: Ref<HTMLDivElement> }\n) => ReactElement;\n"],"names":["BaseStyling","children","properties","defaultProperties","colorFocus","colorPrimary","colorSecondary","colorTertiary","defaultLineHeight","buttonBorderRadius","buttonBorderWidth","buttonFontSize","buttonBorderStyle","buttonFillTextColor","buttonFillBackgroundColor","buttonOutlineHoverTextColor","inputBorderColor","inputBorderRadius","inputBorderWidth","inputBorderStyle","inputBackgroundColor","modalShadowColor","modalBackgroundColor","modalHeaderBackgroundColor","snackbarTextColor","snackbarInfoBackgroundColor","snackbarSuccessBackgroundColor","snackbarErrorBackgroundColor","snackbarBorderRadius","dataGridRowBackgroundColor","dataGridRowHoverBackgroundColor","cardBackgroundColor","cardBorderRadius","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","Fragment","BaseButton","forwardRef","ref","type","className","rest","validTypes","includes","Error","classes","button","Button","variant","color","startIcon","endIcon","additionalClasses","push","join","Icons","Icon","icon","size","tag","Component","defaultFactor","defaultUnit","spacingNumberRegex","useSpacing","spacingProps","reduce","prev","spacing","multiplier","matches","String","matchAll","cssSpacingValue","Array","from","map","multiplierValue","Number","validVariants","Typography","styleWithSpacing","TagName","Breadcrumbs","ariaLabel","items","Children","child","index","isLastElement","isArray","props","cloneElement","ChevronRight","defaultConfigObject","relativeElement","undefined","elementToBePositioned","transformOrigin","horizontal","vertical","placement","offset","top","right","bottom","left","usePosition","providedConfigObject","configObject","position","setPosition","_fixPossibleViewportOverflow","requestedReturnValue","elDimensions","returnValue","window","innerWidth","width","innerHeight","height","_applyOffsetToPlacementValue","_calculateInitialPlacementValue","relEl","placementOriginDefinition","_determineCenteredPlacementOrigin","_calculatePlacementValue","valueWithOffset","valueCorrectionForViewportOverflow","_calculatePlacement","axis","placementValue","direction","oppositeDirection","prevState","calculatePosition","current","relativeElRect","getBoundingClientRect","elementToBePositionedDimensions","offsetHeight","offsetWidth","clonedRelEl","center","centerv","centerh","x","y","Popover","show","anchorEl","elToBePositioned","useRef","popover","useBodyClick","checkFunction","callbackFunction","dependingStateVariable","bodyClickListener","event","addEventListener","removeEventListener","ContextMenu","trigger","id","onShow","onClose","domRoot","body","showContextMenu","setShowContextMenu","selectedContextMenuItem","setSelectedContextMenuItem","focusedContextMenuItem","setFocusedContextMenuItem","shouldClick","setShouldClick","count","childrenCount","onArrowNavigation","codesToPrevenDefault","code","preventDefault","target","focus","renderTrigger","onClick","tabIndex","renderChildren","onFocusChange","childIndex","onSelectedChange","hasFocus","isSelected","contextMenuOpened","onKeyDown","createPortal","menu","role","ContextMenuItem","innerButtonRef","createRef","click","Link","to","display","buttonVariant","component","determineTarget","classNames","createElement","download","rel","href","IconButton","iconSize","title","console","iconButtonClasses","readyclasses","Tab","args","generateID","stringToWeaveIn","hashCharacters","i","stringCharacter","test","Math","floor","random","slice","filterProps","regexPattern","returnFiltered","acc","filter","prevObj","currKeyValPair","TabButton","selected","focussed","tabId","tabPanelId","onTabButtonClick","TabPanel","hidden","Tabs","onTabChange","indicatorRef","indicatorPosition","setIndicatorPosition","indicatorWidth","setIndicatorWidth","max","min","selectedTab","setSelectedTab","focussedTab","setFocussedTab","tabIds","tabPanelIds","calculateIndicatorPosition","selectedTabButton","tabButtons","offsetLeft","offsetTop","handleKeyDown","e","currentFocussedTab","activateTab","handleBlur","buttonRef","tabPanels","panelRef","onBlur","TextEllipsis","popoverClassName","showPopover","setShowPopover","textContainer","ellipsisVisible","scrollWidth","onMouseEnter","onMouseLeave","Tile","imageProps","enabled","loading","tileAction","tileDescriptionID","statusMessage","justifyContent","Checkmark","Forbidden","readyClasses","src","alt","Image","Tiles","defaultPosition","Tooltip","label","identifier","visible","setVisible","escapePressHandler","useLayoutEffect","isValidElement","onFocus","wrapper","InfoCircle","tooltip","dateTypes","Input","name","wrapperProps","labeledBy","prefix","suffix","setFocus","inputClassNames","iconClassNames","wrapperClasses","renderSearchCondition","Select","placeholder","describedBy","searchPlaceholder","searchInputProps","selectButtonProps","clearLabel","onChange","onClear","expanded","setExpanded","opacity","setOpacity","setFilter","setDisplay","listPosition","setListPosition","optionsListMaxHeight","setOptionsListMaxHeight","containerReference","optionListReference","isSearching","setIsSearching","focusedSelectItem","setFocusedSelectItem","nativeSelect","searchInputRef","codesToPreventDefault","codesToPreventDefaultWhenSearching","querySelector","syncDisplayValue","forEach","rePositionList","spaceOnTopOfSelect","spaceOnBottomOfSelect","calculateOptionListMaxHeight","listHeight","availableSpace","onOptionChangeHandler","optionRef","getAttribute","dispatchEvent","Event","bubbles","renderOptions","filteredChildren","toArray","match","_internalRenderChildren","internalChildren","onOptionSelect","selectOpened","renderSearch","autoFocus","filterResults","currentTarget","statusIcon","Warning","stopPropagation","TimesThin","nativeOnChangeHandler","closest","select","TriangleDown","maxHeight","Option","innerOptionRef","onSelectHandler","onKeyDownCapture","Label","DefaultTranslations","Pagination","totalElements","pageSize","translate","currentPage","onPageChange","onPageSizeChange","toString","internalCurrentPage","setInternalCurrentPage","calculateAmountOfPages","ceil","onEnterListener","renderCurrentPageTranslation","amountOfPages","splitCurrentPageTranslation","split","string","htmlFor","currentPageLabel","onKeyUp","onPageSizeChangeHandler","pageSizeNumber","onPageChangeHandler","pageToGoTo","totalItems","itemsPerPage","NavigationFirst","ChevronLeft","NavigationLast","useRepeater","componentToRepeat","repeatedComponents","setRepeatedComponents","repeat","clonedComponent","remove","componentToRemove","newRepeatedComponents","labelId","descriptionId","SCROLL_PROPERTY_NAME","SCROLL_PROPERTY_VALUE","useSetBodyScroll","open","hideBodyScroll","showBodyScroll","allModalsClosed","querySelectorAll","removeProperty","BaseModal","containerProps","backdropProps","labelledby","describedby","disableEscapeKeyDown","disableBackdrop","forceContainerOpen","zIndex","handleEscKeyPress","handleBackdropClick","SnackbarContext","createContext","enqueueSnackbar","enqueueSuccessSnackbar","enqueueErrorSnackbar","SnackbarContextProvider","initialState","Provider","useSnackbar","useContext","BaseModalContent","disableAutoFocus","contentRef","BaseModalActions","DialogActions","align","DialogTitle","Dialog","alignActions","primaryAction","secondaryAction","dialogId","primaryLabel","restOfPrimaryAction","PrimaryButton","TertiaryButton","secondaryLabel","restOfSecondaryAction","onHiddenInputKeyPress","maxLength","onKeyPress","BaseModalHeader","Times","DiscardChangesDialog","onKeepEditing","onDiscardChanges","discardChangesButtonLabel","keepEditingButtonLabel","contentLabel","titleLabel","margin","DiscardChangesModal","headerProps","discardChangedDialogProps","modalRef","dialogRef","hasUnsavedChanges","openDiscardChangesDialog","setOpenDiscardChangesDialog","onCloseWrapper","onDialogKeepEditing","onDialogDiscardChanges","Modal","ModalHeader","SlideInModal","classHideOnTransition","setClassHideOnTransition","onTransitionEnd","SnackbarContainer","useAnimation","callback","animatedObjectRef","animationStarted","setAnimationStarted","onAnimationEnd","startAnimation","textColor","SnackbarItem","duration","content","actions","closeButtonTitle","timerHandler","setTimeout","clearTimeout","getVariantIcon","CheckmarkCircleBreakout","actionButtons","actionProp","SnackbarProvider","autoHideDuration","stackSize","snackbars","setSnackbars","addSnackbar","item","getDuration","hasError","hasContentOrActions","options","onItemClosed","snackbarList","snackbarPortal","useFormSelector","setDescribedBy","errorMessage","errorId","parentErrorId","helperText","parentHelperId","FormHelperText","FormSelectorWrapper","nestedChildren","helperProps","helperRef","isToggle","Checkbox","indeterminate","checked","formSelectorWrapperProps","determineLabel","renderNestedCheckboxes","onChangeHandler","renderToggle","iconClasses","MinusSquare","CheckmarkSquare","Square","Radio","nativeEvent","clonedEvent","constructor","defineProperty","writable","Circle","Textarea","rows","errorProps","Toggle","FormControl","grid","childElement","column","FormGroup","errorMessageIcon","errorMessageIconPosition","helperId","helperIndent","marginLeft","message","Wrapper","floatingLabel","floatingLabelActive","required","labelProps","innerClassName","labelClasses","useWrapper","setFloatingLabelActive","setHasFocus","useLabelOffset","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","Form","form","RadioWrapper","fieldsetProps","CheckboxWrapper","setWizardState","steps","mode","stepScreenReaderLabel","payload","changeCurrentStepNo","currentStepNo","reducer","state","action","WizardStateContext","dispatch","WizardStateProvider","useReducer","useSetWizardState","useStepChanging","onStepChange","WizardContent","Wizard","initialStepNo","calculateNextStepNo","findIndex","step","stepNo","calculatePrevStepNo","reversedCurrentStepNo","reversedPrevStepNo","reverse","useNextStepNo","useMemo","usePreviousStepNo","WizardActions","onCancel","onNext","onPrevious","onSaveAndClose","cancelButtonLabel","previousButtonLabel","nextButtonLabel","saveAndCloseButtonLabel","nextStepNo","hasNextStep","previousStepNo","hasPreviousStep","isLastStepOrEditMode","changeStepNo","onNextWrapper","onPreviousWrapper","onSaveAndCloseWrapper","BaseWizardSteps","futureStepsClickable","getStepState","getStepContent","stepState","stepNumberString","generatedSteps","disabledStyleClassName","clickableClassName","WizardSteps","onStepClick","selectedStepNo","ariaSortMapping","ASC","DESC","DataGridHeaderCell","headline","disableSorting","activeSortDirection","onSort","onCellClick","sortingIndicator","getSortingIndicatorClasses","sortingIndicatorClasses","TriangleUp","innerContent","sortingStates","DataGridHeader","initialSort","headers","disableContextMenuColumn","enableMultiSorting","sortList","setSortList","calculateNextSortState","currentDirectionIdx","updateSortList","find","restSortList","newSortDirection","wrapOnSort","newSort","headerCells","header","sort","DataGridColumnsToggle","onToggleClicked","labelledId","toggles","DataGridActions","enableAddBtn","enableColumnsBtn","enableSearchBtn","addBtnProps","columnsBtnProps","searchBtnProps","onColumnToggled","isHidden","showColsPopover","setShowColsPopover","showColumnBtn","Plus","Change","TableSearch","DataGridCell","DataGridRow","visibleCells","skeletonLoadingRows","DataGridBodyInner","data","emptyLabel","renderContent","visibleColumns","_","rowIdx","__","colIdx","emptyData","colSpan","DataGridBody","DataGridInner","paginationProps","internalHeaders","setInternalHeaders","colName","DataGrid"],"mappings":"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"}