@luscii-healthtech/web-ui 0.0.0-alpha.2fcd0e9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/README.md +179 -0
  2. package/dist/components/Accordion/Accordion.d.ts +10 -0
  3. package/dist/components/Accordion/AccordionItem.d.ts +9 -0
  4. package/dist/components/AccordionList/AccordionList.d.ts +42 -0
  5. package/dist/components/AccordionList/subcomponents/AccordionListActions.d.ts +18 -0
  6. package/dist/components/Badge/Badge.d.ts +7 -0
  7. package/dist/components/BaseList/BaseList.d.ts +7 -0
  8. package/dist/components/BaseList/BaseList.types.d.ts +55 -0
  9. package/dist/components/BaseList/BaseListEmptyState.d.ts +7 -0
  10. package/dist/components/BaseList/BaseListHeader.d.ts +4 -0
  11. package/dist/components/BaseList/BaseListIcon.d.ts +5 -0
  12. package/dist/components/BaseList/BaseListItem.d.ts +4 -0
  13. package/dist/components/BaseList/DraggableBaseList/DraggableBaseList.d.ts +4 -0
  14. package/dist/components/BaseList/DraggableBaseList/DraggableBaseListItem.d.ts +3 -0
  15. package/dist/components/BaseList/DraggableBaseList/index.d.ts +2 -0
  16. package/dist/components/BaseList/ListSkeleton/ListItemSkeleton.d.ts +2 -0
  17. package/dist/components/BaseList/ListSkeleton/ListSkeleton.d.ts +8 -0
  18. package/dist/components/BaseList/SortableBaseList/SortableBaseList.d.ts +4 -0
  19. package/dist/components/BaseList/SortableBaseList/SortableBaseListItem.d.ts +3 -0
  20. package/dist/components/BaseList/SortableBaseList/index.d.ts +2 -0
  21. package/dist/components/BaseList/index.d.ts +6 -0
  22. package/dist/components/BaseList/utils.d.ts +10 -0
  23. package/dist/components/Breadcrumbs/BreadcrumbItem.d.ts +4 -0
  24. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +3 -0
  25. package/dist/components/Breadcrumbs/Breadcrumbs.types.d.ts +14 -0
  26. package/dist/components/Breadcrumbs/index.d.ts +2 -0
  27. package/dist/components/Button/Button.d.ts +9 -0
  28. package/dist/components/Button/Button.types.d.ts +32 -0
  29. package/dist/components/Button/ButtonIcon.d.ts +7 -0
  30. package/dist/components/ButtonV2/ButtonProps.type.d.ts +49 -0
  31. package/dist/components/ButtonV2/ButtonV2.d.ts +3 -0
  32. package/dist/components/ButtonV2/PrimaryButton.d.ts +3 -0
  33. package/dist/components/ButtonV2/SecondaryButton.d.ts +3 -0
  34. package/dist/components/ButtonV2/TertiaryButton.d.ts +3 -0
  35. package/dist/components/Card/Card.d.ts +12 -0
  36. package/dist/components/Carousel/Carousel.d.ts +8 -0
  37. package/dist/components/Carousel/GliderContainer.d.ts +7 -0
  38. package/dist/components/CenteredHero/CenteredHero.d.ts +14 -0
  39. package/dist/components/CheckBoxListModal/CheckboxListModal.d.ts +30 -0
  40. package/dist/components/Checkbox/Checkbox.d.ts +64 -0
  41. package/dist/components/CheckboxList/CheckboxGroup.d.ts +3 -0
  42. package/dist/components/CheckboxList/CheckboxList.d.ts +4 -0
  43. package/dist/components/CheckboxList/CheckboxList.types.d.ts +74 -0
  44. package/dist/components/CheckboxList/CheckboxListItem.d.ts +3 -0
  45. package/dist/components/ConfirmationDialog/ConfirmationDialog.d.ts +3 -0
  46. package/dist/components/ConfirmationDialog/ConfirmationDialogChoices.d.ts +7 -0
  47. package/dist/components/ConfirmationDialog/ConfirmationDialogMessage.d.ts +4 -0
  48. package/dist/components/ConfirmationDialog/ConfirmationDialogTitle.d.ts +3 -0
  49. package/dist/components/ConfirmationDialog/types/ConfirmationDialog.types.d.ts +41 -0
  50. package/dist/components/Container/FlexColumn.d.ts +7 -0
  51. package/dist/components/Container/FlexContainer.d.ts +9 -0
  52. package/dist/components/Container/FlexRow.d.ts +7 -0
  53. package/dist/components/Container/types/FlexContainerProps.type.d.ts +26 -0
  54. package/dist/components/Divider/Divider.d.ts +6 -0
  55. package/dist/components/DragHandle/DragHandle.d.ts +7 -0
  56. package/dist/components/DragHandle/DragHandle.types.d.ts +6 -0
  57. package/dist/components/DragHandle/index.d.ts +2 -0
  58. package/dist/components/Dropzone/Dropzone.d.ts +6 -0
  59. package/dist/components/Dropzone/Dropzone.types.d.ts +33 -0
  60. package/dist/components/Dropzone/index.d.ts +2 -0
  61. package/dist/components/EmptyListMessage/EmptyListMessage.d.ts +14 -0
  62. package/dist/components/FilterBar/ActiveFilters.d.ts +9 -0
  63. package/dist/components/FilterBar/FilterBar.d.ts +96 -0
  64. package/dist/components/FilterBar/FilterBar.utils.d.ts +32 -0
  65. package/dist/components/FilterBar/FilterBarProps.type.d.ts +86 -0
  66. package/dist/components/FilterBar/FiltersMenus.d.ts +8 -0
  67. package/dist/components/FilterBar/SortMenu.d.ts +9 -0
  68. package/dist/components/FilterBar/index.d.ts +2 -0
  69. package/dist/components/Form/Form.d.ts +30 -0
  70. package/dist/components/Form/FormFieldCheckbox.d.ts +9 -0
  71. package/dist/components/Form/FormFieldCheckboxList.d.ts +9 -0
  72. package/dist/components/Form/FormFieldErrorMessages.d.ts +8 -0
  73. package/dist/components/Form/FormFieldLabeler.d.ts +8 -0
  74. package/dist/components/Form/FormImagePicker.d.ts +9 -0
  75. package/dist/components/Form/FormInput.d.ts +14 -0
  76. package/dist/components/Form/FormRadioGroup.d.ts +13 -0
  77. package/dist/components/Form/FormSelect.d.ts +10 -0
  78. package/dist/components/Form/FormTextarea.d.ts +14 -0
  79. package/dist/components/Form/form.transformer.d.ts +3 -0
  80. package/dist/components/Form/form.types.d.ts +92 -0
  81. package/dist/components/Icon/Icon.d.ts +17 -0
  82. package/dist/components/Icon/index.d.ts +1 -0
  83. package/dist/components/Icons/AddIcon.d.ts +4 -0
  84. package/dist/components/Icons/AlertsIcon.d.ts +4 -0
  85. package/dist/components/Icons/BellIcon.d.ts +4 -0
  86. package/dist/components/Icons/BluetoothIcon.d.ts +4 -0
  87. package/dist/components/Icons/ChartIcon.d.ts +4 -0
  88. package/dist/components/Icons/ChartLineColoredIcon.d.ts +4 -0
  89. package/dist/components/Icons/ChatBoxIcon.d.ts +4 -0
  90. package/dist/components/Icons/CheckIcon.d.ts +4 -0
  91. package/dist/components/Icons/ChevronDoubleIcon.d.ts +4 -0
  92. package/dist/components/Icons/ChevronDownIcon.d.ts +4 -0
  93. package/dist/components/Icons/ChevronRightIcon.d.ts +4 -0
  94. package/dist/components/Icons/CrossIcon.d.ts +4 -0
  95. package/dist/components/Icons/DeleteIcon.d.ts +4 -0
  96. package/dist/components/Icons/DownArrowIcon.d.ts +4 -0
  97. package/dist/components/Icons/DragIcon.d.ts +4 -0
  98. package/dist/components/Icons/EditIcon.d.ts +4 -0
  99. package/dist/components/Icons/EmptyIcon.d.ts +4 -0
  100. package/dist/components/Icons/EmptyStateDashboardIcon.d.ts +4 -0
  101. package/dist/components/Icons/ExclamationMarkIcon.d.ts +4 -0
  102. package/dist/components/Icons/EyeIcon.d.ts +4 -0
  103. package/dist/components/Icons/EyeIconSlashed.d.ts +4 -0
  104. package/dist/components/Icons/GearColoredIcon.d.ts +4 -0
  105. package/dist/components/Icons/GearIcon.d.ts +4 -0
  106. package/dist/components/Icons/GroupColoredIcon.d.ts +4 -0
  107. package/dist/components/Icons/GroupIcon.d.ts +4 -0
  108. package/dist/components/Icons/HamburgerIcon.d.ts +4 -0
  109. package/dist/components/Icons/HeartIcon.d.ts +4 -0
  110. package/dist/components/Icons/ImageIcon.d.ts +4 -0
  111. package/dist/components/Icons/InfoIcon.d.ts +4 -0
  112. package/dist/components/Icons/LeftArrowIcon.d.ts +4 -0
  113. package/dist/components/Icons/LightBulbIcon.d.ts +4 -0
  114. package/dist/components/Icons/LinkIcon.d.ts +4 -0
  115. package/dist/components/Icons/LockIcon.d.ts +4 -0
  116. package/dist/components/Icons/MessagesIcon.d.ts +4 -0
  117. package/dist/components/Icons/MouseIcon.d.ts +4 -0
  118. package/dist/components/Icons/NotesIcon.d.ts +4 -0
  119. package/dist/components/Icons/PageViewIcon.d.ts +4 -0
  120. package/dist/components/Icons/PinIcon.d.ts +4 -0
  121. package/dist/components/Icons/PrintIcon.d.ts +4 -0
  122. package/dist/components/Icons/RightArrowIcon.d.ts +4 -0
  123. package/dist/components/Icons/SearchCancelIcon.d.ts +4 -0
  124. package/dist/components/Icons/SearchIcon.d.ts +4 -0
  125. package/dist/components/Icons/SmallCircleIcon.d.ts +4 -0
  126. package/dist/components/Icons/SmallDiamondIcon.d.ts +4 -0
  127. package/dist/components/Icons/SmallSquareIcon.d.ts +4 -0
  128. package/dist/components/Icons/SpaceRocketIcon.d.ts +4 -0
  129. package/dist/components/Icons/StarIcon.d.ts +4 -0
  130. package/dist/components/Icons/StatusColoredIcon.d.ts +4 -0
  131. package/dist/components/Icons/WarningIcon.d.ts +4 -0
  132. package/dist/components/Icons/iconWrapper/iconWrapper.d.ts +4 -0
  133. package/dist/components/Icons/iconWrapper/index.d.ts +1 -0
  134. package/dist/components/Icons/index.d.ts +49 -0
  135. package/dist/components/Icons/templates/component.d.ts +3 -0
  136. package/dist/components/Icons/templates/index.d.ts +2 -0
  137. package/dist/components/Icons/types/IconProps.type.d.ts +8 -0
  138. package/dist/components/Image/Image.d.ts +10 -0
  139. package/dist/components/InfoField/InfoField.d.ts +28 -0
  140. package/dist/components/Input/Input.d.ts +57 -0
  141. package/dist/components/Input/SearchInput.d.ts +24 -0
  142. package/dist/components/Link/Link.d.ts +19 -0
  143. package/dist/components/List/List.d.ts +6 -0
  144. package/dist/components/List/List.types.d.ts +19 -0
  145. package/dist/components/List/ListItem.d.ts +4 -0
  146. package/dist/components/List/index.d.ts +5 -0
  147. package/dist/components/LoadingIndicator/LoadingIndicator.d.ts +12 -0
  148. package/dist/components/MediaPicker/ImageCategory.d.ts +14 -0
  149. package/dist/components/MediaPicker/MediaPicker.d.ts +95 -0
  150. package/dist/components/Modal/FullPageModal.d.ts +39 -0
  151. package/dist/components/Modal/FullPageModalHeader.d.ts +13 -0
  152. package/dist/components/Modal/Modal.d.ts +6 -0
  153. package/dist/components/Modal/ModalBase.d.ts +16 -0
  154. package/dist/components/Modal/ModalFooter.d.ts +12 -0
  155. package/dist/components/Modal/ModalHeader.d.ts +6 -0
  156. package/dist/components/Modal/subcomponents/FullPageModalActions.d.ts +18 -0
  157. package/dist/components/NavMenu/NavLayout.d.ts +20 -0
  158. package/dist/components/NavMenu/NavMenu.d.ts +16 -0
  159. package/dist/components/NavMenu/NavMenuContent.d.ts +3 -0
  160. package/dist/components/NavMenu/NavMenuFooter.d.ts +3 -0
  161. package/dist/components/NavMenu/NavMenuHeader.d.ts +3 -0
  162. package/dist/components/NavMenu/NavMenuItem.d.ts +3 -0
  163. package/dist/components/NavMenu/types/NavMenuFooterProps.type.d.ts +5 -0
  164. package/dist/components/NavMenu/types/NavMenuHeaderProps.type.d.ts +5 -0
  165. package/dist/components/NavMenu/types/NavMenuItemProps.type.d.ts +11 -0
  166. package/dist/components/NotificationBanner/NotificationBanner.d.ts +41 -0
  167. package/dist/components/Page/CRUDPage.d.ts +4 -0
  168. package/dist/components/Page/CRUDPage.types.d.ts +32 -0
  169. package/dist/components/Page/index.d.ts +3 -0
  170. package/dist/components/PageHeader/PageHeader.d.ts +4 -0
  171. package/dist/components/PageHeader/PageHeader.types.d.ts +28 -0
  172. package/dist/components/PageHeader/index.d.ts +2 -0
  173. package/dist/components/PaginationMenu/PaginationMenu.d.ts +3 -0
  174. package/dist/components/PaginationMenu/PaginationMenu.types.d.ts +37 -0
  175. package/dist/components/PaginationMenu/PaginationMenu.utils.d.ts +15 -0
  176. package/dist/components/PaginationMenu/PaginationMenuLarge.d.ts +3 -0
  177. package/dist/components/PaginationMenu/PaginationMenuSmall.d.ts +3 -0
  178. package/dist/components/PreviewPhone/PreviewPhone.d.ts +7 -0
  179. package/dist/components/Radio/RadioV2.d.ts +17 -0
  180. package/dist/components/RadioGroup/RadioGroupV2.d.ts +10 -0
  181. package/dist/components/Section/Section.d.ts +25 -0
  182. package/dist/components/Section/SectionItem.d.ts +9 -0
  183. package/dist/components/Section/SectionItemWithContent.d.ts +9 -0
  184. package/dist/components/Section/subcomponents/SectionActions.d.ts +21 -0
  185. package/dist/components/Select/Select.d.ts +46 -0
  186. package/dist/components/Select/SelectDropdownIndicator.d.ts +3 -0
  187. package/dist/components/Select/SelectLoadingIndicator.d.ts +3 -0
  188. package/dist/components/SettingsMenuButton/SettingsMenuButton.d.ts +19 -0
  189. package/dist/components/Spinner/Spinner.d.ts +6 -0
  190. package/dist/components/Steps/Step.d.ts +10 -0
  191. package/dist/components/Steps/Steps.d.ts +10 -0
  192. package/dist/components/TabLinks/TabLinks.d.ts +14 -0
  193. package/dist/components/Tabbar/Tabbar.d.ts +18 -0
  194. package/dist/components/Tabbar/TabbarItem.d.ts +16 -0
  195. package/dist/components/Table/Table.d.ts +16 -0
  196. package/dist/components/Table/Table.types.d.ts +43 -0
  197. package/dist/components/Table/Table.utils.d.ts +3 -0
  198. package/dist/components/Table/TableBody.d.ts +13 -0
  199. package/dist/components/Table/TableBodyRow.d.ts +10 -0
  200. package/dist/components/Table/TableBodyRowDataCell.d.ts +8 -0
  201. package/dist/components/Table/TableFooter.d.ts +8 -0
  202. package/dist/components/Table/TableHeader.d.ts +7 -0
  203. package/dist/components/Tag/Tag.d.ts +17 -0
  204. package/dist/components/Tag/Tag.utils.d.ts +4 -0
  205. package/dist/components/Tag/TagGroup.d.ts +10 -0
  206. package/dist/components/Text/Text.d.ts +115 -0
  207. package/dist/components/TextEditor/TextEditor.d.ts +17 -0
  208. package/dist/components/TextLink/TextLink.d.ts +14 -0
  209. package/dist/components/Textarea/Textarea.d.ts +29 -0
  210. package/dist/components/Timeline/Timeline.d.ts +14 -0
  211. package/dist/components/Timeline/TimelineHeader.d.ts +10 -0
  212. package/dist/components/Timeline/TimelineStep.d.ts +10 -0
  213. package/dist/components/Title/Title.d.ts +17 -0
  214. package/dist/components/Toaster/Toaster.d.ts +17 -0
  215. package/dist/components/Toaster/toast-elements-getter.d.ts +22 -0
  216. package/dist/components/Toaster/toast-progress-animator.d.ts +12 -0
  217. package/dist/components/Toaster/toast.d.ts +12 -0
  218. package/dist/components/ViewItem/ViewItem.d.ts +16 -0
  219. package/dist/index.d.ts +83 -0
  220. package/dist/index.development.js +5682 -0
  221. package/dist/index.development.js.map +1 -0
  222. package/dist/index.js +2 -0
  223. package/dist/index.js.map +1 -0
  224. package/dist/types/general.types.d.ts +8 -0
  225. package/dist/utils/string.utils.d.ts +7 -0
  226. package/dist/web-ui-tailwind.css +2890 -0
  227. package/dist/web-ui.esm.js +2 -0
  228. package/dist/web-ui.esm.js.map +1 -0
  229. package/package.json +159 -0
@@ -0,0 +1,49 @@
1
+ export { default as AddIcon } from "./AddIcon";
2
+ export { default as AlertsIcon } from "./AlertsIcon";
3
+ export { default as BellIcon } from "./BellIcon";
4
+ export { default as BluetoothIcon } from "./BluetoothIcon";
5
+ export { default as ChartIcon } from "./ChartIcon";
6
+ export { default as ChartLineColoredIcon } from "./ChartLineColoredIcon";
7
+ export { default as ChatBoxIcon } from "./ChatBoxIcon";
8
+ export { default as CheckIcon } from "./CheckIcon";
9
+ export { default as ChevronDoubleIcon } from "./ChevronDoubleIcon";
10
+ export { default as ChevronDownIcon } from "./ChevronDownIcon";
11
+ export { default as ChevronRightIcon } from "./ChevronRightIcon";
12
+ export { default as CrossIcon } from "./CrossIcon";
13
+ export { default as DeleteIcon } from "./DeleteIcon";
14
+ export { default as DownArrowIcon } from "./DownArrowIcon";
15
+ export { default as DragIcon } from "./DragIcon";
16
+ export { default as EditIcon } from "./EditIcon";
17
+ export { default as EmptyIcon } from "./EmptyIcon";
18
+ export { default as EmptyStateDashboardIcon } from "./EmptyStateDashboardIcon";
19
+ export { default as ExclamationMarkIcon } from "./ExclamationMarkIcon";
20
+ export { default as EyeIconSlashed } from "./EyeIconSlashed";
21
+ export { default as EyeIcon } from "./EyeIcon";
22
+ export { default as GearColoredIcon } from "./GearColoredIcon";
23
+ export { default as GearIcon } from "./GearIcon";
24
+ export { default as GroupColoredIcon } from "./GroupColoredIcon";
25
+ export { default as GroupIcon } from "./GroupIcon";
26
+ export { default as HamburgerIcon } from "./HamburgerIcon";
27
+ export { default as HeartIcon } from "./HeartIcon";
28
+ export { default as ImageIcon } from "./ImageIcon";
29
+ export { default as InfoIcon } from "./InfoIcon";
30
+ export { default as LeftArrowIcon } from "./LeftArrowIcon";
31
+ export { default as LightBulbIcon } from "./LightBulbIcon";
32
+ export { default as LinkIcon } from "./LinkIcon";
33
+ export { default as LockIcon } from "./LockIcon";
34
+ export { default as MessagesIcon } from "./MessagesIcon";
35
+ export { default as MouseIcon } from "./MouseIcon";
36
+ export { default as NotesIcon } from "./NotesIcon";
37
+ export { default as PageViewIcon } from "./PageViewIcon";
38
+ export { default as PinIcon } from "./PinIcon";
39
+ export { default as PrintIcon } from "./PrintIcon";
40
+ export { default as RightArrowIcon } from "./RightArrowIcon";
41
+ export { default as SearchCancelIcon } from "./SearchCancelIcon";
42
+ export { default as SearchIcon } from "./SearchIcon";
43
+ export { default as SmallCircleIcon } from "./SmallCircleIcon";
44
+ export { default as SmallDiamondIcon } from "./SmallDiamondIcon";
45
+ export { default as SmallSquareIcon } from "./SmallSquareIcon";
46
+ export { default as SpaceRocketIcon } from "./SpaceRocketIcon";
47
+ export { default as StarIcon } from "./StarIcon";
48
+ export { default as StatusColoredIcon } from "./StatusColoredIcon";
49
+ export { default as WarningIcon } from "./WarningIcon";
@@ -0,0 +1,3 @@
1
+ declare const template: (variables: any, { tpl }: {
2
+ tpl: any;
3
+ }) => any;
@@ -0,0 +1,2 @@
1
+ declare const path: any;
2
+ declare function defaultIndexTemplate(filePaths: any): string;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import * as Icons from "../index";
3
+ export interface IconProps {
4
+ className?: string;
5
+ onClick?: (event: React.MouseEvent<SVGSVGElement> | undefined) => void;
6
+ "data-test-id"?: string;
7
+ }
8
+ export type IconKey = keyof typeof Icons;
@@ -0,0 +1,10 @@
1
+ import React, { MouseEventHandler } from "react";
2
+ interface ImageProps {
3
+ src: string;
4
+ className: string;
5
+ children?: React.ReactNode;
6
+ onClick?: MouseEventHandler<HTMLSpanElement>;
7
+ showIconOnFailure?: boolean;
8
+ }
9
+ declare const Image: React.VFC<ImageProps>;
10
+ export default Image;
@@ -0,0 +1,28 @@
1
+ /// <reference types="react" />
2
+ interface InfoFieldProps {
3
+ label: string;
4
+ value: string;
5
+ /**
6
+ * Gives the component interactive abilities. The `value` prop
7
+ * is used in conjunction with this.
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * // The `value` prop will be used as the `href` attribute of the link. This will open a new tab.
12
+ * <InfoField linkType="link" value="https://www.nos.nl" />
13
+ *
14
+ * // The `value` prop will be copied to the clipboard when the user clicks the component.
15
+ * <InfoField linkType="clipboard" value="14/09/1988" />
16
+ *
17
+ * // A phone call will be triggered based on the phone number in the `value` prop.
18
+ * <InfoField linkType="tel" value="+31612345678" />
19
+ * ```
20
+ */
21
+ linkType: "none" | "link" | "clipboard" | "tel";
22
+ supportsMultiline?: boolean;
23
+ onCopyToClipboard?: (value?: string) => void;
24
+ icon?: JSX.Element;
25
+ className?: string;
26
+ }
27
+ export declare const InfoField: (props: InfoFieldProps) => JSX.Element;
28
+ export {};
@@ -0,0 +1,57 @@
1
+ import React from "react";
2
+ import { AllowedTextInputTypes } from "../Form/form.types";
3
+ import type { IconKey, IconProps } from "../Icons/types/IconProps.type";
4
+ import { FormFieldWidth } from "../Form/form.types";
5
+ import "./Input.css";
6
+ export declare const INPUT_TYPES: Record<string, AllowedTextInputTypes>;
7
+ /**
8
+ * It's very complicated to tap into the onChange events of inputs,
9
+ * so I omit the type it requires and add a easier one to deal with.
10
+ */
11
+ type CustomHTMLInputProps = Omit<React.HTMLProps<HTMLInputElement>, "onChange" | "ref"> & {
12
+ isError?: boolean;
13
+ };
14
+ export type FakeEventTarget = {
15
+ target: {
16
+ value: string;
17
+ name: string;
18
+ };
19
+ currentTarget: {
20
+ value: string;
21
+ name: string;
22
+ };
23
+ };
24
+ export interface InputProps extends CustomHTMLInputProps {
25
+ type?: AllowedTextInputTypes;
26
+ clearable?: boolean;
27
+ isDisabled?: boolean;
28
+ withPrefix?: string;
29
+ withSuffix?: string;
30
+ icon?: React.FC<IconProps> | IconKey;
31
+ width?: FormFieldWidth;
32
+ /**
33
+ * Check the `asFormField` prop of this component to understand why this signature.
34
+ */
35
+ onChange?: (event: FakeEventTarget | string) => void;
36
+ /**
37
+ * ### TO BE USED WHEN INSIDE REACT-HOOK-FORM
38
+ *
39
+ * react-hook-form uses the onChange event differently.
40
+ * Instead of passing an `event` object, it uses the value itself from the callback.
41
+ *
42
+ * So we need to use this flag to determine how to call the onChange callback.
43
+ *
44
+ * @example
45
+ *
46
+ * // In react-hook-forms:
47
+ *
48
+ * onChange({target: { name: 'myInput' }, value: 'text'}) // -> this whole object will be set as the value
49
+ *
50
+ * // so instead do:
51
+ *
52
+ * onChange('text') // -> 🤝
53
+ */
54
+ asFormField?: boolean;
55
+ }
56
+ export declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
57
+ export default Input;
@@ -0,0 +1,24 @@
1
+ import React from "react";
2
+ import Input from "./Input";
3
+ type InputProps = React.ComponentProps<typeof Input>;
4
+ export type SearchInputProps = Omit<InputProps, "icon" | "type" | "width" | "clearable" | "withSuffix" | "withPrefix" | "asFormField" | "isError"> & {
5
+ /**
6
+ * WARNING: Please note that this value is currently not passed on to the
7
+ * component. It's not deprecated, it will most likely be implemented correctly
8
+ * at a later stage.
9
+ */
10
+ width?: InputProps["width"];
11
+ /**
12
+ * @deprecated
13
+ * A search input should never be used in a form with multiple fields.
14
+ */
15
+ asFormField?: InputProps["asFormField"];
16
+ /**
17
+ * @deprecated
18
+ * A search input should never be in error state, because the
19
+ * user cannot do anything wrong when typing in this field.
20
+ */
21
+ isError?: InputProps["isError"];
22
+ };
23
+ export declare const SearchInput: React.ForwardRefExoticComponent<Omit<SearchInputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
24
+ export {};
@@ -0,0 +1,19 @@
1
+ import React from "react";
2
+ /**
3
+ * Source for the typing of the `as` prop: https://stackoverflow.com/a/66568474
4
+ */
5
+ type Props<E extends React.ElementType> = React.PropsWithChildren<{
6
+ /**
7
+ * Provide a custom component tag name to render instead of the default `a` tag.
8
+ *
9
+ * @default "a"
10
+ * @example "button"
11
+ */
12
+ as?: E;
13
+ }>;
14
+ /**
15
+ * A bare-bones wrapper around an <a> tag, containing only our preferred styling. This is component
16
+ * can be used for any link and not just text links.
17
+ */
18
+ export declare function Link<T extends React.ElementType = "a">(props: Props<T> & Omit<React.ComponentPropsWithoutRef<T>, keyof Props<T>>): React.JSX.Element;
19
+ export {};
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ import type { ListItemProps, ListProps } from "./List.types";
3
+ import "./List.scss";
4
+ export { ListProps, ListItemProps };
5
+ declare const List: React.FC<ListProps>;
6
+ export default List;
@@ -0,0 +1,19 @@
1
+ /// <reference types="react" />
2
+ import type { BaseListProps, BaseListItemProps, OnAssetLoadErrorPayload, DraggableBaseListProps, SortableBaseListProps } from "../BaseList/BaseList.types";
3
+ export type ListItemProps = Omit<BaseListItemProps, "onClick"> & {
4
+ handleItemClick?: (e: React.MouseEvent<HTMLLIElement>) => void;
5
+ };
6
+ export type DefaultListProps = Omit<BaseListProps<ListItemProps>, "renderItem" | "itemComponent"> & {
7
+ onDragEnd?: (itemId: string | number, newIndex: number) => void;
8
+ onAssetLoadError?: (payload: OnAssetLoadErrorPayload) => void;
9
+ };
10
+ export type DraggableListProps = DraggableBaseListProps;
11
+ export type SortableListProps = SortableBaseListProps;
12
+ export type SortableListItemProps = SortableListProps["items"][number];
13
+ export type ListProps = ({
14
+ draggableListType: "default";
15
+ } & DefaultListProps) | ({
16
+ draggableListType: "draggable";
17
+ } & DraggableListProps) | ({
18
+ draggableListType: "sortable";
19
+ } & SortableListProps) | DefaultListProps;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { ListItemProps } from "./List.types";
3
+ export declare const ListItem: React.FC<ListItemProps>;
4
+ export default ListItem;
@@ -0,0 +1,5 @@
1
+ export { default as List } from "./List";
2
+ export { ListItem } from "./ListItem";
3
+ export type { ListProps, ListItemProps, DraggableListProps, SortableListProps, SortableListItemProps, } from "./List.types";
4
+ export type { OnAssetLoadErrorPayload } from "../BaseList";
5
+ export { getDndListItemProps } from "../BaseList";
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import { RestPropped } from "../../types/general.types";
3
+ import "./LoadingIndicator.scss";
4
+ export interface LoadingIndicatorProps extends RestPropped {
5
+ asModal?: boolean;
6
+ asSpinner?: boolean;
7
+ className?: string;
8
+ spinnerColor?: "blue" | "gray";
9
+ dataTestId?: string;
10
+ }
11
+ export declare function LoadingIndicator({ asModal, asSpinner, className, spinnerColor, dataTestId, ...restProps }: LoadingIndicatorProps): JSX.Element;
12
+ export default LoadingIndicator;
@@ -0,0 +1,14 @@
1
+ import React, { MouseEventHandler } from "react";
2
+ export interface CategoryProps {
3
+ folder: string;
4
+ key: string;
5
+ }
6
+ interface ImageCategoryProps {
7
+ category: CategoryProps;
8
+ images: string[];
9
+ highlightedImage: string | null;
10
+ handleImageClick: MouseEventHandler<HTMLSpanElement>;
11
+ isTypeCompact: boolean;
12
+ }
13
+ export declare const ImageCategory: (props: ImageCategoryProps) => React.JSX.Element;
14
+ export {};
@@ -0,0 +1,95 @@
1
+ import React from "react";
2
+ import { CategoryProps } from "./ImageCategory";
3
+ export interface TargetProps {
4
+ target: {
5
+ name: string | null | undefined;
6
+ /**
7
+ * It is called imageData, but it can any file that was selected. The name is kept for backwards compatibility for now.
8
+ */
9
+ value: string | null | undefined | {
10
+ imageData: FormData;
11
+ };
12
+ };
13
+ }
14
+ export interface ImagePickerProps {
15
+ name: string;
16
+ images: string[];
17
+ categories: CategoryProps[];
18
+ preselectedImage?: string;
19
+ preselectedMediaType?: "image" | "video";
20
+ /**
21
+ * Array of [valid MIME types](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types).
22
+ *
23
+ * If the media the user tries to upload doesn't match one of the
24
+ * MIME types in this array, an error message will be displayed in
25
+ * the UI.
26
+ *
27
+ * @example
28
+ * ```tsx
29
+ * <MediaPicker acceptedMimeTypes={[ "text/*", "image/jpeg", "video/mp4"]} />
30
+ * ```
31
+ */
32
+ acceptedMimeTypes?: string[];
33
+ /**
34
+ * Maximum file size allowed to be uploaded in MB. If undefined, a default limit of 100mb is applied.
35
+ */
36
+ maxFileSize?: number;
37
+ clearImageIndex?: number;
38
+ type?: "normal" | "compact";
39
+ isDisabled?: boolean;
40
+ handleChange: (target: TargetProps) => void;
41
+ isUploadButtonVisible?: boolean;
42
+ isClearButtonVisible?: boolean;
43
+ isUploading?: boolean;
44
+ isErrorUploading?: boolean;
45
+ localisation: Partial<Record<"openModalButton" | "selectButton" | "error" | "uploadImage" | "clearSelection" | "cancel" | "search" | "unsupportedMediaType" | "modalTitle", string>>;
46
+ }
47
+ export declare const ImagePickerInner: React.FC<ImagePickerProps & {
48
+ innerRef?: React.Ref<HTMLButtonElement>;
49
+ }>;
50
+ /**
51
+ * @deprecated Use MediaPicker instead
52
+ */
53
+ export declare const ImagePicker: React.ForwardRefExoticComponent<ImagePickerProps & React.RefAttributes<HTMLButtonElement>>;
54
+ export interface MediaPickerProps {
55
+ name: string;
56
+ media: string[];
57
+ categories: CategoryProps[];
58
+ /**
59
+ * If you add preselectedMedia you must also specify preselectedMediaType, especially if it is not an image.
60
+ *
61
+ * @example
62
+ * ```tsx
63
+ * <MediaPicker preselectedMedia="http://www.domain.com/someVideo.mp4" preselectedMediaType="video"/>
64
+ * ```
65
+ */
66
+ preselectedMedia?: string;
67
+ preselectedMediaType?: "image" | "video";
68
+ clearIndex?: number;
69
+ type?: "normal" | "compact";
70
+ /**
71
+ * Array of [valid MIME types](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types).
72
+ *
73
+ * If the media the user tries to upload doesn't match one of the
74
+ * MIME types in this array, an error message will be displayed in
75
+ * the UI.
76
+ *
77
+ * @example
78
+ * ```tsx
79
+ * <MediaPicker acceptedMimeTypes={[ "text/*", "image/jpeg", "video/mp4"]} />
80
+ * ```
81
+ */
82
+ acceptedMimeTypes?: string[];
83
+ /**
84
+ * Maximum file size allowed to be uploaded in MB. If undefined, a default limit of 100mb is applied.
85
+ */
86
+ maxFileSize?: number;
87
+ isDisabled?: boolean;
88
+ onChange: (target: TargetProps) => void;
89
+ isUploadButtonVisible?: boolean;
90
+ isClearButtonVisible?: boolean;
91
+ isUploading?: boolean;
92
+ isErrorUploading?: boolean;
93
+ localisation: Partial<Record<"openModalButton" | "selectButton" | "error" | "upload" | "clearSelection" | "cancel" | "search" | "unsupportedMediaType" | "modalTitle", string>>;
94
+ }
95
+ export declare const MediaPicker: (props: MediaPickerProps) => React.JSX.Element;
@@ -0,0 +1,39 @@
1
+ import React from "react";
2
+ import { PrimaryButtonProps } from "../ButtonV2/ButtonProps.type";
3
+ import { FullPageModalActions } from "./subcomponents/FullPageModalActions";
4
+ export type FullPageModalProps = {
5
+ children: React.ReactNode;
6
+ isOpen?: boolean;
7
+ title: string;
8
+ dataTestId?: string;
9
+ /**
10
+ * @deprecated
11
+ * Use the `actions` prop to render any button(s)
12
+ * or other component(s) automatically in the correct area.
13
+ *
14
+ * This prop will only render a button when the actions prop is omitted.
15
+ * The actions prop takes precedence over this prop if they're both passed.
16
+ */
17
+ primaryButtonProps?: PrimaryButtonProps;
18
+ /**
19
+ * Render buttons or other action components in the area meant for actions.
20
+ * To correctly space out the actions wrap them in a FullPageModal.Actions component.
21
+ * @usage
22
+ * ```tsx
23
+ * <FullPageModal
24
+ * actions={
25
+ * <FullPageModal.Actions>
26
+ * <PrimaryButton />
27
+ * <SecondaryButton />
28
+ * </FullPageModal.Actions>
29
+ * }
30
+ * />
31
+ */
32
+ actions?: React.ReactNode;
33
+ onCloseClick: (event: React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent<Element>) => void;
34
+ };
35
+ interface StaticComponents {
36
+ Actions: typeof FullPageModalActions;
37
+ }
38
+ export declare const FullPageModal: React.FC<FullPageModalProps> & StaticComponents;
39
+ export {};
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ import { PrimaryButtonProps } from "../ButtonV2/ButtonProps.type";
3
+ export type FullPageModalHeaderProps = {
4
+ title: string;
5
+ /**
6
+ * @deprecated
7
+ * Use the `actions` prop to render any button(s)
8
+ * or other component(s) automatically in the correct area.
9
+ */
10
+ primaryButtonProps?: PrimaryButtonProps;
11
+ actions?: React.ReactNode;
12
+ };
13
+ export declare const FullPageModalHeader: React.FC<FullPageModalHeaderProps>;
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ import { ModalBaseProps } from "./ModalBase";
3
+ export type ModalProps = Omit<ModalBaseProps, "title" | "withExtraMarginTop"> & {
4
+ title: string;
5
+ };
6
+ export declare const Modal: React.FC<ModalProps>;
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ import { ModalHeaderProps } from "./ModalHeader";
3
+ import { ModalFooterProps } from "./ModalFooter";
4
+ export type ModalSize = "small" | "medium" | "wide";
5
+ export type ModalBaseProps = Omit<ModalHeaderProps, "title"> & {
6
+ children: React.ReactNode;
7
+ size?: ModalSize;
8
+ withExtraMarginTop?: boolean;
9
+ withContentPaddingY?: boolean;
10
+ isOpen?: boolean;
11
+ title?: string;
12
+ dataTestId?: string;
13
+ scrollableContent?: boolean;
14
+ onCloseClick: (event: React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent<Element>) => void;
15
+ } & ModalFooterProps;
16
+ export declare const ModalBase: React.FC<ModalBaseProps>;
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import { ButtonWithPendingStateProps, NonPrimaryButtonProps, PrimaryButtonProps } from "../ButtonV2/ButtonProps.type";
3
+ export interface ModalFooterTrailingComponents {
4
+ primaryButtonProps: PrimaryButtonProps;
5
+ secondaryButtonProps?: NonPrimaryButtonProps;
6
+ }
7
+ export type ModalFooterLeadingComponent = string | ButtonWithPendingStateProps;
8
+ export type ModalFooterProps = {
9
+ footerLeadingComponent?: ModalFooterLeadingComponent;
10
+ footerTrailingComponents: ModalFooterTrailingComponents;
11
+ };
12
+ export declare const ModalFooter: React.FC<ModalFooterProps>;
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ export type ModalHeaderProps = {
3
+ title: string;
4
+ onCloseClick: (event: React.MouseEvent<HTMLButtonElement>) => void;
5
+ };
6
+ export declare const ModalHeader: React.FC<ModalHeaderProps>;
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ /**
3
+ * Use in the actions of a FullPageModal. Spaces out the action
4
+ * components correctly in relation to the styling of the FullPageModal component.
5
+ *
6
+ * @usage
7
+ * ```tsx
8
+ * <FullPageModal
9
+ * actions={
10
+ * <FullPageModal.Actions>
11
+ * <PrimaryButton />
12
+ * <SecondaryButton />
13
+ * </FullPageModal.Actions>
14
+ * }
15
+ * />
16
+ * ```
17
+ */
18
+ export declare const FullPageModalActions: React.FC<React.PropsWithChildren>;
@@ -0,0 +1,20 @@
1
+ import React from "react";
2
+ export interface NavMenuLayoutProps {
3
+ menu: React.ReactNode;
4
+ children: JSX.Element | JSX.Element[];
5
+ patientSidebar?: JSX.Element;
6
+ isNavDisabled?: boolean;
7
+ disableScrolling?: boolean;
8
+ }
9
+ /**
10
+ *
11
+ * @param props {NavMenuLayoutProps} - explaining specifically the `disableScrolling` prop:
12
+ *
13
+ * The patient overview page has some challenges we want to overcome in regards to the multiple scrollable
14
+ * content (the charts and the action bar with alerts, etc).
15
+ *
16
+ * In order to have the setup working on the patient overview page and the rest of the application, we have to
17
+ * progamatically disable/enable if that location will have a normal scrolling mechanism with specific margin/padding,
18
+ * or we will need to let the components take care of that.
19
+ */
20
+ export declare const NavLayout: (props: NavMenuLayoutProps) => JSX.Element;
@@ -0,0 +1,16 @@
1
+ /// <reference types="react" />
2
+ import { NavMenuFooterProps } from "./types/NavMenuFooterProps.type";
3
+ import { NavMenuItemProps } from "./types/NavMenuItemProps.type";
4
+ import { NavMenuHeaderProps } from "./types/NavMenuHeaderProps.type";
5
+ export type NavMenuProps = {
6
+ roleItems: NavMenuItemProps[];
7
+ publicItems: NavMenuItemProps[];
8
+ authenticationItems: {
9
+ login: NavMenuItemProps;
10
+ logout: NavMenuItemProps;
11
+ };
12
+ isUserAuthenticated?: boolean;
13
+ navMenuHeaderProps: NavMenuHeaderProps;
14
+ navMenuFooterProps: NavMenuFooterProps;
15
+ };
16
+ export declare function NavMenu(props: NavMenuProps): JSX.Element;
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { NavMenuProps } from "./NavMenu";
3
+ export declare const NavMenuContent: React.FC<NavMenuProps>;
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { NavMenuFooterProps } from "./types/NavMenuFooterProps.type";
3
+ export declare const NavMenuFooter: React.FC<NavMenuFooterProps>;
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { NavMenuHeaderProps } from "./types/NavMenuHeaderProps.type";
3
+ export declare const NavMenuHeader: React.FC<NavMenuHeaderProps>;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { NavMenuItemProps } from "./types/NavMenuItemProps.type";
3
+ export declare const NavMenuItem: (props: NavMenuItemProps) => JSX.Element;
@@ -0,0 +1,5 @@
1
+ export interface NavMenuFooterProps {
2
+ text: string;
3
+ subtext?: string;
4
+ visible?: boolean;
5
+ }
@@ -0,0 +1,5 @@
1
+ export interface NavMenuHeaderProps {
2
+ text: string;
3
+ visible?: boolean;
4
+ onClick?: () => void;
5
+ }
@@ -0,0 +1,11 @@
1
+ export type NavMenuItemProps = {
2
+ href?: string;
3
+ linkTo?: string;
4
+ title: string;
5
+ isSelected: boolean;
6
+ img: string;
7
+ imgOnHover: string;
8
+ dataTestId: string;
9
+ isExternal?: boolean;
10
+ trackEvent?: () => void;
11
+ };
@@ -0,0 +1,41 @@
1
+ import React from "react";
2
+ import { IconProps } from "../Icons/types/IconProps.type";
3
+ import "./NotificationBanner.css";
4
+ export type NotificationBannerColor = "base" | "blue" | "red" | "green" | "amber";
5
+ export interface NotificationBannerLinkProps {
6
+ text: string;
7
+ enabled: boolean;
8
+ handleClick?: () => void;
9
+ }
10
+ interface NotificationBannerPropsWithText {
11
+ text?: string;
12
+ linkProps?: NotificationBannerLinkProps;
13
+ children?: never;
14
+ }
15
+ interface NotificationBannerPropsWithChildren {
16
+ children: React.ReactNode;
17
+ text?: never;
18
+ linkProps?: never;
19
+ }
20
+ export type NotificationBannerProps = (NotificationBannerPropsWithChildren | NotificationBannerPropsWithText) & {
21
+ color?: NotificationBannerColor;
22
+ /**
23
+ * The icon can either be one of our icon components or an image url
24
+ */
25
+ icon?: string | React.FunctionComponent<IconProps>;
26
+ className?: string;
27
+ stretch?: boolean;
28
+ /**
29
+ * When stretching the banner, you can also decide if the content should be centered or not.
30
+ */
31
+ centerContent?: boolean;
32
+ noBorder?: null | boolean;
33
+ };
34
+ export declare const NotificationBanner: {
35
+ (props: NotificationBannerProps): JSX.Element;
36
+ defaultProps: {
37
+ color: string;
38
+ onButtonClick: undefined;
39
+ };
40
+ };
41
+ export {};
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import type { CRUDPageProps } from "./CRUDPage.types";
3
+ declare const CRUDPage: React.FC<CRUDPageProps>;
4
+ export default CRUDPage;