linear-react-components-ui 1.1.24-beta.2 → 1.1.25-rc.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 (260) hide show
  1. package/lib/@types/ColorStyles.d.ts +1 -2
  2. package/lib/@types/Position.d.ts +1 -2
  3. package/lib/assets/styles/calendar.scss +137 -32
  4. package/lib/assets/styles/colorpicker.scss +6 -1
  5. package/lib/assets/styles/colors.scss +12 -48
  6. package/lib/assets/styles/file.scss +8 -0
  7. package/lib/buttons/ActivateButton.d.ts +0 -1
  8. package/lib/buttons/AddButton.d.ts +0 -1
  9. package/lib/buttons/Button.d.ts +0 -1
  10. package/lib/buttons/CancelButton.d.ts +0 -1
  11. package/lib/buttons/DangerButton.d.ts +0 -1
  12. package/lib/buttons/DefaultButton.d.ts +0 -1
  13. package/lib/buttons/DefaultButton.js +11 -16
  14. package/lib/buttons/DestroyButton.d.ts +0 -1
  15. package/lib/buttons/EditButton.d.ts +0 -1
  16. package/lib/buttons/InactivateButton.d.ts +0 -1
  17. package/lib/buttons/InfoButton.d.ts +0 -1
  18. package/lib/buttons/PrimaryButton.d.ts +0 -1
  19. package/lib/buttons/RestoreButton.d.ts +0 -1
  20. package/lib/buttons/SaveButton.d.ts +0 -1
  21. package/lib/buttons/SuccessButton.d.ts +0 -1
  22. package/lib/buttons/WarningButton.d.ts +0 -1
  23. package/lib/buttons/index.d.ts +0 -1
  24. package/lib/buttons/split_button/index.d.ts +0 -1
  25. package/lib/buttons/types.d.ts +5 -2
  26. package/lib/calendar/base/index.js +113 -40
  27. package/lib/dialog/base/index.js +1 -1
  28. package/lib/form/Field.d.ts +1 -1
  29. package/lib/form/FieldArray.d.ts +1 -1
  30. package/lib/form/FieldNumber.d.ts +1 -1
  31. package/lib/form/FieldPeriod.d.ts +1 -1
  32. package/lib/form/helpers.d.ts +1 -1
  33. package/lib/form/index.d.ts +1 -1
  34. package/lib/form/types.d.ts +1 -1
  35. package/lib/form/withFieldHOC.d.ts +1 -1
  36. package/lib/form/withFormSecurity.d.ts +1 -1
  37. package/lib/icons/index.d.ts +6 -4
  38. package/lib/icons/index.js +9 -14
  39. package/lib/icons/types.d.ts +6 -3
  40. package/lib/index.d.ts +0 -1
  41. package/lib/inputs/base/InputTextBase.d.ts +1 -1
  42. package/lib/inputs/base/InputTextBase.js +6 -14
  43. package/lib/inputs/base/Label.d.ts +14 -0
  44. package/lib/inputs/base/Label.js +35 -0
  45. package/lib/inputs/base/helpers.d.ts +1 -1
  46. package/lib/inputs/base/types.d.ts +16 -5
  47. package/lib/inputs/color/index.js +1 -1
  48. package/lib/inputs/date/Dialog.d.ts +1 -1
  49. package/lib/inputs/date/Dropdown.d.ts +1 -1
  50. package/lib/inputs/date/index.d.ts +1 -1
  51. package/lib/inputs/date/types.d.ts +1 -1
  52. package/lib/inputs/errorMessage/index.d.ts +1 -1
  53. package/lib/inputs/file/DefaultFile.d.ts +1 -1
  54. package/lib/inputs/file/DefaultFile.js +26 -26
  55. package/lib/inputs/file/DragDropFile.d.ts +1 -1
  56. package/lib/inputs/file/File.d.ts +1 -1
  57. package/lib/inputs/file/File.js +1 -0
  58. package/lib/inputs/file/FileButtonSettings.d.ts +1 -1
  59. package/lib/inputs/file/FileButtonSettings.js +0 -1
  60. package/lib/inputs/file/helpers.d.ts +1 -1
  61. package/lib/inputs/file/index.d.ts +1 -1
  62. package/lib/inputs/file/types.d.ts +1 -1
  63. package/lib/inputs/inputHOC.d.ts +1 -1
  64. package/lib/inputs/mask/BaseMask.d.ts +1 -1
  65. package/lib/inputs/mask/Cnpj.d.ts +1 -1
  66. package/lib/inputs/mask/Cpf.d.ts +1 -1
  67. package/lib/inputs/mask/Phone.d.ts +1 -1
  68. package/lib/inputs/mask/ZipCode.d.ts +1 -1
  69. package/lib/inputs/mask/helpers.d.ts +1 -1
  70. package/lib/inputs/mask/index.d.ts +1 -1
  71. package/lib/inputs/mask/types.d.ts +1 -1
  72. package/lib/inputs/multiSelect/ActionButtons.d.ts +1 -1
  73. package/lib/inputs/multiSelect/Dropdown.d.ts +1 -1
  74. package/lib/inputs/multiSelect/helper.d.ts +1 -1
  75. package/lib/inputs/multiSelect/index.d.ts +1 -1
  76. package/lib/inputs/multiSelect/types.d.ts +1 -1
  77. package/lib/inputs/number/BaseNumber.d.ts +1 -1
  78. package/lib/inputs/number/Currency.d.ts +1 -1
  79. package/lib/inputs/number/Decimal.d.ts +1 -1
  80. package/lib/inputs/number/index.d.ts +1 -1
  81. package/lib/inputs/number/types.d.ts +1 -1
  82. package/lib/inputs/period/Dialog.d.ts +1 -1
  83. package/lib/inputs/period/Dropdown.d.ts +1 -1
  84. package/lib/inputs/period/PeriodList.d.ts +1 -1
  85. package/lib/inputs/period/helper.d.ts +1 -1
  86. package/lib/inputs/period/index.d.ts +1 -1
  87. package/lib/inputs/period/index.js +10 -8
  88. package/lib/inputs/period/types.d.ts +5 -2
  89. package/lib/inputs/search/index.d.ts +1 -1
  90. package/lib/inputs/select/ActionButtons.d.ts +1 -1
  91. package/lib/inputs/select/Dropdown.d.ts +1 -1
  92. package/lib/inputs/select/helper.d.ts +1 -1
  93. package/lib/inputs/select/index.d.ts +1 -1
  94. package/lib/inputs/select/multiple/Selecteds.d.ts +1 -1
  95. package/lib/inputs/select/multiple/index.d.ts +1 -1
  96. package/lib/inputs/select/simple/index.d.ts +1 -1
  97. package/lib/inputs/select/types.d.ts +1 -1
  98. package/lib/inputs/text/index.d.ts +1 -1
  99. package/lib/inputs/text/types.d.ts +3 -2
  100. package/lib/inputs/textarea/index.d.ts +1 -1
  101. package/lib/inputs/textarea/types.d.ts +1 -1
  102. package/lib/inputs/types.d.ts +1 -1
  103. package/lib/internals/types.d.ts +17 -1
  104. package/lib/internals/withTooltip.d.ts +12 -0
  105. package/lib/internals/withTooltip.js +172 -0
  106. package/lib/labels/DangerLabel.d.ts +0 -1
  107. package/lib/labels/DefaultLabel.d.ts +5 -3
  108. package/lib/labels/DefaultLabel.js +7 -15
  109. package/lib/labels/InfoLabel.d.ts +0 -1
  110. package/lib/labels/PrimaryLabel.d.ts +0 -1
  111. package/lib/labels/SuccessLabel.d.ts +0 -1
  112. package/lib/labels/WarningLabel.d.ts +0 -1
  113. package/lib/labels/index.d.ts +2 -3
  114. package/lib/labels/types.d.ts +5 -2
  115. package/lib/list/Header.d.ts +0 -1
  116. package/lib/list/Item.d.ts +5 -3
  117. package/lib/list/Item.js +12 -17
  118. package/lib/list/helpers.d.ts +0 -1
  119. package/lib/list/index.d.ts +0 -1
  120. package/lib/list/types.d.ts +6 -4
  121. package/lib/menus/sidenav/ExpandMenu.d.ts +2 -2
  122. package/lib/menus/sidenav/MenuLink.d.ts +7 -4
  123. package/lib/menus/sidenav/MenuLink.js +11 -20
  124. package/lib/menus/sidenav/NavMenuGroup.d.ts +2 -2
  125. package/lib/menus/sidenav/NavMenuItem.d.ts +7 -4
  126. package/lib/menus/sidenav/NavMenuItem.js +12 -16
  127. package/lib/menus/sidenav/NavSubMenuItem.d.ts +2 -2
  128. package/lib/menus/sidenav/helpers.d.ts +2 -2
  129. package/lib/menus/sidenav/index.d.ts +2 -2
  130. package/lib/menus/sidenav/popup_menu_search/EmptyList.d.ts +2 -2
  131. package/lib/menus/sidenav/popup_menu_search/index.d.ts +2 -2
  132. package/lib/menus/sidenav/types.d.ts +6 -6
  133. package/lib/textContent/index.d.ts +11 -6
  134. package/lib/textContent/index.js +11 -20
  135. package/lib/tooltip/index.d.ts +3 -4
  136. package/lib/tooltip/index.js +53 -36
  137. package/lib/tooltip/types.d.ts +3 -25
  138. package/package.json +2 -3
  139. package/lib/BaseMask-4885b7c4.d.ts +0 -24
  140. package/lib/BaseNumber-ba047ec3.d.ts +0 -23
  141. package/lib/Cnpj-501f8fed.d.ts +0 -18
  142. package/lib/Cpf-0e03d85a.d.ts +0 -18
  143. package/lib/Currency-d8dae30c.d.ts +0 -18
  144. package/lib/Decimal-deda637f.d.ts +0 -13
  145. package/lib/Number-4783f0de.d.ts +0 -20
  146. package/lib/Phone-99e92c22.d.ts +0 -18
  147. package/lib/ZipCode-3d092264.d.ts +0 -13
  148. package/lib/assets/styles/checkbox2.scss +0 -199
  149. package/lib/assets/styles/datepicker2.scss +0 -338
  150. package/lib/assets/styles/radiofield.scss +0 -185
  151. package/lib/assets/styles/selectfield.scss +0 -409
  152. package/lib/assets/styles/slot.scss +0 -34
  153. package/lib/assets/styles/textfield.scss +0 -147
  154. package/lib/calendar/base/Day.d.ts +0 -8
  155. package/lib/calendar/base/Day.js +0 -36
  156. package/lib/calendar/base/Month.d.ts +0 -8
  157. package/lib/calendar/base/Month.js +0 -39
  158. package/lib/calendar/base/Week.d.ts +0 -8
  159. package/lib/calendar/base/Week.js +0 -35
  160. package/lib/form2/helpers.d.ts +0 -8
  161. package/lib/form2/helpers.js +0 -41
  162. package/lib/form2/index.d.ts +0 -9
  163. package/lib/form2/index.js +0 -36
  164. package/lib/form2/types.d.ts +0 -125
  165. package/lib/form2/types.js +0 -5
  166. package/lib/form2/useForm/index.d.ts +0 -5
  167. package/lib/form2/useForm/index.js +0 -203
  168. package/lib/index-368f781f.d.ts +0 -15
  169. package/lib/index-6f287e6c.d.ts +0 -23
  170. package/lib/index-a0c1207e.d.ts +0 -15
  171. package/lib/index-a68cfaf7.d.ts +0 -23
  172. package/lib/index-c9247c1f.d.ts +0 -15
  173. package/lib/index-f6f0d3a8.d.ts +0 -44
  174. package/lib/index-f9981b49.d.ts +0 -41
  175. package/lib/inputs2/checkboxfield/index.d.ts +0 -7
  176. package/lib/inputs2/checkboxfield/index.js +0 -142
  177. package/lib/inputs2/colorfield/index.d.ts +0 -9
  178. package/lib/inputs2/colorfield/index.js +0 -119
  179. package/lib/inputs2/date/base/constants.d.ts +0 -7
  180. package/lib/inputs2/date/base/constants.js +0 -43
  181. package/lib/inputs2/date/base/index.d.ts +0 -12
  182. package/lib/inputs2/date/base/index.js +0 -175
  183. package/lib/inputs2/date/datefield/calendarbox.d.ts +0 -7
  184. package/lib/inputs2/date/datefield/calendarbox.js +0 -115
  185. package/lib/inputs2/date/datefield/context.d.ts +0 -14
  186. package/lib/inputs2/date/datefield/context.js +0 -15
  187. package/lib/inputs2/date/datefield/index.d.ts +0 -10
  188. package/lib/inputs2/date/datefield/index.js +0 -336
  189. package/lib/inputs2/date/datefield/triggers.d.ts +0 -8
  190. package/lib/inputs2/date/datefield/triggers.js +0 -47
  191. package/lib/inputs2/date/datefield/types.d.ts +0 -63
  192. package/lib/inputs2/date/datefield/types.js +0 -5
  193. package/lib/inputs2/date/dateperiodfield/calendarbox.d.ts +0 -7
  194. package/lib/inputs2/date/dateperiodfield/calendarbox.js +0 -164
  195. package/lib/inputs2/date/dateperiodfield/context.d.ts +0 -14
  196. package/lib/inputs2/date/dateperiodfield/context.js +0 -17
  197. package/lib/inputs2/date/dateperiodfield/index.d.ts +0 -10
  198. package/lib/inputs2/date/dateperiodfield/index.js +0 -593
  199. package/lib/inputs2/date/dateperiodfield/triggers.d.ts +0 -6
  200. package/lib/inputs2/date/dateperiodfield/triggers.js +0 -120
  201. package/lib/inputs2/date/dateperiodfield/types.d.ts +0 -101
  202. package/lib/inputs2/date/dateperiodfield/types.js +0 -19
  203. package/lib/inputs2/date/helpers.d.ts +0 -21
  204. package/lib/inputs2/date/helpers.js +0 -62
  205. package/lib/inputs2/date/types.d.ts +0 -60
  206. package/lib/inputs2/date/types.js +0 -19
  207. package/lib/inputs2/index.d.ts +0 -32
  208. package/lib/inputs2/index.js +0 -40
  209. package/lib/inputs2/mask/BaseMask.d.ts +0 -10
  210. package/lib/inputs2/mask/BaseMask.js +0 -95
  211. package/lib/inputs2/mask/Cnpj.d.ts +0 -11
  212. package/lib/inputs2/mask/Cnpj.js +0 -57
  213. package/lib/inputs2/mask/Cpf.d.ts +0 -11
  214. package/lib/inputs2/mask/Cpf.js +0 -53
  215. package/lib/inputs2/mask/Phone.d.ts +0 -11
  216. package/lib/inputs2/mask/Phone.js +0 -26
  217. package/lib/inputs2/mask/ZipCode.d.ts +0 -11
  218. package/lib/inputs2/mask/ZipCode.js +0 -23
  219. package/lib/inputs2/mask/helpers.d.ts +0 -4
  220. package/lib/inputs2/mask/helpers.js +0 -57
  221. package/lib/inputs2/number/BaseNumber.d.ts +0 -10
  222. package/lib/inputs2/number/BaseNumber.js +0 -86
  223. package/lib/inputs2/number/Currency.d.ts +0 -11
  224. package/lib/inputs2/number/Currency.js +0 -47
  225. package/lib/inputs2/number/Decimal.d.ts +0 -11
  226. package/lib/inputs2/number/Decimal.js +0 -36
  227. package/lib/inputs2/number/Number.d.ts +0 -9
  228. package/lib/inputs2/number/Number.js +0 -49
  229. package/lib/inputs2/number/format_number.d.ts +0 -5
  230. package/lib/inputs2/number/format_number.js +0 -29
  231. package/lib/inputs2/radiofield/index.d.ts +0 -9
  232. package/lib/inputs2/radiofield/index.js +0 -143
  233. package/lib/inputs2/radiofield/types.d.ts +0 -33
  234. package/lib/inputs2/radiofield/types.js +0 -5
  235. package/lib/inputs2/selectfield/context.d.ts +0 -38
  236. package/lib/inputs2/selectfield/context.js +0 -15
  237. package/lib/inputs2/selectfield/helpers.d.ts +0 -6
  238. package/lib/inputs2/selectfield/helpers.js +0 -25
  239. package/lib/inputs2/selectfield/index.d.ts +0 -10
  240. package/lib/inputs2/selectfield/index.js +0 -489
  241. package/lib/inputs2/selectfield/item.d.ts +0 -11
  242. package/lib/inputs2/selectfield/item.js +0 -85
  243. package/lib/inputs2/selectfield/listbox.d.ts +0 -7
  244. package/lib/inputs2/selectfield/listbox.js +0 -103
  245. package/lib/inputs2/selectfield/search.d.ts +0 -7
  246. package/lib/inputs2/selectfield/search.js +0 -71
  247. package/lib/inputs2/selectfield/selections.d.ts +0 -10
  248. package/lib/inputs2/selectfield/selections.js +0 -86
  249. package/lib/inputs2/selectfield/triggers.d.ts +0 -8
  250. package/lib/inputs2/selectfield/triggers.js +0 -100
  251. package/lib/inputs2/selectfield/types.d.ts +0 -54
  252. package/lib/inputs2/selectfield/types.js +0 -21
  253. package/lib/inputs2/slot/index.d.ts +0 -14
  254. package/lib/inputs2/slot/index.js +0 -47
  255. package/lib/inputs2/textfield/index.d.ts +0 -8
  256. package/lib/inputs2/textfield/index.js +0 -156
  257. package/lib/tooltip/TooltipContent.d.ts +0 -7
  258. package/lib/tooltip/TooltipContent.js +0 -65
  259. package/lib/tooltip/useTooltip.d.ts +0 -30
  260. package/lib/tooltip/useTooltip.js +0 -128
@@ -5,7 +5,7 @@ import '../../@types/DataCombo.js';
5
5
  import '../base/types.js';
6
6
  import '../../@types/Align.js';
7
7
  import '../../@types/Period.js';
8
- import '../../tooltip/types.js';
8
+ import '../../internals/types.js';
9
9
  import '../../@types/Position.js';
10
10
  import '../../drawer/types.js';
11
11
  import '../../@types/Icon.js';
@@ -5,7 +5,7 @@ import '../../@types/DataCombo.js';
5
5
  import '../base/types.js';
6
6
  import '../../@types/Align.js';
7
7
  import '../../@types/Period.js';
8
- import '../../tooltip/types.js';
8
+ import '../../internals/types.js';
9
9
  import '../../@types/Position.js';
10
10
  import '../../drawer/types.js';
11
11
  import '../../@types/Icon.js';
@@ -5,7 +5,7 @@ import '../../@types/DataCombo.js';
5
5
  import '../base/types.js';
6
6
  import '../../@types/Align.js';
7
7
  import '../../@types/Period.js';
8
- import '../../tooltip/types.js';
8
+ import '../../internals/types.js';
9
9
  import '../../@types/Position.js';
10
10
  import '../../drawer/types.js';
11
11
  import '../../@types/Icon.js';
@@ -6,7 +6,7 @@ import '../../@types/DataCombo.js';
6
6
  import '../base/types.js';
7
7
  import '../../@types/Align.js';
8
8
  import '../../@types/Period.js';
9
- import '../../tooltip/types.js';
9
+ import '../../internals/types.js';
10
10
  import '../../@types/Position.js';
11
11
  import '../../drawer/types.js';
12
12
  import '../../@types/Icon.js';
@@ -5,7 +5,7 @@ import '../../@types/PermissionAttr.js';
5
5
  import '../base/types.js';
6
6
  import 'react';
7
7
  import '../../@types/Period.js';
8
- import '../../tooltip/types.js';
8
+ import '../../internals/types.js';
9
9
  import '../../@types/Position.js';
10
10
 
11
11
  declare const SelectField: (props: ISelectFieldProps) => JSX.Element;
@@ -5,7 +5,7 @@ import '../../../@types/PermissionAttr.js';
5
5
  import '../../base/types.js';
6
6
  import 'react';
7
7
  import '../../../@types/Period.js';
8
- import '../../../tooltip/types.js';
8
+ import '../../../internals/types.js';
9
9
  import '../../../@types/Position.js';
10
10
 
11
11
  declare const Selecteds: ({ currents, descriptionKey, idKey, disabled, handlerOnUnselect, }: ISelectedsMultipleProps) => JSX.Element;
@@ -5,7 +5,7 @@ import '../../../@types/PermissionAttr.js';
5
5
  import '../../base/types.js';
6
6
  import 'react';
7
7
  import '../../../@types/Period.js';
8
- import '../../../tooltip/types.js';
8
+ import '../../../internals/types.js';
9
9
  import '../../../@types/Position.js';
10
10
 
11
11
  declare const MultipleSelect: (props: IMultipleSelectProps) => JSX.Element;
@@ -5,7 +5,7 @@ import '../../../@types/PermissionAttr.js';
5
5
  import '../../base/types.js';
6
6
  import 'react';
7
7
  import '../../../@types/Period.js';
8
- import '../../../tooltip/types.js';
8
+ import '../../../internals/types.js';
9
9
  import '../../../@types/Position.js';
10
10
 
11
11
  declare const SimpleSelect: (props: ISimpleSelectProps) => JSX.Element;
@@ -4,7 +4,7 @@ import { PermissionAttr } from '../../@types/PermissionAttr.js';
4
4
  import { CustomInputEvent } from '../base/types.js';
5
5
  import { MutableRefObject } from 'react';
6
6
  import '../../@types/Period.js';
7
- import '../../tooltip/types.js';
7
+ import '../../internals/types.js';
8
8
  import '../../@types/Position.js';
9
9
 
10
10
  type AllOptions = {
@@ -4,7 +4,7 @@ import '../../@types/PermissionAttr.js';
4
4
  import '../base/types.js';
5
5
  import 'react';
6
6
  import '../../@types/Align.js';
7
- import '../../tooltip/types.js';
7
+ import '../../internals/types.js';
8
8
  import '../../@types/Position.js';
9
9
 
10
10
  declare const TextField: (props: ITextField) => JSX.Element;
@@ -1,12 +1,13 @@
1
1
  import { Period } from '../../@types/Period.js';
2
2
  import { PermissionAttr } from '../../@types/PermissionAttr.js';
3
3
  import { IBaseProps, CustomInputEvent } from '../base/types.js';
4
+ import { WithTooltipProps } from '../../internals/types.js';
4
5
  import 'react';
5
6
  import '../../@types/Align.js';
6
- import '../../tooltip/types.js';
7
7
  import '../../@types/Position.js';
8
8
 
9
- interface ITextField extends IBaseProps {
9
+ type CommonProperties = Pick<WithTooltipProps, 'tooltip' | 'tooltipPosition' | 'tooltipWidth'>;
10
+ interface ITextField extends IBaseProps, CommonProperties {
10
11
  value?: string | string[];
11
12
  required?: boolean;
12
13
  name?: string;
@@ -4,7 +4,7 @@ import 'react';
4
4
  import '../../@types/Align.js';
5
5
  import '../../@types/Period.js';
6
6
  import '../../@types/PermissionAttr.js';
7
- import '../../tooltip/types.js';
7
+ import '../../internals/types.js';
8
8
  import '../../@types/Position.js';
9
9
 
10
10
  declare const TextArea: (props: ITextAreaProps) => JSX.Element;
@@ -3,7 +3,7 @@ import 'react';
3
3
  import '../../@types/Align.js';
4
4
  import '../../@types/Period.js';
5
5
  import '../../@types/PermissionAttr.js';
6
- import '../../tooltip/types.js';
6
+ import '../../internals/types.js';
7
7
  import '../../@types/Position.js';
8
8
 
9
9
  interface ITextAreaProps extends IBaseProps {
@@ -5,7 +5,7 @@ import { IBaseProps, CustomInputEvent } from './base/types.js';
5
5
  import { IDrawerProps } from '../drawer/types.js';
6
6
  import { TextAlign } from '../@types/Align.js';
7
7
  import '../@types/Period.js';
8
- import '../tooltip/types.js';
8
+ import '../internals/types.js';
9
9
  import '../@types/Position.js';
10
10
  import '../@types/Icon.js';
11
11
  import '../icons/helper.js';
@@ -1,3 +1,19 @@
1
+ import { CSSProperties } from 'react';
2
+ import { OnDenied } from '../@types/PermissionAttr.js';
3
+ import { Position } from '../@types/Position.js';
4
+
5
+ interface WithTooltipProps {
6
+ tooltipWidth?: string | number;
7
+ space?: number;
8
+ tooltip?: string;
9
+ tooltipPosition?: Exclude<Position, 'center'>;
10
+ style?: CSSProperties;
11
+ handlerSetOnDeniedText?: (onDeniedValue: OnDenied) => void;
12
+ errorMessage?: string;
13
+ }
14
+ interface ITooltipContext {
15
+ handlerSetOnDeniedText: (text: string) => void;
16
+ }
1
17
  interface GetDisplayNameParams {
2
18
  displayName?: string;
3
19
  name?: string;
@@ -6,4 +22,4 @@ interface HasToolTipParams {
6
22
  tooltip?: string;
7
23
  }
8
24
 
9
- export { GetDisplayNameParams, HasToolTipParams };
25
+ export { GetDisplayNameParams, HasToolTipParams, ITooltipContext, WithTooltipProps };
@@ -0,0 +1,12 @@
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 };
@@ -0,0 +1,172 @@
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;
@@ -5,7 +5,6 @@ import '../@types/Position.js';
5
5
  import '../@types/Size.js';
6
6
  import '../@types/Icon.js';
7
7
  import '../icons/helper.js';
8
- import '../tooltip/types.js';
9
8
 
10
9
  declare const DangerLabel: ({ ...rest }: ILabelProps) => JSX.Element;
11
10
 
@@ -5,8 +5,10 @@ import '../@types/Position.js';
5
5
  import '../@types/Size.js';
6
6
  import '../@types/Icon.js';
7
7
  import '../icons/helper.js';
8
- import '../tooltip/types.js';
9
8
 
10
- declare const DefaultLabel: ({ style, iconName, icon, children, visible, customClass, className, disabled, size, iconAlign, bordered, permissionAttr, skeletonize, tooltip, tooltipPosition, tooltipWidth, }: ILabelProps) => JSX.Element | null;
9
+ declare const _default: {
10
+ (props: ILabelProps): JSX.Element;
11
+ displayName: string;
12
+ };
11
13
 
12
- export { DefaultLabel as default };
14
+ export { _default as default };
@@ -6,14 +6,15 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _icons = _interopRequireDefault(require("../icons"));
9
+ var _withTooltip = _interopRequireDefault(require("../internals/withTooltip"));
9
10
  var _permissionValidations = require("../permissionValidations");
10
- var _tooltip = require("../tooltip");
11
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
12
  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); }
13
13
  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; }
14
14
  const DefaultLabel = _ref => {
15
15
  let {
16
16
  style,
17
+ targetRef,
17
18
  iconName,
18
19
  icon,
19
20
  children,
@@ -25,14 +26,10 @@ const DefaultLabel = _ref => {
25
26
  iconAlign = 'left',
26
27
  bordered,
27
28
  permissionAttr,
28
- skeletonize,
29
- tooltip,
30
- tooltipPosition,
31
- tooltipWidth
29
+ skeletonize
32
30
  } = _ref;
33
31
  const options = [_permissionValidations.OPTIONS_ON_DENIED.disabled, _permissionValidations.OPTIONS_ON_DENIED.unvisible];
34
32
  const [onDenied] = (0, _react.useState)((0, _permissionValidations.actionsOnPermissionDenied)(options, permissionAttr));
35
- const labelRef = (0, _react.useRef)(null);
36
33
  const getClass = () => `label-component ${className} ${customClass} ${bordered ? '-bordered' : ''} ${disabled ? '-disabled' : ''}
37
34
  ${skeletonize ? '-skeletonized' : ''}
38
35
  ${size ? `-${size}` : ''}
@@ -49,15 +46,10 @@ const DefaultLabel = _ref => {
49
46
  return null;
50
47
  };
51
48
  if (!visible || onDenied.unvisible) return null;
52
- return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
49
+ return /*#__PURE__*/_react.default.createElement("div", {
53
50
  style: style,
54
51
  className: getClass(),
55
- ref: labelRef
56
- }, getIcon(), children), /*#__PURE__*/_react.default.createElement(_tooltip.Tooltip, {
57
- targetRef: labelRef,
58
- text: tooltip,
59
- width: tooltipWidth,
60
- position: tooltipPosition
61
- }));
52
+ ref: r => targetRef && targetRef(r)
53
+ }, getIcon(), children);
62
54
  };
63
- var _default = exports.default = DefaultLabel;
55
+ var _default = exports.default = (0, _withTooltip.default)(DefaultLabel);
@@ -5,7 +5,6 @@ import '../@types/Position.js';
5
5
  import '../@types/Size.js';
6
6
  import '../@types/Icon.js';
7
7
  import '../icons/helper.js';
8
- import '../tooltip/types.js';
9
8
 
10
9
  declare const InfoLabel: ({ ...rest }: ILabelProps) => JSX.Element;
11
10
 
@@ -5,7 +5,6 @@ import '../@types/Position.js';
5
5
  import '../@types/Size.js';
6
6
  import '../@types/Icon.js';
7
7
  import '../icons/helper.js';
8
- import '../tooltip/types.js';
9
8
 
10
9
  declare const PrimaryLabel: ({ ...rest }: ILabelProps) => JSX.Element;
11
10
 
@@ -5,7 +5,6 @@ import '../@types/Position.js';
5
5
  import '../@types/Size.js';
6
6
  import '../@types/Icon.js';
7
7
  import '../icons/helper.js';
8
- import '../tooltip/types.js';
9
8
 
10
9
  declare const SuccessLabel: ({ ...rest }: ILabelProps) => JSX.Element;
11
10
 
@@ -5,7 +5,6 @@ import '../@types/Position.js';
5
5
  import '../@types/Size.js';
6
6
  import '../@types/Icon.js';
7
7
  import '../icons/helper.js';
8
- import '../tooltip/types.js';
9
8
 
10
9
  declare const WarningLabel: ({ ...rest }: ILabelProps) => JSX.Element;
11
10
 
@@ -1,5 +1,5 @@
1
1
  export { default as LabelContainer } from './label_container/index.js';
2
- import DefaultLabel from './DefaultLabel.js';
2
+ import _default from './DefaultLabel.js';
3
3
  export { default as DangerLabel } from './DangerLabel.js';
4
4
  export { default as PrimaryLabel } from './PrimaryLabel.js';
5
5
  export { default as WarningLabel } from './WarningLabel.js';
@@ -12,8 +12,7 @@ import '../@types/PermissionAttr.js';
12
12
  import '../@types/Size.js';
13
13
  import '../@types/Icon.js';
14
14
  import '../icons/helper.js';
15
- import '../tooltip/types.js';
16
15
 
17
16
 
18
17
 
19
- export { DefaultLabel as default };
18
+ export { _default as default };
@@ -3,16 +3,19 @@ import { PermissionAttr } from '../@types/PermissionAttr.js';
3
3
  import { Position } from '../@types/Position.js';
4
4
  import { Size } from '../@types/Size.js';
5
5
  import { IconNames } from '../@types/Icon.js';
6
- import { ITooltipCommonProps } from '../tooltip/types.js';
7
6
  import '../icons/helper.js';
8
7
 
9
- interface ILabelProps extends React.HTMLAttributes<HTMLDivElement>, ITooltipCommonProps {
8
+ interface ILabelProps extends React.HTMLAttributes<HTMLDivElement> {
10
9
  customClass?: string;
11
10
  size?: Size;
12
11
  iconName?: IconNames;
13
12
  iconAlign?: Position;
14
13
  icon?: ReactElement;
14
+ targetRef?: (ref: HTMLDivElement | null) => void;
15
15
  bordered?: boolean;
16
+ tooltipPosition?: Exclude<Position, 'center'>;
17
+ tooltipWidth?: string | number;
18
+ tooltip?: string;
16
19
  visible?: boolean;
17
20
  disabled?: boolean;
18
21
  permissionAttr?: PermissionAttr | PermissionAttr[];
@@ -3,7 +3,6 @@ import 'react';
3
3
  import '../@types/PermissionAttr.js';
4
4
  import '../@types/Icon.js';
5
5
  import '../icons/helper.js';
6
- import '../tooltip/types.js';
7
6
  import '../@types/Position.js';
8
7
 
9
8
  declare const Header: ({ title, children, style, customClass }: IListHeaderProps) => JSX.Element;
@@ -3,9 +3,11 @@ import 'react';
3
3
  import '../@types/PermissionAttr.js';
4
4
  import '../@types/Icon.js';
5
5
  import '../icons/helper.js';
6
- import '../tooltip/types.js';
7
6
  import '../@types/Position.js';
8
7
 
9
- declare const Item: (props: IListItemProps) => JSX.Element | null;
8
+ declare const _default: {
9
+ (props: IListItemProps): JSX.Element;
10
+ displayName: string;
11
+ };
10
12
 
11
- export { Item as default };
13
+ export { _default as default };
package/lib/list/Item.js CHANGED
@@ -11,8 +11,8 @@ var _checkbox = _interopRequireDefault(require("../checkbox"));
11
11
  var _helpers = require("./helpers");
12
12
  var _withDropdown = require("../dropdown/withDropdown");
13
13
  var constants = _interopRequireWildcard(require("../internals/constants"));
14
+ var _withTooltip = _interopRequireWildcard(require("../internals/withTooltip"));
14
15
  var _permissionValidations = require("../permissionValidations");
15
- var _tooltip = require("../tooltip");
16
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
17
  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); }
18
18
  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; }
@@ -40,11 +40,8 @@ const Item = props => {
40
40
  visible = true,
41
41
  permissionAttr,
42
42
  skeletonize,
43
+ targetRef,
43
44
  target,
44
- tooltip,
45
- tooltipPosition,
46
- tooltipWidth,
47
- onMouseDown,
48
45
  onDeniedText = 'Permissão Negada! Consulte o Administrador do sistema.'
49
46
  } = props;
50
47
  const {
@@ -55,9 +52,11 @@ const Item = props => {
55
52
  selectOnEnter
56
53
  } = (0, _react.useContext)(_helpers.ListContext);
57
54
  const dropdownContext = (0, _react.useContext)(_withDropdown.WithDropdownContext);
55
+ const {
56
+ handlerSetOnDeniedText
57
+ } = (0, _react.useContext)(_withTooltip.TooltipContext);
58
58
  const options = [_permissionValidations.OPTIONS_ON_DENIED.disabled, _permissionValidations.OPTIONS_ON_DENIED.unvisible];
59
59
  const [onDenied] = (0, _react.useState)((0, _permissionValidations.actionsOnPermissionDenied)(options, permissionAttr));
60
- const itemRef = (0, _react.useRef)(null);
61
60
  const navigate = (0, _reactRouterDom.useNavigate)();
62
61
  const disabledByPermission = onDenied.disabled;
63
62
  const shouldDisable = () => disabled || onDenied.disabled;
@@ -118,6 +117,9 @@ const Item = props => {
118
117
  document.removeEventListener('keydown', onKeyDown);
119
118
  };
120
119
  }, [url, selectedItemId, itemId]);
120
+ (0, _react.useEffect)(() => {
121
+ if (disabledByPermission) handlerSetOnDeniedText(onDeniedText);
122
+ }, [disabledByPermission]);
121
123
  const renderCheckBox = (0, _react.useMemo)(() => {
122
124
  if (!disabledByPermission && displayCheckbox) {
123
125
  return /*#__PURE__*/_react.default.createElement(_checkbox.default, {
@@ -131,12 +133,11 @@ const Item = props => {
131
133
  return null;
132
134
  }, [disabledByPermission && displayCheckbox]);
133
135
  if (!visible || onDenied.unvisible) return null;
134
- return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("li", _extends({
136
+ return /*#__PURE__*/_react.default.createElement("li", _extends({
135
137
  ref: ref => {
136
- itemRef.current = ref;
138
+ if (targetRef) targetRef(ref);
137
139
  return itemId && selectedItemId === itemId ? selectedItemRef : null;
138
140
  },
139
- onMouseDown: onMouseDown,
140
141
  style: style,
141
142
  className: `item-container ${hovered && 'hovered'}
142
143
  ${itemId && selectedItemId === itemId ? '-activedlist' : ''}`
@@ -156,12 +157,6 @@ const Item = props => {
156
157
  className: `${subText && 'subtext'}`
157
158
  }, subText), children), (rightIconName || rightIcon || rightElement || disabledByPermission) && /*#__PURE__*/_react.default.createElement("div", {
158
159
  className: `${getClass()} -icon-right`
159
- }, getIcon(rightIconName, rightIcon), rightElement)), /*#__PURE__*/_react.default.createElement(_tooltip.Tooltip, {
160
- targetRef: itemRef,
161
- text: tooltip,
162
- width: tooltipWidth,
163
- position: tooltipPosition,
164
- onDeniedText: disabledByPermission ? onDeniedText : undefined
165
- }));
160
+ }, getIcon(rightIconName, rightIcon), rightElement));
166
161
  };
167
- var _default = exports.default = Item;
162
+ var _default = exports.default = (0, _withTooltip.default)(Item);
@@ -3,7 +3,6 @@ import { IListContext } from './types.js';
3
3
  import '../@types/PermissionAttr.js';
4
4
  import '../@types/Icon.js';
5
5
  import '../icons/helper.js';
6
- import '../tooltip/types.js';
7
6
  import '../@types/Position.js';
8
7
 
9
8
  declare const ListContext: React__default.Context<IListContext>;
@@ -6,7 +6,6 @@ import 'react';
6
6
  import '../@types/PermissionAttr.js';
7
7
  import '../@types/Icon.js';
8
8
  import '../icons/helper.js';
9
- import '../tooltip/types.js';
10
9
  import '../@types/Position.js';
11
10
 
12
11
  declare const List: (props: IListProps) => JSX.Element;