@apia/components 3.0.1 → 3.0.6

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
@@ -1,117 +0,0 @@
1
- import { ReactNode, RefObject } from 'react';
2
-
3
- type TAttachToElement = (() => HTMLElement) | RefObject<HTMLElement>;
4
- type TPreferredOrientationX = 'left' | 'right';
5
- type TPreferredOrientationY = 'top' | 'bottom';
6
- type TSize = {
7
- width: number;
8
- height: number;
9
- };
10
- type TSizeWithAuto = {
11
- width: number | 'auto';
12
- height: number | 'auto';
13
- };
14
- type TPosition = {
15
- left: number;
16
- top: number;
17
- };
18
- type TAttachToElementAnchorPoint = 'center' | 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';
19
- type TTooltip = {
20
- /** Define el contenido del tooltip */
21
- children?: ReactNode;
22
- /**
23
- * Indica si el tooltip se cierra con escape. Valor por defecto: true.
24
- */
25
- closeOnEscape?: boolean;
26
- /**
27
- * Indica si el tooltip se cierra al desplazar el puntero del mouse fuera del
28
- * tooltip. Valor por defecto: true.
29
- */
30
- closeOnMouseLeaveTooltip?: boolean | ((ev: MouseEvent) => boolean);
31
- /**
32
- * Indica si el tooltip se cierra al desplazar el puntero del mouse fuera del
33
- * elemento al que el tooltip está anclado. Valor por defecto: true.
34
- */
35
- closeOnMouseLeaveAttachedElement?: boolean | ((ev: MouseEvent) => boolean);
36
- /**
37
- * Indica si el tooltip se cierra al hacerle click. Valor por defecto: false.
38
- */
39
- closeOnClick?: boolean;
40
- /**
41
- * Indica si el tooltip se cierra al hacer click fuera de él. Valor por
42
- * defecto: true.
43
- */
44
- closeOnClickOut?: boolean | ((ev: MouseEvent) => boolean);
45
- /**
46
- * Indica si el tooltip se cierra al hacer scroll en un elemento externo al
47
- * tooltip. Valor por defecto: true.
48
- */
49
- closeOnScrollOut?: boolean;
50
- /**
51
- * Por defecto está en true. Cierra los demás tooltips al abrirse
52
- */
53
- closeOthers?: boolean;
54
- /**
55
- * Permite determinar sobre qué elemento se abre el tooltip
56
- */
57
- attachToElement?: TAttachToElement;
58
- /**
59
- * Cuando se desea hacer attach a un elemento, es posible posicionar el menú
60
- * en cualquiera de los cuatro vétices definidos por el box que lo contiene o
61
- * bien ubicarlo exactamente en el centro.
62
- *
63
- * Por defecto se colocará en topRight.
64
- *
65
- * Además el tooltip se extenderá según la orientación definida en los
66
- * parámetros preferredOrientationX y preferredOrientationY.
67
- */
68
- attachToElementAnchorPoint?: TAttachToElementAnchorPoint;
69
- attachToMousePosition?: boolean;
70
- /**
71
- * Permite indicar que el tooltip se abrirá en un punto específico. En caso
72
- * de no indicar anchorPoint ni attachToElement se abrirá en {0,0}
73
- */
74
- anchorPoint?: TPosition;
75
- /**
76
- * El minSize define el espacio mínimo que debe existir para mostrar el
77
- * tooltip. En caso de que en la orientación definida no exista espacio
78
- * suficiente, el tooltip se mostrará en otra orientación que si lo permita.
79
- */
80
- minSize?: TSize;
81
- /**
82
- * El preferredSize define el espacio deseado que debería ocupar el tooltip.
83
- * En caso de no haber espacio suficiente para cubrir este espacio en la
84
- * orientación definida, se cubrirá todo el espacio disponible, siempre y
85
- * cuando sea mayor o igual que minSize, en cuyo caso entrará en juego el
86
- * comportamiento de minSize.
87
- *
88
- * Por defecto usa { height: 'auto', width: 'auto' }.
89
- */
90
- preferredSize?: TSizeWithAuto;
91
- /**
92
- * Posición en la que el tooltip se muestra en caso de que haya espacio
93
- * suficiente, por defecto usa right.
94
- */
95
- preferredOrientationX?: TPreferredOrientationX;
96
- /**
97
- * Posición en la que el tooltip se muestra en caso de que haya espacio
98
- * suficiente, por defecto usa bottom.
99
- */
100
- preferredOrientationY?: TPreferredOrientationY;
101
- /**
102
- * Permite agregar classNames al box contenedor.
103
- */
104
- className?: string;
105
- /**
106
- * Será llamado cuando el tooltip sea cerrado.
107
- */
108
- onClose?: () => unknown;
109
- /**
110
- * Variante del box contenedor. Por defecto usa
111
- * layout.common.tooltips.primary.
112
- */
113
- variant?: string;
114
- };
115
-
116
- export type { TAttachToElement, TAttachToElementAnchorPoint, TPosition, TPreferredOrientationX, TPreferredOrientationY, TSize, TSizeWithAuto, TTooltip };
117
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,273 +0,0 @@
1
- import { isChild } from '@apia/util';
2
- import { useRef, useCallback, useEffect } from 'react';
3
-
4
- function isAttachToElementAFunction(attachToElement) {
5
- return attachToElement instanceof Function && getParamNames(attachToElement).length === 0;
6
- }
7
- const STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm;
8
- const ARGUMENT_NAMES = /([^\s,]+)/g;
9
- function getParamNames(func) {
10
- const fnStr = func.toString().replace(STRIP_COMMENTS, "");
11
- let result = fnStr.slice(fnStr.indexOf("(") + 1, fnStr.indexOf(")")).match(ARGUMENT_NAMES);
12
- if (result === null)
13
- result = [];
14
- return result;
15
- }
16
- function determineAnchorPoint({
17
- attachToElement,
18
- attachToElementAnchorPoint
19
- }) {
20
- let actualAnchorPoint = { left: 0, top: 0 };
21
- const element = isAttachToElementAFunction(attachToElement) ? attachToElement() : attachToElement.current;
22
- if (element) {
23
- const rect = element.getBoundingClientRect();
24
- const point = attachToElementAnchorPoint ?? "topRight";
25
- switch (point) {
26
- case "bottomLeft":
27
- actualAnchorPoint = {
28
- left: rect.left,
29
- top: rect.bottom
30
- };
31
- break;
32
- case "bottomRight":
33
- actualAnchorPoint = {
34
- left: rect.right,
35
- top: rect.bottom
36
- };
37
- break;
38
- case "center":
39
- actualAnchorPoint = {
40
- left: (rect.left + rect.right) / 2,
41
- top: (rect.bottom + rect.top) / 2
42
- };
43
- break;
44
- case "topLeft":
45
- actualAnchorPoint = {
46
- left: rect.left,
47
- top: rect.top
48
- };
49
- break;
50
- case "topRight":
51
- actualAnchorPoint = {
52
- left: rect.right,
53
- top: rect.top
54
- };
55
- break;
56
- }
57
- } else {
58
- console.warn(
59
- "Cannot resolve element, will use default positioning ",
60
- attachToElement
61
- );
62
- }
63
- return actualAnchorPoint;
64
- }
65
- let x = 0;
66
- let y = 0;
67
- document.addEventListener("mousemove", (ev) => {
68
- x = ev.clientX;
69
- y = ev.clientY;
70
- });
71
- function calculateTooltipPosition({
72
- anchorPoint,
73
- attachToElement,
74
- attachToElementAnchorPoint,
75
- attachToMousePosition,
76
- minSize,
77
- preferredOrientationX,
78
- preferredOrientationY,
79
- preferredSize = { height: "auto", width: "auto" }
80
- }) {
81
- let actualAnchorPoint = anchorPoint;
82
- if (attachToMousePosition) {
83
- actualAnchorPoint = {
84
- left: x + 3,
85
- top: y + 3
86
- };
87
- }
88
- if (attachToElement) {
89
- actualAnchorPoint = determineAnchorPoint({
90
- attachToElement,
91
- attachToElementAnchorPoint
92
- });
93
- }
94
- if (actualAnchorPoint) {
95
- const availableBottomSpace = window.innerHeight - actualAnchorPoint.top;
96
- const availableTopSpace = actualAnchorPoint.top;
97
- const availableLeftSpace = actualAnchorPoint.left;
98
- const availableRightSpace = window.innerWidth - actualAnchorPoint.left;
99
- const isEnoughToRight = (minSize?.width ?? 0) <= availableRightSpace;
100
- const isEnoughToLeft = (minSize?.width ?? 0) <= availableLeftSpace;
101
- const isEnoughToBottom = (minSize?.height ?? 0) <= availableBottomSpace;
102
- const isEnoughToTop = (minSize?.height ?? 0) <= availableTopSpace;
103
- const preferredWidth = preferredSize.width === "auto" ? Infinity : preferredSize.width;
104
- const preferredHeight = preferredSize.height === "auto" ? Infinity : preferredSize.height;
105
- const position = {
106
- "& > *": {
107
- width: "100%",
108
- height: "100%"
109
- },
110
- width: preferredSize.width === "auto" ? "auto" : "100%",
111
- height: preferredSize.height === "auto" ? "auto" : "100%"
112
- };
113
- if (preferredOrientationX === "left") {
114
- if (isEnoughToLeft) {
115
- position.maxWidth = Math.min(preferredWidth, availableLeftSpace);
116
- position.right = window.innerWidth - actualAnchorPoint.left;
117
- } else if (isEnoughToRight) {
118
- position.maxWidth = Math.min(preferredWidth, availableRightSpace);
119
- position.left = actualAnchorPoint.left;
120
- } else {
121
- position.left = 0;
122
- position.maxWidth = "100vw";
123
- }
124
- } else {
125
- if (isEnoughToRight) {
126
- position.maxWidth = Math.min(preferredWidth, availableRightSpace);
127
- position.left = actualAnchorPoint.left;
128
- } else if (isEnoughToLeft) {
129
- position.maxWidth = Math.min(preferredWidth, availableLeftSpace);
130
- position.right = window.innerWidth - actualAnchorPoint.left;
131
- } else {
132
- position.left = 0;
133
- position.maxWidth = "100vw";
134
- }
135
- }
136
- if (preferredOrientationY === "top") {
137
- if (isEnoughToTop) {
138
- position.maxHeight = Math.min(preferredHeight, availableTopSpace);
139
- position.bottom = window.innerHeight - actualAnchorPoint.top;
140
- } else if (isEnoughToBottom) {
141
- position.maxHeight = Math.min(preferredHeight, availableBottomSpace);
142
- position.top = actualAnchorPoint.top;
143
- } else {
144
- position.maxHeight = "100vh";
145
- position.top = 0;
146
- }
147
- } else {
148
- if (isEnoughToBottom) {
149
- position.maxHeight = Math.min(preferredHeight, availableBottomSpace);
150
- position.top = actualAnchorPoint.top;
151
- } else if (isEnoughToTop) {
152
- position.maxHeight = Math.min(preferredHeight, availableTopSpace);
153
- position.bottom = window.innerHeight - actualAnchorPoint.top;
154
- } else {
155
- position.maxHeight = "100vh";
156
- position.top = 0;
157
- }
158
- }
159
- position.minHeight = typeof position.maxHeight === "number" ? Math.min(position.maxHeight, minSize?.height ?? 0) : minSize?.height ?? 0;
160
- position.minWidth = typeof position.minWidth === "number" ? Math.min(position.minWidth, minSize?.width ?? 0) : minSize?.width ?? 0;
161
- return position;
162
- }
163
- return { left: 0, top: 0, width: "auto", height: "auto" };
164
- }
165
- function useHandlers({
166
- attachToElement,
167
- closeOnClick,
168
- closeOnClickOut,
169
- closeOnEscape,
170
- closeOnMouseLeaveTooltip,
171
- closeOnMouseLeaveAttachedElement,
172
- closeOnScrollOut,
173
- onClose
174
- }) {
175
- const hasInited = useRef(false);
176
- const close = useCallback(() => {
177
- onClose?.();
178
- }, [onClose]);
179
- useEffect(() => {
180
- function handleEscape(ev) {
181
- if (ev.code === "Escape" && closeOnEscape !== false) {
182
- close();
183
- }
184
- }
185
- function handleMouseDownOut(ev) {
186
- if (!hasInited.current)
187
- return;
188
- const actuallyCloseOnClickOut = (closeOnClickOut instanceof Function ? closeOnClickOut(ev) : closeOnClickOut) === true;
189
- if (actuallyCloseOnClickOut && !isChild(
190
- ev.target,
191
- (current) => current.classList?.contains("tooltip__wrapper")
192
- )) {
193
- close();
194
- }
195
- }
196
- function handleScroll(ev) {
197
- if (!hasInited.current)
198
- return;
199
- if (closeOnScrollOut && !isChild(
200
- ev.target,
201
- (current) => current.classList?.contains("tooltip__wrapper")
202
- )) {
203
- close();
204
- }
205
- }
206
- function handleMouseLeave(event) {
207
- const actuallyCloseOnMouseLeaveTooltip = closeOnMouseLeaveTooltip instanceof Function ? closeOnMouseLeaveTooltip(event) : closeOnMouseLeaveTooltip;
208
- const actuallyCloseOnMouseLeaveAttachedElement = closeOnMouseLeaveAttachedElement instanceof Function ? closeOnMouseLeaveAttachedElement(event) : closeOnMouseLeaveAttachedElement;
209
- if (!hasInited.current || !actuallyCloseOnMouseLeaveAttachedElement && !actuallyCloseOnMouseLeaveTooltip)
210
- return;
211
- const resolvedAttachToElement = attachToElement ? isAttachToElementAFunction(attachToElement) ? attachToElement() : attachToElement.current : null;
212
- const isTooltipTheTarget = isChild(
213
- event.target,
214
- (current) => current.classList.contains("tooltip__wrapper")
215
- );
216
- const isAttachedTheTarget = isChild(
217
- event.target,
218
- (current) => current === resolvedAttachToElement
219
- );
220
- const isTooltipRelated = isChild(
221
- event.relatedTarget,
222
- (current) => current.classList.contains("tooltip__wrapper")
223
- );
224
- const isAttachedRelated = isChild(
225
- event.relatedTarget,
226
- (current) => current === resolvedAttachToElement
227
- );
228
- if (isTooltipRelated || isAttachedRelated)
229
- return;
230
- if (isAttachedTheTarget && !actuallyCloseOnMouseLeaveAttachedElement)
231
- return;
232
- if (isTooltipTheTarget && !actuallyCloseOnMouseLeaveTooltip)
233
- return;
234
- if (isTooltipTheTarget || isAttachedTheTarget)
235
- close();
236
- }
237
- document.addEventListener("keydown", handleEscape);
238
- document.addEventListener("mousedown", handleMouseDownOut);
239
- document.addEventListener("scroll", handleScroll);
240
- document.addEventListener("mouseout", handleMouseLeave);
241
- setTimeout(() => {
242
- hasInited.current = true;
243
- }, 0);
244
- return () => {
245
- document.removeEventListener("keydown", handleEscape);
246
- document.removeEventListener("click", handleMouseDownOut);
247
- document.removeEventListener("scroll", handleScroll);
248
- document.removeEventListener("mouseout", handleMouseLeave);
249
- };
250
- }, [
251
- attachToElement,
252
- close,
253
- closeOnClickOut,
254
- closeOnEscape,
255
- closeOnMouseLeaveAttachedElement,
256
- closeOnMouseLeaveTooltip,
257
- closeOnScrollOut
258
- ]);
259
- return {
260
- handleOnClick: useCallback(
261
- (ev) => {
262
- ev.stopPropagation();
263
- if (closeOnClick) {
264
- close();
265
- }
266
- },
267
- [close, closeOnClick]
268
- )
269
- };
270
- }
271
-
272
- export { calculateTooltipPosition, getParamNames, isAttachToElementAFunction, useHandlers };
273
- //# sourceMappingURL=util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.js","sources":["../../../../../src/objects/ApiaUtil/tooltips/tooltip/util.ts"],"sourcesContent":["import { isChild } from '@apia/util';\nimport { TAttachToElement, TPosition, TTooltip } from './types';\nimport { ThemeUICSSObject } from '@apia/theme';\nimport React, { useCallback, useEffect, useRef } from 'react';\n\nexport function isAttachToElementAFunction(\n attachToElement: TAttachToElement,\n): attachToElement is () => HTMLElement {\n return (\n attachToElement instanceof Function &&\n getParamNames(attachToElement).length === 0\n );\n}\n\nconst STRIP_COMMENTS = /((\\/\\/.*$)|(\\/\\*[\\s\\S]*?\\*\\/))/gm;\nconst ARGUMENT_NAMES = /([^\\s,]+)/g;\n\nexport function getParamNames(func: object) {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n const fnStr = func.toString().replace(STRIP_COMMENTS, '');\n let result: string[] | RegExpMatchArray | null = fnStr\n .slice(fnStr.indexOf('(') + 1, fnStr.indexOf(')'))\n .match(ARGUMENT_NAMES);\n if (result === null) result = [];\n\n return result;\n}\n\nfunction determineAnchorPoint({\n attachToElement,\n attachToElementAnchorPoint,\n}: Pick<TTooltip, 'attachToElementAnchorPoint'> &\n Required<Pick<TTooltip, 'attachToElement'>>) {\n let actualAnchorPoint: TPosition = { left: 0, top: 0 };\n\n const element = isAttachToElementAFunction(attachToElement)\n ? attachToElement()\n : attachToElement.current;\n\n if (element) {\n const rect = element.getBoundingClientRect();\n\n const point = attachToElementAnchorPoint ?? 'topRight';\n\n switch (point) {\n case 'bottomLeft':\n actualAnchorPoint = {\n left: rect.left,\n top: rect.bottom,\n };\n break;\n case 'bottomRight':\n actualAnchorPoint = {\n left: rect.right,\n top: rect.bottom,\n };\n break;\n case 'center':\n actualAnchorPoint = {\n left: (rect.left + rect.right) / 2,\n top: (rect.bottom + rect.top) / 2,\n };\n break;\n case 'topLeft':\n actualAnchorPoint = {\n left: rect.left,\n top: rect.top,\n };\n break;\n case 'topRight':\n actualAnchorPoint = {\n left: rect.right,\n top: rect.top,\n };\n break;\n }\n } else {\n console.warn(\n 'Cannot resolve element, will use default positioning ',\n attachToElement,\n );\n }\n\n return actualAnchorPoint;\n}\n\nlet x = 0;\nlet y = 0;\ndocument.addEventListener('mousemove', (ev) => {\n x = ev.clientX;\n y = ev.clientY;\n});\n\nexport function calculateTooltipPosition({\n anchorPoint,\n attachToElement,\n attachToElementAnchorPoint,\n attachToMousePosition,\n minSize,\n preferredOrientationX,\n preferredOrientationY,\n preferredSize = { height: 'auto', width: 'auto' },\n}: Pick<\n TTooltip,\n | 'anchorPoint'\n | 'attachToElement'\n | 'attachToElementAnchorPoint'\n | 'attachToMousePosition'\n | 'minSize'\n | 'preferredOrientationX'\n | 'preferredOrientationY'\n | 'preferredSize'\n>): ThemeUICSSObject {\n let actualAnchorPoint = anchorPoint;\n\n if (attachToMousePosition) {\n actualAnchorPoint = {\n left: x + 3,\n top: y + 3,\n };\n }\n\n if (attachToElement) {\n actualAnchorPoint = determineAnchorPoint({\n attachToElement,\n attachToElementAnchorPoint,\n });\n }\n\n if (actualAnchorPoint) {\n const availableBottomSpace = window.innerHeight - actualAnchorPoint.top;\n const availableTopSpace = actualAnchorPoint.top;\n const availableLeftSpace = actualAnchorPoint.left;\n const availableRightSpace = window.innerWidth - actualAnchorPoint.left;\n\n const isEnoughToRight = (minSize?.width ?? 0) <= availableRightSpace;\n const isEnoughToLeft = (minSize?.width ?? 0) <= availableLeftSpace;\n const isEnoughToBottom = (minSize?.height ?? 0) <= availableBottomSpace;\n const isEnoughToTop = (minSize?.height ?? 0) <= availableTopSpace;\n\n const preferredWidth =\n preferredSize.width === 'auto' ? Infinity : preferredSize.width;\n const preferredHeight =\n preferredSize.height === 'auto' ? Infinity : preferredSize.height;\n\n const position: ThemeUICSSObject = {\n '& > *': {\n width: '100%',\n height: '100%',\n },\n width: preferredSize.width === 'auto' ? 'auto' : '100%',\n height: preferredSize.height === 'auto' ? 'auto' : '100%',\n };\n\n if (preferredOrientationX === 'left') {\n if (isEnoughToLeft) {\n position.maxWidth = Math.min(preferredWidth, availableLeftSpace);\n position.right = window.innerWidth - actualAnchorPoint.left;\n } else if (isEnoughToRight) {\n position.maxWidth = Math.min(preferredWidth, availableRightSpace);\n position.left = actualAnchorPoint.left;\n } else {\n position.left = 0;\n position.maxWidth = '100vw';\n }\n } else {\n if (isEnoughToRight) {\n position.maxWidth = Math.min(preferredWidth, availableRightSpace);\n position.left = actualAnchorPoint.left;\n } else if (isEnoughToLeft) {\n position.maxWidth = Math.min(preferredWidth, availableLeftSpace);\n position.right = window.innerWidth - actualAnchorPoint.left;\n } else {\n position.left = 0;\n position.maxWidth = '100vw';\n }\n }\n\n if (preferredOrientationY === 'top') {\n if (isEnoughToTop) {\n position.maxHeight = Math.min(preferredHeight, availableTopSpace);\n position.bottom = window.innerHeight - actualAnchorPoint.top;\n } else if (isEnoughToBottom) {\n position.maxHeight = Math.min(preferredHeight, availableBottomSpace);\n position.top = actualAnchorPoint.top;\n } else {\n position.maxHeight = '100vh';\n position.top = 0;\n }\n } else {\n if (isEnoughToBottom) {\n position.maxHeight = Math.min(preferredHeight, availableBottomSpace);\n position.top = actualAnchorPoint.top;\n } else if (isEnoughToTop) {\n position.maxHeight = Math.min(preferredHeight, availableTopSpace);\n position.bottom = window.innerHeight - actualAnchorPoint.top;\n } else {\n position.maxHeight = '100vh';\n position.top = 0;\n }\n }\n\n position.minHeight =\n typeof position.maxHeight === 'number'\n ? Math.min(position.maxHeight, minSize?.height ?? 0)\n : minSize?.height ?? 0;\n position.minWidth =\n typeof position.minWidth === 'number'\n ? Math.min(position.minWidth, minSize?.width ?? 0)\n : minSize?.width ?? 0;\n\n return position;\n }\n\n return { left: 0, top: 0, width: 'auto', height: 'auto' };\n}\n\nexport function useHandlers({\n attachToElement,\n closeOnClick,\n closeOnClickOut,\n closeOnEscape,\n closeOnMouseLeaveTooltip,\n closeOnMouseLeaveAttachedElement,\n closeOnScrollOut,\n onClose,\n}: Pick<\n TTooltip,\n | 'attachToElement'\n | 'closeOnClick'\n | 'closeOnClickOut'\n | 'closeOnEscape'\n | 'closeOnMouseLeaveTooltip'\n | 'closeOnMouseLeaveAttachedElement'\n | 'closeOnScrollOut'\n | 'onClose'\n>) {\n const hasInited = useRef(false);\n const close = useCallback(() => {\n onClose?.();\n }, [onClose]);\n\n useEffect(() => {\n function handleEscape(ev: KeyboardEvent) {\n if (ev.code === 'Escape' && closeOnEscape !== false) {\n close();\n }\n }\n function handleMouseDownOut(ev: MouseEvent) {\n if (!hasInited.current) return;\n\n const actuallyCloseOnClickOut =\n (closeOnClickOut instanceof Function\n ? closeOnClickOut(ev)\n : closeOnClickOut) === true;\n\n if (\n actuallyCloseOnClickOut &&\n !isChild(ev.target as HTMLElement, (current) =>\n current.classList?.contains('tooltip__wrapper'),\n )\n ) {\n close();\n }\n }\n function handleScroll(ev: Event) {\n if (!hasInited.current) return;\n if (\n closeOnScrollOut &&\n !isChild(ev.target as HTMLElement, (current) =>\n current.classList?.contains('tooltip__wrapper'),\n )\n ) {\n close();\n }\n }\n\n function handleMouseLeave(event: MouseEvent) {\n const actuallyCloseOnMouseLeaveTooltip =\n closeOnMouseLeaveTooltip instanceof Function\n ? closeOnMouseLeaveTooltip(event)\n : closeOnMouseLeaveTooltip;\n\n const actuallyCloseOnMouseLeaveAttachedElement =\n closeOnMouseLeaveAttachedElement instanceof Function\n ? closeOnMouseLeaveAttachedElement(event)\n : closeOnMouseLeaveAttachedElement;\n\n if (\n !hasInited.current ||\n (!actuallyCloseOnMouseLeaveAttachedElement &&\n !actuallyCloseOnMouseLeaveTooltip)\n )\n return;\n\n const resolvedAttachToElement = attachToElement\n ? isAttachToElementAFunction(attachToElement)\n ? attachToElement()\n : attachToElement.current\n : null;\n\n const isTooltipTheTarget = isChild(\n event.target as HTMLElement,\n (current) => current.classList.contains('tooltip__wrapper'),\n );\n const isAttachedTheTarget = isChild(\n event.target as HTMLElement,\n (current) => current === resolvedAttachToElement,\n );\n\n const isTooltipRelated = isChild(\n event.relatedTarget as HTMLElement,\n (current) => current.classList.contains('tooltip__wrapper'),\n );\n\n const isAttachedRelated = isChild(\n event.relatedTarget as HTMLElement,\n (current) => current === resolvedAttachToElement,\n );\n\n if (isTooltipRelated || isAttachedRelated) return;\n if (isAttachedTheTarget && !actuallyCloseOnMouseLeaveAttachedElement)\n return;\n if (isTooltipTheTarget && !actuallyCloseOnMouseLeaveTooltip) return;\n\n if (isTooltipTheTarget || isAttachedTheTarget) close();\n }\n\n document.addEventListener('keydown', handleEscape);\n document.addEventListener('mousedown', handleMouseDownOut);\n document.addEventListener('scroll', handleScroll);\n document.addEventListener('mouseout', handleMouseLeave);\n\n setTimeout(() => {\n hasInited.current = true;\n }, 0);\n\n return () => {\n document.removeEventListener('keydown', handleEscape);\n document.removeEventListener('click', handleMouseDownOut);\n document.removeEventListener('scroll', handleScroll);\n document.removeEventListener('mouseout', handleMouseLeave);\n };\n }, [\n attachToElement,\n close,\n closeOnClickOut,\n closeOnEscape,\n closeOnMouseLeaveAttachedElement,\n closeOnMouseLeaveTooltip,\n closeOnScrollOut,\n ]);\n\n return {\n handleOnClick: useCallback(\n (ev: React.MouseEvent) => {\n ev.stopPropagation();\n if (closeOnClick) {\n close();\n }\n },\n [close, closeOnClick],\n ),\n };\n}\n"],"names":[],"mappings":"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"}
@@ -1,37 +0,0 @@
1
- import * as React from 'react';
2
- import * as _apia_util from '@apia/util';
3
- import { StatefulEmitter } from '@apia/util';
4
-
5
- type LockTypes = 'linear' | 'white' | 'common';
6
- type Lock = {
7
- count: number;
8
- };
9
- type LockOptions = Partial<{
10
- type: LockTypes;
11
- }>;
12
- declare class ScreenLocker {
13
- protected emitter: StatefulEmitter<{
14
- locks: Record<LockTypes, Lock>;
15
- release: true;
16
- }>;
17
- lock: (options?: LockOptions) => () => void;
18
- protected hasReleased: boolean;
19
- /**
20
- * 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.
21
- */
22
- release: () => void;
23
- /**
24
- * This method notifies when the screenLock is released by the first time.
25
- */
26
- onRelease: (cb: _apia_util.Callback<{
27
- locks: Record<LockTypes, Lock>;
28
- release: true;
29
- }, "locks" | "release">) => _apia_util.UnSubscriber;
30
- /**
31
- * This component is the responsible for putting the lock courtain in the browser when it's required. It must be used once per application.
32
- */
33
- Component: () => React.JSX.Element | null;
34
- }
35
-
36
- export { ScreenLocker };
37
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,92 +0,0 @@
1
- import { jsx } from '@apia/theme/jsx-runtime';
2
- import { StatefulEmitter } from '@apia/util';
3
-
4
- var __defProp = Object.defineProperty;
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
- var __publicField = (obj, key, value) => {
7
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
8
- return value;
9
- };
10
- class ScreenLocker {
11
- constructor() {
12
- __publicField(this, "emitter", new StatefulEmitter({
13
- locks: {
14
- common: { count: 0 },
15
- linear: { count: 0 },
16
- white: { count: 1 }
17
- }
18
- }));
19
- __publicField(this, "lock", (options) => {
20
- this.emitter.setState("locks", (s) => {
21
- const key = options?.type ?? "common";
22
- return {
23
- ...s,
24
- [key]: { count: (s[key].count ?? 0) + 1 }
25
- };
26
- });
27
- return () => this.emitter.setState("locks", (s) => {
28
- const key = options?.type ?? "common";
29
- return {
30
- ...s,
31
- [key]: { count: (s[key].count ?? 0) - 1 }
32
- };
33
- });
34
- });
35
- __publicField(this, "hasReleased", false);
36
- /**
37
- * 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.
38
- */
39
- __publicField(this, "release", () => {
40
- if (this.hasReleased)
41
- return;
42
- this.hasReleased = true;
43
- this.emitter.setState("locks", (s) => {
44
- const key = "white";
45
- return {
46
- ...s,
47
- [key]: { count: (s[key].count ?? 0) - 1 }
48
- };
49
- });
50
- this.emitter.emit("release", true);
51
- });
52
- /**
53
- * This method notifies when the screenLock is released by the first time.
54
- */
55
- __publicField(this, "onRelease", this.emitter.on.bind(this.emitter, "release"));
56
- /**
57
- * This component is the responsible for putting the lock courtain in the browser when it's required. It must be used once per application.
58
- */
59
- __publicField(this, "Component", () => {
60
- const locks = this.emitter.useState("locks");
61
- const style = {
62
- alignItems: "center",
63
- display: "flex",
64
- inset: 0,
65
- justifyContent: "center",
66
- position: "fixed"
67
- };
68
- if (locks.white.count) {
69
- return /* @__PURE__ */ jsx(
70
- "div",
71
- {
72
- style: {
73
- ...style,
74
- background: "white"
75
- },
76
- children: "White"
77
- }
78
- );
79
- }
80
- if (locks.linear.count) {
81
- return /* @__PURE__ */ jsx("div", { style, children: "Linear" });
82
- }
83
- if (locks.common.count) {
84
- return /* @__PURE__ */ jsx("div", { style, children: "Common" });
85
- }
86
- return null;
87
- });
88
- }
89
- }
90
-
91
- export { ScreenLocker };
92
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/objects/ScreenLocker/index.tsx"],"sourcesContent":["import { CSSProperties } from '@apia/theme';\r\nimport { StatefulEmitter } from '@apia/util';\r\n\r\ntype LockTypes = 'linear' | 'white' | 'common';\r\ntype Lock = {\r\n count: number;\r\n};\r\ntype LockOptions = Partial<{\r\n type: LockTypes;\r\n}>;\r\n\r\nexport class ScreenLocker {\r\n protected emitter = new StatefulEmitter<{\r\n locks: Record<LockTypes, Lock>;\r\n release: true;\r\n }>({\r\n locks: {\r\n common: { count: 0 },\r\n linear: { count: 0 },\r\n white: { count: 1 },\r\n },\r\n });\r\n\r\n lock = (options?: LockOptions) => {\r\n this.emitter.setState('locks', (s) => {\r\n const key = options?.type ?? 'common';\r\n\r\n return {\r\n ...s,\r\n [key]: { count: (s[key].count ?? 0) + 1 },\r\n };\r\n });\r\n\r\n return () =>\r\n this.emitter.setState('locks', (s) => {\r\n const key = options?.type ?? 'common';\r\n\r\n return {\r\n ...s,\r\n [key]: { count: (s[key].count ?? 0) - 1 },\r\n };\r\n });\r\n };\r\n\r\n protected hasReleased = false;\r\n /**\r\n * 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.\r\n */\r\n release = () => {\r\n if (this.hasReleased) return;\r\n this.hasReleased = true;\r\n\r\n this.emitter.setState('locks', (s) => {\r\n const key = 'white';\r\n\r\n return {\r\n ...s,\r\n [key]: { count: (s[key].count ?? 0) - 1 },\r\n };\r\n });\r\n this.emitter.emit('release', true);\r\n };\r\n\r\n /**\r\n * This method notifies when the screenLock is released by the first time.\r\n */\r\n onRelease = this.emitter.on.bind(this.emitter, 'release');\r\n\r\n /**\r\n * This component is the responsible for putting the lock courtain in the browser when it's required. It must be used once per application.\r\n */\r\n Component = () => {\r\n const locks = this.emitter.useState('locks');\r\n\r\n const style: CSSProperties = {\r\n alignItems: 'center',\r\n display: 'flex',\r\n inset: 0,\r\n justifyContent: 'center',\r\n position: 'fixed',\r\n };\r\n\r\n if (locks.white.count) {\r\n return (\r\n <div\r\n style={{\r\n ...style,\r\n background: 'white',\r\n }}\r\n >\r\n White\r\n </div>\r\n );\r\n }\r\n\r\n if (locks.linear.count) {\r\n return <div style={style}>Linear</div>;\r\n }\r\n\r\n if (locks.common.count) {\r\n return <div style={style}>Common</div>;\r\n }\r\n\r\n return null;\r\n };\r\n}\r\n"],"names":[],"mappings":";;;;;;;;;AAWO,MAAM,YAAa,CAAA;AAAA,EAAnB,WAAA,GAAA;AACL,IAAU,aAAA,CAAA,IAAA,EAAA,SAAA,EAAU,IAAI,eAGrB,CAAA;AAAA,MACD,KAAO,EAAA;AAAA,QACL,MAAA,EAAQ,EAAE,KAAA,EAAO,CAAE,EAAA;AAAA,QACnB,MAAA,EAAQ,EAAE,KAAA,EAAO,CAAE,EAAA;AAAA,QACnB,KAAA,EAAO,EAAE,KAAA,EAAO,CAAE,EAAA;AAAA,OACpB;AAAA,KACD,CAAA,CAAA,CAAA;AAED,IAAA,aAAA,CAAA,IAAA,EAAA,MAAA,EAAO,CAAC,OAA0B,KAAA;AAChC,MAAA,IAAA,CAAK,OAAQ,CAAA,QAAA,CAAS,OAAS,EAAA,CAAC,CAAM,KAAA;AACpC,QAAM,MAAA,GAAA,GAAM,SAAS,IAAQ,IAAA,QAAA,CAAA;AAE7B,QAAO,OAAA;AAAA,UACL,GAAG,CAAA;AAAA,UACH,CAAC,GAAG,GAAG,EAAE,KAAA,EAAA,CAAQ,EAAE,GAAG,CAAA,CAAE,KAAS,IAAA,CAAA,IAAK,CAAE,EAAA;AAAA,SAC1C,CAAA;AAAA,OACD,CAAA,CAAA;AAED,MAAA,OAAO,MACL,IAAK,CAAA,OAAA,CAAQ,QAAS,CAAA,OAAA,EAAS,CAAC,CAAM,KAAA;AACpC,QAAM,MAAA,GAAA,GAAM,SAAS,IAAQ,IAAA,QAAA,CAAA;AAE7B,QAAO,OAAA;AAAA,UACL,GAAG,CAAA;AAAA,UACH,CAAC,GAAG,GAAG,EAAE,KAAA,EAAA,CAAQ,EAAE,GAAG,CAAA,CAAE,KAAS,IAAA,CAAA,IAAK,CAAE,EAAA;AAAA,SAC1C,CAAA;AAAA,OACD,CAAA,CAAA;AAAA,KACL,CAAA,CAAA;AAEA,IAAA,aAAA,CAAA,IAAA,EAAU,aAAc,EAAA,KAAA,CAAA,CAAA;AAIxB;AAAA;AAAA;AAAA,IAAA,aAAA,CAAA,IAAA,EAAA,SAAA,EAAU,MAAM;AACd,MAAA,IAAI,IAAK,CAAA,WAAA;AAAa,QAAA,OAAA;AACtB,MAAA,IAAA,CAAK,WAAc,GAAA,IAAA,CAAA;AAEnB,MAAA,IAAA,CAAK,OAAQ,CAAA,QAAA,CAAS,OAAS,EAAA,CAAC,CAAM,KAAA;AACpC,QAAA,MAAM,GAAM,GAAA,OAAA,CAAA;AAEZ,QAAO,OAAA;AAAA,UACL,GAAG,CAAA;AAAA,UACH,CAAC,GAAG,GAAG,EAAE,KAAA,EAAA,CAAQ,EAAE,GAAG,CAAA,CAAE,KAAS,IAAA,CAAA,IAAK,CAAE,EAAA;AAAA,SAC1C,CAAA;AAAA,OACD,CAAA,CAAA;AACD,MAAK,IAAA,CAAA,OAAA,CAAQ,IAAK,CAAA,SAAA,EAAW,IAAI,CAAA,CAAA;AAAA,KACnC,CAAA,CAAA;AAKA;AAAA;AAAA;AAAA,IAAA,aAAA,CAAA,IAAA,EAAA,WAAA,EAAY,KAAK,OAAQ,CAAA,EAAA,CAAG,IAAK,CAAA,IAAA,CAAK,SAAS,SAAS,CAAA,CAAA,CAAA;AAKxD;AAAA;AAAA;AAAA,IAAA,aAAA,CAAA,IAAA,EAAA,WAAA,EAAY,MAAM;AAChB,MAAA,MAAM,KAAQ,GAAA,IAAA,CAAK,OAAQ,CAAA,QAAA,CAAS,OAAO,CAAA,CAAA;AAE3C,MAAA,MAAM,KAAuB,GAAA;AAAA,QAC3B,UAAY,EAAA,QAAA;AAAA,QACZ,OAAS,EAAA,MAAA;AAAA,QACT,KAAO,EAAA,CAAA;AAAA,QACP,cAAgB,EAAA,QAAA;AAAA,QAChB,QAAU,EAAA,OAAA;AAAA,OACZ,CAAA;AAEA,MAAI,IAAA,KAAA,CAAM,MAAM,KAAO,EAAA;AACrB,QACE,uBAAA,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,KAAO,EAAA;AAAA,cACL,GAAG,KAAA;AAAA,cACH,UAAY,EAAA,OAAA;AAAA,aACd;AAAA,YACD,QAAA,EAAA,OAAA;AAAA,WAAA;AAAA,SAED,CAAA;AAAA,OAEJ;AAEA,MAAI,IAAA,KAAA,CAAM,OAAO,KAAO,EAAA;AACtB,QAAO,uBAAA,GAAA,CAAC,KAAI,EAAA,EAAA,KAAA,EAAc,QAAM,EAAA,QAAA,EAAA,CAAA,CAAA;AAAA,OAClC;AAEA,MAAI,IAAA,KAAA,CAAM,OAAO,KAAO,EAAA;AACtB,QAAO,uBAAA,GAAA,CAAC,KAAI,EAAA,EAAA,KAAA,EAAc,QAAM,EAAA,QAAA,EAAA,CAAA,CAAA;AAAA,OAClC;AAEA,MAAO,OAAA,IAAA,CAAA;AAAA,KACT,CAAA,CAAA;AAAA,GAAA;AACF;;;;"}
@@ -1,7 +0,0 @@
1
- import React__default from 'react';
2
- import { BoxProps } from '@apia/theme';
3
-
4
- declare const TabsContent: (props: Omit<BoxProps, 'children'>) => React__default.JSX.Element;
5
-
6
- export { TabsContent };
7
- //# sourceMappingURL=Content.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Content.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,52 +0,0 @@
1
- import { jsx, jsxs } from '@apia/theme/jsx-runtime';
2
- import React__default from 'react';
3
- import { Box, getVariant, Spinner } from '@apia/theme';
4
- import { useTabsContext } from './util.js';
5
- import { usePropsSelector } from '@apia/util';
6
-
7
- const TabsContent = (props) => {
8
- const { handler, id } = useTabsContext();
9
- const handlerRef = React__default.useRef(handler);
10
- handlerRef.current = handler;
11
- const tabs = usePropsSelector(handler.stateKey, {
12
- propsStore: handler.stateStore,
13
- selector: (current) => {
14
- return (current.tabs ?? []).map(
15
- (tabId) => handlerRef.current?.propsStore.getFieldProps(tabId)
16
- );
17
- },
18
- comparator() {
19
- return false;
20
- }
21
- });
22
- return /* @__PURE__ */ jsx(
23
- Box,
24
- {
25
- className: "tabs__content__wrapper",
26
- ...getVariant("layout.common.tabs.primary.content"),
27
- ...props,
28
- children: tabs?.map((current) => {
29
- const Render = current.content;
30
- return /* @__PURE__ */ jsxs(
31
- Box,
32
- {
33
- "aria-hidden": !current.isOpen,
34
- "aria-labelledby": `tab-${id}-${current.id}`,
35
- className: `tabs__content ${current.isOpen ? "open" : ""}`,
36
- "data-id": current.id,
37
- id: `tabpanel-${id}-${current.id}`,
38
- role: "tabpanel",
39
- children: [
40
- /* @__PURE__ */ jsx(Render, { tab: current }),
41
- current.isLoading && /* @__PURE__ */ jsx(Box, { className: "tabs__content__spinner__wrapper", children: /* @__PURE__ */ jsx(Spinner, {}) })
42
- ]
43
- },
44
- current.id
45
- );
46
- })
47
- }
48
- );
49
- };
50
-
51
- export { TabsContent };
52
- //# sourceMappingURL=Content.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Content.js","sources":["../../src/tabs/Content.tsx"],"sourcesContent":["import React from 'react';\nimport { Box, BoxProps, Spinner, getVariant } from '@apia/theme';\nimport { useTabsContext } from './util';\nimport { usePropsSelector } from '@apia/util';\n\nexport const TabsContent = (props: Omit<BoxProps, 'children'>) => {\n const { handler, id } = useTabsContext();\n const handlerRef = React.useRef(handler);\n handlerRef.current = handler;\n const tabs = usePropsSelector(handler.stateKey, {\n propsStore: handler.stateStore,\n selector: (current) => {\n return (current.tabs ?? []).map((tabId) =>\n handlerRef.current?.propsStore.getFieldProps(tabId),\n );\n },\n comparator() {\n return false;\n },\n });\n\n return (\n <Box\n className=\"tabs__content__wrapper\"\n {...getVariant('layout.common.tabs.primary.content')}\n {...props}\n >\n {tabs?.map((current) => {\n const Render = current.content;\n\n return (\n <Box\n aria-hidden={!current.isOpen}\n aria-labelledby={`tab-${id}-${current.id}`}\n className={`tabs__content ${current.isOpen ? 'open' : ''}`}\n data-id={current.id}\n id={`tabpanel-${id}-${current.id}`}\n key={current.id}\n role=\"tabpanel\"\n >\n <Render tab={current} />\n {current.isLoading && (\n <Box className=\"tabs__content__spinner__wrapper\">\n <Spinner />\n </Box>\n )}\n </Box>\n );\n })}\n </Box>\n );\n};\n"],"names":["React"],"mappings":";;;;;;AAKa,MAAA,WAAA,GAAc,CAAC,KAAsC,KAAA;AAChE,EAAA,MAAM,EAAE,OAAA,EAAS,EAAG,EAAA,GAAI,cAAe,EAAA,CAAA;AACvC,EAAM,MAAA,UAAA,GAAaA,cAAM,CAAA,MAAA,CAAO,OAAO,CAAA,CAAA;AACvC,EAAA,UAAA,CAAW,OAAU,GAAA,OAAA,CAAA;AACrB,EAAM,MAAA,IAAA,GAAO,gBAAiB,CAAA,OAAA,CAAQ,QAAU,EAAA;AAAA,IAC9C,YAAY,OAAQ,CAAA,UAAA;AAAA,IACpB,QAAA,EAAU,CAAC,OAAY,KAAA;AACrB,MAAQ,OAAA,CAAA,OAAA,CAAQ,IAAQ,IAAA,EAAI,EAAA,GAAA;AAAA,QAAI,CAAC,KAC/B,KAAA,UAAA,CAAW,OAAS,EAAA,UAAA,CAAW,cAAc,KAAK,CAAA;AAAA,OACpD,CAAA;AAAA,KACF;AAAA,IACA,UAAa,GAAA;AACX,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAAA,GACD,CAAA,CAAA;AAED,EACE,uBAAA,GAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,SAAU,EAAA,wBAAA;AAAA,MACT,GAAG,WAAW,oCAAoC,CAAA;AAAA,MAClD,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA,IAAA,EAAM,GAAI,CAAA,CAAC,OAAY,KAAA;AACtB,QAAA,MAAM,SAAS,OAAQ,CAAA,OAAA,CAAA;AAEvB,QACE,uBAAA,IAAA;AAAA,UAAC,GAAA;AAAA,UAAA;AAAA,YACC,aAAA,EAAa,CAAC,OAAQ,CAAA,MAAA;AAAA,YACtB,iBAAiB,EAAA,CAAA,IAAA,EAAO,EAAE,CAAA,CAAA,EAAI,QAAQ,EAAE,CAAA,CAAA;AAAA,YACxC,SAAW,EAAA,CAAA,cAAA,EAAiB,OAAQ,CAAA,MAAA,GAAS,SAAS,EAAE,CAAA,CAAA;AAAA,YACxD,WAAS,OAAQ,CAAA,EAAA;AAAA,YACjB,EAAI,EAAA,CAAA,SAAA,EAAY,EAAE,CAAA,CAAA,EAAI,QAAQ,EAAE,CAAA,CAAA;AAAA,YAEhC,IAAK,EAAA,UAAA;AAAA,YAEL,QAAA,EAAA;AAAA,8BAAC,GAAA,CAAA,MAAA,EAAA,EAAO,KAAK,OAAS,EAAA,CAAA;AAAA,cACrB,OAAA,CAAQ,6BACN,GAAA,CAAA,GAAA,EAAA,EAAI,WAAU,iCACb,EAAA,QAAA,kBAAA,GAAA,CAAC,WAAQ,CACX,EAAA,CAAA;AAAA,aAAA;AAAA,WAAA;AAAA,UAPG,OAAQ,CAAA,EAAA;AAAA,SASf,CAAA;AAAA,OAEH,CAAA;AAAA,KAAA;AAAA,GACH,CAAA;AAEJ;;;;"}