@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,43 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const react_i18next_1 = require("react-i18next");
8
+ const useConfirm_1 = __importDefault(require("./useConfirm"));
9
+ const ConfirmProvider_1 = __importDefault(require("./ConfirmProvider"));
10
+ const utils_1 = require("./utils");
11
+ function withConfirm(WrappedComponent) {
12
+ function WithConfirm(props) {
13
+ const confirm = (0, useConfirm_1.default)();
14
+ const { t } = (0, react_i18next_1.useTranslation)();
15
+ function trans(arg) {
16
+ if ((0, utils_1.isTranslationDescriptor)(arg)) {
17
+ return t(arg.id, { defaultValue: arg.defaultValue });
18
+ }
19
+ return arg;
20
+ }
21
+ async function deprecatedConfirm(title, message, acceptButtonLabel, declineButtonLabel, resolveWithConfirmation, acceptButtonStyle) {
22
+ const accepted = await confirm({
23
+ title: trans(title),
24
+ message: (0, utils_1.isTranslationDescriptor)(message) ? trans(message) : message,
25
+ acceptButtonLabel: acceptButtonLabel ? trans(acceptButtonLabel) : undefined,
26
+ declineButtonLabel: declineButtonLabel ? trans(declineButtonLabel) : undefined,
27
+ acceptButtonStyle
28
+ });
29
+ if (resolveWithConfirmation) {
30
+ return accepted;
31
+ }
32
+ else if (!accepted) {
33
+ return new Promise(() => { });
34
+ }
35
+ }
36
+ return react_1.default.createElement(WrappedComponent, { ...props, confirm: deprecatedConfirm });
37
+ }
38
+ return function WithConfirmWrapper(props) {
39
+ return (react_1.default.createElement(ConfirmProvider_1.default, null,
40
+ react_1.default.createElement(WithConfirm, { ...props })));
41
+ };
42
+ }
43
+ exports.default = withConfirm;
@@ -0,0 +1,24 @@
1
+ /// <reference types="react" />
2
+ export declare type Props = {
3
+ add?: boolean;
4
+ del?: boolean;
5
+ edit?: boolean;
6
+ config?: boolean;
7
+ duplicate?: boolean;
8
+ search?: boolean;
9
+ download?: boolean;
10
+ sync?: boolean;
11
+ fullscreen?: boolean;
12
+ star?: boolean;
13
+ /** key is reserved in React */
14
+ iconKey?: boolean;
15
+ documentation?: boolean;
16
+ /** renders a larger version of the icon (24x24) */
17
+ large?: boolean;
18
+ /** inverts the colors of the icon for display on dark background */
19
+ inverted?: boolean;
20
+ /** @ignore */
21
+ className?: string;
22
+ };
23
+ export default function Icon(props: Props): JSX.Element;
24
+ //# sourceMappingURL=Icon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../../src/components/icon/Icon.tsx"],"names":[],"mappings":";AAeA,oBAAY,KAAK,GAAG;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,+BAA+B;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,mDAAmD;IACnD,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,cAAc;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAkEF,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,KAAK,eAYxC"}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const icon_add_svg_1 = __importDefault(require("../../assets/svg/icon_add.svg"));
8
+ const icon_cross_svg_1 = __importDefault(require("../../assets/svg/icon_cross.svg"));
9
+ const icon_edit_svg_1 = __importDefault(require("../../assets/svg/icon_edit.svg"));
10
+ const icon_gear_svg_1 = __importDefault(require("../../assets/svg/icon_gear.svg"));
11
+ const icon_duplicate_svg_1 = __importDefault(require("../../assets/svg/icon_duplicate.svg"));
12
+ const icon_download_svg_1 = __importDefault(require("../../assets/svg/icon_download.svg"));
13
+ const icon_lupe_svg_1 = __importDefault(require("../../assets/svg/icon_lupe.svg"));
14
+ const icon_key_svg_1 = __importDefault(require("../../assets/svg/icon_key.svg"));
15
+ const icon_reload_svg_1 = __importDefault(require("../../assets/svg/icon_reload.svg"));
16
+ const icon_fullscreen_svg_1 = __importDefault(require("../../assets/svg/icon_fullscreen.svg"));
17
+ const icon_help_light_svg_1 = __importDefault(require("../../assets/svg/icon_help_light.svg"));
18
+ const icon_star_svg_1 = __importDefault(require("../../assets/svg/icon_star.svg"));
19
+ function getSrc(props) {
20
+ const { add, del, edit, config, duplicate, search, download, sync, fullscreen, iconKey, documentation, star } = props;
21
+ if (add) {
22
+ return icon_add_svg_1.default;
23
+ }
24
+ else if (del) {
25
+ return icon_cross_svg_1.default;
26
+ }
27
+ else if (edit) {
28
+ return icon_edit_svg_1.default;
29
+ }
30
+ else if (config) {
31
+ return icon_gear_svg_1.default;
32
+ }
33
+ else if (duplicate) {
34
+ return icon_duplicate_svg_1.default;
35
+ }
36
+ else if (search) {
37
+ return icon_lupe_svg_1.default;
38
+ }
39
+ else if (download) {
40
+ return icon_download_svg_1.default;
41
+ }
42
+ else if (sync) {
43
+ return icon_reload_svg_1.default;
44
+ }
45
+ else if (fullscreen) {
46
+ return icon_fullscreen_svg_1.default;
47
+ }
48
+ else if (iconKey) {
49
+ return icon_key_svg_1.default;
50
+ }
51
+ else if (documentation) {
52
+ return icon_help_light_svg_1.default;
53
+ }
54
+ else if (star) {
55
+ return icon_star_svg_1.default;
56
+ }
57
+ else {
58
+ throw Error('getSrc: no icon type specified');
59
+ }
60
+ }
61
+ function getAlt(props) {
62
+ const { add, del, edit, config, duplicate, search, download, sync, fullscreen, iconKey, documentation, star } = props;
63
+ if (add) {
64
+ return 'icon add';
65
+ }
66
+ else if (del) {
67
+ return 'icon delete';
68
+ }
69
+ else if (edit) {
70
+ return 'icon edit';
71
+ }
72
+ else if (config) {
73
+ return 'icon config';
74
+ }
75
+ else if (duplicate) {
76
+ return 'icon duplicate';
77
+ }
78
+ else if (search) {
79
+ return 'icon search';
80
+ }
81
+ else if (download) {
82
+ return 'icon download';
83
+ }
84
+ else if (sync) {
85
+ return 'icon sync';
86
+ }
87
+ else if (fullscreen) {
88
+ return 'icon fullscreen';
89
+ }
90
+ else if (iconKey) {
91
+ return 'icon iconKey';
92
+ }
93
+ else if (documentation) {
94
+ return 'icon documentation';
95
+ }
96
+ else if (star) {
97
+ return 'icon star';
98
+ }
99
+ else {
100
+ throw Error('getAlt: no icon type specified');
101
+ }
102
+ }
103
+ function Icon(props) {
104
+ let style;
105
+ if (props.large) {
106
+ style = { width: 24, height: 24 };
107
+ }
108
+ else {
109
+ style = { width: 16, height: 16 };
110
+ }
111
+ if (props.inverted) {
112
+ style = { ...style, filter: 'invert(1)' };
113
+ }
114
+ return react_1.default.createElement("img", { src: getSrc(props), className: `di icon ${props.className || ''}`, alt: getAlt(props), style: style });
115
+ }
116
+ exports.default = Icon;
@@ -0,0 +1,29 @@
1
+ import * as React from 'react';
2
+ import { TranslationDescriptor } from '../../types/i18n';
3
+ export declare type Props = {
4
+ /** input type selector */
5
+ type?: 'checkbox' | 'radio' | 'toggle';
6
+ /** Flag to preselect the status of the checkbox */
7
+ value: boolean;
8
+ /** Function, executed when toggling the checkbox */
9
+ onChange: (nextStatus: boolean) => void;
10
+ /** Optional input element tooltip */
11
+ title?: TranslationDescriptor;
12
+ /** Optional label for checkbox and radio button*/
13
+ label?: TranslationDescriptor;
14
+ /** visually indicate that the checkbox is disabled and disable onChange handler */
15
+ disabled?: boolean;
16
+ /** Optional flag for toggle type: Render a small Toggle */
17
+ toggleSmall?: boolean;
18
+ /** Optional flag for toggle type: Sets the slider color when the Toggle is truthy */
19
+ toggleColor?: string;
20
+ /** @ignore */
21
+ 'data-testid'?: string;
22
+ /** @ignore */
23
+ 'wrapper-data-testid'?: string;
24
+ /** @ignore */
25
+ 'innerdiv-data-testid'?: string;
26
+ };
27
+ declare const _default: React.ComponentType<Props>;
28
+ export default _default;
29
+ //# sourceMappingURL=Checkbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../../src/components/input/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AAEvD,oBAAY,KAAK,GAAG;IACnB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;IAEvC,mDAAmD;IACnD,KAAK,EAAE,OAAO,CAAC;IAEf,oDAAoD;IACpD,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IAExC,qCAAqC;IACrC,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAE9B,kDAAkD;IAClD,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAE9B,mFAAmF;IACnF,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,qFAAqF;IACrF,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,cAAc;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,cAAc;IACd,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,cAAc;IACd,sBAAsB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;;AAqFF,wBAAyE"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const React = __importStar(require("react"));
27
+ const react_i18next_1 = require("react-i18next");
28
+ const getWrapperClassName = (type, small) => {
29
+ switch (type) {
30
+ case 'checkbox':
31
+ case 'radio':
32
+ return 'di checkbox';
33
+ case 'toggle':
34
+ return small ? 'di toggle toggle-small' : 'di toggle';
35
+ default:
36
+ throw Error(`type not support: ${type}`);
37
+ }
38
+ };
39
+ const getCheckboxClassName = (type, small) => {
40
+ switch (type) {
41
+ case 'checkbox':
42
+ return 'box';
43
+ case 'radio':
44
+ return 'radio';
45
+ case 'toggle':
46
+ return small ? 'switch switch-small' : 'switch';
47
+ default:
48
+ throw Error(`type not support: ${type}`);
49
+ }
50
+ };
51
+ /**
52
+ * Checkbox for enabling user interaction can have one of multiple types which are defined via the `type` prop.
53
+ */
54
+ const Checkbox = ({ type = 'checkbox', value, onChange, title, label, disabled = false, toggleSmall = false, toggleColor = '#259b23', t, ...other }) => {
55
+ const style = type === 'toggle'
56
+ ? {
57
+ backgroundColor: value ? toggleColor : 'gray'
58
+ }
59
+ : {};
60
+ const tooltip = title
61
+ ? t(title.id, {
62
+ defaultValue: title.defaultValue
63
+ })
64
+ : undefined;
65
+ const labelText = label
66
+ ? t(label.id, {
67
+ defaultValue: label.defaultValue
68
+ })
69
+ : null;
70
+ return (React.createElement("label", { title: tooltip, className: getWrapperClassName(type, toggleSmall), "data-testid": other['wrapper-data-testid'] },
71
+ React.createElement("input", { type: "checkbox", checked: value, disabled: disabled, onChange: () => onChange(!value), "data-testid": other['data-testid'] }),
72
+ React.createElement("div", { className: getCheckboxClassName(type, toggleSmall), style: style, "data-testid": other['innerdiv-data-testid'] }),
73
+ label && React.createElement("span", { className: "textlabel" }, labelText)));
74
+ };
75
+ exports.default = (0, react_i18next_1.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,90 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const React = __importStar(require("react"));
30
+ const react_i18next_1 = require("react-i18next");
31
+ require("../../assets/search-box.css");
32
+ const Icon_1 = __importDefault(require("../icon/Icon"));
33
+ const Button_1 = __importDefault(require("../button/Button"));
34
+ const ClearButton = ({ onChange, inputElement, style }) => (React.createElement(Button_1.default, { naked: true, onClick: () => {
35
+ onChange('');
36
+ if (inputElement) {
37
+ inputElement.focus();
38
+ }
39
+ }, style: style },
40
+ React.createElement(Icon_1.default, { del: true })));
41
+ /**
42
+ * SearchBox is used for searching content and provides a set of `props` for different user experiences
43
+ */
44
+ class SearchBox extends React.Component {
45
+ constructor() {
46
+ super(...arguments);
47
+ this.state = {
48
+ query: this.props.initialValue || ''
49
+ };
50
+ this.handleChange = (value) => {
51
+ const { onChange } = this.props;
52
+ this.setState({
53
+ query: value
54
+ });
55
+ onChange(value);
56
+ };
57
+ this.handleKeyUp = ({ key }) => {
58
+ const { onSubmit } = this.props;
59
+ const { query } = this.state;
60
+ if (key === 'Enter' && typeof onSubmit === 'function') {
61
+ onSubmit(query);
62
+ }
63
+ };
64
+ }
65
+ printPlaceholder() {
66
+ const { t, placeholder } = this.props;
67
+ if (typeof placeholder === 'object') {
68
+ return t(placeholder.id, {
69
+ defaultValue: placeholder.defaultValue
70
+ });
71
+ }
72
+ else {
73
+ return placeholder;
74
+ }
75
+ }
76
+ render() {
77
+ const { onSubmit, style, clearable } = this.props;
78
+ const { query } = this.state;
79
+ return (React.createElement("div", { className: "search-box", style: style },
80
+ React.createElement("input", { ref: (input) => (this.input = input), type: "text", value: query, placeholder: this.printPlaceholder(), onKeyUp: this.handleKeyUp, onChange: ({ target: { value } }) => this.handleChange(value) }),
81
+ typeof onSubmit === 'function' ? (React.createElement(React.Fragment, null,
82
+ query && clearable && (React.createElement(ClearButton, { onChange: this.handleChange, inputElement: this.input, style: {
83
+ right: 30
84
+ } })),
85
+ React.createElement(Button_1.default, { naked: true, onClick: () => onSubmit(query) },
86
+ React.createElement(Icon_1.default, { search: true })))) : query && clearable ? (React.createElement(ClearButton, { onChange: this.handleChange, inputElement: this.input })) : (React.createElement(Button_1.default, { naked: true, disabled: true },
87
+ React.createElement(Icon_1.default, { search: true })))));
88
+ }
89
+ }
90
+ exports.default = (0, react_i18next_1.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,24 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const react_i18next_1 = require("react-i18next");
8
+ const classnames_1 = __importDefault(require("classnames"));
9
+ const Icon_1 = __importDefault(require("../icon/Icon"));
10
+ /**
11
+ * Label enables an easy way for marking or tagging elements.
12
+ */
13
+ function Label({ text, small = false, large = false, onDelete, className, onClick, children, ...dataTestIds }) {
14
+ function handleDelete(event) {
15
+ event.stopPropagation();
16
+ onDelete && onDelete();
17
+ }
18
+ return (react_1.default.createElement("span", { onClick: onClick, className: (0, classnames_1.default)('di label', className, { large, small, removable: onDelete, clickable: !!onClick }), "data-testid": dataTestIds['data-testid'] },
19
+ typeof text === 'string' ? text : text && react_1.default.createElement(react_i18next_1.Trans, { i18nKey: text.id }, text.defaultValue),
20
+ react_1.default.createElement(react_1.default.Fragment, null, children),
21
+ onDelete && (react_1.default.createElement("span", { "data-testid": dataTestIds['delete-button-data-testid'], className: "remove", onClick: handleDelete },
22
+ react_1.default.createElement(Icon_1.default, { del: true, inverted: true })))));
23
+ }
24
+ exports.default = Label;
@@ -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,65 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const react_dom_1 = __importDefault(require("react-dom"));
8
+ const ModalWindow_1 = __importDefault(require("../modalComponents/ModalWindow"));
9
+ class Modal extends react_1.default.Component {
10
+ constructor(props) {
11
+ super(props);
12
+ this.keyEventHandler = (event) => {
13
+ if (event.key === 'Escape' && this.props.onOutsideClick) {
14
+ this.props.onOutsideClick(event);
15
+ }
16
+ };
17
+ this.state = {
18
+ className: 'di modal'
19
+ };
20
+ }
21
+ componentDidMount() {
22
+ this.container = document.createElement('div');
23
+ this.modalRoot = document.getElementById('modal-root');
24
+ if (this.modalRoot) {
25
+ this.modalRoot.appendChild(this.container);
26
+ }
27
+ else if (document.body) {
28
+ document.body.appendChild(this.container);
29
+ }
30
+ if (this.props.onOutsideClick) {
31
+ window.addEventListener('keydown', this.keyEventHandler);
32
+ }
33
+ // set the show class after 10ms for animation
34
+ this.timeoutId = setTimeout(() => this.setState({
35
+ className: `di modal show ${this.props.className || ''}`
36
+ }), 10);
37
+ }
38
+ componentWillUnmount() {
39
+ if (this.container) {
40
+ if (this.modalRoot) {
41
+ this.modalRoot.removeChild(this.container);
42
+ }
43
+ else if (document.body) {
44
+ document.body.removeChild(this.container);
45
+ }
46
+ }
47
+ if (this.props.onOutsideClick) {
48
+ window.removeEventListener('keydown', this.keyEventHandler);
49
+ }
50
+ if (this.timeoutId) {
51
+ clearTimeout(this.timeoutId);
52
+ }
53
+ }
54
+ render() {
55
+ if (!this.container) {
56
+ return null;
57
+ }
58
+ return react_dom_1.default.createPortal(react_1.default.createElement("div", { className: this.state.className, onMouseDown: this.props.onMouseDown },
59
+ react_1.default.createElement(ModalWindow_1.default, { ...this.props })), this.container);
60
+ }
61
+ }
62
+ exports.default = Modal;
63
+ Modal.defaultProps = {
64
+ width: '60%'
65
+ };
@@ -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,12 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ class ModalContainer extends react_1.default.PureComponent {
8
+ render() {
9
+ return react_1.default.createElement("div", { id: "modal-root" });
10
+ }
11
+ }
12
+ exports.default = ModalContainer;
@@ -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,50 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const react_1 = __importStar(require("react"));
30
+ const react_draggable_1 = __importDefault(require("react-draggable"));
31
+ const useOutsideClick_1 = __importDefault(require("../../hooks/useOutsideClick"));
32
+ function ModalWindow({ className, width, header, content, footer, onOutsideClick }) {
33
+ const ref = (0, react_1.useRef)(null);
34
+ const [rootElement, setRootElement] = (0, react_1.useState)(null);
35
+ (0, react_1.useEffect)(() => {
36
+ setRootElement(ref.current);
37
+ }, []);
38
+ (0, useOutsideClick_1.default)([rootElement], () => {
39
+ if (onOutsideClick)
40
+ onOutsideClick();
41
+ });
42
+ return (react_1.default.createElement(react_draggable_1.default, { handle: ".modal-header", nodeRef: ref },
43
+ react_1.default.createElement("div", { ref: ref, className: `modal-window ${className || ''}`, style: {
44
+ maxWidth: width
45
+ } },
46
+ header && react_1.default.createElement("div", { className: "modal-header" }, header),
47
+ content && react_1.default.createElement("div", { className: "modal-content" }, content),
48
+ footer && react_1.default.createElement("div", { className: "modal-footer" }, footer))));
49
+ }
50
+ exports.default = ModalWindow;