@bodynarf/react.components 1.12.6 → 1.13.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 (374) hide show
  1. package/changelog.md +54 -0
  2. package/components/accordion/component/index.d.ts +6 -6
  3. package/components/accordion/component/index.d.ts.map +1 -1
  4. package/components/accordion/component/index.js +33 -35
  5. package/components/accordion/index.d.ts +2 -2
  6. package/components/accordion/index.js +2 -2
  7. package/components/accordion/types.d.ts +16 -17
  8. package/components/accordion/types.d.ts.map +1 -1
  9. package/components/accordion/types.js +1 -1
  10. package/components/anchor/component/index.d.ts +7 -5
  11. package/components/anchor/component/index.d.ts.map +1 -1
  12. package/components/anchor/component/index.js +23 -20
  13. package/components/anchor/components/anchorWithIcon/index.d.ts +10 -10
  14. package/components/anchor/components/anchorWithIcon/index.d.ts.map +1 -1
  15. package/components/anchor/components/anchorWithIcon/index.js +24 -24
  16. package/components/anchor/components/simpleAnchor/index.d.ts +4 -5
  17. package/components/anchor/components/simpleAnchor/index.d.ts.map +1 -1
  18. package/components/anchor/components/simpleAnchor/index.js +11 -11
  19. package/components/anchor/index.d.ts +2 -2
  20. package/components/anchor/index.js +2 -2
  21. package/components/anchor/types.d.ts +19 -16
  22. package/components/anchor/types.d.ts.map +1 -1
  23. package/components/anchor/types.js +1 -1
  24. package/components/breadcrumbs/component/index.d.ts +8 -8
  25. package/components/breadcrumbs/component/index.d.ts.map +1 -1
  26. package/components/breadcrumbs/component/index.js +38 -37
  27. package/components/breadcrumbs/index.d.ts +2 -2
  28. package/components/breadcrumbs/index.js +2 -2
  29. package/components/breadcrumbs/types.d.ts +54 -46
  30. package/components/breadcrumbs/types.d.ts.map +1 -1
  31. package/components/breadcrumbs/types.js +1 -1
  32. package/components/button/component/index.d.ts +9 -8
  33. package/components/button/component/index.d.ts.map +1 -1
  34. package/components/button/component/index.js +35 -33
  35. package/components/button/components/buttonWithIcon/index.d.ts +5 -4
  36. package/components/button/components/buttonWithIcon/index.d.ts.map +1 -1
  37. package/components/button/components/buttonWithIcon/index.js +27 -27
  38. package/components/button/components/simpleButton/index.d.ts +5 -5
  39. package/components/button/components/simpleButton/index.d.ts.map +1 -1
  40. package/components/button/components/simpleButton/index.js +11 -11
  41. package/components/button/index.d.ts +2 -2
  42. package/components/button/index.js +2 -2
  43. package/components/button/types.d.ts +71 -37
  44. package/components/button/types.d.ts.map +1 -1
  45. package/components/button/types.js +30 -1
  46. package/components/dropdown/component/index.d.ts +6 -6
  47. package/components/dropdown/component/index.d.ts.map +1 -1
  48. package/components/dropdown/component/index.js +12 -12
  49. package/components/dropdown/components/compact/index.d.ts +10 -10
  50. package/components/dropdown/components/compact/index.d.ts.map +1 -1
  51. package/components/dropdown/components/compact/index.js +80 -80
  52. package/components/dropdown/components/item/index.d.ts +14 -14
  53. package/components/dropdown/components/item/index.d.ts.map +1 -1
  54. package/components/dropdown/components/item/index.js +39 -38
  55. package/components/dropdown/components/label/component/index.d.ts +26 -26
  56. package/components/dropdown/components/label/component/index.d.ts.map +1 -1
  57. package/components/dropdown/components/label/component/index.js +16 -16
  58. package/components/dropdown/components/label/components/empty/index.d.ts +7 -7
  59. package/components/dropdown/components/label/components/empty/index.d.ts.map +1 -1
  60. package/components/dropdown/components/label/components/empty/index.js +16 -16
  61. package/components/dropdown/components/label/components/selected/index.d.ts +7 -7
  62. package/components/dropdown/components/label/components/selected/index.d.ts.map +1 -1
  63. package/components/dropdown/components/label/components/selected/index.js +20 -20
  64. package/components/dropdown/components/label/components/selectedWithIcon/index.d.ts +7 -7
  65. package/components/dropdown/components/label/components/selectedWithIcon/index.d.ts.map +1 -1
  66. package/components/dropdown/components/label/components/selectedWithIcon/index.js +28 -28
  67. package/components/dropdown/components/label/components/withSearch/index.d.ts +15 -15
  68. package/components/dropdown/components/label/components/withSearch/index.d.ts.map +1 -1
  69. package/components/dropdown/components/label/components/withSearch/index.js +33 -33
  70. package/components/dropdown/components/label/index.d.ts +1 -1
  71. package/components/dropdown/components/label/index.js +1 -1
  72. package/components/dropdown/components/withLabel/index.d.ts +5 -5
  73. package/components/dropdown/components/withLabel/index.js +11 -11
  74. package/components/dropdown/index.d.ts +2 -2
  75. package/components/dropdown/index.js +2 -2
  76. package/components/dropdown/types.d.ts +65 -64
  77. package/components/dropdown/types.d.ts.map +1 -1
  78. package/components/dropdown/types.js +1 -1
  79. package/components/file/component/index.d.ts +6 -6
  80. package/components/file/component/index.d.ts.map +1 -1
  81. package/components/file/component/index.js +51 -50
  82. package/components/file/component/styles.scss +13 -0
  83. package/components/file/index.d.ts +2 -2
  84. package/components/file/index.js +2 -2
  85. package/components/file/types.d.ts +31 -31
  86. package/components/file/types.d.ts.map +1 -1
  87. package/components/file/types.js +1 -1
  88. package/components/icon/component/index.d.ts +8 -8
  89. package/components/icon/component/index.d.ts.map +1 -1
  90. package/components/icon/component/index.js +23 -28
  91. package/components/icon/component/style.scss +3 -3
  92. package/components/icon/index.d.ts +2 -2
  93. package/components/icon/index.js +2 -2
  94. package/components/icon/types.d.ts +13 -15
  95. package/components/icon/types.d.ts.map +1 -1
  96. package/components/icon/types.js +1 -1
  97. package/components/index.d.ts +10 -10
  98. package/components/index.js +10 -10
  99. package/components/multiselect/component/index.d.ts +7 -7
  100. package/components/multiselect/component/index.js +13 -13
  101. package/components/multiselect/components/item/index.d.ts +24 -24
  102. package/components/multiselect/components/item/index.d.ts.map +1 -1
  103. package/components/multiselect/components/item/index.js +63 -62
  104. package/components/multiselect/components/label/component/index.d.ts +19 -19
  105. package/components/multiselect/components/label/component/index.d.ts.map +1 -1
  106. package/components/multiselect/components/label/component/index.js +12 -12
  107. package/components/multiselect/components/label/components/empty/index.d.ts +7 -7
  108. package/components/multiselect/components/label/components/empty/index.d.ts.map +1 -1
  109. package/components/multiselect/components/label/components/empty/index.js +16 -16
  110. package/components/multiselect/components/label/components/nonEmpty/index.d.ts +7 -7
  111. package/components/multiselect/components/label/components/nonEmpty/index.d.ts.map +1 -1
  112. package/components/multiselect/components/label/components/nonEmpty/index.js +16 -16
  113. package/components/multiselect/components/label/index.d.ts +1 -1
  114. package/components/multiselect/components/label/index.js +1 -1
  115. package/components/multiselect/components/withLabel/index.d.ts +5 -5
  116. package/components/multiselect/components/withLabel/index.js +11 -11
  117. package/components/multiselect/components/withoutLabel/index.d.ts +9 -9
  118. package/components/multiselect/components/withoutLabel/index.d.ts.map +1 -1
  119. package/components/multiselect/components/withoutLabel/index.js +85 -84
  120. package/components/multiselect/index.d.ts +2 -2
  121. package/components/multiselect/index.js +2 -2
  122. package/components/multiselect/types.d.ts +32 -40
  123. package/components/multiselect/types.d.ts.map +1 -1
  124. package/components/multiselect/types.js +1 -1
  125. package/components/paginator/component/index.d.ts +8 -8
  126. package/components/paginator/component/index.d.ts.map +1 -1
  127. package/components/paginator/component/index.js +65 -70
  128. package/components/paginator/index.d.ts +2 -2
  129. package/components/paginator/index.js +2 -2
  130. package/components/paginator/types.d.ts +54 -54
  131. package/components/paginator/types.d.ts.map +1 -1
  132. package/components/paginator/types.js +1 -1
  133. package/components/primitives/checkbox/component/index.d.ts +5 -6
  134. package/components/primitives/checkbox/component/index.d.ts.map +1 -1
  135. package/components/primitives/checkbox/component/index.js +43 -41
  136. package/components/primitives/checkbox/index.d.ts +2 -2
  137. package/components/primitives/checkbox/index.js +2 -2
  138. package/components/primitives/checkbox/types.d.ts +26 -24
  139. package/components/primitives/checkbox/types.d.ts.map +1 -1
  140. package/components/primitives/checkbox/types.js +1 -1
  141. package/components/primitives/color/component/index.d.ts +5 -6
  142. package/components/primitives/color/component/index.d.ts.map +1 -1
  143. package/components/primitives/color/component/index.js +10 -10
  144. package/components/primitives/color/components/picker/index.d.ts +19 -19
  145. package/components/primitives/color/components/picker/index.d.ts.map +1 -1
  146. package/components/primitives/color/components/picker/index.js +43 -42
  147. package/components/primitives/color/components/withLabel/index.d.ts +5 -5
  148. package/components/primitives/color/components/withLabel/index.d.ts.map +1 -1
  149. package/components/primitives/color/components/withLabel/index.js +25 -25
  150. package/components/primitives/color/components/withoutLabel/index.d.ts +5 -5
  151. package/components/primitives/color/components/withoutLabel/index.d.ts.map +1 -1
  152. package/components/primitives/color/components/withoutLabel/index.js +21 -21
  153. package/components/primitives/color/index.d.ts +2 -2
  154. package/components/primitives/color/index.js +2 -2
  155. package/components/primitives/color/types.d.ts +23 -23
  156. package/components/primitives/color/types.d.ts.map +1 -1
  157. package/components/primitives/color/types.js +1 -1
  158. package/components/primitives/date/component/index.d.ts +5 -6
  159. package/components/primitives/date/component/index.d.ts.map +1 -1
  160. package/components/primitives/date/component/index.js +31 -31
  161. package/components/primitives/date/index.d.ts +2 -2
  162. package/components/primitives/date/index.js +2 -2
  163. package/components/primitives/date/types.d.ts +3 -8
  164. package/components/primitives/date/types.d.ts.map +1 -1
  165. package/components/primitives/date/types.js +1 -1
  166. package/components/primitives/index.d.ts +7 -7
  167. package/components/primitives/index.js +7 -7
  168. package/components/primitives/internal/componentWithLabel/index.d.ts +16 -16
  169. package/components/primitives/internal/componentWithLabel/index.d.ts.map +1 -1
  170. package/components/primitives/internal/componentWithLabel/index.js +30 -30
  171. package/components/primitives/internal/hint/index.d.ts +8 -8
  172. package/components/primitives/internal/hint/index.d.ts.map +1 -1
  173. package/components/primitives/internal/hint/index.js +49 -48
  174. package/components/primitives/multiline/component/index.d.ts +4 -5
  175. package/components/primitives/multiline/component/index.d.ts.map +1 -1
  176. package/components/primitives/multiline/component/index.js +11 -11
  177. package/components/primitives/multiline/components/withLabel/index.d.ts +4 -5
  178. package/components/primitives/multiline/components/withLabel/index.d.ts.map +1 -1
  179. package/components/primitives/multiline/components/withLabel/index.js +27 -27
  180. package/components/primitives/multiline/components/withoutLabel/index.d.ts +4 -5
  181. package/components/primitives/multiline/components/withoutLabel/index.d.ts.map +1 -1
  182. package/components/primitives/multiline/components/withoutLabel/index.js +27 -27
  183. package/components/primitives/multiline/index.d.ts +2 -2
  184. package/components/primitives/multiline/index.js +2 -2
  185. package/components/primitives/multiline/types.d.ts +8 -10
  186. package/components/primitives/multiline/types.d.ts.map +1 -1
  187. package/components/primitives/multiline/types.js +1 -1
  188. package/components/primitives/number/component/index.d.ts +4 -5
  189. package/components/primitives/number/component/index.d.ts.map +1 -1
  190. package/components/primitives/number/component/index.js +11 -11
  191. package/components/primitives/number/components/withLabel/index.d.ts +4 -5
  192. package/components/primitives/number/components/withLabel/index.d.ts.map +1 -1
  193. package/components/primitives/number/components/withLabel/index.js +27 -27
  194. package/components/primitives/number/components/withoutLabel/index.d.ts +4 -5
  195. package/components/primitives/number/components/withoutLabel/index.d.ts.map +1 -1
  196. package/components/primitives/number/components/withoutLabel/index.js +27 -27
  197. package/components/primitives/number/index.d.ts +2 -2
  198. package/components/primitives/number/index.js +2 -2
  199. package/components/primitives/number/types.d.ts +10 -12
  200. package/components/primitives/number/types.d.ts.map +1 -1
  201. package/components/primitives/number/types.js +1 -1
  202. package/components/primitives/password/component/index.d.ts +5 -5
  203. package/components/primitives/password/component/index.d.ts.map +1 -1
  204. package/components/primitives/password/component/index.js +12 -12
  205. package/components/primitives/password/components/withLabel/index.d.ts +3 -3
  206. package/components/primitives/password/components/withLabel/index.d.ts.map +1 -1
  207. package/components/primitives/password/components/withLabel/index.js +34 -34
  208. package/components/primitives/password/components/withoutLabel/index.d.ts +3 -3
  209. package/components/primitives/password/components/withoutLabel/index.d.ts.map +1 -1
  210. package/components/primitives/password/components/withoutLabel/index.js +34 -34
  211. package/components/primitives/password/index.d.ts +2 -2
  212. package/components/primitives/password/index.js +2 -2
  213. package/components/primitives/password/types.d.ts +14 -14
  214. package/components/primitives/password/types.d.ts.map +1 -1
  215. package/components/primitives/password/types.js +1 -1
  216. package/components/primitives/text/component/index.d.ts +4 -5
  217. package/components/primitives/text/component/index.d.ts.map +1 -1
  218. package/components/primitives/text/component/index.js +11 -11
  219. package/components/primitives/text/components/withLabel/index.d.ts +4 -5
  220. package/components/primitives/text/components/withLabel/index.d.ts.map +1 -1
  221. package/components/primitives/text/components/withLabel/index.js +27 -27
  222. package/components/primitives/text/components/withoutLabel/index.d.ts +4 -5
  223. package/components/primitives/text/components/withoutLabel/index.d.ts.map +1 -1
  224. package/components/primitives/text/components/withoutLabel/index.js +27 -27
  225. package/components/primitives/text/index.d.ts +2 -2
  226. package/components/primitives/text/index.js +2 -2
  227. package/components/primitives/text/types.d.ts +3 -6
  228. package/components/primitives/text/types.d.ts.map +1 -1
  229. package/components/primitives/text/types.js +1 -1
  230. package/components/search/component/index.d.ts +6 -5
  231. package/components/search/component/index.d.ts.map +1 -1
  232. package/components/search/component/index.js +41 -40
  233. package/components/search/index.d.ts +2 -2
  234. package/components/search/index.js +2 -2
  235. package/components/search/types.d.ts +41 -41
  236. package/components/search/types.d.ts.map +1 -1
  237. package/components/search/types.js +1 -1
  238. package/components/table/component/index.d.ts +8 -9
  239. package/components/table/component/index.d.ts.map +1 -1
  240. package/components/table/component/index.js +28 -29
  241. package/components/table/components/heading/index.d.ts +14 -12
  242. package/components/table/components/heading/index.d.ts.map +1 -1
  243. package/components/table/components/heading/index.js +21 -21
  244. package/components/table/index.d.ts +2 -2
  245. package/components/table/index.js +2 -2
  246. package/components/table/types.d.ts +52 -52
  247. package/components/table/types.d.ts.map +1 -1
  248. package/components/table/types.js +1 -1
  249. package/components/tabs/component/index.d.ts +9 -9
  250. package/components/tabs/component/index.d.ts.map +1 -1
  251. package/components/tabs/component/index.js +68 -74
  252. package/components/tabs/components/item/index.d.ts +11 -12
  253. package/components/tabs/components/item/index.d.ts.map +1 -1
  254. package/components/tabs/components/item/index.js +28 -28
  255. package/components/tabs/index.d.ts +2 -2
  256. package/components/tabs/index.js +2 -2
  257. package/components/tabs/types.d.ts +54 -54
  258. package/components/tabs/types.js +22 -22
  259. package/components/tag/component/index.d.ts +6 -6
  260. package/components/tag/component/index.d.ts.map +1 -1
  261. package/components/tag/component/index.js +32 -32
  262. package/components/tag/index.d.ts +2 -2
  263. package/components/tag/index.js +2 -2
  264. package/components/tag/types.d.ts +24 -26
  265. package/components/tag/types.d.ts.map +1 -1
  266. package/components/tag/types.js +1 -1
  267. package/hooks/index.d.ts +11 -5
  268. package/hooks/index.d.ts.map +1 -1
  269. package/hooks/index.js +11 -5
  270. package/hooks/useComponentOutsideClick.d.ts +11 -11
  271. package/hooks/useComponentOutsideClick.d.ts.map +1 -1
  272. package/hooks/useComponentOutsideClick.js +31 -31
  273. package/hooks/useDebounceHandler.d.ts +17 -17
  274. package/hooks/useDebounceHandler.d.ts.map +1 -1
  275. package/hooks/useDebounceHandler.js +30 -30
  276. package/hooks/useEventListener.d.ts +13 -0
  277. package/hooks/useEventListener.d.ts.map +1 -0
  278. package/hooks/useEventListener.js +23 -0
  279. package/hooks/useInterval.d.ts +12 -0
  280. package/hooks/useInterval.d.ts.map +1 -0
  281. package/hooks/useInterval.js +23 -0
  282. package/hooks/useLocalStorage.d.ts +13 -0
  283. package/hooks/useLocalStorage.d.ts.map +1 -0
  284. package/hooks/useLocalStorage.js +23 -0
  285. package/hooks/useMount.d.ts +11 -11
  286. package/hooks/useMount.d.ts.map +1 -1
  287. package/hooks/useMount.js +16 -16
  288. package/hooks/usePagination.d.ts +19 -19
  289. package/hooks/usePagination.d.ts.map +1 -1
  290. package/hooks/usePagination.js +37 -37
  291. package/hooks/usePrevious.d.ts +12 -0
  292. package/hooks/usePrevious.d.ts.map +1 -0
  293. package/hooks/usePrevious.js +18 -0
  294. package/hooks/useTimeout.d.ts +12 -0
  295. package/hooks/useTimeout.d.ts.map +1 -0
  296. package/hooks/useTimeout.js +23 -0
  297. package/hooks/useUnmount.d.ts +8 -8
  298. package/hooks/useUnmount.d.ts.map +1 -1
  299. package/hooks/useUnmount.js +22 -22
  300. package/hooks/useUpdateEffect.d.ts +16 -0
  301. package/hooks/useUpdateEffect.d.ts.map +1 -0
  302. package/hooks/useUpdateEffect.js +25 -0
  303. package/index.d.ts +4 -4
  304. package/index.js +4 -4
  305. package/package.json +12 -10
  306. package/tsconfig.tsbuildinfo +1 -1
  307. package/types/{baseElementProps.d.ts → base/baseElementProps.d.ts} +10 -10
  308. package/types/base/baseElementProps.d.ts.map +1 -0
  309. package/types/{baseElementProps.js → base/baseElementProps.js} +1 -1
  310. package/types/{baseInputElementProps.d.ts → base/baseInputElementProps.d.ts} +49 -41
  311. package/types/base/baseInputElementProps.d.ts.map +1 -0
  312. package/types/{baseInputElementProps.js → base/baseInputElementProps.js} +1 -1
  313. package/types/base/blurableElement.d.ts +9 -0
  314. package/types/base/blurableElement.d.ts.map +1 -0
  315. package/types/base/blurableElement.js +1 -0
  316. package/types/base/clickableElement.d.ts +7 -0
  317. package/types/base/clickableElement.d.ts.map +1 -0
  318. package/types/base/clickableElement.js +1 -0
  319. package/types/base/index.d.ts +5 -0
  320. package/types/base/index.d.ts.map +1 -0
  321. package/types/base/index.js +4 -0
  322. package/types/dataAttributes.d.ts +8 -8
  323. package/types/dataAttributes.d.ts.map +1 -1
  324. package/types/dataAttributes.js +1 -1
  325. package/types/elementIcon.d.ts +21 -21
  326. package/types/elementIcon.d.ts.map +1 -1
  327. package/types/elementIcon.js +1 -1
  328. package/types/{elementColor.d.ts → enums/elementColor.d.ts} +17 -17
  329. package/types/enums/elementColor.d.ts.map +1 -0
  330. package/types/{elementColor.js → enums/elementColor.js} +18 -18
  331. package/types/{elementPosition.d.ts → enums/elementPosition.d.ts} +11 -11
  332. package/types/enums/elementPosition.d.ts.map +1 -0
  333. package/types/{elementPosition.js → enums/elementPosition.js} +10 -10
  334. package/types/{elementSize.d.ts → enums/elementSize.d.ts} +11 -11
  335. package/types/enums/elementSize.d.ts.map +1 -0
  336. package/types/{elementSize.js → enums/elementSize.js} +12 -12
  337. package/types/enums/index.d.ts +4 -0
  338. package/types/enums/index.d.ts.map +1 -0
  339. package/types/enums/index.js +3 -0
  340. package/types/hintConfiguration.d.ts +12 -12
  341. package/types/hintConfiguration.d.ts.map +1 -1
  342. package/types/hintConfiguration.js +1 -1
  343. package/types/index.d.ts +7 -10
  344. package/types/index.d.ts.map +1 -1
  345. package/types/index.js +7 -10
  346. package/types/labelConfiguration.d.ts +14 -14
  347. package/types/labelConfiguration.d.ts.map +1 -1
  348. package/types/labelConfiguration.js +1 -1
  349. package/types/validation/index.d.ts +2 -2
  350. package/types/validation/index.js +2 -2
  351. package/types/validation/state.d.ts +8 -8
  352. package/types/validation/state.js +1 -1
  353. package/types/validation/status.d.ts +9 -9
  354. package/types/validation/status.js +10 -10
  355. package/utils/dataAttributes.d.ts +7 -7
  356. package/utils/dataAttributes.d.ts.map +1 -1
  357. package/utils/dataAttributes.js +22 -21
  358. package/utils/index.d.ts +3 -2
  359. package/utils/index.d.ts.map +1 -1
  360. package/utils/index.js +3 -2
  361. package/utils/styles.d.ts +14 -0
  362. package/utils/styles.d.ts.map +1 -0
  363. package/utils/styles.js +33 -0
  364. package/utils/validation.d.ts +10 -10
  365. package/utils/validation.d.ts.map +1 -1
  366. package/utils/validation.js +20 -20
  367. package/bodynarf-react.components-1.12.2.tgz +0 -0
  368. package/bodynarf-react.components-1.12.3.tgz +0 -0
  369. package/bodynarf-react.components-1.12.4.tgz +0 -0
  370. package/types/baseElementProps.d.ts.map +0 -1
  371. package/types/baseInputElementProps.d.ts.map +0 -1
  372. package/types/elementColor.d.ts.map +0 -1
  373. package/types/elementPosition.d.ts.map +0 -1
  374. package/types/elementSize.d.ts.map +0 -1
@@ -1,3 +1,3 @@
1
- export { default } from "./component";
2
- export * from "./types";
1
+ export { default } from "./component";
2
+ export * from "./types";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1,2 @@
1
- export { default } from "./component";
2
- export * from "./types";
1
+ export { default } from "./component";
2
+ export * from "./types";
@@ -1,27 +1,25 @@
1
- import { BaseElementProps, ElementColor, ElementSize } from "../../types";
2
- /** Tag item prop types */
3
- export interface TagProps extends BaseElementProps {
4
- /** Tag content */
5
- content: string;
6
- /** Click handler */
7
- onClick?: () => void;
8
- /**
9
- * Element size.
10
- * `Small` isn"t allowed
11
- */
12
- size?: Exclude<ElementSize, ElementSize.Small>;
13
- /** Element color */
14
- style?: ElementColor;
15
- /** Is element with rounded border */
16
- rounded?: boolean;
17
- /** Is element has light color */
18
- lightColor?: boolean;
19
- /** Manual color scheme */
20
- customColor?: {
21
- /** Text color */
22
- color: string;
23
- /** Background color */
24
- backgroundColor: string;
25
- };
26
- }
1
+ import { BaseElementProps, ClickableElement, ElementColor, ElementSize } from "../../types";
2
+ /** Tag item prop types */
3
+ export type TagProps = BaseElementProps & ClickableElement & {
4
+ /** Tag content */
5
+ content: string;
6
+ /**
7
+ * Element size.
8
+ * `Small` isn"t allowed
9
+ */
10
+ size?: Exclude<ElementSize, ElementSize.Small>;
11
+ /** Element color */
12
+ style?: ElementColor;
13
+ /** Is element with rounded border */
14
+ rounded?: boolean;
15
+ /** Is element has light color */
16
+ lightColor?: boolean;
17
+ /** Manual color scheme */
18
+ customColor?: {
19
+ /** Text color */
20
+ color: string;
21
+ /** Background color */
22
+ backgroundColor: string;
23
+ };
24
+ };
27
25
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/tag/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzE,0BAA0B;AAC1B,MAAM,WAAW,QAAS,SAAQ,gBAAgB;IAC9C,kBAAkB;IAClB,OAAO,EAAE,MAAM,CAAC;IAEhB,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB;;;MAGE;IACF,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IAE/C,oBAAoB;IACpB,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,iCAAiC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,0BAA0B;IAC1B,WAAW,CAAC,EAAE;QACV,iBAAiB;QACjB,KAAK,EAAE,MAAM,CAAC;QAEd,uBAAuB;QACvB,eAAe,EAAE,MAAM,CAAC;KAC3B,CAAC;CACL"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/tag/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE3F,0BAA0B;AAC1B,MAAM,MAAM,QAAQ,GACd,gBAAgB,GAChB,gBAAgB,GAChB;IACE,kBAAkB;IAClB,OAAO,EAAE,MAAM,CAAC;IAEhB;;;MAGE;IACF,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IAE/C,oBAAoB;IACpB,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,iCAAiC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,0BAA0B;IAC1B,WAAW,CAAC,EAAE;QACV,iBAAiB;QACjB,KAAK,EAAE,MAAM,CAAC;QAEd,uBAAuB;QACvB,eAAe,EAAE,MAAM,CAAC;KAC3B,CAAC;CACL,CAAC"}
@@ -1 +1 @@
1
- export {};
1
+ export {};
package/hooks/index.d.ts CHANGED
@@ -1,6 +1,12 @@
1
- export * from "./useComponentOutsideClick";
2
- export * from "./usePagination";
3
- export * from "./useUnmount";
4
- export * from "./useDebounceHandler";
5
- export * from "./useMount";
1
+ export * from "./useComponentOutsideClick";
2
+ export * from "./usePagination";
3
+ export * from "./useUnmount";
4
+ export * from "./useDebounceHandler";
5
+ export * from "./useMount";
6
+ export * from "./useUpdateEffect";
7
+ export * from "./usePrevious";
8
+ export * from "./useTimeout";
9
+ export * from "./useInterval";
10
+ export * from "./useEventListener";
11
+ export * from "./useLocalStorage";
6
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
package/hooks/index.js CHANGED
@@ -1,5 +1,11 @@
1
- export * from "./useComponentOutsideClick";
2
- export * from "./usePagination";
3
- export * from "./useUnmount";
4
- export * from "./useDebounceHandler";
5
- export * from "./useMount";
1
+ export * from "./useComponentOutsideClick";
2
+ export * from "./usePagination";
3
+ export * from "./useUnmount";
4
+ export * from "./useDebounceHandler";
5
+ export * from "./useMount";
6
+ export * from "./useUpdateEffect";
7
+ export * from "./usePrevious";
8
+ export * from "./useTimeout";
9
+ export * from "./useInterval";
10
+ export * from "./useEventListener";
11
+ export * from "./useLocalStorage";
@@ -1,12 +1,12 @@
1
- import { DependencyList } from "react";
2
- import { ActionFn } from "@bodynarf/utils";
3
- /**
4
- * Subscribe to component outside click
5
- * @param selector Component root selector
6
- * @param clickHandleCondition Condition to handle document click
7
- * @param clickHandleChange Handler of outside component click
8
- * @param clickListenCondition Condition to start listening document clicks
9
- * @param dependencies Additional dependencies to update hook
10
- */
11
- export declare const useComponentOutsideClick: (selector: string, clickHandleCondition: boolean, clickHandleChange: ActionFn, clickListenCondition?: boolean, dependencies?: DependencyList) => void;
1
+ import { DependencyList } from "react";
2
+ import { ActionFn } from "@bodynarf/utils";
3
+ /**
4
+ * Subscribe to component outside click
5
+ * @param selector Component root selector
6
+ * @param clickHandleCondition Condition to handle document click
7
+ * @param clickHandleChange Handler of outside component click
8
+ * @param clickListenCondition Condition to start listening document clicks
9
+ * @param dependencies Additional dependencies to update hook
10
+ */
11
+ export declare const useComponentOutsideClick: (selector: string, clickHandleCondition: boolean, clickHandleChange: ActionFn, clickListenCondition?: boolean, dependencies?: DependencyList) => void;
12
12
  //# sourceMappingURL=useComponentOutsideClick.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useComponentOutsideClick.d.ts","sourceRoot":"","sources":["../../src/hooks/useComponentOutsideClick.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA0B,MAAM,OAAO,CAAC;AAE/D,OAAO,EAA6B,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEtE;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,aACvB,MAAM,wBACM,OAAO,qBACV,QAAQ,oEAG5B,IA4BF,CAAC"}
1
+ {"version":3,"file":"useComponentOutsideClick.d.ts","sourceRoot":"","sources":["../../src/hooks/useComponentOutsideClick.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA0B,MAAM,OAAO,CAAC;AAE/D,OAAO,EAA6B,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEtE;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,GACjC,UAAU,MAAM,EAChB,sBAAsB,OAAO,EAC7B,mBAAmB,QAAQ,EAC3B,8BAA4B,EAC5B,eAAc,cAAmB,KAClC,IA4BF,CAAC"}
@@ -1,31 +1,31 @@
1
- import { useCallback, useEffect } from "react";
2
- import { isNullOrUndefined, isNull } from "@bodynarf/utils";
3
- /**
4
- * Subscribe to component outside click
5
- * @param selector Component root selector
6
- * @param clickHandleCondition Condition to handle document click
7
- * @param clickHandleChange Handler of outside component click
8
- * @param clickListenCondition Condition to start listening document clicks
9
- * @param dependencies Additional dependencies to update hook
10
- */
11
- export const useComponentOutsideClick = (selector, clickHandleCondition, clickHandleChange, clickListenCondition = false, dependencies = []) => {
12
- const onDocumentClick = useCallback((event) => {
13
- if (clickHandleCondition) {
14
- const target = event.target;
15
- if (isNullOrUndefined(target)) {
16
- return;
17
- }
18
- const relatedComponent = target.closest(selector);
19
- if (isNull(relatedComponent)) {
20
- clickHandleChange();
21
- }
22
- }
23
- }, [clickHandleCondition, selector, clickHandleChange, dependencies]);
24
- useEffect(() => {
25
- if (clickListenCondition) {
26
- document.addEventListener("click", onDocumentClick);
27
- return () => document.removeEventListener("click", onDocumentClick);
28
- }
29
- return () => { };
30
- }, [clickListenCondition, onDocumentClick]);
31
- };
1
+ import { useCallback, useEffect } from "react";
2
+ import { isNullOrUndefined, isNull } from "@bodynarf/utils";
3
+ /**
4
+ * Subscribe to component outside click
5
+ * @param selector Component root selector
6
+ * @param clickHandleCondition Condition to handle document click
7
+ * @param clickHandleChange Handler of outside component click
8
+ * @param clickListenCondition Condition to start listening document clicks
9
+ * @param dependencies Additional dependencies to update hook
10
+ */
11
+ export const useComponentOutsideClick = (selector, clickHandleCondition, clickHandleChange, clickListenCondition = false, dependencies = []) => {
12
+ const onDocumentClick = useCallback((event) => {
13
+ if (clickHandleCondition) {
14
+ const target = event.target;
15
+ if (isNullOrUndefined(target)) {
16
+ return;
17
+ }
18
+ const relatedComponent = target.closest(selector);
19
+ if (isNull(relatedComponent)) {
20
+ clickHandleChange();
21
+ }
22
+ }
23
+ }, [clickHandleCondition, selector, clickHandleChange, dependencies]);
24
+ useEffect(() => {
25
+ if (clickListenCondition) {
26
+ document.addEventListener("click", onDocumentClick);
27
+ return () => document.removeEventListener("click", onDocumentClick);
28
+ }
29
+ return () => { };
30
+ }, [clickListenCondition, onDocumentClick]);
31
+ };
@@ -1,18 +1,18 @@
1
- import { ActionFn } from "@bodynarf/utils";
2
- /**
3
- * Get debounced handler
4
- * @param handler Action to handle
5
- * @param debounceTime Amount of seconds to stay inactive
6
- * @returns Pair: current state, is in debounce state; handler with debounce
7
- * @example
8
- * ```
9
- * const [debounce, onReloadClick] = useDebounceHandler(reloadData, 3);
10
- *
11
- * <Button
12
- * disabled={!debounce}
13
- * onClick={onReloadClick}
14
- * />
15
- * ```
16
- */
17
- export declare const useDebounceHandler: (handler: () => Promise<void>, debounceTime: number) => [boolean, ActionFn];
1
+ import { ActionFn } from "@bodynarf/utils";
2
+ /**
3
+ * Get debounced handler
4
+ * @param handler Action to handle
5
+ * @param debounceTime Amount of seconds to stay inactive
6
+ * @returns Pair: current state, is in debounce state; handler with debounce
7
+ * @example
8
+ * ```
9
+ * const [debounce, onReloadClick] = useDebounceHandler(reloadData, 3);
10
+ *
11
+ * <Button
12
+ * disabled={!debounce}
13
+ * onClick={onReloadClick}
14
+ * />
15
+ * ```
16
+ */
17
+ export declare const useDebounceHandler: (handler: () => Promise<void>, debounceTime: number) => [boolean, ActionFn];
18
18
  //# sourceMappingURL=useDebounceHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDebounceHandler.d.ts","sourceRoot":"","sources":["../../src/hooks/useDebounceHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAa,MAAM,iBAAiB,CAAC;AAEtD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kBAAkB,YAClB,MAAM,QAAQ,IAAI,CAAC,gBACd,MAAM,KACrB,CAAC,OAAO,EAAE,QAAQ,CAgBpB,CAAC"}
1
+ {"version":3,"file":"useDebounceHandler.d.ts","sourceRoot":"","sources":["../../src/hooks/useDebounceHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAa,MAAM,iBAAiB,CAAC;AAEtD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kBAAkB,GAC3B,SAAS,MAAM,OAAO,CAAC,IAAI,CAAC,EAC5B,cAAc,MAAM,KACrB,CAAC,OAAO,EAAE,QAAQ,CAgBpB,CAAC"}
@@ -1,30 +1,30 @@
1
- import { useCallback, useState } from "react";
2
- import { isNullish } from "@bodynarf/utils";
3
- /**
4
- * Get debounced handler
5
- * @param handler Action to handle
6
- * @param debounceTime Amount of seconds to stay inactive
7
- * @returns Pair: current state, is in debounce state; handler with debounce
8
- * @example
9
- * ```
10
- * const [debounce, onReloadClick] = useDebounceHandler(reloadData, 3);
11
- *
12
- * <Button
13
- * disabled={!debounce}
14
- * onClick={onReloadClick}
15
- * />
16
- * ```
17
- */
18
- export const useDebounceHandler = (handler, debounceTime) => {
19
- const [debounceTimer, setDebounceTimer] = useState();
20
- const debounceHandler = useCallback(() => {
21
- handler()
22
- .then(() => {
23
- setDebounceTimer(setTimeout(() => {
24
- clearTimeout(debounceTimer);
25
- setDebounceTimer(undefined);
26
- }, debounceTime * 1000));
27
- });
28
- }, [handler, debounceTime, debounceTimer]);
29
- return [isNullish(debounceTimer), debounceHandler];
30
- };
1
+ import { useCallback, useState } from "react";
2
+ import { isNullish } from "@bodynarf/utils";
3
+ /**
4
+ * Get debounced handler
5
+ * @param handler Action to handle
6
+ * @param debounceTime Amount of seconds to stay inactive
7
+ * @returns Pair: current state, is in debounce state; handler with debounce
8
+ * @example
9
+ * ```
10
+ * const [debounce, onReloadClick] = useDebounceHandler(reloadData, 3);
11
+ *
12
+ * <Button
13
+ * disabled={!debounce}
14
+ * onClick={onReloadClick}
15
+ * />
16
+ * ```
17
+ */
18
+ export const useDebounceHandler = (handler, debounceTime) => {
19
+ const [debounceTimer, setDebounceTimer] = useState();
20
+ const debounceHandler = useCallback(() => {
21
+ handler()
22
+ .then(() => {
23
+ setDebounceTimer(setTimeout(() => {
24
+ clearTimeout(debounceTimer);
25
+ setDebounceTimer(undefined);
26
+ }, debounceTime * 1000));
27
+ });
28
+ }, [handler, debounceTime, debounceTimer]);
29
+ return [isNullish(debounceTimer), debounceHandler];
30
+ };
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Attaches an event listener to a given element (default: window).
3
+ *
4
+ * @template K - Event type
5
+ * @param event - Event name (e.g. "click", "keydown")
6
+ * @param handler - Callback to handle the event
7
+ * @param element - Target element (default: window)
8
+ *
9
+ * @example
10
+ * useEventListener("resize", () => console.log("Resized"));
11
+ */
12
+ export declare const useEventListener: <K extends keyof WindowEventMap>(event: K, handler: (e: WindowEventMap[K]) => void, element?: Window | Document | HTMLElement) => void;
13
+ //# sourceMappingURL=useEventListener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEventListener.d.ts","sourceRoot":"","sources":["../../src/hooks/useEventListener.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,MAAM,cAAc,EAC3D,OAAO,CAAC,EACR,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,EACvC,UAAS,MAAM,GAAG,QAAQ,GAAG,WAAoB,SAapD,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { useEffect, useRef } from "react";
2
+ /**
3
+ * Attaches an event listener to a given element (default: window).
4
+ *
5
+ * @template K - Event type
6
+ * @param event - Event name (e.g. "click", "keydown")
7
+ * @param handler - Callback to handle the event
8
+ * @param element - Target element (default: window)
9
+ *
10
+ * @example
11
+ * useEventListener("resize", () => console.log("Resized"));
12
+ */
13
+ export const useEventListener = (event, handler, element = window) => {
14
+ const savedHandler = useRef(handler);
15
+ useEffect(() => {
16
+ savedHandler.current = handler;
17
+ }, [handler]);
18
+ useEffect(() => {
19
+ const eventListener = (e) => savedHandler.current(e);
20
+ element.addEventListener(event, eventListener);
21
+ return () => element.removeEventListener(event, eventListener);
22
+ }, [event, element]);
23
+ };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Executes a callback repeatedly with a fixed time delay between calls.
3
+ * Automatically clears interval if delay changes or component unmounts.
4
+ *
5
+ * @param callback - Function to execute at each interval
6
+ * @param delay - Delay in milliseconds, or `null` to disable
7
+ *
8
+ * @example
9
+ * useInterval(() => console.log("Tick"), 1000);
10
+ */
11
+ export declare const useInterval: (callback: () => void, delay: number | null) => void;
12
+ //# sourceMappingURL=useInterval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useInterval.d.ts","sourceRoot":"","sources":["../../src/hooks/useInterval.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,GAAI,UAAU,MAAM,IAAI,EAAE,OAAO,MAAM,GAAG,IAAI,SAYrE,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { useEffect, useRef } from "react";
2
+ /**
3
+ * Executes a callback repeatedly with a fixed time delay between calls.
4
+ * Automatically clears interval if delay changes or component unmounts.
5
+ *
6
+ * @param callback - Function to execute at each interval
7
+ * @param delay - Delay in milliseconds, or `null` to disable
8
+ *
9
+ * @example
10
+ * useInterval(() => console.log("Tick"), 1000);
11
+ */
12
+ export const useInterval = (callback, delay) => {
13
+ const savedCallback = useRef(callback);
14
+ useEffect(() => {
15
+ savedCallback.current = callback;
16
+ }, [callback]);
17
+ useEffect(() => {
18
+ if (delay === null)
19
+ return;
20
+ const id = setInterval(() => savedCallback.current(), delay);
21
+ return () => clearInterval(id);
22
+ }, [delay]);
23
+ };
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Stores state in localStorage and keeps it in sync.
3
+ *
4
+ * @template T - Type of the stored value
5
+ * @param key - Storage key
6
+ * @param initial - Initial value
7
+ * @returns A tuple [value, setValue] similar to useState
8
+ *
9
+ * @example
10
+ * const [token, setToken] = useLocalStorage("token", "");
11
+ */
12
+ export declare const useLocalStorage: <T>(key: string, initial: T) => readonly [T, (newValue: T) => void];
13
+ //# sourceMappingURL=useLocalStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLocalStorage.d.ts","sourceRoot":"","sources":["../../src/hooks/useLocalStorage.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,EAAE,KAAK,MAAM,EAAE,SAAS,CAAC,6BAMpB,CAAC,UAMtC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { useState } from "react";
2
+ /**
3
+ * Stores state in localStorage and keeps it in sync.
4
+ *
5
+ * @template T - Type of the stored value
6
+ * @param key - Storage key
7
+ * @param initial - Initial value
8
+ * @returns A tuple [value, setValue] similar to useState
9
+ *
10
+ * @example
11
+ * const [token, setToken] = useLocalStorage("token", "");
12
+ */
13
+ export const useLocalStorage = (key, initial) => {
14
+ const [value, setValue] = useState(() => {
15
+ const item = localStorage.getItem(key);
16
+ return item ? JSON.parse(item) : initial;
17
+ });
18
+ const setStoredValue = (newValue) => {
19
+ setValue(newValue);
20
+ localStorage.setItem(key, JSON.stringify(newValue));
21
+ };
22
+ return [value, setStoredValue];
23
+ };
@@ -1,12 +1,12 @@
1
- import { ActionFn, SimpleFn } from "@bodynarf/utils";
2
- /**
3
- * Executes the provided function only once during the component's initial render (mount)
4
- * @param fn Function to be called only on the initial render of the component
5
- */
6
- export declare const useMount: (fn: ActionFn) => void;
7
- /**
8
- * Executes the provided function only once during the component's initial render (mount) with unsubscribe
9
- * @param fn Function to be called only on the initial render of the component
10
- */
11
- export declare const useMountWithUnsubscribe: (fn: SimpleFn<ActionFn>) => void;
1
+ import { ActionFn, SimpleFn } from "@bodynarf/utils";
2
+ /**
3
+ * Executes the provided function only once during the component's initial render (mount)
4
+ * @param fn Function to be called only on the initial render of the component
5
+ */
6
+ export declare const useMount: (fn: ActionFn) => void;
7
+ /**
8
+ * Executes the provided function only once during the component's initial render (mount) with unsubscribe
9
+ * @param fn Function to be called only on the initial render of the component
10
+ */
11
+ export declare const useMountWithUnsubscribe: (fn: SimpleFn<ActionFn>) => void;
12
12
  //# sourceMappingURL=useMount.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMount.d.ts","sourceRoot":"","sources":["../../src/hooks/useMount.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAM,QAAQ,OAAQ,QAAQ,SAEpC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,OAAQ,SAAS,QAAQ,CAAC,SAE7D,CAAC"}
1
+ {"version":3,"file":"useMount.d.ts","sourceRoot":"","sources":["../../src/hooks/useMount.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,IAAI,QAAQ,SAEpC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAE7D,CAAC"}
package/hooks/useMount.js CHANGED
@@ -1,16 +1,16 @@
1
- /* eslint-disable react-hooks/exhaustive-deps */
2
- import { useEffect } from "react";
3
- /**
4
- * Executes the provided function only once during the component's initial render (mount)
5
- * @param fn Function to be called only on the initial render of the component
6
- */
7
- export const useMount = (fn) => {
8
- useEffect(fn, []);
9
- };
10
- /**
11
- * Executes the provided function only once during the component's initial render (mount) with unsubscribe
12
- * @param fn Function to be called only on the initial render of the component
13
- */
14
- export const useMountWithUnsubscribe = (fn) => {
15
- useEffect(fn, []);
16
- };
1
+ /* eslint-disable react-hooks/exhaustive-deps */
2
+ import { useEffect } from "react";
3
+ /**
4
+ * Executes the provided function only once during the component's initial render (mount)
5
+ * @param fn Function to be called only on the initial render of the component
6
+ */
7
+ export const useMount = (fn) => {
8
+ useEffect(fn, []);
9
+ };
10
+ /**
11
+ * Executes the provided function only once during the component's initial render (mount) with unsubscribe
12
+ * @param fn Function to be called only on the initial render of the component
13
+ */
14
+ export const useMountWithUnsubscribe = (fn) => {
15
+ useEffect(fn, []);
16
+ };
@@ -1,20 +1,20 @@
1
- import { DependencyList } from "react";
2
- /** Paginator hook state */
3
- export interface PaginationState {
4
- /** Number of current page */
5
- currentPage: number;
6
- /** Amount of pages */
7
- pagesCount: number;
8
- /** Handler of page change */
9
- onPageChange: (page: number) => void;
10
- }
11
- /**
12
- * Hook to pagination state, return hooked values and handler for pagination
13
- * @param length Pagination items count
14
- * @param size Page size. Default is 30
15
- * @param initPage Initial page. Default is 1
16
- * @param dependencies List of dependencies. On any dependency update current page will be set to 1
17
- * @returns Pair of hook-stored state and handler for slicing current page items
18
- */
19
- export declare const usePagination: (length: number, size?: number, initPage?: number, dependencies?: DependencyList) => [PaginationState, (data: Array<any>) => Array<any>];
1
+ import { DependencyList } from "react";
2
+ /** Paginator hook state */
3
+ export interface PaginationState {
4
+ /** Number of current page */
5
+ currentPage: number;
6
+ /** Amount of pages */
7
+ pagesCount: number;
8
+ /** Handler of page change */
9
+ onPageChange: (page: number) => void;
10
+ }
11
+ /**
12
+ * Hook to pagination state, return hooked values and handler for pagination
13
+ * @param length Pagination items count
14
+ * @param size Page size. Default is 30
15
+ * @param initPage Initial page. Default is 1
16
+ * @param dependencies List of dependencies. On any dependency update current page will be set to 1
17
+ * @returns Pair of hook-stored state and handler for slicing current page items
18
+ */
19
+ export declare const usePagination: (length: number, size?: number, initPage?: number, dependencies?: DependencyList) => [PaginationState, (data: Array<any>) => Array<any>];
20
20
  //# sourceMappingURL=usePagination.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePagination.d.ts","sourceRoot":"","sources":["../../src/hooks/usePagination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqD,MAAM,OAAO,CAAC;AAE1F,2BAA2B;AAC3B,MAAM,WAAW,eAAe;IAC5B,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IAEpB,sBAAsB;IACtB,UAAU,EAAE,MAAM,CAAC;IAEnB,6BAA6B;IAC7B,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAKD;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,WACd,MAAM,SACR,MAAM,aACF,MAAM,6DAEQ,MAAM,GAAG,CAAC,KAAK,MAAM,GAAG,CAAC,CAiCpD,CAAC"}
1
+ {"version":3,"file":"usePagination.d.ts","sourceRoot":"","sources":["../../src/hooks/usePagination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqD,MAAM,OAAO,CAAC;AAE1F,2BAA2B;AAC3B,MAAM,WAAW,eAAe;IAC5B,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IAEpB,sBAAsB;IACtB,UAAU,EAAE,MAAM,CAAC;IAEnB,6BAA6B;IAC7B,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAKD;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GACtB,QAAQ,MAAM,EACd,OAAM,MAAwB,EAC9B,WAAU,MAAU,EACpB,eAAc,cAAmB,KAClC,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,CAiCpD,CAAC"}
@@ -1,37 +1,37 @@
1
- import { useCallback, useEffect, useMemo, useRef, useState } from "react";
2
- /** Default page size */
3
- const defaultPageSize = 30;
4
- /**
5
- * Hook to pagination state, return hooked values and handler for pagination
6
- * @param length Pagination items count
7
- * @param size Page size. Default is 30
8
- * @param initPage Initial page. Default is 1
9
- * @param dependencies List of dependencies. On any dependency update current page will be set to 1
10
- * @returns Pair of hook-stored state and handler for slicing current page items
11
- */
12
- export const usePagination = (length, size = defaultPageSize, initPage = 1, dependencies = []) => {
13
- const [currentPage, setCurrentPage] = useState(initPage);
14
- const count = useMemo(() => Math.ceil(length / size), [size, length]);
15
- const onChange = useCallback((page) => setCurrentPage(page), [setCurrentPage]);
16
- const paginate = useCallback((data) => {
17
- const limit = size;
18
- const offset = (currentPage - 1) * size;
19
- return data.slice(offset, offset + limit);
20
- }, [size, currentPage]);
21
- const state = useMemo(() => ({
22
- currentPage: currentPage,
23
- pagesCount: count,
24
- onPageChange: onChange
25
- }), [currentPage, count, onChange]);
26
- const isInitialRender = useRef(true);
27
- useEffect(() => {
28
- if (isInitialRender.current) {
29
- isInitialRender.current = false;
30
- }
31
- else {
32
- setCurrentPage(1);
33
- }
34
- // eslint-disable-next-line react-hooks/exhaustive-deps
35
- }, dependencies);
36
- return [state, paginate];
37
- };
1
+ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
2
+ /** Default page size */
3
+ const defaultPageSize = 30;
4
+ /**
5
+ * Hook to pagination state, return hooked values and handler for pagination
6
+ * @param length Pagination items count
7
+ * @param size Page size. Default is 30
8
+ * @param initPage Initial page. Default is 1
9
+ * @param dependencies List of dependencies. On any dependency update current page will be set to 1
10
+ * @returns Pair of hook-stored state and handler for slicing current page items
11
+ */
12
+ export const usePagination = (length, size = defaultPageSize, initPage = 1, dependencies = []) => {
13
+ const [currentPage, setCurrentPage] = useState(initPage);
14
+ const count = useMemo(() => Math.ceil(length / size), [size, length]);
15
+ const onChange = useCallback((page) => setCurrentPage(page), [setCurrentPage]);
16
+ const paginate = useCallback((data) => {
17
+ const limit = size;
18
+ const offset = (currentPage - 1) * size;
19
+ return data.slice(offset, offset + limit);
20
+ }, [size, currentPage]);
21
+ const state = useMemo(() => ({
22
+ currentPage: currentPage,
23
+ pagesCount: count,
24
+ onPageChange: onChange
25
+ }), [currentPage, count, onChange]);
26
+ const isInitialRender = useRef(true);
27
+ useEffect(() => {
28
+ if (isInitialRender.current) {
29
+ isInitialRender.current = false;
30
+ }
31
+ else {
32
+ setCurrentPage(1);
33
+ }
34
+ // eslint-disable-next-line react-hooks/exhaustive-deps
35
+ }, dependencies);
36
+ return [state, paginate];
37
+ };