linear-react-components-ui 1.1.23 → 1.1.24-beta.0

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 (247) hide show
  1. package/lib/@types/ColorStyles.d.ts +2 -1
  2. package/lib/@types/Position.d.ts +2 -1
  3. package/lib/BaseMask-3d5d581d.d.ts +24 -0
  4. package/lib/BaseNumber-797088d7.d.ts +23 -0
  5. package/lib/Cnpj-1602be21.d.ts +18 -0
  6. package/lib/Cpf-4d6b9079.d.ts +18 -0
  7. package/lib/Currency-b33d3a22.d.ts +18 -0
  8. package/lib/Decimal-55e836d5.d.ts +13 -0
  9. package/lib/Number-9c6aceff.d.ts +20 -0
  10. package/lib/Phone-79e5e3b4.d.ts +18 -0
  11. package/lib/ZipCode-8c2e9d8b.d.ts +13 -0
  12. package/lib/assets/styles/checkbox2.scss +199 -0
  13. package/lib/assets/styles/colorpicker.scss +1 -6
  14. package/lib/assets/styles/colors.scss +48 -12
  15. package/lib/assets/styles/datepicker2.scss +338 -0
  16. package/lib/assets/styles/selectfield.scss +409 -0
  17. package/lib/assets/styles/slot.scss +34 -0
  18. package/lib/assets/styles/textfield.scss +148 -0
  19. package/lib/buttons/ActivateButton.d.ts +1 -0
  20. package/lib/buttons/AddButton.d.ts +1 -0
  21. package/lib/buttons/Button.d.ts +1 -0
  22. package/lib/buttons/CancelButton.d.ts +1 -0
  23. package/lib/buttons/DangerButton.d.ts +1 -0
  24. package/lib/buttons/DefaultButton.d.ts +1 -0
  25. package/lib/buttons/DefaultButton.js +16 -11
  26. package/lib/buttons/DestroyButton.d.ts +1 -0
  27. package/lib/buttons/EditButton.d.ts +1 -0
  28. package/lib/buttons/InactivateButton.d.ts +1 -0
  29. package/lib/buttons/InfoButton.d.ts +1 -0
  30. package/lib/buttons/PrimaryButton.d.ts +1 -0
  31. package/lib/buttons/RestoreButton.d.ts +1 -0
  32. package/lib/buttons/SaveButton.d.ts +1 -0
  33. package/lib/buttons/SuccessButton.d.ts +1 -0
  34. package/lib/buttons/WarningButton.d.ts +1 -0
  35. package/lib/buttons/index.d.ts +1 -0
  36. package/lib/buttons/split_button/index.d.ts +1 -0
  37. package/lib/buttons/types.d.ts +2 -5
  38. package/lib/form/Field.d.ts +1 -1
  39. package/lib/form/FieldArray.d.ts +1 -1
  40. package/lib/form/FieldNumber.d.ts +1 -1
  41. package/lib/form/FieldPeriod.d.ts +1 -1
  42. package/lib/form/helpers.d.ts +1 -1
  43. package/lib/form/index.d.ts +1 -1
  44. package/lib/form/types.d.ts +1 -1
  45. package/lib/form/withFieldHOC.d.ts +1 -1
  46. package/lib/form/withFormSecurity.d.ts +1 -1
  47. package/lib/form2/helpers.d.ts +8 -0
  48. package/lib/form2/helpers.js +41 -0
  49. package/lib/form2/index.d.ts +9 -0
  50. package/lib/form2/index.js +36 -0
  51. package/lib/form2/types.d.ts +125 -0
  52. package/lib/form2/types.js +5 -0
  53. package/lib/form2/useForm/index.d.ts +5 -0
  54. package/lib/form2/useForm/index.js +203 -0
  55. package/lib/icons/helper.d.ts +4 -0
  56. package/lib/icons/helper.js +4 -0
  57. package/lib/icons/index.d.ts +4 -6
  58. package/lib/icons/index.js +14 -9
  59. package/lib/icons/types.d.ts +3 -6
  60. package/lib/index-18a64236.d.ts +23 -0
  61. package/lib/index-368f781f.d.ts +15 -0
  62. package/lib/index-43ad8140.d.ts +41 -0
  63. package/lib/index-772f9f1a.d.ts +44 -0
  64. package/lib/index-8a59cf4b.d.ts +23 -0
  65. package/lib/index-c9247c1f.d.ts +15 -0
  66. package/lib/index.d.ts +1 -0
  67. package/lib/inputs/base/InputTextBase.d.ts +1 -1
  68. package/lib/inputs/base/InputTextBase.js +18 -8
  69. package/lib/inputs/base/helpers.d.ts +1 -1
  70. package/lib/inputs/base/types.d.ts +5 -16
  71. package/lib/inputs/color/index.js +1 -1
  72. package/lib/inputs/color/types.d.ts +1 -1
  73. package/lib/inputs/date/Dialog.d.ts +1 -1
  74. package/lib/inputs/date/Dropdown.d.ts +1 -1
  75. package/lib/inputs/date/index.d.ts +1 -1
  76. package/lib/inputs/date/types.d.ts +2 -2
  77. package/lib/inputs/errorMessage/index.d.ts +1 -1
  78. package/lib/inputs/file/DefaultFile.d.ts +1 -1
  79. package/lib/inputs/file/DefaultFile.js +1 -1
  80. package/lib/inputs/file/DragDropFile.d.ts +1 -1
  81. package/lib/inputs/file/File.d.ts +1 -1
  82. package/lib/inputs/file/FileButtonSettings.d.ts +1 -1
  83. package/lib/inputs/file/helpers.d.ts +1 -1
  84. package/lib/inputs/file/index.d.ts +1 -1
  85. package/lib/inputs/file/types.d.ts +1 -1
  86. package/lib/inputs/inputHOC.d.ts +1 -1
  87. package/lib/inputs/mask/BaseMask.d.ts +1 -1
  88. package/lib/inputs/mask/Cnpj.d.ts +1 -1
  89. package/lib/inputs/mask/Cpf.d.ts +1 -1
  90. package/lib/inputs/mask/Phone.d.ts +1 -1
  91. package/lib/inputs/mask/ZipCode.d.ts +1 -1
  92. package/lib/inputs/mask/helpers.d.ts +1 -1
  93. package/lib/inputs/mask/index.d.ts +1 -1
  94. package/lib/inputs/mask/types.d.ts +2 -2
  95. package/lib/inputs/multiSelect/ActionButtons.d.ts +1 -1
  96. package/lib/inputs/multiSelect/Dropdown.d.ts +1 -1
  97. package/lib/inputs/multiSelect/helper.d.ts +1 -1
  98. package/lib/inputs/multiSelect/index.d.ts +1 -1
  99. package/lib/inputs/multiSelect/types.d.ts +2 -2
  100. package/lib/inputs/number/BaseNumber.d.ts +1 -1
  101. package/lib/inputs/number/Currency.d.ts +1 -1
  102. package/lib/inputs/number/Decimal.d.ts +1 -1
  103. package/lib/inputs/number/index.d.ts +1 -1
  104. package/lib/inputs/number/types.d.ts +3 -3
  105. package/lib/inputs/period/Dialog.d.ts +1 -1
  106. package/lib/inputs/period/Dropdown.d.ts +1 -1
  107. package/lib/inputs/period/PeriodList.d.ts +1 -1
  108. package/lib/inputs/period/helper.d.ts +1 -1
  109. package/lib/inputs/period/index.d.ts +1 -1
  110. package/lib/inputs/period/index.js +8 -10
  111. package/lib/inputs/period/types.d.ts +2 -5
  112. package/lib/inputs/search/index.d.ts +1 -1
  113. package/lib/inputs/select/ActionButtons.d.ts +1 -1
  114. package/lib/inputs/select/Dropdown.d.ts +1 -1
  115. package/lib/inputs/select/helper.d.ts +1 -1
  116. package/lib/inputs/select/index.d.ts +1 -1
  117. package/lib/inputs/select/multiple/Selecteds.d.ts +1 -1
  118. package/lib/inputs/select/multiple/index.d.ts +1 -1
  119. package/lib/inputs/select/simple/index.d.ts +1 -1
  120. package/lib/inputs/select/types.d.ts +1 -1
  121. package/lib/inputs/text/index.d.ts +1 -1
  122. package/lib/inputs/text/types.d.ts +2 -3
  123. package/lib/inputs/textarea/index.d.ts +1 -1
  124. package/lib/inputs/textarea/types.d.ts +1 -1
  125. package/lib/inputs/types.d.ts +1 -1
  126. package/lib/inputs2/checkboxfield/index.d.ts +7 -0
  127. package/lib/inputs2/checkboxfield/index.js +146 -0
  128. package/lib/inputs2/colorfield/index.d.ts +9 -0
  129. package/lib/inputs2/colorfield/index.js +119 -0
  130. package/lib/inputs2/date/base/constants.d.ts +7 -0
  131. package/lib/inputs2/date/base/constants.js +43 -0
  132. package/lib/inputs2/date/base/index.d.ts +12 -0
  133. package/lib/inputs2/date/base/index.js +179 -0
  134. package/lib/inputs2/date/datefield/calendarbox.d.ts +7 -0
  135. package/lib/inputs2/date/datefield/calendarbox.js +115 -0
  136. package/lib/inputs2/date/datefield/context.d.ts +13 -0
  137. package/lib/inputs2/date/datefield/context.js +15 -0
  138. package/lib/inputs2/date/datefield/index.d.ts +9 -0
  139. package/lib/inputs2/date/datefield/index.js +334 -0
  140. package/lib/inputs2/date/datefield/triggers.d.ts +8 -0
  141. package/lib/inputs2/date/datefield/triggers.js +47 -0
  142. package/lib/inputs2/date/datefield/types.d.ts +61 -0
  143. package/lib/inputs2/date/datefield/types.js +5 -0
  144. package/lib/inputs2/date/dateperiodfield/calendarbox.d.ts +7 -0
  145. package/lib/inputs2/date/dateperiodfield/calendarbox.js +136 -0
  146. package/lib/inputs2/date/dateperiodfield/context.d.ts +13 -0
  147. package/lib/inputs2/date/dateperiodfield/context.js +17 -0
  148. package/lib/inputs2/date/dateperiodfield/index.d.ts +9 -0
  149. package/lib/inputs2/date/dateperiodfield/index.js +592 -0
  150. package/lib/inputs2/date/dateperiodfield/triggers.d.ts +6 -0
  151. package/lib/inputs2/date/dateperiodfield/triggers.js +120 -0
  152. package/lib/inputs2/date/dateperiodfield/types.d.ts +99 -0
  153. package/lib/inputs2/date/dateperiodfield/types.js +19 -0
  154. package/lib/inputs2/date/helpers.d.ts +20 -0
  155. package/lib/inputs2/date/helpers.js +62 -0
  156. package/lib/inputs2/date/types.d.ts +59 -0
  157. package/lib/inputs2/date/types.js +19 -0
  158. package/lib/inputs2/index.d.ts +29 -0
  159. package/lib/inputs2/index.js +38 -0
  160. package/lib/inputs2/mask/BaseMask.d.ts +10 -0
  161. package/lib/inputs2/mask/BaseMask.js +95 -0
  162. package/lib/inputs2/mask/Cnpj.d.ts +11 -0
  163. package/lib/inputs2/mask/Cnpj.js +57 -0
  164. package/lib/inputs2/mask/Cpf.d.ts +11 -0
  165. package/lib/inputs2/mask/Cpf.js +53 -0
  166. package/lib/inputs2/mask/Phone.d.ts +11 -0
  167. package/lib/inputs2/mask/Phone.js +26 -0
  168. package/lib/inputs2/mask/ZipCode.d.ts +11 -0
  169. package/lib/inputs2/mask/ZipCode.js +23 -0
  170. package/lib/inputs2/mask/helpers.d.ts +4 -0
  171. package/lib/inputs2/mask/helpers.js +57 -0
  172. package/lib/inputs2/number/BaseNumber.d.ts +10 -0
  173. package/lib/inputs2/number/BaseNumber.js +86 -0
  174. package/lib/inputs2/number/Currency.d.ts +11 -0
  175. package/lib/inputs2/number/Currency.js +47 -0
  176. package/lib/inputs2/number/Decimal.d.ts +11 -0
  177. package/lib/inputs2/number/Decimal.js +36 -0
  178. package/lib/inputs2/number/Number.d.ts +9 -0
  179. package/lib/inputs2/number/Number.js +49 -0
  180. package/lib/inputs2/number/format_number.d.ts +5 -0
  181. package/lib/inputs2/number/format_number.js +29 -0
  182. package/lib/inputs2/selectfield/context.d.ts +38 -0
  183. package/lib/inputs2/selectfield/context.js +15 -0
  184. package/lib/inputs2/selectfield/helpers.d.ts +6 -0
  185. package/lib/inputs2/selectfield/helpers.js +25 -0
  186. package/lib/inputs2/selectfield/index.d.ts +10 -0
  187. package/lib/inputs2/selectfield/index.js +491 -0
  188. package/lib/inputs2/selectfield/item.d.ts +11 -0
  189. package/lib/inputs2/selectfield/item.js +85 -0
  190. package/lib/inputs2/selectfield/listbox.d.ts +7 -0
  191. package/lib/inputs2/selectfield/listbox.js +103 -0
  192. package/lib/inputs2/selectfield/search.d.ts +7 -0
  193. package/lib/inputs2/selectfield/search.js +71 -0
  194. package/lib/inputs2/selectfield/selections.d.ts +10 -0
  195. package/lib/inputs2/selectfield/selections.js +86 -0
  196. package/lib/inputs2/selectfield/triggers.d.ts +8 -0
  197. package/lib/inputs2/selectfield/triggers.js +100 -0
  198. package/lib/inputs2/selectfield/types.d.ts +55 -0
  199. package/lib/inputs2/selectfield/types.js +21 -0
  200. package/lib/inputs2/slot/index.d.ts +14 -0
  201. package/lib/inputs2/slot/index.js +47 -0
  202. package/lib/inputs2/textfield/index.d.ts +8 -0
  203. package/lib/inputs2/textfield/index.js +159 -0
  204. package/lib/internals/types.d.ts +1 -17
  205. package/lib/labels/DangerLabel.d.ts +1 -0
  206. package/lib/labels/DefaultLabel.d.ts +3 -5
  207. package/lib/labels/DefaultLabel.js +15 -7
  208. package/lib/labels/InfoLabel.d.ts +1 -0
  209. package/lib/labels/PrimaryLabel.d.ts +1 -0
  210. package/lib/labels/SuccessLabel.d.ts +1 -0
  211. package/lib/labels/WarningLabel.d.ts +1 -0
  212. package/lib/labels/index.d.ts +3 -2
  213. package/lib/labels/types.d.ts +2 -5
  214. package/lib/list/Header.d.ts +1 -0
  215. package/lib/list/Item.d.ts +3 -5
  216. package/lib/list/Item.js +17 -12
  217. package/lib/list/helpers.d.ts +1 -0
  218. package/lib/list/index.d.ts +1 -0
  219. package/lib/list/types.d.ts +4 -6
  220. package/lib/menus/sidenav/ExpandMenu.d.ts +2 -2
  221. package/lib/menus/sidenav/MenuLink.d.ts +4 -7
  222. package/lib/menus/sidenav/MenuLink.js +20 -11
  223. package/lib/menus/sidenav/NavMenuGroup.d.ts +2 -2
  224. package/lib/menus/sidenav/NavMenuItem.d.ts +4 -7
  225. package/lib/menus/sidenav/NavMenuItem.js +16 -12
  226. package/lib/menus/sidenav/NavSubMenuItem.d.ts +2 -2
  227. package/lib/menus/sidenav/helpers.d.ts +2 -2
  228. package/lib/menus/sidenav/index.d.ts +2 -2
  229. package/lib/menus/sidenav/popup_menu_search/EmptyList.d.ts +2 -2
  230. package/lib/menus/sidenav/popup_menu_search/index.d.ts +2 -2
  231. package/lib/menus/sidenav/types.d.ts +6 -6
  232. package/lib/popover/PopoverText.js +11 -2
  233. package/lib/popover/types.d.ts +1 -0
  234. package/lib/textContent/index.d.ts +6 -11
  235. package/lib/textContent/index.js +20 -11
  236. package/lib/tooltip/TooltipContent.d.ts +7 -0
  237. package/lib/tooltip/TooltipContent.js +65 -0
  238. package/lib/tooltip/index.d.ts +4 -3
  239. package/lib/tooltip/index.js +36 -53
  240. package/lib/tooltip/types.d.ts +25 -3
  241. package/lib/tooltip/useTooltip.d.ts +30 -0
  242. package/lib/tooltip/useTooltip.js +128 -0
  243. package/package.json +3 -2
  244. package/lib/inputs/base/Label.d.ts +0 -14
  245. package/lib/inputs/base/Label.js +0 -35
  246. package/lib/internals/withTooltip.d.ts +0 -12
  247. package/lib/internals/withTooltip.js +0 -172
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useTooltip = useTooltip;
7
+ var _react = require("react");
8
+ const TOOLTIP_INITIAL_HEIGHT = 40;
9
+ function useTooltip(_ref) {
10
+ let {
11
+ targetRef,
12
+ text,
13
+ width: widthProp = 'auto',
14
+ space = 0,
15
+ position: positionProp = 'bottom',
16
+ errorMessage,
17
+ onDeniedText
18
+ } = _ref;
19
+ const [stateTooltipPosition, setStateTooltipPosition] = (0, _react.useState)(positionProp);
20
+ const [tooltipStyle, setTooltipStyle] = (0, _react.useState)('');
21
+ const [showTooltip, setShowTooltip] = (0, _react.useState)(false);
22
+ const [tooltipDimensions, setTooltipDimensions] = (0, _react.useState)({
23
+ width: widthProp,
24
+ height: TOOLTIP_INITIAL_HEIGHT
25
+ });
26
+ const targetElement = targetRef;
27
+ const tooltipElement = (0, _react.useRef)(null);
28
+ const onMouseOver = e => {
29
+ if (targetElement.current && targetElement.current.contains(e.target)) {
30
+ setShowTooltip(true);
31
+ } else setShowTooltip(false);
32
+ };
33
+ const onMouseOut = () => {
34
+ setShowTooltip(false);
35
+ };
36
+ const onAnyScroll = () => {
37
+ setShowTooltip(false);
38
+ };
39
+ (0, _react.useEffect)(() => {
40
+ if (text || onDeniedText) {
41
+ if (errorMessage) {
42
+ setShowTooltip(true);
43
+ } else {
44
+ setShowTooltip(false);
45
+ document.addEventListener('mouseover', onMouseOver);
46
+ document.addEventListener('scroll', onAnyScroll, true);
47
+ if (targetElement && targetElement.current) {
48
+ targetElement.current.addEventListener('mouseout', onMouseOut);
49
+ }
50
+ }
51
+ }
52
+ return () => {
53
+ if (text || onDeniedText) {
54
+ document.removeEventListener('mouseover', onMouseOver);
55
+ document.removeEventListener('scroll', onAnyScroll, true);
56
+ if (targetElement && targetElement.current) {
57
+ targetElement.current.removeEventListener('mouseout', onMouseOut);
58
+ }
59
+ }
60
+ };
61
+ }, [errorMessage, text, onDeniedText]);
62
+ (0, _react.useEffect)(() => {
63
+ if (targetElement.current && tooltipElement.current) {
64
+ const {
65
+ width,
66
+ height
67
+ } = tooltipDimensions;
68
+ const targetDimensions = targetElement.current.getBoundingClientRect();
69
+ const targetVerticalCenter = (targetDimensions.top + targetDimensions.bottom) / 2;
70
+ const tooltipClientWidth = tooltipElement.current.clientWidth;
71
+ let style = `width: ${typeof width === 'string' ? width : `${width}px`}`;
72
+ let left = targetDimensions.left + targetDimensions.width / 2 - tooltipClientWidth / 2;
73
+ left = Math.min(left, document.body.clientWidth - tooltipClientWidth - space);
74
+ style += `; left: ${Math.max(space, left)}px`;
75
+ switch (stateTooltipPosition) {
76
+ case 'top':
77
+ if (targetDimensions.top < height) {
78
+ setStateTooltipPosition('bottom');
79
+ } else {
80
+ style += `; top: ${targetDimensions.top + window.scrollY - height - space - 5}px`;
81
+ }
82
+ break;
83
+ case 'bottom':
84
+ if (window.innerHeight - targetDimensions.bottom < height) {
85
+ setStateTooltipPosition('top');
86
+ } else {
87
+ style += `; top: ${targetDimensions.top + window.scrollY + targetDimensions.height + space + 5}px`;
88
+ }
89
+ break;
90
+ case 'left':
91
+ if (targetDimensions.left < tooltipClientWidth) {
92
+ if (window.innerWidth - targetDimensions.right < tooltipClientWidth) {
93
+ setStateTooltipPosition('bottom');
94
+ } else {
95
+ setStateTooltipPosition('right');
96
+ }
97
+ } else {
98
+ style += `; top: ${targetVerticalCenter + window.scrollY - height / 2}px`;
99
+ style += `; left: ${targetDimensions.left - tooltipClientWidth - 6 - space}px`;
100
+ }
101
+ break;
102
+ case 'right':
103
+ if (window.innerWidth - targetDimensions.right < tooltipClientWidth) {
104
+ setStateTooltipPosition('left');
105
+ } else {
106
+ style += `; top: ${targetVerticalCenter + window.scrollY - height / 2}px`;
107
+ style += `; left: ${targetDimensions.left + targetDimensions.width + 5 + space}px`;
108
+ }
109
+ break;
110
+ default:
111
+ style += '';
112
+ }
113
+ setTooltipStyle(style);
114
+ }
115
+ }, [tooltipDimensions, stateTooltipPosition]);
116
+ (0, _react.useEffect)(() => {
117
+ setStateTooltipPosition(positionProp);
118
+ }, [window.scrollY, window.scrollX, window.innerWidth]);
119
+ return {
120
+ text: onDeniedText || text,
121
+ tooltipRef: tooltipElement,
122
+ style: tooltipStyle,
123
+ className: stateTooltipPosition,
124
+ handlerSetDimensions: setTooltipDimensions,
125
+ tooltipDimensions: tooltipDimensions,
126
+ showTooltip
127
+ };
128
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linear-react-components-ui",
3
- "version": "1.1.23",
3
+ "version": "1.1.24-beta.0",
4
4
  "description": "Linear Sistemas ReactJs Components",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib/index.cjs",
@@ -54,7 +54,7 @@
54
54
  "moment": "2.30.1",
55
55
  "prop-types": "15.8.1",
56
56
  "react-dev-utils": "12.0.0",
57
- "react-imask": "^7.6.1",
57
+ "react-imask": "7.6.1",
58
58
  "react-router-dom": "6.21.3",
59
59
  "react-syntax-highlighter": "15.5.0",
60
60
  "semver": "7.5.4",
@@ -68,6 +68,7 @@
68
68
  "@babel/preset-env": "7.20.2",
69
69
  "@babel/preset-react": "7.18.6",
70
70
  "@babel/preset-typescript": "7.23.3",
71
+ "@faker-js/faker": "9.8.0",
71
72
  "@svgr/webpack": "8.1.0",
72
73
  "@swc/core": "1.4.13",
73
74
  "@testing-library/dom": "10.4.0",
@@ -1,14 +0,0 @@
1
- import { InputLabelProps } from './types.js';
2
- import 'react';
3
- import '../../@types/Align.js';
4
- import '../../@types/Period.js';
5
- import '../../@types/PermissionAttr.js';
6
- import '../../internals/types.js';
7
- import '../../@types/Position.js';
8
-
9
- declare const _default: {
10
- (props: InputLabelProps): JSX.Element;
11
- displayName: string;
12
- };
13
-
14
- export { _default as default };
@@ -1,35 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _withTooltip = _interopRequireDefault(require("../../internals/withTooltip"));
9
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
- const Label = props => {
11
- const {
12
- label,
13
- styleForLabel,
14
- customClassForLabel,
15
- labelUppercase,
16
- required,
17
- targetRef,
18
- labelRef,
19
- onHoverLabel
20
- } = props;
21
- return /*#__PURE__*/_react.default.createElement("span", {
22
- style: styleForLabel,
23
- ref: ref => {
24
- if (ref) {
25
- if (labelRef) labelRef.current = ref;
26
- if (targetRef) targetRef(ref);
27
- }
28
- },
29
- onMouseEnter: onHoverLabel,
30
- className: `label ${customClassForLabel} ${labelUppercase && ' -uppercase'}`
31
- }, label, required && /*#__PURE__*/_react.default.createElement("span", {
32
- className: "-requiredlabel"
33
- }, "*"));
34
- };
35
- var _default = exports.default = (0, _withTooltip.default)(Label);
@@ -1,12 +0,0 @@
1
- import React__default from 'react';
2
- import { ITooltipContext, WithTooltipProps } from './types.js';
3
- import '../@types/PermissionAttr.js';
4
- import '../@types/Position.js';
5
-
6
- declare const TooltipContext: React__default.Context<ITooltipContext>;
7
- declare const withTooltip: <ComponentProps extends WithTooltipProps>(WrappedComponent: React__default.ComponentType<ComponentProps>) => {
8
- (props: ComponentProps): JSX.Element;
9
- displayName: string;
10
- };
11
-
12
- export { TooltipContext, withTooltip as default };
@@ -1,172 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = exports.TooltipContext = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var _tooltip = _interopRequireDefault(require("../tooltip"));
9
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
11
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
13
- const TOOLTIP_INITIAL_HEIGHT = 40;
14
- const hasTooltip = _ref => {
15
- let {
16
- tooltip
17
- } = _ref;
18
- return tooltip;
19
- };
20
- const TooltipContext = exports.TooltipContext = /*#__PURE__*/_react.default.createContext({});
21
- const getDisplayName = _ref2 => {
22
- let {
23
- displayName,
24
- name
25
- } = _ref2;
26
- return displayName || name || 'Component';
27
- };
28
- const withTooltip = WrappedComponent => {
29
- const EnhancedComponent = props => {
30
- const {
31
- tooltip,
32
- tooltipWidth = 'auto',
33
- space = 20,
34
- tooltipPosition = 'bottom',
35
- errorMessage
36
- } = props;
37
- const [stateTooltipPosition, setStateTooltipPosition] = (0, _react.useState)(tooltipPosition);
38
- const [onDeniedText, setOnDeniedText] = (0, _react.useState)('');
39
- const [tooltipStyle, setTooltipStyle] = (0, _react.useState)('');
40
- const [showTooltip, setShowTooltip] = (0, _react.useState)(false);
41
- const [tooltipDimensions, setTooltipDimensions] = (0, _react.useState)({
42
- width: tooltipWidth,
43
- height: TOOLTIP_INITIAL_HEIGHT
44
- });
45
- const targetElement = (0, _react.useRef)(null);
46
- const tooltipElement = (0, _react.useRef)(null);
47
- const onMouseOver = e => {
48
- if (targetElement.current && targetElement.current.contains(e.target)) {
49
- setShowTooltip(true);
50
- } else setShowTooltip(false);
51
- };
52
- const onMouseOut = () => {
53
- setShowTooltip(false);
54
- };
55
- const onAnyScroll = () => {
56
- setShowTooltip(false);
57
- };
58
- (0, _react.useEffect)(() => {
59
- if (hasTooltip(props) || onDeniedText) {
60
- if (errorMessage) {
61
- setShowTooltip(true);
62
- } else {
63
- setShowTooltip(false);
64
- document.addEventListener('mouseover', onMouseOver);
65
- document.addEventListener('scroll', onAnyScroll, true);
66
- if (targetElement && targetElement.current) {
67
- targetElement.current.addEventListener('mouseout', onMouseOut);
68
- }
69
- }
70
- }
71
- return () => {
72
- if (hasTooltip(props) || onDeniedText) {
73
- document.removeEventListener('mouseover', onMouseOver);
74
- document.removeEventListener('scroll', onAnyScroll, true);
75
- if (targetElement && targetElement.current) {
76
- targetElement.current.removeEventListener('mouseout', onMouseOut);
77
- }
78
- }
79
- };
80
- }, [errorMessage, tooltip, onDeniedText]);
81
- (0, _react.useEffect)(() => {
82
- if (targetElement.current && tooltipElement.current) {
83
- const {
84
- width,
85
- height
86
- } = tooltipDimensions;
87
- const targetDimensions = targetElement.current.getBoundingClientRect();
88
- const targetVerticalCenter = (targetDimensions.top + targetDimensions.bottom) / 2;
89
- const tooltipClientWidth = tooltipElement.current.clientWidth;
90
- let style = `width: ${typeof width === 'string' ? width : `${width}px`}`;
91
- let left = targetDimensions.left + targetDimensions.width / 2 - tooltipClientWidth / 2;
92
- left = Math.min(left, document.body.clientWidth - tooltipClientWidth - space);
93
- style += `; left: ${Math.max(space, left)}px`;
94
- switch (stateTooltipPosition) {
95
- case 'top':
96
- if (targetDimensions.top < height) {
97
- setStateTooltipPosition('bottom');
98
- } else {
99
- style += `; top: ${targetDimensions.top + window.scrollY - height - 5}px`;
100
- }
101
- break;
102
- case 'bottom':
103
- if (window.innerHeight - targetDimensions.bottom < height) {
104
- setStateTooltipPosition('top');
105
- } else {
106
- style += `; top: ${targetDimensions.top + window.scrollY + targetDimensions.height + 5}px`;
107
- }
108
- break;
109
- case 'left':
110
- if (targetDimensions.left < tooltipClientWidth) {
111
- if (window.innerWidth - targetDimensions.right < tooltipClientWidth) {
112
- setStateTooltipPosition('bottom');
113
- } else {
114
- setStateTooltipPosition('right');
115
- }
116
- } else {
117
- style += `; top: ${targetVerticalCenter + window.scrollY - height / 2}px`;
118
- style += `; left: ${targetDimensions.left - tooltipClientWidth - 6}px`;
119
- }
120
- break;
121
- case 'right':
122
- if (window.innerWidth - targetDimensions.right < tooltipClientWidth) {
123
- setStateTooltipPosition('left');
124
- } else {
125
- style += `; top: ${targetVerticalCenter + window.scrollY - height / 2}px`;
126
- style += `; left: ${targetDimensions.left + targetDimensions.width + 5}px`;
127
- }
128
- break;
129
- default:
130
- style += '';
131
- }
132
- setTooltipStyle(style);
133
- }
134
- }, [tooltipDimensions, stateTooltipPosition]);
135
- (0, _react.useEffect)(() => {
136
- setStateTooltipPosition(tooltipPosition);
137
- }, [window.scrollY, window.scrollX, window.innerWidth]);
138
- const getTooltip = () => {
139
- if (tooltip || onDeniedText) {
140
- return /*#__PURE__*/_react.default.createElement(_tooltip.default, {
141
- text: onDeniedText || tooltip,
142
- textError: errorMessage,
143
- tooltipRef: tooltipElement,
144
- style: tooltipStyle,
145
- className: stateTooltipPosition,
146
- tooltipDimensions: tooltipDimensions,
147
- handlerSetDimensions: setTooltipDimensions
148
- });
149
- }
150
- return null;
151
- };
152
- const getTarget = targetEl => {
153
- if (!targetElement.current) targetElement.current = targetEl;
154
- };
155
- const contextValues = {
156
- handlerSetOnDeniedText: setOnDeniedText
157
- };
158
- if (!hasTooltip(props) && !onDeniedText) {
159
- return /*#__PURE__*/_react.default.createElement(TooltipContext.Provider, {
160
- value: contextValues
161
- }, /*#__PURE__*/_react.default.createElement(WrappedComponent, props));
162
- }
163
- return /*#__PURE__*/_react.default.createElement(TooltipContext.Provider, {
164
- value: contextValues
165
- }, /*#__PURE__*/_react.default.createElement(WrappedComponent, _extends({}, props, {
166
- targetRef: getTarget
167
- })), showTooltip && getTooltip());
168
- };
169
- EnhancedComponent.displayName = `withTooltip(${getDisplayName(WrappedComponent)})`;
170
- return EnhancedComponent;
171
- };
172
- var _default = exports.default = withTooltip;