@apia/components 3.0.1 → 3.0.2

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 (398) hide show
  1. package/dist/index.d.ts +1775 -68
  2. package/dist/index.js +7719 -58
  3. package/dist/index.js.map +1 -1
  4. package/package.json +13 -10
  5. package/dist/components/IconsList/Icon.js +0 -42
  6. package/dist/components/IconsList/Icon.js.map +0 -1
  7. package/dist/components/IconsList/IconWrapper.js +0 -24
  8. package/dist/components/IconsList/IconWrapper.js.map +0 -1
  9. package/dist/components/IconsList/KeyHandler.js +0 -147
  10. package/dist/components/IconsList/KeyHandler.js.map +0 -1
  11. package/dist/components/IconsList/context.js +0 -14
  12. package/dist/components/IconsList/context.js.map +0 -1
  13. package/dist/components/IconsList/index.d.ts +0 -12
  14. package/dist/components/IconsList/index.d.ts.map +0 -1
  15. package/dist/components/IconsList/index.js +0 -119
  16. package/dist/components/IconsList/index.js.map +0 -1
  17. package/dist/components/IconsList/renderers/DefaultIconRenderer.d.ts +0 -7
  18. package/dist/components/IconsList/renderers/DefaultIconRenderer.d.ts.map +0 -1
  19. package/dist/components/IconsList/renderers/DefaultIconRenderer.js +0 -30
  20. package/dist/components/IconsList/renderers/DefaultIconRenderer.js.map +0 -1
  21. package/dist/components/IconsList/store/context.js +0 -9
  22. package/dist/components/IconsList/store/context.js.map +0 -1
  23. package/dist/components/IconsList/store/distinctors.js +0 -42
  24. package/dist/components/IconsList/store/distinctors.js.map +0 -1
  25. package/dist/components/IconsList/store/keysMaker.js +0 -8
  26. package/dist/components/IconsList/store/keysMaker.js.map +0 -1
  27. package/dist/components/IconsList/store/operations.js +0 -138
  28. package/dist/components/IconsList/store/operations.js.map +0 -1
  29. package/dist/components/IconsList/store/state.js +0 -9
  30. package/dist/components/IconsList/store/state.js.map +0 -1
  31. package/dist/components/IconsList/store/useStore.js +0 -52
  32. package/dist/components/IconsList/store/useStore.js.map +0 -1
  33. package/dist/components/IconsList/styles.js +0 -48
  34. package/dist/components/IconsList/styles.js.map +0 -1
  35. package/dist/components/IconsList/types.d.ts +0 -98
  36. package/dist/components/IconsList/types.d.ts.map +0 -1
  37. package/dist/components/IconsList/util.js +0 -46
  38. package/dist/components/IconsList/util.js.map +0 -1
  39. package/dist/components/ListBox/Combobox.js +0 -52
  40. package/dist/components/ListBox/Combobox.js.map +0 -1
  41. package/dist/components/ListBox/ListboxContext.d.ts +0 -35
  42. package/dist/components/ListBox/ListboxContext.d.ts.map +0 -1
  43. package/dist/components/ListBox/ListboxContext.js +0 -6
  44. package/dist/components/ListBox/ListboxContext.js.map +0 -1
  45. package/dist/components/ListBox/ListboxItem.d.ts +0 -17
  46. package/dist/components/ListBox/ListboxItem.d.ts.map +0 -1
  47. package/dist/components/ListBox/ListboxItem.js +0 -67
  48. package/dist/components/ListBox/ListboxItem.js.map +0 -1
  49. package/dist/components/ListBox/ListboxKeyhandler.js +0 -154
  50. package/dist/components/ListBox/ListboxKeyhandler.js.map +0 -1
  51. package/dist/components/ListBox/common.d.ts +0 -46
  52. package/dist/components/ListBox/common.d.ts.map +0 -1
  53. package/dist/components/ListBox/common.js +0 -118
  54. package/dist/components/ListBox/common.js.map +0 -1
  55. package/dist/components/ListBox/index.d.ts +0 -21
  56. package/dist/components/ListBox/index.d.ts.map +0 -1
  57. package/dist/components/ListBox/index.js +0 -71
  58. package/dist/components/ListBox/index.js.map +0 -1
  59. package/dist/components/ListBox/listbox.js +0 -46
  60. package/dist/components/ListBox/listbox.js.map +0 -1
  61. package/dist/components/ListBox/operations.js +0 -330
  62. package/dist/components/ListBox/operations.js.map +0 -1
  63. package/dist/components/ListBox/useIndexedChildren.js +0 -25
  64. package/dist/components/ListBox/useIndexedChildren.js.map +0 -1
  65. package/dist/components/ListBox/useListboxAutofocus.js +0 -48
  66. package/dist/components/ListBox/useListboxAutofocus.js.map +0 -1
  67. package/dist/components/ListBox/useListboxContextValue.js +0 -8
  68. package/dist/components/ListBox/useListboxContextValue.js.map +0 -1
  69. package/dist/components/ListBox/useShoutSelectionChange.js +0 -26
  70. package/dist/components/ListBox/useShoutSelectionChange.js.map +0 -1
  71. package/dist/components/ListBox/useStore.js +0 -36
  72. package/dist/components/ListBox/useStore.js.map +0 -1
  73. package/dist/components/ListBox/useUpdateRowCount.js +0 -19
  74. package/dist/components/ListBox/useUpdateRowCount.js.map +0 -1
  75. package/dist/components/SortableList/SortableListHandler.js +0 -161
  76. package/dist/components/SortableList/SortableListHandler.js.map +0 -1
  77. package/dist/components/SortableList/SortableListItem.d.ts +0 -14
  78. package/dist/components/SortableList/SortableListItem.d.ts.map +0 -1
  79. package/dist/components/SortableList/SortableListItem.js +0 -24
  80. package/dist/components/SortableList/SortableListItem.js.map +0 -1
  81. package/dist/components/SortableList/index.d.ts +0 -21
  82. package/dist/components/SortableList/index.d.ts.map +0 -1
  83. package/dist/components/SortableList/index.js +0 -53
  84. package/dist/components/SortableList/index.js.map +0 -1
  85. package/dist/components/Toolbar/ToolbarController.d.ts +0 -24
  86. package/dist/components/Toolbar/ToolbarController.d.ts.map +0 -1
  87. package/dist/components/Toolbar/ToolbarController.js +0 -50
  88. package/dist/components/Toolbar/ToolbarController.js.map +0 -1
  89. package/dist/components/Toolbar/ToolbarIconButton.d.ts +0 -7
  90. package/dist/components/Toolbar/ToolbarIconButton.d.ts.map +0 -1
  91. package/dist/components/Toolbar/ToolbarIconButton.js +0 -110
  92. package/dist/components/Toolbar/ToolbarIconButton.js.map +0 -1
  93. package/dist/components/Toolbar/ToolbarInput.d.ts +0 -7
  94. package/dist/components/Toolbar/ToolbarInput.d.ts.map +0 -1
  95. package/dist/components/Toolbar/ToolbarInput.js +0 -13
  96. package/dist/components/Toolbar/ToolbarInput.js.map +0 -1
  97. package/dist/components/Toolbar/ToolbarSelect.d.ts +0 -7
  98. package/dist/components/Toolbar/ToolbarSelect.d.ts.map +0 -1
  99. package/dist/components/Toolbar/ToolbarSelect.js +0 -17
  100. package/dist/components/Toolbar/ToolbarSelect.js.map +0 -1
  101. package/dist/components/Toolbar/ToolbarSeparator.d.ts +0 -6
  102. package/dist/components/Toolbar/ToolbarSeparator.d.ts.map +0 -1
  103. package/dist/components/Toolbar/ToolbarSeparator.js +0 -9
  104. package/dist/components/Toolbar/ToolbarSeparator.js.map +0 -1
  105. package/dist/components/Toolbar/ToolbarTextButton.d.ts +0 -9
  106. package/dist/components/Toolbar/ToolbarTextButton.d.ts.map +0 -1
  107. package/dist/components/Toolbar/ToolbarTextButton.js +0 -18
  108. package/dist/components/Toolbar/ToolbarTextButton.js.map +0 -1
  109. package/dist/components/Toolbar/index.d.ts +0 -17
  110. package/dist/components/Toolbar/index.d.ts.map +0 -1
  111. package/dist/components/Toolbar/index.js +0 -26
  112. package/dist/components/Toolbar/index.js.map +0 -1
  113. package/dist/components/Toolbar/styles.js +0 -84
  114. package/dist/components/Toolbar/styles.js.map +0 -1
  115. package/dist/components/Toolbar/types.d.ts +0 -40
  116. package/dist/components/Toolbar/types.d.ts.map +0 -1
  117. package/dist/components/accordion/Accordion.d.ts +0 -20
  118. package/dist/components/accordion/Accordion.d.ts.map +0 -1
  119. package/dist/components/accordion/Accordion.js +0 -60
  120. package/dist/components/accordion/Accordion.js.map +0 -1
  121. package/dist/components/accordion/AccordionItem.d.ts +0 -19
  122. package/dist/components/accordion/AccordionItem.d.ts.map +0 -1
  123. package/dist/components/accordion/AccordionItem.js +0 -22
  124. package/dist/components/accordion/AccordionItem.js.map +0 -1
  125. package/dist/components/accordion/AccordionItemButton.d.ts +0 -10
  126. package/dist/components/accordion/AccordionItemButton.d.ts.map +0 -1
  127. package/dist/components/accordion/AccordionItemButton.js +0 -8
  128. package/dist/components/accordion/AccordionItemButton.js.map +0 -1
  129. package/dist/components/accordion/AccordionItemContent.d.ts +0 -7
  130. package/dist/components/accordion/AccordionItemContent.d.ts.map +0 -1
  131. package/dist/components/accordion/AccordionItemContent.js +0 -50
  132. package/dist/components/accordion/AccordionItemContent.js.map +0 -1
  133. package/dist/components/accordion/KeyHandler.js +0 -77
  134. package/dist/components/accordion/KeyHandler.js.map +0 -1
  135. package/dist/components/accordion/context.d.ts +0 -10
  136. package/dist/components/accordion/context.d.ts.map +0 -1
  137. package/dist/components/accordion/context.js +0 -13
  138. package/dist/components/accordion/context.js.map +0 -1
  139. package/dist/components/accordion/defaultElements/Checkbox.js +0 -22
  140. package/dist/components/accordion/defaultElements/Checkbox.js.map +0 -1
  141. package/dist/components/accordion/defaultElements/DefaultAccordionItemButton.d.ts +0 -40
  142. package/dist/components/accordion/defaultElements/DefaultAccordionItemButton.d.ts.map +0 -1
  143. package/dist/components/accordion/defaultElements/DefaultAccordionItemButton.js +0 -79
  144. package/dist/components/accordion/defaultElements/DefaultAccordionItemButton.js.map +0 -1
  145. package/dist/components/accordion/defaultElements/useIsChecked.js +0 -25
  146. package/dist/components/accordion/defaultElements/useIsChecked.js.map +0 -1
  147. package/dist/components/accordion/handler.d.ts +0 -40
  148. package/dist/components/accordion/handler.d.ts.map +0 -1
  149. package/dist/components/accordion/handler.js +0 -118
  150. package/dist/components/accordion/handler.js.map +0 -1
  151. package/dist/components/accordion/index.d.ts +0 -8
  152. package/dist/components/accordion/index.d.ts.map +0 -1
  153. package/dist/components/accordion/types.d.ts +0 -11
  154. package/dist/components/accordion/types.d.ts.map +0 -1
  155. package/dist/components/apia/ApiaDateFilter.js +0 -57
  156. package/dist/components/apia/ApiaDateFilter.js.map +0 -1
  157. package/dist/components/apia/ApiaFilter.d.ts +0 -13
  158. package/dist/components/apia/ApiaFilter.d.ts.map +0 -1
  159. package/dist/components/apia/ApiaFilter.js +0 -128
  160. package/dist/components/apia/ApiaFilter.js.map +0 -1
  161. package/dist/components/buttons/useOtherTagButton.d.ts +0 -28
  162. package/dist/components/buttons/useOtherTagButton.d.ts.map +0 -1
  163. package/dist/components/buttons/useOtherTagButton.js +0 -38
  164. package/dist/components/buttons/useOtherTagButton.js.map +0 -1
  165. package/dist/components/collapsiblePanel/index.d.ts +0 -7
  166. package/dist/components/collapsiblePanel/index.d.ts.map +0 -1
  167. package/dist/components/collapsiblePanel/index.js +0 -130
  168. package/dist/components/collapsiblePanel/index.js.map +0 -1
  169. package/dist/components/collapsiblePanel/styles.js +0 -4
  170. package/dist/components/collapsiblePanel/styles.js.map +0 -1
  171. package/dist/components/collapsiblePanel/types.d.ts +0 -23
  172. package/dist/components/collapsiblePanel/types.d.ts.map +0 -1
  173. package/dist/components/dialogs/AlertModal.d.ts +0 -11
  174. package/dist/components/dialogs/AlertModal.d.ts.map +0 -1
  175. package/dist/components/dialogs/AlertModal.js +0 -42
  176. package/dist/components/dialogs/AlertModal.js.map +0 -1
  177. package/dist/components/dialogs/ConfirmModal.d.ts +0 -25
  178. package/dist/components/dialogs/ConfirmModal.d.ts.map +0 -1
  179. package/dist/components/dialogs/ConfirmModal.js +0 -45
  180. package/dist/components/dialogs/ConfirmModal.js.map +0 -1
  181. package/dist/components/forms/Captcha.d.ts +0 -12
  182. package/dist/components/forms/Captcha.d.ts.map +0 -1
  183. package/dist/components/forms/Captcha.js +0 -66
  184. package/dist/components/forms/Captcha.js.map +0 -1
  185. package/dist/components/forms/Checkbox.d.ts +0 -21
  186. package/dist/components/forms/Checkbox.d.ts.map +0 -1
  187. package/dist/components/forms/Checkbox.js +0 -124
  188. package/dist/components/forms/Checkbox.js.map +0 -1
  189. package/dist/components/forms/DateInput.d.ts +0 -44
  190. package/dist/components/forms/DateInput.d.ts.map +0 -1
  191. package/dist/components/forms/DateInput.js +0 -246
  192. package/dist/components/forms/DateInput.js.map +0 -1
  193. package/dist/components/forms/FieldErrorMessage.d.ts +0 -10
  194. package/dist/components/forms/FieldErrorMessage.d.ts.map +0 -1
  195. package/dist/components/forms/FieldErrorMessage.js +0 -34
  196. package/dist/components/forms/FieldErrorMessage.js.map +0 -1
  197. package/dist/components/forms/FieldLabel.d.ts +0 -40
  198. package/dist/components/forms/FieldLabel.d.ts.map +0 -1
  199. package/dist/components/forms/FieldLabel.js +0 -66
  200. package/dist/components/forms/FieldLabel.js.map +0 -1
  201. package/dist/components/forms/IconInput.d.ts +0 -28
  202. package/dist/components/forms/IconInput.d.ts.map +0 -1
  203. package/dist/components/forms/IconInput.js +0 -80
  204. package/dist/components/forms/IconInput.js.map +0 -1
  205. package/dist/components/forms/NumberInput.d.ts +0 -37
  206. package/dist/components/forms/NumberInput.d.ts.map +0 -1
  207. package/dist/components/forms/NumberInput.js +0 -149
  208. package/dist/components/forms/NumberInput.js.map +0 -1
  209. package/dist/components/forms/RequiredMark.d.ts +0 -14
  210. package/dist/components/forms/RequiredMark.d.ts.map +0 -1
  211. package/dist/components/forms/RequiredMark.js +0 -13
  212. package/dist/components/forms/RequiredMark.js.map +0 -1
  213. package/dist/components/forms/buttons/BaseButton.d.ts +0 -24
  214. package/dist/components/forms/buttons/BaseButton.d.ts.map +0 -1
  215. package/dist/components/forms/buttons/BaseButton.js +0 -58
  216. package/dist/components/forms/buttons/BaseButton.js.map +0 -1
  217. package/dist/components/forms/buttons/IconButton.d.ts +0 -37
  218. package/dist/components/forms/buttons/IconButton.d.ts.map +0 -1
  219. package/dist/components/forms/buttons/IconButton.js +0 -79
  220. package/dist/components/forms/buttons/IconButton.js.map +0 -1
  221. package/dist/components/forms/buttons/SimpleButton.d.ts +0 -21
  222. package/dist/components/forms/buttons/SimpleButton.d.ts.map +0 -1
  223. package/dist/components/forms/buttons/SimpleButton.js +0 -94
  224. package/dist/components/forms/buttons/SimpleButton.js.map +0 -1
  225. package/dist/components/forms/util/style.d.ts +0 -7
  226. package/dist/components/forms/util/style.d.ts.map +0 -1
  227. package/dist/components/forms/util/style.js +0 -17
  228. package/dist/components/forms/util/style.js.map +0 -1
  229. package/dist/components/importComponent.d.ts +0 -11
  230. package/dist/components/importComponent.d.ts.map +0 -1
  231. package/dist/components/importComponent.js +0 -25
  232. package/dist/components/importComponent.js.map +0 -1
  233. package/dist/components/loaders/LinearLoader.d.ts +0 -6
  234. package/dist/components/loaders/LinearLoader.d.ts.map +0 -1
  235. package/dist/components/loaders/LinearLoader.js +0 -33
  236. package/dist/components/loaders/LinearLoader.js.map +0 -1
  237. package/dist/components/loaders/LoaderSpinner.d.ts +0 -10
  238. package/dist/components/loaders/LoaderSpinner.d.ts.map +0 -1
  239. package/dist/components/loaders/LoaderSpinner.js +0 -26
  240. package/dist/components/loaders/LoaderSpinner.js.map +0 -1
  241. package/dist/components/loaders/ProgressBar.d.ts +0 -11
  242. package/dist/components/loaders/ProgressBar.d.ts.map +0 -1
  243. package/dist/components/loaders/ProgressBar.js +0 -39
  244. package/dist/components/loaders/ProgressBar.js.map +0 -1
  245. package/dist/components/modals/CalendarModal.d.ts +0 -13
  246. package/dist/components/modals/CalendarModal.d.ts.map +0 -1
  247. package/dist/components/modals/CalendarModal.js +0 -43
  248. package/dist/components/modals/CalendarModal.js.map +0 -1
  249. package/dist/components/modals/Modal.d.ts +0 -160
  250. package/dist/components/modals/Modal.d.ts.map +0 -1
  251. package/dist/components/modals/Modal.js +0 -17
  252. package/dist/components/modals/Modal.js.map +0 -1
  253. package/dist/components/modals/ModalContext.d.ts +0 -9
  254. package/dist/components/modals/ModalContext.d.ts.map +0 -1
  255. package/dist/components/modals/ModalContext.js +0 -12
  256. package/dist/components/modals/ModalContext.js.map +0 -1
  257. package/dist/components/modals/Overlay.d.ts +0 -21
  258. package/dist/components/modals/Overlay.d.ts.map +0 -1
  259. package/dist/components/modals/Overlay.js +0 -75
  260. package/dist/components/modals/Overlay.js.map +0 -1
  261. package/dist/components/modals/StaticModal.js +0 -175
  262. package/dist/components/modals/StaticModal.js.map +0 -1
  263. package/dist/components/modals/WindowModal.js +0 -214
  264. package/dist/components/modals/WindowModal.js.map +0 -1
  265. package/dist/components/modals/hooks/useEscapeKey.js +0 -32
  266. package/dist/components/modals/hooks/useEscapeKey.js.map +0 -1
  267. package/dist/components/modals/hooks/useInitialFocus.js +0 -37
  268. package/dist/components/modals/hooks/useInitialFocus.js.map +0 -1
  269. package/dist/components/modals/hooks/useModal.d.ts +0 -97
  270. package/dist/components/modals/hooks/useModal.d.ts.map +0 -1
  271. package/dist/components/modals/hooks/useModal.js +0 -73
  272. package/dist/components/modals/hooks/useModal.js.map +0 -1
  273. package/dist/components/modals/hooks/useStyleState.js +0 -44
  274. package/dist/components/modals/hooks/useStyleState.js.map +0 -1
  275. package/dist/components/modals/layout/Confirm.d.ts +0 -7
  276. package/dist/components/modals/layout/Confirm.d.ts.map +0 -1
  277. package/dist/components/modals/layout/Confirm.js +0 -96
  278. package/dist/components/modals/layout/Confirm.js.map +0 -1
  279. package/dist/components/modals/layout/DialogButtonBar.d.ts +0 -10
  280. package/dist/components/modals/layout/DialogButtonBar.d.ts.map +0 -1
  281. package/dist/components/modals/layout/DialogButtonBar.js +0 -19
  282. package/dist/components/modals/layout/DialogButtonBar.js.map +0 -1
  283. package/dist/components/modals/layout/DialogHeader.d.ts +0 -18
  284. package/dist/components/modals/layout/DialogHeader.d.ts.map +0 -1
  285. package/dist/components/modals/layout/DialogHeader.js +0 -117
  286. package/dist/components/modals/layout/DialogHeader.js.map +0 -1
  287. package/dist/components/responsive/AutoEllipsis.d.ts +0 -21
  288. package/dist/components/responsive/AutoEllipsis.d.ts.map +0 -1
  289. package/dist/components/responsive/AutoEllipsis.js +0 -128
  290. package/dist/components/responsive/AutoEllipsis.js.map +0 -1
  291. package/dist/components/responsive/makeResponsiveComponent.d.ts +0 -38
  292. package/dist/components/responsive/makeResponsiveComponent.d.ts.map +0 -1
  293. package/dist/components/responsive/makeResponsiveComponent.js +0 -88
  294. package/dist/components/responsive/makeResponsiveComponent.js.map +0 -1
  295. package/dist/components/types.d.ts +0 -5
  296. package/dist/components/types.d.ts.map +0 -1
  297. package/dist/components/waiAriaHelpers/typeAhead.d.ts +0 -44
  298. package/dist/components/waiAriaHelpers/typeAhead.d.ts.map +0 -1
  299. package/dist/components/waiAriaHelpers/typeAhead.js +0 -75
  300. package/dist/components/waiAriaHelpers/typeAhead.js.map +0 -1
  301. package/dist/globalFocus.js +0 -95
  302. package/dist/globalFocus.js.map +0 -1
  303. package/dist/hooks/useBodyScrollLock.js +0 -106
  304. package/dist/hooks/useBodyScrollLock.js.map +0 -1
  305. package/dist/objects/ApiaUtil/dialogs/ApiaUtilDialogs.d.ts +0 -18
  306. package/dist/objects/ApiaUtil/dialogs/ApiaUtilDialogs.d.ts.map +0 -1
  307. package/dist/objects/ApiaUtil/dialogs/ApiaUtilDialogs.js +0 -116
  308. package/dist/objects/ApiaUtil/dialogs/ApiaUtilDialogs.js.map +0 -1
  309. package/dist/objects/ApiaUtil/index.d.ts +0 -27
  310. package/dist/objects/ApiaUtil/index.d.ts.map +0 -1
  311. package/dist/objects/ApiaUtil/index.js +0 -76
  312. package/dist/objects/ApiaUtil/index.js.map +0 -1
  313. package/dist/objects/ApiaUtil/menu/ApiaUtilMenu.d.ts +0 -24
  314. package/dist/objects/ApiaUtil/menu/ApiaUtilMenu.d.ts.map +0 -1
  315. package/dist/objects/ApiaUtil/menu/ApiaUtilMenu.js +0 -110
  316. package/dist/objects/ApiaUtil/menu/ApiaUtilMenu.js.map +0 -1
  317. package/dist/objects/ApiaUtil/modals/ApiaUtilModals.d.ts +0 -17
  318. package/dist/objects/ApiaUtil/modals/ApiaUtilModals.d.ts.map +0 -1
  319. package/dist/objects/ApiaUtil/modals/ApiaUtilModals.js +0 -111
  320. package/dist/objects/ApiaUtil/modals/ApiaUtilModals.js.map +0 -1
  321. package/dist/objects/ApiaUtil/modals/OpenModal.d.ts +0 -8
  322. package/dist/objects/ApiaUtil/modals/OpenModal.d.ts.map +0 -1
  323. package/dist/objects/ApiaUtil/modals/OpenModal.js +0 -19
  324. package/dist/objects/ApiaUtil/modals/OpenModal.js.map +0 -1
  325. package/dist/objects/ApiaUtil/mouse/ApiaUtilMouse.d.ts +0 -19
  326. package/dist/objects/ApiaUtil/mouse/ApiaUtilMouse.d.ts.map +0 -1
  327. package/dist/objects/ApiaUtil/mouse/ApiaUtilMouse.js +0 -26
  328. package/dist/objects/ApiaUtil/mouse/ApiaUtilMouse.js.map +0 -1
  329. package/dist/objects/ApiaUtil/notifications/ApiaUtilNotifications.d.ts +0 -14
  330. package/dist/objects/ApiaUtil/notifications/ApiaUtilNotifications.d.ts.map +0 -1
  331. package/dist/objects/ApiaUtil/notifications/ApiaUtilNotifications.js +0 -33
  332. package/dist/objects/ApiaUtil/notifications/ApiaUtilNotifications.js.map +0 -1
  333. package/dist/objects/ApiaUtil/parsers/ApiaUtilParsers.d.ts +0 -23
  334. package/dist/objects/ApiaUtil/parsers/ApiaUtilParsers.d.ts.map +0 -1
  335. package/dist/objects/ApiaUtil/parsers/ApiaUtilParsers.js +0 -79
  336. package/dist/objects/ApiaUtil/parsers/ApiaUtilParsers.js.map +0 -1
  337. package/dist/objects/ApiaUtil/tabs/ApiaUtilCurrentTab.d.ts +0 -33
  338. package/dist/objects/ApiaUtil/tabs/ApiaUtilCurrentTab.d.ts.map +0 -1
  339. package/dist/objects/ApiaUtil/tabs/ApiaUtilCurrentTab.js +0 -50
  340. package/dist/objects/ApiaUtil/tabs/ApiaUtilCurrentTab.js.map +0 -1
  341. package/dist/objects/ApiaUtil/tabs/ApiaUtilTabsController.d.ts +0 -20
  342. package/dist/objects/ApiaUtil/tabs/ApiaUtilTabsController.d.ts.map +0 -1
  343. package/dist/objects/ApiaUtil/tabs/ApiaUtilTabsController.js +0 -37
  344. package/dist/objects/ApiaUtil/tabs/ApiaUtilTabsController.js.map +0 -1
  345. package/dist/objects/ApiaUtil/tabs/util.js +0 -17
  346. package/dist/objects/ApiaUtil/tabs/util.js.map +0 -1
  347. package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltip.d.ts +0 -11
  348. package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltip.d.ts.map +0 -1
  349. package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltip.js +0 -17
  350. package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltip.js.map +0 -1
  351. package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltips.d.ts +0 -22
  352. package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltips.d.ts.map +0 -1
  353. package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltips.js +0 -104
  354. package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltips.js.map +0 -1
  355. package/dist/objects/ApiaUtil/tooltips/AutomaticTooltip.d.ts +0 -13
  356. package/dist/objects/ApiaUtil/tooltips/AutomaticTooltip.d.ts.map +0 -1
  357. package/dist/objects/ApiaUtil/tooltips/AutomaticTooltip.js +0 -79
  358. package/dist/objects/ApiaUtil/tooltips/AutomaticTooltip.js.map +0 -1
  359. package/dist/objects/ApiaUtil/tooltips/tooltip/Tooltip.js +0 -62
  360. package/dist/objects/ApiaUtil/tooltips/tooltip/Tooltip.js.map +0 -1
  361. package/dist/objects/ApiaUtil/tooltips/tooltip/types.d.ts +0 -117
  362. package/dist/objects/ApiaUtil/tooltips/tooltip/types.d.ts.map +0 -1
  363. package/dist/objects/ApiaUtil/tooltips/tooltip/util.js +0 -273
  364. package/dist/objects/ApiaUtil/tooltips/tooltip/util.js.map +0 -1
  365. package/dist/objects/ScreenLocker/index.d.ts +0 -37
  366. package/dist/objects/ScreenLocker/index.d.ts.map +0 -1
  367. package/dist/objects/ScreenLocker/index.js +0 -92
  368. package/dist/objects/ScreenLocker/index.js.map +0 -1
  369. package/dist/tabs/Content.d.ts +0 -7
  370. package/dist/tabs/Content.d.ts.map +0 -1
  371. package/dist/tabs/Content.js +0 -52
  372. package/dist/tabs/Content.js.map +0 -1
  373. package/dist/tabs/ContextMenu.js +0 -77
  374. package/dist/tabs/ContextMenu.js.map +0 -1
  375. package/dist/tabs/Item.js +0 -64
  376. package/dist/tabs/Item.js.map +0 -1
  377. package/dist/tabs/Tabs.d.ts +0 -8
  378. package/dist/tabs/Tabs.d.ts.map +0 -1
  379. package/dist/tabs/Tabs.js +0 -78
  380. package/dist/tabs/Tabs.js.map +0 -1
  381. package/dist/tabs/TabsList.d.ts +0 -8
  382. package/dist/tabs/TabsList.d.ts.map +0 -1
  383. package/dist/tabs/TabsList.js +0 -138
  384. package/dist/tabs/TabsList.js.map +0 -1
  385. package/dist/tabs/renderers/DefaultTabsLabelRenderer.d.ts +0 -6
  386. package/dist/tabs/renderers/DefaultTabsLabelRenderer.d.ts.map +0 -1
  387. package/dist/tabs/renderers/DefaultTabsLabelRenderer.js +0 -71
  388. package/dist/tabs/renderers/DefaultTabsLabelRenderer.js.map +0 -1
  389. package/dist/tabs/tabsController.d.ts +0 -41
  390. package/dist/tabs/tabsController.d.ts.map +0 -1
  391. package/dist/tabs/tabsController.js +0 -303
  392. package/dist/tabs/tabsController.js.map +0 -1
  393. package/dist/tabs/types.d.ts +0 -115
  394. package/dist/tabs/types.d.ts.map +0 -1
  395. package/dist/tabs/useTabsList.js +0 -20
  396. package/dist/tabs/useTabsList.js.map +0 -1
  397. package/dist/tabs/util.js +0 -11
  398. package/dist/tabs/util.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -1,71 +1,1778 @@
1
- export { TAccordionHandler } from './components/accordion/index.js';
2
- export { ApiaFilter, IApiaFilter } from './components/apia/ApiaFilter.js';
3
- export { CollapsiblePanel } from './components/collapsiblePanel/index.js';
4
- export { AlertModal, IAlert } from './components/dialogs/AlertModal.js';
5
- export { ConfirmModal, IConfirm } from './components/dialogs/ConfirmModal.js';
6
- export { BaseButton } from './components/forms/buttons/BaseButton.js';
7
- export { IconButton, TApiaIconButton, TIconButton, TIconSize } from './components/forms/buttons/IconButton.js';
8
- export { ISimpleButton, SimpleButton } from './components/forms/buttons/SimpleButton.js';
9
- export { useOtherTagButton } from './components/buttons/useOtherTagButton.js';
10
- export { Captcha } from './components/forms/Captcha.js';
11
- export { Checkbox, TCheckbox } from './components/forms/Checkbox.js';
12
- export { DateInput, TDateProps } from './components/forms/DateInput.js';
13
- export { FieldErrorMessage, IFieldErrorMessage } from './components/forms/FieldErrorMessage.js';
14
- export { IField, IIconInput, IconInput } from './components/forms/IconInput.js';
15
- export { NumberInput, TNumberInput, TNumberInputChangeEvent, parseNumberInputValueToNumber, parseNumberValueToNumberInput } from './components/forms/NumberInput.js';
16
- export { IRequiredMark, RequiredMark } from './components/forms/RequiredMark.js';
17
- export { getFieldErrorStyles, getFieldTouchedStyles } from './components/forms/util/style.js';
18
- export { FieldLabel, TFieldLabel } from './components/forms/FieldLabel.js';
19
- export { Listbox, TOnClickNode, TOnConfirmSelection, TOnSelectionChange } from './components/ListBox/index.js';
20
- export { default as LinearLoader } from './components/loaders/LinearLoader.js';
21
- export { default as ProgressBar } from './components/loaders/ProgressBar.js';
22
- export { default as LoaderSpinner } from './components/loaders/LoaderSpinner.js';
23
- export { useModalContext } from './components/modals/ModalContext.js';
24
- export { CalendarModal, ICalendarModal } from './components/modals/CalendarModal.js';
25
- export { TUseModalConfiguration, useModal } from './components/modals/hooks/useModal.js';
26
- export { Confirm } from './components/modals/layout/Confirm.js';
27
- export { DialogButtonBar, IDialogButtonBar } from './components/modals/layout/DialogButtonBar.js';
28
- export { IDialogHeader } from './components/modals/layout/DialogHeader.js';
29
- export { Modal, TModal } from './components/modals/Modal.js';
30
- export { IOverlay, Overlay } from './components/modals/Overlay.js';
31
- export { AutoEllipsis } from './components/responsive/AutoEllipsis.js';
32
- export { IResponsiveComponent, makeResponsiveComponent } from './components/responsive/makeResponsiveComponent.js';
33
- export { TApiaButtonType, TModalSize } from './components/types.js';
34
- export { WaiTypeAhead } from './components/waiAriaHelpers/typeAhead.js';
35
- export { IconsList } from './components/IconsList/index.js';
36
- export { importComponent } from './components/importComponent.js';
37
- export { Toolbar } from './components/Toolbar/index.js';
38
- export { SortableList, UnstyledSortableList } from './components/SortableList/index.js';
39
- export { TabsList } from './tabs/TabsList.js';
40
- export { DefaultTabsLabelRenderer } from './tabs/renderers/DefaultTabsLabelRenderer.js';
41
- export { default as TabsController } from './tabs/tabsController.js';
42
- export { TabsContent } from './tabs/Content.js';
43
- export { TTab, TTabRenderer } from './tabs/types.js';
44
- export { Tabs } from './tabs/Tabs.js';
45
- export { ApiaUtil } from './objects/ApiaUtil/index.js';
1
+ import * as React$1 from 'react';
2
+ import React__default, { ReactNode, Ref, RefObject, ChangeEventHandler, MouseEvent as MouseEvent$1, KeyboardEvent, FC, FunctionComponent, ForwardedRef, ComponentType, ReactElement } from 'react';
3
+ import * as _apia_util from '@apia/util';
4
+ import { IOnFocusConfiguration, TFocusRetriever, TId as TId$1, EventEmitter, StatefulEmitter, TModify, TApiaFilter, TApiaFilterValue } from '@apia/util';
5
+ import { BoxProps, TPalette, ThemeUIStyleObject, IconButtonProps, ButtonProps, ThemeUICSSObject, InputProps, SelectProps } from '@apia/theme';
6
+ import { TIconName, TIconType } from '@apia/icons';
7
+ import { Args } from 'react-cool-portal';
8
+ import * as _apia_notifications from '@apia/notifications';
9
+ import { TNotificationId, INotification, TDispatchedNotification, TNotificationSelector } from '@apia/notifications';
46
10
  export { INotification, TDispatchedNotification } from '@apia/notifications';
47
- export { TOpenModal } from './objects/ApiaUtil/modals/OpenModal.js';
11
+ import { MenuItemProps, ControlledMenuProps } from '@szhsin/react-menu';
48
12
  export { ControlledMenuProps, MenuItemProps } from '@szhsin/react-menu';
49
- export { ApiaUtilTooltip } from './objects/ApiaUtil/tooltips/ApiaUtilTooltip.js';
50
- export { ApiaUtilModalHandler } from './objects/ApiaUtil/modals/ApiaUtilModals.js';
51
- export { TMenuItem, TSubmenu } from './objects/ApiaUtil/menu/ApiaUtilMenu.js';
52
- export { ScreenLocker } from './objects/ScreenLocker/index.js';
53
- export { Accordion, IAccordionProps } from './components/accordion/Accordion.js';
54
- export { AccordionItem, IAccordionItemProps } from './components/accordion/AccordionItem.js';
55
- export { AccordionItemButton, TAccordionItemButton } from './components/accordion/AccordionItemButton.js';
56
- export { AccordionItemContent } from './components/accordion/AccordionItemContent.js';
57
- export { AccordionContext, AccordionItemContext, useAccordionContext } from './components/accordion/context.js';
58
- export { DefaultAccordionItemButton, IAccordionItemButton } from './components/accordion/defaultElements/DefaultAccordionItemButton.js';
59
- export { TListbox } from './components/ListBox/ListboxContext.js';
60
- export { ListboxItem } from './components/ListBox/ListboxItem.js';
61
- export { TIcon, TIconRenderer, TIconsList } from './components/IconsList/types.js';
62
- export { DefaultIconRenderer } from './components/IconsList/renderers/DefaultIconRenderer.js';
63
- export { TToolbarIconButton as TToolDefinition } from './components/Toolbar/types.js';
64
- export { ToolbarIconButton } from './components/Toolbar/ToolbarIconButton.js';
65
- export { ToolbarInput } from './components/Toolbar/ToolbarInput.js';
66
- export { ToolbarTextButton } from './components/Toolbar/ToolbarTextButton.js';
67
- export { ToolbarController } from './components/Toolbar/ToolbarController.js';
68
- export { ToolbarSeparator } from './components/Toolbar/ToolbarSeparator.js';
69
- export { ToolbarSelect } from './components/Toolbar/ToolbarSelect.js';
70
- export { SortableListItem } from './components/SortableList/SortableListItem.js';
13
+
14
+ type TModalSize = 'editGrid' | 'sm' | 'md' | 'md-fixed' | 'lg' | 'lg-fixed' | 'xl' | 'xl-fixed' | 'xxl' | 'xxxl' | 'xxxl-fixed' | 'flex' | 'cal' | 'finder';
15
+ type TApiaButtonType = 'primary' | 'primary-sm' | 'secondary' | 'light-secondary' | 'secondary-sm' | 'danger' | 'danger-sm' | 'outline' | 'outline-sm' | 'warning' | 'warning-sm' | 'link';
16
+
17
+ interface IDialogHeader {
18
+ className?: string;
19
+ close: () => void;
20
+ hideCloseButton?: boolean;
21
+ id?: string;
22
+ NavBar?: React__default.ReactNode;
23
+ title?: string;
24
+ }
25
+ declare global {
26
+ interface Window {
27
+ BTN_CLOSE: string;
28
+ }
29
+ }
30
+
31
+ type TModal = {
32
+ animationDuration?: number;
33
+ /**
34
+ * Aplica solamente para modales que tengan draggable=true.
35
+ */
36
+ defaultPosition?: {
37
+ left?: string;
38
+ right?: string;
39
+ top?: string;
40
+ bottom?: string;
41
+ };
42
+ /**
43
+ * Si esta variable está en true, el modal se comportará más como una ventana
44
+ * que como un modal
45
+ */
46
+ draggable?: boolean;
47
+ children?: React__default.ReactNode;
48
+ className?: string;
49
+ id?: string;
50
+ initialFocusConfiguration?: IOnFocusConfiguration;
51
+ /**
52
+ * Este retriever será pasado al método focus.on para realizar el foco en el
53
+ * elemento inicial del modal.
54
+ *
55
+ * @see focus
56
+ */
57
+ initialFocusGetter?: (modalInnerRef: HTMLElement) => ReturnType<TFocusRetriever>;
58
+ /**
59
+ * Si se pasa un ref, el modal hará foco sobre el elemento una vez que haya
60
+ * abierto.
61
+ */
62
+ initialFocusRef?: React__default.RefObject<unknown>;
63
+ /**
64
+ * Controla el estado del modal, indicando a la transición de apertura o
65
+ * cierre que debe comenzar, dependiendo de si cambia a true o false
66
+ * respectivamente.
67
+ */
68
+ isOpen?: boolean;
69
+ maxWidth?: number | string;
70
+ /**
71
+ * Permite pasar un componente React que se mostrará a la derecha del título,
72
+ * con el fin de incorporar botones en el header del modal.
73
+ */
74
+ NavBar?: React__default.ReactNode;
75
+ noFocus?: boolean;
76
+ noHeader?: boolean;
77
+ /**
78
+ * Permite definir un callback que será llamado solamente cuando el modal se
79
+ * cierre por medio del click en el overlay, al presionar escape o mediante
80
+ * el botón cerrar del header (La X).
81
+ */
82
+ onClose?: () => void;
83
+ /**
84
+ * Este método recibe el evento del mousedown utilizado para controllar el dragstart. Si el usuario devuelve false, el drag no será realizado.
85
+ */
86
+ onDragStart?: (ev: MouseEvent) => boolean;
87
+ /**
88
+ * Permite definir un callback que será llamado siempre que el modal se
89
+ * cierre, una vez que la animación haya terminado.
90
+ */
91
+ onExited?: () => unknown;
92
+ /**
93
+ * Al pasar un Portal, el modal se abrirá dentro de éste y no directamente en
94
+ * la posición actual dentro del árbol de componentes. Normalmente, este
95
+ * Portal es pasado automáticamente por el hook useModal (No el de la
96
+ * librería, sino el nuestro).
97
+ *
98
+ * @see useModal
99
+ */
100
+ Portal?: React__default.FC<{
101
+ children: React__default.ReactNode;
102
+ }>;
103
+ /**
104
+ * Si es true, el modal será cerrado al presionar escape.
105
+ */
106
+ shouldCloseOnEsc?: boolean;
107
+ /**
108
+ * Si es true, el modal será cerrado al hacer clic en el overlay.
109
+ */
110
+ shouldCloseOnOverlayClick?: boolean;
111
+ size?: TModalSize;
112
+ stretch?: boolean;
113
+ title?: string;
114
+ variant?: string;
115
+ } & Pick<IDialogHeader, 'hideCloseButton'>;
116
+ declare const Modal: React__default.ForwardRefExoticComponent<{
117
+ animationDuration?: number | undefined;
118
+ /**
119
+ * Aplica solamente para modales que tengan draggable=true.
120
+ */
121
+ defaultPosition?: {
122
+ left?: string | undefined;
123
+ right?: string | undefined;
124
+ top?: string | undefined;
125
+ bottom?: string | undefined;
126
+ } | undefined;
127
+ /**
128
+ * Si esta variable está en true, el modal se comportará más como una ventana
129
+ * que como un modal
130
+ */
131
+ draggable?: boolean | undefined;
132
+ children?: React__default.ReactNode;
133
+ className?: string | undefined;
134
+ id?: string | undefined;
135
+ initialFocusConfiguration?: IOnFocusConfiguration | undefined;
136
+ /**
137
+ * Este retriever será pasado al método focus.on para realizar el foco en el
138
+ * elemento inicial del modal.
139
+ *
140
+ * @see focus
141
+ */
142
+ initialFocusGetter?: ((modalInnerRef: HTMLElement) => ReturnType<TFocusRetriever>) | undefined;
143
+ /**
144
+ * Si se pasa un ref, el modal hará foco sobre el elemento una vez que haya
145
+ * abierto.
146
+ */
147
+ initialFocusRef?: React__default.RefObject<unknown> | undefined;
148
+ /**
149
+ * Controla el estado del modal, indicando a la transición de apertura o
150
+ * cierre que debe comenzar, dependiendo de si cambia a true o false
151
+ * respectivamente.
152
+ */
153
+ isOpen?: boolean | undefined;
154
+ maxWidth?: string | number | undefined;
155
+ /**
156
+ * Permite pasar un componente React que se mostrará a la derecha del título,
157
+ * con el fin de incorporar botones en el header del modal.
158
+ */
159
+ NavBar?: React__default.ReactNode;
160
+ noFocus?: boolean | undefined;
161
+ noHeader?: boolean | undefined;
162
+ /**
163
+ * Permite definir un callback que será llamado solamente cuando el modal se
164
+ * cierre por medio del click en el overlay, al presionar escape o mediante
165
+ * el botón cerrar del header (La X).
166
+ */
167
+ onClose?: (() => void) | undefined;
168
+ /**
169
+ * Este método recibe el evento del mousedown utilizado para controllar el dragstart. Si el usuario devuelve false, el drag no será realizado.
170
+ */
171
+ onDragStart?: ((ev: MouseEvent) => boolean) | undefined;
172
+ /**
173
+ * Permite definir un callback que será llamado siempre que el modal se
174
+ * cierre, una vez que la animación haya terminado.
175
+ */
176
+ onExited?: (() => unknown) | undefined;
177
+ /**
178
+ * Al pasar un Portal, el modal se abrirá dentro de éste y no directamente en
179
+ * la posición actual dentro del árbol de componentes. Normalmente, este
180
+ * Portal es pasado automáticamente por el hook useModal (No el de la
181
+ * librería, sino el nuestro).
182
+ *
183
+ * @see useModal
184
+ */
185
+ Portal?: React__default.FC<{
186
+ children: React__default.ReactNode;
187
+ }> | undefined;
188
+ /**
189
+ * Si es true, el modal será cerrado al presionar escape.
190
+ */
191
+ shouldCloseOnEsc?: boolean | undefined;
192
+ /**
193
+ * Si es true, el modal será cerrado al hacer clic en el overlay.
194
+ */
195
+ shouldCloseOnOverlayClick?: boolean | undefined;
196
+ size?: TModalSize | undefined;
197
+ stretch?: boolean | undefined;
198
+ title?: string | undefined;
199
+ variant?: string | undefined;
200
+ } & Pick<IDialogHeader, "hideCloseButton"> & React__default.RefAttributes<HTMLDivElement>>;
201
+
202
+ type TOpenModal = Pick<TModal, 'NavBar' | 'Portal' | 'children' | 'className' | 'hideCloseButton' | 'initialFocusGetter' | 'initialFocusConfiguration' | 'maxWidth' | 'noHeader' | 'onExited' | 'shouldCloseOnEsc' | 'shouldCloseOnOverlayClick' | 'size' | 'stretch' | 'title' | 'variant' | 'draggable' | 'onClose' | 'onDragStart' | 'defaultPosition'> & {
203
+ id?: string;
204
+ children?: React__default.ReactNode;
205
+ confirmProps?: Omit<IConfirm, 'onConfirmOk' | 'onConfirmCancel' | 'children'>;
206
+ /**
207
+ * Determina si el modal debe abrirse al ser montado o no.
208
+ */
209
+ isDefaultOpen?: boolean;
210
+ /**
211
+ * El método onConfirm permite pasar un callback que devuelva una promesa. En
212
+ * caso de ser así, si esta promesa resuelve a true, el modal será cerrado o
213
+ * en caso contrario permanecerá abierto. Es útil en situaciones en donde es
214
+ * necesario corroborar una condición antes de cerrar el modal. En la
215
+ * situación en que se decida mantener el modal abierto, está a cargo del
216
+ * usuario del componente realizar las indicaciones visuales correspondientes
217
+ * para indicar al usuario el motivo por el cual el modal no fue cerrado.
218
+ */
219
+ onConfirm?: () => Promise<boolean> | boolean | void;
220
+ /**
221
+ * El método onCancel será llamado siempre que un usuario cierre el modal,
222
+ * excepto cuando haya presionado en onConfirm.
223
+ */
224
+ onCancel?: () => void;
225
+ /**
226
+ * Permite introducir html directamente dentro del contenedor del modal.
227
+ */
228
+ html?: string;
229
+ };
230
+
231
+ declare class ApiaUtilModalHandler {
232
+ private id;
233
+ close: () => void;
234
+ constructor(id: string, close: () => void);
235
+ }
236
+ declare class ApiaUtilModals {
237
+ #private;
238
+ constructor();
239
+ open(props: TOpenModal): ApiaUtilModalHandler;
240
+ Component: () => React$1.JSX.Element;
241
+ }
242
+
243
+ declare class ApiaUtilNotifications {
244
+ close: (id: TNotificationId | INotification) => void;
245
+ closeAll: () => void;
246
+ notify: (notification: TDispatchedNotification) => void;
247
+ useSelector: (selector: TNotificationSelector<any>) => INotification<_apia_notifications.TNotificationType>[];
248
+ Component: () => React$1.JSX.Element;
249
+ }
250
+
251
+ declare class ApiaUtilTabsController {
252
+ get currentTab(): Tab<TTab>;
253
+ closeTab(tabId: string, force?: boolean): void;
254
+ getHandler(): TabsController<TTab>;
255
+ /**
256
+ * openApiaTab y openTab son sinónimos.
257
+ */
258
+ openTab(title: string, url: string): Promise<TId$1>;
259
+ }
260
+
261
+ interface IConfirm {
262
+ additionalButtons?: ReactNode;
263
+ additionalButtonsOnRight?: ReactNode;
264
+ cancelButtonText?: string;
265
+ children: ReactNode;
266
+ className?: string;
267
+ confirmButtonText?: string;
268
+ confirmButtonVariant?: TApiaButtonType;
269
+ contentRef?: Ref<HTMLDivElement>;
270
+ disabled?: boolean;
271
+ hideCancelButton?: boolean;
272
+ hideConfirmButton?: boolean;
273
+ isLoading?: boolean;
274
+ onConfirm?: () => unknown;
275
+ onCancel?: () => unknown;
276
+ title?: string;
277
+ variant?: string;
278
+ }
279
+ declare const ConfirmModal: ({ onConfirm, onCancel, title, ...props }: IConfirm) => JSX.Element;
280
+
281
+ type TApiaUtilConfirm = Pick<IConfirm, 'additionalButtons' | 'additionalButtonsOnRight' | 'cancelButtonText' | 'children' | 'className' | 'confirmButtonText' | 'confirmButtonVariant' | 'contentRef' | 'hideCancelButton' | 'hideConfirmButton' | 'title' | 'variant'>;
282
+ type TAlert = {
283
+ children: ReactNode;
284
+ title: string;
285
+ };
286
+ declare class ApiaUtilDialogs {
287
+ #private;
288
+ alert(props: TAlert): Promise<void>;
289
+ confirm(props: TApiaUtilConfirm): Promise<boolean>;
290
+ Component: () => React$1.JSX.Element;
291
+ }
292
+
293
+ declare class ApiaUtilParsers {
294
+ #private;
295
+ /**
296
+ * Toma un número sin separadores de miles y lo devuelve en el formato
297
+ * establecido por los parámetros de Apia para separadores de miles y
298
+ * separadores de decimales.
299
+ */
300
+ addThousSeparator(nStr: string | number): string;
301
+ apiaNumber(pValue: number): number | string;
302
+ /**
303
+ * Toma un número en formato Apia y lo devuelve como float en javascript.
304
+ */
305
+ jsNumber(value: string): number;
306
+ /**
307
+ * Hay muchos valores que podrían querer ser interpretados como booleano
308
+ *
309
+ * Devuelve true si el valor coincide con true|T|t|1 y false si coincide con
310
+ * false|F|f|0. Si no coincide con ninguna de éstas hace throw de un error.
311
+ */
312
+ parseBool(val: string): boolean;
313
+ /**
314
+ * Toma una estructura bidimensional y la convierte a csv, usando el método
315
+ * String(...) sobre cada celda de datos.
316
+ */
317
+ toCsv(data: any[][], delimiter?: string): string;
318
+ /**
319
+ * Convierte un string a array de arrays, parseándolo en formato CSV, encontrando el delimitador en forma automática.
320
+ */
321
+ fromCsv(data: string): string[][];
322
+ }
323
+
324
+ type TAttachToElement = (() => HTMLElement) | RefObject<HTMLElement>;
325
+ type TPreferredOrientationX = 'left' | 'right';
326
+ type TPreferredOrientationY = 'top' | 'bottom';
327
+ type TSize = {
328
+ width: number;
329
+ height: number;
330
+ };
331
+ type TSizeWithAuto = {
332
+ width: number | 'auto';
333
+ height: number | 'auto';
334
+ };
335
+ type TPosition = {
336
+ left: number;
337
+ top: number;
338
+ };
339
+ type TAttachToElementAnchorPoint = 'center' | 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';
340
+ type TTooltip = {
341
+ /** Define el contenido del tooltip */
342
+ children?: ReactNode;
343
+ /**
344
+ * Indica si el tooltip se cierra con escape. Valor por defecto: true.
345
+ */
346
+ closeOnEscape?: boolean;
347
+ /**
348
+ * Indica si el tooltip se cierra al desplazar el puntero del mouse fuera del
349
+ * tooltip. Valor por defecto: true.
350
+ */
351
+ closeOnMouseLeaveTooltip?: boolean | ((ev: MouseEvent) => boolean);
352
+ /**
353
+ * Indica si el tooltip se cierra al desplazar el puntero del mouse fuera del
354
+ * elemento al que el tooltip está anclado. Valor por defecto: true.
355
+ */
356
+ closeOnMouseLeaveAttachedElement?: boolean | ((ev: MouseEvent) => boolean);
357
+ /**
358
+ * Indica si el tooltip se cierra al hacerle click. Valor por defecto: false.
359
+ */
360
+ closeOnClick?: boolean;
361
+ /**
362
+ * Indica si el tooltip se cierra al hacer click fuera de él. Valor por
363
+ * defecto: true.
364
+ */
365
+ closeOnClickOut?: boolean | ((ev: MouseEvent) => boolean);
366
+ /**
367
+ * Indica si el tooltip se cierra al hacer scroll en un elemento externo al
368
+ * tooltip. Valor por defecto: true.
369
+ */
370
+ closeOnScrollOut?: boolean;
371
+ /**
372
+ * Por defecto está en true. Cierra los demás tooltips al abrirse
373
+ */
374
+ closeOthers?: boolean;
375
+ /**
376
+ * Permite determinar sobre qué elemento se abre el tooltip
377
+ */
378
+ attachToElement?: TAttachToElement;
379
+ /**
380
+ * Cuando se desea hacer attach a un elemento, es posible posicionar el menú
381
+ * en cualquiera de los cuatro vétices definidos por el box que lo contiene o
382
+ * bien ubicarlo exactamente en el centro.
383
+ *
384
+ * Por defecto se colocará en topRight.
385
+ *
386
+ * Además el tooltip se extenderá según la orientación definida en los
387
+ * parámetros preferredOrientationX y preferredOrientationY.
388
+ */
389
+ attachToElementAnchorPoint?: TAttachToElementAnchorPoint;
390
+ attachToMousePosition?: boolean;
391
+ /**
392
+ * Permite indicar que el tooltip se abrirá en un punto específico. En caso
393
+ * de no indicar anchorPoint ni attachToElement se abrirá en {0,0}
394
+ */
395
+ anchorPoint?: TPosition;
396
+ /**
397
+ * El minSize define el espacio mínimo que debe existir para mostrar el
398
+ * tooltip. En caso de que en la orientación definida no exista espacio
399
+ * suficiente, el tooltip se mostrará en otra orientación que si lo permita.
400
+ */
401
+ minSize?: TSize;
402
+ /**
403
+ * El preferredSize define el espacio deseado que debería ocupar el tooltip.
404
+ * En caso de no haber espacio suficiente para cubrir este espacio en la
405
+ * orientación definida, se cubrirá todo el espacio disponible, siempre y
406
+ * cuando sea mayor o igual que minSize, en cuyo caso entrará en juego el
407
+ * comportamiento de minSize.
408
+ *
409
+ * Por defecto usa { height: 'auto', width: 'auto' }.
410
+ */
411
+ preferredSize?: TSizeWithAuto;
412
+ /**
413
+ * Posición en la que el tooltip se muestra en caso de que haya espacio
414
+ * suficiente, por defecto usa right.
415
+ */
416
+ preferredOrientationX?: TPreferredOrientationX;
417
+ /**
418
+ * Posición en la que el tooltip se muestra en caso de que haya espacio
419
+ * suficiente, por defecto usa bottom.
420
+ */
421
+ preferredOrientationY?: TPreferredOrientationY;
422
+ /**
423
+ * Permite agregar classNames al box contenedor.
424
+ */
425
+ className?: string;
426
+ /**
427
+ * Será llamado cuando el tooltip sea cerrado.
428
+ */
429
+ onClose?: () => unknown;
430
+ /**
431
+ * Variante del box contenedor. Por defecto usa
432
+ * layout.common.tooltips.primary.
433
+ */
434
+ variant?: string;
435
+ /**
436
+ * Si está presente, será llamado cuando monte el elemento HTML contenedor del tooltip, pasándose éste como parámetro y se situará el foco sobre el elemento devuelto.
437
+ */
438
+ initialFocusGetter?: (tooltip: HTMLElement) => HTMLElement | null;
439
+ [key: `data-${string}`]: string;
440
+ };
441
+
442
+ declare class ApiaUtilTooltip {
443
+ props: TTooltip;
444
+ close: () => void;
445
+ id: string;
446
+ constructor(props: TTooltip, close: () => void);
447
+ }
448
+
449
+ declare class AutomaticTooltip {
450
+ #private;
451
+ private handler;
452
+ ref: (el: HTMLElement | null) => void;
453
+ constructor(tooltip: Partial<TTooltip> | null | undefined, handler: ApiaUtilTooltips);
454
+ update: (tooltip: Partial<TTooltip>) => void;
455
+ }
456
+
457
+ declare class ApiaUtilTooltips {
458
+ #private;
459
+ tooltips: ApiaUtilTooltip[];
460
+ constructor();
461
+ /**
462
+ * Permite crear un tooltip que se abrirá automáticamente al estar parado
463
+ * sobre un elemento durante 300ms
464
+ */
465
+ useHover: (tooltip?: Partial<TTooltip>) => AutomaticTooltip;
466
+ close: (id: string) => void;
467
+ closeAll: () => void;
468
+ open: (tooltip: TTooltip) => ApiaUtilTooltip;
469
+ Component: () => React$1.JSX.Element;
470
+ }
471
+
472
+ type TSubmenu = {
473
+ label: string;
474
+ items: TMenuItems;
475
+ };
476
+ type TMenuItem = (MenuItemProps & {
477
+ key: string;
478
+ }) | 'separator' | TSubmenu;
479
+ type TMenuItems = TMenuItem[];
480
+ declare class ApiaUtilMenu {
481
+ #private;
482
+ menuProps: ControlledMenuProps | null;
483
+ close: () => void;
484
+ open: ({ menuProps, items, }: {
485
+ menuProps: ControlledMenuProps;
486
+ items: TMenuItems;
487
+ }) => void;
488
+ Component: () => React$1.JSX.Element | null;
489
+ }
490
+
491
+ declare class ApiaUtilMouse extends EventEmitter<{
492
+ updatePosition: {
493
+ x: number;
494
+ y: number;
495
+ };
496
+ }> {
497
+ x: number;
498
+ y: number;
499
+ get position(): {
500
+ x: number;
501
+ y: number;
502
+ };
503
+ constructor();
504
+ }
505
+
506
+ declare class ApiaUtil {
507
+ #private;
508
+ static get instance(): ApiaUtil;
509
+ private constructor();
510
+ dialogs: ApiaUtilDialogs;
511
+ menu: ApiaUtilMenu;
512
+ modals: ApiaUtilModals;
513
+ mouse: ApiaUtilMouse;
514
+ notifications: ApiaUtilNotifications;
515
+ parsers: ApiaUtilParsers;
516
+ tabs: ApiaUtilTabsController;
517
+ tooltips: ApiaUtilTooltips;
518
+ Component: () => React$1.JSX.Element;
519
+ }
520
+
521
+ declare const TabsList: (({ arrowsBehavior }: {
522
+ arrowsBehavior?: "open" | "focus" | undefined;
523
+ }) => React__default.JSX.Element | null) & {
524
+ displayName: string;
525
+ };
526
+
527
+ declare class Tab<TabType extends TTab = TTab> {
528
+ state: TabType;
529
+ controller: TabsController<TabType>;
530
+ constructor(state: TabType, controller: TabsController<TabType>);
531
+ get id(): string;
532
+ /**
533
+ * El parámetro force evita que se muestre cartel de confirmación al usuario cuando puede haber pérdida de datos.
534
+ */
535
+ close(force?: boolean): Promise<boolean>;
536
+ open(): void;
537
+ }
538
+ declare class TabsController<TabType extends TTab = TTab> {
539
+ #private;
540
+ id: string;
541
+ props: Omit<TabsControllerProps<TabType>, 'id'>;
542
+ state: TTabsListState<TabType>;
543
+ getActiveTab(): Tab<TabType>;
544
+ /**
545
+ * Es el tab que está abierto
546
+ */
547
+ get activeTab(): Tab<TabType>;
548
+ getTab(id: string): Tab<TabType> | undefined;
549
+ get tabsList(): Tab<TabType>[];
550
+ constructor(id: string, props: Omit<TabsControllerProps<TabType>, 'id'>);
551
+ /**
552
+ * Obviamente agrega un tab al listado de tabs
553
+ */
554
+ append(tab: TabType): void;
555
+ closeAll(closeFixedTabsAsWell?: boolean, force?: boolean): Promise<void>;
556
+ closeOpenTab(force?: boolean): void;
557
+ closeToRight(targetId: string, force?: boolean): Promise<void>;
558
+ closeToLeft(targetId: string, force?: boolean): Promise<void>;
559
+ closeOthers(targetId: string, force?: boolean): Promise<void>;
560
+ closeTab(tabId: string, force?: boolean): Promise<boolean>;
561
+ focusNextTab(): Tab<TabType> | null;
562
+ focusPreviousTab(): Tab<TabType> | null;
563
+ focusTab(tabId: string): void;
564
+ getTabElement(tabId: string): Element | null;
565
+ handleKeyDown(ev: React__default.KeyboardEvent): void;
566
+ openNextTab(): Tab<TabType> | null;
567
+ openPreviousTab(): Tab<TabType> | null;
568
+ /**
569
+ * Se utiliza para hacer que el tab aparezca visible en el listado
570
+ */
571
+ openTab(tabId: string): void;
572
+ }
573
+
574
+ type TOrientation = 'horizontal' | 'vertical';
575
+ type TabsControllerProps<TabType extends TTab> = {
576
+ id: string;
577
+ initialTabs?: TabType[];
578
+ getController?: (controller: TabsController) => unknown;
579
+ onCloseTab?: (tan: Tab) => void;
580
+ orientation: TOrientation;
581
+ };
582
+ type TTab = {
583
+ addEvent?: (ev: 'onFocusTab', cb: (ev: {
584
+ stop: () => void;
585
+ }) => unknown) => unknown;
586
+ content: React__default.FunctionComponent<{
587
+ tab: Tab;
588
+ }>;
589
+ icon?: TIconName | TIconType;
590
+ /**
591
+ * El id es importante ya que se utiliza por temas de accesibilidad. Es
592
+ * importante asegurarse de que sea único.
593
+ */
594
+ id: string;
595
+ isClosable?: boolean;
596
+ isDisabled?: boolean;
597
+ /**
598
+ * Los tabs que estén marcados como fixed aparecerán al inicio del listado.
599
+ */
600
+ isFixed?: boolean;
601
+ isFocused?: boolean;
602
+ /**
603
+ * Si se marca como iconTab, se oculta el label y solamente se muestra el
604
+ * ícono.
605
+ */
606
+ isIconTab?: boolean;
607
+ isLoading?: boolean;
608
+ isOpen?: boolean;
609
+ /**
610
+ * Si un tab se marca como lazy, el iframe no se inicializará hasta que no
611
+ * sea abierta por primera vez.
612
+ */
613
+ lazy?: boolean;
614
+ /**
615
+ * Cuando se cierra un tab que tiene un método onBeforeClose, el mismo será
616
+ * llamado y deberá devolver un boolean o un string. Si devuelve true, se
617
+ * cierra. Si devuelve false, se muestra un cartel de confirmación genérico y
618
+ * si se devuelve un string, se muestra un cartel de confirmación con el
619
+ * string devuelto. En caso de que el usuario confirme el cuadro de diálogo,
620
+ * el tab será cerrado de todas formas. Es decir, no hay forma de evitar que
621
+ * el tab sea cerrado si el usuario decide continuar con la acción. Para
622
+ * evitar que un tab sea cerrado, debe pasarse isClosable=false
623
+ */
624
+ onBeforeClose?: () => boolean | string | Promise<boolean | string>;
625
+ /**
626
+ * Este callback será llamado cada vez que el tab sea abierto
627
+ */
628
+ onFocus?: (ev: Tab) => unknown;
629
+ /**
630
+ * Es el texto que se va a mostrar en el tab
631
+ */
632
+ label: string;
633
+ labelRenderer?: TTabLabelRenderer;
634
+ /**
635
+ * Se pueden pasar propiedades adicionales que serán recibidas en cada
636
+ * evento, de forma de poder compartir piezas de información útiles en las
637
+ * distintas partes de la aplicación.
638
+ */
639
+ additionalProps?: any;
640
+ tabId: string;
641
+ title?: string;
642
+ };
643
+ type TTabLabelRenderer = (props: {
644
+ tab: Tab<TTab>;
645
+ }) => React__default.ReactElement;
646
+ type TTabsListState<TabType extends TTab> = {
647
+ openTabs: Set<Tab<TabType>>;
648
+ tabs: Map<string, Tab<TabType>>;
649
+ timestamp: number;
650
+ };
651
+
652
+ declare const DefaultTabsLabelRenderer: TTabLabelRenderer;
653
+
654
+ declare const TabsContent: ((props: Omit<BoxProps, 'children'>) => React$1.JSX.Element | null) & {
655
+ displayName: string;
656
+ };
657
+
658
+ declare const Tabs: ({ id, getController, initialTabs, orientation, ...props }: TabsControllerProps<TTab> & Omit<BoxProps, 'id' | 'as' | 'role'>, ref: React__default.ForwardedRef<HTMLDivElement>) => React__default.JSX.Element | null;
659
+
660
+ interface ITab {
661
+ fncId: number;
662
+ tabId: string;
663
+ title: string;
664
+ url: string;
665
+ }
666
+ type TId = string | number;
667
+ interface IOpenTabOptions {
668
+ funcId?: TId;
669
+ keepMenuOpen?: boolean;
670
+ parentTabId?: string;
671
+ tabOptions?: Partial<Tab['state']>;
672
+ }
673
+ interface ITabContainer {
674
+ addNewTab: (title: string, url: string, options?: IOpenTabOptions) => Promise<string>;
675
+ addNewTabs: (args: ITab[]) => void;
676
+ changeTabTitle: (tabId: string, title: string) => void;
677
+ getHandler: () => TabsController;
678
+ getTab: (tabId: string) => Tab | undefined;
679
+ hasClass: () => boolean;
680
+ removeActiveTab: (force?: boolean) => void;
681
+ removeTabByID: (tab: string, force?: boolean) => void;
682
+ }
683
+ type TGetTabsController = () => ITabContainer;
684
+ type TGetBodyController = () => ProxyHandler<{
685
+ canRemoveTab: () => TOnBeforeCloseResult;
686
+ }>;
687
+ type TOnBeforeCloseResult = boolean | string;
688
+ declare global {
689
+ interface Window {
690
+ customPalette?: TPalette;
691
+ defaultPalette?: TPalette;
692
+ closeSession?: (dispatch?: boolean) => unknown;
693
+ [key: string]: string;
694
+ }
695
+ interface HTMLIFrameElement {
696
+ canRemoveTab: () => TOnBeforeCloseResult;
697
+ getReactBodyController: TGetBodyController;
698
+ getReactTabsController: TGetTabsController;
699
+ handleDeadSession?: () => unknown;
700
+ onBeforeClose: (callback: () => TOnBeforeCloseResult) => void;
701
+ onFocusTab: () => unknown;
702
+ }
703
+ }
704
+
705
+ type LockTypes = 'linear' | 'white' | 'common';
706
+ type Lock = {
707
+ count: number;
708
+ };
709
+ type LockOptions = Partial<{
710
+ type: LockTypes;
711
+ }>;
712
+ declare class ScreenLocker {
713
+ protected emitter: StatefulEmitter<{
714
+ locks: Record<LockTypes, Lock>;
715
+ release: true;
716
+ }>;
717
+ lock: (options?: LockOptions) => () => void;
718
+ protected hasReleased: boolean;
719
+ /**
720
+ * This method will work once, then, the action will be ignored. The ScreenLocker starts always locked on white, when this method is called, all listeners of onRelease will be called and the lock will be released.
721
+ */
722
+ release: () => void;
723
+ /**
724
+ * This method notifies when the screenLock is released by the first time.
725
+ */
726
+ onRelease: (cb: _apia_util.Callback<{
727
+ locks: Record<LockTypes, Lock>;
728
+ release: true;
729
+ }, "locks" | "release">) => _apia_util.UnSubscriber;
730
+ /**
731
+ * This component is the responsible for putting the lock courtain in the browser when it's required. It must be used once per application.
732
+ */
733
+ Component: () => React$1.JSX.Element | null;
734
+ }
735
+
736
+ type AutocompleteProps = {
737
+ /**
738
+ * Si este flag es true, la búsqueda se realiza con .toLowerCase() en el valor y en la cadena de búsqueda.
739
+ */
740
+ caseInsensitive?: boolean;
741
+ onChange?: (value: string, controller: AutocompleteController) => unknown;
742
+ /**
743
+ * Si se pasa una función de búsqueda, cuando el usuario busque se llamará a esta función para determinar qué opciones deberán mostrarse. Las opciones devueltas deberán tener filtered !== true para mostrarse.
744
+ *
745
+ * La función de búsqueda será llamada mediante un debounce con tiempo = state.searchDebounce (ms).
746
+ *
747
+ * Si no se pasa función de búsqueda, la comparación se realizará contra this.state.options, siguiendo el algoritmo descrito en AutocompleteOption.
748
+ *
749
+ */
750
+ onSearch?: (str: string, controller: AutocompleteController) => Promise<AutocompleteOption[]>;
751
+ options: AutocompleteOption[];
752
+ /**
753
+ * Por defecto es 100ms.
754
+ */
755
+ searchDebounce?: number;
756
+ } & AutocompleteBoxProps & Partial<Pick<AutocompleteState, 'disabled' | 'value'>>;
757
+ type AutocompleteBoxProps = Partial<{
758
+ className: string;
759
+ id: string;
760
+ name: string;
761
+ }>;
762
+ type AutocompleteState = {
763
+ disabled: boolean;
764
+ focusedValue?: null | string;
765
+ loading: boolean;
766
+ showValue: string;
767
+ value: string;
768
+ };
769
+ /**
770
+ * El componente buscará dentro de las opciones disponibles cuando el usuario realice una búsqueda en el cuadro de texto. Para ello, compara cada opción contra str según:
771
+ *
772
+ * Si caseInsensitive===true, la comparación se hará en lowerCase.
773
+ *
774
+ * Si se pasa searchLabel, se compara contra searchLabel.
775
+ * Sino, si label?.toString() está definido, se utiliza label?.toSring().
776
+ * Sino, se utiliza value.
777
+ *
778
+ * Un se mostrará en los resultados si el algoritmo determina que (result_search_label).indexOf(str) !== -1.
779
+ */
780
+ type AutocompleteOption = {
781
+ /**
782
+ * @private
783
+ *
784
+ * Se utiliza para determinar si debe mostrarse o no.
785
+ */
786
+ filtered?: boolean;
787
+ label: ReactNode;
788
+ /**
789
+ * Si se pasa searchLabel, será utilizado en vez de label. Si no se pasa, se hará label.toString() para realizar la búsqueda, que solamente tiene sentido cuando label es un primitivo.
790
+ */
791
+ searchLabel?: string;
792
+ /**
793
+ * @default Por defecto toma el valor ''
794
+ */
795
+ value: string;
796
+ };
797
+ declare class AutocompleteController {
798
+ #private;
799
+ state: AutocompleteState & AutocompleteProps;
800
+ constructor(properties: Partial<AutocompleteProps>);
801
+ get focusedIndex(): number;
802
+ get isOpen(): boolean;
803
+ close(selectValue?: boolean): void;
804
+ getAutocompleteBox(): HTMLElement | null;
805
+ getOptionsBox(): HTMLElement | null;
806
+ getOptionElement(value: string): HTMLElement | null | undefined;
807
+ getOptionByValue(value: string): AutocompleteOption | undefined;
808
+ focusFirst(): void;
809
+ focusLast(): void;
810
+ focusNext(n?: number): void;
811
+ focusPrevious(n?: number): void;
812
+ open(): void;
813
+ toggleOpen(): void;
814
+ search(str: string): void;
815
+ selectFocused(): void;
816
+ setValue(value: string): void;
817
+ tooltipRef: ApiaUtilTooltip | null;
818
+ }
819
+
820
+ type AutocompleteCmpProps = {
821
+ handler?: AutocompleteController;
822
+ getHandler?: (handler: AutocompleteController) => unknown;
823
+ properties?: AutocompleteProps;
824
+ };
825
+ declare const Autocomplete: (props: AutocompleteCmpProps) => React$1.JSX.Element | null;
826
+
827
+ interface IBaseButton {
828
+ text?: string;
829
+ children?: string;
830
+ loadingChildren?: string;
831
+ id?: string;
832
+ name?: string;
833
+ onClick?: React.MouseEventHandler<HTMLButtonElement>;
834
+ isLoading?: boolean;
835
+ disabled?: boolean;
836
+ variant?: TApiaButtonType | string;
837
+ type?: 'button' | 'submit' | 'reset';
838
+ SXProps?: ThemeUIStyleObject;
839
+ }
840
+ /**
841
+ * The world's most **basic** button
842
+ */
843
+ declare const BaseButton: ({ id, name, onClick, isLoading, loadingChildren, disabled, children, text, variant, type, SXProps, ...buttonProps }: IBaseButton) => React$1.JSX.Element;
844
+
845
+ type TIconSize = number | 'Xs' | 'Sm' | 'Md' | 'Lg' | 'Xl';
846
+ type TApiaIconButton = 'icon' | 'icon-primary' | 'icon-outline' | 'icon-only';
847
+ type TIconButton = Omit<IconButtonProps, 'sx'> & React$1.AriaAttributes & {
848
+ className?: string;
849
+ /**
850
+ * Es posible pasar explícitamente un ícono o el nombre del ícono de
851
+ * acuerdo a la librería de la aplicación. Ver Icon.tsx
852
+ */
853
+ icon: TIconType | TIconName;
854
+ iconSize?: TIconSize;
855
+ id?: string;
856
+ disabled?: boolean;
857
+ href?: string;
858
+ isLoading?: boolean;
859
+ isToggled?: boolean;
860
+ onClick?: React$1.MouseEventHandler<HTMLButtonElement>;
861
+ onMouseOut?: React$1.MouseEventHandler<HTMLButtonElement>;
862
+ onMouseOver?: React$1.MouseEventHandler<HTMLButtonElement>;
863
+ size?: TIconSize;
864
+ title?: string;
865
+ variant?: string;
866
+ };
867
+ /**
868
+ * Renderiza un botón con un ícono adentro.
869
+ *
870
+ * La variante por defecto de este componente es buttons.icon
871
+ *
872
+ * Si se pasa solamente size, el iconSize será
873
+ */
874
+ declare const IconButton: React$1.ForwardRefExoticComponent<Omit<TIconButton, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
875
+
876
+ interface ISimpleButton extends ButtonProps {
877
+ buttonSx?: ThemeUICSSObject;
878
+ icon?: TIconType;
879
+ iconColor?: string;
880
+ iconPosition?: 'left' | 'right';
881
+ iconSize?: number;
882
+ isLoading?: boolean;
883
+ onClick?: React$1.MouseEventHandler<HTMLButtonElement>;
884
+ size?: 'sm' | 'md' | 'lg';
885
+ variant?: string;
886
+ spinnerSize?: number;
887
+ type?: 'button' | 'submit' | 'reset';
888
+ }
889
+ declare const SimpleButton: React$1.ForwardRefExoticComponent<Omit<ISimpleButton, "ref"> & React$1.RefAttributes<unknown>>;
890
+
891
+ /**
892
+ * Este hook está pensado para crear un botón utilizando un tag cualquiera.
893
+ *
894
+ * @example
895
+ *
896
+ * const buttonProps = useOtherTagButton(React.useMemo(()=>({
897
+ * onClick(ev) { console.log(ev.target) },
898
+ * onKeyDown(ev) { console.log(ev.code) }
899
+ * }),[])
900
+ *
901
+ * return <div {...buttonProps}>Esto es un botón</div>
902
+ */
903
+ declare function useOtherTagButton(props?: Partial<{
904
+ className?: string;
905
+ onClick: React__default.MouseEventHandler;
906
+ onKeyDown: React__default.KeyboardEventHandler;
907
+ }>): {
908
+ className: string;
909
+ onClick: (ev: React__default.MouseEvent) => void;
910
+ onKeyDown: (ev: React__default.KeyboardEvent) => void;
911
+ role: string;
912
+ tabIndex: number;
913
+ };
914
+
915
+ declare const Captcha: ({ name, imageUrl, onChange, value, className, }: {
916
+ name: string;
917
+ className?: string | undefined;
918
+ imageUrl: string;
919
+ onChange: React.ChangeEventHandler<HTMLInputElement>;
920
+ value: string;
921
+ }) => React$1.JSX.Element;
922
+
923
+ type TCheckbox = TModify<ButtonProps, {
924
+ background?: string;
925
+ checked?: boolean;
926
+ color?: string;
927
+ defaultChecked?: boolean;
928
+ icon?: TIconName;
929
+ indeterminate?: boolean;
930
+ native?: boolean;
931
+ onChange?: ChangeEventHandler<HTMLInputElement>;
932
+ readOnly?: boolean;
933
+ required?: boolean;
934
+ type?: string;
935
+ }>;
936
+ declare const Checkbox: React$1.ForwardRefExoticComponent<Omit<TCheckbox, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
937
+
938
+ interface IField {
939
+ className?: string;
940
+ disabled?: boolean;
941
+ isLoading?: boolean;
942
+ readOnly?: boolean;
943
+ }
944
+ interface IIconInput extends IField {
945
+ additionalButtons?: React__default.ReactNode;
946
+ additionalButtonsPosition?: 'before' | 'after';
947
+ buttonProps?: Partial<React__default.ComponentProps<typeof IconButton>>;
948
+ buttonRef?: React__default.RefObject<HTMLButtonElement>;
949
+ hideButton?: boolean;
950
+ icon?: TIconType | TIconName;
951
+ inputProps?: Partial<InputProps>;
952
+ inputRef?: React__default.RefObject<HTMLInputElement>;
953
+ onClick?: (ev: React__default.MouseEvent) => void;
954
+ onBlur?: React__default.FocusEventHandler;
955
+ [key: string]: unknown;
956
+ }
957
+ declare const IconInput: ({ additionalButtons, additionalButtonsPosition, buttonProps, buttonRef, className, disabled, hideButton, icon, inputProps, inputRef, isLoading, mask, onClick, onBlur, readOnly, ...rest }: IIconInput) => React__default.JSX.Element;
958
+
959
+ declare global {
960
+ interface Window {
961
+ LANG_CODE: string;
962
+ MSG_INVALID_DATE: string;
963
+ MSG_FEC_FIN_MAY_FEC_INI: string;
964
+ LBL_PICK_DATE: string;
965
+ }
966
+ }
967
+ type TDateProps = TModify<InputProps, {
968
+ allowPickBeforeToday?: boolean;
969
+ error?: string | null;
970
+ /**
971
+ * Con esta propiedad se puede proveer una función que será utilizada para
972
+ * determinar qué máscara debe utilizar el input
973
+ */
974
+ getCustomMask?: () => string;
975
+ isLoading?: boolean;
976
+ /**
977
+ * Recibe la nueva fecha. En caso de devolver
978
+ * false desde este método, el nuevo valor no
979
+ * se persistirá.
980
+ */
981
+ onChange?: (newValue: string) => boolean | string | void;
982
+ /**
983
+ * Es llamado cada vez que alguien presiona el botón de eliminar fecha.
984
+ */
985
+ onDelete?: () => void;
986
+ onError?: (error: string | null) => unknown;
987
+ /**
988
+ * Con esta propiedad se puede proveer una función que recibirá como
989
+ * parámetro el valor actual del cmapo y debe devolver el valor a mostrar.
990
+ */
991
+ renderLabel?: (value: string) => string;
992
+ value?: string;
993
+ }> & Pick<IIconInput, 'buttonProps'>;
994
+ declare const DateInput: React__default.ForwardRefExoticComponent<Omit<TDateProps, "ref"> & React__default.RefAttributes<HTMLInputElement>>;
995
+
996
+ interface IFieldErrorMessage {
997
+ children: React$1.ReactNode | string;
998
+ name?: string;
999
+ }
1000
+ declare const FieldErrorMessage: ({ children, name }: IFieldErrorMessage) => React$1.JSX.Element | null;
1001
+
1002
+ /**
1003
+ * El NumberInput respeta los parámetros de ambiente:
1004
+ * - AMOUNT_DECIMAL_SEPARATOR
1005
+ * - AMOUNT_DECIMAL_ZEROS
1006
+ * - CHAR_DECIMAL_SEPARATOR
1007
+ * - CHAR_THOUS_SEPARATOR
1008
+ * - ADD_THOUSAND_SEPARATOR
1009
+ */
1010
+
1011
+ type TNumberInputChangeEvent = {
1012
+ error: boolean;
1013
+ value: string;
1014
+ };
1015
+ type TNumberInput = Omit<InputProps, 'type' | 'onChange' | 'onBlur' | 'value' | 'defaultValue'> & {
1016
+ onChange?: (ev: TNumberInputChangeEvent) => unknown;
1017
+ value?: string;
1018
+ defaultValue?: string;
1019
+ avoidDecimalRestriction?: boolean;
1020
+ };
1021
+ declare global {
1022
+ interface Window {
1023
+ AMOUNT_DECIMAL_SEPARATOR: string;
1024
+ AMOUNT_DECIMAL_ZEROS: string;
1025
+ CHAR_DECIMAL_SEPARATOR: string;
1026
+ CHAR_THOUS_SEPARATOR: string;
1027
+ ADD_THOUSAND_SEPARATOR: boolean;
1028
+ }
1029
+ }
1030
+ declare function parseNumberInputValueToNumber(value: string): number;
1031
+ declare function parseNumberValueToNumberInput(value: string | number): string;
1032
+ declare const NumberInput: React__default.ForwardRefExoticComponent<Omit<TNumberInput, "ref"> & React__default.RefAttributes<HTMLInputElement>>;
1033
+
1034
+ interface IRequiredMark {
1035
+ isFormReadonly?: boolean;
1036
+ isRequired?: boolean;
1037
+ isReadonly?: boolean;
1038
+ }
1039
+ /**
1040
+ * Muestra el * en los campos de requerido.
1041
+ */
1042
+ declare const RequiredMark: ({ isFormReadonly, isRequired, isReadonly, }: IRequiredMark) => React$1.JSX.Element | null;
1043
+
1044
+ declare const getFieldErrorStyles: (isValid: boolean) => ThemeUICSSObject;
1045
+ declare const getFieldTouchedStyles: (isTouched: boolean) => ThemeUICSSObject;
1046
+
1047
+ type TFieldLabel = {
1048
+ avoidSemicolon?: boolean;
1049
+ /**
1050
+ * Permite mostrar un mensaje de error debajo del campo
1051
+ */
1052
+ error?: string;
1053
+ hideRequiredMark?: boolean;
1054
+ label: string;
1055
+ /**
1056
+ * La propiedad required se utiliza para mostrar el * de requerido.
1057
+ *
1058
+ * @see requiredMarkPosition
1059
+ * @see hideRequiredMark
1060
+ */
1061
+ required?: boolean;
1062
+ requiredMarkPosition?: 'before' | 'after';
1063
+ } & BoxProps;
1064
+ declare const FieldLabel: React$1.ForwardRefExoticComponent<{
1065
+ avoidSemicolon?: boolean | undefined;
1066
+ /**
1067
+ * Permite mostrar un mensaje de error debajo del campo
1068
+ */
1069
+ error?: string | undefined;
1070
+ hideRequiredMark?: boolean | undefined;
1071
+ label: string;
1072
+ /**
1073
+ * La propiedad required se utiliza para mostrar el * de requerido.
1074
+ *
1075
+ * @see requiredMarkPosition
1076
+ * @see hideRequiredMark
1077
+ */
1078
+ required?: boolean | undefined;
1079
+ requiredMarkPosition?: "after" | "before" | undefined;
1080
+ } & BoxProps & React$1.RefAttributes<HTMLDivElement>>;
1081
+
1082
+ interface IAccordionItemButton {
1083
+ ariaLabel: string;
1084
+ /**
1085
+ * Si checked !== undefined => se mostrará un checkbox.
1086
+ */
1087
+ checked?: boolean;
1088
+ /**
1089
+ * Solamente se utiliza en conjunto con el checkbox y permite evitar que el
1090
+ * usuario pueda marcar o desmarcar el checkbox.
1091
+ */
1092
+ className?: string;
1093
+ disableSelection?: boolean;
1094
+ domButtonProps?: ISimpleButton;
1095
+ label: string;
1096
+ /**
1097
+ * Evento que se dispara cuando el usuario hace click en el checkbox o
1098
+ * presiona espacio sobre el botón del acordeón.
1099
+ */
1100
+ onChange?: (checked: boolean) => unknown;
1101
+ onClick?: (ev: MouseEvent$1) => unknown;
1102
+ onUserPressEnter?: (ev: KeyboardEvent) => unknown;
1103
+ rightButtons?: ReactNode;
1104
+ rightIcons?: TIconName[] | TIconName;
1105
+ tabIndex?: number;
1106
+ /**
1107
+ * Si no se pasa title se usará ariaLabel.
1108
+ */
1109
+ title?: string;
1110
+ }
1111
+ declare const DefaultAccordionItemButton: (props: IAccordionItemButton) => React$1.JSX.Element;
1112
+
1113
+ interface IAccordionProps {
1114
+ /**
1115
+ * Tiempo en ms que dura la animación. Por defecto se usa 150.
1116
+ */
1117
+ animationDuration?: number;
1118
+ children?: ReactNode;
1119
+ className?: string;
1120
+ getHandler?: (handler: AccordionHandler) => unknown;
1121
+ singleExpand?: boolean;
1122
+ /**
1123
+ * Por defecto usa la variante layout.common.components.accordion.primary
1124
+ */
1125
+ variant?: string;
1126
+ }
1127
+ declare const Accordion: FC<IAccordionProps>;
1128
+
1129
+ type TItemState$1 = {
1130
+ isChecked: boolean;
1131
+ isExpanded: boolean;
1132
+ };
1133
+ type TItemStateListener = (state: TItemState$1) => unknown;
1134
+ type TPropsListener = (props: IAccordionProps) => unknown;
1135
+
1136
+ type TSelectionComparator<T> = (prev: T, next: T) => boolean;
1137
+ type TItemUpdater = Partial<TItemState$1> | ((currentProps: TItemState$1) => Partial<TItemState$1>);
1138
+ declare class AccordionHandler {
1139
+ id: string;
1140
+ props: IAccordionProps;
1141
+ itemsState: Record<TId$1, TItemState$1>;
1142
+ itemsStateListeners: Record<TId$1, TItemStateListener[]>;
1143
+ propsListeners: TPropsListener[];
1144
+ constructor(id: string, props: IAccordionProps);
1145
+ registerItem(itemId: TId$1, initialState: TItemState$1): void;
1146
+ toggleItem(itemId: TId$1, expanded?: boolean): void;
1147
+ unregisterItem(itemId: TId$1): void;
1148
+ /**
1149
+ * Permite actualizar parcialmente el estado de un item
1150
+ */
1151
+ udpateItem(itemId: TId$1, updater: TItemUpdater): void;
1152
+ updateProps(props: IAccordionProps): void;
1153
+ hooks: {
1154
+ useAccordionContextProvider: () => ({ children }: {
1155
+ children: ReactNode;
1156
+ }) => React$1.JSX.Element;
1157
+ useItemContextProvider: (itemId: TId$1) => ({ children }: {
1158
+ children: ReactNode;
1159
+ }) => React$1.JSX.Element;
1160
+ useItemId: () => TId$1;
1161
+ useItemStateSelector: <T>(selector: (props: TItemState$1) => T, comparator?: TSelectionComparator<T>) => T;
1162
+ useItemStateUpdate: (cb: TItemStateListener) => void;
1163
+ usePropsSelector: <T_1>(selector: (props: IAccordionProps) => T_1, comparator?: TSelectionComparator<T_1>) => T_1;
1164
+ usePropsUpdate: (cb: TPropsListener) => void;
1165
+ };
1166
+ }
1167
+
1168
+ interface IAccordionItemProps {
1169
+ /**
1170
+ * Cada elemento del acordeón tiene dos formas de renderizar el botón. O bien
1171
+ * se pasa un elemento AccordionItemButton como hijo o bien se pasan
1172
+ * buttonProps. En caso contrario, el elemento no tendrá botón.
1173
+ */
1174
+ buttonProps?: IAccordionItemButton;
1175
+ children?: ReactNode;
1176
+ defaultExpanded?: boolean;
1177
+ id: TId$1;
1178
+ }
1179
+ declare const AccordionItem: ({ children, id, defaultExpanded, ...props }: IAccordionItemProps) => React$1.JSX.Element;
1180
+
1181
+ type TAccordionItemButton = {
1182
+ children?: ReactNode;
1183
+ };
1184
+ declare const AccordionItemButton: ({ children }: TAccordionItemButton) => React$1.JSX.Element;
1185
+
1186
+ declare const AccordionItemContent: ({ children, buttonProps, }: IAccordionItemProps) => React$1.JSX.Element;
1187
+
1188
+ declare const AccordionContext: React$1.Context<AccordionHandler | null>;
1189
+ declare const AccordionItemContext: React$1.Context<TId$1 | null>;
1190
+ declare const useAccordionContext: () => AccordionHandler;
1191
+
1192
+ type TAccordionHandler = AccordionHandler;
1193
+
1194
+ interface IApiaFilter {
1195
+ filter: TApiaFilter;
1196
+ onBlur?: (ev: TApiaFilterValue) => void;
1197
+ onChange?: (ev: TApiaFilterValue) => void | boolean | string | Promise<boolean | string>;
1198
+ onPressEnter?: (ev: TApiaFilterValue) => void;
1199
+ }
1200
+ declare const ApiaFilter: React$1.MemoExoticComponent<React$1.ForwardRefExoticComponent<IApiaFilter & React$1.RefAttributes<HTMLInputElement | HTMLSelectElement>>>;
1201
+
1202
+ interface ILabelBox {
1203
+ className?: string;
1204
+ label: string;
1205
+ tooltip?: string;
1206
+ closeTooltip?: string;
1207
+ onClose?: () => unknown;
1208
+ }
1209
+ type TLabelBox = ILabelBox & BoxProps;
1210
+ declare const LabelBox: ({ className, label, tooltip, closeTooltip, onClose, ...props }: TLabelBox) => React__default.JSX.Element;
1211
+
1212
+ declare const ContainerWithHeader: ({ title, children, footerChildren, onClose, additionalButtons, }: {
1213
+ title: string;
1214
+ children: ReactNode;
1215
+ footerChildren?: ReactNode;
1216
+ additionalButtons?: ReactNode;
1217
+ onClose?: (() => void) | undefined;
1218
+ }) => React$1.JSX.Element;
1219
+
1220
+ interface ICollapsiblePanel {
1221
+ 'aria-hidden'?: boolean;
1222
+ children: React.ReactNode;
1223
+ className?: string;
1224
+ closedIcon?: TIconType | TIconName;
1225
+ collapsed?: boolean;
1226
+ defaultCollapsed?: boolean;
1227
+ disableChildrenFocus?: boolean;
1228
+ iconSize?: string | number;
1229
+ id?: string;
1230
+ minHeight?: number;
1231
+ onClose?: () => unknown;
1232
+ onOpen?: (ev?: React.MouseEvent) => void | Promise<boolean>;
1233
+ openIcon?: TIconType | TIconName;
1234
+ label: React.ReactNode;
1235
+ rememberCollapsedState?: boolean;
1236
+ titleButtons?: React.ReactNode;
1237
+ }
1238
+
1239
+ declare const CollapsiblePanel: React__default.ForwardRefExoticComponent<ICollapsiblePanel & React__default.RefAttributes<HTMLDivElement>>;
1240
+
1241
+ interface IAlert {
1242
+ children: React.ReactNode;
1243
+ onClose: () => void;
1244
+ title?: string;
1245
+ }
1246
+ declare const AlertModal: ({ children, onClose, title }: IAlert) => React$1.JSX.Element;
1247
+
1248
+ type TListboxItem = {
1249
+ children?: ReactNode;
1250
+ rowIndex?: number;
1251
+ } & BoxProps & {
1252
+ /**
1253
+ * El label se usa en aria-label por motivos de accesibilidad y además en
1254
+ * la funcionalidad de búsqueda.
1255
+ */
1256
+ label: string;
1257
+ };
1258
+ declare const ListboxItem: FC<TListboxItem>;
1259
+
1260
+ type TListboxState = {
1261
+ /**
1262
+ * El múltipleSearch está de acuerdo a la especificación de wai-aria. Está
1263
+ * habilitado por defecto e implica que si el usuario presiona una "rápida
1264
+ * sucesión" (según palabras de wai-aria) de caracteres, se irá
1265
+ * alternando el foco entre los elementos que comiencen con la cadena
1266
+ * introducida.
1267
+ */
1268
+ allowMultipleCharacterSearch?: boolean;
1269
+ allowSelection: boolean;
1270
+ /**
1271
+ * El singleCharacterSearch está de acuerdo a la especificación de wai-aria.
1272
+ * Está habilitado por defecto e implica que si el usuario presiona una
1273
+ * "lenta sucesión" (según palabras de wai-aria) de caracteres, se irá
1274
+ * alternando el foco entre los elementos que comiencen con la letra
1275
+ * introducida.
1276
+ */
1277
+ allowSingleCharacterSearch?: boolean;
1278
+ focusedRow: number;
1279
+ hiddenRows: number[];
1280
+ id: string;
1281
+ isEverythingSelected: boolean;
1282
+ isMultipleSelection: boolean;
1283
+ lastSelectedRow: number;
1284
+ rowsCount: number;
1285
+ /**
1286
+ * La función de búsqueda debe tomar el label de un campo y el texto
1287
+ * introducido en el campo de búsqueda y determinar si el mismo debe ser
1288
+ * mostrado o no. Por defecto, se usa una función de matcheo estricto.
1289
+ */
1290
+ searchFunction: (label: string, searchString: string) => boolean;
1291
+ selectedRows: number[];
1292
+ shownRows: number[];
1293
+ showSearchbox: boolean;
1294
+ /**
1295
+ * Este método permite determinar si un elemento comienza con una cadena de
1296
+ * texto en particular. Por defecto se usa String.startsWith, sin embargo se
1297
+ * permite el pasaje de este método para situaciones particulares, ejemplo
1298
+ * si se deseara incluir elementos sin tomar en cuenta los espacios.
1299
+ */
1300
+ startsWithFunction: (label: string, searchString: string) => boolean;
1301
+ typing: string | null;
1302
+ };
1303
+
1304
+ type TListbox = {
1305
+ children: ReactNode | ReactNode[];
1306
+ className?: string;
1307
+ /**
1308
+ * Permite remover los estilos por defecto de la lista a fin de personalizar
1309
+ * su aspecto
1310
+ */
1311
+ unstyled?: boolean;
1312
+ onClickNode?: (ev: MouseEvent$1<HTMLElement>) => unknown;
1313
+ onDoubleClickNode?: (ev: MouseEvent$1<HTMLElement>) => unknown;
1314
+ /**
1315
+ * Este evento es lanzado cuando el usuario estando en foco en la lista
1316
+ * presiona:
1317
+ *
1318
+ * - Enter si la selección múltiple está deshabilitada
1319
+ * - ctrl+Enter si la selección múltiple está habilitada
1320
+ */
1321
+ onConfirmSelection?: (ev: TOnConfirmSelection) => unknown;
1322
+ onPressEnterOnNode?: (ev: KeyboardEvent<HTMLElement>) => unknown;
1323
+ onPressKeyOnNode?: (ev: KeyboardEvent<HTMLElement>) => unknown;
1324
+ onSelectionChange?: (ev: TOnSelectionChange) => unknown;
1325
+ /**
1326
+ * onKeyDown e id no son permitidas dado que se usan para generar el
1327
+ * comportamiento correcto del componente
1328
+ */
1329
+ ulProps?: Omit<BoxProps, 'id' | 'onKeyDown' | 'sx'>;
1330
+ } & Partial<Pick<TListboxState, 'allowMultipleCharacterSearch' | 'allowSelection' | 'allowSingleCharacterSearch' | 'isMultipleSelection' | 'searchFunction' | 'startsWithFunction' | 'showSearchbox'>>;
1331
+
1332
+ type TOnConfirmSelection = {
1333
+ originalEvent: KeyboardEvent;
1334
+ selectedElements: HTMLElement[];
1335
+ focusedElement: HTMLElement;
1336
+ };
1337
+ type TOnSelectionChange = {
1338
+ focusedElement: HTMLElement;
1339
+ selectedElements: HTMLElement[];
1340
+ };
1341
+ type TOnClickNode = MouseEvent$1;
1342
+
1343
+ declare const Listbox: React$1.MemoExoticComponent<((props: TListbox) => React$1.JSX.Element) & {
1344
+ displayName: string;
1345
+ }>;
1346
+
1347
+ declare const LinearLoader: () => React$1.JSX.Element;
1348
+
1349
+ interface IProgressBar {
1350
+ id: string;
1351
+ progress?: number;
1352
+ loading?: boolean;
1353
+ }
1354
+ declare const ProgressBar: FC<IProgressBar>;
1355
+
1356
+ declare const LoaderSpinner: ((props: {
1357
+ className?: string | undefined;
1358
+ }) => React__default.JSX.Element) & {
1359
+ displayName: string;
1360
+ };
1361
+
1362
+ type TModalContext = {
1363
+ changeTitle: (newTitle: string) => void;
1364
+ close: () => unknown;
1365
+ descriptionId: string;
1366
+ };
1367
+ declare function useModalContext(): TModalContext;
1368
+
1369
+ interface ICalendarModal extends TModal {
1370
+ handleClickDay: (date: Date) => void;
1371
+ onCancel: () => void;
1372
+ calValue?: Date;
1373
+ locale: string;
1374
+ }
1375
+ declare const CalendarModal: React__default.ForwardRefExoticComponent<ICalendarModal & React__default.RefAttributes<HTMLDivElement>>;
1376
+
1377
+ type TUseModalConfiguration = Pick<TModal, 'onClose' | 'onExited'> & {
1378
+ debugPerformanceName?: string;
1379
+ isDefaultOpen?: boolean;
1380
+ onOpen?: () => unknown;
1381
+ portalArgs?: Omit<Args, 'containerId'>;
1382
+ preFetcher?: () => Promise<void>;
1383
+ };
1384
+ /**
1385
+ * Este hook provee una forma muy sencilla de utilizar nuestro modal. Provee
1386
+ * varias funcionalidades interesantes para poder manipular el modal en
1387
+ * distintas circunstancias:
1388
+ *
1389
+ * Objeto parámetro:
1390
+ *
1391
+ * - **defaultOpen**, Boolean, si es true el modal aparecerá abierto al montar
1392
+ * y sino aparecerá cerrado.
1393
+ * - **onOpen**: Event listener que será llamado en el momento exacto en que la
1394
+ * orden de apertura del modal fue dada.
1395
+ * - **onClose**: Event listener que será llamado en el momento exacto en que
1396
+ * el modal es cerrado, ya sea por un click en el overlay o porque la tecla
1397
+ * escape fue presionada.
1398
+ * - **onExited**, Event listener que será llamado luego de que la animación de
1399
+ * cierre del modal terminó.
1400
+ * - **preFetcher**, este método deberá devolver una promesa y en dicha promesa
1401
+ * deberá realizar cualquier operación que fuera necesaria antes de abrir el
1402
+ * modal, ejemplo: cargar la información que el modal debe mostrar. Si este
1403
+ * método es pasado, será llamado antes de abrir el modal y la vista se pondrá
1404
+ * en modo de carga (la propiedad isLoading devuelta y la propiedad isLoading
1405
+ * del OpenModalContextProvider estarán en true), hasta que la promesa sea
1406
+ * resuelta, momento en que se abrirá el modal e isLoading será puesto en false.
1407
+ * - **portalArgs**, objeto de configuración aceptado por el hook usePortal de
1408
+ * **react-cool-portal**.
1409
+ *
1410
+ * Objeto devuelto:
1411
+ *
1412
+ * - Para un modal en donde el botón de abrir el modal esté inserto dentro del
1413
+ * componente que lo utiliza, se devuelven los métodos **show** y **hide**.
1414
+ * - Para un modal en donde el botón de abrir el modal esté fuera del
1415
+ * componente, se devuelve **openModalContextValue**, que es el valor que debe
1416
+ * pasarse al contexto de tipo OpenModalContextProvider, un contexto que
1417
+ * puede ser utilizado para renderizar el botón encargado de abrir el modal,
1418
+ * fuera del alcance del componente que define el modal en sí. Se muestra un
1419
+ * ejemplo más abajo.
1420
+ * - Todos los demás elementos devueltos son para pasar directamente al modal,
1421
+ * entre ellos se encuentran las propiedades que el modal utiliza para saber si
1422
+ * debe estar abierto, los event listeners correspondientes y un portal, que el
1423
+ * modal usará para mostrarse dentro del área de modales, lo cual es sumamente
1424
+ * importante para que el focusController funcione correctamente.
1425
+ *
1426
+ * @see OpenModalContextProvider
1427
+ * @see usePortal
1428
+ *
1429
+ * @example
1430
+ *
1431
+ const { openModalContextValue, ...modalProps } = useModal(
1432
+ React.useMemo(() => ({
1433
+ onClose: () => console.log("Al presionar en cerrar."),
1434
+ onExited: () => console.log("Al terminar la animación de cierre."),
1435
+ onOpen: () => console.log("Al abrir."),
1436
+ }), [])
1437
+ );
1438
+
1439
+ return (
1440
+ <OpenModalContext.Provider value={openModalContextValue}>
1441
+ <OpenModalContext.Consumer>
1442
+ {({ isLoading, show }) => (
1443
+ <Button isLoading={isLoading} onClick={show}>Open modal</Button>
1444
+ )}
1445
+ </OpenModalContext.Consumer>
1446
+ <Modal shouldCloseOnEsc shouldCloseOnOverlayClick {...modalProps}>
1447
+ Hello world
1448
+ </Modal>
1449
+ </OpenModalContext.Provider>
1450
+ );
1451
+ */
1452
+ declare function useModal(configuration?: TUseModalConfiguration): {
1453
+ hide: () => void;
1454
+ isLoading: boolean;
1455
+ isOpen: boolean;
1456
+ onClose: () => void;
1457
+ onExited: () => void;
1458
+ openModalContextValue: {
1459
+ isLoading: boolean;
1460
+ show: () => void;
1461
+ };
1462
+ Portal: React__default.FC<{
1463
+ children: React__default.ReactNode;
1464
+ }>;
1465
+ show: () => void;
1466
+ };
1467
+
1468
+ declare const Confirm: ({ children, additionalButtons, additionalButtonsOnRight, cancelButtonText: cancelText, className, confirmButtonText: confirmText, confirmButtonVariant, contentRef, disabled, hideCancelButton, hideConfirmButton, isLoading, onCancel, onConfirm, variant, }: Omit<IConfirm, 'title'>) => React$1.JSX.Element;
1469
+
1470
+ interface IDialogButtonBar {
1471
+ children: React$1.ReactNode;
1472
+ className?: string;
1473
+ }
1474
+ declare const DialogButtonBar: React$1.FC<IDialogButtonBar>;
1475
+
1476
+ interface IOverlay extends BoxProps {
1477
+ children: React$1.ReactNode;
1478
+ className?: string;
1479
+ onOverlayClicked: (event: React$1.MouseEvent<HTMLDivElement>) => void;
1480
+ /**
1481
+ * Permite pasar un callback que será llamado una vez que el overlay termine
1482
+ * de cerrarse.
1483
+ */
1484
+ onExited: () => void;
1485
+ isOpen?: boolean;
1486
+ shouldAvoidInitialFocusTrap?: boolean;
1487
+ stretch?: boolean;
1488
+ transitionDuration?: number;
1489
+ }
1490
+ declare const Overlay: React$1.ForwardRefExoticComponent<IOverlay & React$1.RefAttributes<unknown>>;
1491
+
1492
+ declare const AutoEllipsis: ({ children, findParent, overrideStyles, }: {
1493
+ children: ReactNode;
1494
+ /**
1495
+ * Si se pasa el método findParent, será invocado con el nodo de AutoEllipsis
1496
+ * para dar control sobre cuál es el elemento al que se le clonarán los
1497
+ * estilos.
1498
+ */
1499
+ findParent?: ((currentElement: HTMLElement) => HTMLElement) | undefined;
1500
+ /**
1501
+ * Si se pasa overrideStyles, será invocado con el nodo actual de
1502
+ * AutoEllipsis para tomar decisiones acerca de cuáles estilos serán
1503
+ * aplicados.
1504
+ */
1505
+ overrideStyles?: ((currentElement: HTMLElement) => Partial<CSSStyleDeclaration>) | undefined;
1506
+ }) => React$1.JSX.Element;
1507
+
1508
+ interface IMakeResponsiveComponent<P extends Record<string, unknown>> {
1509
+ breakPoints: number[];
1510
+ Component: FunctionComponent<P & {
1511
+ breakPoint: number;
1512
+ breakPointWidth: number;
1513
+ containerWidth: number;
1514
+ }>;
1515
+ /**
1516
+ * Este HOC hace un setState cada vez que cambia el ancho del contenedor. Hay
1517
+ * situaciones en las que es deseable agregar un debounce a este
1518
+ * comportamiento para mejorar la performance. *Por defecto usa 100*
1519
+ */
1520
+ debounce?: number;
1521
+ /**
1522
+ * Por defecto usa 4.
1523
+ */
1524
+ defaultBreakpoint?: number;
1525
+ }
1526
+ interface IResponsiveComponent<P> extends FC<P> {
1527
+ setBreakpoints: {
1528
+ current: (breakPoints: number[]) => void;
1529
+ };
1530
+ }
1531
+ /**
1532
+ * El método makeResponsiveComponent agrega un wrapper alrededor de un
1533
+ * componente para conocer el ancho del contenedor del mismo. De esta forma, es
1534
+ * fácil predecir qué ancho dispone el mismo para renderizarse y de esa forma
1535
+ * poder tomar decisiones de responsividad que no dependen del ancho de la
1536
+ * pantalla sino del espacio donde se encuentra.
1537
+ */
1538
+ declare const makeResponsiveComponent: <P extends Record<string, unknown>>({ breakPoints, Component, defaultBreakpoint, }: IMakeResponsiveComponent<P>) => IResponsiveComponent<P & {
1539
+ breakPoints?: number[] | undefined;
1540
+ }>;
1541
+
1542
+ /**
1543
+ * Type-ahead is a behavior pattern which helps the user in the lists and trees
1544
+ * (and literally says: "especially those with more than seven options")
1545
+ * navigation. The literal description in Wai-Aria documentation is:
1546
+ *
1547
+ * - Type a character: focus moves to the next item with a name that starts
1548
+ * with the typed character.
1549
+ *
1550
+ * - Type multiple characters in rapid succession:
1551
+ * focus moves to the next item with a name that starts with the string of
1552
+ * characters typed.
1553
+ *
1554
+ * It is a little arbitrary what is rapid succession. As I couln't find any
1555
+ * documentation about what rapid succession means, I will make some tests in
1556
+ * order to determine what is more comfortable to accomplish one situation or
1557
+ * the other.
1558
+ *
1559
+ * To callibrate this function it is suficient to override the frequency
1560
+ * parameter, which after some tests I understand is best at 2.5 (keys per
1561
+ * second).
1562
+ */
1563
+
1564
+ declare class WaiTypeAhead extends EventEmitter<{
1565
+ multipleKeys: string;
1566
+ singleKey: string;
1567
+ typeUpdate: string;
1568
+ }> {
1569
+ #private;
1570
+ frequency: number;
1571
+ timeout: number;
1572
+ typing: string;
1573
+ constructor(props?: {
1574
+ onMultipleKeys?: (value: string) => unknown;
1575
+ onSingleKey?: (value: string) => unknown;
1576
+ onTypeUpdate?: (value: string) => unknown;
1577
+ });
1578
+ type(ev: KeyboardEvent): void;
1579
+ }
1580
+
1581
+ type TIcon<P = Record<string, unknown>> = {
1582
+ /**
1583
+ * Permite el pasaje de propoiedades arbitrarias a cada nodo. Se podría usar
1584
+ * por ejemplo para almacenar la url que debe ser llamada cuando se hace doble
1585
+ * click en un ícono.
1586
+ */
1587
+ additionalProps?: P;
1588
+ /**
1589
+ * Se pide un ariaLabel como requerido por motivos de accesibilidad.
1590
+ */
1591
+ ariaLabel: string;
1592
+ /**
1593
+ * Permite el pasaje de clases arbitrarias a cada ícono.
1594
+ */
1595
+ className?: string;
1596
+ id: TId$1;
1597
+ icon?: TIconName | TIconType;
1598
+ imageUrl?: string;
1599
+ /**
1600
+ * Es el texto que se mostrará debajo de la imagen.
1601
+ */
1602
+ label: string;
1603
+ /**
1604
+ * Permite modificar el color individual de un ícono.
1605
+ */
1606
+ textColor?: string;
1607
+ };
1608
+ type TIconsList<P = Record<string, unknown>> = {
1609
+ /**
1610
+ * Listado de íconos
1611
+ */
1612
+ icons: TIcon<P>[];
1613
+ iconRenderer?: TIconRenderer<P>;
1614
+ /**
1615
+ * Por defecto se usa iconWidth=100.
1616
+ *
1617
+ * El iconSize indica el ancho del contenedor del ícono.
1618
+ */
1619
+ iconWidth?: number;
1620
+ /**
1621
+ * Si bien el gap horizontal es calculado automáticamente, es posible
1622
+ * especificar cuál es el mínimo gap que debe mostrarse. *Por defecto se usará
1623
+ * 30*
1624
+ */
1625
+ minHorizontalGap?: number;
1626
+ /**
1627
+ * Este callback es llamado cuando se hace click en un ícono
1628
+ */
1629
+ onIconClick?: (ev: MouseEvent$1<HTMLElement>, icon: TIcon<P>) => unknown;
1630
+ /**
1631
+ * Este callback es llamado cuando se hace doble click en un ícono
1632
+ */
1633
+ onIconDoubleClick?: (ev: MouseEvent$1<HTMLElement>, icon: TIcon<P>) => unknown;
1634
+ /**
1635
+ * Este método se usa para obtener detalles de un ícono. Es llamado cuando se
1636
+ * hace foco o cuando se posiciona el mouse en un ícono. Si no está declarado
1637
+ * los íconos no mostrarán detalles. Si está declarado deberá devolver un
1638
+ *
1639
+ * Record<string, ReactNode> y cada entrada será mostrada como una fila de
1640
+ * detalle.
1641
+ */
1642
+ onIconGetDetails?: (icon: TIcon<P>) => ReactNode;
1643
+ /**
1644
+ * Permite agregar comportamiento personalizado a los eventos de teclado.
1645
+ */
1646
+ onIconKeyDown?: (ev: KeyboardEvent<HTMLElement>, icon: TIcon<P>) => unknown;
1647
+ /**
1648
+ * Normalmente el listado coloca padding horizontal para distribuir
1649
+ * uniformemente los íconos, de forma que la distancia entre ellos sea la
1650
+ * misma que la existente en la izquierda y derecha. Si se pasa esta
1651
+ * propiedad, el primer y úlitmo ícono estarán colocados sobre los bordes y el
1652
+ * espacio restante se distribuirá entre los gaps existnetes
1653
+ */
1654
+ removeHorizontalPadding?: boolean;
1655
+ /**
1656
+ * El espaciado horizontal se calcula automáticamente, sin embargo si es
1657
+ * posible definir el vertical. Por defecto se usa 0.
1658
+ */
1659
+ verticalGap?: number;
1660
+ };
1661
+ /**
1662
+ * Por defecto se usa DefaultIconRenderer. El pasaje de un nuevo IconRenderer
1663
+ * permite modificar la forma en que se distribuyen en pantalla los distintos
1664
+ * atributos de cada ícono.
1665
+ *
1666
+ * Una particularidad es cómo se definen los estilos cuando el ícono está en
1667
+ * foco: Se usa el selector **'.iconsList__keyHandler:focus .focused
1668
+ * .iconsList__icon__wrapper'**, que es donde se aplican los estilos
1669
+ * correspondientes al foco.
1670
+ */
1671
+ type TIconRenderer<P = Record<string, unknown>> = FunctionComponent<TIcon<P>>;
1672
+
1673
+ declare const DefaultIconRenderer: React$1.NamedExoticComponent<TIcon<Record<string, unknown>>>;
1674
+
1675
+ declare const IconsList: {
1676
+ <P extends Record<string, unknown>>(props: TIconsList<P>, ref: ForwardedRef<HTMLDivElement>): React$1.JSX.Element;
1677
+ displayName: string;
1678
+ };
1679
+
1680
+ /**
1681
+ * Permite importar un componente en forma dinámica con ruta relativa a
1682
+ * /customComponents
1683
+ */
1684
+ declare function importComponent<T = unknown>(path: string): React$1.LazyExoticComponent<ComponentType<T>>;
1685
+
1686
+ type TClickListener = () => unknown;
1687
+ type TItemState = Pick<TToolbarIconButton, 'disabled' | 'toggled' | 'isLoading'>;
1688
+ declare class ToolbarController extends EventEmitter<{
1689
+ pressEnter: string;
1690
+ updateItemState: string;
1691
+ }> {
1692
+ eventListeners: Record<string, TClickListener[]>;
1693
+ itemsState: Record<string, TItemState>;
1694
+ hooks: {
1695
+ useItemState: (id: string, initialState: TItemState) => TItemState;
1696
+ };
1697
+ setItemState: (id: string, newState: Partial<TItemState>) => void;
1698
+ Context: ({ children }: {
1699
+ children: ReactNode;
1700
+ }) => React$1.JSX.Element;
1701
+ }
1702
+
1703
+ type TToolEventState = {
1704
+ isLoading: boolean;
1705
+ isToggled: boolean;
1706
+ };
1707
+ type TToolbarIconButton = {
1708
+ action: (props: TToolEventState, controller: ToolbarController) => unknown;
1709
+ actionSource?: 'click' | 'mousedown';
1710
+ /**
1711
+ * Si se pasa allowToggle y no se pasa toggled ( ni en true ni en false ),
1712
+ * entonces el estado de toggle será controlado internamente en el toolbar
1713
+ */
1714
+ allowToggle?: boolean;
1715
+ /**
1716
+ * Si se desea usar defaultToggled, debería pasarse también allowToggle
1717
+ */
1718
+ defaultToggled?: boolean;
1719
+ disabled?: boolean;
1720
+ icon: TIconType | TIconName;
1721
+ iconSize?: 'Xs' | 'Sm' | 'Md' | 'Lg' | 'Xl' | undefined;
1722
+ id: string;
1723
+ isLoading?: boolean;
1724
+ title: string;
1725
+ /**
1726
+ * Siempre que se pase toggled, no importa si en true o en false, el
1727
+ * usuario del toolbar deberá mantener la lógica de persistencia del
1728
+ * toggle
1729
+ */
1730
+ toggled?: boolean;
1731
+ };
1732
+ type TToolInput = {
1733
+ inputProps?: InputProps;
1734
+ label?: string;
1735
+ };
1736
+
1737
+ declare const ToolbarTextButton: (props: ISimpleButton) => React$1.JSX.Element;
1738
+
1739
+ declare const ToolbarIconButton: ({ id, action, actionSource, allowToggle, defaultToggled, disabled, icon, iconSize, isLoading: outerIsLoading, title, toggled: toggledProp, }: TToolbarIconButton) => React$1.JSX.Element;
1740
+
1741
+ declare const ToolbarInput: (tool: TToolInput) => React$1.JSX.Element;
1742
+
1743
+ declare const ToolbarSeparator: () => React$1.JSX.Element;
1744
+
1745
+ declare const ToolbarSelect: (props: SelectProps) => React$1.JSX.Element;
1746
+
1747
+ declare const Toolbar: ({ children, getController, }: {
1748
+ children: ReactNode;
1749
+ /**
1750
+ * El controlador permite gestionar el estado de los distintos elementos de
1751
+ * la toolbar
1752
+ */
1753
+ getController?: ((newController: ToolbarController) => unknown) | undefined;
1754
+ }) => React$1.JSX.Element;
1755
+
1756
+ type TSortableListItem = {
1757
+ additionalProps?: any;
1758
+ boxProps?: Omit<BoxProps, 'id'>;
1759
+ id: string;
1760
+ children: ReactNode;
1761
+ };
1762
+ declare const SortableListItem: React$1.MemoExoticComponent<({ boxProps, id, children }: TSortableListItem) => React$1.JSX.Element>;
1763
+
1764
+ declare const UnstyledSortableList: ({ boxProps, children, onSortChange, }: {
1765
+ boxProps?: BoxProps | undefined;
1766
+ children: ReactNode;
1767
+ onSortChange?: ((items: ReactElement<TSortableListItem>[]) => unknown) | undefined;
1768
+ }) => React$1.JSX.Element;
1769
+ declare const SortableList: ((props: {
1770
+ boxProps?: BoxProps | undefined;
1771
+ children: ReactNode;
1772
+ onSortChange?: ((items: ReactElement<TSortableListItem>[]) => unknown) | undefined;
1773
+ }) => React$1.JSX.Element) & {
1774
+ displayName: string;
1775
+ };
1776
+
1777
+ export { Accordion, AccordionContext, AccordionItem, AccordionItemButton, AccordionItemContent, AccordionItemContext, AlertModal, ApiaFilter, ApiaUtil, ApiaUtilModalHandler, ApiaUtilTooltip, AutoEllipsis, Autocomplete, type AutocompleteCmpProps, AutocompleteController, type AutocompleteOption, type AutocompleteProps, BaseButton, CalendarModal, Captcha, Checkbox, CollapsiblePanel, Confirm, ConfirmModal, ContainerWithHeader, DateInput, DefaultAccordionItemButton, DefaultIconRenderer, DefaultTabsLabelRenderer, DialogButtonBar, FieldErrorMessage, FieldLabel, type IAccordionItemButton, type IAccordionItemProps, type IAccordionProps, type IAlert, type IApiaFilter, type ICalendarModal, type IConfirm, type IDialogButtonBar, type IDialogHeader, type IField, type IFieldErrorMessage, type IIconInput, type IOverlay, type IRequiredMark, type IResponsiveComponent, type ISimpleButton, IconButton, IconInput, IconsList, LabelBox, LinearLoader, Listbox, ListboxItem, LoaderSpinner, Modal, NumberInput, Overlay, ProgressBar, RequiredMark, ScreenLocker, SimpleButton, SortableList, SortableListItem, type TAccordionHandler, type TAccordionItemButton, type TApiaButtonType, type TApiaIconButton, type TCheckbox, type TDateProps, type TFieldLabel, type TGetTabsController, type TIcon, type TIconButton, type TIconRenderer, type TIconSize, type TIconsList, type TListbox, type TMenuItem, type TModal, type TModalSize, type TNumberInput, type TNumberInputChangeEvent, type TOnClickNode, type TOnConfirmSelection, type TOnSelectionChange, type TOpenModal, type TSubmenu, type TTab, type TTabLabelRenderer as TTabRenderer, type TToolbarIconButton as TToolDefinition, type TTooltip, type TUseModalConfiguration, Tab, Tabs, TabsContent, TabsController, TabsList, Toolbar, ToolbarController, ToolbarIconButton, ToolbarInput, ToolbarSelect, ToolbarSeparator, ToolbarTextButton, UnstyledSortableList, WaiTypeAhead, getFieldErrorStyles, getFieldTouchedStyles, importComponent, makeResponsiveComponent, parseNumberInputValueToNumber, parseNumberValueToNumberInput, useAccordionContext, useModal, useModalContext, useOtherTagButton };
71
1778
  //# sourceMappingURL=index.d.ts.map