@trilogy-ds/react 4.0.6 → 4.0.7-SC-beta-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (345) hide show
  1. package/lib/components/accordion/Accordion.d.ts +2 -2
  2. package/lib/components/accordion/Accordion.js +4 -6
  3. package/lib/components/accordion/Accordion.native.d.ts +2 -2
  4. package/lib/components/accordion/Accordion.native.js +5 -5
  5. package/lib/components/accordion/AccordionProps.d.ts +0 -3
  6. package/lib/components/accordion/index.d.ts +5 -5
  7. package/lib/components/accordion/index.js +6 -6
  8. package/lib/components/accordion/item/AccordionItem.d.ts +1 -1
  9. package/lib/components/accordion/item/AccordionItem.js +6 -10
  10. package/lib/components/accordion/item/body/AccordionBody.d.ts +2 -2
  11. package/lib/components/accordion/item/body/AccordionBody.js +6 -8
  12. package/lib/components/accordion/item/body/AccordionBody.native.d.ts +2 -2
  13. package/lib/components/accordion/item/body/AccordionBody.native.js +4 -4
  14. package/lib/components/accordion/item/body/AccordionBodyProps.d.ts +1 -1
  15. package/lib/components/accordion/item/body/hooks/useAccordionBoy.d.ts +6 -0
  16. package/lib/components/accordion/item/body/hooks/useAccordionBoy.js +11 -0
  17. package/lib/components/accordion/item/body/index.d.ts +1 -1
  18. package/lib/components/accordion/item/body/index.js +2 -2
  19. package/lib/components/accordion/item/header/AccordionHeader.d.ts +2 -2
  20. package/lib/components/accordion/item/header/AccordionHeader.js +4 -6
  21. package/lib/components/accordion/item/header/AccordionHeader.native.d.ts +2 -2
  22. package/lib/components/accordion/item/header/AccordionHeader.native.js +7 -7
  23. package/lib/components/accordion/item/header/index.d.ts +1 -1
  24. package/lib/components/accordion/item/header/index.js +2 -2
  25. package/lib/components/accordion/item/index.d.ts +1 -1
  26. package/lib/components/accordion/item/index.js +2 -2
  27. package/lib/components/alert/Alert.d.ts +1 -1
  28. package/lib/components/alert/Alert.js +17 -43
  29. package/lib/components/alert/context/ToasterContext.js +6 -2
  30. package/lib/components/alert/hooks/useAlert.d.ts +23 -0
  31. package/lib/components/alert/hooks/useAlert.js +43 -0
  32. package/lib/components/autocomplete/AutoComplete.d.ts +1 -1
  33. package/lib/components/autocomplete/AutoComplete.js +26 -127
  34. package/lib/components/autocomplete/AutoComplete.native.d.ts +1 -1
  35. package/lib/components/autocomplete/AutoComplete.native.js +5 -5
  36. package/lib/components/autocomplete/AutoCompleteProps.d.ts +1 -1
  37. package/lib/components/autocomplete/Autocomplete.helpers.d.ts +1 -1
  38. package/lib/components/autocomplete/hooks/useAutocomplete.d.ts +40 -0
  39. package/lib/components/autocomplete/hooks/useAutocomplete.js +141 -0
  40. package/lib/components/autocomplete/index.d.ts +3 -3
  41. package/lib/components/autocomplete/index.js +4 -4
  42. package/lib/components/autocomplete/item/AutoCompleteIem.native.d.ts +1 -1
  43. package/lib/components/autocomplete/item/AutoCompleteIem.native.js +4 -4
  44. package/lib/components/autocomplete/item/AutoCompleteItem.d.ts +2 -2
  45. package/lib/components/autocomplete/item/AutoCompleteItem.js +6 -8
  46. package/lib/components/autocomplete/item/AutoCompleteItemProps.d.ts +1 -1
  47. package/lib/components/autocomplete/item/hooks/useAutocompleteItem.d.ts +9 -0
  48. package/lib/components/autocomplete/item/hooks/useAutocompleteItem.js +19 -0
  49. package/lib/components/autocomplete/item/index.d.ts +1 -1
  50. package/lib/components/autocomplete/item/index.js +2 -2
  51. package/lib/components/autocomplete/menu/AutoCompleteMenu.d.ts +2 -2
  52. package/lib/components/autocomplete/menu/AutoCompleteMenu.js +5 -7
  53. package/lib/components/autocomplete/menu/AutoCompleteMenu.native.js +4 -4
  54. package/lib/components/autocomplete/menu/index.d.ts +1 -1
  55. package/lib/components/autocomplete/menu/index.js +2 -2
  56. package/lib/components/badge/Badge.d.ts +1 -1
  57. package/lib/components/badge/Badge.js +10 -13
  58. package/lib/components/badge/Badge.native.js +2 -2
  59. package/lib/components/badge/BadgeProps.d.ts +2 -2
  60. package/lib/components/badge/index.d.ts +2 -1
  61. package/lib/components/badge/index.js +3 -2
  62. package/lib/components/box/Box.js +8 -16
  63. package/lib/components/box/content/BoxContent.js +5 -7
  64. package/lib/components/box/footer/BoxFooter.js +4 -6
  65. package/lib/components/box/header/BoxHeader.js +5 -7
  66. package/lib/components/box/item/BoxItem.js +4 -6
  67. package/lib/components/box/table-container/BoxTableContainer.d.ts +1 -1
  68. package/lib/components/box/table-container/BoxTableContainer.js +5 -7
  69. package/lib/components/breadcrumb/Breadcrumb.js +2 -4
  70. package/lib/components/breadcrumb/item/BreadcrumbItem.js +6 -8
  71. package/lib/components/button/Button.js +7 -19
  72. package/lib/components/button/hooks/useButton.d.ts +12 -0
  73. package/lib/components/button/hooks/useButton.js +12 -0
  74. package/lib/components/button/list/ButtonList.js +5 -7
  75. package/lib/components/card/Card.d.ts +1 -4
  76. package/lib/components/card/Card.js +8 -15
  77. package/lib/components/card/Card.native.d.ts +1 -1
  78. package/lib/components/card/Card.native.js +15 -13
  79. package/lib/components/card/CardProps.d.ts +3 -1
  80. package/lib/components/card/content/CardContent.d.ts +1 -1
  81. package/lib/components/card/content/CardContent.js +4 -6
  82. package/lib/components/card/content/CardContentProps.d.ts +1 -1
  83. package/lib/components/card/content/index.d.ts +1 -1
  84. package/lib/components/card/content/index.js +2 -2
  85. package/lib/components/card/image/CardImage.d.ts +1 -1
  86. package/lib/components/card/image/CardImage.js +7 -13
  87. package/lib/components/card/image/CardImage.native.d.ts +1 -1
  88. package/lib/components/card/image/CardImage.native.js +12 -12
  89. package/lib/components/card/index.d.ts +5 -5
  90. package/lib/components/card/index.js +6 -6
  91. package/lib/components/checkbox/Checkbox.js +17 -26
  92. package/lib/components/checkbox/CheckboxProps.d.ts +1 -1
  93. package/lib/components/checkbox/tiles/CheckboxTiles.js +4 -6
  94. package/lib/components/checkbox/tiles/tile/CheckboxTile.js +23 -24
  95. package/lib/components/chips/Chips.d.ts +1 -1
  96. package/lib/components/chips/Chips.js +7 -11
  97. package/lib/components/chips/index.d.ts +2 -2
  98. package/lib/components/chips/index.js +3 -3
  99. package/lib/components/chips/list/ChipsList.d.ts +2 -2
  100. package/lib/components/chips/list/ChipsList.js +5 -7
  101. package/lib/components/chips/list/index.d.ts +1 -1
  102. package/lib/components/chips/list/index.js +2 -2
  103. package/lib/components/columns/Columns.js +2 -4
  104. package/lib/components/columns/column/Column.js +2 -4
  105. package/lib/components/container/Container.js +2 -4
  106. package/lib/components/countdown/Countdown.d.ts +1 -1
  107. package/lib/components/countdown/Countdown.js +17 -77
  108. package/lib/components/countdown/CountdownProps.d.ts +1 -1
  109. package/lib/components/countdown/hooks/useCountdown.d.ts +16 -0
  110. package/lib/components/countdown/hooks/useCountdown.js +76 -0
  111. package/lib/components/countdown/index.d.ts +2 -2
  112. package/lib/components/countdown/index.js +3 -3
  113. package/lib/components/divider/Divider.js +3 -5
  114. package/lib/components/fab/Fab.d.ts +1 -1
  115. package/lib/components/fab/Fab.js +7 -16
  116. package/lib/components/fab/FabProps.d.ts +5 -3
  117. package/lib/components/fab/index.d.ts +1 -1
  118. package/lib/components/fab/index.js +2 -2
  119. package/lib/components/hero/Hero.js +3 -5
  120. package/lib/components/icon/Icon.js +6 -8
  121. package/lib/components/image/Image.d.ts +1 -1
  122. package/lib/components/image/Image.js +7 -12
  123. package/lib/components/image/ImageProps.d.ts +3 -2
  124. package/lib/components/image/ImageProps.js +1 -1
  125. package/lib/components/image/index.d.ts +1 -1
  126. package/lib/components/image/index.js +2 -2
  127. package/lib/components/input/Input.d.ts +2 -2
  128. package/lib/components/input/Input.js +48 -128
  129. package/lib/components/input/Input.native.d.ts +1 -1
  130. package/lib/components/input/Input.native.js +6 -6
  131. package/lib/components/input/InputProps.d.ts +3 -3
  132. package/lib/components/input/gauge/InputGauge.d.ts +2 -3
  133. package/lib/components/input/gauge/InputGauge.js +15 -15
  134. package/lib/components/input/gauge/hook/useGauge.d.ts +1 -1
  135. package/lib/components/input/gauge/hook/useGauge.js +44 -30
  136. package/lib/components/input/hook/useInput.d.ts +68 -0
  137. package/lib/components/input/hook/useInput.js +150 -0
  138. package/lib/components/input/index.d.ts +3 -3
  139. package/lib/components/input/index.js +4 -4
  140. package/lib/components/link/Link.js +6 -8
  141. package/lib/components/list/List.d.ts +3 -2
  142. package/lib/components/list/List.js +9 -9
  143. package/lib/components/list/List.native.d.ts +4 -3
  144. package/lib/components/list/List.native.js +11 -7
  145. package/lib/components/list/ListProps.d.ts +1 -0
  146. package/lib/components/list/ListPropsDefaults.js +8 -0
  147. package/lib/components/list/context/ListContext.d.ts +3 -0
  148. package/lib/components/list/context/ListContext.js +8 -0
  149. package/lib/components/list/context/ListContextProps.d.ts +7 -0
  150. package/lib/components/list/context/ListContextProps.js +2 -0
  151. package/lib/components/list/context/ListContextPropsDefaults.js +24 -0
  152. package/lib/components/list/context/index.d.ts +2 -0
  153. package/lib/components/list/context/index.js +3 -0
  154. package/lib/components/list/item/ListItem.js +6 -8
  155. package/lib/components/list/item/ListItem.native.d.ts +1 -1
  156. package/lib/components/list/item/ListItem.native.js +19 -5
  157. package/lib/components/list/item/description/ListItemDescription.d.ts +2 -2
  158. package/lib/components/list/item/description/ListItemDescription.js +5 -7
  159. package/lib/components/modal/Modal.d.ts +1 -1
  160. package/lib/components/modal/Modal.js +14 -74
  161. package/lib/components/modal/Modal.native.js +51 -109
  162. package/lib/components/modal/ModalProps.d.ts +3 -2
  163. package/lib/components/modal/body/ModalBody.d.ts +1 -1
  164. package/lib/components/modal/body/ModalBody.js +3 -5
  165. package/lib/components/modal/body/ModalBody.native.js +13 -8
  166. package/lib/components/modal/context/ModalContext.d.ts +3 -0
  167. package/lib/components/modal/context/ModalContext.js +8 -0
  168. package/lib/components/modal/context/ModalContextProps.d.ts +8 -0
  169. package/lib/components/modal/context/ModalContextProps.js +2 -0
  170. package/lib/components/modal/context/ModalContextPropsDefaults.js +25 -0
  171. package/lib/components/modal/context/index.d.ts +2 -0
  172. package/lib/components/modal/context/index.js +3 -0
  173. package/lib/components/modal/footer/ModalFooter.d.ts +1 -1
  174. package/lib/components/modal/footer/ModalFooter.js +4 -6
  175. package/lib/components/modal/footer/ModalFooter.native.js +20 -10
  176. package/lib/components/modal/hooks/useModal.d.ts +26 -0
  177. package/lib/components/modal/hooks/useModal.js +84 -0
  178. package/lib/components/modal/index.d.ts +4 -4
  179. package/lib/components/modal/index.js +5 -5
  180. package/lib/components/otp/Otp.d.ts +1 -1
  181. package/lib/components/otp/Otp.js +22 -98
  182. package/lib/components/otp/hooks/useOtp.d.ts +20 -0
  183. package/lib/components/otp/hooks/useOtp.js +100 -0
  184. package/lib/components/otp/index.d.ts +1 -1
  185. package/lib/components/otp/index.js +2 -2
  186. package/lib/components/pagination/Pagination.d.ts +1 -1
  187. package/lib/components/pagination/Pagination.js +17 -66
  188. package/lib/components/pagination/PaginationProps.d.ts +3 -2
  189. package/lib/components/pagination/hooks/usePagination.d.ts +25 -0
  190. package/lib/components/pagination/hooks/usePagination.js +76 -0
  191. package/lib/components/pagination/index.d.ts +2 -2
  192. package/lib/components/pagination/index.js +3 -3
  193. package/lib/components/popover/Popover.js +5 -7
  194. package/lib/components/price/Price.js +11 -13
  195. package/lib/components/product-tour/ProductTour.js +13 -17
  196. package/lib/components/product-tour/hooks/useProductTour.d.ts +11 -0
  197. package/lib/components/product-tour/hooks/useProductTour.js +21 -0
  198. package/lib/components/progress/Progress.d.ts +2 -2
  199. package/lib/components/progress/Progress.js +11 -13
  200. package/lib/components/progress/ProgressProps.d.ts +1 -1
  201. package/lib/components/progress/index.d.ts +3 -3
  202. package/lib/components/progress/index.js +4 -4
  203. package/lib/components/progress/radial/ProgressRadial.d.ts +1 -1
  204. package/lib/components/progress/radial/ProgressRadial.js +11 -52
  205. package/lib/components/progress/radial/ProgressRadial.native.js +1 -1
  206. package/lib/components/progress/radial/ProgressRadialProps.d.ts +5 -3
  207. package/lib/components/progress/radial/hooks/useProgressRadial.d.ts +15 -0
  208. package/lib/components/progress/radial/hooks/useProgressRadial.js +56 -0
  209. package/lib/components/progress/radial/index.d.ts +1 -1
  210. package/lib/components/progress/radial/index.js +2 -2
  211. package/lib/components/progress/radial/item/ProgressRadialItemProps.d.ts +1 -1
  212. package/lib/components/progress/radial/item/ProgressRadialtem.d.ts +1 -1
  213. package/lib/components/progress/radial/item/ProgressRadialtem.js +4 -6
  214. package/lib/components/progress/radial/item/index.d.ts +1 -1
  215. package/lib/components/progress/radial/item/index.js +2 -2
  216. package/lib/components/radio/Radio.js +6 -8
  217. package/lib/components/radio/RadioProps.d.ts +1 -1
  218. package/lib/components/radio/index.d.ts +5 -5
  219. package/lib/components/radio/index.js +6 -6
  220. package/lib/components/radio/list/RadioList.d.ts +1 -1
  221. package/lib/components/radio/list/RadioList.js +5 -7
  222. package/lib/components/radio/list/RadioListProps.d.ts +1 -1
  223. package/lib/components/radio/list/index.d.ts +1 -1
  224. package/lib/components/radio/list/index.js +2 -2
  225. package/lib/components/radio/tiles/RadioTiles.js +5 -7
  226. package/lib/components/radio/tiles/RadioTilesProps.d.ts +1 -1
  227. package/lib/components/radio/tiles/index.d.ts +1 -1
  228. package/lib/components/radio/tiles/index.js +2 -2
  229. package/lib/components/radio/tiles/tile/RadioTile.js +10 -12
  230. package/lib/components/radio/tiles/tile/index.d.ts +1 -1
  231. package/lib/components/radio/tiles/tile/index.js +2 -2
  232. package/lib/components/range/Range.d.ts +1 -1
  233. package/lib/components/range/Range.js +15 -57
  234. package/lib/components/range/RangeProps.d.ts +2 -1
  235. package/lib/components/range/hooks/useRange.d.ts +30 -0
  236. package/lib/components/range/hooks/useRange.js +62 -0
  237. package/lib/components/range/index.d.ts +1 -1
  238. package/lib/components/range/index.js +2 -2
  239. package/lib/components/rows/Rows.js +4 -6
  240. package/lib/components/rows/row/Row.js +4 -6
  241. package/lib/components/scroll-view/ScrollView.d.ts +2 -2
  242. package/lib/components/scroll-view/ScrollView.js +11 -13
  243. package/lib/components/section/Section.js +5 -7
  244. package/lib/components/segment-control/SegmentControl.d.ts +8 -2
  245. package/lib/components/segment-control/SegmentControl.js +16 -28
  246. package/lib/components/segment-control/SegmentControlProps.d.ts +1 -1
  247. package/lib/components/segment-control/hooks/useSegmentControl.d.ts +14 -0
  248. package/lib/components/segment-control/hooks/useSegmentControl.js +30 -0
  249. package/lib/components/segment-control/item/SegmentControlItem.d.ts +6 -2
  250. package/lib/components/segment-control/item/SegmentControlItem.js +8 -18
  251. package/lib/components/segment-control/item/SegmentControlItemProps.d.ts +1 -1
  252. package/lib/components/segment-control/item/hooks/useSegmentControlItem.d.ts +14 -0
  253. package/lib/components/segment-control/item/hooks/useSegmentControlItem.js +23 -0
  254. package/lib/components/segment-control/item/index.d.ts +1 -1
  255. package/lib/components/segment-control/item/index.js +2 -2
  256. package/lib/components/select/Select.d.ts +1 -1
  257. package/lib/components/select/Select.js +3 -3
  258. package/lib/components/select/SelectProps.d.ts +3 -2
  259. package/lib/components/select/index.d.ts +2 -2
  260. package/lib/components/select/index.js +3 -3
  261. package/lib/components/select/option/SelectOption.d.ts +2 -2
  262. package/lib/components/select/option/SelectOption.js +7 -9
  263. package/lib/components/select/option/SelectOptionProps.d.ts +3 -2
  264. package/lib/components/select/option/index.d.ts +1 -1
  265. package/lib/components/select/option/index.js +2 -2
  266. package/lib/components/select/web/SelectDynamic.d.ts +1 -1
  267. package/lib/components/select/web/SelectDynamic.js +15 -131
  268. package/lib/components/select/web/SelectNative.js +15 -35
  269. package/lib/components/select/web/hooks/useSelectDynamic.d.ts +27 -0
  270. package/lib/components/select/web/hooks/useSelectDynamic.js +155 -0
  271. package/lib/components/select/web/hooks/useSelectNative.d.ts +22 -0
  272. package/lib/components/select/web/hooks/useSelectNative.js +37 -0
  273. package/lib/components/select/web/index.d.ts +2 -2
  274. package/lib/components/select/web/index.js +3 -3
  275. package/lib/components/spacer/Spacer.js +3 -5
  276. package/lib/components/stepper/Stepper.d.ts +2 -2
  277. package/lib/components/stepper/Stepper.js +9 -36
  278. package/lib/components/stepper/hooks/useStepper.d.ts +9 -0
  279. package/lib/components/stepper/hooks/useStepper.js +54 -0
  280. package/lib/components/stepper/step/Step.d.ts +1 -1
  281. package/lib/components/stepper/step/Step.js +8 -10
  282. package/lib/components/stepper/step/index.d.ts +1 -1
  283. package/lib/components/stepper/step/index.js +2 -2
  284. package/lib/components/sticker/Sticker.d.ts +1 -1
  285. package/lib/components/sticker/Sticker.js +9 -11
  286. package/lib/components/sticker/Sticker.native.d.ts +1 -1
  287. package/lib/components/sticker/Sticker.native.js +7 -7
  288. package/lib/components/sticker/StickerProps.d.ts +2 -2
  289. package/lib/components/sticker/StickerPropsDefaults.js +7 -0
  290. package/lib/components/switch/Switch.d.ts +1 -1
  291. package/lib/components/switch/Switch.js +11 -43
  292. package/lib/components/switch/SwitchProps.d.ts +2 -3
  293. package/lib/components/switch/hooks/useSwitch.d.ts +18 -0
  294. package/lib/components/switch/hooks/useSwitch.js +45 -0
  295. package/lib/components/switch/index.d.ts +1 -1
  296. package/lib/components/switch/index.js +2 -2
  297. package/lib/components/table/Table.js +5 -7
  298. package/lib/components/table/body/TableBody.js +5 -7
  299. package/lib/components/table/head/TableHead.js +5 -7
  300. package/lib/components/table/td/TableTd.js +4 -6
  301. package/lib/components/table/th/TableTh.js +4 -6
  302. package/lib/components/table/tr/TableTr.d.ts +1 -1
  303. package/lib/components/table/tr/TableTr.js +7 -9
  304. package/lib/components/tabs/Tabs.js +6 -18
  305. package/lib/components/tabs/TabsProps.d.ts +4 -1
  306. package/lib/components/tabs/context/index.js +2 -1
  307. package/lib/components/tabs/hooks/useTabs.d.ts +12 -0
  308. package/lib/components/tabs/hooks/useTabs.js +32 -0
  309. package/lib/components/tabs/tab-list/TabList.js +2 -4
  310. package/lib/components/tabs/tab-list/tab/Tab.js +4 -19
  311. package/lib/components/tabs/tab-list/tab/TabProps.d.ts +3 -1
  312. package/lib/components/tabs/tab-list/tab/hooks/useTab.d.ts +17 -0
  313. package/lib/components/tabs/tab-list/tab/hooks/useTab.js +27 -0
  314. package/lib/components/tabs/tab-panels/TabPanels.js +2 -4
  315. package/lib/components/tabs/tab-panels/tab-panel/TabPanel.js +4 -6
  316. package/lib/components/tabs/tab-panels/tab-panel/TabPanelProps.d.ts +1 -1
  317. package/lib/components/tabs/tab-panels/tab-panel/hooks/useTabPanel.d.ts +3 -0
  318. package/lib/components/tabs/tab-panels/tab-panel/hooks/useTabPanel.js +13 -0
  319. package/lib/components/tag/Tag.js +3 -5
  320. package/lib/components/tag/list/TagList.js +5 -7
  321. package/lib/components/text/Text.js +5 -7
  322. package/lib/components/textarea/Textarea.d.ts +1 -1
  323. package/lib/components/textarea/Textarea.js +15 -27
  324. package/lib/components/textarea/TextareaProps.d.ts +4 -3
  325. package/lib/components/textarea/hooks/useTextarea.d.ts +15 -0
  326. package/lib/components/textarea/hooks/useTextarea.js +29 -0
  327. package/lib/components/timeline/Timeline.js +4 -6
  328. package/lib/components/timeline/content/TimelineContent.js +5 -7
  329. package/lib/components/timeline/item/TimelineItem.js +4 -6
  330. package/lib/components/timeline/marker/TimelineMarker.js +5 -7
  331. package/lib/components/title/Title.js +7 -9
  332. package/lib/components/view/View.d.ts +1 -1
  333. package/lib/components/view/View.js +12 -15
  334. package/lib/context/index.d.ts +1 -1
  335. package/lib/context/index.js +3 -2
  336. package/lib/context/providerStates.js +3 -2
  337. package/lib/context/providerTheme.js +2 -1
  338. package/lib/helpers/hashClassesHelpers.d.ts +1 -3
  339. package/lib/helpers/hashClassesHelpers.js +18 -15
  340. package/lib/helpers/isServer.d.ts +1 -0
  341. package/lib/helpers/isServer.js +2 -0
  342. package/lib/objects/Typography/TypographyBold.js +3 -2
  343. package/lib/version.d.ts +1 -1
  344. package/lib/version.js +2 -2
  345. package/package.json +1 -1
@@ -1,69 +1,11 @@
1
- import { __assign, __read, __rest } from "tslib";
1
+ import { __assign, __read, __rest, __spreadArray } from "tslib";
2
+ import { useOtp } from '../../components/otp/hooks/useOtp';
2
3
  import { Text, TextMarkup } from '../../components/text';
3
- import { useTrilogyContext } from '../../context/index';
4
4
  import { hashClass } from '../../helpers/hashClassesHelpers';
5
5
  import { TypographyColor } from '../../objects/Typography';
6
6
  import { is } from '../../services/classify';
7
7
  import clsx from 'clsx';
8
- import React, { useEffect, useRef, useState } from 'react';
9
- var stringToCode = function (str, codeSize) {
10
- if (!str)
11
- return new Array(codeSize).fill(null);
12
- return str.split('').map(function (char) { return (char === '' ? null : Number(char)); });
13
- };
14
- var codeToString = function (code) {
15
- return code.map(function (char) { return (char === null ? '_' : char); }).join('');
16
- };
17
- var isCompleted = function (myCode) {
18
- return myCode.every(function (code) { return code !== null; });
19
- };
20
- var focusToNextInput = function (target, value) {
21
- var nextElementSibling = target.nextElementSibling;
22
- if (nextElementSibling) {
23
- if (value)
24
- nextElementSibling.value = value;
25
- if (target.value.length)
26
- nextElementSibling.focus();
27
- }
28
- else {
29
- target.focus();
30
- }
31
- };
32
- var focusToPrevInput = function (target) {
33
- var previousElementSibling = target.previousElementSibling;
34
- if (previousElementSibling) {
35
- previousElementSibling.focus();
36
- }
37
- else {
38
- target.focus();
39
- }
40
- };
41
- var updateCodeInput = function (value, index, code) {
42
- var numberValue = Number(value);
43
- if (isNaN(numberValue) || value.length < 1) {
44
- return code;
45
- }
46
- var newCodeInput = code.map(function (code, idx) {
47
- return idx === index ? Number(value.slice(0, 1)) : code;
48
- });
49
- return updateCodeInput(value.slice(1), index + 1, newCodeInput);
50
- };
51
- var inputOnKeyUp = function (e) {
52
- var key = e.key;
53
- var target = e.target;
54
- if (key === 'ArrowRight' || key === 'ArrowDown') {
55
- return focusToNextInput(target);
56
- }
57
- if (key === 'ArrowLeft' || key === 'ArrowUp') {
58
- return focusToPrevInput(target);
59
- }
60
- if (key === 'Backspace') {
61
- return target.value === '' && focusToPrevInput(target);
62
- }
63
- if (key >= '0' && key <= '9') {
64
- focusToNextInput(target);
65
- }
66
- };
8
+ import React from 'react';
67
9
  /**
68
10
  * OTP Code Component
69
11
  * @param value {string} Code Text Input
@@ -81,47 +23,29 @@ var inputOnKeyUp = function (e) {
81
23
  */
82
24
  var Otp = function (_a) {
83
25
  var className = _a.className, id = _a.id, value = _a.value, _b = _a.length, length = _b === void 0 ? 6 : _b, disabled = _a.disabled, error = _a.error, onCompleted = _a.onCompleted, onChange = _a.onChange, onFocus = _a.onFocus, label = _a.label, help = _a.help, autoFocus = _a.autoFocus, others = __rest(_a, ["className", "id", "value", "length", "disabled", "error", "onCompleted", "onChange", "onFocus", "label", "help", "autoFocus"]);
84
- var _c = __read(useState(stringToCode(value, length) || new Array(length).fill(null)), 2), codeInput = _c[0], setCodeInput = _c[1];
85
- var hasChanged = useRef(false);
86
- var styled = useTrilogyContext().styled;
87
- var classes = hashClass(styled, clsx('otp-list', error && is('error'), className));
88
- useEffect(function () {
89
- if (!disabled) {
90
- isCompleted(codeInput) && (onCompleted === null || onCompleted === void 0 ? void 0 : onCompleted(codeToString(codeInput)));
91
- }
92
- }, [length, codeInput, onCompleted, disabled]);
93
- useEffect(function () {
94
- hasChanged.current = codeInput.find(function (code) { return code !== null; }) !== undefined;
95
- if (hasChanged.current) {
96
- onChange === null || onChange === void 0 ? void 0 : onChange(codeToString(codeInput));
97
- }
98
- }, [codeInput]);
99
- var inputOnChange = function (e, idx) {
100
- var target = e.target;
101
- var targetValue = target.value.trim();
102
- if (targetValue.length > 0) {
103
- setCodeInput(updateCodeInput(targetValue, idx, codeInput));
104
- }
105
- else {
106
- setCodeInput(codeInput.map(function (code, index) {
107
- return index === idx ? null : code;
108
- }));
109
- }
110
- };
111
- var inputOnFocus = function (e) {
112
- var target = e.target;
113
- target.setSelectionRange(0, target.value.length);
114
- };
26
+ var classes = hashClass(clsx('otp-list', error && is('error'), className));
27
+ var _c = useOtp({
28
+ value: value,
29
+ disabled: disabled,
30
+ onChange: onChange,
31
+ onCompleted: onCompleted,
32
+ length: length,
33
+ }), codeInput = _c.codeInput, inputOnChange = _c.inputOnChange, inputOnFocus = _c.inputOnFocus, inputOnKeyUp = _c.inputOnKeyUp;
115
34
  return (React.createElement(React.Fragment, null,
116
35
  label && (React.createElement(Text, { markup: TextMarkup.P, typo: (disabled && TypographyColor.TEXT_NEUTRAL) ||
117
36
  (error && TypographyColor.TEXT_ERROR) ||
118
37
  TypographyColor.TEXT_MAIN }, label)),
119
- React.createElement("div", { id: id, className: classes, onClick: function () {
120
- if (!disabled) {
121
- onFocus === null || onFocus === void 0 ? void 0 : onFocus(true);
38
+ React.createElement("div", { id: id, className: classes, onClick: onFocus
39
+ ? function () {
40
+ if (!disabled) {
41
+ onFocus === null || onFocus === void 0 ? void 0 : onFocus(true);
42
+ }
122
43
  }
123
- } }, codeInput.map(function (digit, idx) { return (React.createElement("input", __assign({ "aria-disabled": disabled, tabIndex: 0, key: idx, type: 'text', inputMode: 'numeric', autoComplete: 'one-time-code', autoFocus: idx === 0 && autoFocus, pattern: '\\d{1}', maxLength: length, className: hashClass(styled, clsx('otp')), value: "".concat(digit !== null && digit !== void 0 ? digit : ''), onKeyUp: inputOnKeyUp, onFocus: inputOnFocus, onChange: function (e) { return inputOnChange(e, idx); }, disabled: disabled }, others))); })),
124
- help && (React.createElement(Text, { className: hashClass(styled, clsx('help')), markup: TextMarkup.P, typo: (error && TypographyColor.TEXT_ERROR) || TypographyColor.TEXT_MAIN }, help))));
44
+ : undefined }, __spreadArray([], __read(Array(length).keys()), false).map(function (_, index) {
45
+ var _a;
46
+ return (React.createElement("input", __assign({ "aria-disabled": disabled, tabIndex: 0, key: index, type: 'text', inputMode: 'numeric', autoComplete: 'one-time-code', autoFocus: index === 0 && autoFocus, pattern: '\\d{1}', maxLength: length, className: hashClass(clsx('otp')), value: value ? "".concat((_a = codeInput[index]) !== null && _a !== void 0 ? _a : '') : undefined, onKeyUp: inputOnKeyUp, onFocus: inputOnFocus, onChange: inputOnChange ? function (e) { return inputOnChange(e, index); } : undefined, disabled: disabled }, others)));
47
+ })),
48
+ help && (React.createElement(Text, { className: hashClass(clsx('help')), markup: TextMarkup.P, typo: (error && TypographyColor.TEXT_ERROR) || TypographyColor.TEXT_MAIN }, help))));
125
49
  };
126
50
  export default Otp;
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vY29tcG9uZW50cy9vdHAvT3RwLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN4QyxPQUFPLElBQUksTUFBTSxNQUFNLENBQUE7QUFDdkIsT0FBTyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUsxRCxJQUFNLFlBQVksR0FBRyxVQUFDLEdBQXVCLEVBQUUsUUFBZ0I7SUFDN0QsSUFBSSxDQUFDLEdBQUc7UUFBRSxPQUFPLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUMvQyxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQUMsSUFBSSxJQUFLLE9BQUEsQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFuQyxDQUFtQyxDQUFDLENBQUE7QUFDekUsQ0FBQyxDQUFBO0FBRUQsSUFBTSxZQUFZLEdBQUcsVUFBQyxJQUFvQjtJQUN4QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBQyxJQUFJLElBQUssT0FBQSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENB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
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vY29tcG9uZW50cy9vdHAvT3RwLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDeEMsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFBO0FBQ3ZCLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQUV6Qjs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILElBQU0sR0FBRyxHQUFHLFVBQUMsRUFjRjtJQWJULElBQUEsU0FBUyxlQUFBLEVBQ1QsRUFBRSxRQUFBLEVBQ0YsS0FBSyxXQUFBLEVBQ0wsY0FBVSxFQUFWLE1BQU0sbUJBQUcsQ0FBQyxLQUFBLEVBQ1YsUUFBUSxjQUFBLEVBQ1IsS0FBSyxXQUFBLEVBQ0wsV0FBVyxpQkFBQSxFQUNYLFFBQVEsY0FBQSxFQUNSLE9BQU8sYUFBQSxFQUNQLEtBQUssV0FBQSxFQUNMLElBQUksVUFBQSxFQUNKLFNBQVMsZUFBQSxFQUNOLE1BQU0sY0FiRSwrSEFjWixDQURVO0lBRVQsSUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFBO0lBQ3RFLElBQUEsS0FBMkQsTUFBTSxDQUFDO1FBQ3RFLEtBQUssT0FBQTtRQUNMLFFBQVEsVUFBQTtRQUNSLFFBQVEsVUFBQTtRQUNSLFdBQVcsYUFBQTtRQUNYLE1BQU0sUUFBQTtLQUNQLENBQUMsRUFOTSxTQUFTLGVBQUEsRUFBRSxhQUFhLG1CQUFBLEVBQUUsWUFBWSxrQkFBQSxFQUFFLFlBQVksa0JBTTFELENBQUE7SUFFRixPQUFPLENBQ0w7UUFDRyxLQUFLLElBQUksQ0FDUixvQkFBQyxJQUFJLElBQ0gsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQ3BCLElBQUksRUFDRixDQUFDLFFBQVEsSUFBSSxlQUFlLENBQUMsWUFBWSxDQUFDO2dCQUMxQyxDQUFDLEtBQUssSUFBSSxlQUFlLENBQUMsVUFBVSxDQUFDO2dCQUNyQyxlQUFlLENBQUMsU0FBUyxJQUcxQixLQUFLLENBQ0QsQ0FDUjtRQUNELDZCQUNFLEVBQUUsRUFBRSxFQUFFLEVBQ04sU0FBUyxFQUFFLE9BQU8sRUFDbEIsT0FBTyxFQUNMLE9BQU87Z0JBQ0wsQ0FBQyxDQUFDO29CQUNFLElBQUksQ0FBQyxRQUFRLEVBQUU7d0JBQ2IsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFHLElBQUksQ0FBQyxDQUFBO3FCQUNoQjtnQkFDSCxDQUFDO2dCQUNILENBQUMsQ0FBQyxTQUFTLElBR2QseUJBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxVQUFFLEdBQUcsQ0FBQyxVQUFDLENBQUMsRUFBRSxLQUFLOztZQUFLLE9BQUEsQ0FDM0MseURBQ2lCLFFBQVEsRUFDdkIsUUFBUSxFQUFFLENBQUMsRUFDWCxHQUFHLEVBQUUsS0FBSyxFQUNWLElBQUksRUFBQyxNQUFNLEVBQ1gsU0FBUyxFQUFDLFNBQVMsRUFDbkIsWUFBWSxFQUFDLGVBQWUsRUFDNUIsU0FBUyxFQUFFLEtBQUssS0FBSyxDQUFDLElBQUksU0FBUyxFQUNuQyxPQUFPLEVBQUMsUUFBTyxFQUNmLFNBQVMsRUFBRSxNQUFNLEVBQ2pCLFNBQVMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQ2pDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQUcsTUFBQSxTQUFTLENBQUMsS0FBSyxDQUFDLG1DQUFJLEVBQUUsQ0FBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQ3JCLE9BQU8sRUFBRSxZQUFZLEVBQ3JCLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLFVBQUMsQ0FBQyxJQUFLLE9BQUEsYUFBYSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBdkIsQ0FBdUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUNwRSxRQUFRLEVBQUUsUUFBUSxJQUNkLE1BQU0sRUFDVixDQUNILENBQUE7U0FBQSxDQUFDLENBQ0U7UUFDTCxJQUFJLElBQUksQ0FDUCxvQkFBQyxJQUFJLElBQ0gsU0FBUyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDbEMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQ3BCLElBQUksRUFBRSxDQUFDLEtBQUssSUFBSSxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksZUFBZSxDQUFDLFNBQVMsSUFFdkUsSUFBSSxDQUNBLENBQ1IsQ0FDQSxDQUNKLENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCxlQUFlLEdBQUcsQ0FBQSJ9
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ interface IProps {
3
+ value?: string;
4
+ disabled?: boolean;
5
+ onChange?: (code?: string) => void;
6
+ onCompleted?: (code?: string) => void;
7
+ length: number;
8
+ }
9
+ export declare const useOtp: ({ value, disabled, length, onChange, onCompleted }: IProps) => {
10
+ codeInput: (number | null)[];
11
+ inputOnKeyUp?: undefined;
12
+ inputOnFocus?: undefined;
13
+ inputOnChange?: undefined;
14
+ } | {
15
+ codeInput: (number | null)[];
16
+ inputOnKeyUp: (e: React.KeyboardEvent<HTMLInputElement>) => false | void;
17
+ inputOnFocus: (e: React.FocusEvent<HTMLInputElement>) => void;
18
+ inputOnChange: (e: React.ChangeEvent<HTMLInputElement>, idx: number) => void;
19
+ };
20
+ export {};
@@ -0,0 +1,100 @@
1
+ import { __read } from "tslib";
2
+ import { isServer } from '../../../helpers/isServer';
3
+ import React from 'react';
4
+ export var useOtp = function (_a) {
5
+ var value = _a.value, disabled = _a.disabled, length = _a.length, onChange = _a.onChange, onCompleted = _a.onCompleted;
6
+ var stringToCode = function (str, codeSize) {
7
+ if (!str)
8
+ return new Array(codeSize).fill(null);
9
+ return str.split('').map(function (char) { return (char === '' ? null : Number(char)); });
10
+ };
11
+ var codeToString = function (code) {
12
+ return code.map(function (char) { return (char === null ? '_' : char); }).join('');
13
+ };
14
+ var isCompleted = function (myCode) {
15
+ return myCode.every(function (code) { return code !== null; });
16
+ };
17
+ var focusToNextInput = function (target, value) {
18
+ var nextElementSibling = target.nextElementSibling;
19
+ if (nextElementSibling) {
20
+ if (value)
21
+ nextElementSibling.value = value;
22
+ if (target.value.length)
23
+ nextElementSibling.focus();
24
+ }
25
+ else {
26
+ target.focus();
27
+ }
28
+ };
29
+ var focusToPrevInput = function (target) {
30
+ var previousElementSibling = target.previousElementSibling;
31
+ if (previousElementSibling) {
32
+ previousElementSibling.focus();
33
+ }
34
+ else {
35
+ target.focus();
36
+ }
37
+ };
38
+ var updateCodeInput = function (value, index, code) {
39
+ var numberValue = Number(value);
40
+ if (isNaN(numberValue) || value.length < 1) {
41
+ return code;
42
+ }
43
+ var newCodeInput = code.map(function (code, idx) {
44
+ return idx === index ? Number(value.slice(0, 1)) : code;
45
+ });
46
+ return updateCodeInput(value.slice(1), index + 1, newCodeInput);
47
+ };
48
+ var inputOnKeyUp = function (e) {
49
+ var key = e.key;
50
+ var target = e.target;
51
+ if (key === 'ArrowRight' || key === 'ArrowDown') {
52
+ return focusToNextInput(target);
53
+ }
54
+ if (key === 'ArrowLeft' || key === 'ArrowUp') {
55
+ return focusToPrevInput(target);
56
+ }
57
+ if (key === 'Backspace') {
58
+ return target.value === '' && focusToPrevInput(target);
59
+ }
60
+ if (key >= '0' && key <= '9') {
61
+ focusToNextInput(target);
62
+ }
63
+ };
64
+ if (isServer) {
65
+ return {
66
+ codeInput: stringToCode(value, length) || new Array(length).fill(null),
67
+ };
68
+ }
69
+ var _b = __read(React.useState(stringToCode(value, length) || new Array(length).fill(null)), 2), codeInput = _b[0], setCodeInput = _b[1];
70
+ var hasChanged = React.useRef(false);
71
+ React.useEffect(function () {
72
+ if (!disabled) {
73
+ isCompleted(codeInput) && (onCompleted === null || onCompleted === void 0 ? void 0 : onCompleted(codeToString(codeInput)));
74
+ }
75
+ }, [length, codeInput, onCompleted, disabled]);
76
+ React.useEffect(function () {
77
+ hasChanged.current = codeInput.find(function (code) { return code !== null; }) !== undefined;
78
+ if (hasChanged.current) {
79
+ onChange === null || onChange === void 0 ? void 0 : onChange(codeToString(codeInput));
80
+ }
81
+ }, [codeInput]);
82
+ var inputOnChange = function (e, idx) {
83
+ var target = e.target;
84
+ var targetValue = target.value.trim();
85
+ if (targetValue.length > 0) {
86
+ setCodeInput(updateCodeInput(targetValue, idx, codeInput));
87
+ }
88
+ else {
89
+ setCodeInput(codeInput.map(function (code, index) {
90
+ return index === idx ? null : code;
91
+ }));
92
+ }
93
+ };
94
+ var inputOnFocus = function (e) {
95
+ var target = e.target;
96
+ target.setSelectionRange(0, target.value.length);
97
+ };
98
+ return { codeInput: codeInput, inputOnKeyUp: inputOnKeyUp, inputOnFocus: inputOnFocus, inputOnChange: inputOnChange };
99
+ };
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlT3RwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29tcG9uZW50cy9vdHAvaG9va3MvdXNlT3RwLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQzdDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQVV6QixNQUFNLENBQUMsSUFBTSxNQUFNLEdBQUcsVUFBQyxFQUEwRDtRQUF4RCxLQUFLLFdBQUEsRUFBRSxRQUFRLGNBQUEsRUFBRSxNQUFNLFlBQUEsRUFBRSxRQUFRLGNBQUEsRUFBRSxXQUFXLGlCQUFBO0lBR3JFLElBQU0sWUFBWSxHQUFHLFVBQUMsR0FBdUIsRUFBRSxRQUFnQjtRQUM3RCxJQUFJLENBQUMsR0FBRztZQUFFLE9BQU8sSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQy9DLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBQyxJQUFJLElBQUssT0FBQSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQW5DLENBQW1DLENBQUMsQ0FBQTtJQUN6RSxDQUFDLENBQUE7SUFFRCxJQUFNLFlBQVksR0FBRyxVQUFDLElBQW9CO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFDLElBQUksSUFBSyxPQUFBLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBNUIsQ0FBNEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUNsRSxDQUFDLENBQUE7SUFFRCxJQUFNLFdBQVcsR0FBRyxVQUFDLE1BQXNCO1FBQ3pDLE9BQU8sTUFB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
@@ -1,2 +1,2 @@
1
- import Otp from './Otp';
1
+ import Otp from '../../components/otp/Otp';
2
2
  export { Otp };
@@ -1,3 +1,3 @@
1
- import Otp from './Otp';
1
+ import Otp from '../../components/otp/Otp';
2
2
  export { Otp };
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb21wb25lbnRzL290cC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUE7QUFFdkIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFBIn0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb21wb25lbnRzL290cC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEdBQUcsTUFBTSxzQkFBc0IsQ0FBQTtBQUV0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUEifQ==
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { PaginationProps } from './PaginationProps';
2
+ import { PaginationProps } from '../../components/pagination/PaginationProps';
3
3
  /**
4
4
  * Pagination Component
5
5
  * @param count {number} Number elements
@@ -1,9 +1,9 @@
1
- import { __assign, __read, __rest, __spreadArray } from "tslib";
2
- import React, { useEffect, useRef, useState } from 'react';
1
+ import { __assign, __rest } from "tslib";
3
2
  import { Icon, IconName } from '../../components/icon';
4
- import { hashClass } from '../../helpers';
3
+ import { usePagination } from '../../components/pagination/hooks/usePagination';
4
+ import { hashClass } from '../../helpers/hashClassesHelpers';
5
5
  import clsx from 'clsx';
6
- import { useTrilogyContext } from '../../context';
6
+ import React from 'react';
7
7
  /**
8
8
  * Pagination Component
9
9
  * @param count {number} Number elements
@@ -17,73 +17,24 @@ import { useTrilogyContext } from '../../context';
17
17
  */
18
18
  var Pagination = function (_a) {
19
19
  var className = _a.className, id = _a.id, length = _a.length, _b = _a.defaultPage, defaultPage = _b === void 0 ? 1 : _b, onClick = _a.onClick, href = _a.href, others = __rest(_a, ["className", "id", "length", "defaultPage", "onClick", "href"]);
20
- var _c = __read(useState(defaultPage), 2), currentPage = _c[0], setCurrentPage = _c[1];
21
- var styled = useTrilogyContext().styled;
22
- var classes = hashClass(styled, clsx('pagination', className));
23
- var prevCurrentPage = useRef(currentPage);
24
- var pager = React.useMemo(function () {
25
- // Calculate total pages
26
- var startPage = 1;
27
- var endPage = 5;
28
- if (length <= 5) {
29
- // less than pageSize(default is 5) total pages so show all
30
- startPage = 1;
31
- endPage = length;
32
- }
33
- else {
34
- // more than 3 total pages so calculate start and end pages
35
- if (currentPage <= 3) {
36
- startPage = 1;
37
- endPage = 4;
38
- }
39
- else if (currentPage + 3 >= length) {
40
- startPage = length - 3;
41
- endPage = length;
42
- }
43
- else {
44
- startPage = currentPage - 1;
45
- endPage = currentPage + 1;
46
- }
47
- }
48
- // Create an array of pages
49
- var pages = __spreadArray([], __read(Array(endPage + 1 - startPage).keys()), false).map(function (i) { return startPage + i; });
50
- // Set pager object
51
- return {
52
- currentPage: currentPage,
53
- length: length,
54
- endPage: endPage,
55
- pages: pages,
56
- };
57
- }, [currentPage, length]);
58
- useEffect(function () {
59
- if (onClick && prevCurrentPage.current !== pager.currentPage) {
60
- onClick(pager);
61
- }
62
- setCurrentPage(pager.currentPage);
63
- prevCurrentPage.current = pager.currentPage;
64
- }, [pager.currentPage]);
20
+ var classes = hashClass(clsx('pagination', className));
21
+ var _c = usePagination({
22
+ defaultPage: defaultPage,
23
+ onClick: onClick,
24
+ length: length,
25
+ }), currentPage = _c.currentPage, handleClickNext = _c.handleClickNext, handleClickPage = _c.handleClickPage, handleClickPrev = _c.handleClickPrev, pager = _c.pager;
65
26
  return (React.createElement("nav", __assign({ id: id, className: classes }, others),
66
- React.createElement("a", __assign({ className: hashClass(styled, clsx('pagination-previous')) }, (currentPage === 1 ? { 'aria-disabled': true } : {}), { onClick: function () {
67
- if (currentPage !== 1) {
68
- setCurrentPage(currentPage - 1);
69
- }
70
- }, href: href === null || href === void 0 ? void 0 : href(currentPage - 1) }),
27
+ React.createElement("a", __assign({ className: hashClass(clsx('pagination-previous')) }, (currentPage === 1 ? { 'aria-disabled': true } : {}), { onClick: handleClickPrev, href: href === null || href === void 0 ? void 0 : href(currentPage - 1) }),
71
28
  React.createElement(Icon, { name: IconName.ARROW_LEFT })),
72
- React.createElement("ul", { className: hashClass(styled, clsx('pagination-list')) },
29
+ React.createElement("ul", { className: hashClass(clsx('pagination-list')) },
73
30
  !pager.pages.includes(1) && (React.createElement("li", null,
74
- React.createElement("span", { className: hashClass(styled, clsx('pagination-ellipsis')) }, "\u2026"))),
31
+ React.createElement("span", { className: hashClass(clsx('pagination-ellipsis')) }, "\u2026"))),
75
32
  pager.pages.map(function (pageNumber) { return (React.createElement("li", { key: pageNumber },
76
- React.createElement("a", __assign({ className: hashClass(styled, clsx('pagination-link')) }, (currentPage === pageNumber ? { 'aria-current': true } : {}), { "aria-label": "Aller \u00E0 la page ".concat(pageNumber), onClick: function () {
77
- setCurrentPage(pageNumber);
78
- }, href: href === null || href === void 0 ? void 0 : href(pageNumber) }), pageNumber))); }),
33
+ React.createElement("a", __assign({ className: hashClass(clsx('pagination-link')) }, (currentPage === pageNumber ? { 'aria-current': true } : {}), { "aria-label": "Aller \u00E0 la page ".concat(pageNumber), onClick: handleClickPage ? function () { return handleClickPage(pageNumber); } : undefined, href: href === null || href === void 0 ? void 0 : href(pageNumber) }), pageNumber))); }),
79
34
  !pager.pages.includes(length) && (React.createElement("li", null,
80
- React.createElement("span", { className: hashClass(styled, clsx('pagination-ellipsis')) }, "\u2026")))),
81
- React.createElement("a", __assign({ className: hashClass(styled, clsx('pagination-next')) }, (currentPage === Math.max(length) ? { 'aria-disabled': true } : {}), { onClick: function () {
82
- if (currentPage !== Math.max(length)) {
83
- setCurrentPage(currentPage + 1);
84
- }
85
- }, href: href === null || href === void 0 ? void 0 : href(currentPage + 1) }),
35
+ React.createElement("span", { className: hashClass(clsx('pagination-ellipsis')) }, "\u2026")))),
36
+ React.createElement("a", __assign({ className: hashClass(clsx('pagination-next')) }, (currentPage === Math.max(length) ? { 'aria-disabled': true } : {}), { onClick: handleClickNext, href: href === null || href === void 0 ? void 0 : href(currentPage + 1) }),
86
37
  React.createElement(Icon, { name: IconName.ARROW_RIGHT }))));
87
38
  };
88
39
  export default Pagination;
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFnaW5hdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9QYWdpbmF0aW9uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUMxRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRWxELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDckMsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFBO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUc3Qzs7Ozs7Ozs7OztHQVVHO0FBQ0gsSUFBTSxVQUFVLEdBQUcsVUFBQyxFQVFGO0lBUGhCLElBQUEsU0FBUyxlQUFBLEVBQ1QsRUFBRSxRQUFBLEVBQ0YsTUFBTSxZQUFBLEVBQ04sbUJBQWUsRUFBZixXQUFXLG1CQUFHLENBQUMsS0FBQSxFQUNmLE9BQU8sYUFBQSxFQUNQLElBQUksVUFBQSxFQUNELE1BQU0sY0FQUywrREFRbkIsQ0FEVTtJQUVILElBQUEsS0FBQSxPQUFnQyxRQUFRLENBQVMsV0FBVyxDQUFDLElBQUEsRUFBNUQsV0FBVyxRQUFBLEVBQUUsY0FBYyxRQUFpQyxDQUFBO0lBQzNELElBQUEsTUFBTSxHQUFLLGlCQUFpQixFQUFFLE9BQXhCLENBQXdCO0lBQ3RDLElBQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFBO0lBRWhFLElBQU0sZUFBZSxHQUFHLE1BQU0sQ0FBUyxXQUFXLENBQUMsQ0FBQTtJQUNuRCxJQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFRO1FBQ2pDLHdCQUF3QjtRQUV4QixJQUFJLFNBQVMsR0FBRyxD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
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFnaW5hdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9QYWdpbmF0aW9uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkNBQTZDLENBQUE7QUFFM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ3hELE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUN2QixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUE7QUFFekI7Ozs7Ozs7Ozs7R0FVRztBQUNILElBQU0sVUFBVSxHQUFHLFVBQUMsRUFRRjtJQVBoQixJQUFBLFNBQVMsZUFBQSxFQUNULEVBQUUsUUFBQSxFQUNGLE1BQU0sWUFBQSxFQUNOLG1CQUFlLEVBQWYsV0FBVyxtQkFBRyxDQUFDLEtBQUEsRUFDZixPQUFPLGFBQUEsRUFDUCxJQUFJLFVBQUEsRUFDRCxNQUFNLGNBUFMsK0RBUW5CLENBRFU7SUFFVCxJQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFBO0lBRWxELElBQUEsS0FBNEUsYUFBYSxDQUFDO1FBQzlGLFdBQVcsYUFBQTtRQUNYLE9BQU8sU0FBQTtRQUNQLE1BQU0sUUFBQTtLQUNQLENBQUMsRUFKTSxXQUFXLGlCQUFBLEVBQUUsZUFBZSxxQkFBQSxFQUFFLGVBQWUscUJBQUEsRUFBRSxlQUFlLHFCQUFBLEVBQUUsS0FBSyxXQUkzRSxDQUFBO0lBRUYsT0FBTyxDQUNMLHNDQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE9BQU8sSUFBTSxNQUFNO1FBQ3pDLG9DQUNFLFNBQVMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsSUFDN0MsQ0FBQyxXQUFXLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQ3hCLElBQUksRUFBRSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUcsV0FBVyxHQUFHLENBQUMsQ0FBQztZQUU3QixvQkFBQyxJQUFJLElBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxVQUFVLEdBQUksQ0FDakM7UUFDSiw0QkFBSSxTQUFTLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQzlDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDM0I7Z0JBQ0UsOEJBQU0sU0FBUyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxhQUFVLENBQzlELENBQ047WUFDQSxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFDLFVBQVUsSUFBSyxPQUFBLENBQy9CLDRCQUFJLEdBQUcsRUFBRSxVQUFVO2dCQUNqQixvQ0FDRSxTQUFTLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLElBQ3pDLENBQUMsV0FBVyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxrQkFDcEQsK0JBQW1CLFVBQVUsQ0FBRSxFQUMzQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQyxjQUFNLE9BQUEsZUFBZSxDQUFDLFVBQVUsQ0FBQyxFQUEzQixDQUEyQixDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQ3hFLElBQUksRUFBRSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUcsVUFBVSxDQUFDLEtBRXZCLFVBQVUsQ0FDVCxDQUNELENBQ04sRUFaZ0MsQ0FZaEMsQ0FBQztZQUNELENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDaEM7Z0JBQ0UsOEJBQU0sU0FBUyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxhQUFVLENBQzlELENBQ04sQ0FDRTtRQUNMLG9DQUNFLFNBQVMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFDekMsQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUN4QixJQUFJLEVBQUUsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFHLFdBQVcsR0FBRyxDQUFDLENBQUM7WUFFN0Isb0JBQUMsSUFBSSxJQUFDLElBQUksRUFBRSxRQUFRLENBQUMsV0FBVyxHQUFJLENBQ2xDLENBQ0EsQ0FDUCxDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsZUFBZSxVQUFVLENBQUEifQ==
@@ -1,6 +1,7 @@
1
- import { Accessibility, Dev } from '../../objects';
2
- import { Pager } from './PaginationEnum';
1
+ import { Pager } from '../../components/pagination/PaginationEnum';
2
+ import { Accessibility } from '../../objects/facets/Accessibility';
3
3
  import { CommonProps } from '../../objects/facets/CommonProps';
4
+ import { Dev } from '../../objects/facets/Dev';
4
5
  /**
5
6
  * Pagination Interface
6
7
  */
@@ -0,0 +1,25 @@
1
+ import { Pager } from '../../../components/pagination/PaginationEnum';
2
+ interface IProps {
3
+ length: number;
4
+ defaultPage: number;
5
+ onClick?: (pager: Pager) => void;
6
+ }
7
+ export declare const usePagination: ({ defaultPage, onClick, length }: IProps) => {
8
+ currentPage: number;
9
+ pager: {
10
+ currentPage: number;
11
+ length: number;
12
+ endPage: number;
13
+ pages: number[];
14
+ };
15
+ handleClickNext?: undefined;
16
+ handleClickPage?: undefined;
17
+ handleClickPrev?: undefined;
18
+ } | {
19
+ currentPage: number;
20
+ handleClickNext: () => void;
21
+ handleClickPage: (pageNumber: number) => void;
22
+ handleClickPrev: () => void;
23
+ pager: Pager;
24
+ };
25
+ export {};
@@ -0,0 +1,76 @@
1
+ import { __read, __spreadArray } from "tslib";
2
+ import { isServer } from '../../../helpers/isServer';
3
+ import React from 'react';
4
+ export var usePagination = function (_a) {
5
+ var defaultPage = _a.defaultPage, onClick = _a.onClick, length = _a.length;
6
+ if (isServer) {
7
+ return {
8
+ currentPage: defaultPage,
9
+ pager: calcPager(defaultPage, length),
10
+ };
11
+ }
12
+ var _b = __read(React.useState(defaultPage), 2), currentPage = _b[0], setCurrentPage = _b[1];
13
+ var prevCurrentPage = React.useRef(currentPage);
14
+ var pager = React.useMemo(function () {
15
+ return calcPager(currentPage, length);
16
+ }, [currentPage, length]);
17
+ var handleClickPrev = React.useCallback(function () {
18
+ if (currentPage !== 1)
19
+ setCurrentPage(currentPage - 1);
20
+ }, [currentPage]);
21
+ var handleClickNext = React.useCallback(function () {
22
+ if (currentPage !== Math.max(length))
23
+ setCurrentPage(currentPage + 1);
24
+ }, [currentPage]);
25
+ var handleClickPage = React.useCallback(function (pageNumber) {
26
+ setCurrentPage(pageNumber);
27
+ }, []);
28
+ React.useEffect(function () {
29
+ if (onClick && prevCurrentPage.current !== pager.currentPage) {
30
+ onClick(pager);
31
+ }
32
+ setCurrentPage(pager.currentPage);
33
+ prevCurrentPage.current = pager.currentPage;
34
+ }, [pager.currentPage]);
35
+ return {
36
+ currentPage: currentPage,
37
+ handleClickNext: handleClickNext,
38
+ handleClickPage: handleClickPage,
39
+ handleClickPrev: handleClickPrev,
40
+ pager: pager,
41
+ };
42
+ };
43
+ var calcPager = function (currentPage, length) {
44
+ var startPage = 1;
45
+ var endPage = 5;
46
+ if (length <= 5) {
47
+ // less than pageSize(default is 5) total pages so show all
48
+ startPage = 1;
49
+ endPage = length;
50
+ }
51
+ else {
52
+ // more than 3 total pages so calculate start and end pages
53
+ if (currentPage <= 3) {
54
+ startPage = 1;
55
+ endPage = 4;
56
+ }
57
+ else if (currentPage + 3 >= length) {
58
+ startPage = length - 3;
59
+ endPage = length;
60
+ }
61
+ else {
62
+ startPage = currentPage - 1;
63
+ endPage = currentPage + 1;
64
+ }
65
+ }
66
+ // Create an array of pages
67
+ var pages = __spreadArray([], __read(Array(endPage + 1 - startPage).keys()), false).map(function (i) { return startPage + i; });
68
+ // Set pager object
69
+ return {
70
+ currentPage: currentPage,
71
+ length: length,
72
+ endPage: endPage,
73
+ pages: pages,
74
+ };
75
+ };
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlUGFnaW5hdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9ob29rcy91c2VQYWdpbmF0aW9uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQzdDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQVF6QixNQUFNLENBQUMsSUFBTSxhQUFhLEdBQUcsVUFBQyxFQUF3QztRQUF0QyxXQUFXLGlCQUFBLEVBQUUsT0FBTyxhQUFBLEVBQUUsTUFBTSxZQUFBO0lBQzFELElBQUksUUFBUSxFQUFFO1FBQ1osT0FBTztZQUNMLFdBQVcsRUFBRSxXQUFXO1lBQ3hCLEtBQUssRUFBRSxTQUFTLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQztTQUN0QyxDQUFBO0tBQ0Y7SUFFSyxJQUFBLEtBQUEsT0FBZ0MsS0FBSyxDQUFDLFFBQVEsQ0FBUyxXQUFXLENBQUMsSUFBQSxFQUFsRSxXQUFXLFFBQUEsRUFBRSxjQUFjLFFBQXVDLENBQUE7SUFDekUsSUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBUyxXQUFXLENBQUMsQ0FBQTtJQUV6RCxJQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFRO1FBQ2pDLE9BQU8sU0FBUyxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUN2QyxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUV6QixJQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBQ3hDLElBQUksV0FBVyxLQUFLLENBQUM7WUFBRSxjQUFjLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQ3hELENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUE7SUFFakIsSUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUN4QyxJQUFJLFdBQVcsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztZQUFFLGNBQWMsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDdkUsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQTtJQUVqQixJQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLFVBQUMsVUFBa0I7UUFDM0QsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQzVCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUVOLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDZCxJQUFJLE9BQU8sSUFBSSxlQUFlLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxXQUFXLEVBQUU7WUFDNUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1NBQ2Y7UUFDRCxjQUFjLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQ2pDLGVBQWUsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQTtJQUM3QyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQTtJQUV2QixPQUFPO1FBQ0wsV0FBVyxhQUFBO1FBQ1gsZUFBZSxpQkFBQTtRQUNmLGVBQWUsaUJBQUE7UUFDZixlQUFlLGlCQUFBO1FBQ2YsS0FBSyxPQUFBO0tBQ04sQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVELElBQU0sU0FBUyxHQUFHLFVBQUMsV0FBbUIsRUFBRSxNQUFjO0lBQ3BELElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQTtJQUNqQixJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUE7SUFFZixJQUFJLE1BQU0sSUFBSSxDQUFDLEVBQUU7UUFDZiwyREFBMkQ7UUFDM0QsU0FBUyxHQUFHLENBQUMsQ0FBQTtRQUNiLE9BQU8sR0FBRyxNQUFNLENBQUE7S0FDakI7U0FBTTtRQUNMLDJEQUEyRDtRQUMzRCxJQUFJLFdBQVcsSUFBSSxDQUFDLEVBQUU7WUFDcEIsU0FBUyxHQUFHLENBQUMsQ0FBQTtZQUNiLE9BQU8sR0FBRyxDQUFDLENBQUE7U0FDWjthQUFNLElBQUksV0FBVyxHQUFHLENBQUMsSUFBSSxNQUFNLEVBQUU7WUFDcEMsU0FBUyxHQUFHLE1BQU0sR0FBRyxDQUFDLENBQUE7WUFDdEIsT0FBTyxHQUFHLE1BQU0sQ0FBQTtTQUNqQjthQUFNO1lBQ0wsU0FBUyxHQUFHLFdBQVcsR0FBRyxDQUFDLENBQUE7WUFDM0IsT0FBTyxHQUFHLFdBQVcsR0FBRyxDQUFDLENBQUE7U0FDMUI7S0FDRjtJQUVELDJCQUEyQjtJQUMzQixJQUFNLEtBQUssR0FBRyx5QkFBSSxLQUFLLENBQUMsT0FBTyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsVUFBRSxHQUFHLENBQUMsVUFBQyxDQUFDLElBQUssT0FBQSxTQUFTLEdBQUcsQ0FBQyxFQUFiLENBQWEsQ0FBQyxDQUFBO0lBRWxGLG1CQUFtQjtJQUNuQixPQUFPO1FBQ0wsV0FBVyxhQUFBO1FBQ1gsTUFBTSxRQUFBO1FBQ04sT0FBTyxTQUFBO1FBQ1AsS0FBSyxPQUFBO0tBQ04sQ0FBQTtBQUNILENBQUMsQ0FBQSJ9
@@ -1,3 +1,3 @@
1
- import Pagination from './Pagination';
1
+ import Pagination from '../../components/pagination/Pagination';
2
+ export * from '../../components/pagination/PaginationEnum';
2
3
  export { Pagination };
3
- export * from './PaginationEnum';
@@ -1,4 +1,4 @@
1
- import Pagination from './Pagination';
1
+ import Pagination from '../../components/pagination/Pagination';
2
+ export * from '../../components/pagination/PaginationEnum';
2
3
  export { Pagination };
3
- export * from './PaginationEnum';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb21wb25lbnRzL3BhZ2luYXRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxVQUFVLE1BQU0sY0FBYyxDQUFBO0FBRXJDLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQTtBQUVyQixjQUFjLGtCQUFrQixDQUFBIn0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb21wb25lbnRzL3BhZ2luYXRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxVQUFVLE1BQU0sb0NBQW9DLENBQUE7QUFFM0QsY0FBYyx3Q0FBd0MsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUEifQ==
@@ -1,9 +1,8 @@
1
1
  import { __assign, __rest } from "tslib";
2
- import * as React from 'react';
3
- import { is } from '../../services/classify';
4
2
  import { hashClass } from '../../helpers/hashClassesHelpers';
3
+ import { is } from '../../services/classify';
5
4
  import clsx from 'clsx';
6
- import { useTrilogyContext } from '../../context/index';
5
+ import * as React from 'react';
7
6
  /**
8
7
  * Popover Component
9
8
  * @param children {ReactNode} Popover children
@@ -17,11 +16,10 @@ import { useTrilogyContext } from '../../context/index';
17
16
  */
18
17
  var Popover = function (_a) {
19
18
  var className = _a.className, id = _a.id, direction = _a.direction, children = _a.children, active = _a.active, arrowPosition = _a.arrowPosition, trigger = _a.trigger, others = __rest(_a, ["className", "id", "direction", "children", "active", "arrowPosition", "trigger"]);
20
- var styled = useTrilogyContext().styled;
21
- var classes = hashClass(styled, clsx('popover', direction && is("popover-".concat(direction)), active && is('popover-active'), arrowPosition && is("arrow-".concat(arrowPosition)), className));
19
+ var classes = hashClass(clsx('popover', direction && is("popover-".concat(direction)), active && is('popover-active'), arrowPosition && is("arrow-".concat(arrowPosition)), className));
22
20
  return (React.createElement("div", __assign({ id: id, className: classes }, others),
23
- React.createElement("div", { className: hashClass(styled, 'popover-content') }, children),
21
+ React.createElement("div", { className: hashClass('popover-content') }, children),
24
22
  trigger && trigger));
25
23
  };
26
24
  export default Popover;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9wb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2NvbXBvbmVudHMvcG9wb3Zlci9Qb3BvdmVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUE7QUFDOUIsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRXhDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUN4RCxPQUFPLElBQUksTUFBTSxNQUFNLENBQUE7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFbkQ7Ozs7Ozs7Ozs7R0FVRztBQUNILElBQU0sT0FBTyxHQUFHLFVBQUMsRUFTa0I7SUFSaEIsSUFBQSxTQUFTLGVBQUEsRUFDVCxFQUFFLFFBQUEsRUFDRixTQUFTLGVBQUEsRUFDVCxRQUFRLGNBQUEsRUFDUixNQUFNLFlBQUEsRUFDTixhQUFhLG1CQUFBLEVBQ2IsT0FBTyxhQUFBLEVBQ0osTUFBTSxjQVJYLGtGQVNDLENBRFU7SUFFbEIsSUFBQSxNQUFNLEdBQUssaUJBQWlCLEVBQUUsT0FBeEIsQ0FBd0I7SUFFdEMsSUFBTSxPQUFPLEdBQUcsU0FBUyxDQUN2QixNQUFNLEVBQ04sSUFBSSxDQUNGLFNBQVMsRUFDVCxTQUFTLElBQUksRUFBRSxDQUFDLGtCQUFXLFNBQVMsQ0FBRSxDQUFDLEVBQ3ZDLE1BQU0sSUFBSSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFDOUIsYUFBYSxJQUFJLEVBQUUsQ0FBQyxnQkFBUyxhQUFhLENBQUUsQ0FBQyxFQUM3QyxTQUFTLENBQ1YsQ0FDRixDQUFBO0lBRUQsT0FBTyxDQUNMLHNDQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE9BQU8sSUFBTSxNQUFNO1FBQ3pDLDZCQUFLLFNBQVMsRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDLElBQUcsUUFBUSxDQUFPO1FBQ3JFLE9BQU8sSUFBSSxPQUFPLENBQ2YsQ0FDUCxDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsZUFBZSxPQUFPLENBQUEifQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9wb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2NvbXBvbmVudHMvcG9wb3Zlci9Qb3BvdmVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ3hELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN4QyxPQUFPLElBQUksTUFBTSxNQUFNLENBQUE7QUFDdkIsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUE7QUFHOUI7Ozs7Ozs7Ozs7R0FVRztBQUNILElBQU0sT0FBTyxHQUFHLFVBQUMsRUFTQztJQVJoQixJQUFBLFNBQVMsZUFBQSxFQUNULEVBQUUsUUFBQSxFQUNGLFNBQVMsZUFBQSxFQUNULFFBQVEsY0FBQSxFQUNSLE1BQU0sWUFBQSxFQUNOLGFBQWEsbUJBQUEsRUFDYixPQUFPLGFBQUEsRUFDSixNQUFNLGNBUk0sa0ZBU2hCLENBRFU7SUFFVCxJQUFNLE9BQU8sR0FBRyxTQUFTLENBQ3ZCLElBQUksQ0FDRixTQUFTLEVBQ1QsU0FBUyxJQUFJLEVBQUUsQ0FBQyxrQkFBVyxTQUFTLENBQUUsQ0FBQyxFQUN2QyxNQUFNLElBQUksRUFBRSxDQUFDLGdCQUFnQixDQUFDLEVBQzlCLGFBQWEsSUFBSSxFQUFFLENBQUMsZ0JBQVMsYUFBYSxDQUFFLENBQUMsRUFDN0MsU0FBUyxDQUNWLENBQ0YsQ0FBQTtJQUVELE9BQU8sQ0FDTCxzQ0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxPQUFPLElBQU0sTUFBTTtRQUN6Qyw2QkFBSyxTQUFTLEVBQUUsU0FBUyxDQUFDLGlCQUFpQixDQUFDLElBQUcsUUFBUSxDQUFPO1FBQzdELE9BQU8sSUFBSSxPQUFPLENBQ2YsQ0FDUCxDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsZUFBZSxPQUFPLENBQUEifQ==