@deviceinsight/ng-ui-basic-components 3.13.0-SNAPSHOT

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 (239) hide show
  1. package/LICENSE +1 -0
  2. package/README.md +102 -0
  3. package/lib/cjs/__mocks__/react-i18next.d.ts +2 -0
  4. package/lib/cjs/__mocks__/react-i18next.d.ts.map +1 -0
  5. package/lib/cjs/__mocks__/react-i18next.js +18 -0
  6. package/lib/cjs/assets/img/icon-arrow-back.png +0 -0
  7. package/lib/cjs/assets/img/icon_folder_closed.png +0 -0
  8. package/lib/cjs/assets/img/icon_folder_closed_light.png +0 -0
  9. package/lib/cjs/assets/img/icon_folder_open.png +0 -0
  10. package/lib/cjs/assets/img/icon_folder_open_light.png +0 -0
  11. package/lib/cjs/assets/img/icon_help_light_24.png +0 -0
  12. package/lib/cjs/assets/img/icon_variablenode.png +0 -0
  13. package/lib/cjs/assets/img/icon_variablenode_light.png +0 -0
  14. package/lib/cjs/assets/img/toastify_msg_error_24.png +0 -0
  15. package/lib/cjs/assets/img/toastify_msg_success_24.png +0 -0
  16. package/lib/cjs/assets/search-box.css +29 -0
  17. package/lib/cjs/assets/style.css +219 -0
  18. package/lib/cjs/assets/svg/icon_add.svg +3 -0
  19. package/lib/cjs/assets/svg/icon_calendar.svg +50 -0
  20. package/lib/cjs/assets/svg/icon_chevron_left.svg +6 -0
  21. package/lib/cjs/assets/svg/icon_chevron_right.svg +6 -0
  22. package/lib/cjs/assets/svg/icon_cross.svg +3 -0
  23. package/lib/cjs/assets/svg/icon_download.svg +5 -0
  24. package/lib/cjs/assets/svg/icon_duplicate.svg +10 -0
  25. package/lib/cjs/assets/svg/icon_edit.svg +6 -0
  26. package/lib/cjs/assets/svg/icon_folder_loading.svg +21 -0
  27. package/lib/cjs/assets/svg/icon_fullscreen.svg +6 -0
  28. package/lib/cjs/assets/svg/icon_gear.svg +5 -0
  29. package/lib/cjs/assets/svg/icon_help_light.svg +3 -0
  30. package/lib/cjs/assets/svg/icon_key.svg +3 -0
  31. package/lib/cjs/assets/svg/icon_lupe.svg +14 -0
  32. package/lib/cjs/assets/svg/icon_menu_horizontal.svg +5 -0
  33. package/lib/cjs/assets/svg/icon_menu_vertical.svg +5 -0
  34. package/lib/cjs/assets/svg/icon_reload.svg +6 -0
  35. package/lib/cjs/assets/svg/icon_star.svg +4 -0
  36. package/lib/cjs/assets/svg/icon_upload.svg +7 -0
  37. package/lib/cjs/assets/svg/icon_warning_triangle.svg +12 -0
  38. package/lib/cjs/assets/svg/triangle_down.svg +3 -0
  39. package/lib/cjs/assets/svg/triangle_left.svg +3 -0
  40. package/lib/cjs/assets/svg/triangle_right.svg +3 -0
  41. package/lib/cjs/assets/svg/triangle_up.svg +3 -0
  42. package/lib/cjs/assets/svg/triangle_up_and_down.svg +4 -0
  43. package/lib/cjs/components/accordion/Accordion.d.ts +25 -0
  44. package/lib/cjs/components/accordion/Accordion.d.ts.map +1 -0
  45. package/lib/cjs/components/accordion/Accordion.js +60 -0
  46. package/lib/cjs/components/accordionComponents/AccordionItem.d.ts +32 -0
  47. package/lib/cjs/components/accordionComponents/AccordionItem.d.ts.map +1 -0
  48. package/lib/cjs/components/accordionComponents/AccordionItem.js +50 -0
  49. package/lib/cjs/components/bubble/Bubble.d.ts +35 -0
  50. package/lib/cjs/components/bubble/Bubble.d.ts.map +1 -0
  51. package/lib/cjs/components/bubble/Bubble.js +42 -0
  52. package/lib/cjs/components/button/Button.d.ts +33 -0
  53. package/lib/cjs/components/button/Button.d.ts.map +1 -0
  54. package/lib/cjs/components/button/Button.js +22 -0
  55. package/lib/cjs/components/button/ButtonRow.d.ts +23 -0
  56. package/lib/cjs/components/button/ButtonRow.d.ts.map +1 -0
  57. package/lib/cjs/components/button/ButtonRow.js +35 -0
  58. package/lib/cjs/components/confirm/Confirm.d.ts +19 -0
  59. package/lib/cjs/components/confirm/Confirm.d.ts.map +1 -0
  60. package/lib/cjs/components/confirm/Confirm.js +49 -0
  61. package/lib/cjs/components/confirm/ConfirmProvider.d.ts +14 -0
  62. package/lib/cjs/components/confirm/ConfirmProvider.d.ts.map +1 -0
  63. package/lib/cjs/components/confirm/ConfirmProvider.js +63 -0
  64. package/lib/cjs/components/confirm/useConfirm.d.ts +9 -0
  65. package/lib/cjs/components/confirm/useConfirm.d.ts.map +1 -0
  66. package/lib/cjs/components/confirm/useConfirm.js +13 -0
  67. package/lib/cjs/components/confirm/utils.d.ts +4 -0
  68. package/lib/cjs/components/confirm/utils.d.ts.map +1 -0
  69. package/lib/cjs/components/confirm/utils.js +11 -0
  70. package/lib/cjs/components/confirm/withConfirm.d.ts +7 -0
  71. package/lib/cjs/components/confirm/withConfirm.d.ts.map +1 -0
  72. package/lib/cjs/components/confirm/withConfirm.js +43 -0
  73. package/lib/cjs/components/icon/Icon.d.ts +24 -0
  74. package/lib/cjs/components/icon/Icon.d.ts.map +1 -0
  75. package/lib/cjs/components/icon/Icon.js +116 -0
  76. package/lib/cjs/components/input/Checkbox.d.ts +29 -0
  77. package/lib/cjs/components/input/Checkbox.d.ts.map +1 -0
  78. package/lib/cjs/components/input/Checkbox.js +75 -0
  79. package/lib/cjs/components/input/SearchBox.d.ts +21 -0
  80. package/lib/cjs/components/input/SearchBox.d.ts.map +1 -0
  81. package/lib/cjs/components/input/SearchBox.js +90 -0
  82. package/lib/cjs/components/label/Label.d.ts +23 -0
  83. package/lib/cjs/components/label/Label.d.ts.map +1 -0
  84. package/lib/cjs/components/label/Label.js +24 -0
  85. package/lib/cjs/components/modal/Modal.d.ts +29 -0
  86. package/lib/cjs/components/modal/Modal.d.ts.map +1 -0
  87. package/lib/cjs/components/modal/Modal.js +65 -0
  88. package/lib/cjs/components/modalComponents/ModalContainer.d.ts +6 -0
  89. package/lib/cjs/components/modalComponents/ModalContainer.d.ts.map +1 -0
  90. package/lib/cjs/components/modalComponents/ModalContainer.js +12 -0
  91. package/lib/cjs/components/modalComponents/ModalWindow.d.ts +4 -0
  92. package/lib/cjs/components/modalComponents/ModalWindow.d.ts.map +1 -0
  93. package/lib/cjs/components/modalComponents/ModalWindow.js +50 -0
  94. package/lib/cjs/components/popup/Popup.d.ts +38 -0
  95. package/lib/cjs/components/popup/Popup.d.ts.map +1 -0
  96. package/lib/cjs/components/popup/Popup.js +78 -0
  97. package/lib/cjs/components/popupComponents/PopupArea.d.ts +18 -0
  98. package/lib/cjs/components/popupComponents/PopupArea.d.ts.map +1 -0
  99. package/lib/cjs/components/popupComponents/PopupArea.js +46 -0
  100. package/lib/cjs/components/spinner/Spinner.d.ts +20 -0
  101. package/lib/cjs/components/spinner/Spinner.d.ts.map +1 -0
  102. package/lib/cjs/components/spinner/Spinner.js +34 -0
  103. package/lib/cjs/components/spinner/SpinnerContainer.d.ts +23 -0
  104. package/lib/cjs/components/spinner/SpinnerContainer.d.ts.map +1 -0
  105. package/lib/cjs/components/spinner/SpinnerContainer.js +24 -0
  106. package/lib/cjs/components/tabs/Tabs.d.ts +34 -0
  107. package/lib/cjs/components/tabs/Tabs.d.ts.map +1 -0
  108. package/lib/cjs/components/tabs/Tabs.js +75 -0
  109. package/lib/cjs/components/tooltip/Tooltip.d.ts +28 -0
  110. package/lib/cjs/components/tooltip/Tooltip.d.ts.map +1 -0
  111. package/lib/cjs/components/tooltip/Tooltip.js +39 -0
  112. package/lib/cjs/hooks/useOutsideClick.d.ts +3 -0
  113. package/lib/cjs/hooks/useOutsideClick.d.ts.map +1 -0
  114. package/lib/cjs/hooks/useOutsideClick.js +42 -0
  115. package/lib/cjs/index.d.ts +22 -0
  116. package/lib/cjs/index.d.ts.map +1 -0
  117. package/lib/cjs/index.js +46 -0
  118. package/lib/cjs/types/i18n.d.ts +5 -0
  119. package/lib/cjs/types/i18n.d.ts.map +1 -0
  120. package/lib/cjs/types/i18n.js +2 -0
  121. package/lib/esm/__mocks__/react-i18next.d.ts +2 -0
  122. package/lib/esm/__mocks__/react-i18next.d.ts.map +1 -0
  123. package/lib/esm/__mocks__/react-i18next.js +17 -0
  124. package/lib/esm/assets/img/icon-arrow-back.png +0 -0
  125. package/lib/esm/assets/img/icon_folder_closed.png +0 -0
  126. package/lib/esm/assets/img/icon_folder_closed_light.png +0 -0
  127. package/lib/esm/assets/img/icon_folder_open.png +0 -0
  128. package/lib/esm/assets/img/icon_folder_open_light.png +0 -0
  129. package/lib/esm/assets/img/icon_help_light_24.png +0 -0
  130. package/lib/esm/assets/img/icon_variablenode.png +0 -0
  131. package/lib/esm/assets/img/icon_variablenode_light.png +0 -0
  132. package/lib/esm/assets/img/toastify_msg_error_24.png +0 -0
  133. package/lib/esm/assets/img/toastify_msg_success_24.png +0 -0
  134. package/lib/esm/assets/search-box.css +29 -0
  135. package/lib/esm/assets/style.css +219 -0
  136. package/lib/esm/assets/svg/icon_add.svg +3 -0
  137. package/lib/esm/assets/svg/icon_calendar.svg +50 -0
  138. package/lib/esm/assets/svg/icon_chevron_left.svg +6 -0
  139. package/lib/esm/assets/svg/icon_chevron_right.svg +6 -0
  140. package/lib/esm/assets/svg/icon_cross.svg +3 -0
  141. package/lib/esm/assets/svg/icon_download.svg +5 -0
  142. package/lib/esm/assets/svg/icon_duplicate.svg +10 -0
  143. package/lib/esm/assets/svg/icon_edit.svg +6 -0
  144. package/lib/esm/assets/svg/icon_folder_loading.svg +21 -0
  145. package/lib/esm/assets/svg/icon_fullscreen.svg +6 -0
  146. package/lib/esm/assets/svg/icon_gear.svg +5 -0
  147. package/lib/esm/assets/svg/icon_help_light.svg +3 -0
  148. package/lib/esm/assets/svg/icon_key.svg +3 -0
  149. package/lib/esm/assets/svg/icon_lupe.svg +14 -0
  150. package/lib/esm/assets/svg/icon_menu_horizontal.svg +5 -0
  151. package/lib/esm/assets/svg/icon_menu_vertical.svg +5 -0
  152. package/lib/esm/assets/svg/icon_reload.svg +6 -0
  153. package/lib/esm/assets/svg/icon_star.svg +4 -0
  154. package/lib/esm/assets/svg/icon_upload.svg +7 -0
  155. package/lib/esm/assets/svg/icon_warning_triangle.svg +12 -0
  156. package/lib/esm/assets/svg/triangle_down.svg +3 -0
  157. package/lib/esm/assets/svg/triangle_left.svg +3 -0
  158. package/lib/esm/assets/svg/triangle_right.svg +3 -0
  159. package/lib/esm/assets/svg/triangle_up.svg +3 -0
  160. package/lib/esm/assets/svg/triangle_up_and_down.svg +4 -0
  161. package/lib/esm/components/accordion/Accordion.d.ts +25 -0
  162. package/lib/esm/components/accordion/Accordion.d.ts.map +1 -0
  163. package/lib/esm/components/accordion/Accordion.js +34 -0
  164. package/lib/esm/components/accordionComponents/AccordionItem.d.ts +32 -0
  165. package/lib/esm/components/accordionComponents/AccordionItem.d.ts.map +1 -0
  166. package/lib/esm/components/accordionComponents/AccordionItem.js +24 -0
  167. package/lib/esm/components/bubble/Bubble.d.ts +35 -0
  168. package/lib/esm/components/bubble/Bubble.d.ts.map +1 -0
  169. package/lib/esm/components/bubble/Bubble.js +36 -0
  170. package/lib/esm/components/button/Button.d.ts +33 -0
  171. package/lib/esm/components/button/Button.d.ts.map +1 -0
  172. package/lib/esm/components/button/Button.js +17 -0
  173. package/lib/esm/components/button/ButtonRow.d.ts +23 -0
  174. package/lib/esm/components/button/ButtonRow.d.ts.map +1 -0
  175. package/lib/esm/components/button/ButtonRow.js +10 -0
  176. package/lib/esm/components/confirm/Confirm.d.ts +19 -0
  177. package/lib/esm/components/confirm/Confirm.d.ts.map +1 -0
  178. package/lib/esm/components/confirm/Confirm.js +20 -0
  179. package/lib/esm/components/confirm/ConfirmProvider.d.ts +14 -0
  180. package/lib/esm/components/confirm/ConfirmProvider.d.ts.map +1 -0
  181. package/lib/esm/components/confirm/ConfirmProvider.js +34 -0
  182. package/lib/esm/components/confirm/useConfirm.d.ts +9 -0
  183. package/lib/esm/components/confirm/useConfirm.d.ts.map +1 -0
  184. package/lib/esm/components/confirm/useConfirm.js +10 -0
  185. package/lib/esm/components/confirm/utils.d.ts +4 -0
  186. package/lib/esm/components/confirm/utils.d.ts.map +1 -0
  187. package/lib/esm/components/confirm/utils.js +7 -0
  188. package/lib/esm/components/confirm/withConfirm.d.ts +7 -0
  189. package/lib/esm/components/confirm/withConfirm.d.ts.map +1 -0
  190. package/lib/esm/components/confirm/withConfirm.js +37 -0
  191. package/lib/esm/components/icon/Icon.d.ts +24 -0
  192. package/lib/esm/components/icon/Icon.d.ts.map +1 -0
  193. package/lib/esm/components/icon/Icon.js +110 -0
  194. package/lib/esm/components/input/Checkbox.d.ts +29 -0
  195. package/lib/esm/components/input/Checkbox.d.ts.map +1 -0
  196. package/lib/esm/components/input/Checkbox.js +50 -0
  197. package/lib/esm/components/input/SearchBox.d.ts +21 -0
  198. package/lib/esm/components/input/SearchBox.d.ts.map +1 -0
  199. package/lib/esm/components/input/SearchBox.js +62 -0
  200. package/lib/esm/components/label/Label.d.ts +23 -0
  201. package/lib/esm/components/label/Label.d.ts.map +1 -0
  202. package/lib/esm/components/label/Label.js +18 -0
  203. package/lib/esm/components/modal/Modal.d.ts +29 -0
  204. package/lib/esm/components/modal/Modal.d.ts.map +1 -0
  205. package/lib/esm/components/modal/Modal.js +59 -0
  206. package/lib/esm/components/modalComponents/ModalContainer.d.ts +6 -0
  207. package/lib/esm/components/modalComponents/ModalContainer.d.ts.map +1 -0
  208. package/lib/esm/components/modalComponents/ModalContainer.js +6 -0
  209. package/lib/esm/components/modalComponents/ModalWindow.d.ts +4 -0
  210. package/lib/esm/components/modalComponents/ModalWindow.d.ts.map +1 -0
  211. package/lib/esm/components/modalComponents/ModalWindow.js +21 -0
  212. package/lib/esm/components/popup/Popup.d.ts +38 -0
  213. package/lib/esm/components/popup/Popup.d.ts.map +1 -0
  214. package/lib/esm/components/popup/Popup.js +49 -0
  215. package/lib/esm/components/popupComponents/PopupArea.d.ts +18 -0
  216. package/lib/esm/components/popupComponents/PopupArea.d.ts.map +1 -0
  217. package/lib/esm/components/popupComponents/PopupArea.js +17 -0
  218. package/lib/esm/components/spinner/Spinner.d.ts +20 -0
  219. package/lib/esm/components/spinner/Spinner.d.ts.map +1 -0
  220. package/lib/esm/components/spinner/Spinner.js +28 -0
  221. package/lib/esm/components/spinner/SpinnerContainer.d.ts +23 -0
  222. package/lib/esm/components/spinner/SpinnerContainer.d.ts.map +1 -0
  223. package/lib/esm/components/spinner/SpinnerContainer.js +18 -0
  224. package/lib/esm/components/tabs/Tabs.d.ts +34 -0
  225. package/lib/esm/components/tabs/Tabs.d.ts.map +1 -0
  226. package/lib/esm/components/tabs/Tabs.js +46 -0
  227. package/lib/esm/components/tooltip/Tooltip.d.ts +28 -0
  228. package/lib/esm/components/tooltip/Tooltip.d.ts.map +1 -0
  229. package/lib/esm/components/tooltip/Tooltip.js +33 -0
  230. package/lib/esm/hooks/useOutsideClick.d.ts +3 -0
  231. package/lib/esm/hooks/useOutsideClick.d.ts.map +1 -0
  232. package/lib/esm/hooks/useOutsideClick.js +40 -0
  233. package/lib/esm/index.d.ts +22 -0
  234. package/lib/esm/index.d.ts.map +1 -0
  235. package/lib/esm/index.js +21 -0
  236. package/lib/esm/types/i18n.d.ts +5 -0
  237. package/lib/esm/types/i18n.d.ts.map +1 -0
  238. package/lib/esm/types/i18n.js +1 -0
  239. package/package.json +80 -0
@@ -0,0 +1,50 @@
1
+ import * as React from 'react';
2
+ import { withTranslation } from 'react-i18next';
3
+ const getWrapperClassName = (type, small) => {
4
+ switch (type) {
5
+ case 'checkbox':
6
+ case 'radio':
7
+ return 'di checkbox';
8
+ case 'toggle':
9
+ return small ? 'di toggle toggle-small' : 'di toggle';
10
+ default:
11
+ throw Error(`type not support: ${type}`);
12
+ }
13
+ };
14
+ const getCheckboxClassName = (type, small) => {
15
+ switch (type) {
16
+ case 'checkbox':
17
+ return 'box';
18
+ case 'radio':
19
+ return 'radio';
20
+ case 'toggle':
21
+ return small ? 'switch switch-small' : 'switch';
22
+ default:
23
+ throw Error(`type not support: ${type}`);
24
+ }
25
+ };
26
+ /**
27
+ * Checkbox for enabling user interaction can have one of multiple types which are defined via the `type` prop.
28
+ */
29
+ const Checkbox = ({ type = 'checkbox', value, onChange, title, label, disabled = false, toggleSmall = false, toggleColor = '#259b23', t, ...other }) => {
30
+ const style = type === 'toggle'
31
+ ? {
32
+ backgroundColor: value ? toggleColor : 'gray'
33
+ }
34
+ : {};
35
+ const tooltip = title
36
+ ? t(title.id, {
37
+ defaultValue: title.defaultValue
38
+ })
39
+ : undefined;
40
+ const labelText = label
41
+ ? t(label.id, {
42
+ defaultValue: label.defaultValue
43
+ })
44
+ : null;
45
+ return (React.createElement("label", { title: tooltip, className: getWrapperClassName(type, toggleSmall), "data-testid": other['wrapper-data-testid'] },
46
+ React.createElement("input", { type: "checkbox", checked: value, disabled: disabled, onChange: () => onChange(!value), "data-testid": other['data-testid'] }),
47
+ React.createElement("div", { className: getCheckboxClassName(type, toggleSmall), style: style, "data-testid": other['innerdiv-data-testid'] }),
48
+ label && React.createElement("span", { className: "textlabel" }, labelText)));
49
+ };
50
+ export default withTranslation()(Checkbox);
@@ -0,0 +1,21 @@
1
+ import * as React from 'react';
2
+ import '../../assets/search-box.css';
3
+ import { CSSProperties } from 'react';
4
+ import { TranslationDescriptor } from '../../types/i18n';
5
+ export declare type Props = {
6
+ /** Placeholder text for input field `(string | TranslationDescriptor)` */
7
+ placeholder: string | TranslationDescriptor;
8
+ /** Function to call if the input changes */
9
+ onChange: (value: string) => void;
10
+ /** Function to call if the search is triggered (button press or return in search field) */
11
+ onSubmit?: (value: string) => void;
12
+ /** if true, a button is shown that clears the input */
13
+ clearable?: boolean;
14
+ /** Value that should initially be displayed in the text box */
15
+ initialValue: string | null | undefined;
16
+ /** Wrapper styles */
17
+ style: CSSProperties | undefined;
18
+ };
19
+ declare const _default: React.ComponentType<Props>;
20
+ export default _default;
21
+ //# sourceMappingURL=SearchBox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchBox.d.ts","sourceRoot":"","sources":["../../../../src/components/input/SearchBox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,6BAA6B,CAAC;AACrC,OAAO,EAAgB,aAAa,EAAC,MAAM,OAAO,CAAC;AAInD,OAAO,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AAEvD,oBAAY,KAAK,GAAG;IACnB,0EAA0E;IAC1E,WAAW,EAAE,MAAM,GAAG,qBAAqB,CAAC;IAE5C,4CAA4C;IAC5C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAElC,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC,uDAAuD;IACvD,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,+DAA+D;IAC/D,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAExC,qBAAqB;IACrB,KAAK,EAAE,aAAa,GAAG,SAAS,CAAC;CACjC,CAAC;;AA2GF,wBAAoE"}
@@ -0,0 +1,62 @@
1
+ import * as React from 'react';
2
+ import { withTranslation } from 'react-i18next';
3
+ import '../../assets/search-box.css';
4
+ import Icon from '../icon/Icon';
5
+ import Button from '../button/Button';
6
+ const ClearButton = ({ onChange, inputElement, style }) => (React.createElement(Button, { naked: true, onClick: () => {
7
+ onChange('');
8
+ if (inputElement) {
9
+ inputElement.focus();
10
+ }
11
+ }, style: style },
12
+ React.createElement(Icon, { del: true })));
13
+ /**
14
+ * SearchBox is used for searching content and provides a set of `props` for different user experiences
15
+ */
16
+ class SearchBox extends React.Component {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.state = {
20
+ query: this.props.initialValue || ''
21
+ };
22
+ this.handleChange = (value) => {
23
+ const { onChange } = this.props;
24
+ this.setState({
25
+ query: value
26
+ });
27
+ onChange(value);
28
+ };
29
+ this.handleKeyUp = ({ key }) => {
30
+ const { onSubmit } = this.props;
31
+ const { query } = this.state;
32
+ if (key === 'Enter' && typeof onSubmit === 'function') {
33
+ onSubmit(query);
34
+ }
35
+ };
36
+ }
37
+ printPlaceholder() {
38
+ const { t, placeholder } = this.props;
39
+ if (typeof placeholder === 'object') {
40
+ return t(placeholder.id, {
41
+ defaultValue: placeholder.defaultValue
42
+ });
43
+ }
44
+ else {
45
+ return placeholder;
46
+ }
47
+ }
48
+ render() {
49
+ const { onSubmit, style, clearable } = this.props;
50
+ const { query } = this.state;
51
+ return (React.createElement("div", { className: "search-box", style: style },
52
+ React.createElement("input", { ref: (input) => (this.input = input), type: "text", value: query, placeholder: this.printPlaceholder(), onKeyUp: this.handleKeyUp, onChange: ({ target: { value } }) => this.handleChange(value) }),
53
+ typeof onSubmit === 'function' ? (React.createElement(React.Fragment, null,
54
+ query && clearable && (React.createElement(ClearButton, { onChange: this.handleChange, inputElement: this.input, style: {
55
+ right: 30
56
+ } })),
57
+ React.createElement(Button, { naked: true, onClick: () => onSubmit(query) },
58
+ React.createElement(Icon, { search: true })))) : query && clearable ? (React.createElement(ClearButton, { onChange: this.handleChange, inputElement: this.input })) : (React.createElement(Button, { naked: true, disabled: true },
59
+ React.createElement(Icon, { search: true })))));
60
+ }
61
+ }
62
+ export default withTranslation()(SearchBox);
@@ -0,0 +1,23 @@
1
+ import React, { MouseEventHandler, PropsWithChildren } from 'react';
2
+ import { TranslationDescriptor } from '../../types/i18n';
3
+ export interface Props extends React.HTMLAttributes<HTMLSpanElement> {
4
+ /** the label text, either a string or TranslationDescriptor */
5
+ text?: string | TranslationDescriptor;
6
+ /** a smaller label */
7
+ small?: boolean;
8
+ /** a larger label */
9
+ large?: boolean;
10
+ onClick?: MouseEventHandler<HTMLSpanElement>;
11
+ /** adds a delete button that triggers this callback function */
12
+ onDelete?: (...args: Array<any>) => any;
13
+ className?: string;
14
+ /** @ignore */
15
+ 'data-testid'?: string;
16
+ /** @ignore */
17
+ 'delete-button-data-testid'?: string;
18
+ }
19
+ /**
20
+ * Label enables an easy way for marking or tagging elements.
21
+ */
22
+ export default function Label({ text, small, large, onDelete, className, onClick, children, ...dataTestIds }: PropsWithChildren<Props>): JSX.Element;
23
+ //# sourceMappingURL=Label.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Label.d.ts","sourceRoot":"","sources":["../../../../src/components/label/Label.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,iBAAiB,EAAE,iBAAiB,EAAa,MAAM,OAAO,CAAC;AAK9E,OAAO,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AAEvD,MAAM,WAAW,KAAM,SAAQ,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;IACnE,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAAC;IAEtC,sBAAsB;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,qBAAqB;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,OAAO,CAAC,EAAE,iBAAiB,CAAC,eAAe,CAAC,CAAC;IAE7C,gEAAgE;IAChE,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC;IAExC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,cAAc;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,cAAc;IACd,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAC7B,IAAI,EACJ,KAAa,EACb,KAAa,EACb,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACR,GAAG,WAAW,EACd,EAAE,iBAAiB,CAAC,KAAK,CAAC,eAoB1B"}
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { Trans } from 'react-i18next';
3
+ import cx from 'classnames';
4
+ import Icon from '../icon/Icon';
5
+ /**
6
+ * Label enables an easy way for marking or tagging elements.
7
+ */
8
+ export default function Label({ text, small = false, large = false, onDelete, className, onClick, children, ...dataTestIds }) {
9
+ function handleDelete(event) {
10
+ event.stopPropagation();
11
+ onDelete && onDelete();
12
+ }
13
+ return (React.createElement("span", { onClick: onClick, className: cx('di label', className, { large, small, removable: onDelete, clickable: !!onClick }), "data-testid": dataTestIds['data-testid'] },
14
+ typeof text === 'string' ? text : text && React.createElement(Trans, { i18nKey: text.id }, text.defaultValue),
15
+ React.createElement(React.Fragment, null, children),
16
+ onDelete && (React.createElement("span", { "data-testid": dataTestIds['delete-button-data-testid'], className: "remove", onClick: handleDelete },
17
+ React.createElement(Icon, { del: true, inverted: true })))));
18
+ }
@@ -0,0 +1,29 @@
1
+ /// <reference types="node" />
2
+ import React from 'react';
3
+ export declare type Props = {
4
+ header?: React.ReactNode;
5
+ content?: React.ReactNode;
6
+ footer?: React.ReactNode;
7
+ /** the CSS width setting, either a number or string */
8
+ width?: string | number;
9
+ className?: string;
10
+ /** callback function that is executed when the users click outside the modal */
11
+ onOutsideClick?: (event?: Event) => void;
12
+ onMouseDown?: (event: React.SyntheticEvent<HTMLElement>) => void;
13
+ };
14
+ export default class Modal extends React.Component<Props, {
15
+ className: string;
16
+ }> {
17
+ static defaultProps: {
18
+ width: string;
19
+ };
20
+ container: HTMLDivElement | undefined;
21
+ modalRoot: HTMLElement | null | undefined;
22
+ timeoutId: NodeJS.Timeout | undefined;
23
+ constructor(props: Props);
24
+ componentDidMount(): void;
25
+ componentWillUnmount(): void;
26
+ keyEventHandler: (event: KeyboardEvent) => void;
27
+ render(): React.ReactPortal | null;
28
+ }
29
+ //# sourceMappingURL=Modal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../../src/components/modal/Modal.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,oBAAY,KAAK,GAAG;IACnB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEzB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,gFAAgF;IAChF,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IACzC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;CACjE,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,KAAK,CAAC,SAAS,CACjD,KAAK,EACL;IACC,SAAS,EAAE,MAAM,CAAC;CAClB,CACD;IACA,MAAM,CAAC,YAAY,EAAE;QACpB,KAAK,EAAE,MAAM,CAAC;KACd,CAEC;IACF,SAAS,EAAE,cAAc,GAAG,SAAS,CAAC;IACtC,SAAS,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;gBAE1B,KAAK,EAAE,KAAK;IAOxB,iBAAiB;IAwBjB,oBAAoB;IAkBpB,eAAe,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAI7C;IAEF,MAAM;CAYN"}
@@ -0,0 +1,59 @@
1
+ import React from 'react';
2
+ import ReactDOM from 'react-dom';
3
+ import ModalWindow from '../modalComponents/ModalWindow';
4
+ export default class Modal extends React.Component {
5
+ constructor(props) {
6
+ super(props);
7
+ this.keyEventHandler = (event) => {
8
+ if (event.key === 'Escape' && this.props.onOutsideClick) {
9
+ this.props.onOutsideClick(event);
10
+ }
11
+ };
12
+ this.state = {
13
+ className: 'di modal'
14
+ };
15
+ }
16
+ componentDidMount() {
17
+ this.container = document.createElement('div');
18
+ this.modalRoot = document.getElementById('modal-root');
19
+ if (this.modalRoot) {
20
+ this.modalRoot.appendChild(this.container);
21
+ }
22
+ else if (document.body) {
23
+ document.body.appendChild(this.container);
24
+ }
25
+ if (this.props.onOutsideClick) {
26
+ window.addEventListener('keydown', this.keyEventHandler);
27
+ }
28
+ // set the show class after 10ms for animation
29
+ this.timeoutId = setTimeout(() => this.setState({
30
+ className: `di modal show ${this.props.className || ''}`
31
+ }), 10);
32
+ }
33
+ componentWillUnmount() {
34
+ if (this.container) {
35
+ if (this.modalRoot) {
36
+ this.modalRoot.removeChild(this.container);
37
+ }
38
+ else if (document.body) {
39
+ document.body.removeChild(this.container);
40
+ }
41
+ }
42
+ if (this.props.onOutsideClick) {
43
+ window.removeEventListener('keydown', this.keyEventHandler);
44
+ }
45
+ if (this.timeoutId) {
46
+ clearTimeout(this.timeoutId);
47
+ }
48
+ }
49
+ render() {
50
+ if (!this.container) {
51
+ return null;
52
+ }
53
+ return ReactDOM.createPortal(React.createElement("div", { className: this.state.className, onMouseDown: this.props.onMouseDown },
54
+ React.createElement(ModalWindow, { ...this.props })), this.container);
55
+ }
56
+ }
57
+ Modal.defaultProps = {
58
+ width: '60%'
59
+ };
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export declare type Props = Record<string, never>;
3
+ export default class ModalContainer extends React.PureComponent<Props> {
4
+ render(): JSX.Element;
5
+ }
6
+ //# sourceMappingURL=ModalContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/modalComponents/ModalContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,oBAAY,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC;IACrE,MAAM;CAGN"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export default class ModalContainer extends React.PureComponent {
3
+ render() {
4
+ return React.createElement("div", { id: "modal-root" });
5
+ }
6
+ }
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { Props } from '../modal/Modal';
3
+ export default function ModalWindow({ className, width, header, content, footer, onOutsideClick }: Props): JSX.Element;
4
+ //# sourceMappingURL=ModalWindow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalWindow.d.ts","sourceRoot":"","sources":["../../../../src/components/modalComponents/ModalWindow.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAC;AAGrC,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAC,EAAE,KAAK,eA0BrG"}
@@ -0,0 +1,21 @@
1
+ import React, { useEffect, useRef, useState } from 'react';
2
+ import Draggable from 'react-draggable';
3
+ import useOutsideClick from '../../hooks/useOutsideClick';
4
+ export default function ModalWindow({ className, width, header, content, footer, onOutsideClick }) {
5
+ const ref = useRef(null);
6
+ const [rootElement, setRootElement] = useState(null);
7
+ useEffect(() => {
8
+ setRootElement(ref.current);
9
+ }, []);
10
+ useOutsideClick([rootElement], () => {
11
+ if (onOutsideClick)
12
+ onOutsideClick();
13
+ });
14
+ return (React.createElement(Draggable, { handle: ".modal-header", nodeRef: ref },
15
+ React.createElement("div", { ref: ref, className: `modal-window ${className || ''}`, style: {
16
+ maxWidth: width
17
+ } },
18
+ header && React.createElement("div", { className: "modal-header" }, header),
19
+ content && React.createElement("div", { className: "modal-content" }, content),
20
+ footer && React.createElement("div", { className: "modal-footer" }, footer))));
21
+ }
@@ -0,0 +1,38 @@
1
+ import * as React from 'react';
2
+ import { Modifier } from 'react-popper';
3
+ export declare type PopupDirection = 'auto-start' | 'auto' | 'auto-end' | 'top-start' | 'top' | 'top-end' | 'right-start' | 'right' | 'right-end' | 'bottom-end' | 'bottom' | 'bottom-start' | 'left-end' | 'left' | 'left-start';
4
+ export declare type Props = {
5
+ /** Element to toggle the Popup */
6
+ handler: React.ReactNode;
7
+ /** Content to be displayed */
8
+ children: React.ReactNode;
9
+ /** If true, displays the Popup's content */
10
+ active: boolean;
11
+ /** Function, executed when the Popup gets closed */
12
+ onHide: (event: MouseEvent) => void;
13
+ ignoredElements?: HTMLElement[];
14
+ /** (Optional) if set, sets the direction in which the content should be displayed */
15
+ direction?: PopupDirection;
16
+ /** (Optional) function, executed if the handler gets clicked */
17
+ onHandlerClick?: (event: React.SyntheticEvent<HTMLSpanElement>) => any;
18
+ /** @ignore */
19
+ className?: string;
20
+ /** (Optional) https://popper.js.org/popper-documentation.html#modifiers..preventOverflow */
21
+ modifiers?: Modifier<any>[];
22
+ /** (Optional) If set to true, the content is hidden via styles, but still exists in the DOM tree */
23
+ preventDestroyContentOnHide?: boolean;
24
+ /** (Optional) Class name of the handler wrapping element */
25
+ handlerWrapperClassName?: string;
26
+ };
27
+ /**
28
+ * Popup displays content within a small modal.
29
+ * Its usage is highly flexible and used in several other components.
30
+ */
31
+ export default class Popup extends React.Component<Props> {
32
+ container: HTMLDivElement | undefined;
33
+ referenceHandler: React.RefObject<HTMLSpanElement>;
34
+ componentDidMount(): void;
35
+ componentWillUnmount(): void;
36
+ render(): JSX.Element;
37
+ }
38
+ //# sourceMappingURL=Popup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Popup.d.ts","sourceRoot":"","sources":["../../../../src/components/popup/Popup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAU,QAAQ,EAAoB,MAAM,cAAc,CAAC;AAGlE,oBAAY,cAAc,GACvB,YAAY,GACZ,MAAM,GACN,UAAU,GACV,WAAW,GACX,KAAK,GACL,SAAS,GACT,aAAa,GACb,OAAO,GACP,WAAW,GACX,YAAY,GACZ,QAAQ,GACR,cAAc,GACd,UAAU,GACV,MAAM,GACN,YAAY,CAAC;AAEhB,oBAAY,KAAK,GAAG;IACnB,kCAAkC;IAClC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IAEzB,8BAA8B;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,4CAA4C;IAC5C,MAAM,EAAE,OAAO,CAAC;IAEhB,oDAAoD;IACpD,MAAM,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAEpC,eAAe,CAAC,EAAE,WAAW,EAAE,CAAC;IAEhC,qFAAqF;IACrF,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B,gEAAgE;IAChE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,GAAG,CAAC;IAEvE,cAAc;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,4FAA4F;IAC5F,SAAS,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;IAE5B,oGAAoG;IACpG,2BAA2B,CAAC,EAAE,OAAO,CAAC;IAEtC,4DAA4D;IAC5D,uBAAuB,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;IACxD,SAAS,EAAE,cAAc,GAAG,SAAS,CAAC;IACtC,gBAAgB,mCAAsC;IAEtD,iBAAiB;IASjB,oBAAoB;IAMpB,MAAM;CAwEN"}
@@ -0,0 +1,49 @@
1
+ import * as React from 'react';
2
+ import ReactDOM from 'react-dom';
3
+ import classNames from 'classnames';
4
+ import { Manager, Popper, Reference } from 'react-popper';
5
+ import PopupArea from '../popupComponents/PopupArea';
6
+ /**
7
+ * Popup displays content within a small modal.
8
+ * Its usage is highly flexible and used in several other components.
9
+ */
10
+ export default class Popup extends React.Component {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.referenceHandler = React.createRef();
14
+ }
15
+ componentDidMount() {
16
+ const container = document.createElement('div');
17
+ if (document.body) {
18
+ document.body.appendChild(container);
19
+ this.container = container;
20
+ }
21
+ }
22
+ componentWillUnmount() {
23
+ if (document.body && this.container) {
24
+ document.body.removeChild(this.container);
25
+ }
26
+ }
27
+ render() {
28
+ const { handler, children, active, onHide, direction, className, onHandlerClick, modifiers, preventDestroyContentOnHide, handlerWrapperClassName, ...otherProps } = this.props;
29
+ const placement = direction ? direction : 'bottom';
30
+ return (React.createElement(Manager, null,
31
+ React.createElement(Reference, null, ({ ref }) => (React.createElement("span", { ref: ref, style: {
32
+ display: 'inline-block'
33
+ }, className: handlerWrapperClassName },
34
+ React.createElement("span", { ref: this.referenceHandler, style: {
35
+ display: 'inline-block',
36
+ verticalAlign: 'bottom'
37
+ }, onClick: onHandlerClick, className: handlerWrapperClassName }, handler)))),
38
+ (active || preventDestroyContentOnHide) &&
39
+ this.container &&
40
+ ReactDOM.createPortal(React.createElement(Popper, { ...otherProps, placement: placement, modifiers: modifiers }, ({ ref, style, placement, arrowProps }) => {
41
+ return (React.createElement("span", { className: classNames('di popup-wrapper', {
42
+ hidden: preventDestroyContentOnHide && !active
43
+ }) },
44
+ React.createElement(PopupArea, { ...(this.props.ignoredElements
45
+ ? { ignoredElements: this.props.ignoredElements }
46
+ : {}), referenceHandler: this.referenceHandler.current, popupAreaHandler: ref, placement: placement, style: style, onHide: onHide, visible: active, arrowProps: arrowProps, className: className }, children)));
47
+ }), this.container)));
48
+ }
49
+ }
@@ -0,0 +1,18 @@
1
+ import { PropsWithChildren, ReactNode, Ref } from 'react';
2
+ import { PopperArrowProps } from 'react-popper';
3
+ import { PopupDirection } from '../popup/Popup';
4
+ declare type Props = {
5
+ referenceHandler: HTMLElement | null;
6
+ popupAreaHandler: Ref<any>;
7
+ ignoredElements?: HTMLElement[];
8
+ style: Record<string, any>;
9
+ children: ReactNode;
10
+ placement: PopupDirection;
11
+ onHide: (event: MouseEvent) => void;
12
+ visible: boolean;
13
+ arrowProps: PopperArrowProps;
14
+ className?: string;
15
+ };
16
+ export default function PopupArea({ popupAreaHandler, ignoredElements, style, placement, className, arrowProps, children, visible, onHide }: PropsWithChildren<Props>): JSX.Element;
17
+ export {};
18
+ //# sourceMappingURL=PopupArea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopupArea.d.ts","sourceRoot":"","sources":["../../../../src/components/popupComponents/PopupArea.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAC,iBAAiB,EAAE,SAAS,EAAE,GAAG,EAAW,MAAM,OAAO,CAAC;AACzE,OAAO,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAG9C,aAAK,KAAK,GAAG;IACZ,gBAAgB,EAAE,WAAW,GAAG,IAAI,CAAC;IACrC,gBAAgB,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,eAAe,CAAC,EAAE,WAAW,EAAE,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,EAAE,cAAc,CAAC;IAC1B,MAAM,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EACjC,gBAAgB,EAChB,eAAoB,EACpB,KAAK,EACL,SAAS,EACT,SAAS,EACT,UAAU,EACV,QAAQ,EACR,OAAO,EACP,MAAM,EACN,EAAE,iBAAiB,CAAC,KAAK,CAAC,eAqB1B"}
@@ -0,0 +1,17 @@
1
+ import React, { useState } from 'react';
2
+ import useOutsideClick from '../../hooks/useOutsideClick';
3
+ export default function PopupArea({ popupAreaHandler, ignoredElements = [], style, placement, className, arrowProps, children, visible, onHide }) {
4
+ const [rootElement, setRootElement] = useState(null);
5
+ useOutsideClick([rootElement, ...ignoredElements], (event) => {
6
+ if (visible) {
7
+ onHide(event);
8
+ }
9
+ });
10
+ return (React.createElement("div", { ref: (div) => {
11
+ setRootElement(div);
12
+ if (typeof popupAreaHandler === 'function')
13
+ popupAreaHandler(div);
14
+ }, style: style, className: `di popup ${placement} ${className ? className : ''}` },
15
+ React.createElement("div", { className: `popup-arrow ${placement}`, ref: arrowProps.ref, style: arrowProps.style }),
16
+ React.createElement("div", { className: "popup-content" }, children)));
17
+ }
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ export declare type Props = {
3
+ /** the size of the Spinner in px */
4
+ size?: number;
5
+ /** @ignore */
6
+ center?: boolean;
7
+ /** @ignore */
8
+ 'data-testid'?: string;
9
+ };
10
+ /**
11
+ * Spinners usually show a loading indication.
12
+ */
13
+ export default class Spinner extends React.Component<Props> {
14
+ static defaultProps: {
15
+ size: number;
16
+ center: boolean;
17
+ };
18
+ render(): JSX.Element;
19
+ }
20
+ //# sourceMappingURL=Spinner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../../../src/components/spinner/Spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,oBAAY,KAAK,GAAG;IACnB,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,cAAc;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,cAAc;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;IAC1D,MAAM,CAAC,YAAY;;;MAGjB;IAEF,MAAM;CAoBN"}
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ /**
3
+ * Spinners usually show a loading indication.
4
+ */
5
+ export default class Spinner extends React.Component {
6
+ render() {
7
+ const { size = 56, center, ...dataAttrs } = this.props;
8
+ let style = {
9
+ width: size,
10
+ height: size
11
+ };
12
+ if (center) {
13
+ style = {
14
+ ...style,
15
+ position: 'absolute',
16
+ top: '50%',
17
+ left: '50%',
18
+ marginTop: -size / 2,
19
+ marginLeft: -size / 2
20
+ };
21
+ }
22
+ return React.createElement("div", { className: "di spinner", style: style, ...dataAttrs });
23
+ }
24
+ }
25
+ Spinner.defaultProps = {
26
+ size: 56,
27
+ center: false
28
+ };
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ export declare type Props = {
3
+ /** controls the display of the Spinner */
4
+ show: boolean;
5
+ /** the size of the Spinner in px */
6
+ size?: number;
7
+ /** content to be rendered once the loading is done */
8
+ children?: React.ReactNode;
9
+ /** @ignore */
10
+ className?: string;
11
+ /** @ignore */
12
+ 'data-testid'?: string;
13
+ };
14
+ /**
15
+ * SpinnerContainer wraps the entire content and displays a loading indicator until the loading is done.
16
+ */
17
+ export default class SpinnerContainer extends React.Component<Props> {
18
+ static defaultProps: {
19
+ size: number;
20
+ };
21
+ render(): JSX.Element;
22
+ }
23
+ //# sourceMappingURL=SpinnerContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpinnerContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/spinner/SpinnerContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,oBAAY,KAAK,GAAG;IACnB,0CAA0C;IAC1C,IAAI,EAAE,OAAO,CAAC;IAEd,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,sDAAsD;IACtD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,cAAc;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,cAAc;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;IACnE,MAAM,CAAC,YAAY,EAAE;QACpB,IAAI,EAAE,MAAM,CAAC;KACb,CAEC;IAEF,MAAM;CAcN"}
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import Spinner from './Spinner';
3
+ /**
4
+ * SpinnerContainer wraps the entire content and displays a loading indicator until the loading is done.
5
+ */
6
+ export default class SpinnerContainer extends React.Component {
7
+ render() {
8
+ const { show, size, children, className } = this.props;
9
+ const classNames = `di spinner-wrapper ${className ? className : ''}`;
10
+ return (React.createElement("div", { className: classNames },
11
+ React.createElement("div", { className: `di spinner-container ${show ? 'visible' : ''}`, "data-testid": this.props['data-testid'] },
12
+ React.createElement(Spinner, { size: size, center: true })),
13
+ children));
14
+ }
15
+ }
16
+ SpinnerContainer.defaultProps = {
17
+ size: 56
18
+ };
@@ -0,0 +1,34 @@
1
+ import * as React from 'react';
2
+ declare type Page = {
3
+ name: string;
4
+ renderHeading: () => React.ReactNode;
5
+ renderBody?: () => React.ReactNode;
6
+ tabDescription?: string;
7
+ };
8
+ declare type State = {
9
+ currentTab: string | null | undefined;
10
+ };
11
+ export declare type Props = {
12
+ /** Array of pages to be displayed */
13
+ pages: Array<Page>;
14
+ /** (Optional) if set, disables tab */
15
+ disabled?: boolean;
16
+ /** (Optional) function, executed if tabs change */
17
+ onChange?: (tab: string) => void;
18
+ /** (Optional) sets the current tab */
19
+ currentTab?: string | null | undefined;
20
+ };
21
+ /**
22
+ * Tabs add the possibility to unite several homogeneous pages into one.
23
+ * Unlike RouteTabs, Tabs cannot be accessed directly via the browser's history
24
+ */
25
+ export default class Tabs extends React.Component<Props, State> {
26
+ state: State;
27
+ handleClick: (tab: string) => void;
28
+ currentTabPage: () => Page | null | undefined;
29
+ isCurrentTab: (tab: string) => boolean;
30
+ renderBody: () => React.ReactNode;
31
+ render(): JSX.Element;
32
+ }
33
+ export {};
34
+ //# sourceMappingURL=Tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../../src/components/tabs/Tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,aAAK,IAAI,GAAG;IACX,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,aAAK,KAAK,GAAG;IACZ,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACtC,CAAC;AAEF,oBAAY,KAAK,GAAG;IACnB,qCAAqC;IACrC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAEnB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjC,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACvC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IAC9D,KAAK,EAAE,KAAK,CAEV;IAEF,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAQhC;IAEF,cAAc,EAAE,MAAM,IAAI,GAAG,IAAI,GAAG,SAAS,CAG3C;IAEF,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAGpC;IAEF,UAAU,wBAQR;IAEF,MAAM;CAkCN"}