react-asc 18.9.6 → 19.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/AutoComplete/AutoComplete.d.ts +0 -1
- package/components/Badge/Badge.d.ts +1 -1
- package/components/Breadcrumb/BreadcrumbItem.d.ts +2 -5
- package/components/ButtonGroup/ButtonGroup.d.ts +1 -3
- package/components/Card/CardBody.d.ts +1 -4
- package/components/Card/CardFooter.d.ts +1 -4
- package/components/Card/CardImage.d.ts +1 -4
- package/components/Card/CardSubtitle.d.ts +1 -4
- package/components/Card/CardText.d.ts +1 -4
- package/components/Checkbox/Checkbox.d.ts +0 -1
- package/components/Chip/Chip.d.ts +1 -1
- package/components/ConditionalWrapper/ConditionalWrapper.d.ts +3 -3
- package/components/Drawer/Drawer.d.ts +3 -4
- package/components/FloatingActionButton/FloatingActionButton.d.ts +1 -1
- package/components/Form/Form.d.ts +1 -1
- package/components/Form/FormHint/FormHint.d.ts +1 -4
- package/components/Form/FormInput/FormInput.d.ts +4 -4
- package/components/Form/FormLabel/FormLabel.d.ts +2 -4
- package/components/Form/form.interfaces.d.ts +1 -1
- package/components/Form/form.models.d.ts +2 -2
- package/components/Form/validators/IsEmptyValidator.d.ts +1 -1
- package/components/Form/validators/IsEqualValidator.d.ts +1 -1
- package/components/List/list.models.d.ts +2 -2
- package/components/LoadingIndicator/LoadingIndicator.d.ts +0 -2
- package/components/LoadingIndicator/loading-indicator.service.d.ts +2 -4
- package/components/Menu/Menu.d.ts +0 -1
- package/components/Menu/MenuBody.d.ts +1 -1
- package/components/Modal/GlobalModal.d.ts +1 -1
- package/components/Modal/Modal.d.ts +3 -3
- package/components/Modal/ModalHeader.d.ts +3 -4
- package/components/Modal/modal.service.d.ts +1 -1
- package/components/Select/Select.d.ts +2 -2
- package/components/SpeedDial/SpeedDialActions.d.ts +2 -6
- package/components/Stepper/Step/Step.d.ts +5 -2
- package/components/Tabs/Tab.d.ts +5 -2
- package/components/Tabs/TabIndicator.d.ts +2 -2
- package/components/Tabs/TabPanel.d.ts +0 -1
- package/components/Tabs/Tabs.d.ts +6 -2
- package/components/Tooltip/Tooltip.d.ts +2 -3
- package/components/TreeView/TreeItem.d.ts +6 -5
- package/hooks/useConstructor.d.ts +1 -1
- package/hooks/useDebounce.d.ts +2 -1
- package/hooks/useHover.d.ts +2 -2
- package/{assets/icons → icons}/CaretDownSolidIcon.d.ts +0 -0
- package/{assets/icons → icons}/CheckSolidIcon.d.ts +0 -0
- package/{assets/icons → icons}/CheckSquareRegularIcon.d.ts +0 -0
- package/{assets/icons → icons}/ChevronDownSolidIcon.d.ts +0 -0
- package/{assets/icons → icons}/ChevronLeftSolidIcon.d.ts +0 -0
- package/{assets/icons → icons}/ChevronRightSolidIcon.d.ts +0 -0
- package/{assets/icons → icons}/ChevronUpSolidIcon.d.ts +0 -0
- package/{assets/icons → icons}/CircleSolidIcon.d.ts +0 -0
- package/{assets/icons → icons}/HomeSolidIcon.d.ts +0 -0
- package/{assets/icons → icons}/PlusSolidIcon.d.ts +0 -0
- package/{assets/icons → icons}/SpinnerSolidIcon.d.ts +0 -0
- package/{assets/icons → icons}/SquareRegularIcon.d.ts +0 -0
- package/{assets/icons → icons}/TimesCircleSolidIcon.d.ts +0 -0
- package/{assets/icons → icons}/TimesSolidIcon.d.ts +0 -0
- package/{assets/icons → icons}/index.d.ts +0 -0
- package/index.d.ts +1 -1
- package/index.es.js +383 -377
- package/index.js +382 -376
- package/package.json +1 -1
- package/react-asc.scss +52 -52
- package/index.es.js.map +0 -1
- package/index.js.map +0 -1
package/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/lib/components/component.enums.ts","../node_modules/style-inject/dist/style-inject.es.js","../src/lib/components/Alert/Alert.tsx","../src/lib/components/AppBar/AppBar.tsx","../src/lib/components/AppBar/AppBarTitle.tsx","../src/lib/components/Backdrop/Backdrop.tsx","../src/lib/components/List/List.tsx","../src/lib/components/List/ListItem.tsx","../src/lib/components/List/ListItemAvatar.tsx","../src/lib/components/List/ListItemIcon.tsx","../src/lib/components/List/ListItemAction.tsx","../src/lib/components/List/ListItemText.tsx","../src/lib/components/AutoComplete/AutoComplete.tsx","../src/lib/components/Badge/Badge.tsx","../src/lib/components/Button/Button.tsx","../src/lib/components/ButtonGroup/ButtonGroup.tsx","../src/lib/components/Breadcrumb/Breadcrumb.tsx","../src/lib/components/ConditionalWrapper/ConditionalWrapper.tsx","../src/lib/components/Breadcrumb/BreadcrumbItem.tsx","../src/lib/components/Card/Card.tsx","../src/lib/components/Card/CardBody.tsx","../src/lib/components/Card/CardFooter.tsx","../src/lib/components/Card/CardSubtitle.tsx","../src/lib/components/Card/CardText.tsx","../src/lib/components/Card/CardTitle.tsx","../src/lib/components/Card/CardImage.tsx","../src/lib/assets/icons/CaretDownSolidIcon.tsx","../src/lib/assets/icons/CheckSquareRegularIcon.tsx","../src/lib/assets/icons/ChevronDownSolidIcon.tsx","../src/lib/assets/icons/ChevronRightSolidIcon.tsx","../src/lib/assets/icons/ChevronUpSolidIcon.tsx","../src/lib/assets/icons/HomeSolidIcon.tsx","../src/lib/assets/icons/SquareRegularIcon.tsx","../src/lib/assets/icons/TimesCircleSolidIcon.tsx","../src/lib/assets/icons/TimesSolidIcon.tsx","../src/lib/assets/icons/SpinnerSolidIcon.tsx","../src/lib/assets/icons/PlusSolidIcon.tsx","../src/lib/assets/icons/CheckSolidIcon.tsx","../src/lib/assets/icons/CircleSolidIcon.tsx","../src/lib/assets/icons/ChevronLeftSolidIcon.tsx","../src/lib/components/Icon/Icon.tsx","../src/lib/components/IconButton/IconButton.tsx","../src/lib/components/Checkbox/Checkbox.tsx","../src/lib/components/Chip/Chip.tsx","../src/lib/components/Form/FormLabel/FormLabel.tsx","../src/lib/components/Form/FormGroup.tsx","../src/lib/components/FileInput/FileInput.tsx","../src/lib/components/Select/Select.tsx","../src/lib/components/Textarea/Textarea.tsx","../src/lib/components/Form/FormInput/FormInput.tsx","../src/lib/components/Form/FormHint/FormHint.tsx","../src/lib/components/Form/FormError.tsx","../src/lib/components/Form/validators/IsEmptyValidator.ts","../src/lib/components/Form/validators/EmailValidtor.ts","../src/lib/components/Form/validators/IsEqualValidator.ts","../src/lib/components/Form/Form.tsx","../src/lib/components/Form/form.models.ts","../src/lib/components/DateSelect/DaySelect.tsx","../src/lib/components/DateSelect/MonthSelect.tsx","../src/lib/components/DateSelect/YearSelect.tsx","../src/lib/components/DateSelect/DateSelect.tsx","../src/lib/components/Drawer/Drawer.tsx","../src/lib/components/Menu/MenuBody.tsx","../src/lib/components/Menu/Menu.tsx","../src/lib/components/Menu/MenuItem.tsx","../src/lib/components/Menu/MenuToggle.tsx","../src/lib/components/Menu/MenuDivider.tsx","../src/lib/components/ExpansionPanel/ExpansionPanelContent.tsx","../src/lib/components/ExpansionPanel/ExpansionPanelHeader.tsx","../src/lib/components/ExpansionPanel/ExpansionPanel.tsx","../src/lib/components/FloatingActionButton/FloatingActionButton.tsx","../src/lib/components/Grid/Column/Column.tsx","../src/lib/components/Grid/Row/Row.tsx","../src/lib/components/Link/Link.tsx","../src/lib/components/LoadingIndicator/LoadingIndicator.tsx","../src/lib/components/LoadingIndicator/LoadingIndicatorContainer.tsx","../src/lib/components/LoadingIndicator/loading-indicator.service.tsx","../src/lib/components/Modal/ModalHeader.tsx","../src/lib/components/Modal/ModalBody.tsx","../src/lib/components/Modal/ModalFooter.tsx","../src/lib/components/Modal/Modal.tsx","../src/lib/components/Modal/modal.enum.ts","../src/lib/components/Modal/GlobalModal.tsx","../src/lib/components/Modal/modal.service.tsx","../src/lib/components/NumberSelect/NumberSelect.tsx","../src/lib/components/Sidebar/sidebar.models.ts","../src/lib/components/Sidebar/Sidebar.tsx","../src/lib/components/Snackbar/Snackbar.tsx","../src/lib/components/Snackbar/snackbar.service.tsx","../src/lib/components/SpeedDial/SpeedDialActions.tsx","../src/lib/components/SpeedDial/SpeedDial.tsx","../src/lib/components/SpeedDial/SpeedDialAction.tsx","../src/lib/components/SpeedDial/SpeedDialIcon.tsx","../src/lib/components/Stepper/StepperActions/StepperActions.tsx","../src/lib/components/Stepper/StepPanel/StepPanel.tsx","../src/lib/components/Stepper/StepConnector/StepConnector.tsx","../src/lib/components/Stepper/Stepper.tsx","../src/lib/hooks/useWindowSize.tsx","../src/lib/hooks/useHover.tsx","../src/lib/hooks/useConstructor.tsx","../src/lib/hooks/useDebounce.tsx","../src/lib/components/Typography/Typography.tsx","../src/lib/components/Stepper/Step/Step.tsx","../src/lib/components/Table/Table.tsx","../src/lib/components/Tabs/TabIndicator.tsx","../src/lib/components/Tabs/Tabs.tsx","../src/lib/components/Tabs/Tab.tsx","../src/lib/components/Tabs/TabPanel.tsx","../src/lib/components/Tooltip/Tooltip.tsx","../src/lib/components/TimeSelect/HourSelect.tsx","../src/lib/components/TimeSelect/MilliSecondSelect.tsx","../src/lib/components/TimeSelect/MinuteSelect.tsx","../src/lib/components/TimeSelect/SecondSelect.tsx","../src/lib/components/TimeSelect/TimeSelect.tsx","../src/lib/components/TreeView/TreeView.tsx","../src/lib/components/TreeView/TreeItem.tsx"],"sourcesContent":["export enum COLOR {\r\n\tprimary = 'primary',\r\n\taccent = 'accent',\r\n\tsecondary = 'secondary',\r\n\t// danger = 'danger',\r\n\tlight = 'light',\r\n\tdark = 'dark'\r\n}\r\n\r\nexport enum VARIANT { contained = 'contained', outline = 'outline', text = 'text' }\r\n\r\nexport enum SIZE { sm = 'sm', md = 'md', lg = 'lg' }\r\n\r\nexport enum POSITION { right = 'right', left = 'left' }\r\n\r\nexport const STATUS = {\r\n\tHOVERED: 'hovered',\r\n\tNORMAL: 'normal',\r\n};\r\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React, { ReactNode } from 'react';\r\nimport { VARIANT } from '../component.enums';\r\nimport { COLOR, SIZE } from '../component.enums';\r\nimport styles from './Alert.module.scss';\r\n\r\nexport interface IAlertProps extends React.ComponentProps<\"div\"> {\r\n\tchildren?: ReactNode;\r\n\tclassName?: string;\r\n\tvariant?: VARIANT;\r\n\tcolor?: COLOR;\r\n\tshadow?: boolean | SIZE.sm | SIZE.md | SIZE.lg;\r\n}\r\n\r\nexport const Alert = (props: IAlertProps) => {\r\n\r\n\tconst { children, className, color = COLOR.primary, variant = VARIANT.contained, shadow = true, ...rest } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.alert);\r\n\r\n\t\tif (variant === VARIANT.contained) {\r\n\t\t\tcssClasses.push(styles.contained);\r\n\t\t\tcssClasses.push(styles[color]);\r\n\t\t}\r\n\t\tif (variant === VARIANT.outline) {\r\n\t\t\tcssClasses.push(styles.outline);\r\n\t\t\tcssClasses.push(styles[color]);\r\n\t\t}\r\n\r\n\t\tshadow && cssClasses.push(styles['shadow']);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(r => r).join(' ');\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div className={getCssClasses()} {...rest}>\r\n\t\t\t{children}\r\n\t\t</div>\r\n\t);\r\n};\r\n","import React, { ReactNode } from 'react';\r\nimport { COLOR, SIZE } from '../component.enums';\r\nimport styles from './AppBar.module.scss';\r\n\r\nexport interface IAppBarProps extends React.ComponentProps<\"nav\"> {\r\n\tchildren?: ReactNode;\r\n\tclassName?: string;\r\n\tcolor?: COLOR.primary | COLOR.light;\r\n\tshadow?: boolean | SIZE.sm | SIZE.md | SIZE.lg;\r\n}\r\n\r\nexport const AppBar = (props: IAppBarProps) => {\r\n\r\n\tconst { children, className, color = COLOR.primary, shadow = true, ...rest } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles[color]);\r\n\t\tcssClasses.push(styles.appbar);\r\n\t\tshadow && cssClasses.push(styles['shadow']);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(r => r).join(' ');\r\n\t};\r\n\r\n\treturn (\r\n\t\t<nav className={getCssClasses()} {...rest}>\r\n\t\t\t{children}\r\n\t\t</nav>\r\n\t);\r\n};\r\n","import React, { ReactNode } from 'react'\r\nimport styles from './AppBarTitle.module.scss';\r\n\r\nexport interface IAppBarTitleProps extends React.ComponentProps<\"div\"> {\r\n\tchildren?: ReactNode;\r\n}\r\n\r\nexport const AppBarTitle = (props: IAppBarTitleProps) => {\r\n\r\n\tconst { children, className, onClick } = props;\r\n\r\n\tconst getCssClass = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.appbarTitle);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(r => r).join(' ');\r\n\t}\r\n\r\n\treturn (\r\n\t\t<div className={getCssClass()} onClick={onClick}>\r\n\t\t\t{children}\r\n\t\t</div>\r\n\t)\r\n}\r\n","import React from 'react';\r\nimport { createPortal } from 'react-dom';\r\n\r\ninterface IBackdropProps extends React.ComponentProps<\"div\"> {\r\n\ttarget?: HTMLElement;\r\n\tisTransparent?: boolean;\r\n}\r\n\r\nexport const Backdrop = (props: IBackdropProps) => {\r\n\r\n\tconst { target = document.body, isTransparent = false, onClick, style, ...rest } = props;\r\n\r\n\tconst handleClick = (e: React.MouseEvent<HTMLDivElement>) => {\r\n\t\te.stopPropagation();\r\n\t\tonClick && onClick(e);\r\n\t}\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(`modal-backdrop fade show`);\r\n\t\tif (isTransparent) {\r\n\t\t\tcssClasses.push(`bg-transparent`);\r\n\t\t}\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t}\r\n\r\n\tconst getStyles = () => {\r\n\t\tconst styles = Object.assign({ height: '100%', width: '100%', position: 'absolute' }, style);\r\n\t\treturn styles;\r\n\t};\r\n\r\n\treturn (\r\n\t\tcreatePortal(\r\n\t\t\t<div className={getCssClasses()} onClick={handleClick} style={getStyles()} {...rest} />,\r\n\t\t\ttarget\r\n\t\t)\r\n\t)\r\n}\r\n","import React from 'react';\r\nimport styles from './List.module.scss';\r\n\r\nexport interface IListProps extends React.ComponentProps<\"ul\"> {\r\n\tisFlush?: boolean;\r\n}\r\n\r\nexport const List = (props: IListProps) => {\r\n\r\n\tconst { children, className, isFlush, ...rest } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tisFlush && cssClasses.push(styles.flush);\r\n\t\tcssClasses.push(styles.list);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t}\r\n\r\n\treturn (\r\n\t\t<ul className={getCssClasses()} {...rest}>\r\n\t\t\t{children}\r\n\t\t</ul>\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport { COLOR } from '../component.enums';\r\nimport styles from './ListItem.module.scss';\r\n\r\nexport interface IListItemProps extends React.ComponentProps<\"li\"> {\r\n\tcolor?: COLOR;\r\n\tactive?: boolean;\r\n\tisHoverable?: boolean;\r\n\tdisabled?: boolean;\r\n}\r\n\r\nexport const ListItem = (props: IListItemProps) => {\r\n\r\n\tconst { children, color, active, className, disabled, onClick, ...rest } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.listItem);\r\n\t\tcolor && cssClasses.push(styles[color]);\r\n\t\tactive && cssClasses.push(styles['active']);\r\n\t\tdisabled && cssClasses.push(styles['disabled']);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t}\r\n\r\n\tconst handleClick = (e: React.MouseEvent<HTMLLIElement>) => {\r\n\t\t!disabled && onClick && onClick(e);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<li\r\n\t\t\tonClick={handleClick}\r\n\t\t\tclassName={getCssClasses()}\r\n\t\t\t{...rest}\r\n\t\t>\r\n\t\t\t{children}\r\n\t\t</li>\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport styles from './ListItemAvatar.module.scss';\r\n\r\ninterface IListItemAvatarProps extends React.ComponentProps<\"div\"> {\r\n\tavatar: React.SVGProps<SVGSVGElement> | React.ImgHTMLAttributes<HTMLImageElement>;\r\n}\r\n\r\nexport const ListItemAvatar = ({ avatar, ...rest }: IListItemAvatarProps) => (\r\n\t<div className={styles.avatar} {...rest}>\r\n\t\t{avatar}\r\n\t</div>\r\n)\r\n","import React from 'react';\r\nimport styles from './ListItemIcon.module.scss';\r\n\r\ninterface IListItemIconProps extends React.ComponentProps<\"div\"> {\r\n\ticon: React.SVGProps<SVGSVGElement>;\r\n}\r\n\r\nexport const ListItemIcon = ({ icon, ...rest }: IListItemIconProps) => (\r\n\t<div className={styles.icon} {...rest}>\r\n\t\t{icon}\r\n\t</div>\r\n)\r\n","import React from 'react';\r\nimport styles from './ListItemAction.module.scss';\r\n\r\nexport const ListItemAction = ({ children, onClick, ...rest }: React.ComponentProps<\"div\">) => (\r\n\t<div\r\n\t\tclassName={styles.listItemAction}\r\n\t\tonClick={e => onClick && onClick(e)}\r\n\t\t{...rest}\r\n\t>\r\n\t\t{children}\r\n\t</div>\r\n)\r\n","import React, { ReactNode } from 'react';\r\nimport styles from './ListItemTextIcon.module.scss';\r\n\r\ninterface IListItemTextProps extends React.ComponentProps<\"div\"> {\r\n\tprimary: ReactNode;\r\n\tsecondary?: ReactNode;\r\n}\r\n\r\nexport const ListItemText = ({ primary, secondary, ...rest }: IListItemTextProps) => {\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.listItemText);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t}\r\n\r\n\treturn (\r\n\t\t<div className={getCssClasses()} {...rest}>\r\n\t\t\t<ListItemTextPrimary>\r\n\t\t\t\t{primary}\r\n\t\t\t</ListItemTextPrimary>\r\n\t\t\t{secondary &&\r\n\t\t\t\t<ListItemTextSecondary>\r\n\t\t\t\t\t{secondary}\r\n\t\t\t\t</ListItemTextSecondary>\r\n\t\t\t}\r\n\t\t</div>\r\n\t);\r\n}\r\n\r\n\r\nconst ListItemTextPrimary = ({ children }: any) => (\r\n\t<div className=\"list-item-text-primary\">\r\n\t\t{children}\r\n\t</div>\r\n);\r\n\r\nconst ListItemTextSecondary = ({ children }: any) => (\r\n\t<div className=\"list-item-text-secondary text-muted\" style={{ fontSize: '0.875rem' }}>\r\n\t\t{children}\r\n\t</div>\r\n);\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { IconButton } from '..';\r\nimport { TimesSolidIcon, useDebounce } from '../..';\r\nimport { Backdrop } from '../Backdrop';\r\nimport { ISelectOption } from '../component.interfaces';\r\nimport { List, ListItem, ListItemText } from '../List';\r\nimport styles from './AutoComplete.module.scss';\r\n\r\nexport interface IAutoCompleteProps {\r\n\tid?: string;\r\n\tname?: string;\r\n\tclassName?: string;\r\n\toptions?: Array<ISelectOption>;\r\n\tvalue?: string;\r\n\topenOnFocus?: boolean;\r\n\tdisabled?: boolean;\r\n\tplaceholder?: string;\r\n\treadOnly?: boolean;\r\n\tdebounce?: number;\r\n\tshowNoEntry?: boolean;\r\n\tshowClearButton?: boolean;\r\n\tonSelect?: (val: ISelectOption) => void;\r\n\tonChange?: (val: string | undefined) => void;\r\n\tonKeyDown?: (event: any) => void;\r\n}\r\n\r\n// preset value\r\n// enter -> delay? -> show results\r\n// single\r\n// multiple\r\n// custom template render items\r\n\r\nexport const AutoComplete = (props: IAutoCompleteProps) => {\r\n\r\n\tconst {\r\n\t\tid,\r\n\t\tname,\r\n\t\tclassName,\r\n\t\toptions = [],\r\n\t\topenOnFocus = true,\r\n\t\tdisabled,\r\n\t\treadOnly,\r\n\t\tdebounce = 0,\r\n\t\tplaceholder,\r\n\t\tshowNoEntry = true,\r\n\t\tshowClearButton,\r\n\t\tonChange,\r\n\t\tonSelect,\r\n\t\tvalue\r\n\t} = props;\r\n\r\n\tconst [model, setModel] = useState<string | undefined>('');\r\n\tconst [searchText, setSearchText] = useState<string | undefined>('');\r\n\tconst [isShow, setIsShow] = useState<boolean>(false);\r\n\tconst [optionsTemp, setOptionsTemp] = useState<Array<ISelectOption>>([]);\r\n\tconst selectConainter = useRef<HTMLDivElement>(null);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (value !== model) {\r\n\t\t\tconst option = options.find(o => o.value === value);\r\n\t\t\tsetModel(option ? option.label : '');\r\n\t\t}\r\n\t}, [value]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (options && options.length > 0) {\r\n\t\t\tconst optionsOrigin: Array<ISelectOption> = JSON.parse(JSON.stringify(options));\r\n\t\t\tconst regex = new RegExp((searchText as string).replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&'), 'gi');\r\n\t\t\tconst optionsFiltered = optionsOrigin.filter(o => o.label?.match(regex));\r\n\t\t\tif (optionsFiltered.length === 0 && showNoEntry) {\r\n\t\t\t\tsetOptionsTemp([{ value: '', label: '- no entry found -' }]);\r\n\t\t\t} else {\r\n\t\t\t\tsetOptionsTemp(optionsFiltered);\r\n\t\t\t}\r\n\t\t}\r\n\t}, [options]);\r\n\r\n\tuseDebounce(\r\n\t\t() => { onChange && onChange(searchText); },\r\n\t\tdebounce,\r\n\t\t[searchText]\r\n\t);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isShow === true) {\r\n\t\t\tdocument.body.classList.add('modal-open');\r\n\t\t\tconst main = document.querySelector('.main');\r\n\t\t\tmain?.classList.add('modal-open');\r\n\t\t} else {\r\n\t\t\tdocument.body.classList.remove('modal-open');\r\n\t\t\tconst main = document.querySelector('.main');\r\n\t\t\tmain?.classList.remove('modal-open');\r\n\t\t}\r\n\t}, [isShow]);\r\n\r\n\tuseEffect(() => {\r\n\t\treturn () => {\r\n\t\t\tdocument.body.classList.remove('modal-open');\r\n\t\t\tconst main = document.querySelector('.main');\r\n\t\t\tmain?.classList.remove('modal-open');\r\n\t\t};\r\n\t}, []);\r\n\r\n\tconst getCssClass = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tclassName && cssClasses.push(className);\r\n\t\tcssClasses.push(styles.select);\r\n\t\treturn cssClasses.filter(r => r).join(' ');\r\n\t}\r\n\r\n\tconst show = () => setIsShow(true);\r\n\tconst hide = () => setIsShow(false);\r\n\r\n\tconst handleOnClick = (option: ISelectOption) => {\r\n\t\tif (model !== option.value) {\r\n\t\t\tonSelect && onSelect(option);\r\n\t\t}\r\n\t\tsetModel(option.label as string);\r\n\t\thide();\r\n\t}\r\n\r\n\tconst handleOnChange = (e: any) => {\r\n\t\tsetModel(e.target.value);\r\n\t\tsetSearchText(e.target.value);\r\n\t\tshow();\r\n\t}\r\n\r\n\tconst handleOnFocus = () => {\r\n\t\topenOnFocus && show();\r\n\t}\r\n\r\n\tconst handleClickReset = () => {\r\n\t\tsetModel('');\r\n\t\tsetSearchText('');\r\n\t}\r\n\r\n\treturn (\r\n\t\t<div ref={selectConainter} className={styles.selectContainer}>\r\n\t\t\t<div className=\"d-flex\">\r\n\r\n\t\t\t\t<input\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\tclassName={getCssClass()}\r\n\t\t\t\t\tid={id}\r\n\t\t\t\t\tname={name}\r\n\t\t\t\t\ttabIndex={0}\r\n\t\t\t\t\treadOnly={readOnly}\r\n\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\tonChange={handleOnChange}\r\n\t\t\t\t\tonFocus={handleOnFocus}\r\n\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\tvalue={model}\r\n\t\t\t\t/>\r\n\r\n\t\t\t\t{showClearButton && (model?.length as number) > 0 &&\r\n\t\t\t\t\t<IconButton\r\n\t\t\t\t\t\ticon={<TimesSolidIcon />}\r\n\t\t\t\t\t\tonClick={handleClickReset}\r\n\t\t\t\t\t/>}\r\n\t\t\t</div>\r\n\r\n\t\t\t{isShow &&\r\n\t\t\t\t<>\r\n\t\t\t\t\t<div className={styles.selectMenu}>\r\n\t\t\t\t\t\t<List>\r\n\t\t\t\t\t\t\t{optionsTemp && optionsTemp.map((option, index) =>\r\n\t\t\t\t\t\t\t\t<ListItem\r\n\t\t\t\t\t\t\t\t\tid={`list-item-${index}`}\r\n\t\t\t\t\t\t\t\t\tkey={option.value}\r\n\t\t\t\t\t\t\t\t\tonClick={() => handleOnClick(option)}\r\n\t\t\t\t\t\t\t\t\tdisabled={!option.value}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<ListItemText primary={option.label ? option.label : option.value} />\r\n\t\t\t\t\t\t\t\t</ListItem>\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t</List>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<Backdrop isTransparent onClick={() => hide()} />\r\n\t\t\t\t</>\r\n\t\t\t}\r\n\r\n\t\t</div>\r\n\t)\r\n}\r\n","import React from 'react';\r\nimport { COLOR } from \"../component.enums\";\r\nimport styles from './Badge.module.scss';\r\n\r\nexport interface IBadgeProps extends React.ComponentProps<\"div\"> {\r\n\tcolor?: COLOR;\r\n\tcontent?: any;\r\n}\r\n\r\nexport const Badge = (props: IBadgeProps) => {\r\n\r\n\tconst { children, content, className, color = COLOR.primary, ...rest } = props;\r\n\r\n\tconst getCssClassesBadgeContainer = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.badgeContainer);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\tconst getCssClassesBadge = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.badge);\r\n\t\tcssClasses.push(styles[color]);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div className={getCssClassesBadgeContainer()} {...rest}>\r\n\t\t\t{children}\r\n\r\n\t\t\t<span className={getCssClassesBadge()}>\r\n\t\t\t\t{content}\r\n\t\t\t</span>\r\n\t\t</div>\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport { Icon } from '..';\r\n\r\nimport { COLOR, VARIANT } from '../component.enums';\r\nimport styles from './Button.module.scss';\r\n\r\nexport interface IButtonProps extends React.ComponentProps<\"button\"> {\r\n\tcolor?: COLOR;\r\n\tisActive?: boolean;\r\n\tisRounded?: boolean;\r\n\tvariant?: VARIANT;\r\n\tstartIcon?: React.SVGProps<SVGSVGElement>;\r\n\tendIcon?: React.SVGProps<SVGSVGElement>;\r\n}\r\n\r\nexport const Button: React.FunctionComponent<IButtonProps> = (props) => {\r\n\r\n\tconst { children, variant = VARIANT.contained, color = COLOR.primary, isRounded, isActive, className, startIcon, endIcon, ...rest } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.button);\r\n\r\n\t\tif (variant !== 'outline' && variant !== 'text') {\r\n\t\t\tcssClasses.push(styles.btnContained);\r\n\t\t\tcssClasses.push(styles[color]);\r\n\t\t}\r\n\t\tif (variant === 'outline') {\r\n\t\t\tcssClasses.push(styles.btnOutline);\r\n\t\t\tcssClasses.push(styles[color]);\r\n\t\t}\r\n\t\tif (variant === 'text') {\r\n\t\t\tcssClasses.push(styles.btnText);\r\n\t\t\tcssClasses.push(styles[color]);\r\n\t\t}\r\n\t\tif (isRounded && variant !== 'text') {\r\n\t\t\tcssClasses.push(`rounded-pill`);\r\n\t\t}\r\n\t\tif (isActive) {\r\n\t\t\tcssClasses.push('active');\r\n\t\t}\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\treturn (\r\n\t\t<button\r\n\t\t\ttype=\"button\"\r\n\t\t\tclassName={getCssClasses()}\r\n\t\t\t{...rest}\r\n\t\t>\r\n\t\t\t<span className=\"d-flex justify-content-center\">\r\n\t\t\t\t{startIcon &&\r\n\t\t\t\t\t<Icon className={styles.startIcon}>\r\n\t\t\t\t\t\t{startIcon}\r\n\t\t\t\t\t</Icon>\r\n\t\t\t\t}\r\n\t\t\t\t{children}\r\n\t\t\t\t{endIcon &&\r\n\t\t\t\t\t<Icon className={styles.endIcon}>\r\n\t\t\t\t\t\t{endIcon}\r\n\t\t\t\t\t</Icon>\r\n\t\t\t\t}\r\n\t\t\t</span>\r\n\t\t</button>\r\n\t);\r\n};\r\n","import React from 'react';\r\nimport styles from './ButtonGroup.module.scss';\r\n\r\nexport interface IButtonGroupProps extends React.ComponentProps<\"div\"> {\r\n}\r\n\r\nexport const ButtonGroup = (props: IButtonGroupProps) => {\r\n\r\n\tconst { children, className, ...rest } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.buttonGroup);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div className={getCssClasses()} role=\"group\" {...rest}>\r\n\t\t\t{children}\r\n\t\t</div>\r\n\t);\r\n}\r\n","import React, { ReactNode } from 'react';\r\nimport styles from './Breadcrumb.module.scss';\r\n\r\nexport interface IBreadcrumbProps extends React.ComponentProps<\"nav\"> {\r\n\tchildren?: ReactNode;\r\n}\r\n\r\nexport const Breadcrumb = (props: IBreadcrumbProps) => {\r\n\r\n\tconst { children, className, ...rest } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.breadcrumb);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\treturn (\r\n\t\t<nav {...rest}>\r\n\t\t\t<ol className={getCssClasses()}>\r\n\t\t\t\t{children}\r\n\t\t\t</ol>\r\n\t\t</nav>\r\n\t);\r\n}\r\n","interface IConditionalWrapperProps {\r\n\tcondition: boolean;\r\n\twrapper: (children: React.ReactNode) => any;\r\n\tchildren: React.ReactNode;\r\n}\r\n\r\nexport const ConditionalWrapper = ({ condition, wrapper, children }: IConditionalWrapperProps) =>\r\n\tcondition ? wrapper(children) : children;\r\n","import React, { ReactNode } from 'react';\r\nimport { ConditionalWrapper } from '../ConditionalWrapper';\r\nimport styles from './BreadcrumbItem.module.scss';\r\n\r\nexport interface IBreadcrumbItemProps {\r\n\tclassName?: string;\r\n\tisActive?: boolean;\r\n\tpath?: string;\r\n\tchildren?: ReactNode;\r\n\tonClick?: (event: React.MouseEvent) => void;\r\n}\r\n\r\nexport const BreadcrumbItem = (props: IBreadcrumbItemProps) => {\r\n\r\n\tconst { children, className, isActive, onClick } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.breadcrumbItem);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\tisActive && cssClasses.push('active');\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\tconst handleClick = (event: React.MouseEvent) => {\r\n\t\tonClick && onClick(event);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<li className={getCssClasses()} onClick={handleClick}>\r\n\t\t\t<ConditionalWrapper\r\n\t\t\t\tcondition={!isActive}\r\n\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-is-valid\r\n\t\t\t\twrapper={label => <a>{label}</a>}>\r\n\t\t\t\t{children}\r\n\t\t\t</ConditionalWrapper>\r\n\t\t</li>\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport styles from './Card.module.scss';\r\n\r\ninterface ICardProps extends React.ComponentProps<\"div\"> {\r\n\tshadow?: boolean;\r\n}\r\n\r\nexport const Card = (props: ICardProps) => {\r\n\r\n\tconst { children, className, shadow = true, ...rest } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.card);\r\n\t\tshadow && cssClasses.push(styles.shadow);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div className={getCssClasses()} {...rest}>\r\n\t\t\t{children}\r\n\t\t</div>\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport styles from './CardBody.module.scss';\r\n\r\ninterface ICardBodyProps extends React.ComponentProps<\"div\"> {\r\n}\r\n\r\nexport const CardBody = (props: ICardBodyProps) => {\r\n\r\n\tconst { children, className, ...rest } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.cardBody);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div className={getCssClasses()} {...rest}>\r\n\t\t\t{children}\r\n\t\t</div>\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport styles from './CardFooter.module.scss';\r\n\r\ninterface ICardFooter extends React.ComponentProps<\"div\"> {\r\n}\r\n\r\nexport const CardFooter = (props: ICardFooter) => {\r\n\r\n\tconst { children, className, ...rest } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.cardFooter);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div className={getCssClasses()} {...rest}>\r\n\t\t\t{children}\r\n\t\t</div>\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport styles from './CardSubtitle.module.scss';\r\n\r\ninterface ICardSubtitleProps extends React.ComponentProps<\"div\"> {\r\n}\r\n\r\nexport const CardSubtitle = (props: ICardSubtitleProps) => {\r\n\r\n\tconst { children, className, ...rest } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.cardSubtitle);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\treturn (\r\n\t\t<p className={getCssClasses()} {...rest}>\r\n\t\t\t{children}\r\n\t\t</p>\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport styles from './CardText.module.scss';\r\n\r\ninterface ICardTextProps extends React.ComponentProps<\"p\"> {\r\n}\r\n\r\nexport const CardText = (props: ICardTextProps) => {\r\n\r\n\tconst { children, className, ...rest } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.cardText);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\treturn (\r\n\t\t<p className={getCssClasses()} {...rest}>\r\n\t\t\t{props.children}\r\n\t\t</p>\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport styles from './CardTitle.module.scss';\r\n\r\ninterface ICardTitleProps extends React.ComponentProps<\"div\"> {\r\n\tas?: any;\r\n}\r\n\r\nexport const CardTitle = (props: ICardTitleProps) => {\r\n\r\n\tconst { children, className, as: As = 'div', ...rest } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.cardTitle);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\treturn (\r\n\t\t<As className={getCssClasses()} {...rest}>\r\n\t\t\t{children}\r\n\t\t</As>\r\n\t)\r\n}\r\n","import React from 'react';\r\nimport styles from './CardImage.module.scss';\r\n\r\ninterface ICardImageProps extends React.ComponentProps<\"img\"> {\r\n}\r\n\r\nexport const CardImage = (props: ICardImageProps) => {\r\n\r\n\tconst { src, alt, className, ...rest } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.cardImage);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\treturn (\r\n\t\t<img\r\n\t\t\tclassName={getCssClasses()}\r\n\t\t\tsrc={src}\r\n\t\t\talt={alt}\r\n\t\t\t{...rest}\r\n\t\t/>\r\n\t)\r\n};\r\n","import React from 'react';\r\n\r\nexport const CaretDownSolidIcon = () => (\r\n\t<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"fas\" data-icon=\"caret-down\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\"><path fill=\"currentColor\" d=\"M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z\"></path></svg>\r\n)\r\n","import React from 'react';\r\n\r\nexport const CheckSquareRegularIcon = () => (\r\n\t<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"check-square\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><path fill=\"currentColor\" d=\"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm0 400H48V80h352v352zm-35.864-241.724L191.547 361.48c-4.705 4.667-12.303 4.637-16.97-.068l-90.781-91.516c-4.667-4.705-4.637-12.303.069-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l59.792 60.277 141.352-140.216c4.705-4.667 12.303-4.637 16.97.068l22.536 22.718c4.667 4.706 4.637 12.304-.068 16.971z\"></path></svg>\r\n)\r\n","import React from 'react';\r\n\r\nexport const ChevronDownSolidIcon = () => (\r\n\t<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"fas\" data-icon=\"chevron-down\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><path fill=\"currentColor\" d=\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\"></path></svg>\r\n)\r\n","import React from 'react';\r\n\r\nexport const ChevronRightSolidIcon = () => (\r\n\t<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"fas\" data-icon=\"chevron-right\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\"><path fill=\"currentColor\" d=\"M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z\"></path></svg>\r\n)\r\n","import React from 'react';\r\n\r\nexport const ChevronUpSolidIcon = () => (\r\n\t<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"fas\" data-icon=\"chevron-up\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\">\r\n\t\t<path fill=\"currentColor\" d=\"M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z\">\r\n\t\t</path>\r\n\t</svg>\r\n)\r\n","import React from 'react';\r\n\r\nexport const HomeSolidIcon = () => (\r\n\t<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"fas\" data-icon=\"home\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\">\r\n\t\t<path fill=\"currentColor\" d=\"M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z\">\r\n\t\t</path>\r\n\t</svg>\r\n)\r\n","import React from 'react';\r\n\r\nexport const SquareRegularIcon = () => (\r\n\t<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"square\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\">\r\n\t\t<path fill=\"currentColor\" d=\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h340c3.3 0 6 2.7 6 6v340c0 3.3-2.7 6-6 6z\">\r\n\t\t</path>\r\n\t</svg>\r\n)\r\n","import React from 'react';\r\n\r\nexport const TimesCircleSolidIcon = () => (\r\n\t<svg aria-hidden=\"true\" focusable=\"false\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path fill=\"currentColor\" d=\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z\"></path></svg>\r\n)\r\n","import React from 'react';\r\n\r\nexport const TimesSolidIcon = () => (\r\n\t<svg aria-hidden=\"true\" focusable=\"false\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 352 512\"><path fill=\"currentColor\" d=\"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z\"></path></svg>\r\n)\r\n","import React from 'react';\r\n\r\nexport const SpinnerSolidIcon = () => (\r\n\t<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"fas\" data-icon=\"spinner\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path fill=\"currentColor\" d=\"M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z\"></path></svg>\r\n);\r\n","import React from 'react';\r\n\r\nexport const PlusSolidIcon = () => (\r\n\t<svg aria-hidden=\"true\" focusable=\"false\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><path fill=\"currentColor\" d=\"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"></path></svg>\r\n);\r\n","import React from 'react';\r\n\r\nexport const CheckSolidIcon = () => (\r\n\t<svg aria-hidden=\"true\" focusable=\"false\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path fill=\"currentColor\" d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"></path></svg>\r\n)\r\n","import React from 'react';\r\n\r\nexport const CircleSolidIcon = () => (\r\n\t<svg aria-hidden=\"true\" focusable=\"false\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path fill=\"currentColor\" d=\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z\"></path></svg>\r\n)\r\n","import React from 'react';\r\n\r\nexport const ChevronLeftSolidIcon = () => (\r\n\t<svg aria-hidden=\"true\" focusable=\"false\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\"><path fill=\"currentColor\" d=\"M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z\"></path></svg>\r\n)\r\n","import React, { ComponentProps } from 'react';\r\nimport { COLOR } from '../component.enums';\r\nimport styles from './Icon.module.scss';\r\n\r\nexport interface IIconProps extends ComponentProps<\"div\"> {\r\n\ticonColor?: COLOR;\r\n}\r\n\r\nexport const Icon = (props: IIconProps) => {\r\n\r\n\tconst { children, iconColor, className, ...rest } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.icon);\r\n\t\ticonColor && cssClasses.push(styles[iconColor]);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t}\r\n\r\n\treturn (\r\n\t\t<div\r\n\t\t\tclassName={getCssClasses()}\r\n\t\t\t{...rest}\r\n\t\t>\r\n\t\t\t{children}\r\n\t\t</div>\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport { COLOR, SIZE, VARIANT } from '../component.enums';\r\nimport { Icon } from '../Icon';\r\nimport styles from './IconButton.module.scss';\r\n\r\nexport interface IIconButtonProps extends React.ComponentProps<\"button\"> {\r\n\ticon?: React.SVGProps<SVGSVGElement>;\r\n\tcolor?: COLOR;\r\n\tsize?: SIZE;\r\n\tisActive?: boolean;\r\n\tvariant?: VARIANT;\r\n\tshadow?: boolean;\r\n}\r\n\r\nexport const IconButton = (props: IIconButtonProps) => {\r\n\r\n\tconst { children, icon, variant = VARIANT.text, color = COLOR.dark, size = SIZE.md, isActive, disabled, className, shadow, ...rest } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles[color]);\r\n\t\tcssClasses.push(styles[variant]);\r\n\t\tcssClasses.push(styles[size]);\r\n\t\tcssClasses.push(styles.iconButton);\r\n\r\n\t\tisActive && cssClasses.push(styles.active);\r\n\t\tdisabled && cssClasses.push(styles.disabled);\r\n\t\tshadow && cssClasses.push(styles.shadow);\r\n\r\n\t\tclassName && cssClasses.push(className);\r\n\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\treturn (\r\n\t\t<button\r\n\t\t\ttype=\"button\"\r\n\t\t\tclassName={getCssClasses()}\r\n\t\t\tdisabled={disabled}\r\n\t\t\t{...rest}\r\n\t\t>\r\n\t\t\t{icon && <Icon>{icon}</Icon>}\r\n\t\t\t{children}\r\n\t\t</button >\r\n\t);\r\n};\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { CheckSquareRegularIcon, SquareRegularIcon } from '../../assets/icons';\r\nimport { IconButton } from '../IconButton';\r\nimport styles from './Checkbox.module.scss';\r\n\r\n// TODO refactor htmlBasaeProps\r\nexport interface ICheckboxProps extends React.ComponentProps<\"input\"> {\r\n\tlabel?: string;\r\n\tvalue?: string;\r\n\tonChange?: (val: React.FocusEvent<HTMLInputElement>) => void;\r\n\tonKeyDown?: (event: React.KeyboardEvent) => void;\r\n}\r\n\r\nexport const Checkbox = (props: ICheckboxProps) => {\r\n\r\n\tconst { id, checked, className, label, name, value = \"off\", disabled, readOnly, ...rest } = props;\r\n\r\n\t// TODO\r\n\t// add own value\r\n\t// set from outer\r\n\t// update on change\r\n\t// emit to outer\r\n\t// can be: true/false, custom\r\n\r\n\tconst [isChecked, setIsChecked] = useState<boolean>(false);\r\n\tconst checkboxElement = useRef<HTMLInputElement>(null);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (checked === true || checked === false) {\r\n\t\t\tsetIsChecked(checked);\r\n\t\t}\r\n\t}, [checked]);\r\n\r\n\tconst icons = {\r\n\t\tdefault: <SquareRegularIcon />,\r\n\t\tselected: <CheckSquareRegularIcon />\r\n\t};\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push('checkbox');\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\tconst getIcon = () => {\r\n\t\treturn isChecked ? icons.selected : icons.default;\r\n\t};\r\n\r\n\tconst handleClick = () => {\r\n\t\tif (!disabled && !readOnly) {\r\n\t\t\tsetIsChecked(!isChecked);\r\n\t\t\tcheckboxElement?.current?.click();\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div className={styles.checkboxContainer}>\r\n\r\n\t\t\t<IconButton\r\n\t\t\t\tclassName={getCssClasses()}\r\n\t\t\t\tonClick={handleClick}\r\n\t\t\t\ticon={getIcon()}\r\n\t\t\t\tdisabled={disabled || readOnly}\r\n\t\t\t/>\r\n\r\n\t\t\t<label onClick={handleClick} className={styles.checkboxLabel + ' ' + (disabled ? styles['disabled'] : undefined)}>\r\n\t\t\t\t{label}\r\n\t\t\t</label>\r\n\r\n\t\t\t<input\r\n\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\tref={checkboxElement}\r\n\t\t\t\tid={id}\r\n\t\t\t\tname={name}\r\n\t\t\t\tchecked={isChecked}\r\n\t\t\t\tdisabled={disabled}\r\n\t\t\t\treadOnly={readOnly}\r\n\t\t\t\thidden={true}\r\n\t\t\t\tvalue={value}\r\n\t\t\t\t{...rest}\r\n\t\t\t/>\r\n\t\t</div>\r\n\t);\r\n}\r\n","import React from \"react\";\r\nimport { TimesCircleSolidIcon } from '../../assets/icons';\r\nimport { COLOR } from '../component.enums';\r\nimport styles from './Chip.module.scss';\r\n\r\nexport interface IChipProps extends React.ComponentProps<\"div\"> {\r\n\tcolor?: COLOR;\r\n\tshadow?: boolean;\r\n\tonClick?: (e: React.MouseEvent<Element>) => void;\r\n\tisDeletable?: boolean;\r\n\tonDelete?: (e: React.MouseEvent<Element>) => void;\r\n\tdeleteIcon?: any;\r\n}\r\n\r\nexport const Chip = (props: IChipProps) => {\r\n\r\n\tconst { children, color = 'secondary', className, shadow, onClick, isDeletable, onDelete, deleteIcon = <TimesCircleSolidIcon />, style, ...rest } = props;\r\n\r\n\tconst getCssClass = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.chip);\r\n\t\tcssClasses.push(styles[color]);\r\n\t\tshadow && cssClasses.push(styles['shadow']);\r\n\t\tonClick && cssClasses.push(styles['clickable']);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(r => r).join(' ');\r\n\t}\r\n\r\n\tconst handleClickOnDelete = (e: React.MouseEvent<Element>) => {\r\n\t\te.stopPropagation();\r\n\t\tonDelete && onDelete(e);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<div className={getCssClass()} {...rest} style={style}>\r\n\t\t\t<div>\r\n\t\t\t\t{children}\r\n\t\t\t</div>\r\n\t\t\t{isDeletable && (\r\n\t\t\t\t<div className={styles.deleteIcon} onClick={e => handleClickOnDelete(e)}>\r\n\t\t\t\t\t{deleteIcon}\r\n\t\t\t\t</div>\r\n\t\t\t)}\r\n\t\t</div>\r\n\t);\r\n}\r\n","import React, { ComponentProps, FunctionComponent, HTMLAttributes } from 'react';\r\nimport styles from './FormLabel.module.scss';\r\n\r\nexport interface IFormLabelProps extends ComponentProps<\"label\"> {\r\n}\r\n\r\nexport const FormLabel: FunctionComponent<IFormLabelProps & HTMLAttributes<HTMLLabelElement>> = (props) => {\r\n\r\n\tconst { children, className, htmlFor, ...rest } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.formLabel);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\treturn (\r\n\t\t<label htmlFor={htmlFor} className={getCssClasses()} {...rest}>\r\n\t\t\t{children}\r\n\t\t</label>\r\n\t);\r\n}\r\n","import React, { ReactNode } from 'react';\r\n\r\ninterface IFormGroupProps {\r\n\tchildren?: ReactNode;\r\n\tclassName?: string;\r\n}\r\n\r\nexport const FormGroup = (props: IFormGroupProps) => {\r\n\r\n\tconst { children, className = 'mb-1' } = props;\r\n\r\n\treturn (\r\n\t\t<div className={className}>\r\n\t\t\t{children}\r\n\t\t</div>\r\n\t);\r\n};\r\n","import React, { useRef, useState } from 'react';\r\nimport { Button } from '../Button';\r\nimport { Chip } from '../Chip';\r\n\r\nexport interface IFileInputProps extends React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement> {\r\n\tdeletable?: boolean;\r\n}\r\n\r\nexport const FileInput = (props: IFileInputProps) => {\r\n\r\n\tconst {\r\n\t\tid,\r\n\t\tchecked,\r\n\t\tclassName,\r\n\t\tchildren,\r\n\t\tname,\r\n\t\tmultiple = false,\r\n\t\taccept,\r\n\t\tdisabled,\r\n\t\tonChange,\r\n\t\treadOnly,\r\n\t\tvalue,\r\n\t\tdeletable = false,\r\n\t\t...rest\r\n\t} = props;\r\n\tconst inputFileElement = useRef<HTMLInputElement>(null);\r\n\r\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n\tconst [model, setModel] = useState<any>(value);\r\n\tconst [fileList, setFileList] = useState<FileList>();\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(r => r).join(' ');\r\n\t}\r\n\r\n\tconst handleOnChange = (event: any) => {\r\n\t\tconst values = event.target.files as FileList;\r\n\t\tsetFileList(values);\r\n\t\tonChange && onChange(event);\r\n\t}\r\n\r\n\tconst handleOnDelete = (file: File) => {\r\n\t\t// TODO - setModel\r\n\t\talert('coming soon');\r\n\t}\r\n\r\n\treturn (\r\n\t\t<div className=\"d-flex align-items-start\">\r\n\t\t\t<Button className=\"flex-wrap\" disabled={disabled} onClick={() => inputFileElement.current?.click()}>\r\n\t\t\t\t{children}\r\n\t\t\t</Button>\r\n\r\n\t\t\t<div className=\"d-flex align-items-center flex-wrap ml-1\">\r\n\t\t\t\t{fileList && Array.from(fileList).map((file) =>\r\n\t\t\t\t\t<Chip\r\n\t\t\t\t\t\tkey={file.name}\r\n\t\t\t\t\t\tisDeletable={deletable}\r\n\t\t\t\t\t\tonDelete={() => handleOnDelete(file)}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{file.name}\r\n\t\t\t\t\t</Chip>\r\n\t\t\t\t)}\r\n\t\t\t</div>\r\n\r\n\t\t\t<input\r\n\t\t\t\ttype=\"file\"\r\n\t\t\t\tref={inputFileElement}\r\n\t\t\t\tclassName={getCssClasses()}\r\n\t\t\t\tid={id}\r\n\t\t\t\tname={name}\r\n\t\t\t\tmultiple={multiple}\r\n\t\t\t\taccept={accept}\r\n\t\t\t\tdisabled={disabled}\r\n\t\t\t\treadOnly={readOnly}\r\n\t\t\t\thidden={true}\r\n\t\t\t\tonChange={handleOnChange}\r\n\t\t\t\tvalue={model}\r\n\t\t\t\t{...rest}\r\n\t\t\t/>\r\n\t\t</div>\r\n\t);\r\n}\r\n","import React, { KeyboardEventHandler, useEffect, useRef, useState } from 'react';\r\nimport { ChevronDownSolidIcon } from '../../assets/icons';\r\nimport { Checkbox } from '../Checkbox';\r\nimport { Chip } from '../Chip';\r\nimport { COLOR } from '../component.enums';\r\nimport { List, ListItem, ListItemText } from '../List';\r\nimport { Icon } from '../Icon';\r\nimport { ISelectOption } from '../component.interfaces';\r\nimport styles from './Select.module.scss';\r\nimport { Backdrop } from '..';\r\nimport { createPortal } from 'react-dom';\r\n\r\n// TODO\r\n// navigate by keys\r\n// on key down\r\n// option als component auslagern?\r\n// custom template render items\r\n\r\n\r\nexport interface ISelectProps {\r\n\tid?: string;\r\n\tname?: string;\r\n\tclassName?: string;\r\n\toptions?: Array<ISelectOption>;\r\n\tvalue?: string | Array<string>;\r\n\tmultiple?: boolean;\r\n\tmultipleMaxCountItems?: number;\r\n\tdisabled?: boolean;\r\n\tonChange?: (val: string | Array<string>) => void;\r\n\tonKeyDown?: (event: any) => void;\r\n}\r\n\r\nexport const Select = (props: ISelectProps) => {\r\n\r\n\tconst { id, className, options = [], value, multiple, multipleMaxCountItems = 5, onChange, onKeyDown } = props;\r\n\r\n\tconst [model, setModel] = useState<string | Array<string>>('');\r\n\tconst [hoverIndex, setHoverIndex] = useState<number | null>(null);\r\n\tconst [isShow, setIsShow] = useState<boolean>(false);\r\n\tconst [selectedOptions, setSelectedOptions] = useState<Array<ISelectOption>>([]);\r\n\tconst selectConainter = useRef<HTMLDivElement>(null);\r\n\r\n\tconst getCssClass = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tclassName && cssClasses.push(className);\r\n\t\tcssClasses.push(styles.select);\r\n\t\treturn cssClasses.filter(r => r).join(' ');\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tconst newValue = !!value ? value : '';\r\n\t\twriteValue(newValue);\r\n\t\tif (newValue) {\r\n\t\t\tconst option = options.find(o => o.value === newValue);\r\n\t\t\tif (option) {\r\n\t\t\t\tsetHoverIndex(options.indexOf(option));\r\n\t\t\t}\r\n\t\t}\r\n\t}, [value, options]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (hoverIndex) {\r\n\t\t\tscrollIntoView(hoverIndex);\r\n\t\t}\r\n\t}, [hoverIndex, isShow]);\r\n\r\n\tconst scrollIntoView = (index: number) => {\r\n\t\tconst htmlListItem = selectConainter.current?.querySelector(`#list-item-${index}`);\r\n\t\tif (htmlListItem) {\r\n\t\t\thtmlListItem?.scrollIntoView({ block: \"end\", behavior: \"smooth\" });\r\n\t\t}\r\n\t}\r\n\r\n\tconst writeValue = (val: string | Array<string>) => setModel(val);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!multiple) {\r\n\t\t\tconst newOption = options.find(o => o.value === model);\r\n\t\t\tif (newOption) {\r\n\t\t\t\tsetSelectedOptions([newOption]);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tconst filteredOptions = options.filter(o => model.indexOf(o.value) >= 0);\r\n\t\t\tsetSelectedOptions([...filteredOptions]);\r\n\t\t}\r\n\t}, [model, multiple]);\r\n\r\n\tconst handleOnClick = (option: ISelectOption) => {\r\n\t\tlet newValue: string | Array<string> = multiple ? [] : '';\r\n\r\n\t\tif (!multiple) {\r\n\t\t\tif (model !== option.value) {\r\n\t\t\t\tnewValue = option.value;\r\n\t\t\t\tonChange && onChange(newValue);\r\n\t\t\t}\r\n\t\t\thide();\r\n\t\t} else {\r\n\t\t\tconst selectedOption = selectedOptions.find(o => o.value === option.value);\r\n\t\t\tif (selectedOption) {\r\n\t\t\t\tnewValue = selectedOptions.filter(o => o.value !== option.value).map(o => o.value);\r\n\t\t\t} else {\r\n\t\t\t\tnewValue = (newValue as Array<string>).concat(selectedOptions.map(o => o.value));\r\n\t\t\t\t(newValue as Array<string>).push(option.value);\r\n\t\t\t}\r\n\t\t\tonChange && onChange(newValue);\r\n\t\t}\r\n\r\n\t\twriteValue(newValue);\r\n\t}\r\n\r\n\tconst show = () => setIsShow(true);\r\n\tconst hide = () => setIsShow(false);\r\n\tconst isActive = (option: ISelectOption) => {\r\n\t\treturn selectedOptions.indexOf(option) >= 0 || hoverIndex === options.indexOf(option);\r\n\t}\r\n\r\n\tconst renderSingleViewModel = () => {\r\n\t\tlet result = null;\r\n\t\tif (selectedOptions.length > 0) {\r\n\t\t\tresult = <span>{selectedOptions[0].label}</span>;\r\n\t\t}\r\n\t\treturn result;\r\n\t}\r\n\r\n\tconst renderMultipleViewModel = () => {\r\n\t\tlet result = null;\r\n\t\tif (selectedOptions.length <= multipleMaxCountItems && selectedOptions.length > 0) {\r\n\t\t\tresult = selectedOptions\r\n\t\t\t\t.map(o =>\r\n\t\t\t\t\t<Chip\r\n\t\t\t\t\t\tkey={o.value}\r\n\t\t\t\t\t\tclassName=\"mr-2\"\r\n\t\t\t\t\t\tcolor={COLOR.primary}\r\n\t\t\t\t\t\tisDeletable={true}\r\n\t\t\t\t\t\tonDelete={(e) => handleOnDelete((e as any), o)}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{o.label}\r\n\t\t\t\t\t</Chip>\r\n\t\t\t\t);\r\n\t\t} else {\r\n\t\t\tresult = <span>{selectedOptions.length} Items selected</span>\r\n\t\t}\r\n\t\treturn result;\r\n\t}\r\n\r\n\tconst handleOnDelete = (event: Event, option: ISelectOption) => {\r\n\t\tevent.stopPropagation();\r\n\t\thandleOnClick(option);\r\n\t}\r\n\r\n\t// TODO - extract with wrapper?\r\n\tconst handleOnKeyDown = (e: KeyboardEventHandler<HTMLDivElement>) => {\r\n\t\tif (isShow) {\r\n\t\t\tonKeyDown && onKeyDown(e);\r\n\r\n\t\t\tswitch ((e as any).code) {\r\n\t\t\t\tcase 'Escape':\r\n\t\t\t\t\thide();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'ArrowDown':\r\n\t\t\t\t\tif (hoverIndex) {\r\n\t\t\t\t\t\tsetHoverIndex(hoverIndex + 1);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'ArrowUp':\r\n\t\t\t\t\t// TODO\r\n\t\t\t\t\tif (hoverIndex) {\r\n\t\t\t\t\t\tsetHoverIndex(hoverIndex - 1);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'Enter':\r\n\t\t\t\t\tif (hoverIndex) {\r\n\t\t\t\t\t\tconst option = options[hoverIndex];\r\n\t\t\t\t\t\tif (option) handleOnClick(option);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t<div ref={selectConainter} className={styles.selectContainer}>\r\n\r\n\t\t\t<div id={id} className={getCssClass()} onClick={() => show()} tabIndex={0} onKeyDown={e => handleOnKeyDown(e as any)}>\r\n\t\t\t\t{!multiple && renderSingleViewModel()}\r\n\t\t\t\t{multiple && renderMultipleViewModel()}\r\n\r\n\t\t\t\t<Icon className=\"ml-auto\"><ChevronDownSolidIcon /></Icon>\r\n\t\t\t</div>\r\n\r\n\t\t\t{isShow &&\r\n\r\n\t\t\t\tcreatePortal(\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t<div className={styles.selectMenu} style={{ left: selectConainter.current?.getBoundingClientRect().x, top: selectConainter.current?.getBoundingClientRect().y, width: selectConainter.current?.getBoundingClientRect().width }}>\r\n\t\t\t\t\t\t\t<List>\r\n\t\t\t\t\t\t\t\t{options && options.map((option, index) =>\r\n\t\t\t\t\t\t\t\t\t<ListItem id={`list-item-${index}`} key={option.value} onClick={() => handleOnClick(option)} active={isActive(option)}>\r\n\r\n\t\t\t\t\t\t\t\t\t\t{multiple &&\r\n\t\t\t\t\t\t\t\t\t\t\t<Checkbox\r\n\t\t\t\t\t\t\t\t\t\t\t\tchecked={isActive(option)}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={() => handleOnClick(option)}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t<ListItemText primary={option.label ? option.label : option.value} />\r\n\t\t\t\t\t\t\t\t\t</ListItem>\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t</List>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<Backdrop style={{ zIndex: 1111 }} isTransparent onClick={() => hide()} />\r\n\t\t\t\t\t</>, document.body)\r\n\r\n\r\n\t\t\t}\r\n\r\n\t\t</div>\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport styles from './Textarea.module.scss';\r\n\r\nexport const Textarea = (props: React.ComponentProps<\"textarea\">) => {\r\n\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst getCssClass = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.textarea);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(r => r).join(' ');\r\n\t}\r\n\r\n\treturn (\r\n\t\t<textarea\r\n\t\t\tclassName={getCssClass()}\r\n\t\t\t{...rest}\r\n\t\t/>\r\n\t);\r\n}\r\n","import React, { Fragment } from 'react';\r\nimport { AutoComplete } from '../../AutoComplete';\r\nimport { Checkbox } from '../../Checkbox';\r\nimport { FileInput } from '../../FileInput';\r\nimport { Select } from '../../Select';\r\nimport { Textarea } from '../../Textarea';\r\nimport { IFormInputOptions, IFormTextAreaOptions, IFormSelectOptions, IFormAutoCompleteOptions } from '../form.interfaces';\r\nimport { IFormControlType } from '../form.types';\r\nimport styles from './FormInput.module.scss';\r\n\r\nexport interface IFormInputEvent {\r\n\tvalue?: any;\r\n\ttype?: string;\r\n\tname?: string;\r\n}\r\n\r\nexport interface IFormInputProps {\r\n\tvalue: any;\r\n\tname: string;\r\n\ttype: IFormControlType;\r\n\tplaceholder?: string;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\treadonly?: boolean;\r\n\tisValid?: boolean;\r\n\tautoFocus?: boolean;\r\n\toptions?: Array<IFormInputOptions>;\r\n\ttextareaOptions?: IFormTextAreaOptions;\r\n\tselectOptions?: IFormSelectOptions;\r\n\tautoCompleteOptions?: IFormAutoCompleteOptions;\r\n\tlabel?: string; // checkbox, radio - move?\r\n\tonInput?: (e: IFormInputEvent) => void;\r\n\tonChange?: (e: IFormInputEvent) => void;\r\n\tonBlur?: (event: any) => void;\r\n\tonKeyDown?: (event: any) => void;\r\n}\r\n\r\nexport const FormInput = (props: IFormInputProps) => {\r\n\r\n\tconst {\r\n\t\tvalue,\r\n\t\tname,\r\n\t\ttype,\r\n\t\tplaceholder,\r\n\t\tclassName = 'form-control',\r\n\t\tisValid = true,\r\n\t\toptions = [],\r\n\t\ttextareaOptions,\r\n\t\tselectOptions,\r\n\t\tautoCompleteOptions,\r\n\t\tautoFocus,\r\n\t\tlabel,\r\n\t\tdisabled = false,\r\n\t\treadonly = false,\r\n\t\tonInput,\r\n\t\tonChange,\r\n\t\tonBlur,\r\n\t\tonKeyDown\r\n\t} = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.formInput);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\t!isValid && cssClasses.push('is-invalid');\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\tconst handleOnInput = (value: any, type: string, name: string) => {\r\n\t\tonInput && onInput({ value, type, name })\r\n\t};\r\n\r\n\tconst handleOnChange = (value: any, type: string, name: string) => {\r\n\t\tonChange && onChange({ value, type, name })\r\n\t};\r\n\r\n\treturn (\r\n\t\t<Fragment>\r\n\t\t\t{/* 'toggle' */}\r\n\r\n\t\t\t{\r\n\t\t\t\t(\r\n\t\t\t\t\ttype === 'text' ||\r\n\t\t\t\t\ttype === 'date' ||\r\n\t\t\t\t\ttype === 'datetime-local' ||\r\n\t\t\t\t\ttype === 'email' ||\r\n\t\t\t\t\ttype === 'number' ||\r\n\t\t\t\t\ttype === 'password' ||\r\n\t\t\t\t\ttype === 'color' ||\r\n\t\t\t\t\ttype === 'time'\r\n\t\t\t\t)\r\n\t\t\t\t&&\r\n\t\t\t\t<input\r\n\t\t\t\t\tid={name}\r\n\t\t\t\t\tname={name}\r\n\t\t\t\t\ttype={type}\r\n\t\t\t\t\tclassName={getCssClasses()}\r\n\t\t\t\t\tvalue={value}\r\n\t\t\t\t\tautoFocus={autoFocus}\r\n\t\t\t\t\tonInput={e => handleOnInput((e.target as any).value, type, name as string)}\r\n\t\t\t\t\tonChange={e => handleOnChange((e?.target as any).value, type, name as string)}\r\n\t\t\t\t\tonBlur={onBlur}\r\n\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\treadOnly={readonly}\r\n\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\tonKeyDown={onKeyDown}\r\n\t\t\t\t/>\r\n\t\t\t}\r\n\r\n\t\t\t{type === 'file' &&\r\n\t\t\t\t<FileInput\r\n\t\t\t\t\tid={name}\r\n\t\t\t\t\tname={name}\r\n\t\t\t\t\tclassName={className + (!isValid ? ' is-invalid' : '')}\r\n\t\t\t\t\tvalue={value}\r\n\t\t\t\t\tautoFocus={autoFocus}\r\n\t\t\t\t\treadOnly={readonly}\r\n\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\tonChange={e => handleOnChange(e.target.value, type, name)}\r\n\t\t\t\t>\r\n\t\t\t\t\tchoose a file\r\n\t\t\t\t</FileInput>\r\n\t\t\t}\r\n\r\n\t\t\t{\r\n\t\t\t\ttype === 'textarea' &&\r\n\t\t\t\t<Textarea\r\n\t\t\t\t\tid={name}\r\n\t\t\t\t\tname={name}\r\n\t\t\t\t\tclassName={className + (!isValid ? ' is-invalid' : '')}\r\n\t\t\t\t\tvalue={value}\r\n\t\t\t\t\tautoFocus={autoFocus}\r\n\t\t\t\t\tonInput={e => handleOnInput((e.target as any).value, type, name as string)}\r\n\t\t\t\t\tonChange={e => handleOnChange((e?.target as any).value, type, name as string)}\r\n\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\trows={textareaOptions?.rows}\r\n\t\t\t\t\tstyle={textareaOptions?.resize !== false ? undefined : { resize: 'none' }}\r\n\t\t\t\t/>\r\n\t\t\t}\r\n\r\n\t\t\t{\r\n\t\t\t\ttype === 'select' &&\r\n\t\t\t\t<Select\r\n\t\t\t\t\tid={name}\r\n\t\t\t\t\tname={name}\r\n\t\t\t\t\tclassName={className + (!isValid ? ' is-invalid' : '')}\r\n\t\t\t\t\tvalue={value}\r\n\t\t\t\t\tmultiple={selectOptions?.multiple}\r\n\t\t\t\t\tonChange={e => handleOnChange(e, type, name as string)}\r\n\t\t\t\t\tonKeyDown={onKeyDown}\r\n\t\t\t\t\toptions={options}\r\n\t\t\t\t/>\r\n\t\t\t}\r\n\r\n\t\t\t{\r\n\t\t\t\ttype === 'autocomplete' &&\r\n\t\t\t\t<AutoComplete\r\n\t\t\t\t\tid={name}\r\n\t\t\t\t\tname={name}\r\n\t\t\t\t\tclassName={className + (!isValid ? ' is-invalid' : '')}\r\n\t\t\t\t\tvalue={value}\r\n\t\t\t\t\topenOnFocus={autoCompleteOptions?.openOnFocus}\r\n\t\t\t\t\tonChange={e => handleOnChange(e, type, name as string)}\r\n\t\t\t\t\tonKeyDown={onKeyDown}\r\n\t\t\t\t\toptions={options}\r\n\t\t\t\t/>\r\n\t\t\t}\r\n\r\n\t\t\t{\r\n\t\t\t\ttype === 'checkbox' &&\r\n\t\t\t\t<Checkbox\r\n\t\t\t\t\tid={name}\r\n\t\t\t\t\tname={name}\r\n\t\t\t\t\tlabel={label}\r\n\t\t\t\t\tclassName={(!isValid ? ' is-invalid' : '')}\r\n\t\t\t\t\tonChange={e => handleOnChange((e?.target as any).checked, type, name as string)}\r\n\t\t\t\t\tchecked={value}\r\n\t\t\t\t\tonKeyDown={onKeyDown}\r\n\t\t\t\t/>\r\n\t\t\t}\r\n\r\n\t\t\t{/* {\r\n\t\t\t\ttype === 'checkboxgroup' &&\r\n\t\t\t\toptions && options.map(option =>\r\n\t\t\t\t\t<Checkbox\r\n\t\t\t\t\t\tkey={option.id}\r\n\t\t\t\t\t\tlabel={option.label}\r\n\t\t\t\t\t\tid={option.id}\r\n\t\t\t\t\t\tname={name}\r\n\t\t\t\t\t\tvalue={option.value}\r\n\t\t\t\t\t\tchecked={value && value.some((v: string) => v === option.value)}\r\n\t\t\t\t\t\tonChange={e => onChange && onChange(name, e.target.checked, type)}\r\n\t\t\t\t\t\tonKeyDown={onKeyDown}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)\r\n\t\t\t} */}\r\n\r\n\t\t\t{\r\n\t\t\t\ttype === 'radio' &&\r\n\t\t\t\t<Fragment>\r\n\t\t\t\t\t{options.map((option) =>\r\n\t\t\t\t\t\t<div className=\"form-check\" key={option.id}>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\tid={option.id ? option.id : option.value}\r\n\t\t\t\t\t\t\t\tname={name}\r\n\t\t\t\t\t\t\t\ttype=\"radio\"\r\n\t\t\t\t\t\t\t\tclassName=\"form-check-input\"\r\n\t\t\t\t\t\t\t\tonChange={e => handleOnChange((e?.target as any).value, type, name as string)}\r\n\t\t\t\t\t\t\t\tvalue={option.value}\r\n\t\t\t\t\t\t\t\tchecked={value === option.value}\r\n\t\t\t\t\t\t\t\tonKeyDown={onKeyDown}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<label className=\"form-check-label\" htmlFor={option.id}>\r\n\t\t\t\t\t\t\t\t{option.label}\r\n\t\t\t\t\t\t\t</label>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t)}\r\n\t\t\t\t</Fragment>\r\n\t\t\t}\r\n\r\n\t\t</Fragment>\r\n\t);\r\n};\r\n","import React from 'react';\r\n\r\ninterface IFormHintProps extends React.ComponentProps<\"small\"> {\r\n}\r\n\r\nexport const FormHint = (props: IFormHintProps) => {\r\n\r\n\tconst { children, className = 'form-text text-muted' } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\treturn (\r\n\t\t<small className={getCssClasses()}>\r\n\t\t\t{children}\r\n\t\t</small>\r\n\t);\r\n}\r\n","import React, { Fragment } from 'react';\r\nimport { IFormInputError } from './form.interfaces';\r\n\r\ninterface IFormErrorProps {\r\n\tclassName?: string;\r\n\terrors?: Array<IFormInputError>;\r\n}\r\n\r\nexport const FormError = (props: IFormErrorProps) => {\r\n\r\n\tconst { className = 'invalid-feedback', errors = [] } = props;\r\n\r\n\treturn (\r\n\t\t<Fragment>\r\n\t\t\t{\r\n\t\t\t\terrors &&\r\n\t\t\t\t<div className={className}>\r\n\t\t\t\t\t{errors.map(e => <div key={e.validator}>{e.message}</div>)}\r\n\t\t\t\t</div>\r\n\t\t\t}\r\n\t\t</Fragment>\r\n\t);\r\n};\r\n","export const IsEmptyValidator = (value: any) => value === '' || value === null || value === undefined;\r\n","import { IsEmptyValidator } from './IsEmptyValidator';\r\n\r\nexport const EmailValidator = (value: string) => {\r\n\tconst isInvalidEmailFormat = value.match(/^([\\w.%+-]+)@([\\w-]+\\.)+([\\w]{2,})$/i) === null;\r\n\tconst isInvalid = !IsEmptyValidator(value) && isInvalidEmailFormat;\r\n\treturn isInvalid;\r\n};\r\n","export const IsEqualValidator = (valueA: any, valueB: any) => valueA === valueB;\r\n","import React, { Component, createRef } from 'react';\r\nimport { FormLabel } from './FormLabel';\r\nimport { FormGroup } from './FormGroup';\r\nimport { FormInput } from './FormInput';\r\nimport { FormHint } from './FormHint';\r\nimport { FormError } from './FormError';\r\nimport { IControls, IFormInputError, IFormValues } from './form.interfaces';\r\nimport { IsEmptyValidator, EmailValidator, IsEqualValidator } from './validators';\r\nimport { FormControl } from './form.models';\r\n\r\nexport interface IFormProps {\r\n\tcontrols: IControls;\r\n\tvalidateOnBlur?: boolean;\r\n\tonSubmit?: (values: IFormValues) => void;\r\n\tonChange?: (values: IFormValues) => void;\r\n\tsubmitOnEnter?: boolean;\r\n}\r\n\r\nexport interface IFormState {\r\n\tcontrols: IControls | undefined;\r\n\tisValid: boolean;\r\n\tisSubmitted: boolean;\r\n\tisChanged: boolean;\r\n\tsubmitOnEnter?: boolean;\r\n\t// values -> set onChange etc?\r\n}\r\n\r\n// values, isSubmitting, handleChange, handleBlur, handleSubmit\r\n\r\nexport class Form extends Component<IFormProps, IFormState> {\r\n\tconstructor(props: IFormProps) {\r\n\t\tsuper(props);\r\n\t\tthis.state = { controls: undefined, isValid: false, isChanged: false, isSubmitted: false, submitOnEnter: props.submitOnEnter !== undefined ? props.submitOnEnter : true };\r\n\t}\r\n\r\n\tstatic getDerivedStateFromProps(nextProps: IFormProps, state: IFormState) {\r\n\t\tif (!state.controls && nextProps.controls) {\r\n\t\t\treturn ({ controls: nextProps.controls });\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\r\n\tmyForm = createRef<HTMLFormElement>();\r\n\r\n\thandleChange() {\r\n\t\t// get value by myForm instead of getControl?\r\n\t\tif (this.state.isChanged || this.state.isSubmitted) {\r\n\t\t\tconst keys = Object.keys((this.state.controls as IControls));\r\n\t\t\tconst values = keys.reduce((obj, f) => {\r\n\t\t\t\tconst control = this.getControl(f);\r\n\t\t\t\t// TODO - refactor\r\n\t\t\t\tconst newValue = ((control.type === 'date' || control.type === 'datetime-local') && control.value && isValidDate(control.value)) ? new Date(control.value).toISOString() : control.value;\r\n\r\n\t\t\t\treturn ({\r\n\t\t\t\t\t...obj,\r\n\t\t\t\t\t[f]: newValue\r\n\t\t\t\t})\r\n\t\t\t}, {});\r\n\r\n\t\t\tif (this.state.isValid && this.state.isSubmitted) {\r\n\t\t\t\tthis.props.onSubmit && this.props.onSubmit(values);\r\n\t\t\t}\r\n\t\t\tthis.props.onChange && this.props.onChange(values);\r\n\t\t\tthis.setState({ isChanged: false, isSubmitted: false });\r\n\t\t}\r\n\t}\r\n\r\n\t// extract to service?\r\n\tprivate validateField(fieldValue: any, fieldValidators: Array<string>): Array<IFormInputError> {\r\n\t\tconst errors: Array<IFormInputError> = [];\r\n\t\tif (fieldValidators) {\r\n\t\t\tfor (const validator of fieldValidators) {\r\n\t\t\t\tconst validatorSplitted = validator.split(':');\r\n\t\t\t\tconst validatorName: string = validatorSplitted[0];\r\n\t\t\t\tconst validatorParam: string | null = validatorSplitted.length > 1 ? validatorSplitted[1] : null;\r\n\r\n\t\t\t\tswitch (validatorName) {\r\n\t\t\t\t\tcase 'required':\r\n\t\t\t\t\t\tif (IsEmptyValidator(fieldValue)) {\r\n\t\t\t\t\t\t\terrors.push({ validator: validatorName, message: 'This field is required' });\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'email':\r\n\t\t\t\t\t\tif (EmailValidator(fieldValue)) {\r\n\t\t\t\t\t\t\terrors.push({ validator: validatorName, message: 'Email format is wrong' });\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'match':\r\n\t\t\t\t\t\tif (validatorParam) {\r\n\t\t\t\t\t\t\tconst matchControl = this.getControl(validatorParam)\r\n\t\t\t\t\t\t\tif (matchControl) {\r\n\t\t\t\t\t\t\t\tif (!IsEqualValidator(fieldValue, matchControl.value)) {\r\n\t\t\t\t\t\t\t\t\terrors.push({ validator: validatorName, message: 'Values do not match' });\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tconsole.error(`Form: Field ${validatorParam} not found`);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn errors;\r\n\t}\r\n\r\n\tprivate handleInputChange(name: string, value: any, type: string) {\r\n\t\tconst field = this.getControl(name);\r\n\t\tfield.value = value;\r\n\r\n\t\t// redundant mit handleOnBlur\r\n\t\tfield.isDirty = true;\r\n\t\tfield.errors = this.validateField(field.value, field.validators);\r\n\t\tfield.isValid = field.errors.length === 0;\r\n\r\n\t\tconst newControls = { ...this.state.controls };\r\n\t\tnewControls[name] = field;\r\n\t\tthis.setState({ controls: newControls, isChanged: true }, () => this.handleChange());\r\n\t}\r\n\r\n\tprivate handleOnBlur(e: Event) {\r\n\t\tif (this.props.validateOnBlur) {\r\n\t\t\tconst { name } = (e.target as HTMLInputElement);\r\n\t\t\tconst field = this.getControl(name);\r\n\t\t\tfield.isDirty = true;\r\n\t\t\tfield.errors = this.validateField(field.value, field.validators);\r\n\t\t\tfield.isValid = field.errors.length === 0;\r\n\r\n\t\t\tconst controls = this.state.controls;\r\n\t\t\tif (controls) {\r\n\t\t\t\tcontrols[name] = field;\r\n\t\t\t\tthis.setState({ controls: controls, isChanged: true }, () => this.handleChange());\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tprivate isRequired(fieldName: string) {\r\n\t\tlet result = false;\r\n\t\tresult = this.getControl(fieldName).validators.indexOf('required') >= 0;\r\n\t\treturn result;\r\n\t}\r\n\r\n\tprivate isInvalid(fieldName: string): boolean {\r\n\t\tlet result = false;\r\n\t\tconst field = this.getControl(fieldName);\r\n\t\tresult = field.isDirty && !field.isValid;\r\n\r\n\t\treturn result;\r\n\t}\r\n\r\n\tgetControl(name: string): FormControl {\r\n\t\treturn (this.state.controls as IControls)[name];\r\n\t}\r\n\r\n\tprivate renderLabel(fieldKey: string, label: string, labelClassName: string = 'form-label') {\r\n\t\tconst cssClasses = [labelClassName, this.isRequired(fieldKey) ? 'required' : undefined];\r\n\t\treturn <FormLabel htmlFor={fieldKey} className={cssClasses.join(' ')}>{label}</FormLabel>;\r\n\t};\r\n\r\n\t// trigger via ref\r\n\thandleFormSubmit() {\r\n\t\tfor (const fieldKey of Object.keys((this.state.controls as IControls))) {\r\n\t\t\tconst field = this.getControl(fieldKey);\r\n\r\n\t\t\t// redundant mit handleBlur\r\n\t\t\tfield.isDirty = true;\r\n\t\t\tfield.errors = this.validateField(field.value, field.validators);\r\n\t\t\tfield.isValid = field.errors.length === 0;\r\n\t\t}\r\n\r\n\t\tthis.setState({\r\n\t\t\tcontrols: { ...this.state.controls },\r\n\t\t\tisSubmitted: true,\r\n\t\t\tisValid: Object.keys((this.state.controls as IControls)).map(f => this.getControl(f).isValid).every(valid => valid === true)\r\n\t\t}, () => this.handleChange());\r\n\t}\r\n\r\n\t// trigger via ref\r\n\thandleFormReset() {\r\n\t\tfor (const fieldKey of Object.keys((this.state.controls as IControls))) {\r\n\t\t\tconst field = this.getControl(fieldKey);\r\n\t\t\tfield.value = '';\r\n\t\t\tfield.isDirty = false;\r\n\t\t\tfield.errors = [];\r\n\t\t\tfield.isValid = field.errors.length === 0;\r\n\t\t}\r\n\r\n\t\tthis.setState({\r\n\t\t\tcontrols: { ...this.state.controls },\r\n\t\t\tisSubmitted: false,\r\n\t\t\tisChanged: false,\r\n\t\t\tisValid: false\r\n\t\t});\r\n\t}\r\n\r\n\thandleOnKeyDown(e: KeyboardEvent) {\r\n\t\tif (e.key === 'Enter') {\r\n\t\t\te.preventDefault();\r\n\t\t\tthis.state.submitOnEnter && this.handleFormSubmit();\r\n\t\t}\r\n\t}\r\n\r\n\tdestroy() {\r\n\t\tthis.setState({ controls: {}, isValid: false, isChanged: false, isSubmitted: false });\r\n\t}\r\n\r\n\tgetFormGroupCssClass(fieldKey: string) {\r\n\t\tlet result = this.getControl(fieldKey).config.formGroupClassName;\r\n\t\treturn result;\r\n\t}\r\n\r\n\trender() {\r\n\t\treturn (\r\n\t\t\t<form ref={this.myForm}>\r\n\r\n\t\t\t\t{this.state && this.state.controls && Object.keys(this.state.controls).map((fieldKey) => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t<FormGroup key={fieldKey} className={this.getFormGroupCssClass(fieldKey)}>\r\n\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tthis.getControl(fieldKey).config.labelPosition !== 'behind' && this.getControl(fieldKey).type !== 'checkbox' &&\r\n\t\t\t\t\t\t\t\tthis.renderLabel(fieldKey, this.getControl(fieldKey).config.label, this.getControl(fieldKey).config.labelClassName)\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t{/* TODO - pass configObject instead of every single Config */}\r\n\t\t\t\t\t\t\t<FormInput\r\n\t\t\t\t\t\t\t\tautoFocus={this.getControl(fieldKey).config.autoFocus}\r\n\t\t\t\t\t\t\t\tclassName={this.getControl(fieldKey).config.formControlClassName}\r\n\t\t\t\t\t\t\t\tisValid={!this.isInvalid(fieldKey)}\r\n\t\t\t\t\t\t\t\tlabel={this.getControl(fieldKey).config.label}\r\n\t\t\t\t\t\t\t\tname={fieldKey}\r\n\t\t\t\t\t\t\t\toptions={this.getControl(fieldKey).config.options}\r\n\t\t\t\t\t\t\t\tplaceholder={this.getControl(fieldKey).config.placeholder}\r\n\t\t\t\t\t\t\t\ttextareaOptions={this.getControl(fieldKey).config.textareaOptions}\r\n\t\t\t\t\t\t\t\tselectOptions={this.getControl(fieldKey).config.selectOptions}\r\n\t\t\t\t\t\t\t\tautoCompleteOptions={this.getControl(fieldKey).config.autoCompleteOptions}\r\n\t\t\t\t\t\t\t\ttype={this.getControl(fieldKey).type}\r\n\t\t\t\t\t\t\t\tvalue={this.getControl(fieldKey).value}\r\n\t\t\t\t\t\t\t\tdisabled={this.getControl(fieldKey).config.disabled}\r\n\t\t\t\t\t\t\t\treadonly={this.getControl(fieldKey).config.readonly}\r\n\t\t\t\t\t\t\t\tonChange={({ name, value, type }) => this.handleInputChange(name as string, value, type as string)}\r\n\t\t\t\t\t\t\t\tonBlur={(e) => this.handleOnBlur(e)}\r\n\t\t\t\t\t\t\t\tonKeyDown={(e) => this.handleOnKeyDown(e)}\r\n\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tthis.getControl(fieldKey).config.labelPosition === 'behind' && this.getControl(fieldKey).type !== 'checkbox' &&\r\n\t\t\t\t\t\t\t\tthis.renderLabel(fieldKey, this.getControl(fieldKey).config.label, this.getControl(fieldKey).config.labelClassName)\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t{this.getControl(fieldKey).config.hint &&\r\n\t\t\t\t\t\t\t\t<FormHint>{this.getControl(fieldKey).config.hint as string}</FormHint>\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t{this.getControl(fieldKey).errors &&\r\n\t\t\t\t\t\t\t\t<FormError errors={this.getControl(fieldKey).errors} />\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t</FormGroup>\r\n\t\t\t\t\t);\r\n\t\t\t\t})}\r\n\r\n\t\t\t</form>\r\n\t\t)\r\n\t}\r\n}\r\n\r\n\r\nfunction isValidDate(dateObject: Date) {\r\n\treturn new Date(dateObject).toString() !== 'Invalid Date';\r\n}\r\n","import { IFormControlConfig, IFormInputError } from './form.interfaces';\r\nimport { IFormControlType } from './form.types';\r\n\r\nexport class FormControl {\r\n\tconstructor(\r\n\t\tpublic value: any,\r\n\t\tpublic validators: Array<any> = [],\r\n\t\tpublic type: IFormControlType,\r\n\t\tpublic config: IFormControlConfig) {\r\n\t}\r\n\r\n\terrors: Array<IFormInputError> = [];\r\n\tisValid: boolean = false;\r\n\tisDirty: boolean = false;\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { ISelectOption } from '../component.interfaces';\r\nimport { Select } from \"../Select\";\r\n\r\nexport interface IDaySelectProps {\r\n\tday?: number;\r\n\tmonth?: number;\r\n\tyear?: number;\r\n\tclassName?: string;\r\n\tid?: string;\r\n\tname?: string;\r\n\tdisabled?: boolean;\r\n\tonChange?: (val: number) => void;\r\n}\r\n\r\nexport const DaySelect = (props: IDaySelectProps) => {\r\n\r\n\tconst {\r\n\t\tclassName,\r\n\t\tday = new Date().getDate(),\r\n\t\tmonth = new Date().getMonth(),\r\n\t\tyear = new Date().getFullYear(),\r\n\t\tdisabled,\r\n\t\tid,\r\n\t\tname,\r\n\t\tonChange\r\n\t} = props;\r\n\r\n\tuseEffect(() => {\r\n\t\tinit();\r\n\t}, [month, year]);\r\n\r\n\tconst init = () => {\r\n\t\tvar daysInMonth = new Date(year, month + 1, 0).getDate();\r\n\t\tconst newDays: Array<ISelectOption> = [];\r\n\t\tfor (let i = 1; i <= daysInMonth; i++) {\r\n\t\t\tnewDays.push({ value: i.toString(), label: i.toString() });\r\n\t\t}\r\n\t\tsetDayOptions(newDays);\r\n\t};\r\n\r\n\tconst [value, setValue] = useState<number>(day);\r\n\tconst [dayOptions, setDayOptions] = useState<Array<ISelectOption>>();\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t}\r\n\r\n\tconst handleOnChange = (e: number) => {\r\n\t\tsetValue(e);\r\n\t\tonChange && onChange(e);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<Select\r\n\t\t\tid={id}\r\n\t\t\tname={name}\r\n\t\t\tclassName={getCssClasses()}\r\n\t\t\toptions={dayOptions}\r\n\t\t\tonChange={(e) => handleOnChange(parseInt(e as string))}\r\n\t\t\tdisabled={disabled}\r\n\t\t\tvalue={value.toString()}\r\n\t\t/>\r\n\t);\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { ISelectOption } from '../component.interfaces';\r\nimport { Select } from \"../Select\";\r\n\r\nexport interface IMonthProps {\r\n\tvalue?: number;\r\n\tclassName?: string;\r\n\tid?: string;\r\n\tname?: string;\r\n\tdisabled?: boolean;\r\n\tonChange?: (val: number) => void;\r\n}\r\n\r\nexport const MonthSelect = (props: IMonthProps) => {\r\n\r\n\tconst months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\r\n\r\n\tconst { className, value = new Date().getMonth(), id, name, disabled, onChange } = props;\r\n\tconst [newValue, setNewValue] = useState<number>(value);\r\n\tconst [monthOptions, setMonthOptions] = useState<Array<ISelectOption>>();\r\n\r\n\tuseEffect(() => {\r\n\t\tsetMonthOptions(months.map((m, index) => ({ value: index.toString(), label: m })));\r\n\t}, []);\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t}\r\n\r\n\tconst handleOnChange = (e: number) => {\r\n\t\tsetNewValue(e);\r\n\t\tonChange && onChange(e);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<Select\r\n\t\t\tid={id}\r\n\t\t\tname={name}\r\n\t\t\tclassName={getCssClasses()}\r\n\t\t\toptions={monthOptions}\r\n\t\t\tonChange={(e) => handleOnChange(parseInt(e as string))}\r\n\t\t\tdisabled={disabled}\r\n\t\t\tvalue={newValue.toString()}\r\n\t\t/>\r\n\t);\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { ISelectOption } from '../component.interfaces';\r\nimport { Select } from \"../Select\";\r\n\r\nexport interface IYearProps {\r\n\tfrom?: number;\r\n\tto?: number;\r\n\tvalue?: number;\r\n\tclassName?: string;\r\n\tid?: string;\r\n\tname?: string;\r\n\tdisabled?: boolean;\r\n\tonChange?: (val: number) => void;\r\n}\r\n\r\nexport const YearSelect = (props: IYearProps) => {\r\n\r\n\tconst {\r\n\t\tclassName,\r\n\t\tfrom = 1970,\r\n\t\tto = new Date().getFullYear().toString(),\r\n\t\tvalue = new Date().getFullYear().toString(),\r\n\t\tid,\r\n\t\tname,\r\n\t\tdisabled,\r\n\t\tonChange\r\n\t} = props;\r\n\tconst [newValue, setNewValue] = useState<string>(value.toString());\r\n\tconst [years, setYears] = useState<Array<ISelectOption>>();\r\n\r\n\tuseEffect(() => {\r\n\t\tconst newYears: Array<ISelectOption> = [];\r\n\t\tfor (let i = from; i <= to; i++) {\r\n\t\t\tnewYears.push({ value: i.toString(), label: i.toString() });\r\n\t\t}\r\n\t\tsetYears(newYears.reverse());\r\n\t}, [from, to]);\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t}\r\n\r\n\tconst handleOnChange = (e: string | Array<string>) => {\r\n\t\tsetNewValue(e as string);\r\n\t\tonChange && onChange(parseInt(e as string));\r\n\t}\r\n\r\n\treturn (\r\n\t\t<Select\r\n\t\t\tid={id}\r\n\t\t\tname={name}\r\n\t\t\tclassName={getCssClasses()}\r\n\t\t\toptions={years}\r\n\t\t\tonChange={handleOnChange}\r\n\t\t\tdisabled={disabled}\r\n\t\t\tvalue={newValue}\r\n\t\t/>\r\n\t);\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { FormGroup, FormLabel } from \"../Form\";\r\nimport { DaySelect } from \"./DaySelect\";\r\nimport { MonthSelect } from \"./MonthSelect\";\r\nimport { YearSelect } from \"./YearSelect\";\r\n\r\nexport enum DATEMODE { YEAR, MONTH, DAY };\r\n\r\nexport interface IDateSelectProps {\r\n\tvalue?: Date;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\tyearConfig?: { from?: number, to?: number };\r\n\tonChange?: (val: Date) => void;\r\n}\r\n\r\nexport const DateSelect = (props: IDateSelectProps) => {\r\n\r\n\tconst { className, value = new Date(), disabled, yearConfig, onChange } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push('row');\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t}\r\n\r\n\tconst [currDate, setCurrDate] = useState<Date>(value);\r\n\r\n\tconst handleOnChange = (e: number, mode: DATEMODE) => {\r\n\t\tconst currYear = mode === DATEMODE.YEAR ? e : currDate.getFullYear();\r\n\t\tconst currMonth = mode === DATEMODE.MONTH ? e : currDate.getMonth();\r\n\t\tconst currday = mode === DATEMODE.DAY ? e : currDate.getDate();\r\n\t\tconst newDate = new Date(currYear, currMonth, currday);\r\n\r\n\t\tsetCurrDate(newDate);\r\n\t\tonChange && onChange(newDate);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div className={getCssClasses()}>\r\n\t\t\t<FormGroup className=\"col\">\r\n\t\t\t\t<FormLabel>Year</FormLabel>\r\n\t\t\t\t<YearSelect\r\n\t\t\t\t\tclassName=\"form-control\"\r\n\t\t\t\t\tvalue={currDate.getFullYear()}\r\n\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\tfrom={yearConfig?.from}\r\n\t\t\t\t\tto={yearConfig?.to}\r\n\t\t\t\t\tonChange={e => handleOnChange(e, DATEMODE.YEAR)}\r\n\t\t\t\t/>\r\n\t\t\t</FormGroup>\r\n\t\t\t<FormGroup className=\"col\">\r\n\t\t\t\t<FormLabel>Month</FormLabel>\r\n\t\t\t\t<MonthSelect\r\n\t\t\t\t\tclassName=\"form-control\"\r\n\t\t\t\t\tvalue={currDate.getMonth()}\r\n\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\tonChange={e => handleOnChange(e, DATEMODE.MONTH)}\r\n\t\t\t\t/>\r\n\t\t\t</FormGroup>\r\n\t\t\t<FormGroup className=\"col\">\r\n\t\t\t\t<FormLabel>Day</FormLabel>\r\n\t\t\t\t<DaySelect\r\n\t\t\t\t\tclassName=\"form-control\"\r\n\t\t\t\t\tday={currDate.getDate()}\r\n\t\t\t\t\tmonth={currDate.getMonth()}\r\n\t\t\t\t\tyear={currDate.getFullYear()}\r\n\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\tonChange={e => handleOnChange(e, DATEMODE.DAY)}\r\n\t\t\t\t/>\r\n\t\t\t</FormGroup>\r\n\t\t</div>\r\n\t);\r\n}\r\n\r\n/*\r\n* result = { year, month, day, dayOfWeek, weekNumber }\r\n*/\r\n\r\n\t// const getWeekNumber = () => {\r\n\t// \tvar d = new Date(Date.UTC(this.getFullYear(), this.getMonth(), this.getDate()));\r\n\t// \tvar dayNum = d.getUTCDay() || 7;\r\n\t// \td.setUTCDate(d.getUTCDate() + 4 - dayNum);\r\n\t// \tvar yearStart = new Date(Date.UTC(d.getUTCFullYear(), 0, 1));\r\n\t// \treturn Math.ceil((((d - yearStart) / 86400000) + 1) / 7)\r\n\t// };\r\n","import React, { Fragment, ReactNode, useEffect } from 'react';\r\nimport { createPortal } from 'react-dom';\r\nimport { Backdrop } from '../Backdrop';\r\nimport styles from './Drawer.module.scss';\r\n\r\nexport interface IDrawerProps {\r\n\tchildren?: ReactNode;\r\n\tposition?: 'left' | 'right';\r\n\tclassName?: string;\r\n\tonClickBackdrop?: () => void;\r\n\tpermanent?: boolean;\r\n\ttarget?: HTMLElement;\r\n}\r\n\r\nexport const Drawer = (props: IDrawerProps) => {\r\n\r\n\tconst { children, className, position = 'left', permanent = false, target = document.body, onClickBackdrop } = props;\r\n\r\n\tuseEffect(() => {\r\n\t\tdocument.body.classList.add(styles.drawerOpen);\r\n\t\treturn () => {\r\n\t\t\tdocument.body.classList.remove(styles.drawerOpen);\r\n\t\t};\r\n\t}, []);\r\n\r\n\tconst handleClickBackdrop = () => {\r\n\t\tonClickBackdrop && onClickBackdrop();\r\n\t}\r\n\r\n\treturn createPortal(\r\n\t\t<Fragment>\r\n\t\t\t<DrawerContent className={className} position={position} permanent={permanent}>\r\n\t\t\t\t{children}\r\n\t\t\t</DrawerContent>\r\n\t\t\t{!permanent && <Backdrop onClick={handleClickBackdrop} />}\r\n\t\t</Fragment>,\r\n\t\ttarget\r\n\t);\r\n}\r\n\r\ninterface IDrawerContentProps {\r\n\tchildren?: ReactNode;\r\n\tposition?: 'left' | 'right';\r\n\tclassName?: string;\r\n\tpermanent?: boolean;\r\n}\r\n\r\nconst DrawerContent = (props: IDrawerContentProps) => {\r\n\tconst { children, className, position = 'left', permanent = false } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.drawer);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\t!!permanent && cssClasses.push(styles['permanent']);\r\n\t\tposition === 'left' ? cssClasses.push(styles['left']) : cssClasses.push(styles['right']);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\tconst positionStyles = {\r\n\t\tleft: { left: '0px' },\r\n\t\tright: { right: '0px' },\r\n\t};\r\n\r\n\tconst getStyles = () => {\r\n\t\treturn !permanent ? positionStyles[position] : undefined;\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div className={getCssClasses()} style={getStyles()}>\r\n\t\t\t{children}\r\n\t\t</div>\r\n\t);\r\n}\r\n","import React, { ReactElement, useEffect, useRef } from 'react';\r\nimport { createPortal } from 'react-dom';\r\nimport { Backdrop } from '../Backdrop';\r\nimport { MenuPosition } from './menu.types';\r\nimport { IMenuItemProps } from './MenuItem';\r\nimport { createPopper } from '@popperjs/core';\r\nimport styles from './MenuBody.module.scss';\r\n\r\nexport interface IMenuBodyProps {\r\n\tchildren?: ReactElement<IMenuItemProps> | Array<ReactElement<IMenuItemProps>>;\r\n\tclassName?: string;\r\n\tmenuPosition?: MenuPosition;\r\n\tparentRef: React.RefObject<any>;\r\n\tshadow?: boolean;\r\n\tonClickBackdrop?: () => void;\r\n}\r\n\r\nexport const MenuBody = (props: IMenuBodyProps) => {\r\n\r\n\tconst { parentRef, children, className, shadow = true, menuPosition = 'left', onClickBackdrop } = props;\r\n\tconst menuBodyRef = useRef<HTMLDivElement>(null);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (menuBodyRef) {\r\n\t\t\tcreatePopper((parentRef.current as any), (menuBodyRef.current as any), {\r\n\t\t\t\tplacement: `${menuPosition}-start`,\r\n\t\t\t\tmodifiers: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tname: 'offset',\r\n\t\t\t\t\t\toptions: {\r\n\t\t\t\t\t\t\toffset: ({ placement, reference, popper }: any) => {\r\n\t\t\t\t\t\t\t\tif (placement === 'left-start') {\r\n\t\t\t\t\t\t\t\t\treturn [0, -popper.width]; // y, x\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tif (placement === 'right-start') {\r\n\t\t\t\t\t\t\t\t\treturn [0, -popper.width];\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\treturn [];\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\r\n\t\t\t\t\t},\r\n\t\t\t\t]\r\n\t\t\t});\r\n\t\t}\r\n\t}, [menuBodyRef]);\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.menuBody);\r\n\t\tshadow && cssClasses.push(styles.shadow);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t}\r\n\r\n\tconst handleClickBackdrop = () => {\r\n\t\tonClickBackdrop && onClickBackdrop();\r\n\t}\r\n\r\n\treturn (\r\n\t\tcreatePortal(\r\n\t\t\t<>\r\n\t\t\t\t<div\r\n\t\t\t\t\tref={menuBodyRef}\r\n\t\t\t\t\tclassName={getCssClasses()}\r\n\t\t\t\t>\r\n\t\t\t\t\t{children}\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<Backdrop\r\n\t\t\t\t\tisTransparent\r\n\t\t\t\t\tonClick={handleClickBackdrop}\r\n\t\t\t\t/>\r\n\t\t\t</>,\r\n\t\t\tdocument.body\r\n\t\t)\r\n\t)\r\n}\r\n","import React, { ReactElement, useRef } from 'react';\r\nimport { MenuPosition } from './menu.types';\r\nimport { IMenuItemProps } from './MenuItem';\r\nimport { MenuBody } from './MenuBody';\r\nimport styles from './Menu.module.scss';\r\n\r\nexport interface IMenuProps extends React.DetailedHTMLProps<React.HtmlHTMLAttributes<HTMLDivElement>, HTMLDivElement> {\r\n\ttoggle?: ReactElement;\r\n\topen?: boolean;\r\n\tchildren?: ReactElement<IMenuItemProps> | Array<ReactElement<IMenuItemProps>>;\r\n\tmenuPosition?: MenuPosition;\r\n\tonToggleClick?: (e: Event) => void;\r\n\tonClickBackdrop?: () => void;\r\n}\r\n\r\nexport const Menu = (props: IMenuProps) => {\r\n\r\n\tconst { toggle, children, className, open, menuPosition, onClickBackdrop, onToggleClick, ...rest } = props;\r\n\r\n\tconst menuContainer = useRef<HTMLDivElement>(null);\r\n\tconst toggleContainerRef = useRef<HTMLDivElement>(null);\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.menu);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\tconst handleClickBackdrop = () => {\r\n\t\tonClickBackdrop && onClickBackdrop();\r\n\t}\r\n\r\n\treturn (\r\n\t\t<div ref={menuContainer} className={getCssClasses()} {...rest}>\r\n\r\n\t\t\t<div ref={toggleContainerRef}>\r\n\t\t\t\t{toggle}\r\n\t\t\t</div>\r\n\r\n\t\t\t{open &&\r\n\t\t\t\t<MenuBody\r\n\t\t\t\t\tparentRef={toggleContainerRef}\r\n\t\t\t\t\tmenuPosition={menuPosition}\r\n\t\t\t\t\tonClickBackdrop={handleClickBackdrop}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t{children}\r\n\t\t\t\t</MenuBody>\r\n\t\t\t}\r\n\t\t</div>\r\n\t)\r\n}\r\n","import React, { ReactNode } from 'react';\r\nimport { ConditionalWrapper } from '../ConditionalWrapper';\r\nimport styles from './MenuItem.module.scss';\r\nexport interface IMenuItemProps {\r\n\tkey?: string;\r\n\tchildren?: ReactNode;\r\n\tonClick?: (e: React.MouseEvent) => void;\r\n\ttype?: 'item' | 'header'\r\n}\r\n\r\nexport const MenuItem = (props: IMenuItemProps) => {\r\n\r\n\tconst { children, onClick, type = 'item' } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.menuItem);\r\n\t\tif (type === 'header') {\r\n\t\t\tcssClasses.push(styles.menuItemHeader);\r\n\t\t}\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t}\r\n\r\n\tconst handleClick = (e: React.MouseEvent) => {\r\n\t\te.stopPropagation();\r\n\t\tonClick && onClick(e);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<ConditionalWrapper\r\n\t\t\tcondition={true}\r\n\t\t\twrapper={children => (\r\n\t\t\t\t(type === 'item' ? (\r\n\t\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-is-valid\r\n\t\t\t\t\t<a className={getCssClasses()} onClick={handleClick}>{children}</a>\r\n\t\t\t\t) :\r\n\t\t\t\t\t<div className={getCssClasses()} onClick={handleClick}>{children}</div>)\r\n\t\t\t)}\r\n\t\t>\r\n\t\t\t{children}\r\n\t\t</ConditionalWrapper>\r\n\t)\r\n}\r\n","import React, { Fragment, ReactNode } from 'react';\r\n\r\ninterface IMenuToggleProps {\r\n\tchildren?: ReactNode;\r\n}\r\n\r\nexport const MenuToggle = ({ children }: IMenuToggleProps) => {\r\n\treturn (\r\n\t\t<Fragment>\r\n\t\t\t{children}\r\n\t\t</Fragment>\r\n\t)\r\n}\r\n","import React from 'react';\r\nimport styles from './MenuDivider.module.scss';\r\n\r\nexport const MenuDivider = () => <div className={styles.menuItemDivider}></div>\r\n","import React, { ReactNode } from 'react';\r\nimport styles from './ExpansionPanelContent.module.scss';\r\n\r\nexport interface IExpansionPanelContentProps {\r\n\tchildren?: ReactNode;\r\n}\r\n\r\nexport const ExpansionPanelContent = ({ children }: IExpansionPanelContentProps) => {\r\n\treturn (\r\n\t\t<div className={styles.expansionPanelContent}>\r\n\t\t\t{children}\r\n\t\t</div>\r\n\t);\r\n}\r\n","import React, { ReactNode } from 'react';\r\nimport { ChevronDownSolidIcon, ChevronUpSolidIcon } from '../../assets/icons';\r\nimport { Icon } from '../Icon';\r\nimport styles from './ExpansionPanelHeader.module.scss';\r\n\r\nexport interface IExpansionPanelHeaderProps {\r\n\tonClick?: (event: React.MouseEvent) => void;\r\n\tchildren?: ReactNode;\r\n\tisExpanded: boolean;\r\n}\r\n\r\nexport const ExpansionPanelHeader = (props: IExpansionPanelHeaderProps) => {\r\n\r\n\tconst { children, isExpanded, onClick } = props;\r\n\r\n\tconst handleClick = (e: React.MouseEvent) => {\r\n\t\te.stopPropagation();\r\n\t\tonClick && onClick(e);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<div\r\n\t\t\tclassName={styles.expansionPanelHeader}\r\n\t\t\tonClick={handleClick}\r\n\t\t>\r\n\r\n\t\t\t{children}\r\n\r\n\t\t\t<span className=\"ml-auto text-muted\">\r\n\t\t\t\t<Icon>\r\n\t\t\t\t\t{isExpanded ? <ChevronUpSolidIcon /> : <ChevronDownSolidIcon />}\r\n\t\t\t\t</Icon>\r\n\t\t\t</span>\r\n\t\t</div>\r\n\t);\r\n}\r\n\r\n","import React, { ReactNode, useEffect, useState } from 'react';\r\nimport { ExpansionPanelContent } from './ExpansionPanelContent';\r\nimport { ExpansionPanelHeader } from './ExpansionPanelHeader';\r\nimport styles from './ExpansionPanel.module.scss';\r\n\r\nexport interface IExpansionPanelProps {\r\n\theader: ReactNode;\r\n\tchildren: ReactNode;\r\n\tisExpanded?: boolean;\r\n\tonChange?: (event: React.MouseEvent, isExpanded: boolean) => void;\r\n}\r\n\r\nexport const ExpansionPanel = (props: IExpansionPanelProps) => {\r\n\r\n\tconst { header, children, isExpanded = false, onChange } = props;\r\n\r\n\tconst [_isExpanded, setIsExpanded] = useState<boolean>(false);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetIsExpanded(isExpanded);\r\n\t}, [isExpanded]);\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.expansionPanel);\r\n\t\tif (_isExpanded) {\r\n\t\t\tcssClasses.push(styles.isExpanded);\r\n\t\t}\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\tconst handleClickHeader = (event: React.MouseEvent) => {\r\n\t\tsetIsExpanded(!_isExpanded)\r\n\t\tonChange && onChange(event, !_isExpanded);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<div className={getCssClasses()}>\r\n\t\t\t<ExpansionPanelHeader isExpanded={_isExpanded} onClick={handleClickHeader}>\r\n\t\t\t\t{header}\r\n\t\t\t</ExpansionPanelHeader>\r\n\r\n\t\t\t{_isExpanded &&\r\n\t\t\t\t<ExpansionPanelContent>{children}</ExpansionPanelContent>\r\n\t\t\t}\r\n\t\t</div>\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport { COLOR, SIZE, VARIANT } from '../component.enums';\r\nimport { IconButton } from '../IconButton';\r\nimport styles from './FloatingActionButton.module.scss';\r\n\r\nexport interface IFloatingActionButtonProps extends React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement> {\r\n\ticon?: React.SVGProps<SVGSVGElement>;\r\n\tcolor?: COLOR;\r\n\tsize?: SIZE;\r\n\tfixed?: boolean;\r\n\tisActive?: boolean;\r\n\tdisabled?: boolean;\r\n\tonClick?: (e: any) => void;\r\n}\r\n\r\nexport const FloatingActionButton = (props: IFloatingActionButtonProps) => {\r\n\r\n\tconst { className, icon, color = COLOR.primary, fixed, size = SIZE.lg, isActive, disabled, onClick } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.fab);\r\n\t\tfixed && cssClasses.push(styles['fixed']);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\tconst handleClick = (e: React.MouseEvent) => {\r\n\t\te.stopPropagation();\r\n\t\tonClick && onClick(e);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<IconButton\r\n\t\t\tclassName={getCssClasses()}\r\n\t\t\tcolor={color}\r\n\t\t\tsize={size}\r\n\t\t\tisActive={isActive}\r\n\t\t\tdisabled={disabled}\r\n\t\t\ticon={icon}\r\n\t\t\tvariant={VARIANT.contained}\r\n\t\t\tonClick={handleClick}\r\n\t\t/>\r\n\t);\r\n};\r\n","import React from 'react';\r\n\r\ninterface IColProps extends React.ComponentProps<\"div\"> {\r\n\txs?: number;\r\n\tsm?: number;\r\n\tmd?: number;\r\n\tlg?: number;\r\n\txl?: number;\r\n}\r\n\r\nexport const Column = (props: IColProps) => {\r\n\r\n\tconst {\r\n\t\tchildren,\r\n\t\tclassName,\r\n\t\txs,\r\n\t\tsm,\r\n\t\tmd,\r\n\t\tlg,\r\n\t\txl,\r\n\t\t...rest\r\n\t} = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\t!xs && !sm && !md && !lg && !xl && cssClasses.push('col');\r\n\t\tif (xs) cssClasses.push(`col-${xs.toString()}`);\r\n\t\tif (sm) cssClasses.push(`col-sm-${sm.toString()}`);\r\n\t\tif (md) cssClasses.push(`col-md-${md.toString()}`);\r\n\t\tif (lg) cssClasses.push(`col-lg-${lg.toString()}`);\r\n\t\tif (xl) cssClasses.push(`col-xl-${xl.toString()}`);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div className={getCssClasses()} {...rest}>\r\n\t\t\t{children}\r\n\t\t</div>\r\n\t)\r\n}\r\n","import React from 'react';\r\n\r\nexport const Row = (props: React.ComponentProps<\"div\">) => {\r\n\r\n\tconst { children, className, ...rest } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push('row');\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div className={getCssClasses()} {...rest}>\r\n\t\t\t{children}\r\n\t\t</div>\r\n\t)\r\n}\r\n","import React, { useState } from 'react';\r\nimport { STATUS } from '../component.enums';\r\n\r\nexport const Link = (props: React.ComponentProps<\"a\">) => {\r\n\r\n\tconst { href = '#', className, target, children, ...rest } = props;\r\n\tconst [status, setStatus] = useState(STATUS.NORMAL);\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tclassName && cssClasses.push(className);\r\n\t\tstatus !== STATUS.NORMAL && cssClasses.push(status);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\tconst onMouseEnter = () => {\r\n\t\tsetStatus(STATUS.HOVERED);\r\n\t};\r\n\r\n\tconst onMouseLeave = () => {\r\n\t\tsetStatus(STATUS.NORMAL);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<a\r\n\t\t\tclassName={getCssClasses()}\r\n\t\t\thref={href}\r\n\t\t\ttarget={target}\r\n\t\t\tonMouseEnter={onMouseEnter}\r\n\t\t\tonMouseLeave={onMouseLeave}\r\n\t\t\t{...rest}\r\n\t\t>\r\n\t\t\t{children}\r\n\t\t</a>\r\n\t);\r\n};\r\n","import React from 'react';\r\nimport { SpinnerSolidIcon } from '../../assets/icons';\r\nimport styles from './LoadingIndicator.module.scss';\r\n\r\nexport interface ILoadingIndicatorProps {\r\n}\r\n\r\nexport const LoadingIndicator = ({ ...rest }: React.ComponentProps<\"div\">) => {\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.loadingIndicator);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t}\r\n\r\n\treturn (\r\n\t\t<div className={getCssClasses()} {...rest}>\r\n\t\t\t<SpinnerSolidIcon />\r\n\t\t</div>\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport styles from './LoadingIndicator.module.scss';\r\n\r\nexport interface ILoadingIndicatorContainerProps {\r\n\tchildren: React.ReactNode;\r\n}\r\n\r\nexport const LoadingIndicatorContainer = ({ children }: ILoadingIndicatorContainerProps) => {\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.loadingIndicatorContainer);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t}\r\n\r\n\treturn (\r\n\t\t<div className={getCssClasses()}>\r\n\t\t\t{children}\r\n\t\t</div>\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport { render, unmountComponentAtNode } from 'react-dom';\r\nimport { LoadingIndicator } from './LoadingIndicator';\r\nimport { LoadingIndicatorContainer } from './LoadingIndicatorContainer';\r\n\r\nexport interface ILoadingIndicatorService {\r\n\tshow(message: string, options?: ILoadingIndicatorOptions): Promise<void>;\r\n}\r\n\r\nexport interface ILoadingIndicatorOptions {\r\n}\r\n\r\nclass LoadingIndicatorService implements ILoadingIndicatorService {\r\n\tprivate container: any;\r\n\tprivate handler: any;\r\n\r\n\tshow(): Promise<void> {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tif (this.container) {\r\n\t\t\t\tthis.hide();\r\n\t\t\t}\r\n\t\t\tthis.container = document.createElement('div');\r\n\t\t\tthis.container.classList.add('snackbar-container');\r\n\t\t\tdocument.body.appendChild(this.container);\r\n\r\n\t\t\trender(\r\n\t\t\t\t<LoadingIndicatorContainer>\r\n\t\t\t\t\t<LoadingIndicator />\r\n\t\t\t\t</LoadingIndicatorContainer>,\r\n\t\t\t\tthis.container\r\n\t\t\t);\r\n\t\t})\r\n\t}\r\n\r\n\thide() {\r\n\t\tif (this.container) {\r\n\t\t\tunmountComponentAtNode(this.container);\r\n\t\t\tdocument.body.removeChild(this.container);\r\n\t\t\tthis.container = null;\r\n\t\t\tclearTimeout(this.handler);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport const loadingIndicatorService = new LoadingIndicatorService();\r\n","import React, { ReactNode } from 'react';\r\nimport { IconButton, VARIANT } from '..';\r\nimport { TimesSolidIcon } from '../..';\r\nimport styles from './ModalHeader.module.scss';\r\ninterface IModalHeaderProps {\r\n\tchildren?: ReactNode;\r\n\tonClose?: Function;\r\n\tisDismissable?: boolean;\r\n}\r\n\r\nexport const ModalHeader = (props: IModalHeaderProps) => {\r\n\r\n\tconst { children, isDismissable = false, onClose } = props;\r\n\r\n\tconst handleClick = () => {\r\n\t\tonClose && onClose();\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div className={\"modal-header \" + styles.modalHeader}>\r\n\t\t\t<h5 className=\"modal-title\">\r\n\t\t\t\t{children}\r\n\t\t\t</h5>\r\n\t\t\t{\r\n\t\t\t\tisDismissable &&\r\n\t\t\t\t<IconButton\r\n\t\t\t\t\ticon={<TimesSolidIcon />}\r\n\t\t\t\t\tvariant={VARIANT.text}\r\n\t\t\t\t\tonClick={handleClick}\r\n\t\t\t\t/>\r\n\t\t\t}\r\n\t\t</div>\r\n\t);\r\n};\r\n","import React, { ReactNode } from 'react';\r\n\r\ninterface IModalBodyProps {\r\n\tchildren?: ReactNode;\r\n}\r\n\r\nexport const ModalBody = ({ children }: IModalBodyProps) => (\r\n\t<div className=\"modal-body\">{children}</div>\r\n);\r\n","import React, { ReactNode } from 'react';\r\nimport styles from './ModalFooter.module.scss';\r\n\r\ninterface IModalFooterProps {\r\n\tchildren?: ReactNode;\r\n}\r\n\r\nexport const ModalFooter = ({ children }: IModalFooterProps) => (\r\n\t<div className={\"modal-footer \" + styles.modalFooter}>{children}</div>\r\n);\r\n","import React, { Fragment, ReactElement, ReactNode, useEffect } from 'react';\r\nimport { ModalHeader } from './ModalHeader';\r\nimport { ModalBody } from './ModalBody';\r\nimport { Backdrop } from '../Backdrop';\r\nimport styles from './Modal.module.scss';\r\nimport { ModalFooter } from './ModalFooter';\r\nimport { SIZE } from '..';\r\n\r\nexport interface IModalProps {\r\n\tclassName?: string;\r\n\tchildren?: ReactNode;\r\n\theader?: string;\r\n\tfooter?: string | ReactElement;\r\n\tonHeaderCloseClick?: Function;\r\n\tonBackdropClick?: Function;\r\n\tisDismissable?: boolean;\r\n\tfullScreen?: boolean;\r\n\tsize?: SIZE;\r\n}\r\n\r\nexport const Modal = (props: IModalProps) => {\r\n\r\n\tconst { className, size, fullScreen, children, header, footer, onHeaderCloseClick, onBackdropClick, isDismissable = false } = props;\r\n\r\n\tconst getCssClass = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push('modal-dialog modal-dialog-centered');\r\n\t\tcssClasses.push(styles.modal);\r\n\t\t!!fullScreen && cssClasses.push(styles['fullscreen']);\r\n\t\tsize && cssClasses.push(styles[size]);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(r => r).join(' ');\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tdocument.body.classList.add('modal-open');\r\n\t\treturn () => {\r\n\t\t\tdocument.body.classList.remove('modal-open');\r\n\t\t};\r\n\t}, []);\r\n\r\n\tconst handleClickBackdrop = () => {\r\n\t\tonBackdropClick && onBackdropClick();\r\n\t}\r\n\r\n\treturn (\r\n\t\t<Fragment>\r\n\t\t\t<div className={\"modal show \" + styles.modal} style={{ display: 'block' }}>\r\n\t\t\t\t<div className={getCssClass()}>\r\n\t\t\t\t\t<div className={'modal-content ' + (!!fullScreen ? styles['modalContent'] : undefined)}>\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\theader &&\r\n\t\t\t\t\t\t\t<ModalHeader isDismissable={isDismissable} onClose={() => onHeaderCloseClick && onHeaderCloseClick()}>\r\n\t\t\t\t\t\t\t\t{header}\r\n\t\t\t\t\t\t\t</ModalHeader>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t<ModalBody>{children}</ModalBody>\r\n\t\t\t\t\t\t{footer &&\r\n\t\t\t\t\t\t\t<ModalFooter>\r\n\t\t\t\t\t\t\t\t{footer}\r\n\t\t\t\t\t\t\t</ModalFooter>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<Backdrop onClick={handleClickBackdrop} />\r\n\t\t</Fragment>\r\n\t);\r\n};\r\n","// export enum MODALRESULT { OK = 'OK', CANCEL = 'CANCEL', DELETE = 'DELETE' }\r\nexport enum MODALTYPE { BASIC = 'BASIC', FORM = 'FORM' }\r\n\r\nexport enum MODALBUTTONTYPE { OK = 'OK', CANCEL = 'CANCEL', RESET = 'RESET', DEFAULT = 'DEFAULT' }\r\n","import React, { Fragment, ReactElement, useEffect, useRef, useState } from 'react';\r\nimport { SIZE } from '..';\r\nimport { Button } from '../Button';\r\nimport { COLOR, VARIANT } from '../component.enums';\r\nimport { Form, IControls, IFormValues } from '../Form';\r\nimport { Modal } from './Modal';\r\nimport { MODALBUTTONTYPE, MODALTYPE } from './modal.enum';\r\nimport { IModalButton } from './modal.interfaces';\r\n\r\ninterface IModalProps {\r\n\ttitle?: string;\r\n\tdescription?: string | ReactElement;\r\n\tformControls?: IControls;\r\n\tmodalType?: MODALTYPE;\r\n\tonOk?: (values?: IFormValues) => void;\r\n\tonCancel?: () => void;\r\n\tisDismissable?: boolean;\r\n\tbuttons?: Array<IModalButton>;\r\n\tfullScreen?: boolean;\r\n\tsize?: SIZE;\r\n}\r\n\r\nexport const GlobalModal = ({\r\n\ttitle,\r\n\tdescription,\r\n\tformControls,\r\n\tonOk,\r\n\tonCancel,\r\n\tisDismissable = false,\r\n\tbuttons = [\r\n\t\t{ label: 'Cancel', type: MODALBUTTONTYPE.CANCEL, color: COLOR.secondary, variant: VARIANT.text, focus: true },\r\n\t\t{ label: 'Ok', type: MODALBUTTONTYPE.OK, variant: VARIANT.contained },\r\n\t],\r\n\tsize = SIZE.md,\r\n\tfullScreen = false\r\n}: IModalProps) => {\r\n\r\n\t// workaround for getDerivedStateFromProps\r\n\tconst [myControls, setMyControls] = useState<IControls | null>(null);\r\n\tuseEffect(() => {\r\n\t\tsetMyControls({ ...formControls });\r\n\t}, []);\r\n\t// end\r\n\r\n\tconst modalType = formControls ? MODALTYPE.FORM : MODALTYPE.BASIC;\r\n\tconst myForm = useRef<Form>(null);\r\n\r\n\tconst handleOk = () => {\r\n\t\tif (modalType === MODALTYPE.FORM) {\r\n\t\t\tmyForm?.current?.handleFormSubmit();\r\n\t\t} else {\r\n\t\t\tonOk && onOk();\r\n\t\t}\r\n\t}\r\n\r\n\tconst handleCancel = () => {\r\n\t\tonCancel && onCancel();\r\n\t}\r\n\r\n\tconst onSubmit = (values: IFormValues) => {\r\n\t\tonOk && onOk(values);\r\n\t}\r\n\r\n\tconst handleClickButton = (button: IModalButton) => {\r\n\t\tswitch (button.type) {\r\n\t\t\tcase MODALBUTTONTYPE.OK:\r\n\t\t\t\thandleOk();\r\n\t\t\t\tbreak;\r\n\t\t\tcase MODALBUTTONTYPE.CANCEL:\r\n\t\t\t\thandleCancel();\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\thandleCancel();\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tbutton.handler && button.handler();\r\n\t}\r\n\r\n\treturn (\r\n\t\t<Modal\r\n\t\t\tsize={size}\r\n\t\t\tfullScreen={fullScreen}\r\n\t\t\theader={title}\r\n\t\t\tonHeaderCloseClick={onCancel}\r\n\t\t\tisDismissable={isDismissable}\r\n\t\t\tfooter={\r\n\t\t\t\t<Fragment>\r\n\t\t\t\t\t{buttons.map((button, index) => (\r\n\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\tkey={index}\r\n\t\t\t\t\t\t\tvariant={button.variant}\r\n\t\t\t\t\t\t\tcolor={button.color}\r\n\t\t\t\t\t\t\tautoFocus={button.autoFocus}\r\n\t\t\t\t\t\t\tonClick={() => handleClickButton(button)}>\r\n\t\t\t\t\t\t\t{button.label}\r\n\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t))}\r\n\t\t\t\t</Fragment>\r\n\t\t\t}>\r\n\r\n\t\t\t{description && <div>{description}</div>}\r\n\r\n\t\t\t{\r\n\t\t\t\tmodalType === MODALTYPE.FORM &&\r\n\t\t\t\t<Fragment>\r\n\t\t\t\t\t<Form\r\n\t\t\t\t\t\tref={myForm}\r\n\t\t\t\t\t\tcontrols={(myControls as IControls)}\r\n\t\t\t\t\t\tvalidateOnBlur\r\n\t\t\t\t\t\tonSubmit={onSubmit}\r\n\t\t\t\t\t/>\r\n\t\t\t\t</Fragment>\r\n\t\t\t}\r\n\t\t</Modal>\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport { GlobalModal } from './GlobalModal';\r\nimport { IControls, IFormValues } from '../Form';\r\nimport { ReactElement } from 'react';\r\nimport { render, unmountComponentAtNode } from 'react-dom';\r\nimport { IModalButton } from './modal.interfaces';\r\nimport { SIZE } from '..';\r\n\r\nexport interface IModalService {\r\n\tshow(title: string, description: string | ReactElement, options?: IModalOptions): Promise<void | IFormValues>;\r\n}\r\n\r\nexport interface IModalOptions {\r\n\tformControls?: IControls\r\n\t// showOkButton?: boolean;\r\n\t// showCancelButton?: boolean;\r\n\tisDismissable?: boolean;\r\n\tbuttons?: Array<IModalButton>;\r\n\tfullScreen?: boolean;\r\n\tsize?: SIZE;\r\n}\r\n\r\nclass ModalService implements IModalService {\r\n\tprivate container: any;\r\n\r\n\tshow(title: string, description: string | ReactElement, options?: IModalOptions): Promise<void | IFormValues> {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tif (!this.container) {\r\n\t\t\t\tthis.container = document.createElement('div');\r\n\t\t\t\tdocument.body.appendChild(this.container);\r\n\r\n\t\t\t\tconst handleOk = (values?: IFormValues) => {\r\n\t\t\t\t\tresolve(values);\r\n\t\t\t\t\tthis.hide();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst handleCancel = () => {\r\n\t\t\t\t\treject();\r\n\t\t\t\t\tthis.hide();\r\n\t\t\t\t}\r\n\r\n\t\t\t\trender(\r\n\t\t\t\t\t<GlobalModal\r\n\t\t\t\t\t\tfullScreen={options && options.fullScreen}\r\n\t\t\t\t\t\tsize={options && options.size}\r\n\t\t\t\t\t\ttitle={title}\r\n\t\t\t\t\t\tdescription={description}\r\n\t\t\t\t\t\tformControls={options && options.formControls}\r\n\t\t\t\t\t\tonCancel={handleCancel}\r\n\t\t\t\t\t\tonOk={handleOk}\r\n\t\t\t\t\t\tisDismissable={options && options.isDismissable}\r\n\t\t\t\t\t\tbuttons={options && options.buttons}\r\n\t\t\t\t\t/>,\r\n\t\t\t\t\tthis.container\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tprivate hide() {\r\n\t\tif (this.container) {\r\n\t\t\tunmountComponentAtNode(this.container);\r\n\t\t\tdocument.body.removeChild(this.container);\r\n\t\t\tthis.container = undefined;\r\n\t\t}\r\n\t}\r\n\r\n}\r\n\r\nexport const modalService = new ModalService();\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { ISelectOption } from '../component.interfaces';\r\nimport { Select } from \"../Select\";\r\n\r\nexport interface INumberSelectProps {\r\n\tvalue?: number;\r\n\tfrom?: number;\r\n\tto?: number;\r\n\tclassName?: string;\r\n\tid?: string;\r\n\tname?: string;\r\n\tdisabled?: boolean;\r\n\tonChange?: (val: number) => void;\r\n}\r\n\r\nexport const NumberSelect = (props: INumberSelectProps) => {\r\n\r\n\tconst { className, value = 0, from = 0, to = 100, id, name, disabled = false, onChange } = props;\r\n\r\n\tconst [newValue, setNewValue] = useState<number>(0);\r\n\tconst [numberOptions, setNumberOptions] = useState<Array<ISelectOption>>();\r\n\r\n\tuseEffect(() => {\r\n\t\tsetNewValue(value);\r\n\t}, [value]);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst options: Array<ISelectOption> = [];\r\n\t\tfor (let i = from; i <= to; i++) {\r\n\t\t\toptions.push({ value: i.toString(), label: i.toString() });\r\n\t\t}\r\n\t\tsetNumberOptions(options);\r\n\t}, [from, to]);\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push('form-control');\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t}\r\n\r\n\tconst handleOnChange = (e: number) => {\r\n\t\tsetNewValue(e);\r\n\t\tonChange && onChange(e);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<Select\r\n\t\t\tid={id}\r\n\t\t\tname={name}\r\n\t\t\tclassName={getCssClasses()}\r\n\t\t\toptions={numberOptions}\r\n\t\t\tonChange={(e) => handleOnChange(parseInt(e as string))}\r\n\t\t\tdisabled={disabled}\r\n\t\t\tvalue={newValue.toString()}\r\n\t\t/>\r\n\t);\r\n}\r\n","export class SidebarItemModel {\r\n\tconstructor(\r\n\t\tpublic id: string,\r\n\t\tpublic label: string,\r\n\t\tpublic path: string,\r\n\t\tpublic icon?: string,\r\n\t\tpublic isActive?: boolean,\r\n\t\tpublic items?: Array<SidebarItemModel>,\r\n\t\tpublic isCollapsible: boolean = false,\r\n\t\tpublic isCollapsed: boolean = false,\r\n\t\t) {\r\n\t}\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { List, ListItem, ListItemAction, ListItemText } from '../List';\r\nimport { ISidebarItem } from './sidebar.interfaces';\r\nimport { SidebarItemModel } from './sidebar.models';\r\nimport { ChevronUpSolidIcon, ChevronDownSolidIcon } from '../../assets/icons';\r\n\r\ninterface ISidebarProps extends React.ComponentProps<\"nav\"> {\r\n\titems: Array<ISidebarItem>;\r\n\tcurrentUrl: string;\r\n\tonItemClicked: (path: string) => void;\r\n}\r\n\r\nexport const Sidebar = (props: ISidebarProps) => {\r\n\r\n\tconst { className, items, currentUrl, onItemClicked, ...rest } = props;\r\n\tconst [menuItems, setMenuItems] = useState<Array<SidebarItemModel>>([]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (items && items.length > 0) {\r\n\t\t\tinitMenuItems();\r\n\t\t}\r\n\t}, []);\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\tconst initMenuItems = () => {\r\n\t\tconst newItems = items.map(item => new SidebarItemModel(\r\n\t\t\titem.id,\r\n\t\t\titem.label,\r\n\t\t\titem.path,\r\n\t\t\titem.icon,\r\n\t\t\tisMenuItemActive(item.path),\r\n\t\t\titem.items && item.items.map(subItem => new SidebarItemModel(\r\n\t\t\t\tsubItem.id,\r\n\t\t\t\tsubItem.label,\r\n\t\t\t\tsubItem.path,\r\n\t\t\t\tsubItem.icon,\r\n\t\t\t\tisMenuItemActive(`${item.path}/${subItem.path}`),\r\n\t\t\t)),\r\n\t\t\titem.isCollapsible,\r\n\t\t\titem.isCollapsed\r\n\t\t));\r\n\t\tsetMenuItems(newItems);\r\n\t}\r\n\r\n\tconst isMenuItemActive = (path: string) => {\r\n\t\tconst lastSegment = currentUrl.substring(currentUrl.lastIndexOf('/') + 1, currentUrl.length);\r\n\t\tlet result = false;\r\n\t\tif (currentUrl === '/' && path === '') {\r\n\t\t\tresult = true;\r\n\t\t} else if (path !== '') {\r\n\t\t\tresult = lastSegment ? lastSegment.toLowerCase() === path.toLowerCase() : false;\r\n\t\t}\r\n\t\treturn result\r\n\t}\r\n\r\n\tconst navigate = (e: React.MouseEvent, path: string) => {\r\n\t\te.stopPropagation();\r\n\t\te.preventDefault();\r\n\t\tonItemClicked(path);\r\n\t}\r\n\r\n\tconst handleClickItem = (item: SidebarItemModel, e: React.MouseEvent<Element, MouseEvent>) => {\r\n\t\tif (item.items && item.items.length > 0 && item.isCollapsible) {\r\n\t\t\tconst newMenuItems = menuItems.map((menuItem) => {\r\n\t\t\t\tmenuItem.isCollapsed = !menuItem.isCollapsed;\r\n\t\t\t\treturn menuItem;\r\n\t\t\t});\r\n\t\t\tsetMenuItems(newMenuItems);\r\n\t\t} else {\r\n\t\t\tnavigate(e, `/${item.path}`);\r\n\t\t}\r\n\t}\r\n\r\n\tconst handleClickSubItem = (itemPath: string, subItemPath: string, e: React.MouseEvent<Element, MouseEvent>) => {\r\n\t\tnavigate(e, `/${itemPath}/${subItemPath}`);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<nav className={getCssClasses()} {...rest}>\r\n\r\n\t\t\t<List>\r\n\t\t\t\t{menuItems.map(item => (\r\n\t\t\t\t\t<React.Fragment key={item.id}>\r\n\t\t\t\t\t\t<ListItem\r\n\t\t\t\t\t\t\tactive={isMenuItemActive(item.path)}\r\n\t\t\t\t\t\t\tonClick={(e) => handleClickItem(item, e)}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<ListItemText primary={\r\n\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t{item.label}\r\n\t\t\t\t\t\t\t\t\t{item.items && item.items.length > 0 && (<small className=\"ml-2\">({item.items.length})</small>)}\r\n\t\t\t\t\t\t\t\t</>\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t{item.items && item.items.length > 0 &&\r\n\t\t\t\t\t\t\t\t<ListItemAction>\r\n\t\t\t\t\t\t\t\t\t{item.isCollapsed ? <ChevronDownSolidIcon /> : <ChevronUpSolidIcon />}\r\n\t\t\t\t\t\t\t\t</ListItemAction>\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t</ListItem>\r\n\r\n\t\t\t\t\t\t{!item.isCollapsed && item.items && item.items.length > 0 && (\r\n\t\t\t\t\t\t\t<List className=\"list-level-1\" key={`${item.id}-sub`}>\r\n\t\t\t\t\t\t\t\t{item.items.map(subItem => (\r\n\t\t\t\t\t\t\t\t\t<ListItem\r\n\t\t\t\t\t\t\t\t\t\tclassName=\"list-item-level-1\"\r\n\t\t\t\t\t\t\t\t\t\tactive={isMenuItemActive(subItem.path)}\r\n\t\t\t\t\t\t\t\t\t\tkey={subItem.id}\r\n\t\t\t\t\t\t\t\t\t\tonClick={(e) => handleClickSubItem(item.path, subItem.path, e)}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{subItem.label}\r\n\t\t\t\t\t\t\t\t\t</ListItem>\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t</List>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</React.Fragment>\r\n\t\t\t\t))}\r\n\t\t\t</List>\r\n\t\t</nav>\r\n\t);\r\n}\r\n","import React, { ComponentProps } from 'react';\r\nimport { COLOR } from '../component.enums';\r\nimport styles from './Snackbar.module.scss';\r\n\r\nexport interface ISnackbarProps extends ComponentProps<\"div\"> {\r\n\tcolor?: COLOR;\r\n\tactionText?: string;\r\n\tonOk?: (e: React.MouseEvent) => void;\r\n}\r\n\r\nexport const Snackbar = (props: ISnackbarProps) => {\r\n\r\n\tconst { children, color = COLOR.dark, actionText = 'ok', onOk, ...rest } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.snackbar);\r\n\t\tcssClasses.push(`shadow-lg`);\r\n\t\tcssClasses.push(styles[color]);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t}\r\n\r\n\tconst handleClickAction = (e: React.MouseEvent) => {\r\n\t\tonOk && onOk(e);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<div className={getCssClasses()} {...rest}>\r\n\t\t\t<div className={styles.text}>\r\n\t\t\t\t{children}\r\n\t\t\t</div>\r\n\r\n\t\t\t<div className={styles.action + \" text-accent\"} onClick={handleClickAction}>\r\n\t\t\t\t<span>{actionText}</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport { render, unmountComponentAtNode } from 'react-dom';\r\nimport { COLOR } from '../component.enums';\r\nimport { Snackbar } from './Snackbar';\r\n\r\nexport interface ISnackbarService {\r\n\tshow(message: React.ReactChildren | string, options?: ISnackbarOptions): Promise<void>;\r\n}\r\n\r\nexport interface ISnackbarOptions {\r\n\tactionText?: string;\r\n\ttimeout?: number;\r\n\tcolor?: COLOR;\r\n\ttarget?: HTMLElement;\r\n}\r\n\r\nclass SnackbarService implements ISnackbarService {\r\n\tprivate container: any;\r\n\tprivate handler: any;\r\n\r\n\tshow(message: React.ReactChildren | string, options?: ISnackbarOptions): Promise<void> {\r\n\t\tconst defaultOptions: ISnackbarOptions = { timeout: 3000, actionText: 'ok', color: COLOR.dark, target: document.body };\r\n\t\tconst mergedOptions = Object.assign(defaultOptions, options);\r\n\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tif (this.container) {\r\n\t\t\t\tthis.hide();\r\n\t\t\t}\r\n\t\t\tthis.container = document.createElement('div');\r\n\t\t\tthis.container.classList.add('snackbar-container');\r\n\t\t\t(mergedOptions.target as HTMLElement).appendChild(this.container);\r\n\r\n\t\t\tif (mergedOptions.timeout && mergedOptions.timeout > 0) {\r\n\t\t\t\tthis.handler = setTimeout(() => {\r\n\t\t\t\t\tthis.hide();\r\n\t\t\t\t}, mergedOptions.timeout);\r\n\t\t\t}\r\n\r\n\t\t\tconst handleOk = () => {\r\n\t\t\t\tresolve();\r\n\t\t\t\tthis.hide();\r\n\t\t\t}\r\n\r\n\t\t\trender(\r\n\t\t\t\t<Snackbar\r\n\t\t\t\t\tcolor={mergedOptions.color}\r\n\t\t\t\t\tactionText={mergedOptions.actionText}\r\n\t\t\t\t\tonOk={handleOk}\r\n\t\t\t\t>\r\n\t\t\t\t\t{message}\r\n\t\t\t\t</Snackbar>,\r\n\t\t\t\tthis.container\r\n\t\t\t);\r\n\t\t})\r\n\t}\r\n\r\n\tprivate hide() {\r\n\t\tif (this.container) {\r\n\t\t\tunmountComponentAtNode(this.container);\r\n\t\t\tdocument.body.removeChild(this.container);\r\n\t\t\tthis.container = null;\r\n\t\t\tclearTimeout(this.handler);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport const snackbarService = new SnackbarService();\r\n","import React from 'react';\r\nimport styles from './SpeedDialActions.module.scss';\r\n\r\ninterface ISpeedDialActionsProps {\r\n\tchildren: any;\r\n}\r\n\r\nexport const SpeedDialActions = (props: ISpeedDialActionsProps) => {\r\n\r\n\tconst { children } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.speedDialActions);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div className={getCssClasses()}>\r\n\t\t\t{children}\r\n\t\t</div>\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport { PlusSolidIcon } from '../../assets/icons';\r\nimport { FloatingActionButton } from '../FloatingActionButton';\r\nimport { SpeedDialActions } from './SpeedDialActions';\r\nimport styles from './SpeedDial.module.scss';\r\n\r\nexport interface ISpeedDialProps extends React.DetailedHTMLProps<React.HtmlHTMLAttributes<HTMLDivElement>, HTMLDivElement> {\r\n\tonClose?: (e: React.MouseEvent) => void;\r\n\tonOpen?: (e: React.MouseEvent) => void;\r\n\topen?: boolean;\r\n}\r\n\r\nexport const SpeedDial = (props: ISpeedDialProps) => {\r\n\r\n\tconst { children, className, open, onOpen, onClose, ...rest } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.speedDial);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\tconst handleClick = (e: any) => {\r\n\t\tif (open) onClose && onClose(e)\r\n\t\telse onOpen && onOpen(e)\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div className={getCssClasses()} {...rest}>\r\n\t\t\t<div style={{ 'transform': open ? 'rotate(45deg)' : undefined }}>\r\n\t\t\t\t<FloatingActionButton\r\n\t\t\t\t\ticon={<PlusSolidIcon />}\r\n\t\t\t\t\tonClick={handleClick}\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\r\n\t\t\t{open &&\r\n\t\t\t\t<SpeedDialActions>\r\n\t\t\t\t\t{children}\r\n\t\t\t\t</SpeedDialActions>\r\n\t\t\t}\r\n\t\t</div>\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport { VARIANT } from '..';\r\nimport { COLOR } from '../component.enums';\r\nimport { IconButton } from '../IconButton';\r\nimport styles from './SpeedDialAction.module.scss';\r\n\r\nexport interface ISpeedDialActionProps extends React.DetailedHTMLProps<React.HtmlHTMLAttributes<HTMLDivElement>, HTMLDivElement> {\r\n\ticon: React.SVGProps<SVGSVGElement>;\r\n\ttooltipTitle?: string;\r\n\tcolor?: COLOR;\r\n\tonClick?: (e: React.MouseEvent) => void;\r\n}\r\n\r\nexport const SpeedDialAction = (props: ISpeedDialActionProps) => {\r\n\r\n\tconst { icon, color = COLOR.light, onClick, className } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.speedDialAction);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\treturn (\r\n\t\t<IconButton\r\n\t\t\tclassName={getCssClasses()}\r\n\t\t\ticon={icon}\r\n\t\t\tcolor={color}\r\n\t\t\tvariant={VARIANT.contained}\r\n\t\t\tshadow={true}\r\n\t\t\tonClick={onClick}\r\n\t\t/>\r\n\t);\r\n}\r\n","import React, { ReactElement } from 'react';\r\nimport { Icon } from '../Icon';\r\n\r\nexport interface ISpeedDialIconProps extends React.DetailedHTMLProps<React.HtmlHTMLAttributes<HTMLDivElement>, HTMLDivElement> {\r\n\topenIcon?: ReactElement;\r\n}\r\n\r\nexport const SpeedDialIcon = (props: ISpeedDialIconProps) => {\r\n\r\n\tconst { children, className, ...rest } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\treturn (\r\n\t\t<Icon className={getCssClasses()} {...rest}>\r\n\t\t\t{children}\r\n\t\t</Icon>\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport { CheckSolidIcon, ChevronLeftSolidIcon, ChevronRightSolidIcon } from '../../../assets/icons';\r\nimport { Button } from '../../Button';\r\nimport { COLOR, VARIANT } from '../../component.enums';\r\nimport styles from './StepperActions.module.scss';\r\n\r\nexport interface IStepperActionsProps {\r\n\tclassName?: string;\r\n\tisCompleted?: boolean;\r\n\tisFirstStep?: boolean;\r\n\tisStepOptional?: boolean;\r\n\tonBack?: () => void;\r\n\tonSkip?: () => void;\r\n\tonNext?: () => void;\r\n\tonReset?: () => void;\r\n}\r\n\r\nexport const StepperActions = (props: IStepperActionsProps) => {\r\n\r\n\tconst { className, isCompleted, isFirstStep, isStepOptional, onBack, onSkip, onNext, onReset } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.stepperActions);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div className={getCssClasses()}>\r\n\t\t\t<Button\r\n\t\t\t\tclassName=\"mr-2\"\r\n\t\t\t\tvariant={VARIANT.outline}\r\n\t\t\t\tdisabled={isFirstStep}\r\n\t\t\t\tstartIcon={!isFirstStep ? <ChevronLeftSolidIcon /> : undefined}\r\n\t\t\t\tonClick={() => onBack && onBack()}\r\n\t\t\t>\r\n\t\t\t\tBack\r\n\t\t\t</Button>\r\n\r\n\t\t\t<div className=\"ml-auto\">\r\n\t\t\t\t{isCompleted && (\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tclassName=\"mr-2\"\r\n\t\t\t\t\t\tcolor={COLOR.secondary}\r\n\t\t\t\t\t\tvariant={VARIANT.text}\r\n\t\t\t\t\t\tonClick={() => onReset && onReset()}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\tReset\r\n\t\t\t\t\t</Button>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{isStepOptional && (\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tclassName=\"mr-2\"\r\n\t\t\t\t\t\tvariant={VARIANT.contained}\r\n\t\t\t\t\t\tcolor={COLOR.primary}\r\n\t\t\t\t\t\tonClick={() => onSkip && onSkip()}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\tSkip\r\n\t\t\t\t\t</Button>\r\n\t\t\t\t)}\r\n\t\t\t\t<Button\r\n\t\t\t\t\tvariant={VARIANT.contained}\r\n\t\t\t\t\tcolor={COLOR.primary}\r\n\t\t\t\t\tstartIcon={isCompleted ? <CheckSolidIcon /> : undefined}\r\n\t\t\t\t\tendIcon={!isCompleted ? <ChevronRightSolidIcon /> : undefined}\r\n\t\t\t\t\tonClick={() => onNext && onNext()}\r\n\t\t\t\t>\r\n\t\t\t\t\t{isCompleted ? 'Done' : 'Next'}\r\n\t\t\t\t</Button>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t)\r\n}\r\n","import React, { ReactNode } from 'react';\r\n\r\nexport interface IStepPanelProps {\r\n\tchildren?: ReactNode;\r\n}\r\n\r\nexport const StepPanel = (props: IStepPanelProps) => {\r\n\r\n\tconst { children } = props;\r\n\r\n\treturn (\r\n\t\t<div className=\"steppanel\">\r\n\t\t\t{children}\r\n\t\t</div>\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport styles from './StepConnector.module.scss';\r\n\r\nexport interface IStepConnectorProps {\r\n\tisActive?: boolean; // rename in isChecked?\r\n\tisHorizontal?: boolean;\r\n}\r\n\r\nexport const StepConnector = (props: IStepConnectorProps) => {\r\n\r\n\tconst { isActive, isHorizontal = true } = props;\r\n\r\n\tconst getCssClassesConnector = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.stepConnector);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t}\r\n\r\n\tconst getCssClassesLine = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.stepConnectorLine);\r\n\t\tisActive && cssClasses.push(styles['isActive' as any]);\r\n\t\tisHorizontal && cssClasses.push(styles.stepConnectorLineHorizontal);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t}\r\n\r\n\treturn (\r\n\t\t<div className={getCssClassesConnector()}>\r\n\t\t\t<div className={getCssClassesLine()}></div>\r\n\t\t</div>\r\n\t)\r\n}\r\n","import React, { cloneElement, Fragment, PropsWithChildren, ReactChild, ReactElement, useEffect, useState } from 'react';\r\nimport { IStepProps } from './Step';\r\nimport { StepperActions } from './StepperActions';\r\nimport { StepPanel } from './StepPanel/StepPanel';\r\nimport { StepConnector } from './StepConnector/StepConnector';\r\nimport styles from './Stepper.module.scss';\r\n\r\nexport interface IStepperProps {\r\n\tchildren?: ReactElement<IStepProps> | Array<ReactElement<IStepProps>>;\r\n\tisLinear?: boolean;\r\n\tisDisabled?: boolean;\r\n\tshowLabel?: boolean;\r\n\tshowProgressCheckIcon?: boolean;\r\n\tisHorizontal?: boolean;\r\n\r\n\tonChange?: (val: number) => void;\r\n\tonFinish?: () => void;\r\n\r\n\t// TODOs\r\n\talternativeLabel?: boolean; // place underneath\r\n\tvalue?: number; // active step as string?\r\n\tisReadonly?: boolean;\r\n}\r\n\r\nexport const Stepper = (props: IStepperProps) => {\r\n\tconst { children, isLinear = true, showLabel = true, showProgressCheckIcon = false, value, isHorizontal = true, onChange, onFinish } = props;\r\n\r\n\tconst [steps, setSteps] = useState<(ReactElement<IStepProps>)[]>();\r\n\r\n\tconst [activeIndex, setActiveIndex] = React.useState(0);\r\n\tconst [skipped, setSkipped] = React.useState(new Set<number>());\r\n\r\n\tuseEffect(() => {\r\n\t\tif (children) {\r\n\t\t\tsetSteps(React.Children.toArray(children) as (ReactElement<IStepProps>)[]);\r\n\t\t}\r\n\t}, [children]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (value !== undefined) {\r\n\t\t\tsetActiveIndex(value);\r\n\t\t}\r\n\t}, [value]);\r\n\r\n\tconst isStepSkipped = (step: number) => {\r\n\t\treturn skipped.has(step);\r\n\t};\r\n\r\n\tconst handleClickStep = (event: any, newValue: string, index: number) => {\r\n\t\tsetActiveIndex(() => {\r\n\t\t\tonChange && onChange(index);\r\n\t\t\treturn index;\r\n\t\t});\r\n\t}\r\n\r\n\tconst renderSteps = (child: ReactChild, index: number) => {\r\n\t\treturn React.isValidElement(child) &&\r\n\t\t\tcloneElement((child as ReactElement<PropsWithChildren<IStepProps>>), {\r\n\t\t\t\tindex: index,\r\n\t\t\t\tisActive: activeIndex >= index,\r\n\t\t\t\tisDone: activeIndex > index,\r\n\t\t\t\tisDisabled: isLinear && (activeIndex + 1 < index),\r\n\t\t\t\tshowLabel: showLabel,\r\n\t\t\t\tshowProgressCheckIcon: showProgressCheckIcon,\r\n\t\t\t\tonClick: (event: any, val: string) => handleClickStep(event, val, index)\r\n\t\t\t});\r\n\t}\r\n\r\n\r\n\r\n\tconst isStepOptional = (index: number) => {\r\n\t\treturn steps && steps[index].props.isOptional;\r\n\t};\r\n\r\n\tconst handleBack = () => {\r\n\t\tsetActiveIndex((prevActiveStep) => {\r\n\t\t\tconst newIndex = prevActiveStep - 1;\r\n\t\t\tonChange && onChange(newIndex);\r\n\t\t\treturn newIndex;\r\n\t\t});\r\n\t}\r\n\r\n\t// TODO\r\n\tconst handleSkip = () => {\r\n\t\tif (!isStepOptional(activeIndex)) {\r\n\t\t\tthrow new Error(\"You can't skip a step that isn't optional.\");\r\n\t\t}\r\n\r\n\t\tsetActiveIndex((prevActiveStep) => prevActiveStep + 1);\r\n\t\tsetSkipped((prevSkipped) => {\r\n\t\t\tconst newSkipped = new Set(prevSkipped.values());\r\n\t\t\tnewSkipped.add(activeIndex);\r\n\t\t\treturn newSkipped;\r\n\t\t});\r\n\t}\r\n\r\n\t// TODO\r\n\tconst handleNext = () => {\r\n\t\tif (!isLastStep()) {\r\n\t\t\tlet newSkipped = skipped;\r\n\t\t\tif (isStepSkipped(activeIndex)) {\r\n\t\t\t\tnewSkipped = new Set(newSkipped.values());\r\n\t\t\t\tnewSkipped.delete(activeIndex);\r\n\t\t\t}\r\n\r\n\t\t\tsetActiveIndex((prevActiveStep) => {\r\n\t\t\t\tconst newIndex = prevActiveStep + 1;\r\n\t\t\t\tonChange && onChange(newIndex);\r\n\t\t\t\treturn newIndex;\r\n\t\t\t});\r\n\t\t\tsetSkipped(newSkipped);\r\n\t\t} else {\r\n\t\t\tonFinish && onFinish();\r\n\t\t}\r\n\t}\r\n\r\n\tconst handleReset = () => {\r\n\t\tsetActiveIndex(0);\r\n\t\tonChange && onChange(0);\r\n\t};\r\n\r\n\tconst isLastStep = () => {\r\n\t\treturn steps && activeIndex === steps.length - 1;\r\n\t}\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.stepper);\r\n\t\tisHorizontal && cssClasses.push(styles['isHorizontal' as any]);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{steps &&\r\n\t\t\t\t<>\r\n\t\t\t\t\t<div className={getCssClasses()}>\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tsteps.map(\r\n\t\t\t\t\t\t\t\t(child, index) => (\r\n\t\t\t\t\t\t\t\t\t<React.Fragment key={child.props.value}>\r\n\t\t\t\t\t\t\t\t\t\t{renderSteps(child as ReactChild, index)}\r\n\t\t\t\t\t\t\t\t\t\t{index !== steps.length - 1 && <StepConnector isActive={activeIndex > index} />}\r\n\t\t\t\t\t\t\t\t\t</React.Fragment>\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tsteps && steps.map((step, index) =>\r\n\t\t\t\t\t\t\t<Fragment key={step.props.value}>\r\n\t\t\t\t\t\t\t\t{index === activeIndex &&\r\n\t\t\t\t\t\t\t\t\t<StepPanel>\r\n\t\t\t\t\t\t\t\t\t\t{step.props.children}\r\n\t\t\t\t\t\t\t\t\t</StepPanel>\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t</Fragment>\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t<StepperActions\r\n\t\t\t\t\t\tclassName=\"mt-3\"\r\n\t\t\t\t\t\tisFirstStep={activeIndex === 0}\r\n\t\t\t\t\t\tisStepOptional={isStepOptional(activeIndex)}\r\n\t\t\t\t\t\tisCompleted={isLastStep()}\r\n\t\t\t\t\t\tonBack={handleBack}\r\n\t\t\t\t\t\tonSkip={handleSkip}\r\n\t\t\t\t\t\tonNext={handleNext}\r\n\t\t\t\t\t\tonReset={handleReset}\r\n\t\t\t\t\t/>\r\n\r\n\t\t\t\t</>\r\n\r\n\t\t\t}\r\n\t\t</>\r\n\t);\r\n}\r\n","import { useEffect, useState } from 'react';\r\n\r\nexport function useWindowSize() {\r\n\tconst [windowSize, setWindowSize] = useState({\r\n\t\twidth: 0,\r\n\t\theight: 0,\r\n\t});\r\n\r\n\tuseEffect(() => {\r\n\t\tfunction handleResize() {\r\n\t\t\tsetWindowSize({\r\n\t\t\t\twidth: window.innerWidth,\r\n\t\t\t\theight: window.innerHeight,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\twindow.addEventListener(\"resize\", handleResize);\r\n\t\thandleResize();\r\n\t\treturn () => window.removeEventListener(\"resize\", handleResize);\r\n\t}, []);\r\n\treturn windowSize;\r\n}\r\n","import { useEffect, useRef, useState } from 'react';\r\n\r\nexport function useHover() {\r\n\tconst [value, setValue] = useState(false);\r\n\tconst ref = useRef(null);\r\n\tconst handleMouseOver = () => setValue(true);\r\n\tconst handleMouseOut = () => setValue(false);\r\n\tuseEffect(\r\n\t\t() => {\r\n\t\t\tconst node = ref.current as any;\r\n\t\t\tif (node) {\r\n\t\t\t\tnode.addEventListener(\"mouseover\", handleMouseOver);\r\n\t\t\t\tnode.addEventListener(\"mouseout\", handleMouseOut);\r\n\t\t\t\treturn () => {\r\n\t\t\t\t\tnode.removeEventListener(\"mouseover\", handleMouseOver);\r\n\t\t\t\t\tnode.removeEventListener(\"mouseout\", handleMouseOut);\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t},\r\n\t\t[ref.current] // Recall only if ref changes\r\n\t);\r\n\treturn [ref, value];\r\n}\r\n","import { useState } from 'react';\r\n\r\nexport const useConstructor = (callBack = () => { }) => {\r\n\tconst [hasBeenCalled, setHasBeenCalled] = useState(false);\r\n\tif (hasBeenCalled) return;\r\n\tcallBack();\r\n\tsetHasBeenCalled(true);\r\n};\r\n","import { useEffect, useRef } from \"react\";\r\n\r\nexport function useDebounce(callback: any, timeout: any, deps: any) {\r\n\tconst timeoutId: any = useRef();\r\n\r\n\tuseEffect(() => {\r\n\t\tclearTimeout(timeoutId.current);\r\n\t\ttimeoutId.current = setTimeout(callback, timeout);\r\n\t\treturn () => clearTimeout(timeoutId.current);\r\n\t}, deps);\r\n}\r\n","import React from 'react';\r\nimport styles from './Typography.module.scss';\r\n\r\nexport interface IWrapperProps {\r\n\tas?: string;\r\n\tchildren: React.ReactNode;\r\n\tclassName?: string;\r\n}\r\n\r\nconst Wrapper = (props: IWrapperProps) => {\r\n\tconst { as = 'span', children, className, ...rest } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.typography);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\treturn React.createElement(as, { ...rest, className: getCssClasses() }, children);\r\n}\r\n\r\n\r\nexport interface ITypographyProps extends React.ComponentProps<\"span\"> {\r\n\tas?: string;\r\n}\r\n\r\nexport const Typography = ({ children, as = 'span', ...rest }: ITypographyProps) => {\r\n\treturn (\r\n\t\t<Wrapper as={as} {...rest}>\r\n\t\t\t{children}\r\n\t\t</Wrapper>\r\n\t)\r\n}\r\n","import React, { ReactNode } from 'react';\r\nimport { CheckSolidIcon, CircleSolidIcon } from '../../../assets/icons';\r\nimport { useHover } from '../../../hooks';\r\nimport { COLOR } from '../../component.enums';\r\nimport { Icon } from '../../Icon';\r\nimport { Typography } from '../../Typography';\r\nimport styles from './Step.module.scss';\r\n\r\nexport interface IStepProps {\r\n\tvalue: string;\r\n\tindex?: number;\r\n\tlabel?: ReactNode;\r\n\tchildren?: ReactNode;\r\n\tshowLabel?: boolean;\r\n\tisActive?: boolean; // rename in isChecked?\r\n\tisDone?: boolean;\r\n\tisDisabled?: boolean;\r\n\tisOptional?: boolean;\r\n\tclassName?: string;\r\n\tshowProgressCheckIcon?: boolean;\r\n\tonClick?: (event: any, value: string) => void;\r\n}\r\n\r\nexport const Step = (props: IStepProps) => {\r\n\r\n\tconst { className, label, showLabel, index, value, isActive, isDone, isDisabled, showProgressCheckIcon, onClick } = props;\r\n\tconst [hoverRef, isHovered] = useHover();\r\n\r\n\tconst handleClick = (e: any) => {\r\n\t\tif (!isDisabled) {\r\n\t\t\tonClick && onClick(e, value);\r\n\t\t}\r\n\t}\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.stepWrapper);\r\n\t\tlabel && showLabel && cssClasses.push(styles['hasLabel']);\r\n\t\tisDisabled && cssClasses.push(styles['disabled']);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t}\r\n\r\n\tconst getCssClassesStep = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.step);\r\n\t\tlabel && showLabel && cssClasses.push(styles['hasLabel']);\r\n\t\tisDisabled && cssClasses.push(styles['disabled']);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t}\r\n\r\n\treturn (\r\n\t\t<div ref={hoverRef as any} className={getCssClasses()} onClick={handleClick}>\r\n\r\n\t\t\t<div className={getCssClassesStep()}>\r\n\t\t\t\t<Icon className={styles.stepIconCircle} iconColor={(isHovered || isActive) && !isDisabled ? COLOR.primary : COLOR.secondary}>\r\n\t\t\t\t\t<CircleSolidIcon />\r\n\t\t\t\t</Icon>\r\n\r\n\t\t\t\t<div className={styles.stepValue + ' ' + (isActive ? (styles.stepValue['isActive' as any]) : '')}>\r\n\t\t\t\t\t{showProgressCheckIcon && isActive && isDone ?\r\n\t\t\t\t\t\t<Icon>\r\n\t\t\t\t\t\t\t<CheckSolidIcon />\r\n\t\t\t\t\t\t</Icon>\r\n\t\t\t\t\t\t:\r\n\t\t\t\t\t\t<Typography>\r\n\t\t\t\t\t\t\t{(index as number) + 1}\r\n\t\t\t\t\t\t</Typography>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t{label && showLabel &&\r\n\t\t\t\t<Typography className=\"flex-shrink-0\">\r\n\t\t\t\t\t{label}\r\n\t\t\t\t</Typography>\r\n\t\t\t}\r\n\t\t</div>\r\n\t);\r\n}\r\n","import React, { ReactElement } from 'react';\r\nimport { ConditionalWrapper } from '../ConditionalWrapper';\r\n\r\nexport interface ITableProps {\r\n\tchildren?: ReactElement | Array<ReactElement>;\r\n\tclassName?: string;\r\n\tstriped?: boolean;\r\n\tbordered?: boolean;\r\n\thover?: boolean;\r\n\tresponsive?: boolean;\r\n}\r\n\r\nexport const Table = (props: ITableProps) => {\r\n\r\n\tconst { children, className, bordered, striped, hover, responsive = false } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push('table');\r\n\t\tbordered && cssClasses.push('table-bordered');\r\n\t\tstriped && cssClasses.push('table-striped');\r\n\t\thover && cssClasses.push('table-hover');\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\treturn (\r\n\t\t<ConditionalWrapper\r\n\t\t\tcondition={responsive}\r\n\t\t\twrapper={children => <div className=\"table-responsive\">{children}</div>}\r\n\t\t>\r\n\t\t\t<table className={getCssClasses()}>\r\n\t\t\t\t{children}\r\n\t\t\t</table>\r\n\t\t</ConditionalWrapper>\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport { COLOR } from '../component.enums';\r\nimport styles from './TabIndicator.module.scss';\r\n\r\nexport interface ITabIndicatorProps extends React.DetailedHTMLProps<React.HtmlHTMLAttributes<HTMLDivElement>, HTMLDivElement> {\r\n\tamount?: number;\r\n\tindex?: number;\r\n\tcolor?: COLOR;\r\n\twidth?: any;\r\n\tleft?: any;\r\n}\r\n\r\nexport const TabIndicator = (props: ITabIndicatorProps) => {\r\n\r\n\tconst { color = COLOR.accent, width, amount, index } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.tabIndicator);\r\n\t\tcssClasses.push(styles[color]);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\treturn (\r\n\t\t<span\r\n\t\t\tclassName={getCssClasses()}\r\n\t\t\tstyle={{\r\n\t\t\t\twidth: width,\r\n\t\t\t\tleft: `calc(calc(100% / ${amount}) * ${index})`\r\n\t\t\t}}>\r\n\t\t\t</span>\r\n\t);\r\n}\r\n","import React, { cloneElement, Fragment, PropsWithChildren, ReactChild, ReactElement, useEffect, useState } from 'react';\r\nimport { COLOR } from '../component.enums';\r\nimport { ITabProps } from './Tab';\r\nimport { TabIndicator } from './TabIndicator';\r\nimport styles from './Tabs.module.scss';\r\n\r\nexport interface ITabsProps {\r\n\tcolor?: COLOR;\r\n\tindicatorColor?: COLOR;\r\n\tchildren?: ReactElement<ITabProps> | Array<ReactElement<ITabProps>>;\r\n\tclassName?: string;\r\n\tfixed?: boolean;\r\n\tonChange?: (event: any, newValue: string) => void;\r\n\tvalue?: string;\r\n}\r\n\r\nexport const Tabs = (props: ITabsProps) => {\r\n\r\n\tconst { children, className, fixed, indicatorColor, onChange, value } = props;\r\n\tconst [selectedValue, setSelectedValue] = useState<string | undefined>(value);\r\n\tconst [selectedIndex, setSelectedIndex] = useState<number>();\r\n\r\n\tuseEffect(() => {\r\n\t\tReact.Children.toArray(children).forEach((child, index) => {\r\n\t\t\tif ((child as ReactElement<PropsWithChildren<ITabProps>>).props.value === value) {\r\n\t\t\t\tsetSelectedIndex(index);\r\n\t\t\t}\r\n\t\t})\r\n\t}, [children, value]);\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.tabs);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\tconst handleClickTab = (event: any, newValue: string, index: number) => {\r\n\t\tsetSelectedValue(newValue);\r\n\t\tsetSelectedIndex(index);\r\n\t\tonChange && onChange(event, newValue);\r\n\t}\r\n\r\n\tconst renderTabs = (child: ReactChild, index: number) => { //<PropsWithChildren<ITabProps>>\r\n\t\treturn React.isValidElement(child) && cloneElement((child as ReactElement<PropsWithChildren<ITabProps>>), {\r\n\t\t\tkey: child.props.value,\r\n\t\t\tisActive: child.props.value === selectedValue,\r\n\t\t\tfixed: fixed,\r\n\t\t\tonClick: (event: any, newValue: string) => handleClickTab(event, newValue, index),\r\n\t\t});\r\n\t}\r\n\r\n\treturn (\r\n\t\t<Fragment>\r\n\t\t\t<div className={getCssClasses()}>\r\n\t\t\t\t{children && React.Children.toArray(children).map((child, index) => renderTabs(child as ReactChild, index))}\r\n\r\n\t\t\t\t{children &&\r\n\t\t\t\t\t<TabIndicator\r\n\t\t\t\t\t\tcolor={indicatorColor}\r\n\t\t\t\t\t\twidth={(100 / React.Children.toArray(children).length) + '%'}\r\n\t\t\t\t\t\tindex={selectedIndex}\r\n\t\t\t\t\t\tamount={React.Children.toArray(children).length}\r\n\t\t\t\t\t/>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</Fragment>\r\n\t)\r\n}\r\n","import React, { ReactNode } from 'react';\r\nimport { Button } from '../Button';\r\nimport styles from './Tab.module.scss';\r\n\r\nexport interface ITabProps {\r\n\tlabel: ReactNode;\r\n\tvalue: string;\r\n\tisActive?: boolean;\r\n\tfixed?: boolean; // TODO\r\n\tdisabled?: boolean;\r\n\tclassName?: string;\r\n\tonClick?: (event: any, value: string) => void;\r\n}\r\n\r\nexport const Tab = (props: ITabProps) => {\r\n\r\n\tconst { label, className, isActive, disabled, value, onClick } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.tab);\r\n\t\tif (isActive) {\r\n\t\t\tcssClasses.push(`show active`);\r\n\t\t}\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\treturn (\r\n\t\t<Button\r\n\t\t\tclassName={getCssClasses()}\r\n\t\t\tonClick={(event) => onClick && onClick(event, value)}\r\n\t\t\tisActive={isActive}\r\n\t\t\tdisabled={disabled}\r\n\t\t>\r\n\t\t\t{label}\r\n\t\t</Button>\r\n\t)\r\n}\r\n","import React from 'react';\r\n\r\nexport interface ITabPanelProps extends React.DetailedHTMLProps<React.HTMLProps<HTMLDivElement>, HTMLDivElement> {\r\n\tvalue: string;\r\n\tindex: string;\r\n\tclassName?: string;\r\n}\r\n\r\nexport const TabPanel = (props: ITabPanelProps) => {\r\n\r\n\tconst { children, className, value, index, ...rest } = props;\r\n\r\n\treturn (\r\n\t\t<div\r\n\t\t\trole=\"tabpanel\"\r\n\t\t\thidden={value !== index}\r\n\t\t\tid={`tabpanel-${index}`}\r\n\t\t\taria-labelledby={`wrapped-tab-${index}`}\r\n\t\t\t{...rest}\r\n\t\t>\r\n\t\t\t{ value === index && children }\r\n\t\t</div>\r\n\t);\r\n}\r\n","import React, { cloneElement, Fragment, ReactElement, useEffect, useRef, useState } from 'react';\r\nimport { createPopper } from '@popperjs/core';\r\nimport styles from './Tooltip.module.scss';\r\n\r\nexport interface ITooltipProps {\r\n\tplacement?: 'top' | 'bottom' | 'right' | 'left',\r\n\ttext?: string;\r\n\tchildren: ReactElement;\r\n}\r\n\r\nexport const Tooltip = (props: ITooltipProps) => {\r\n\r\n\tconst { children, text, placement = 'bottom' } = props;\r\n\r\n\tconst [show, setShow] = useState<boolean>(false);\r\n\tconst refChild = useRef(null);\r\n\tconst refTooltip = useRef(null);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (show === true && refChild && refChild.current) {\r\n\t\t\t// TODO - extract to own component?\r\n\t\t\tcreatePopper((refChild.current as any), (refTooltip.current as any), {\r\n\t\t\t\tplacement: placement,\r\n\t\t\t\tmodifiers: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tname: 'offset',\r\n\t\t\t\t\t\toptions: { offset: [0, 8] }\r\n\t\t\t\t\t},\r\n\t\t\t\t]\r\n\t\t\t});\r\n\t\t}\r\n\t}, [show]);\r\n\r\n\tconst handleMouseOver = () => {\r\n\t\tsetShow(true);\r\n\t}\r\n\r\n\tconst handleMouseLeave = () => {\r\n\t\tsetShow(false);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<Fragment>\r\n\t\t\t<div className={styles.tooltipContainer} ref={refChild} id=\"tooltip-container\">\r\n\t\t\t\t{cloneElement(children, {\r\n\t\t\t\t\tonMouseOver: handleMouseOver,\r\n\t\t\t\t\tonMouseLeave: handleMouseLeave,\r\n\t\t\t\t})}\r\n\t\t\t</div>\r\n\r\n\t\t\t{show &&\r\n\t\t\t\t<div className={styles.tooltip} ref={refTooltip} id=\"tooltip\">\r\n\t\t\t\t\t{text}\r\n\t\t\t\t\t<div id=\"arrow\" data-popper-arrow></div>\r\n\t\t\t\t</div >\r\n\t\t\t}\r\n\t\t</Fragment>\r\n\t);\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { ISelectOption } from '../component.interfaces';\r\nimport { Select } from \"../Select\";\r\n\r\nexport interface IHourProps {\r\n\tvalue?: number;\r\n\tclassName?: string;\r\n\tid?: string;\r\n\tname?: string;\r\n\tdisabled?: boolean;\r\n\tonChange?: (val: number) => void;\r\n}\r\n\r\nexport const HourSelect = (props: IHourProps) => {\r\n\r\n\tconst { className, value = 0, id, name, disabled, onChange } = props;\r\n\tconst [newValue, setNewValue] = useState<number>(value);\r\n\tconst [hourOptions, setHourOptions] = useState<Array<ISelectOption>>();\r\n\r\n\tuseEffect(() => {\r\n\t\tconst newHourOptions: Array<ISelectOption> = [];\r\n\t\tfor (let i = 0; i < 24; i++) {\r\n\t\t\tnewHourOptions.push({ value: i.toString(), label: i.toString() });\r\n\t\t}\r\n\t\tsetHourOptions(newHourOptions);\r\n\t}, []);\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t}\r\n\r\n\tconst handleOnChange = (e: number) => {\r\n\t\tsetNewValue(e);\r\n\t\tonChange && onChange(e);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<Select\r\n\t\t\tid={id}\r\n\t\t\tname={name}\r\n\t\t\tclassName={getCssClasses()}\r\n\t\t\toptions={hourOptions}\r\n\t\t\tonChange={(e) => handleOnChange(parseInt(e as string))}\r\n\t\t\tdisabled={disabled}\r\n\t\t\tvalue={newValue.toString()}\r\n\t\t/>\r\n\t);\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { ISelectOption } from '../component.interfaces';\r\nimport { Select } from \"../Select\";\r\n\r\nexport interface IMilliSecondProps {\r\n\tclassName?: string;\r\n\tvalue?: number;\r\n\tsteps?: number;\r\n\tid?: string;\r\n\tname?: string;\r\n\tdisabled?: boolean;\r\n\tonChange?: (val: number) => void;\r\n}\r\n\r\nexport const MilliSecondSelect = (props: IMilliSecondProps) => {\r\n\r\n\tconst { className, value = 0, steps = 100, id, name, disabled, onChange } = props;\r\n\tconst [newValue, setNewValue] = useState<number>(value);\r\n\tconst [milliSecondOptions, setMilliSecondOptions] = useState<Array<ISelectOption>>();\r\n\r\n\tuseEffect(() => {\r\n\t\tconst newMilliSecondOptions: Array<ISelectOption> = [];\r\n\t\tfor (let i = 0; i < 1000; i += steps) {\r\n\t\t\tnewMilliSecondOptions.push({ value: i.toString(), label: i.toString() });\r\n\t\t}\r\n\t\tsetMilliSecondOptions(newMilliSecondOptions);\r\n\t}, []);\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t}\r\n\r\n\tconst handleOnChange = (e: number) => {\r\n\t\tsetNewValue(e);\r\n\t\tonChange && onChange(e);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<Select\r\n\t\t\tid={id}\r\n\t\t\tname={name}\r\n\t\t\tclassName={getCssClasses()}\r\n\t\t\toptions={milliSecondOptions}\r\n\t\t\tonChange={(e) => handleOnChange(parseInt(e as string))}\r\n\t\t\tdisabled={disabled}\r\n\t\t\tvalue={newValue.toString()}\r\n\t\t/>\r\n\t);\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { ISelectOption } from '../component.interfaces';\r\nimport { Select } from \"../Select\";\r\n\r\nexport interface IMinuteProps {\r\n\tvalue?: number;\r\n\tclassName?: string;\r\n\tid?: string;\r\n\tname?: string;\r\n\tdisabled?: boolean;\r\n\tonChange?: (val: number) => void;\r\n}\r\n\r\nexport const MinuteSelect = (props: IMinuteProps) => {\r\n\r\n\tconst { className, value = 0, id, name, disabled, onChange } = props;\r\n\tconst [newValue, setNewValue] = useState<number>(value);\r\n\tconst [minuteOptions, setMinuteOptions] = useState<Array<ISelectOption>>();\r\n\r\n\tuseEffect(() => {\r\n\t\tconst newMinuteOptions: Array<ISelectOption> = [];\r\n\t\tfor (let i = 0; i < 60; i++) {\r\n\t\t\tnewMinuteOptions.push({ value: i.toString(), label: i.toString() });\r\n\t\t}\r\n\t\tsetMinuteOptions(newMinuteOptions);\r\n\t}, []);\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t}\r\n\r\n\tconst handleOnChange = (e: number) => {\r\n\t\tsetNewValue(e);\r\n\t\tonChange && onChange(e);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<Select\r\n\t\t\tid={id}\r\n\t\t\tname={name}\r\n\t\t\tclassName={getCssClasses()}\r\n\t\t\toptions={minuteOptions}\r\n\t\t\tonChange={(e) => handleOnChange(parseInt(e as string))}\r\n\t\t\tdisabled={disabled}\r\n\t\t\tvalue={newValue.toString()}\r\n\t\t/>\r\n\t);\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { ISelectOption } from '../component.interfaces';\r\nimport { Select } from \"../Select\";\r\nexport interface ISecondProps {\r\n\tvalue?: number;\r\n\tclassName?: string;\r\n\tid?: string;\r\n\tname?: string;\r\n\tdisabled?: boolean;\r\n\tonChange?: (val: number) => void;\r\n}\r\n\r\nexport const SecondSelect = (props: ISecondProps) => {\r\n\r\n\tconst { className, value = 0, id, name, disabled, onChange } = props;\r\n\tconst [newValue, setNewValue] = useState<number>(value);\r\n\tconst [secondOptions, setSecondOptions] = useState<Array<ISelectOption>>();\r\n\r\n\tuseEffect(() => {\r\n\t\tconst newSecondOptions: Array<ISelectOption> = [];\r\n\t\tfor (let i = 0; i < 60; i++) {\r\n\t\t\tnewSecondOptions.push({ value: i.toString(), label: i.toString() });\r\n\t\t}\r\n\t\tsetSecondOptions(newSecondOptions);\r\n\t}, []);\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t}\r\n\r\n\tconst handleOnChange = (e: number) => {\r\n\t\tsetNewValue(e);\r\n\t\tonChange && onChange(e);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<Select\r\n\t\t\tid={id}\r\n\t\t\tname={name}\r\n\t\t\tclassName={getCssClasses()}\r\n\t\t\toptions={secondOptions}\r\n\t\t\tonChange={(e) => handleOnChange(parseInt(e as string))}\r\n\t\t\tdisabled={disabled}\r\n\t\t\tvalue={newValue.toString()}\r\n\t\t/>\r\n\t);\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { FormGroup, FormLabel } from \"../Form\";\r\nimport { HourSelect } from \"./HourSelect\";\r\nimport { MilliSecondSelect } from \"./MilliSecondSelect\";\r\nimport { MinuteSelect } from \"./MinuteSelect\";\r\nimport { SecondSelect } from \"./SecondSelect\";\r\n\r\nexport enum TIMEMODE { HOUR, MINUTE, SECONDS, MILLISECONDS };\r\n\r\nexport interface ITimeSelectProps {\r\n\tvalue?: Date;\r\n\tclassName?: string;\r\n\tid?: string;\r\n\tname?: string;\r\n\tshowHours?: boolean;\r\n\tshowMinutes?: boolean;\r\n\tshowSeconds?: boolean;\r\n\tshowMilliSeconds?: boolean;\r\n\tdisabled?: boolean;\r\n\tonChange?: (val: Date) => void;\r\n}\r\n\r\nexport const TimeSelect = (props: ITimeSelectProps) => {\r\n\r\n\tconst {\r\n\t\tclassName,\r\n\t\tvalue = new Date(),\r\n\t\tdisabled,\r\n\t\tshowHours = true,\r\n\t\tshowMinutes = true,\r\n\t\tshowSeconds = false,\r\n\t\tshowMilliSeconds = false,\r\n\t\tonChange\r\n\t} = props;\r\n\r\n\tconst [currDate, setCurrDate] = useState<Date>(value);\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push('row');\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t}\r\n\r\n\tconst handleOnChange = (e: number, mode: TIMEMODE) => {\r\n\t\tconst currYear = currDate.getFullYear();\r\n\t\tconst currMonth = currDate.getMonth();\r\n\t\tconst currday = currDate.getDate();\r\n\r\n\t\tconst currHour = mode === TIMEMODE.HOUR ? e : currDate.getHours();\r\n\t\tconst currMinute = mode === TIMEMODE.MINUTE ? e : currDate.getMinutes();\r\n\t\tconst currSeconds = mode === TIMEMODE.SECONDS ? e : currDate.getSeconds();\r\n\t\tconst currMilliSeconds = mode === TIMEMODE.MILLISECONDS ? e : currDate.getMilliseconds();\r\n\r\n\t\tconst newDate = new Date(currYear, currMonth, currday, currHour, currMinute, currSeconds, currMilliSeconds);\r\n\r\n\t\tsetCurrDate(newDate);\r\n\t\tonChange && onChange(newDate);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<div className={getCssClasses()}>\r\n\t\t\t{showHours &&\r\n\t\t\t\t<FormGroup className=\"col\">\r\n\t\t\t\t\t<FormLabel>Hours</FormLabel>\r\n\t\t\t\t\t<HourSelect\r\n\t\t\t\t\t\tclassName=\"form-control\"\r\n\t\t\t\t\t\tvalue={currDate.getHours()}\r\n\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\tonChange={e => handleOnChange(e, TIMEMODE.HOUR)}\r\n\t\t\t\t\t/>\r\n\t\t\t\t</FormGroup>\r\n\t\t\t}\r\n\r\n\t\t\t{showMinutes &&\r\n\t\t\t\t<FormGroup className=\"col\">\r\n\t\t\t\t\t<FormLabel>Minutes</FormLabel>\r\n\t\t\t\t\t<MinuteSelect\r\n\t\t\t\t\t\tclassName=\"form-control\"\r\n\t\t\t\t\t\tvalue={currDate.getMinutes()}\r\n\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\tonChange={e => handleOnChange(e, TIMEMODE.MINUTE)}\r\n\t\t\t\t\t/>\r\n\t\t\t\t</FormGroup>\r\n\t\t\t}\r\n\r\n\t\t\t{showSeconds &&\r\n\t\t\t\t<FormGroup className=\"col\">\r\n\t\t\t\t\t<FormLabel>Seconds</FormLabel>\r\n\t\t\t\t\t<SecondSelect\r\n\t\t\t\t\t\tclassName=\"form-control\"\r\n\t\t\t\t\t\tvalue={currDate.getSeconds()}\r\n\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\tonChange={e => handleOnChange(e, TIMEMODE.SECONDS)}\r\n\t\t\t\t\t/>\r\n\t\t\t\t</FormGroup>\r\n\t\t\t}\r\n\r\n\t\t\t{showMilliSeconds &&\r\n\t\t\t\t<FormGroup className=\"col\">\r\n\t\t\t\t\t<FormLabel>Milliseconds</FormLabel>\r\n\t\t\t\t\t<MilliSecondSelect\r\n\t\t\t\t\t\tclassName=\"form-control\"\r\n\t\t\t\t\t\tvalue={currDate.getMilliseconds()}\r\n\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\tonChange={e => handleOnChange(e, TIMEMODE.MILLISECONDS)}\r\n\t\t\t\t\t/>\r\n\t\t\t\t</FormGroup>\r\n\t\t\t}\r\n\t\t</div>\r\n\t);\r\n}\r\n","import React from \"react\";\r\nimport styles from './TreeView.module.scss';\r\n\r\nexport const TreeView = (props: React.ComponentProps<\"ul\">) => {\r\n\r\n\tconst { children, className, ...rest } = props;\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.treeView);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\treturn (\r\n\t\t<ul className={getCssClasses()} {...rest}>\r\n\t\t\t{children}\r\n\t\t</ul>\r\n\t);\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { ChevronDownSolidIcon, ChevronRightSolidIcon } from '../../assets/icons';\r\nimport { Checkbox } from '../Checkbox';\r\nimport { IconButton } from '../IconButton';\r\nimport styles from './TreeItem.module.scss';\r\n\r\nexport interface ITreeItemProps {\r\n\tnodeId: string;\r\n\tlabel: string;\r\n\tchildren?: any;\r\n\tclassName?: string;\r\n\tisExpanded?: boolean;\r\n\tisSelected?: boolean;\r\n\tisSelectable?: boolean;\r\n\tonToggleExpand?: (id: string) => void;\r\n\tonSelect?: (id: string, isSelected: boolean) => void;\r\n}\r\n\r\nexport const TreeItem = (props: ITreeItemProps) => {\r\n\r\n\tconst { nodeId, label, children, className, isExpanded, isSelected, isSelectable, onToggleExpand, onSelect } = props;\r\n\r\n\tconst [_isExpanded, setIsExpanded] = useState<boolean>(false);\r\n\tconst [_isSelected, setIsSelected] = useState<boolean>(false);\r\n\r\n\tconst getCssClasses = () => {\r\n\t\tconst cssClasses: Array<string> = [];\r\n\t\tcssClasses.push(styles.treeItem);\r\n\t\tclassName && cssClasses.push(className);\r\n\t\treturn cssClasses.filter(css => css).join(' ');\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isExpanded !== undefined)\r\n\t\t\tsetIsExpanded(isExpanded);\r\n\t}, [isExpanded]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isSelected !== undefined)\r\n\t\t\tsetIsSelected(isSelected);\r\n\t}, [isSelected]);\r\n\r\n\tconst handleOnToggleExpand = (nodeId: string) => {\r\n\t\tsetIsExpanded(!_isExpanded);\r\n\t\tonToggleExpand && onToggleExpand(nodeId);\r\n\t}\r\n\r\n\tconst handleOnSelect = (nodeId: string) => {\r\n\t\tsetIsSelected(!_isSelected);\r\n\t\tonSelect && onSelect(nodeId, !_isSelected);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<li\r\n\t\t\tclassName={getCssClasses()}\r\n\t\t\tstyle={{ paddingLeft: `${(48 * (children ? 0 : 1))}px` }}\r\n\t\t>\r\n\t\t\t<div className=\"d-flex align-items-center\">\r\n\r\n\t\t\t\t{children &&\r\n\t\t\t\t\t<IconButton onClick={() => handleOnToggleExpand(nodeId)} icon={!_isExpanded ? <ChevronRightSolidIcon /> : <ChevronDownSolidIcon />} />\r\n\t\t\t\t}\r\n\r\n\t\t\t\t{isSelectable &&\r\n\t\t\t\t\t<Checkbox checked={_isSelected} onChange={() => handleOnSelect(nodeId)} />\r\n\t\t\t\t}\r\n\r\n\t\t\t\t{label}\r\n\t\t\t</div>\r\n\r\n\t\t\t{children && _isExpanded ? <ul>{children}</ul> : null}\r\n\t\t</li>\r\n\t);\r\n}\r\n"],"names":["COLOR","VARIANT","SIZE","POSITION","styles","React","createPortal","useState","useRef","useEffect","Fragment","Component","createRef","DATEMODE","createPopper","render","unmountComponentAtNode","MODALTYPE","MODALBUTTONTYPE","cloneElement","TIMEMODE"],"mappings":"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"}
|