@apia/components 1.0.4 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (402) hide show
  1. package/dist/components/IconsList/Icon.js +42 -0
  2. package/dist/components/IconsList/Icon.js.map +1 -0
  3. package/dist/components/IconsList/IconWrapper.js +24 -0
  4. package/dist/components/IconsList/IconWrapper.js.map +1 -0
  5. package/dist/components/IconsList/KeyHandler.js +147 -0
  6. package/dist/components/IconsList/KeyHandler.js.map +1 -0
  7. package/dist/components/IconsList/context.js +14 -0
  8. package/dist/components/IconsList/context.js.map +1 -0
  9. package/dist/components/IconsList/index.d.ts +12 -0
  10. package/dist/components/IconsList/index.d.ts.map +1 -0
  11. package/dist/components/IconsList/index.js +119 -0
  12. package/dist/components/IconsList/index.js.map +1 -0
  13. package/dist/components/IconsList/renderers/DefaultIconRenderer.d.ts +7 -0
  14. package/dist/components/IconsList/renderers/DefaultIconRenderer.d.ts.map +1 -0
  15. package/dist/components/IconsList/renderers/DefaultIconRenderer.js +30 -0
  16. package/dist/components/IconsList/renderers/DefaultIconRenderer.js.map +1 -0
  17. package/dist/components/IconsList/store/context.js +9 -0
  18. package/dist/components/IconsList/store/context.js.map +1 -0
  19. package/dist/components/IconsList/store/distinctors.js +42 -0
  20. package/dist/components/IconsList/store/distinctors.js.map +1 -0
  21. package/dist/components/IconsList/store/keysMaker.js +8 -0
  22. package/dist/components/IconsList/store/keysMaker.js.map +1 -0
  23. package/dist/components/IconsList/store/operations.js +138 -0
  24. package/dist/components/IconsList/store/operations.js.map +1 -0
  25. package/dist/components/IconsList/store/state.js +9 -0
  26. package/dist/components/IconsList/store/state.js.map +1 -0
  27. package/dist/components/IconsList/store/useStore.js +52 -0
  28. package/dist/components/IconsList/store/useStore.js.map +1 -0
  29. package/dist/components/IconsList/styles.js +48 -0
  30. package/dist/components/IconsList/styles.js.map +1 -0
  31. package/dist/components/IconsList/types.d.ts +98 -0
  32. package/dist/components/IconsList/types.d.ts.map +1 -0
  33. package/dist/components/IconsList/util.js +46 -0
  34. package/dist/components/IconsList/util.js.map +1 -0
  35. package/dist/components/ListBox/Combobox.js +52 -0
  36. package/dist/components/ListBox/Combobox.js.map +1 -0
  37. package/dist/components/ListBox/ListboxContext.d.ts +35 -0
  38. package/dist/components/ListBox/ListboxContext.d.ts.map +1 -0
  39. package/dist/components/ListBox/ListboxContext.js +6 -0
  40. package/dist/components/ListBox/ListboxContext.js.map +1 -0
  41. package/dist/components/ListBox/ListboxItem.d.ts +17 -0
  42. package/dist/components/ListBox/ListboxItem.d.ts.map +1 -0
  43. package/dist/components/ListBox/ListboxItem.js +67 -0
  44. package/dist/components/ListBox/ListboxItem.js.map +1 -0
  45. package/dist/components/ListBox/ListboxKeyhandler.js +154 -0
  46. package/dist/components/ListBox/ListboxKeyhandler.js.map +1 -0
  47. package/dist/components/ListBox/common.d.ts +46 -0
  48. package/dist/components/ListBox/common.d.ts.map +1 -0
  49. package/dist/components/ListBox/common.js +118 -0
  50. package/dist/components/ListBox/common.js.map +1 -0
  51. package/dist/components/ListBox/index.d.ts +21 -0
  52. package/dist/components/ListBox/index.d.ts.map +1 -0
  53. package/dist/components/ListBox/index.js +71 -0
  54. package/dist/components/ListBox/index.js.map +1 -0
  55. package/dist/components/ListBox/listbox.js +46 -0
  56. package/dist/components/ListBox/listbox.js.map +1 -0
  57. package/dist/components/ListBox/operations.js +330 -0
  58. package/dist/components/ListBox/operations.js.map +1 -0
  59. package/dist/components/ListBox/useIndexedChildren.js +25 -0
  60. package/dist/components/ListBox/useIndexedChildren.js.map +1 -0
  61. package/dist/components/ListBox/useListboxAutofocus.js +48 -0
  62. package/dist/components/ListBox/useListboxAutofocus.js.map +1 -0
  63. package/dist/components/ListBox/useListboxContextValue.js +8 -0
  64. package/dist/components/ListBox/useListboxContextValue.js.map +1 -0
  65. package/dist/components/ListBox/useShoutSelectionChange.js +26 -0
  66. package/dist/components/ListBox/useShoutSelectionChange.js.map +1 -0
  67. package/dist/components/ListBox/useStore.js +36 -0
  68. package/dist/components/ListBox/useStore.js.map +1 -0
  69. package/dist/components/ListBox/useUpdateRowCount.js +19 -0
  70. package/dist/components/ListBox/useUpdateRowCount.js.map +1 -0
  71. package/dist/components/SortableList/SortableListHandler.js +161 -0
  72. package/dist/components/SortableList/SortableListHandler.js.map +1 -0
  73. package/dist/components/SortableList/SortableListItem.d.ts +14 -0
  74. package/dist/components/SortableList/SortableListItem.d.ts.map +1 -0
  75. package/dist/components/SortableList/SortableListItem.js +24 -0
  76. package/dist/components/SortableList/SortableListItem.js.map +1 -0
  77. package/dist/components/SortableList/index.d.ts +21 -0
  78. package/dist/components/SortableList/index.d.ts.map +1 -0
  79. package/dist/components/SortableList/index.js +53 -0
  80. package/dist/components/SortableList/index.js.map +1 -0
  81. package/dist/components/Toolbar/ToolbarController.d.ts +24 -0
  82. package/dist/components/Toolbar/ToolbarController.d.ts.map +1 -0
  83. package/dist/components/Toolbar/ToolbarController.js +50 -0
  84. package/dist/components/Toolbar/ToolbarController.js.map +1 -0
  85. package/dist/components/Toolbar/ToolbarIconButton.d.ts +7 -0
  86. package/dist/components/Toolbar/ToolbarIconButton.d.ts.map +1 -0
  87. package/dist/components/Toolbar/ToolbarIconButton.js +110 -0
  88. package/dist/components/Toolbar/ToolbarIconButton.js.map +1 -0
  89. package/dist/components/Toolbar/ToolbarInput.d.ts +7 -0
  90. package/dist/components/Toolbar/ToolbarInput.d.ts.map +1 -0
  91. package/dist/components/Toolbar/ToolbarInput.js +13 -0
  92. package/dist/components/Toolbar/ToolbarInput.js.map +1 -0
  93. package/dist/components/Toolbar/ToolbarSelect.d.ts +7 -0
  94. package/dist/components/Toolbar/ToolbarSelect.d.ts.map +1 -0
  95. package/dist/components/Toolbar/ToolbarSelect.js +17 -0
  96. package/dist/components/Toolbar/ToolbarSelect.js.map +1 -0
  97. package/dist/components/Toolbar/ToolbarSeparator.d.ts +6 -0
  98. package/dist/components/Toolbar/ToolbarSeparator.d.ts.map +1 -0
  99. package/dist/components/Toolbar/ToolbarSeparator.js +9 -0
  100. package/dist/components/Toolbar/ToolbarSeparator.js.map +1 -0
  101. package/dist/components/Toolbar/ToolbarTextButton.d.ts +9 -0
  102. package/dist/components/Toolbar/ToolbarTextButton.d.ts.map +1 -0
  103. package/dist/components/Toolbar/ToolbarTextButton.js +18 -0
  104. package/dist/components/Toolbar/ToolbarTextButton.js.map +1 -0
  105. package/dist/components/Toolbar/index.d.ts +17 -0
  106. package/dist/components/Toolbar/index.d.ts.map +1 -0
  107. package/dist/components/Toolbar/index.js +26 -0
  108. package/dist/components/Toolbar/index.js.map +1 -0
  109. package/dist/components/Toolbar/styles.js +84 -0
  110. package/dist/components/Toolbar/styles.js.map +1 -0
  111. package/dist/components/Toolbar/types.d.ts +40 -0
  112. package/dist/components/Toolbar/types.d.ts.map +1 -0
  113. package/dist/components/accordion/Accordion.d.ts +20 -0
  114. package/dist/components/accordion/Accordion.d.ts.map +1 -0
  115. package/dist/components/accordion/Accordion.js +60 -0
  116. package/dist/components/accordion/Accordion.js.map +1 -0
  117. package/dist/components/accordion/AccordionItem.d.ts +19 -0
  118. package/dist/components/accordion/AccordionItem.d.ts.map +1 -0
  119. package/dist/components/accordion/AccordionItem.js +22 -0
  120. package/dist/components/accordion/AccordionItem.js.map +1 -0
  121. package/dist/components/accordion/AccordionItemButton.d.ts +10 -0
  122. package/dist/components/accordion/AccordionItemButton.d.ts.map +1 -0
  123. package/dist/components/accordion/AccordionItemButton.js +8 -0
  124. package/dist/components/accordion/AccordionItemButton.js.map +1 -0
  125. package/dist/components/accordion/AccordionItemContent.d.ts +7 -0
  126. package/dist/components/accordion/AccordionItemContent.d.ts.map +1 -0
  127. package/dist/components/accordion/AccordionItemContent.js +50 -0
  128. package/dist/components/accordion/AccordionItemContent.js.map +1 -0
  129. package/dist/components/accordion/KeyHandler.js +77 -0
  130. package/dist/components/accordion/KeyHandler.js.map +1 -0
  131. package/dist/components/accordion/context.d.ts +10 -0
  132. package/dist/components/accordion/context.d.ts.map +1 -0
  133. package/dist/components/accordion/context.js +13 -0
  134. package/dist/components/accordion/context.js.map +1 -0
  135. package/dist/components/accordion/defaultElements/Checkbox.js +22 -0
  136. package/dist/components/accordion/defaultElements/Checkbox.js.map +1 -0
  137. package/dist/components/accordion/defaultElements/DefaultAccordionItemButton.d.ts +40 -0
  138. package/dist/components/accordion/defaultElements/DefaultAccordionItemButton.d.ts.map +1 -0
  139. package/dist/components/accordion/defaultElements/DefaultAccordionItemButton.js +79 -0
  140. package/dist/components/accordion/defaultElements/DefaultAccordionItemButton.js.map +1 -0
  141. package/dist/components/accordion/defaultElements/useIsChecked.js +25 -0
  142. package/dist/components/accordion/defaultElements/useIsChecked.js.map +1 -0
  143. package/dist/components/accordion/handler.d.ts +40 -0
  144. package/dist/components/accordion/handler.d.ts.map +1 -0
  145. package/dist/components/accordion/handler.js +118 -0
  146. package/dist/components/accordion/handler.js.map +1 -0
  147. package/dist/components/accordion/index.d.ts +8 -0
  148. package/dist/components/accordion/index.d.ts.map +1 -0
  149. package/dist/components/accordion/types.d.ts +11 -0
  150. package/dist/components/accordion/types.d.ts.map +1 -0
  151. package/dist/components/apia/ApiaDateFilter.js +57 -0
  152. package/dist/components/apia/ApiaDateFilter.js.map +1 -0
  153. package/dist/components/apia/ApiaFilter.d.ts +13 -0
  154. package/dist/components/apia/ApiaFilter.d.ts.map +1 -0
  155. package/dist/components/apia/ApiaFilter.js +128 -0
  156. package/dist/components/apia/ApiaFilter.js.map +1 -0
  157. package/dist/components/buttons/useOtherTagButton.d.ts +28 -0
  158. package/dist/components/buttons/useOtherTagButton.d.ts.map +1 -0
  159. package/dist/components/buttons/useOtherTagButton.js +38 -0
  160. package/dist/components/buttons/useOtherTagButton.js.map +1 -0
  161. package/dist/components/collapsiblePanel/index.d.ts +7 -0
  162. package/dist/components/collapsiblePanel/index.d.ts.map +1 -0
  163. package/dist/components/collapsiblePanel/index.js +130 -0
  164. package/dist/components/collapsiblePanel/index.js.map +1 -0
  165. package/dist/components/collapsiblePanel/styles.js +4 -0
  166. package/dist/components/collapsiblePanel/styles.js.map +1 -0
  167. package/dist/components/collapsiblePanel/types.d.ts +23 -0
  168. package/dist/components/collapsiblePanel/types.d.ts.map +1 -0
  169. package/dist/components/dialogs/AlertModal.d.ts +11 -0
  170. package/dist/components/dialogs/AlertModal.d.ts.map +1 -0
  171. package/dist/components/dialogs/AlertModal.js +42 -0
  172. package/dist/components/dialogs/AlertModal.js.map +1 -0
  173. package/dist/components/dialogs/ConfirmModal.d.ts +25 -0
  174. package/dist/components/dialogs/ConfirmModal.d.ts.map +1 -0
  175. package/dist/components/dialogs/ConfirmModal.js +45 -0
  176. package/dist/components/dialogs/ConfirmModal.js.map +1 -0
  177. package/dist/components/forms/Captcha.d.ts +12 -0
  178. package/dist/components/forms/Captcha.d.ts.map +1 -0
  179. package/dist/components/forms/Captcha.js +66 -0
  180. package/dist/components/forms/Captcha.js.map +1 -0
  181. package/dist/components/forms/Checkbox.d.ts +21 -0
  182. package/dist/components/forms/Checkbox.d.ts.map +1 -0
  183. package/dist/components/forms/Checkbox.js +124 -0
  184. package/dist/components/forms/Checkbox.js.map +1 -0
  185. package/dist/components/forms/DateInput.d.ts +44 -0
  186. package/dist/components/forms/DateInput.d.ts.map +1 -0
  187. package/dist/components/forms/DateInput.js +246 -0
  188. package/dist/components/forms/DateInput.js.map +1 -0
  189. package/dist/components/forms/FieldErrorMessage.d.ts +10 -0
  190. package/dist/components/forms/FieldErrorMessage.d.ts.map +1 -0
  191. package/dist/components/forms/FieldErrorMessage.js +34 -0
  192. package/dist/components/forms/FieldErrorMessage.js.map +1 -0
  193. package/dist/components/forms/FieldLabel.d.ts +40 -0
  194. package/dist/components/forms/FieldLabel.d.ts.map +1 -0
  195. package/dist/components/forms/FieldLabel.js +66 -0
  196. package/dist/components/forms/FieldLabel.js.map +1 -0
  197. package/dist/components/forms/IconInput.d.ts +28 -0
  198. package/dist/components/forms/IconInput.d.ts.map +1 -0
  199. package/dist/components/forms/IconInput.js +80 -0
  200. package/dist/components/forms/IconInput.js.map +1 -0
  201. package/dist/components/forms/NumberInput.d.ts +37 -0
  202. package/dist/components/forms/NumberInput.d.ts.map +1 -0
  203. package/dist/components/forms/NumberInput.js +149 -0
  204. package/dist/components/forms/NumberInput.js.map +1 -0
  205. package/dist/components/forms/RequiredMark.d.ts +14 -0
  206. package/dist/components/forms/RequiredMark.d.ts.map +1 -0
  207. package/dist/components/forms/RequiredMark.js +13 -0
  208. package/dist/components/forms/RequiredMark.js.map +1 -0
  209. package/dist/components/forms/buttons/BaseButton.d.ts +24 -0
  210. package/dist/components/forms/buttons/BaseButton.d.ts.map +1 -0
  211. package/dist/components/forms/buttons/BaseButton.js +58 -0
  212. package/dist/components/forms/buttons/BaseButton.js.map +1 -0
  213. package/dist/components/forms/buttons/IconButton.d.ts +37 -0
  214. package/dist/components/forms/buttons/IconButton.d.ts.map +1 -0
  215. package/dist/components/forms/buttons/IconButton.js +79 -0
  216. package/dist/components/forms/buttons/IconButton.js.map +1 -0
  217. package/dist/components/forms/buttons/SimpleButton.d.ts +21 -0
  218. package/dist/components/forms/buttons/SimpleButton.d.ts.map +1 -0
  219. package/dist/components/forms/buttons/SimpleButton.js +94 -0
  220. package/dist/components/forms/buttons/SimpleButton.js.map +1 -0
  221. package/dist/components/forms/util/style.d.ts +7 -0
  222. package/dist/components/forms/util/style.d.ts.map +1 -0
  223. package/dist/components/forms/util/style.js +17 -0
  224. package/dist/components/forms/util/style.js.map +1 -0
  225. package/dist/components/importComponent.d.ts +11 -0
  226. package/dist/components/importComponent.d.ts.map +1 -0
  227. package/dist/components/importComponent.js +25 -0
  228. package/dist/components/importComponent.js.map +1 -0
  229. package/dist/components/loaders/LinearLoader.d.ts +6 -0
  230. package/dist/components/loaders/LinearLoader.d.ts.map +1 -0
  231. package/dist/components/loaders/LinearLoader.js +33 -0
  232. package/dist/components/loaders/LinearLoader.js.map +1 -0
  233. package/dist/components/loaders/LoaderSpinner.d.ts +10 -0
  234. package/dist/components/loaders/LoaderSpinner.d.ts.map +1 -0
  235. package/dist/components/loaders/LoaderSpinner.js +26 -0
  236. package/dist/components/loaders/LoaderSpinner.js.map +1 -0
  237. package/dist/components/loaders/ProgressBar.d.ts +11 -0
  238. package/dist/components/loaders/ProgressBar.d.ts.map +1 -0
  239. package/dist/components/loaders/ProgressBar.js +39 -0
  240. package/dist/components/loaders/ProgressBar.js.map +1 -0
  241. package/dist/components/modals/CalendarModal.d.ts +13 -0
  242. package/dist/components/modals/CalendarModal.d.ts.map +1 -0
  243. package/dist/components/modals/CalendarModal.js +43 -0
  244. package/dist/components/modals/CalendarModal.js.map +1 -0
  245. package/dist/components/modals/Modal.d.ts +160 -0
  246. package/dist/components/modals/Modal.d.ts.map +1 -0
  247. package/dist/components/modals/Modal.js +17 -0
  248. package/dist/components/modals/Modal.js.map +1 -0
  249. package/dist/components/modals/ModalContext.d.ts +9 -0
  250. package/dist/components/modals/ModalContext.d.ts.map +1 -0
  251. package/dist/components/modals/ModalContext.js +12 -0
  252. package/dist/components/modals/ModalContext.js.map +1 -0
  253. package/dist/components/modals/Overlay.d.ts +21 -0
  254. package/dist/components/modals/Overlay.d.ts.map +1 -0
  255. package/dist/components/modals/Overlay.js +75 -0
  256. package/dist/components/modals/Overlay.js.map +1 -0
  257. package/dist/components/modals/StaticModal.js +175 -0
  258. package/dist/components/modals/StaticModal.js.map +1 -0
  259. package/dist/components/modals/WindowModal.js +214 -0
  260. package/dist/components/modals/WindowModal.js.map +1 -0
  261. package/dist/components/modals/hooks/useEscapeKey.js +32 -0
  262. package/dist/components/modals/hooks/useEscapeKey.js.map +1 -0
  263. package/dist/components/modals/hooks/useInitialFocus.js +37 -0
  264. package/dist/components/modals/hooks/useInitialFocus.js.map +1 -0
  265. package/dist/components/modals/hooks/useModal.d.ts +97 -0
  266. package/dist/components/modals/hooks/useModal.d.ts.map +1 -0
  267. package/dist/components/modals/hooks/useModal.js +73 -0
  268. package/dist/components/modals/hooks/useModal.js.map +1 -0
  269. package/dist/components/modals/hooks/useStyleState.js +44 -0
  270. package/dist/components/modals/hooks/useStyleState.js.map +1 -0
  271. package/dist/components/modals/layout/Confirm.d.ts +7 -0
  272. package/dist/components/modals/layout/Confirm.d.ts.map +1 -0
  273. package/dist/components/modals/layout/Confirm.js +96 -0
  274. package/dist/components/modals/layout/Confirm.js.map +1 -0
  275. package/dist/components/modals/layout/DialogButtonBar.d.ts +10 -0
  276. package/dist/components/modals/layout/DialogButtonBar.d.ts.map +1 -0
  277. package/dist/components/modals/layout/DialogButtonBar.js +19 -0
  278. package/dist/components/modals/layout/DialogButtonBar.js.map +1 -0
  279. package/dist/components/modals/layout/DialogHeader.d.ts +18 -0
  280. package/dist/components/modals/layout/DialogHeader.d.ts.map +1 -0
  281. package/dist/components/modals/layout/DialogHeader.js +117 -0
  282. package/dist/components/modals/layout/DialogHeader.js.map +1 -0
  283. package/dist/components/responsive/AutoEllipsis.d.ts +21 -0
  284. package/dist/components/responsive/AutoEllipsis.d.ts.map +1 -0
  285. package/dist/components/responsive/AutoEllipsis.js +128 -0
  286. package/dist/components/responsive/AutoEllipsis.js.map +1 -0
  287. package/dist/components/responsive/makeResponsiveComponent.d.ts +38 -0
  288. package/dist/components/responsive/makeResponsiveComponent.d.ts.map +1 -0
  289. package/dist/components/responsive/makeResponsiveComponent.js +88 -0
  290. package/dist/components/responsive/makeResponsiveComponent.js.map +1 -0
  291. package/dist/components/types.d.ts +5 -0
  292. package/dist/components/types.d.ts.map +1 -0
  293. package/dist/components/waiAriaHelpers/typeAhead.d.ts +44 -0
  294. package/dist/components/waiAriaHelpers/typeAhead.d.ts.map +1 -0
  295. package/dist/components/waiAriaHelpers/typeAhead.js +75 -0
  296. package/dist/components/waiAriaHelpers/typeAhead.js.map +1 -0
  297. package/dist/globalFocus.js +95 -0
  298. package/dist/globalFocus.js.map +1 -0
  299. package/dist/hooks/useBodyScrollLock.js +106 -0
  300. package/dist/hooks/useBodyScrollLock.js.map +1 -0
  301. package/dist/index.d.ts +69 -1531
  302. package/dist/index.js +59 -7898
  303. package/dist/index.js.map +1 -1
  304. package/dist/objects/ApiaUtil/dialogs/ApiaUtilDialogs.d.ts +18 -0
  305. package/dist/objects/ApiaUtil/dialogs/ApiaUtilDialogs.d.ts.map +1 -0
  306. package/dist/objects/ApiaUtil/dialogs/ApiaUtilDialogs.js +116 -0
  307. package/dist/objects/ApiaUtil/dialogs/ApiaUtilDialogs.js.map +1 -0
  308. package/dist/objects/ApiaUtil/index.d.ts +27 -0
  309. package/dist/objects/ApiaUtil/index.d.ts.map +1 -0
  310. package/dist/objects/ApiaUtil/index.js +76 -0
  311. package/dist/objects/ApiaUtil/index.js.map +1 -0
  312. package/dist/objects/ApiaUtil/menu/ApiaUtilMenu.d.ts +24 -0
  313. package/dist/objects/ApiaUtil/menu/ApiaUtilMenu.d.ts.map +1 -0
  314. package/dist/objects/ApiaUtil/menu/ApiaUtilMenu.js +110 -0
  315. package/dist/objects/ApiaUtil/menu/ApiaUtilMenu.js.map +1 -0
  316. package/dist/objects/ApiaUtil/modals/ApiaUtilModals.d.ts +17 -0
  317. package/dist/objects/ApiaUtil/modals/ApiaUtilModals.d.ts.map +1 -0
  318. package/dist/objects/ApiaUtil/modals/ApiaUtilModals.js +111 -0
  319. package/dist/objects/ApiaUtil/modals/ApiaUtilModals.js.map +1 -0
  320. package/dist/objects/ApiaUtil/modals/OpenModal.d.ts +8 -0
  321. package/dist/objects/ApiaUtil/modals/OpenModal.d.ts.map +1 -0
  322. package/dist/objects/ApiaUtil/modals/OpenModal.js +19 -0
  323. package/dist/objects/ApiaUtil/modals/OpenModal.js.map +1 -0
  324. package/dist/objects/ApiaUtil/mouse/ApiaUtilMouse.d.ts +19 -0
  325. package/dist/objects/ApiaUtil/mouse/ApiaUtilMouse.d.ts.map +1 -0
  326. package/dist/objects/ApiaUtil/mouse/ApiaUtilMouse.js +26 -0
  327. package/dist/objects/ApiaUtil/mouse/ApiaUtilMouse.js.map +1 -0
  328. package/dist/objects/ApiaUtil/notifications/ApiaUtilNotifications.d.ts +14 -0
  329. package/dist/objects/ApiaUtil/notifications/ApiaUtilNotifications.d.ts.map +1 -0
  330. package/dist/objects/ApiaUtil/notifications/ApiaUtilNotifications.js +33 -0
  331. package/dist/objects/ApiaUtil/notifications/ApiaUtilNotifications.js.map +1 -0
  332. package/dist/objects/ApiaUtil/parsers/ApiaUtilParsers.d.ts +23 -0
  333. package/dist/objects/ApiaUtil/parsers/ApiaUtilParsers.d.ts.map +1 -0
  334. package/dist/objects/ApiaUtil/parsers/ApiaUtilParsers.js +79 -0
  335. package/dist/objects/ApiaUtil/parsers/ApiaUtilParsers.js.map +1 -0
  336. package/dist/objects/ApiaUtil/tabs/ApiaUtilCurrentTab.d.ts +33 -0
  337. package/dist/objects/ApiaUtil/tabs/ApiaUtilCurrentTab.d.ts.map +1 -0
  338. package/dist/objects/ApiaUtil/tabs/ApiaUtilCurrentTab.js +50 -0
  339. package/dist/objects/ApiaUtil/tabs/ApiaUtilCurrentTab.js.map +1 -0
  340. package/dist/objects/ApiaUtil/tabs/ApiaUtilTabsController.d.ts +20 -0
  341. package/dist/objects/ApiaUtil/tabs/ApiaUtilTabsController.d.ts.map +1 -0
  342. package/dist/objects/ApiaUtil/tabs/ApiaUtilTabsController.js +37 -0
  343. package/dist/objects/ApiaUtil/tabs/ApiaUtilTabsController.js.map +1 -0
  344. package/dist/objects/ApiaUtil/tabs/util.js +17 -0
  345. package/dist/objects/ApiaUtil/tabs/util.js.map +1 -0
  346. package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltip.d.ts +11 -0
  347. package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltip.d.ts.map +1 -0
  348. package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltip.js +17 -0
  349. package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltip.js.map +1 -0
  350. package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltips.d.ts +22 -0
  351. package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltips.d.ts.map +1 -0
  352. package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltips.js +104 -0
  353. package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltips.js.map +1 -0
  354. package/dist/objects/ApiaUtil/tooltips/AutomaticTooltip.d.ts +13 -0
  355. package/dist/objects/ApiaUtil/tooltips/AutomaticTooltip.d.ts.map +1 -0
  356. package/dist/objects/ApiaUtil/tooltips/AutomaticTooltip.js +79 -0
  357. package/dist/objects/ApiaUtil/tooltips/AutomaticTooltip.js.map +1 -0
  358. package/dist/objects/ApiaUtil/tooltips/tooltip/Tooltip.js +62 -0
  359. package/dist/objects/ApiaUtil/tooltips/tooltip/Tooltip.js.map +1 -0
  360. package/dist/objects/ApiaUtil/tooltips/tooltip/types.d.ts +117 -0
  361. package/dist/objects/ApiaUtil/tooltips/tooltip/types.d.ts.map +1 -0
  362. package/dist/objects/ApiaUtil/tooltips/tooltip/util.js +273 -0
  363. package/dist/objects/ApiaUtil/tooltips/tooltip/util.js.map +1 -0
  364. package/dist/objects/ScreenLocker/index.d.ts +37 -0
  365. package/dist/objects/ScreenLocker/index.d.ts.map +1 -0
  366. package/dist/objects/ScreenLocker/index.js +92 -0
  367. package/dist/objects/ScreenLocker/index.js.map +1 -0
  368. package/dist/tabs/Content.d.ts +7 -0
  369. package/dist/tabs/Content.d.ts.map +1 -0
  370. package/dist/tabs/Content.js +52 -0
  371. package/dist/tabs/Content.js.map +1 -0
  372. package/dist/tabs/ContextMenu.js +77 -0
  373. package/dist/tabs/ContextMenu.js.map +1 -0
  374. package/dist/tabs/Item.js +64 -0
  375. package/dist/tabs/Item.js.map +1 -0
  376. package/dist/tabs/Tabs.d.ts +8 -0
  377. package/dist/tabs/Tabs.d.ts.map +1 -0
  378. package/dist/tabs/Tabs.js +78 -0
  379. package/dist/tabs/Tabs.js.map +1 -0
  380. package/dist/tabs/TabsList.d.ts +8 -0
  381. package/dist/tabs/TabsList.d.ts.map +1 -0
  382. package/dist/tabs/TabsList.js +138 -0
  383. package/dist/tabs/TabsList.js.map +1 -0
  384. package/dist/tabs/renderers/DefaultTabsLabelRenderer.d.ts +6 -0
  385. package/dist/tabs/renderers/DefaultTabsLabelRenderer.d.ts.map +1 -0
  386. package/dist/tabs/renderers/DefaultTabsLabelRenderer.js +71 -0
  387. package/dist/tabs/renderers/DefaultTabsLabelRenderer.js.map +1 -0
  388. package/dist/tabs/tabsController.d.ts +41 -0
  389. package/dist/tabs/tabsController.d.ts.map +1 -0
  390. package/dist/tabs/tabsController.js +303 -0
  391. package/dist/tabs/tabsController.js.map +1 -0
  392. package/dist/tabs/types.d.ts +115 -0
  393. package/dist/tabs/types.d.ts.map +1 -0
  394. package/dist/tabs/useTabsList.js +20 -0
  395. package/dist/tabs/useTabsList.js.map +1 -0
  396. package/dist/tabs/util.js +11 -0
  397. package/dist/tabs/util.js.map +1 -0
  398. package/package.json +29 -39
  399. package/LICENSE.md +0 -21
  400. package/README.md +0 -3
  401. package/cleanDist.json +0 -3
  402. package/entries.json +0 -1
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ import { ISimpleButton } from '../forms/buttons/SimpleButton.js';
3
+ import '../forms/DateInput.js';
4
+ import '../forms/NumberInput.js';
5
+
6
+ declare const ToolbarTextButton: (props: ISimpleButton) => React.JSX.Element;
7
+
8
+ export { ToolbarTextButton };
9
+ //# sourceMappingURL=ToolbarTextButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolbarTextButton.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import { jsx } from '@apia/theme/jsx-runtime';
2
+ import { getVariant } from '@apia/theme';
3
+ import { SimpleButton } from '../forms/buttons/SimpleButton.js';
4
+
5
+ const ToolbarTextButton = (props) => {
6
+ return /* @__PURE__ */ jsx(
7
+ SimpleButton,
8
+ {
9
+ ...props,
10
+ className: `toolbar__textButton ${props?.className ?? ""}`,
11
+ ...props.variant ? getVariant(props.variant) : null,
12
+ children: props.children
13
+ }
14
+ );
15
+ };
16
+
17
+ export { ToolbarTextButton };
18
+ //# sourceMappingURL=ToolbarTextButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolbarTextButton.js","sources":["../../../src/components/Toolbar/ToolbarTextButton.tsx"],"sourcesContent":["import { getVariant } from '@apia/theme';\nimport { ISimpleButton, SimpleButton } from '../forms';\n\nexport const ToolbarTextButton = (props: ISimpleButton) => {\n return (\n <SimpleButton\n {...props}\n className={`toolbar__textButton ${props?.className ?? ''}`}\n {...(props.variant ? getVariant(props.variant) : null)}\n >\n {props.children}\n </SimpleButton>\n );\n};\n"],"names":[],"mappings":";;;;AAGa,MAAA,iBAAA,GAAoB,CAAC,KAAyB,KAAA;AACzD,EACE,uBAAA,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,SAAW,EAAA,CAAA,oBAAA,EAAuB,KAAO,EAAA,SAAA,IAAa,EAAE,CAAA,CAAA;AAAA,MACvD,GAAI,KAAM,CAAA,OAAA,GAAU,UAAW,CAAA,KAAA,CAAM,OAAO,CAAI,GAAA,IAAA;AAAA,MAEhD,QAAM,EAAA,KAAA,CAAA,QAAA;AAAA,KAAA;AAAA,GACT,CAAA;AAEJ;;;;"}
@@ -0,0 +1,17 @@
1
+ import * as React from 'react';
2
+ import { ReactNode } from 'react';
3
+ import { ToolbarController } from './ToolbarController.js';
4
+ import '../forms/DateInput.js';
5
+ import '../forms/NumberInput.js';
6
+
7
+ declare const Toolbar: ({ children, getController, }: {
8
+ children: ReactNode;
9
+ /**
10
+ * El controlador permite gestionar el estado de los distintos elementos de
11
+ * la toolbar
12
+ */
13
+ getController?: ((newController: ToolbarController) => unknown) | undefined;
14
+ }) => React.JSX.Element;
15
+
16
+ export { Toolbar, ToolbarController };
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import { jsx } from '@apia/theme/jsx-runtime';
2
+ import { useMount } from '@apia/util';
3
+ import { Box, getVariant } from '@apia/theme';
4
+ import { useMemo } from 'react';
5
+ import { ToolbarController } from './ToolbarController.js';
6
+
7
+ const Toolbar = ({
8
+ children,
9
+ getController
10
+ }) => {
11
+ const controller = useMemo(() => new ToolbarController(), []);
12
+ useMount(() => {
13
+ getController?.(controller);
14
+ });
15
+ return /* @__PURE__ */ jsx(controller.Context, { children: /* @__PURE__ */ jsx(
16
+ Box,
17
+ {
18
+ className: "toolbar",
19
+ ...getVariant("layout.common.components.toolbar"),
20
+ children
21
+ }
22
+ ) });
23
+ };
24
+
25
+ export { Toolbar, ToolbarController };
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/Toolbar/index.tsx"],"sourcesContent":["import { useMount } from '@apia/util';\nimport { TToolbarIconButton } from './types';\nimport { Box, getVariant } from '@apia/theme';\nimport { ReactNode, useMemo } from 'react';\nimport { ToolbarController } from './ToolbarController';\nimport { ToolbarTextButton } from './ToolbarTextButton';\nimport { ToolbarIconButton } from './ToolbarIconButton';\nimport { ToolbarInput } from './ToolbarInput';\nimport { ToolbarSeparator } from './ToolbarSeparator';\nimport { ToolbarSelect } from './ToolbarSelect';\n\nconst Toolbar = ({\n children,\n getController,\n}: {\n children: ReactNode;\n /**\n * El controlador permite gestionar el estado de los distintos elementos de\n * la toolbar\n */\n getController?: (newController: ToolbarController) => unknown;\n}) => {\n const controller = useMemo(() => new ToolbarController(), []);\n\n useMount(() => {\n getController?.(controller);\n });\n\n return (\n <controller.Context>\n <Box\n className=\"toolbar\"\n {...getVariant('layout.common.components.toolbar')}\n >\n {children}\n </Box>\n </controller.Context>\n );\n};\n\nexport type { TToolbarIconButton as TToolDefinition };\nexport {\n ToolbarIconButton,\n ToolbarInput,\n ToolbarTextButton,\n Toolbar,\n ToolbarController,\n ToolbarSeparator,\n ToolbarSelect,\n};\n"],"names":[],"mappings":";;;;;;AAWA,MAAM,UAAU,CAAC;AAAA,EACf,QAAA;AAAA,EACA,aAAA;AACF,CAOM,KAAA;AACJ,EAAA,MAAM,aAAa,OAAQ,CAAA,MAAM,IAAI,iBAAkB,EAAA,EAAG,EAAE,CAAA,CAAA;AAE5D,EAAA,QAAA,CAAS,MAAM;AACb,IAAA,aAAA,GAAgB,UAAU,CAAA,CAAA;AAAA,GAC3B,CAAA,CAAA;AAED,EACE,uBAAA,GAAA,CAAC,UAAW,CAAA,OAAA,EAAX,EACC,QAAA,kBAAA,GAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,SAAU,EAAA,SAAA;AAAA,MACT,GAAG,WAAW,kCAAkC,CAAA;AAAA,MAEhD,QAAA;AAAA,KAAA;AAAA,GAEL,EAAA,CAAA,CAAA;AAEJ;;;;"}
@@ -0,0 +1,84 @@
1
+ const styles = {
2
+ alignItems: "center",
3
+ backgroundColor: "palette.background.default",
4
+ display: "flex",
5
+ gap: "2px",
6
+ py: "4px",
7
+ px: "8px",
8
+ "& > *": {
9
+ alignItems: "center",
10
+ borderRadius: "4px",
11
+ display: "flex",
12
+ flexShrink: 0,
13
+ justifyContent: "center",
14
+ outline: "none !important",
15
+ p: 0
16
+ },
17
+ ".toolbar__textButton": (theme) => ({
18
+ variant: "buttons.primary-sm",
19
+ background: "transparent",
20
+ border: "none",
21
+ color: "palette.text.primary",
22
+ ...theme.palette.getStatesFromDefinition(
23
+ {
24
+ backgroundColor: theme.palette.background.default
25
+ },
26
+ { states: { default: false } }
27
+ ),
28
+ "&.primary": theme.palette.getStatesFromPath("buttons.primary")
29
+ }),
30
+ ".toolbar__select": () => ({
31
+ padding: "4px",
32
+ paddingLeft: "8px",
33
+ paddingRight: "32px"
34
+ }),
35
+ ".toolbar__button": {
36
+ border: "none",
37
+ borderRadius: "4px",
38
+ height: "32px",
39
+ width: "32px",
40
+ background: "transparent",
41
+ svg: {
42
+ path: {
43
+ fill: "palette.text.primary"
44
+ }
45
+ },
46
+ "&:disabled": {
47
+ svg: {
48
+ path: {
49
+ fill: "palette.border.section"
50
+ }
51
+ }
52
+ }
53
+ },
54
+ ".fieldLabel": {
55
+ display: "flex",
56
+ flexDirection: "row",
57
+ gap: 3,
58
+ alignItems: "center",
59
+ justifyContent: "center"
60
+ },
61
+ ".toolbar__input": {
62
+ borderRadius: "4px",
63
+ p: 3,
64
+ width: "80px"
65
+ },
66
+ ".toolbar__separator": {
67
+ borderLeft: "1px solid",
68
+ borderRight: "1px solid",
69
+ borderColor: "palette.gray.750",
70
+ height: "60%",
71
+ width: "3px"
72
+ },
73
+ ".toggled": (theme) => {
74
+ return {
75
+ ...theme.palette.getOneState(
76
+ { backgroundColor: theme.palette.background.default },
77
+ "selected"
78
+ )
79
+ };
80
+ }
81
+ };
82
+
83
+ export { styles };
84
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sources":["../../../src/components/Toolbar/styles.ts"],"sourcesContent":["import { ThemeUICSSObject } from '@apia/theme';\n\nexport const styles: ThemeUICSSObject = {\n alignItems: 'center',\n backgroundColor: 'palette.background.default',\n display: 'flex',\n gap: '2px',\n py: '4px',\n px: '8px',\n\n '& > *': {\n alignItems: 'center',\n borderRadius: '4px',\n display: 'flex',\n flexShrink: 0,\n justifyContent: 'center',\n outline: 'none !important',\n p: 0,\n },\n\n '.toolbar__textButton': (theme) => ({\n variant: 'buttons.primary-sm',\n background: 'transparent',\n border: 'none',\n color: 'palette.text.primary',\n\n ...theme.palette.getStatesFromDefinition(\n {\n backgroundColor: theme.palette.background.default,\n },\n { states: { default: false } },\n ),\n\n '&.primary': theme.palette.getStatesFromPath('buttons.primary'),\n }),\n\n '.toolbar__select': () => ({\n padding: '4px',\n paddingLeft: '8px',\n paddingRight: '32px',\n }),\n\n '.toolbar__button': {\n border: 'none',\n borderRadius: '4px',\n height: '32px',\n width: '32px',\n background: 'transparent',\n svg: {\n path: {\n fill: 'palette.text.primary',\n },\n },\n\n '&:disabled': {\n svg: {\n path: {\n fill: 'palette.border.section',\n },\n },\n },\n },\n\n '.fieldLabel': {\n display: 'flex',\n flexDirection: 'row',\n gap: 3,\n alignItems: 'center',\n justifyContent: 'center',\n },\n\n '.toolbar__input': {\n borderRadius: '4px',\n p: 3,\n width: '80px',\n },\n\n '.toolbar__separator': {\n borderLeft: '1px solid',\n borderRight: '1px solid',\n borderColor: 'palette.gray.750',\n height: '60%',\n width: '3px',\n },\n\n '.toggled': (theme) => {\n return {\n ...theme.palette.getOneState(\n { backgroundColor: theme.palette.background.default },\n 'selected',\n ),\n };\n },\n};\n"],"names":[],"mappings":"AAEO,MAAM,MAA2B,GAAA;AAAA,EACtC,UAAY,EAAA,QAAA;AAAA,EACZ,eAAiB,EAAA,4BAAA;AAAA,EACjB,OAAS,EAAA,MAAA;AAAA,EACT,GAAK,EAAA,KAAA;AAAA,EACL,EAAI,EAAA,KAAA;AAAA,EACJ,EAAI,EAAA,KAAA;AAAA,EAEJ,OAAS,EAAA;AAAA,IACP,UAAY,EAAA,QAAA;AAAA,IACZ,YAAc,EAAA,KAAA;AAAA,IACd,OAAS,EAAA,MAAA;AAAA,IACT,UAAY,EAAA,CAAA;AAAA,IACZ,cAAgB,EAAA,QAAA;AAAA,IAChB,OAAS,EAAA,iBAAA;AAAA,IACT,CAAG,EAAA,CAAA;AAAA,GACL;AAAA,EAEA,sBAAA,EAAwB,CAAC,KAAW,MAAA;AAAA,IAClC,OAAS,EAAA,oBAAA;AAAA,IACT,UAAY,EAAA,aAAA;AAAA,IACZ,MAAQ,EAAA,MAAA;AAAA,IACR,KAAO,EAAA,sBAAA;AAAA,IAEP,GAAG,MAAM,OAAQ,CAAA,uBAAA;AAAA,MACf;AAAA,QACE,eAAA,EAAiB,KAAM,CAAA,OAAA,CAAQ,UAAW,CAAA,OAAA;AAAA,OAC5C;AAAA,MACA,EAAE,MAAA,EAAQ,EAAE,OAAA,EAAS,OAAQ,EAAA;AAAA,KAC/B;AAAA,IAEA,WAAa,EAAA,KAAA,CAAM,OAAQ,CAAA,iBAAA,CAAkB,iBAAiB,CAAA;AAAA,GAChE,CAAA;AAAA,EAEA,oBAAoB,OAAO;AAAA,IACzB,OAAS,EAAA,KAAA;AAAA,IACT,WAAa,EAAA,KAAA;AAAA,IACb,YAAc,EAAA,MAAA;AAAA,GAChB,CAAA;AAAA,EAEA,kBAAoB,EAAA;AAAA,IAClB,MAAQ,EAAA,MAAA;AAAA,IACR,YAAc,EAAA,KAAA;AAAA,IACd,MAAQ,EAAA,MAAA;AAAA,IACR,KAAO,EAAA,MAAA;AAAA,IACP,UAAY,EAAA,aAAA;AAAA,IACZ,GAAK,EAAA;AAAA,MACH,IAAM,EAAA;AAAA,QACJ,IAAM,EAAA,sBAAA;AAAA,OACR;AAAA,KACF;AAAA,IAEA,YAAc,EAAA;AAAA,MACZ,GAAK,EAAA;AAAA,QACH,IAAM,EAAA;AAAA,UACJ,IAAM,EAAA,wBAAA;AAAA,SACR;AAAA,OACF;AAAA,KACF;AAAA,GACF;AAAA,EAEA,aAAe,EAAA;AAAA,IACb,OAAS,EAAA,MAAA;AAAA,IACT,aAAe,EAAA,KAAA;AAAA,IACf,GAAK,EAAA,CAAA;AAAA,IACL,UAAY,EAAA,QAAA;AAAA,IACZ,cAAgB,EAAA,QAAA;AAAA,GAClB;AAAA,EAEA,iBAAmB,EAAA;AAAA,IACjB,YAAc,EAAA,KAAA;AAAA,IACd,CAAG,EAAA,CAAA;AAAA,IACH,KAAO,EAAA,MAAA;AAAA,GACT;AAAA,EAEA,qBAAuB,EAAA;AAAA,IACrB,UAAY,EAAA,WAAA;AAAA,IACZ,WAAa,EAAA,WAAA;AAAA,IACb,WAAa,EAAA,kBAAA;AAAA,IACb,MAAQ,EAAA,KAAA;AAAA,IACR,KAAO,EAAA,KAAA;AAAA,GACT;AAAA,EAEA,UAAA,EAAY,CAAC,KAAU,KAAA;AACrB,IAAO,OAAA;AAAA,MACL,GAAG,MAAM,OAAQ,CAAA,WAAA;AAAA,QACf,EAAE,eAAA,EAAiB,KAAM,CAAA,OAAA,CAAQ,WAAW,OAAQ,EAAA;AAAA,QACpD,UAAA;AAAA,OACF;AAAA,KACF,CAAA;AAAA,GACF;AACF;;;;"}
@@ -0,0 +1,40 @@
1
+ import { TIconType, TIconName } from '@apia/icons';
2
+ import { ToolbarController } from './ToolbarController.js';
3
+ import { InputProps } from '@apia/theme';
4
+
5
+ type TToolEventState = {
6
+ isLoading: boolean;
7
+ isToggled: boolean;
8
+ };
9
+ type TToolbarIconButton = {
10
+ action: (props: TToolEventState, controller: ToolbarController) => unknown;
11
+ actionSource?: 'click' | 'mousedown';
12
+ /**
13
+ * Si se pasa allowToggle y no se pasa toggled ( ni en true ni en false ),
14
+ * entonces el estado de toggle será controlado internamente en el toolbar
15
+ */
16
+ allowToggle?: boolean;
17
+ /**
18
+ * Si se desea usar defaultToggled, debería pasarse también allowToggle
19
+ */
20
+ defaultToggled?: boolean;
21
+ disabled?: boolean;
22
+ icon: TIconType | TIconName;
23
+ iconSize?: 'Xs' | 'Sm' | 'Md' | 'Lg' | 'Xl' | undefined;
24
+ id: string;
25
+ isLoading?: boolean;
26
+ title: string;
27
+ /**
28
+ * Siempre que se pase toggled, no importa si en true o en false, el
29
+ * usuario del toolbar deberá mantener la lógica de persistencia del
30
+ * toggle
31
+ */
32
+ toggled?: boolean;
33
+ };
34
+ type TToolInput = {
35
+ inputProps?: InputProps;
36
+ label?: string;
37
+ };
38
+
39
+ export type { TToolEventState, TToolInput, TToolbarIconButton };
40
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ import { ReactNode, FC } from 'react';
2
+ import { AccordionHandler } from './handler.js';
3
+
4
+ interface IAccordionProps {
5
+ /**
6
+ * Tiempo en ms que dura la animación. Por defecto se usa 150.
7
+ */
8
+ animationDuration?: number;
9
+ children?: ReactNode;
10
+ className?: string;
11
+ getHandler?: (handler: AccordionHandler) => unknown;
12
+ /**
13
+ * Por defecto usa la variante layout.common.components.accordion.primary
14
+ */
15
+ variant?: string;
16
+ }
17
+ declare const Accordion: FC<IAccordionProps>;
18
+
19
+ export { Accordion, type IAccordionProps };
20
+ //# sourceMappingURL=Accordion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Accordion.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,60 @@
1
+ import { jsx } from '@apia/theme/jsx-runtime';
2
+ import { useMemo, useState, useRef, useEffect } from 'react';
3
+ import { AccordionHandler } from './handler.js';
4
+ import { KeyHandler } from './KeyHandler.js';
5
+ import { shallowEqual } from '@apia/store';
6
+ import { uniqueId } from '../ListBox/common.js';
7
+
8
+ const Accordion = ({
9
+ animationDuration = 150,
10
+ children,
11
+ className,
12
+ getHandler,
13
+ variant = "layout.common.components.accordion.primary"
14
+ }) => {
15
+ const id = useMemo(() => uniqueId(), []);
16
+ const [handler] = useState(() => {
17
+ return new AccordionHandler(id, {
18
+ animationDuration,
19
+ children,
20
+ getHandler,
21
+ variant
22
+ });
23
+ });
24
+ const propsRef = useRef({
25
+ animationDuration,
26
+ children,
27
+ getHandler,
28
+ variant
29
+ });
30
+ if (!shallowEqual(
31
+ {
32
+ animationDuration,
33
+ children,
34
+ getHandler,
35
+ variant
36
+ },
37
+ propsRef.current
38
+ )) {
39
+ propsRef.current = {
40
+ animationDuration,
41
+ children,
42
+ getHandler,
43
+ variant
44
+ };
45
+ handler.updateProps({
46
+ animationDuration,
47
+ children,
48
+ getHandler,
49
+ variant
50
+ });
51
+ }
52
+ const Provider = handler.hooks.useAccordionContextProvider();
53
+ useEffect(() => {
54
+ getHandler?.(handler);
55
+ }, [getHandler, handler]);
56
+ return /* @__PURE__ */ jsx(Provider, { children: /* @__PURE__ */ jsx(KeyHandler, { className: `accordion ${className ?? ""}`, children }) });
57
+ };
58
+
59
+ export { Accordion };
60
+ //# sourceMappingURL=Accordion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Accordion.js","sources":["../../../src/components/accordion/Accordion.tsx"],"sourcesContent":["import { useRef, FC, ReactNode, useEffect, useState, useMemo } from 'react';\nimport { AccordionHandler } from './handler';\nimport { KeyHandler } from './KeyHandler';\nimport { shallowEqual } from '@apia/store';\nimport { uniqueId } from '../ListBox/common';\n\nexport interface IAccordionProps {\n /**\n * Tiempo en ms que dura la animación. Por defecto se usa 150.\n */\n animationDuration?: number;\n children?: ReactNode;\n className?: string;\n getHandler?: (handler: AccordionHandler) => unknown;\n /**\n * Por defecto usa la variante layout.common.components.accordion.primary\n */\n variant?: string;\n}\n\nexport const Accordion: FC<IAccordionProps> = ({\n animationDuration = 150,\n children,\n className,\n getHandler,\n variant = 'layout.common.components.accordion.primary',\n}) => {\n const id = useMemo(() => uniqueId(), []);\n\n const [handler] = useState(() => {\n return new AccordionHandler(id, {\n animationDuration,\n children,\n getHandler,\n variant,\n });\n });\n const propsRef = useRef({\n animationDuration,\n children,\n getHandler,\n variant,\n });\n if (\n !shallowEqual(\n {\n animationDuration,\n children,\n getHandler,\n variant,\n },\n propsRef.current,\n )\n ) {\n propsRef.current = {\n animationDuration,\n children,\n getHandler,\n variant,\n };\n handler.updateProps({\n animationDuration,\n children,\n getHandler,\n variant,\n });\n }\n\n const Provider = handler.hooks.useAccordionContextProvider();\n\n useEffect(() => {\n getHandler?.(handler);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [getHandler, handler]);\n\n return (\n <Provider>\n <KeyHandler className={`accordion ${className ?? ''}`}>\n {children}\n </KeyHandler>\n </Provider>\n );\n};\n"],"names":[],"mappings":";;;;;;;AAoBO,MAAM,YAAiC,CAAC;AAAA,EAC7C,iBAAoB,GAAA,GAAA;AAAA,EACpB,QAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,OAAU,GAAA,4CAAA;AACZ,CAAM,KAAA;AACJ,EAAA,MAAM,KAAK,OAAQ,CAAA,MAAM,QAAS,EAAA,EAAG,EAAE,CAAA,CAAA;AAEvC,EAAA,MAAM,CAAC,OAAO,CAAI,GAAA,QAAA,CAAS,MAAM;AAC/B,IAAO,OAAA,IAAI,iBAAiB,EAAI,EAAA;AAAA,MAC9B,iBAAA;AAAA,MACA,QAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA;AAAA,KACD,CAAA,CAAA;AAAA,GACF,CAAA,CAAA;AACD,EAAA,MAAM,WAAW,MAAO,CAAA;AAAA,IACtB,iBAAA;AAAA,IACA,QAAA;AAAA,IACA,UAAA;AAAA,IACA,OAAA;AAAA,GACD,CAAA,CAAA;AACD,EAAA,IACE,CAAC,YAAA;AAAA,IACC;AAAA,MACE,iBAAA;AAAA,MACA,QAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA;AAAA,KACF;AAAA,IACA,QAAS,CAAA,OAAA;AAAA,GAEX,EAAA;AACA,IAAA,QAAA,CAAS,OAAU,GAAA;AAAA,MACjB,iBAAA;AAAA,MACA,QAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA;AAAA,KACF,CAAA;AACA,IAAA,OAAA,CAAQ,WAAY,CAAA;AAAA,MAClB,iBAAA;AAAA,MACA,QAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA;AAAA,KACD,CAAA,CAAA;AAAA,GACH;AAEA,EAAM,MAAA,QAAA,GAAW,OAAQ,CAAA,KAAA,CAAM,2BAA4B,EAAA,CAAA;AAE3D,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,UAAA,GAAa,OAAO,CAAA,CAAA;AAAA,GAEnB,EAAA,CAAC,UAAY,EAAA,OAAO,CAAC,CAAA,CAAA;AAExB,EACE,uBAAA,GAAA,CAAC,QACC,EAAA,EAAA,QAAA,kBAAA,GAAA,CAAC,UAAW,EAAA,EAAA,SAAA,EAAW,aAAa,SAAa,IAAA,EAAE,CAChD,CAAA,EAAA,QAAA,EACH,CACF,EAAA,CAAA,CAAA;AAEJ;;;;"}
@@ -0,0 +1,19 @@
1
+ import * as React from 'react';
2
+ import { ReactNode } from 'react';
3
+ import { TId } from '@apia/util';
4
+ import { IAccordionItemButton } from './defaultElements/DefaultAccordionItemButton.js';
5
+
6
+ interface IAccordionItemProps {
7
+ /**
8
+ * Cada elemento del acordeón tiene dos formas de renderizar el botón. O bien
9
+ * se pasa un elemento AccordionItemButton como hijo o bien se pasan
10
+ * buttonProps. En caso contrario, el elemento no tendrá botón.
11
+ */
12
+ buttonProps?: IAccordionItemButton;
13
+ children?: ReactNode;
14
+ id: TId;
15
+ }
16
+ declare const AccordionItem: ({ children, id, ...props }: IAccordionItemProps) => React.JSX.Element;
17
+
18
+ export { AccordionItem, type IAccordionItemProps };
19
+ //# sourceMappingURL=AccordionItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionItem.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ import { jsx } from '@apia/theme/jsx-runtime';
2
+ import { useRef } from 'react';
3
+ import { AccordionItemContent } from './AccordionItemContent.js';
4
+ import { useAccordionContext } from './context.js';
5
+
6
+ const AccordionItem = ({
7
+ children,
8
+ id,
9
+ ...props
10
+ }) => {
11
+ const context = useAccordionContext();
12
+ const Provider = context.hooks.useItemContextProvider(id);
13
+ const hasRegistered = useRef(false);
14
+ if (!hasRegistered.current) {
15
+ hasRegistered.current = true;
16
+ context.registerItem(id, { isChecked: false, isExpanded: false });
17
+ }
18
+ return /* @__PURE__ */ jsx(Provider, { children: /* @__PURE__ */ jsx(AccordionItemContent, { id, ...props, children }) });
19
+ };
20
+
21
+ export { AccordionItem };
22
+ //# sourceMappingURL=AccordionItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionItem.js","sources":["../../../src/components/accordion/AccordionItem.tsx"],"sourcesContent":["import { ReactNode, useRef } from 'react';\nimport { AccordionItemContent } from './AccordionItemContent';\nimport { useAccordionContext } from './context';\nimport { TId } from '@apia/util';\nimport { IAccordionItemButton } from './defaultElements/DefaultAccordionItemButton';\n\nexport interface IAccordionItemProps {\n /**\n * Cada elemento del acordeón tiene dos formas de renderizar el botón. O bien\n * se pasa un elemento AccordionItemButton como hijo o bien se pasan\n * buttonProps. En caso contrario, el elemento no tendrá botón.\n */\n buttonProps?: IAccordionItemButton;\n children?: ReactNode;\n id: TId;\n}\n\nexport const AccordionItem = ({\n children,\n id,\n ...props\n}: IAccordionItemProps) => {\n const context = useAccordionContext();\n const Provider = context.hooks.useItemContextProvider(id);\n const hasRegistered = useRef(false);\n\n if (!hasRegistered.current) {\n hasRegistered.current = true;\n context.registerItem(id, { isChecked: false, isExpanded: false });\n }\n\n return (\n <Provider>\n <AccordionItemContent id={id} {...props}>\n {children}\n </AccordionItemContent>\n </Provider>\n );\n};\n"],"names":[],"mappings":";;;;;AAiBO,MAAM,gBAAgB,CAAC;AAAA,EAC5B,QAAA;AAAA,EACA,EAAA;AAAA,EACA,GAAG,KAAA;AACL,CAA2B,KAAA;AACzB,EAAA,MAAM,UAAU,mBAAoB,EAAA,CAAA;AACpC,EAAA,MAAM,QAAW,GAAA,OAAA,CAAQ,KAAM,CAAA,sBAAA,CAAuB,EAAE,CAAA,CAAA;AACxD,EAAM,MAAA,aAAA,GAAgB,OAAO,KAAK,CAAA,CAAA;AAElC,EAAI,IAAA,CAAC,cAAc,OAAS,EAAA;AAC1B,IAAA,aAAA,CAAc,OAAU,GAAA,IAAA,CAAA;AACxB,IAAA,OAAA,CAAQ,aAAa,EAAI,EAAA,EAAE,WAAW,KAAO,EAAA,UAAA,EAAY,OAAO,CAAA,CAAA;AAAA,GAClE;AAEA,EACE,uBAAA,GAAA,CAAC,YACC,QAAC,kBAAA,GAAA,CAAA,oBAAA,EAAA,EAAqB,IAAS,GAAG,KAAA,EAC/B,UACH,CACF,EAAA,CAAA,CAAA;AAEJ;;;;"}
@@ -0,0 +1,10 @@
1
+ import * as React from 'react';
2
+ import { ReactNode } from 'react';
3
+
4
+ type TAccordionItemButton = {
5
+ children?: ReactNode;
6
+ };
7
+ declare const AccordionItemButton: ({ children }: TAccordionItemButton) => React.JSX.Element;
8
+
9
+ export { AccordionItemButton, type TAccordionItemButton };
10
+ //# sourceMappingURL=AccordionItemButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionItemButton.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { jsx, Fragment } from '@apia/theme/jsx-runtime';
2
+
3
+ const AccordionItemButton = ({ children }) => {
4
+ return /* @__PURE__ */ jsx(Fragment, { children });
5
+ };
6
+
7
+ export { AccordionItemButton };
8
+ //# sourceMappingURL=AccordionItemButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionItemButton.js","sources":["../../../src/components/accordion/AccordionItemButton.tsx"],"sourcesContent":["import { ReactNode } from 'react';\n\nexport type TAccordionItemButton = {\n children?: ReactNode;\n};\n\nexport const AccordionItemButton = ({ children }: TAccordionItemButton) => {\n return <>{children}</>;\n};\n"],"names":[],"mappings":";;AAMO,MAAM,mBAAsB,GAAA,CAAC,EAAE,QAAA,EAAqC,KAAA;AACzE,EAAA,uCAAU,QAAS,EAAA,CAAA,CAAA;AACrB;;;;"}
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ import { IAccordionItemProps } from './AccordionItem.js';
3
+
4
+ declare const AccordionItemContent: ({ children, buttonProps, }: IAccordionItemProps) => React.JSX.Element;
5
+
6
+ export { AccordionItemContent };
7
+ //# sourceMappingURL=AccordionItemContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionItemContent.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,50 @@
1
+ import { jsxs, jsx } from '@apia/theme/jsx-runtime';
2
+ import { Children } from 'react';
3
+ import { AccordionItemButton } from './AccordionItemButton.js';
4
+ import { DefaultAccordionItemButton } from './defaultElements/DefaultAccordionItemButton.js';
5
+ import AnimateHeight from 'react-animate-height';
6
+ import { useAccordionContext } from './context.js';
7
+ import { Box } from '@apia/theme';
8
+
9
+ const AccordionItemContent = ({
10
+ children,
11
+ buttonProps
12
+ }) => {
13
+ let button = null;
14
+ const actualChildren = Children.toArray(children).filter((current) => {
15
+ if (typeof current !== "string" && typeof current !== "number") {
16
+ const element = current;
17
+ if (element.type === AccordionItemButton) {
18
+ button = element;
19
+ return false;
20
+ }
21
+ }
22
+ return true;
23
+ });
24
+ if (button === null && buttonProps)
25
+ button = /* @__PURE__ */ jsx(DefaultAccordionItemButton, { ...buttonProps });
26
+ const handler = useAccordionContext();
27
+ const isExpanded = handler.hooks.useItemStateSelector(
28
+ (current) => current.isExpanded
29
+ );
30
+ const duration = handler.hooks.usePropsSelector(
31
+ (current) => current.animationDuration
32
+ );
33
+ const id = handler.hooks.useItemId();
34
+ return /* @__PURE__ */ jsxs(Box, { className: "accordion__item", "data-id": id, children: [
35
+ button,
36
+ /* @__PURE__ */ jsx(
37
+ AnimateHeight,
38
+ {
39
+ className: "accordion__item__content",
40
+ height: isExpanded ? "auto" : 0,
41
+ duration,
42
+ id: `accordion__${handler.id}__${id}`,
43
+ children: actualChildren
44
+ }
45
+ )
46
+ ] });
47
+ };
48
+
49
+ export { AccordionItemContent };
50
+ //# sourceMappingURL=AccordionItemContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionItemContent.js","sources":["../../../src/components/accordion/AccordionItemContent.tsx"],"sourcesContent":["import { Children, ReactElement } from 'react';\nimport { AccordionItemButton } from './AccordionItemButton';\nimport { DefaultAccordionItemButton } from './defaultElements/DefaultAccordionItemButton';\nimport { IAccordionItemProps } from './AccordionItem';\nimport AnimateHeight from 'react-animate-height';\nimport { useAccordionContext } from './context';\nimport { Box } from '@apia/theme';\n\nexport const AccordionItemContent = ({\n children,\n buttonProps,\n}: IAccordionItemProps) => {\n let button = null;\n\n const actualChildren = Children.toArray(children).filter((current) => {\n if (typeof current !== 'string' && typeof current !== 'number') {\n const element = current as ReactElement;\n\n if (element.type === AccordionItemButton) {\n button = element;\n return false;\n }\n }\n return true;\n });\n\n if (button === null && buttonProps)\n button = <DefaultAccordionItemButton {...buttonProps} />;\n\n const handler = useAccordionContext();\n const isExpanded = handler.hooks.useItemStateSelector(\n (current) => current.isExpanded,\n );\n const duration = handler.hooks.usePropsSelector(\n (current) => current.animationDuration,\n );\n const id = handler.hooks.useItemId();\n\n return (\n <Box className=\"accordion__item\" data-id={id}>\n {button}\n <AnimateHeight\n className=\"accordion__item__content\"\n height={isExpanded ? 'auto' : 0}\n duration={duration}\n id={`accordion__${handler.id}__${id}`}\n >\n {actualChildren}\n </AnimateHeight>\n </Box>\n );\n};\n"],"names":[],"mappings":";;;;;;;;AAQO,MAAM,uBAAuB,CAAC;AAAA,EACnC,QAAA;AAAA,EACA,WAAA;AACF,CAA2B,KAAA;AACzB,EAAA,IAAI,MAAS,GAAA,IAAA,CAAA;AAEb,EAAA,MAAM,iBAAiB,QAAS,CAAA,OAAA,CAAQ,QAAQ,CAAE,CAAA,MAAA,CAAO,CAAC,OAAY,KAAA;AACpE,IAAA,IAAI,OAAO,OAAA,KAAY,QAAY,IAAA,OAAO,YAAY,QAAU,EAAA;AAC9D,MAAA,MAAM,OAAU,GAAA,OAAA,CAAA;AAEhB,MAAI,IAAA,OAAA,CAAQ,SAAS,mBAAqB,EAAA;AACxC,QAAS,MAAA,GAAA,OAAA,CAAA;AACT,QAAO,OAAA,KAAA,CAAA;AAAA,OACT;AAAA,KACF;AACA,IAAO,OAAA,IAAA,CAAA;AAAA,GACR,CAAA,CAAA;AAED,EAAA,IAAI,WAAW,IAAQ,IAAA,WAAA;AACrB,IAAS,MAAA,mBAAA,GAAA,CAAC,0BAA4B,EAAA,EAAA,GAAG,WAAa,EAAA,CAAA,CAAA;AAExD,EAAA,MAAM,UAAU,mBAAoB,EAAA,CAAA;AACpC,EAAM,MAAA,UAAA,GAAa,QAAQ,KAAM,CAAA,oBAAA;AAAA,IAC/B,CAAC,YAAY,OAAQ,CAAA,UAAA;AAAA,GACvB,CAAA;AACA,EAAM,MAAA,QAAA,GAAW,QAAQ,KAAM,CAAA,gBAAA;AAAA,IAC7B,CAAC,YAAY,OAAQ,CAAA,iBAAA;AAAA,GACvB,CAAA;AACA,EAAM,MAAA,EAAA,GAAK,OAAQ,CAAA,KAAA,CAAM,SAAU,EAAA,CAAA;AAEnC,EAAA,uBACG,IAAA,CAAA,GAAA,EAAA,EAAI,SAAU,EAAA,iBAAA,EAAkB,WAAS,EACvC,EAAA,QAAA,EAAA;AAAA,IAAA,MAAA;AAAA,oBACD,GAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QACC,SAAU,EAAA,0BAAA;AAAA,QACV,MAAA,EAAQ,aAAa,MAAS,GAAA,CAAA;AAAA,QAC9B,QAAA;AAAA,QACA,EAAI,EAAA,CAAA,WAAA,EAAc,OAAQ,CAAA,EAAE,KAAK,EAAE,CAAA,CAAA;AAAA,QAElC,QAAA,EAAA,cAAA;AAAA,OAAA;AAAA,KACH;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ;;;;"}
@@ -0,0 +1,77 @@
1
+ import { jsx } from '@apia/theme/jsx-runtime';
2
+ import { Box, getVariant } from '@apia/theme';
3
+ import { useState, useEffect } from 'react';
4
+ import { useAccordionContext } from './context.js';
5
+
6
+ const KeyHandler = (props) => {
7
+ const [ref, setRef] = useState(null);
8
+ const handler = useAccordionContext();
9
+ useEffect(() => {
10
+ if (ref) {
11
+ ref.addEventListener("keydown", (ev) => {
12
+ const accordionItem = ev.target?.closest(
13
+ ".accordion__item"
14
+ );
15
+ const accordion = ev.target?.closest(".accordion");
16
+ const allItems = [
17
+ ...accordion?.querySelectorAll(".accordion__item") ?? []
18
+ ];
19
+ const currentIndex = allItems.findIndex(
20
+ (current) => current === accordionItem
21
+ );
22
+ if (ev.code === "ArrowDown") {
23
+ if (currentIndex < allItems.length - 1) {
24
+ ev.preventDefault();
25
+ allItems[currentIndex + 1]?.querySelector(
26
+ ".accordion__item__button"
27
+ )?.focus();
28
+ }
29
+ } else if (ev.code === "ArrowUp") {
30
+ if (currentIndex > 0) {
31
+ ev.preventDefault();
32
+ allItems[currentIndex - 1]?.querySelector(
33
+ ".accordion__item__button"
34
+ )?.focus();
35
+ }
36
+ } else if (ev.code === "ArrowLeft") {
37
+ if (allItems[currentIndex]?.querySelector(
38
+ '[aria-expanded="true"]'
39
+ )) {
40
+ ev.preventDefault();
41
+ allItems[currentIndex]?.querySelector(
42
+ ".accordion__item__button"
43
+ )?.click();
44
+ }
45
+ } else if (ev.code === "ArrowRight") {
46
+ if (allItems[currentIndex]?.querySelector(
47
+ '[aria-expanded="false"]'
48
+ )) {
49
+ ev.preventDefault();
50
+ allItems[currentIndex]?.querySelector(
51
+ ".accordion__item__button"
52
+ )?.click();
53
+ }
54
+ } else if (ev.code === "Space") {
55
+ ev.preventDefault();
56
+ ev.stopPropagation();
57
+ const id = accordionItem.dataset.id;
58
+ handler.udpateItem(id, {
59
+ isChecked: !handler.itemsState[id].isChecked
60
+ });
61
+ }
62
+ });
63
+ }
64
+ }, [handler, ref]);
65
+ const variant = handler.hooks.usePropsSelector((current) => current.variant);
66
+ return /* @__PURE__ */ jsx(
67
+ Box,
68
+ {
69
+ ...props,
70
+ ref: setRef,
71
+ ...variant ? getVariant(variant) : void 0
72
+ }
73
+ );
74
+ };
75
+
76
+ export { KeyHandler };
77
+ //# sourceMappingURL=KeyHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyHandler.js","sources":["../../../src/components/accordion/KeyHandler.tsx"],"sourcesContent":["import { Box, type BoxProps } from '@apia/theme';\nimport { useEffect, useState } from 'react';\nimport { useAccordionContext } from './context';\nimport { getVariant } from '@apia/theme';\n\nexport const KeyHandler = (props: BoxProps) => {\n const [ref, setRef] = useState<HTMLDivElement | null>(null);\n const handler = useAccordionContext();\n\n useEffect(() => {\n if (ref) {\n ref.addEventListener('keydown', (ev) => {\n const accordionItem = (ev.target as HTMLElement)?.closest(\n '.accordion__item',\n ) as HTMLElement;\n const accordion = (ev.target as HTMLElement)?.closest('.accordion');\n const allItems = [\n ...(accordion?.querySelectorAll('.accordion__item') ?? []),\n ];\n const currentIndex = allItems.findIndex(\n (current) => current === accordionItem,\n );\n\n if (ev.code === 'ArrowDown') {\n if (currentIndex < allItems.length - 1) {\n ev.preventDefault();\n (\n (allItems[currentIndex + 1] as HTMLElement)?.querySelector(\n '.accordion__item__button',\n ) as HTMLElement\n )?.focus();\n }\n } else if (ev.code === 'ArrowUp') {\n if (currentIndex > 0) {\n ev.preventDefault();\n (\n (allItems[currentIndex - 1] as HTMLElement)?.querySelector(\n '.accordion__item__button',\n ) as HTMLElement\n )?.focus();\n }\n } else if (ev.code === 'ArrowLeft') {\n if (\n (allItems[currentIndex] as HTMLElement)?.querySelector(\n '[aria-expanded=\"true\"]',\n ) as HTMLElement\n ) {\n ev.preventDefault();\n (\n (allItems[currentIndex] as HTMLElement)?.querySelector(\n '.accordion__item__button',\n ) as HTMLElement\n )?.click();\n }\n } else if (ev.code === 'ArrowRight') {\n if (\n (allItems[currentIndex] as HTMLElement)?.querySelector(\n '[aria-expanded=\"false\"]',\n ) as HTMLElement\n ) {\n ev.preventDefault();\n (\n (allItems[currentIndex] as HTMLElement)?.querySelector(\n '.accordion__item__button',\n ) as HTMLElement\n )?.click();\n }\n } else if (ev.code === 'Space') {\n ev.preventDefault();\n ev.stopPropagation();\n const id = accordionItem.dataset.id as string;\n handler.udpateItem(id, {\n isChecked: !handler.itemsState[id].isChecked,\n });\n }\n });\n }\n }, [handler, ref]);\n\n const variant = handler.hooks.usePropsSelector((current) => current.variant);\n\n return (\n <Box\n {...props}\n ref={setRef}\n {...(variant ? getVariant(variant) : undefined)}\n />\n );\n};\n"],"names":[],"mappings":";;;;;AAKa,MAAA,UAAA,GAAa,CAAC,KAAoB,KAAA;AAC7C,EAAA,MAAM,CAAC,GAAA,EAAK,MAAM,CAAA,GAAI,SAAgC,IAAI,CAAA,CAAA;AAC1D,EAAA,MAAM,UAAU,mBAAoB,EAAA,CAAA;AAEpC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,GAAK,EAAA;AACP,MAAI,GAAA,CAAA,gBAAA,CAAiB,SAAW,EAAA,CAAC,EAAO,KAAA;AACtC,QAAM,MAAA,aAAA,GAAiB,GAAG,MAAwB,EAAA,OAAA;AAAA,UAChD,kBAAA;AAAA,SACF,CAAA;AACA,QAAA,MAAM,SAAa,GAAA,EAAA,CAAG,MAAwB,EAAA,OAAA,CAAQ,YAAY,CAAA,CAAA;AAClE,QAAA,MAAM,QAAW,GAAA;AAAA,UACf,GAAI,SAAA,EAAW,gBAAiB,CAAA,kBAAkB,KAAK,EAAC;AAAA,SAC1D,CAAA;AACA,QAAA,MAAM,eAAe,QAAS,CAAA,SAAA;AAAA,UAC5B,CAAC,YAAY,OAAY,KAAA,aAAA;AAAA,SAC3B,CAAA;AAEA,QAAI,IAAA,EAAA,CAAG,SAAS,WAAa,EAAA;AAC3B,UAAI,IAAA,YAAA,GAAe,QAAS,CAAA,MAAA,GAAS,CAAG,EAAA;AACtC,YAAA,EAAA,CAAG,cAAe,EAAA,CAAA;AAClB,YACG,QAAA,CAAS,YAAe,GAAA,CAAC,CAAmB,EAAA,aAAA;AAAA,cAC3C,0BAAA;AAAA,eAED,KAAM,EAAA,CAAA;AAAA,WACX;AAAA,SACF,MAAA,IAAW,EAAG,CAAA,IAAA,KAAS,SAAW,EAAA;AAChC,UAAA,IAAI,eAAe,CAAG,EAAA;AACpB,YAAA,EAAA,CAAG,cAAe,EAAA,CAAA;AAClB,YACG,QAAA,CAAS,YAAe,GAAA,CAAC,CAAmB,EAAA,aAAA;AAAA,cAC3C,0BAAA;AAAA,eAED,KAAM,EAAA,CAAA;AAAA,WACX;AAAA,SACF,MAAA,IAAW,EAAG,CAAA,IAAA,KAAS,WAAa,EAAA;AAClC,UACG,IAAA,QAAA,CAAS,YAAY,CAAmB,EAAA,aAAA;AAAA,YACvC,wBAAA;AAAA,WAEF,EAAA;AACA,YAAA,EAAA,CAAG,cAAe,EAAA,CAAA;AAClB,YACG,QAAA,CAAS,YAAY,CAAmB,EAAA,aAAA;AAAA,cACvC,0BAAA;AAAA,eAED,KAAM,EAAA,CAAA;AAAA,WACX;AAAA,SACF,MAAA,IAAW,EAAG,CAAA,IAAA,KAAS,YAAc,EAAA;AACnC,UACG,IAAA,QAAA,CAAS,YAAY,CAAmB,EAAA,aAAA;AAAA,YACvC,yBAAA;AAAA,WAEF,EAAA;AACA,YAAA,EAAA,CAAG,cAAe,EAAA,CAAA;AAClB,YACG,QAAA,CAAS,YAAY,CAAmB,EAAA,aAAA;AAAA,cACvC,0BAAA;AAAA,eAED,KAAM,EAAA,CAAA;AAAA,WACX;AAAA,SACF,MAAA,IAAW,EAAG,CAAA,IAAA,KAAS,OAAS,EAAA;AAC9B,UAAA,EAAA,CAAG,cAAe,EAAA,CAAA;AAClB,UAAA,EAAA,CAAG,eAAgB,EAAA,CAAA;AACnB,UAAM,MAAA,EAAA,GAAK,cAAc,OAAQ,CAAA,EAAA,CAAA;AACjC,UAAA,OAAA,CAAQ,WAAW,EAAI,EAAA;AAAA,YACrB,SAAW,EAAA,CAAC,OAAQ,CAAA,UAAA,CAAW,EAAE,CAAE,CAAA,SAAA;AAAA,WACpC,CAAA,CAAA;AAAA,SACH;AAAA,OACD,CAAA,CAAA;AAAA,KACH;AAAA,GACC,EAAA,CAAC,OAAS,EAAA,GAAG,CAAC,CAAA,CAAA;AAEjB,EAAA,MAAM,UAAU,OAAQ,CAAA,KAAA,CAAM,iBAAiB,CAAC,OAAA,KAAY,QAAQ,OAAO,CAAA,CAAA;AAE3E,EACE,uBAAA,GAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,GAAK,EAAA,MAAA;AAAA,MACJ,GAAI,OAAA,GAAU,UAAW,CAAA,OAAO,CAAI,GAAA,KAAA,CAAA;AAAA,KAAA;AAAA,GACvC,CAAA;AAEJ;;;;"}
@@ -0,0 +1,10 @@
1
+ import * as React from 'react';
2
+ import { AccordionHandler } from './handler.js';
3
+ import { TId } from '@apia/util';
4
+
5
+ declare const AccordionContext: React.Context<AccordionHandler | null>;
6
+ declare const AccordionItemContext: React.Context<TId | null>;
7
+ declare const useAccordionContext: () => AccordionHandler;
8
+
9
+ export { AccordionContext, AccordionItemContext, useAccordionContext };
10
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { createContext, useContext } from 'react';
2
+
3
+ const AccordionContext = createContext(null);
4
+ const AccordionItemContext = createContext(null);
5
+ const useAccordionContext = () => {
6
+ const context = useContext(AccordionContext);
7
+ if (!context)
8
+ throw new Error("There is no AccordionContext");
9
+ return context;
10
+ };
11
+
12
+ export { AccordionContext, AccordionItemContext, useAccordionContext };
13
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sources":["../../../src/components/accordion/context.ts"],"sourcesContent":["import { TId } from '@apia/util';\nimport { createContext, useContext } from 'react';\nimport { TAccordionHandler } from '.';\n\nexport const AccordionContext = createContext<TAccordionHandler | null>(null);\nexport const AccordionItemContext = createContext<TId | null>(null);\n\nexport const useAccordionContext = () => {\n const context = useContext(AccordionContext);\n if (!context) throw new Error('There is no AccordionContext');\n return context;\n};\n"],"names":[],"mappings":";;AAIa,MAAA,gBAAA,GAAmB,cAAwC,IAAI,EAAA;AAC/D,MAAA,oBAAA,GAAuB,cAA0B,IAAI,EAAA;AAE3D,MAAM,sBAAsB,MAAM;AACvC,EAAM,MAAA,OAAA,GAAU,WAAW,gBAAgB,CAAA,CAAA;AAC3C,EAAA,IAAI,CAAC,OAAA;AAAS,IAAM,MAAA,IAAI,MAAM,8BAA8B,CAAA,CAAA;AAC5D,EAAO,OAAA,OAAA,CAAA;AACT;;;;"}
@@ -0,0 +1,22 @@
1
+ import { jsx } from '@apia/theme/jsx-runtime';
2
+ import { Box } from '@apia/theme';
3
+ import { Icon } from '@apia/icons';
4
+
5
+ const Checkbox = (props) => {
6
+ return /* @__PURE__ */ jsx(
7
+ Box,
8
+ {
9
+ className: "accordion__item__button__check",
10
+ onClick: (ev) => {
11
+ ev.stopPropagation();
12
+ ev.preventDefault();
13
+ if (!props.disabled)
14
+ props.onChange?.(!props.checked);
15
+ },
16
+ children: props.checked && /* @__PURE__ */ jsx(Icon, { title: "", name: "Check" })
17
+ }
18
+ );
19
+ };
20
+
21
+ export { Checkbox };
22
+ //# sourceMappingURL=Checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.js","sources":["../../../../src/components/accordion/defaultElements/Checkbox.tsx"],"sourcesContent":["import { Box } from '@apia/theme';\nimport { Icon } from '@apia/icons';\n\nexport interface ICheckbox {\n checked: boolean;\n disabled?: boolean;\n onChange: (checked: boolean) => unknown;\n}\n\nexport const Checkbox = (props: ICheckbox) => {\n return (\n <Box\n className=\"accordion__item__button__check\"\n onClick={(ev) => {\n ev.stopPropagation();\n ev.preventDefault();\n if (!props.disabled) props.onChange?.(!props.checked);\n }}\n >\n {props.checked && <Icon title=\"\" name=\"Check\" />}\n </Box>\n );\n};\n"],"names":[],"mappings":";;;;AASa,MAAA,QAAA,GAAW,CAAC,KAAqB,KAAA;AAC5C,EACE,uBAAA,GAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,SAAU,EAAA,gCAAA;AAAA,MACV,OAAA,EAAS,CAAC,EAAO,KAAA;AACf,QAAA,EAAA,CAAG,eAAgB,EAAA,CAAA;AACnB,QAAA,EAAA,CAAG,cAAe,EAAA,CAAA;AAClB,QAAA,IAAI,CAAC,KAAM,CAAA,QAAA;AAAU,UAAM,KAAA,CAAA,QAAA,GAAW,CAAC,KAAA,CAAM,OAAO,CAAA,CAAA;AAAA,OACtD;AAAA,MAEC,gBAAM,OAAW,oBAAA,GAAA,CAAC,QAAK,KAAM,EAAA,EAAA,EAAG,MAAK,OAAQ,EAAA,CAAA;AAAA,KAAA;AAAA,GAChD,CAAA;AAEJ;;;;"}