linear-react-components-ui 1.1.24-beta.1 → 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 (259) 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 +17 -32
  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/form/Field.d.ts +1 -1
  28. package/lib/form/FieldArray.d.ts +1 -1
  29. package/lib/form/FieldNumber.d.ts +1 -1
  30. package/lib/form/FieldPeriod.d.ts +1 -1
  31. package/lib/form/helpers.d.ts +1 -1
  32. package/lib/form/index.d.ts +1 -1
  33. package/lib/form/types.d.ts +1 -1
  34. package/lib/form/withFieldHOC.d.ts +1 -1
  35. package/lib/form/withFormSecurity.d.ts +1 -1
  36. package/lib/icons/helper.d.ts +0 -4
  37. package/lib/icons/helper.js +0 -4
  38. package/lib/icons/index.d.ts +6 -4
  39. package/lib/icons/index.js +9 -14
  40. package/lib/icons/types.d.ts +6 -3
  41. package/lib/index.d.ts +0 -1
  42. package/lib/inputs/base/InputTextBase.d.ts +1 -1
  43. package/lib/inputs/base/InputTextBase.js +8 -18
  44. package/lib/inputs/base/Label.d.ts +14 -0
  45. package/lib/inputs/base/Label.js +35 -0
  46. package/lib/inputs/base/helpers.d.ts +1 -1
  47. package/lib/inputs/base/types.d.ts +17 -6
  48. package/lib/inputs/color/index.js +1 -1
  49. package/lib/inputs/color/types.d.ts +1 -1
  50. package/lib/inputs/date/Dialog.d.ts +1 -1
  51. package/lib/inputs/date/Dropdown.d.ts +1 -1
  52. package/lib/inputs/date/index.d.ts +1 -1
  53. package/lib/inputs/date/types.d.ts +2 -2
  54. package/lib/inputs/errorMessage/index.d.ts +1 -1
  55. package/lib/inputs/file/DefaultFile.d.ts +1 -1
  56. package/lib/inputs/file/DefaultFile.js +27 -27
  57. package/lib/inputs/file/DragDropFile.d.ts +1 -1
  58. package/lib/inputs/file/File.d.ts +1 -1
  59. package/lib/inputs/file/File.js +1 -0
  60. package/lib/inputs/file/FileButtonSettings.d.ts +1 -1
  61. package/lib/inputs/file/FileButtonSettings.js +0 -1
  62. package/lib/inputs/file/helpers.d.ts +1 -1
  63. package/lib/inputs/file/index.d.ts +1 -1
  64. package/lib/inputs/file/types.d.ts +1 -1
  65. package/lib/inputs/inputHOC.d.ts +1 -1
  66. package/lib/inputs/mask/BaseMask.d.ts +1 -1
  67. package/lib/inputs/mask/Cnpj.d.ts +1 -1
  68. package/lib/inputs/mask/Cpf.d.ts +1 -1
  69. package/lib/inputs/mask/Phone.d.ts +1 -1
  70. package/lib/inputs/mask/ZipCode.d.ts +1 -1
  71. package/lib/inputs/mask/helpers.d.ts +1 -1
  72. package/lib/inputs/mask/index.d.ts +1 -1
  73. package/lib/inputs/mask/types.d.ts +2 -2
  74. package/lib/inputs/multiSelect/ActionButtons.d.ts +1 -1
  75. package/lib/inputs/multiSelect/Dropdown.d.ts +1 -1
  76. package/lib/inputs/multiSelect/helper.d.ts +1 -1
  77. package/lib/inputs/multiSelect/index.d.ts +1 -1
  78. package/lib/inputs/multiSelect/types.d.ts +2 -2
  79. package/lib/inputs/number/BaseNumber.d.ts +1 -1
  80. package/lib/inputs/number/Currency.d.ts +1 -1
  81. package/lib/inputs/number/Decimal.d.ts +1 -1
  82. package/lib/inputs/number/index.d.ts +1 -1
  83. package/lib/inputs/number/types.d.ts +3 -3
  84. package/lib/inputs/period/Dialog.d.ts +1 -1
  85. package/lib/inputs/period/Dropdown.d.ts +1 -1
  86. package/lib/inputs/period/PeriodList.d.ts +1 -1
  87. package/lib/inputs/period/helper.d.ts +1 -1
  88. package/lib/inputs/period/index.d.ts +1 -1
  89. package/lib/inputs/period/index.js +10 -8
  90. package/lib/inputs/period/types.d.ts +5 -2
  91. package/lib/inputs/search/index.d.ts +1 -1
  92. package/lib/inputs/select/ActionButtons.d.ts +1 -1
  93. package/lib/inputs/select/Dropdown.d.ts +1 -1
  94. package/lib/inputs/select/helper.d.ts +1 -1
  95. package/lib/inputs/select/index.d.ts +1 -1
  96. package/lib/inputs/select/multiple/Selecteds.d.ts +1 -1
  97. package/lib/inputs/select/multiple/index.d.ts +1 -1
  98. package/lib/inputs/select/simple/index.d.ts +1 -1
  99. package/lib/inputs/select/types.d.ts +1 -1
  100. package/lib/inputs/text/index.d.ts +1 -1
  101. package/lib/inputs/text/types.d.ts +3 -2
  102. package/lib/inputs/textarea/index.d.ts +1 -1
  103. package/lib/inputs/textarea/types.d.ts +1 -1
  104. package/lib/inputs/types.d.ts +1 -1
  105. package/lib/internals/types.d.ts +17 -1
  106. package/lib/internals/withTooltip.d.ts +12 -0
  107. package/lib/internals/withTooltip.js +172 -0
  108. package/lib/labels/DangerLabel.d.ts +0 -1
  109. package/lib/labels/DefaultLabel.d.ts +5 -3
  110. package/lib/labels/DefaultLabel.js +7 -15
  111. package/lib/labels/InfoLabel.d.ts +0 -1
  112. package/lib/labels/PrimaryLabel.d.ts +0 -1
  113. package/lib/labels/SuccessLabel.d.ts +0 -1
  114. package/lib/labels/WarningLabel.d.ts +0 -1
  115. package/lib/labels/index.d.ts +2 -3
  116. package/lib/labels/types.d.ts +5 -2
  117. package/lib/list/Header.d.ts +0 -1
  118. package/lib/list/Item.d.ts +5 -3
  119. package/lib/list/Item.js +12 -17
  120. package/lib/list/helpers.d.ts +0 -1
  121. package/lib/list/index.d.ts +0 -1
  122. package/lib/list/types.d.ts +6 -4
  123. package/lib/menus/sidenav/ExpandMenu.d.ts +2 -2
  124. package/lib/menus/sidenav/MenuLink.d.ts +7 -4
  125. package/lib/menus/sidenav/MenuLink.js +11 -20
  126. package/lib/menus/sidenav/NavMenuGroup.d.ts +2 -2
  127. package/lib/menus/sidenav/NavMenuItem.d.ts +7 -4
  128. package/lib/menus/sidenav/NavMenuItem.js +12 -16
  129. package/lib/menus/sidenav/NavSubMenuItem.d.ts +2 -2
  130. package/lib/menus/sidenav/helpers.d.ts +2 -2
  131. package/lib/menus/sidenav/index.d.ts +2 -2
  132. package/lib/menus/sidenav/popup_menu_search/EmptyList.d.ts +2 -2
  133. package/lib/menus/sidenav/popup_menu_search/index.d.ts +2 -2
  134. package/lib/menus/sidenav/types.d.ts +6 -6
  135. package/lib/popover/PopoverText.js +2 -11
  136. package/lib/popover/index.js +0 -1
  137. package/lib/popover/types.d.ts +0 -1
  138. package/lib/textContent/index.d.ts +11 -6
  139. package/lib/textContent/index.js +11 -20
  140. package/lib/tooltip/index.d.ts +3 -4
  141. package/lib/tooltip/index.js +53 -36
  142. package/lib/tooltip/types.d.ts +3 -25
  143. package/package.json +2 -3
  144. package/lib/BaseMask-04df8f20.d.ts +0 -24
  145. package/lib/BaseNumber-c609c5a0.d.ts +0 -23
  146. package/lib/Cnpj-5471cb1f.d.ts +0 -18
  147. package/lib/Cpf-71c4f0f4.d.ts +0 -18
  148. package/lib/Currency-38d14ff7.d.ts +0 -18
  149. package/lib/Decimal-85d45244.d.ts +0 -13
  150. package/lib/Number-db3c092d.d.ts +0 -20
  151. package/lib/Phone-4c4142e4.d.ts +0 -18
  152. package/lib/ZipCode-dc7dd4da.d.ts +0 -13
  153. package/lib/assets/styles/checkbox2.scss +0 -199
  154. package/lib/assets/styles/datepicker2.scss +0 -338
  155. package/lib/assets/styles/selectfield.scss +0 -409
  156. package/lib/assets/styles/slot.scss +0 -34
  157. package/lib/assets/styles/textfield.scss +0 -148
  158. package/lib/calendar/base/Day.d.ts +0 -8
  159. package/lib/calendar/base/Day.js +0 -36
  160. package/lib/calendar/base/Month.d.ts +0 -8
  161. package/lib/calendar/base/Month.js +0 -39
  162. package/lib/calendar/base/Week.d.ts +0 -8
  163. package/lib/calendar/base/Week.js +0 -35
  164. package/lib/form2/helpers.d.ts +0 -8
  165. package/lib/form2/helpers.js +0 -41
  166. package/lib/form2/index.d.ts +0 -9
  167. package/lib/form2/index.js +0 -36
  168. package/lib/form2/types.d.ts +0 -125
  169. package/lib/form2/types.js +0 -5
  170. package/lib/form2/useForm/index.d.ts +0 -5
  171. package/lib/form2/useForm/index.js +0 -203
  172. package/lib/index-368f781f.d.ts +0 -15
  173. package/lib/index-379b7504.d.ts +0 -44
  174. package/lib/index-7cb5e8b3.d.ts +0 -41
  175. package/lib/index-809a7899.d.ts +0 -23
  176. package/lib/index-c9247c1f.d.ts +0 -15
  177. package/lib/index-de21a05e.d.ts +0 -23
  178. package/lib/inputs2/checkboxfield/index.d.ts +0 -7
  179. package/lib/inputs2/checkboxfield/index.js +0 -146
  180. package/lib/inputs2/colorfield/index.d.ts +0 -9
  181. package/lib/inputs2/colorfield/index.js +0 -119
  182. package/lib/inputs2/date/base/constants.d.ts +0 -7
  183. package/lib/inputs2/date/base/constants.js +0 -43
  184. package/lib/inputs2/date/base/index.d.ts +0 -12
  185. package/lib/inputs2/date/base/index.js +0 -179
  186. package/lib/inputs2/date/datefield/calendarbox.d.ts +0 -7
  187. package/lib/inputs2/date/datefield/calendarbox.js +0 -115
  188. package/lib/inputs2/date/datefield/context.d.ts +0 -13
  189. package/lib/inputs2/date/datefield/context.js +0 -15
  190. package/lib/inputs2/date/datefield/index.d.ts +0 -9
  191. package/lib/inputs2/date/datefield/index.js +0 -334
  192. package/lib/inputs2/date/datefield/triggers.d.ts +0 -8
  193. package/lib/inputs2/date/datefield/triggers.js +0 -47
  194. package/lib/inputs2/date/datefield/types.d.ts +0 -61
  195. package/lib/inputs2/date/datefield/types.js +0 -5
  196. package/lib/inputs2/date/dateperiodfield/calendarbox.d.ts +0 -7
  197. package/lib/inputs2/date/dateperiodfield/calendarbox.js +0 -136
  198. package/lib/inputs2/date/dateperiodfield/context.d.ts +0 -13
  199. package/lib/inputs2/date/dateperiodfield/context.js +0 -17
  200. package/lib/inputs2/date/dateperiodfield/index.d.ts +0 -9
  201. package/lib/inputs2/date/dateperiodfield/index.js +0 -592
  202. package/lib/inputs2/date/dateperiodfield/triggers.d.ts +0 -6
  203. package/lib/inputs2/date/dateperiodfield/triggers.js +0 -120
  204. package/lib/inputs2/date/dateperiodfield/types.d.ts +0 -99
  205. package/lib/inputs2/date/dateperiodfield/types.js +0 -19
  206. package/lib/inputs2/date/helpers.d.ts +0 -20
  207. package/lib/inputs2/date/helpers.js +0 -62
  208. package/lib/inputs2/date/types.d.ts +0 -59
  209. package/lib/inputs2/date/types.js +0 -19
  210. package/lib/inputs2/index.d.ts +0 -29
  211. package/lib/inputs2/index.js +0 -38
  212. package/lib/inputs2/mask/BaseMask.d.ts +0 -10
  213. package/lib/inputs2/mask/BaseMask.js +0 -95
  214. package/lib/inputs2/mask/Cnpj.d.ts +0 -11
  215. package/lib/inputs2/mask/Cnpj.js +0 -57
  216. package/lib/inputs2/mask/Cpf.d.ts +0 -11
  217. package/lib/inputs2/mask/Cpf.js +0 -53
  218. package/lib/inputs2/mask/Phone.d.ts +0 -11
  219. package/lib/inputs2/mask/Phone.js +0 -26
  220. package/lib/inputs2/mask/ZipCode.d.ts +0 -11
  221. package/lib/inputs2/mask/ZipCode.js +0 -23
  222. package/lib/inputs2/mask/helpers.d.ts +0 -4
  223. package/lib/inputs2/mask/helpers.js +0 -57
  224. package/lib/inputs2/number/BaseNumber.d.ts +0 -10
  225. package/lib/inputs2/number/BaseNumber.js +0 -86
  226. package/lib/inputs2/number/Currency.d.ts +0 -11
  227. package/lib/inputs2/number/Currency.js +0 -47
  228. package/lib/inputs2/number/Decimal.d.ts +0 -11
  229. package/lib/inputs2/number/Decimal.js +0 -36
  230. package/lib/inputs2/number/Number.d.ts +0 -9
  231. package/lib/inputs2/number/Number.js +0 -49
  232. package/lib/inputs2/number/format_number.d.ts +0 -5
  233. package/lib/inputs2/number/format_number.js +0 -29
  234. package/lib/inputs2/selectfield/context.d.ts +0 -38
  235. package/lib/inputs2/selectfield/context.js +0 -15
  236. package/lib/inputs2/selectfield/helpers.d.ts +0 -6
  237. package/lib/inputs2/selectfield/helpers.js +0 -25
  238. package/lib/inputs2/selectfield/index.d.ts +0 -10
  239. package/lib/inputs2/selectfield/index.js +0 -491
  240. package/lib/inputs2/selectfield/item.d.ts +0 -11
  241. package/lib/inputs2/selectfield/item.js +0 -85
  242. package/lib/inputs2/selectfield/listbox.d.ts +0 -7
  243. package/lib/inputs2/selectfield/listbox.js +0 -103
  244. package/lib/inputs2/selectfield/search.d.ts +0 -7
  245. package/lib/inputs2/selectfield/search.js +0 -71
  246. package/lib/inputs2/selectfield/selections.d.ts +0 -10
  247. package/lib/inputs2/selectfield/selections.js +0 -86
  248. package/lib/inputs2/selectfield/triggers.d.ts +0 -8
  249. package/lib/inputs2/selectfield/triggers.js +0 -100
  250. package/lib/inputs2/selectfield/types.d.ts +0 -55
  251. package/lib/inputs2/selectfield/types.js +0 -21
  252. package/lib/inputs2/slot/index.d.ts +0 -14
  253. package/lib/inputs2/slot/index.js +0 -47
  254. package/lib/inputs2/textfield/index.d.ts +0 -8
  255. package/lib/inputs2/textfield/index.js +0 -159
  256. package/lib/tooltip/TooltipContent.d.ts +0 -7
  257. package/lib/tooltip/TooltipContent.js +0 -65
  258. package/lib/tooltip/useTooltip.d.ts +0 -30
  259. package/lib/tooltip/useTooltip.js +0 -128
@@ -6,7 +6,7 @@ import '../../@types/Period.js';
6
6
  import '../../@types/PermissionAttr.js';
7
7
  import '../base/types.js';
8
8
  import '../../@types/Align.js';
9
- import '../../tooltip/types.js';
9
+ import '../../internals/types.js';
10
10
  import '../../@types/Position.js';
11
11
 
12
12
  declare const getCalendarDropdownStyle: ({ topPosition, leftPosition, width }: {
@@ -6,7 +6,7 @@ import '../../@types/Period.js';
6
6
  import '../../@types/PermissionAttr.js';
7
7
  import '../base/types.js';
8
8
  import '../../@types/Align.js';
9
- import '../../tooltip/types.js';
9
+ import '../../internals/types.js';
10
10
  import '../../@types/Position.js';
11
11
 
12
12
  declare const PeriodPicker: (props: IPeriodPickerProps) => JSX.Element | null;
@@ -43,7 +43,9 @@ const PeriodPicker = props => {
43
43
  hintPosition = 'below',
44
44
  themePopover = 'light',
45
45
  popoverAlign = 'left',
46
- gridLayout
46
+ gridLayout,
47
+ nameDateInitial = 'valueInitial',
48
+ nameDateFinal = 'valueFinal'
47
49
  } = props;
48
50
  const idValueInitial = (0, _react.useId)();
49
51
  const idValueFinal = (0, _react.useId)();
@@ -244,7 +246,7 @@ const PeriodPicker = props => {
244
246
  name: changingAux
245
247
  } = event.target;
246
248
  if (value && value.replace(/\D/g, '').trim().length !== 0) {
247
- if (changingAux === 'valueInitial') {
249
+ if (changingAux === nameDateInitial) {
248
250
  setValueInitial(undefined);
249
251
  } else {
250
252
  setValueFinal(undefined);
@@ -268,21 +270,21 @@ const PeriodPicker = props => {
268
270
  const dateObj = (0, _moment.default)(value, 'DD/MM/YYYY');
269
271
  if (showCalendarValueInitial) inputInitialRef.current?.focus();
270
272
  if (showCalendarValueFinal) inputFinalRef.current?.focus();
271
- if (valueDateName === 'valueFinal' && valueInitial && dateObj.isBefore(valueInitial)) {
273
+ if (valueDateName === nameDateFinal && valueInitial && dateObj.isBefore(valueInitial)) {
272
274
  setValueInitial(dateObj);
273
275
  setValueFinal(valueInitial);
274
276
  onDateChange({
275
277
  initial: dateObj,
276
278
  final: valueInitial
277
279
  });
278
- } else if (valueDateName === 'valueInitial' && valueFinal && dateObj.isAfter(valueFinal)) {
280
+ } else if (valueDateName === nameDateInitial && valueFinal && dateObj.isAfter(valueFinal)) {
279
281
  setValueInitial(valueFinal);
280
282
  setValueFinal(dateObj);
281
283
  onDateChange({
282
284
  initial: valueFinal,
283
285
  final: dateObj
284
286
  });
285
- } else if (valueDateName === 'valueInitial') {
287
+ } else if (valueDateName === nameDateInitial) {
286
288
  setValueInitial(dateObj);
287
289
  onDateChange({
288
290
  initial: dateObj,
@@ -295,7 +297,7 @@ const PeriodPicker = props => {
295
297
  final: dateObj
296
298
  });
297
299
  }
298
- if (valueDateName === 'valueInitial' && !valueFinal && shouldOpenDropdown) {
300
+ if (valueDateName === nameDateInitial && !valueFinal && shouldOpenDropdown) {
299
301
  inputFinalRef.current?.focus();
300
302
  setTimeout(() => setShowCalendarValueFinal(true), 100);
301
303
  }
@@ -405,7 +407,7 @@ const PeriodPicker = props => {
405
407
  handlerClose: () => onCloseDateDialog('valueInitial'),
406
408
  dialogSize: dialogSize,
407
409
  onOpenChange: setShowCalendarValueInitial
408
- }, getCalendar(valueInitial, calendarColorStyle, 'valueInitial'));
410
+ }, getCalendar(valueInitial, calendarColorStyle, nameDateInitial));
409
411
  }
410
412
  return /*#__PURE__*/_react.default.createElement(_Dropdown.default, {
411
413
  containerRef: wrapperBaseInputPeriodRef,
@@ -424,7 +426,7 @@ const PeriodPicker = props => {
424
426
  handlerClose: () => onCloseDateDialog('valueFinal'),
425
427
  dialogSize: dialogSize,
426
428
  onOpenChange: setShowCalendarValueFinal
427
- }, getCalendar(valueFinal, calendarColorStyle, 'valueFinal'));
429
+ }, getCalendar(valueFinal, calendarColorStyle, nameDateFinal));
428
430
  }
429
431
  return /*#__PURE__*/_react.default.createElement(_Dropdown.default, {
430
432
  containerRef: wrapperBaseInputPeriodRef,
@@ -1,11 +1,11 @@
1
1
  import { Moment } from 'moment';
2
- import { ReactNode, RefObject } from 'react';
2
+ import { ReactNode, RefObject, MouseEvent } from 'react';
3
3
  import { ColorStyles } from '../../@types/ColorStyles.js';
4
4
  import { Period } from '../../@types/Period.js';
5
5
  import { PermissionAttr } from '../../@types/PermissionAttr.js';
6
6
  import { CustomInputEvent } from '../base/types.js';
7
7
  import '../../@types/Align.js';
8
- import '../../tooltip/types.js';
8
+ import '../../internals/types.js';
9
9
  import '../../@types/Position.js';
10
10
 
11
11
  type DateTypes = 'today' | 'week' | 'lastweek' | 'last15' | 'month' | 'lastmonth';
@@ -55,11 +55,14 @@ interface IPeriodPickerProps {
55
55
  calendarColorStyle?: ColorStyles;
56
56
  required?: boolean;
57
57
  onChange?: (event?: CustomInputEvent, maskValue?: string, date?: Period) => void;
58
+ onClick?: (event?: MouseEvent) => void;
58
59
  disabled?: boolean;
59
60
  permissionAttr?: PermissionAttr;
60
61
  errorMessages?: string[];
61
62
  name?: string;
62
63
  hint?: string;
64
+ nameDateInitial?: string;
65
+ nameDateFinal?: string;
63
66
  hintPosition?: 'below' | 'onLabelRight';
64
67
  onBlur?: (e: CustomInputEvent) => void;
65
68
  onFocus?: (e: CustomInputEvent) => void;
@@ -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;