@bodynarf/react.components 1.7.2 → 1.7.4

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 (331) hide show
  1. package/dist/package.json +41 -0
  2. package/dist/readme.md +56 -0
  3. package/package.json +5 -3
  4. package/src/common.scss +3 -0
  5. package/src/components/accordion/component/index.tsx +84 -0
  6. package/src/components/accordion/index.ts +2 -0
  7. package/src/components/accordion/types.ts +22 -0
  8. package/src/components/anchor/component/index.tsx +40 -0
  9. package/src/components/anchor/component/style.scss +15 -0
  10. package/src/components/anchor/components/anchorWithIcon/index.tsx +45 -0
  11. package/src/components/anchor/components/simpleAnchor/index.tsx +16 -0
  12. package/src/components/anchor/index.ts +2 -0
  13. package/src/components/anchor/types.ts +54 -0
  14. package/src/components/button/component/index.tsx +58 -0
  15. package/src/components/button/component/style.scss +12 -0
  16. package/src/components/button/components/buttonWithIcon/index.tsx +53 -0
  17. package/src/components/button/components/simpleButton/index.tsx +21 -0
  18. package/src/components/button/index.ts +2 -0
  19. package/src/components/button/types.ts +64 -0
  20. package/src/components/dropdown/component/index.tsx +20 -0
  21. package/src/components/dropdown/component/style.scss +120 -0
  22. package/src/components/dropdown/components/compact/index.tsx +121 -0
  23. package/src/components/dropdown/components/item/index.tsx +30 -0
  24. package/src/components/dropdown/components/label/index.tsx +68 -0
  25. package/src/components/dropdown/components/withLabel/index.tsx +201 -0
  26. package/src/components/dropdown/index.ts +2 -0
  27. package/src/components/dropdown/types.ts +59 -0
  28. package/src/components/icon/component/index.tsx +34 -0
  29. package/src/components/icon/component/style.scss +21 -0
  30. package/src/components/icon/index.ts +2 -0
  31. package/src/components/icon/types.ts +18 -0
  32. package/src/components/index.ts +13 -0
  33. package/src/components/paginator/component/index.tsx +131 -0
  34. package/src/components/paginator/index.ts +3 -0
  35. package/src/components/paginator/types.ts +40 -0
  36. package/src/components/paginator/utils.ts +19 -0
  37. package/src/components/primitives/checkbox/component/index.tsx +102 -0
  38. package/src/components/primitives/checkbox/component/style.scss +10 -0
  39. package/src/components/primitives/checkbox/index.ts +2 -0
  40. package/src/components/primitives/checkbox/types.ts +29 -0
  41. package/src/components/primitives/date/component/index.tsx +129 -0
  42. package/src/components/primitives/date/index.ts +2 -0
  43. package/src/components/primitives/date/types.ts +10 -0
  44. package/src/components/primitives/index.ts +7 -0
  45. package/src/components/primitives/multiline/component/index.tsx +20 -0
  46. package/src/components/primitives/multiline/components/multilineWithLabel/index.tsx +125 -0
  47. package/src/components/primitives/multiline/components/multilineWithoutLabel/index.tsx +62 -0
  48. package/src/components/primitives/multiline/index.ts +2 -0
  49. package/src/components/primitives/multiline/types.ts +13 -0
  50. package/src/components/primitives/number/component/index.tsx +17 -0
  51. package/src/components/primitives/number/components/withLabel/index.tsx +127 -0
  52. package/src/components/primitives/number/components/withoutLabel/index.tsx +66 -0
  53. package/src/components/primitives/number/index.ts +2 -0
  54. package/src/components/primitives/number/types.ts +14 -0
  55. package/src/components/primitives/password/component/index.tsx +19 -0
  56. package/src/components/primitives/password/component/style.scss +16 -0
  57. package/src/components/primitives/password/components/withLabel/index.tsx +147 -0
  58. package/src/components/primitives/password/components/withoutLabel/index.tsx +79 -0
  59. package/src/components/primitives/password/index.ts +2 -0
  60. package/src/components/primitives/password/types.ts +10 -0
  61. package/src/components/primitives/text/component/index.tsx +20 -0
  62. package/src/components/primitives/text/components/textWithLabel/index.tsx +123 -0
  63. package/src/components/primitives/text/components/textWithoutLabel/index.tsx +64 -0
  64. package/src/components/primitives/text/index.tsx +2 -0
  65. package/src/components/primitives/text/types.ts +7 -0
  66. package/src/components/primitives/types/baseProps.ts +42 -0
  67. package/src/components/primitives/types/index.ts +3 -0
  68. package/src/components/primitives/types/label.ts +17 -0
  69. package/src/components/primitives/types/validation/index.ts +2 -0
  70. package/src/components/primitives/types/validation/state.ts +10 -0
  71. package/src/components/primitives/types/validation/status.ts +11 -0
  72. package/src/components/search/component/index.tsx +88 -0
  73. package/src/components/search/component/style.scss +24 -0
  74. package/src/components/search/index.ts +2 -0
  75. package/src/components/search/types.ts +35 -0
  76. package/src/components/tabs/component/index.tsx +147 -0
  77. package/src/components/tabs/component/style.scss +12 -0
  78. package/src/components/tabs/components/item/index.tsx +86 -0
  79. package/src/components/tabs/index.ts +2 -0
  80. package/src/components/tabs/types.ts +52 -0
  81. package/src/components/tag/component/index.tsx +52 -0
  82. package/src/components/tag/component/style.scss +27 -0
  83. package/src/components/tag/index.ts +2 -0
  84. package/src/components/tag/types.ts +34 -0
  85. package/src/components/types.ts +87 -0
  86. package/src/hooks/index.ts +2 -0
  87. package/src/hooks/useComponentOutsideClick.ts +48 -0
  88. package/src/hooks/usePagination.ts +55 -0
  89. package/src/index.ts +3 -0
  90. package/src/utils/dataAttributes.ts +26 -0
  91. package/src/utils/formValidation.ts +42 -0
  92. package/src/utils/index.ts +2 -0
  93. package/tsconfig.json +42 -0
  94. /package/{components → dist/components}/accordion/component/index.d.ts +0 -0
  95. /package/{components → dist/components}/accordion/component/index.d.ts.map +0 -0
  96. /package/{components → dist/components}/accordion/component/index.js +0 -0
  97. /package/{components → dist/components}/accordion/index.d.ts +0 -0
  98. /package/{components → dist/components}/accordion/index.d.ts.map +0 -0
  99. /package/{components → dist/components}/accordion/index.js +0 -0
  100. /package/{components → dist/components}/accordion/types.d.ts +0 -0
  101. /package/{components → dist/components}/accordion/types.d.ts.map +0 -0
  102. /package/{components → dist/components}/accordion/types.js +0 -0
  103. /package/{components → dist/components}/anchor/component/index.d.ts +0 -0
  104. /package/{components → dist/components}/anchor/component/index.d.ts.map +0 -0
  105. /package/{components → dist/components}/anchor/component/index.js +0 -0
  106. /package/{components → dist/components}/anchor/components/anchorWithIcon/index.d.ts +0 -0
  107. /package/{components → dist/components}/anchor/components/anchorWithIcon/index.d.ts.map +0 -0
  108. /package/{components → dist/components}/anchor/components/anchorWithIcon/index.js +0 -0
  109. /package/{components → dist/components}/anchor/components/simpleAnchor/index.d.ts +0 -0
  110. /package/{components → dist/components}/anchor/components/simpleAnchor/index.d.ts.map +0 -0
  111. /package/{components → dist/components}/anchor/components/simpleAnchor/index.js +0 -0
  112. /package/{components → dist/components}/anchor/index.d.ts +0 -0
  113. /package/{components → dist/components}/anchor/index.d.ts.map +0 -0
  114. /package/{components → dist/components}/anchor/index.js +0 -0
  115. /package/{components → dist/components}/anchor/types.d.ts +0 -0
  116. /package/{components → dist/components}/anchor/types.d.ts.map +0 -0
  117. /package/{components → dist/components}/anchor/types.js +0 -0
  118. /package/{components → dist/components}/button/component/index.d.ts +0 -0
  119. /package/{components → dist/components}/button/component/index.d.ts.map +0 -0
  120. /package/{components → dist/components}/button/component/index.js +0 -0
  121. /package/{components → dist/components}/button/components/buttonWithIcon/index.d.ts +0 -0
  122. /package/{components → dist/components}/button/components/buttonWithIcon/index.d.ts.map +0 -0
  123. /package/{components → dist/components}/button/components/buttonWithIcon/index.js +0 -0
  124. /package/{components → dist/components}/button/components/simpleButton/index.d.ts +0 -0
  125. /package/{components → dist/components}/button/components/simpleButton/index.d.ts.map +0 -0
  126. /package/{components → dist/components}/button/components/simpleButton/index.js +0 -0
  127. /package/{components → dist/components}/button/index.d.ts +0 -0
  128. /package/{components → dist/components}/button/index.d.ts.map +0 -0
  129. /package/{components → dist/components}/button/index.js +0 -0
  130. /package/{components → dist/components}/button/types.d.ts +0 -0
  131. /package/{components → dist/components}/button/types.d.ts.map +0 -0
  132. /package/{components → dist/components}/button/types.js +0 -0
  133. /package/{components → dist/components}/dropdown/component/index.d.ts +0 -0
  134. /package/{components → dist/components}/dropdown/component/index.d.ts.map +0 -0
  135. /package/{components → dist/components}/dropdown/component/index.js +0 -0
  136. /package/{components → dist/components}/dropdown/components/compact/index.d.ts +0 -0
  137. /package/{components → dist/components}/dropdown/components/compact/index.d.ts.map +0 -0
  138. /package/{components → dist/components}/dropdown/components/compact/index.js +0 -0
  139. /package/{components → dist/components}/dropdown/components/item/index.d.ts +0 -0
  140. /package/{components → dist/components}/dropdown/components/item/index.d.ts.map +0 -0
  141. /package/{components → dist/components}/dropdown/components/item/index.js +0 -0
  142. /package/{components → dist/components}/dropdown/components/label/index.d.ts +0 -0
  143. /package/{components → dist/components}/dropdown/components/label/index.d.ts.map +0 -0
  144. /package/{components → dist/components}/dropdown/components/label/index.js +0 -0
  145. /package/{components → dist/components}/dropdown/components/withLabel/index.d.ts +0 -0
  146. /package/{components → dist/components}/dropdown/components/withLabel/index.d.ts.map +0 -0
  147. /package/{components → dist/components}/dropdown/components/withLabel/index.js +0 -0
  148. /package/{components → dist/components}/dropdown/index.d.ts +0 -0
  149. /package/{components → dist/components}/dropdown/index.d.ts.map +0 -0
  150. /package/{components → dist/components}/dropdown/index.js +0 -0
  151. /package/{components → dist/components}/dropdown/types.d.ts +0 -0
  152. /package/{components → dist/components}/dropdown/types.d.ts.map +0 -0
  153. /package/{components → dist/components}/dropdown/types.js +0 -0
  154. /package/{components → dist/components}/icon/component/index.d.ts +0 -0
  155. /package/{components → dist/components}/icon/component/index.d.ts.map +0 -0
  156. /package/{components → dist/components}/icon/component/index.js +0 -0
  157. /package/{components → dist/components}/icon/index.d.ts +0 -0
  158. /package/{components → dist/components}/icon/index.d.ts.map +0 -0
  159. /package/{components → dist/components}/icon/index.js +0 -0
  160. /package/{components → dist/components}/icon/types.d.ts +0 -0
  161. /package/{components → dist/components}/icon/types.d.ts.map +0 -0
  162. /package/{components → dist/components}/icon/types.js +0 -0
  163. /package/{components → dist/components}/index.d.ts +0 -0
  164. /package/{components → dist/components}/index.d.ts.map +0 -0
  165. /package/{components → dist/components}/index.js +0 -0
  166. /package/{components → dist/components}/paginator/component/index.d.ts +0 -0
  167. /package/{components → dist/components}/paginator/component/index.d.ts.map +0 -0
  168. /package/{components → dist/components}/paginator/component/index.js +0 -0
  169. /package/{components → dist/components}/paginator/index.d.ts +0 -0
  170. /package/{components → dist/components}/paginator/index.d.ts.map +0 -0
  171. /package/{components → dist/components}/paginator/index.js +0 -0
  172. /package/{components → dist/components}/paginator/types.d.ts +0 -0
  173. /package/{components → dist/components}/paginator/types.d.ts.map +0 -0
  174. /package/{components → dist/components}/paginator/types.js +0 -0
  175. /package/{components → dist/components}/paginator/utils.d.ts +0 -0
  176. /package/{components → dist/components}/paginator/utils.d.ts.map +0 -0
  177. /package/{components → dist/components}/paginator/utils.js +0 -0
  178. /package/{components → dist/components}/primitives/checkbox/component/index.d.ts +0 -0
  179. /package/{components → dist/components}/primitives/checkbox/component/index.d.ts.map +0 -0
  180. /package/{components → dist/components}/primitives/checkbox/component/index.js +0 -0
  181. /package/{components → dist/components}/primitives/checkbox/index.d.ts +0 -0
  182. /package/{components → dist/components}/primitives/checkbox/index.d.ts.map +0 -0
  183. /package/{components → dist/components}/primitives/checkbox/index.js +0 -0
  184. /package/{components → dist/components}/primitives/checkbox/types.d.ts +0 -0
  185. /package/{components → dist/components}/primitives/checkbox/types.d.ts.map +0 -0
  186. /package/{components → dist/components}/primitives/checkbox/types.js +0 -0
  187. /package/{components → dist/components}/primitives/date/component/index.d.ts +0 -0
  188. /package/{components → dist/components}/primitives/date/component/index.d.ts.map +0 -0
  189. /package/{components → dist/components}/primitives/date/component/index.js +0 -0
  190. /package/{components → dist/components}/primitives/date/index.d.ts +0 -0
  191. /package/{components → dist/components}/primitives/date/index.d.ts.map +0 -0
  192. /package/{components → dist/components}/primitives/date/index.js +0 -0
  193. /package/{components → dist/components}/primitives/date/types.d.ts +0 -0
  194. /package/{components → dist/components}/primitives/date/types.d.ts.map +0 -0
  195. /package/{components → dist/components}/primitives/date/types.js +0 -0
  196. /package/{components → dist/components}/primitives/index.d.ts +0 -0
  197. /package/{components → dist/components}/primitives/index.d.ts.map +0 -0
  198. /package/{components → dist/components}/primitives/index.js +0 -0
  199. /package/{components → dist/components}/primitives/multiline/component/index.d.ts +0 -0
  200. /package/{components → dist/components}/primitives/multiline/component/index.d.ts.map +0 -0
  201. /package/{components → dist/components}/primitives/multiline/component/index.js +0 -0
  202. /package/{components → dist/components}/primitives/multiline/components/multilineWithLabel/index.d.ts +0 -0
  203. /package/{components → dist/components}/primitives/multiline/components/multilineWithLabel/index.d.ts.map +0 -0
  204. /package/{components → dist/components}/primitives/multiline/components/multilineWithLabel/index.js +0 -0
  205. /package/{components → dist/components}/primitives/multiline/components/multilineWithoutLabel/index.d.ts +0 -0
  206. /package/{components → dist/components}/primitives/multiline/components/multilineWithoutLabel/index.d.ts.map +0 -0
  207. /package/{components → dist/components}/primitives/multiline/components/multilineWithoutLabel/index.js +0 -0
  208. /package/{components → dist/components}/primitives/multiline/index.d.ts +0 -0
  209. /package/{components → dist/components}/primitives/multiline/index.d.ts.map +0 -0
  210. /package/{components → dist/components}/primitives/multiline/index.js +0 -0
  211. /package/{components → dist/components}/primitives/multiline/types.d.ts +0 -0
  212. /package/{components → dist/components}/primitives/multiline/types.d.ts.map +0 -0
  213. /package/{components → dist/components}/primitives/multiline/types.js +0 -0
  214. /package/{components → dist/components}/primitives/number/component/index.d.ts +0 -0
  215. /package/{components → dist/components}/primitives/number/component/index.d.ts.map +0 -0
  216. /package/{components → dist/components}/primitives/number/component/index.js +0 -0
  217. /package/{components → dist/components}/primitives/number/components/withLabel/index.d.ts +0 -0
  218. /package/{components → dist/components}/primitives/number/components/withLabel/index.d.ts.map +0 -0
  219. /package/{components → dist/components}/primitives/number/components/withLabel/index.js +0 -0
  220. /package/{components → dist/components}/primitives/number/components/withoutLabel/index.d.ts +0 -0
  221. /package/{components → dist/components}/primitives/number/components/withoutLabel/index.d.ts.map +0 -0
  222. /package/{components → dist/components}/primitives/number/components/withoutLabel/index.js +0 -0
  223. /package/{components → dist/components}/primitives/number/index.d.ts +0 -0
  224. /package/{components → dist/components}/primitives/number/index.d.ts.map +0 -0
  225. /package/{components → dist/components}/primitives/number/index.js +0 -0
  226. /package/{components → dist/components}/primitives/number/types.d.ts +0 -0
  227. /package/{components → dist/components}/primitives/number/types.d.ts.map +0 -0
  228. /package/{components → dist/components}/primitives/number/types.js +0 -0
  229. /package/{components → dist/components}/primitives/password/component/index.d.ts +0 -0
  230. /package/{components → dist/components}/primitives/password/component/index.d.ts.map +0 -0
  231. /package/{components → dist/components}/primitives/password/component/index.js +0 -0
  232. /package/{components → dist/components}/primitives/password/components/withLabel/index.d.ts +0 -0
  233. /package/{components → dist/components}/primitives/password/components/withLabel/index.d.ts.map +0 -0
  234. /package/{components → dist/components}/primitives/password/components/withLabel/index.js +0 -0
  235. /package/{components → dist/components}/primitives/password/components/withoutLabel/index.d.ts +0 -0
  236. /package/{components → dist/components}/primitives/password/components/withoutLabel/index.d.ts.map +0 -0
  237. /package/{components → dist/components}/primitives/password/components/withoutLabel/index.js +0 -0
  238. /package/{components → dist/components}/primitives/password/index.d.ts +0 -0
  239. /package/{components → dist/components}/primitives/password/index.d.ts.map +0 -0
  240. /package/{components → dist/components}/primitives/password/index.js +0 -0
  241. /package/{components → dist/components}/primitives/password/types.d.ts +0 -0
  242. /package/{components → dist/components}/primitives/password/types.d.ts.map +0 -0
  243. /package/{components → dist/components}/primitives/password/types.js +0 -0
  244. /package/{components → dist/components}/primitives/text/component/index.d.ts +0 -0
  245. /package/{components → dist/components}/primitives/text/component/index.d.ts.map +0 -0
  246. /package/{components → dist/components}/primitives/text/component/index.js +0 -0
  247. /package/{components → dist/components}/primitives/text/components/textWithLabel/index.d.ts +0 -0
  248. /package/{components → dist/components}/primitives/text/components/textWithLabel/index.d.ts.map +0 -0
  249. /package/{components → dist/components}/primitives/text/components/textWithLabel/index.js +0 -0
  250. /package/{components → dist/components}/primitives/text/components/textWithoutLabel/index.d.ts +0 -0
  251. /package/{components → dist/components}/primitives/text/components/textWithoutLabel/index.d.ts.map +0 -0
  252. /package/{components → dist/components}/primitives/text/components/textWithoutLabel/index.js +0 -0
  253. /package/{components → dist/components}/primitives/text/index.d.ts +0 -0
  254. /package/{components → dist/components}/primitives/text/index.d.ts.map +0 -0
  255. /package/{components → dist/components}/primitives/text/index.js +0 -0
  256. /package/{components → dist/components}/primitives/text/types.d.ts +0 -0
  257. /package/{components → dist/components}/primitives/text/types.d.ts.map +0 -0
  258. /package/{components → dist/components}/primitives/text/types.js +0 -0
  259. /package/{components → dist/components}/primitives/types/baseProps.d.ts +0 -0
  260. /package/{components → dist/components}/primitives/types/baseProps.d.ts.map +0 -0
  261. /package/{components → dist/components}/primitives/types/baseProps.js +0 -0
  262. /package/{components → dist/components}/primitives/types/index.d.ts +0 -0
  263. /package/{components → dist/components}/primitives/types/index.d.ts.map +0 -0
  264. /package/{components → dist/components}/primitives/types/index.js +0 -0
  265. /package/{components → dist/components}/primitives/types/label.d.ts +0 -0
  266. /package/{components → dist/components}/primitives/types/label.d.ts.map +0 -0
  267. /package/{components → dist/components}/primitives/types/label.js +0 -0
  268. /package/{components → dist/components}/primitives/types/validation/index.d.ts +0 -0
  269. /package/{components → dist/components}/primitives/types/validation/index.d.ts.map +0 -0
  270. /package/{components → dist/components}/primitives/types/validation/index.js +0 -0
  271. /package/{components → dist/components}/primitives/types/validation/state.d.ts +0 -0
  272. /package/{components → dist/components}/primitives/types/validation/state.d.ts.map +0 -0
  273. /package/{components → dist/components}/primitives/types/validation/state.js +0 -0
  274. /package/{components → dist/components}/primitives/types/validation/status.d.ts +0 -0
  275. /package/{components → dist/components}/primitives/types/validation/status.d.ts.map +0 -0
  276. /package/{components → dist/components}/primitives/types/validation/status.js +0 -0
  277. /package/{components → dist/components}/search/component/index.d.ts +0 -0
  278. /package/{components → dist/components}/search/component/index.d.ts.map +0 -0
  279. /package/{components → dist/components}/search/component/index.js +0 -0
  280. /package/{components → dist/components}/search/index.d.ts +0 -0
  281. /package/{components → dist/components}/search/index.d.ts.map +0 -0
  282. /package/{components → dist/components}/search/index.js +0 -0
  283. /package/{components → dist/components}/search/types.d.ts +0 -0
  284. /package/{components → dist/components}/search/types.d.ts.map +0 -0
  285. /package/{components → dist/components}/search/types.js +0 -0
  286. /package/{components → dist/components}/tabs/component/index.d.ts +0 -0
  287. /package/{components → dist/components}/tabs/component/index.d.ts.map +0 -0
  288. /package/{components → dist/components}/tabs/component/index.js +0 -0
  289. /package/{components → dist/components}/tabs/components/item/index.d.ts +0 -0
  290. /package/{components → dist/components}/tabs/components/item/index.d.ts.map +0 -0
  291. /package/{components → dist/components}/tabs/components/item/index.js +0 -0
  292. /package/{components → dist/components}/tabs/index.d.ts +0 -0
  293. /package/{components → dist/components}/tabs/index.d.ts.map +0 -0
  294. /package/{components → dist/components}/tabs/index.js +0 -0
  295. /package/{components → dist/components}/tabs/types.d.ts +0 -0
  296. /package/{components → dist/components}/tabs/types.d.ts.map +0 -0
  297. /package/{components → dist/components}/tabs/types.js +0 -0
  298. /package/{components → dist/components}/tag/component/index.d.ts +0 -0
  299. /package/{components → dist/components}/tag/component/index.d.ts.map +0 -0
  300. /package/{components → dist/components}/tag/component/index.js +0 -0
  301. /package/{components → dist/components}/tag/index.d.ts +0 -0
  302. /package/{components → dist/components}/tag/index.d.ts.map +0 -0
  303. /package/{components → dist/components}/tag/index.js +0 -0
  304. /package/{components → dist/components}/tag/types.d.ts +0 -0
  305. /package/{components → dist/components}/tag/types.d.ts.map +0 -0
  306. /package/{components → dist/components}/tag/types.js +0 -0
  307. /package/{components → dist/components}/types.d.ts +0 -0
  308. /package/{components → dist/components}/types.d.ts.map +0 -0
  309. /package/{components → dist/components}/types.js +0 -0
  310. /package/{hooks → dist/hooks}/index.d.ts +0 -0
  311. /package/{hooks → dist/hooks}/index.d.ts.map +0 -0
  312. /package/{hooks → dist/hooks}/index.js +0 -0
  313. /package/{hooks → dist/hooks}/useComponentOutsideClick.d.ts +0 -0
  314. /package/{hooks → dist/hooks}/useComponentOutsideClick.d.ts.map +0 -0
  315. /package/{hooks → dist/hooks}/useComponentOutsideClick.js +0 -0
  316. /package/{hooks → dist/hooks}/usePagination.d.ts +0 -0
  317. /package/{hooks → dist/hooks}/usePagination.d.ts.map +0 -0
  318. /package/{hooks → dist/hooks}/usePagination.js +0 -0
  319. /package/{index.d.ts → dist/index.d.ts} +0 -0
  320. /package/{index.d.ts.map → dist/index.d.ts.map} +0 -0
  321. /package/{index.js → dist/index.js} +0 -0
  322. /package/{tsconfig.tsbuildinfo → dist/tsconfig.tsbuildinfo} +0 -0
  323. /package/{utils → dist/utils}/dataAttributes.d.ts +0 -0
  324. /package/{utils → dist/utils}/dataAttributes.d.ts.map +0 -0
  325. /package/{utils → dist/utils}/dataAttributes.js +0 -0
  326. /package/{utils → dist/utils}/formValidation.d.ts +0 -0
  327. /package/{utils → dist/utils}/formValidation.d.ts.map +0 -0
  328. /package/{utils → dist/utils}/formValidation.js +0 -0
  329. /package/{utils → dist/utils}/index.d.ts +0 -0
  330. /package/{utils → dist/utils}/index.d.ts.map +0 -0
  331. /package/{utils → dist/utils}/index.js +0 -0
@@ -0,0 +1,2 @@
1
+ export { default } from "./component";
2
+ export * from "./types";
@@ -0,0 +1,52 @@
1
+ import { ElementIcon } from "@bbr/components";
2
+
3
+ /** Tabs component style */
4
+ export enum TabsStyle {
5
+ /**
6
+ * Default style.
7
+ * Single border at the bottom
8
+ */
9
+ default = "",
10
+
11
+ /**
12
+ * Classic style with borders.
13
+ * Borders all except bottom
14
+ */
15
+ boxed = "is-boxed",
16
+
17
+ /**
18
+ * Styled as buttons
19
+ */
20
+ radioButton = "is-toggle",
21
+
22
+ /**
23
+ * Styled as rounded buttons
24
+ */
25
+ radioButtonRounded = "is-toggle is-toggle-rounded",
26
+ }
27
+
28
+ /**
29
+ * Tabs items position on component
30
+ */
31
+ export enum TabsPosition {
32
+ /** On the left side. Default value */
33
+ "left" = "",
34
+
35
+ /** Center*/
36
+ "center" = "is-centered",
37
+
38
+ /** Pulled to right */
39
+ "right" = "is-right",
40
+ }
41
+
42
+ /** Tab item */
43
+ export interface TabItem {
44
+ /** Unique identifier across all tab items */
45
+ id: string;
46
+
47
+ /** Displayable caption */
48
+ caption: string;
49
+
50
+ /** Icon configuration */
51
+ icon?: ElementIcon;
52
+ }
@@ -0,0 +1,52 @@
1
+ import { getClassName, isNullOrUndefined } from "@bodynarf/utils";
2
+
3
+ import { ElementColor, ElementSize } from "@bbr/components";
4
+ import { TagProps } from "@bbr/components/tag";
5
+
6
+ import "./style.scss";
7
+
8
+ /** Single tag item */
9
+ const Tag = ({
10
+ content,
11
+ size, style, rounded, lightColor, customColor,
12
+ onClick,
13
+
14
+ className, title,
15
+ }: TagProps): JSX.Element => {
16
+
17
+ size ??= ElementSize.Normal;
18
+ style ??= ElementColor.Default;
19
+
20
+ if (!isNullOrUndefined(customColor)) {
21
+ style = ElementColor.Default;
22
+ }
23
+
24
+ const elClassName = getClassName([
25
+ "bbr-tag",
26
+ "tag",
27
+ style === ElementColor.Default ? "" : `is-${style}`,
28
+ !isNullOrUndefined(customColor) ? "bbr-tag--custom" : "",
29
+ lightColor === true && isNullOrUndefined(customColor) ? "is-light" : "",
30
+ rounded === true ? "is-rounded" : "",
31
+ size === ElementSize.Normal || size === ElementSize.Small ? "" : `is-${size}`,
32
+ isNullOrUndefined(onClick) ? "" : "bbr-tag--clickable",
33
+ className,
34
+ ]);
35
+
36
+ return (
37
+ <span
38
+ className={elClassName}
39
+ onClick={onClick}
40
+ title={title}
41
+ color={customColor?.color}
42
+ style={{
43
+ color: customColor?.color,
44
+ backgroundColor: customColor?.backgroundColor,
45
+ }}
46
+ >
47
+ {content}
48
+ </span>
49
+ );
50
+ };
51
+
52
+ export default Tag;
@@ -0,0 +1,27 @@
1
+ .bbr-tag {
2
+ border: 1px solid transparent;
3
+ transition: border-color 0.15s ease-in-out;
4
+
5
+ &--clickable {
6
+ cursor: pointer;
7
+
8
+ &.is-light {
9
+ &:hover {
10
+ border-color: rgba(0, 0, 0, 0.25);
11
+ }
12
+ &:focus,
13
+ &:active {
14
+ border-color: rgba(0, 0, 0, 0.5);
15
+ }
16
+ }
17
+ &:not(.is-light) {
18
+ &:hover {
19
+ border-color: rgba(0, 0, 0, 0.35);
20
+ }
21
+ &:focus,
22
+ &:active {
23
+ border-color: rgba(0, 0, 0, 0.75);
24
+ }
25
+ }
26
+ }
27
+ }
@@ -0,0 +1,2 @@
1
+ export { default } from "./component";
2
+ export * from "./types";
@@ -0,0 +1,34 @@
1
+ import { BaseElementProps, ElementColor, ElementSize } from "@bbr/components";
2
+
3
+ /** Tag item prop types */
4
+ export interface TagProps extends BaseElementProps {
5
+ /** Tag content */
6
+ content: string;
7
+
8
+ /**
9
+ * Element size.
10
+ * `Small` isn"t allowed
11
+ */
12
+ size?: ElementSize;
13
+
14
+ /** Element color */
15
+ style?: ElementColor;
16
+
17
+ /** Is element with rounded border */
18
+ rounded?: boolean;
19
+
20
+ /** Is element has light color */
21
+ lightColor?: boolean;
22
+
23
+ /** Click handler */
24
+ onClick?: () => void;
25
+
26
+ /** Manual color scheme */
27
+ customColor?: {
28
+ /** Text color */
29
+ color: string;
30
+
31
+ /** Background color */
32
+ backgroundColor: string;
33
+ };
34
+ }
@@ -0,0 +1,87 @@
1
+ /** Base interface for component props */
2
+ export interface BaseElementProps {
3
+ /** Additional class names */
4
+ className?: string;
5
+
6
+ /** Title */
7
+ title?: string;
8
+
9
+ /** Extra data-* attributes */
10
+ data?: DataAttributes;
11
+ }
12
+
13
+ /**
14
+ * Html data-* attributes
15
+ * @description All keys with defined values will be mapped injected into html element as data-{key} attributes
16
+ */
17
+ export interface DataAttributes {
18
+ /** Single data-* attribute value */
19
+ [key: string]: any;
20
+ }
21
+
22
+ /** Input component size variety */
23
+ export enum ElementSize {
24
+ /** Font size is 0.75rem */
25
+ Small = "small",
26
+
27
+ /** Font size is 1rem. Default */
28
+ Normal = "normal",
29
+
30
+ /** Font size is 1.25rem */
31
+ Medium = "medium",
32
+
33
+ /** Font size is 1.5rem */
34
+ Large = "large",
35
+ }
36
+
37
+ /** Input component border-color type */
38
+ export enum ElementColor {
39
+ /** color: transparent */
40
+ Default = "default",
41
+
42
+ /** color: seawave green */
43
+ Primary = "primary",
44
+
45
+ /** color: blue-violet */
46
+ Link = "link",
47
+
48
+ /** color: sky-blue */
49
+ Info = "info",
50
+
51
+ /** color: green */
52
+ Success = "success",
53
+
54
+ /** color: yellow */
55
+ Warning = "warning",
56
+
57
+ /** color: red */
58
+ Danger = "danger",
59
+ };
60
+
61
+ /** Allowed icon position */
62
+ export type IconPosition =
63
+ | "left"
64
+ | "right";
65
+
66
+ /** Icon for component */
67
+ export interface ElementIcon {
68
+ /**
69
+ * Icon name. Must be without `bi-`
70
+ * @example ["Arrow repeat", "arrow-repeat"]
71
+ * // Icon name to icon class name.
72
+ * // For class name check bootstrap icons website
73
+ */
74
+ name: string;
75
+
76
+ /** Additional classname */
77
+ className?: string;
78
+
79
+ /** Icon size */
80
+ size?: ElementSize;
81
+
82
+ /**
83
+ * Position
84
+ * Works only with other content
85
+ */
86
+ position?: IconPosition;
87
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./useComponentOutsideClick";
2
+ export * from "./usePagination";
@@ -0,0 +1,48 @@
1
+ import { DependencyList, useCallback, useEffect } from "react";
2
+
3
+ import { isNullOrUndefined, isNull } from "@bodynarf/utils";
4
+
5
+ /**
6
+ * Subscribe to component outside click
7
+ * @param selector Component root selector
8
+ * @param clickHandleCondition Condition to handle document click
9
+ * @param clickHandleChange Handler of outside component click
10
+ * @param clickListenCondition Condition to start listening document clicks
11
+ * @param dependencies Additional dependencies to update hook
12
+ */
13
+ export const useComponentOutsideClick = (
14
+ selector: string,
15
+ clickHandleCondition: boolean,
16
+ clickHandleChange: () => void,
17
+ clickListenCondition?: boolean,
18
+ dependencies?: DependencyList
19
+ ): void => {
20
+ const onDocumentClick = useCallback(
21
+ (event: MouseEvent): void => {
22
+ if (clickHandleCondition) {
23
+ const target: HTMLElement = event.target as HTMLElement;
24
+
25
+ if (isNullOrUndefined(target)) {
26
+ return;
27
+ }
28
+
29
+ const relatedComponent: Element | null =
30
+ target.closest(selector);
31
+
32
+ if (isNull(relatedComponent)) {
33
+ clickHandleChange();
34
+ }
35
+ }
36
+ // eslint-disable-next-line react-hooks/exhaustive-deps
37
+ }, [clickHandleCondition, selector, clickHandleChange, dependencies]);
38
+
39
+ useEffect(() => {
40
+ if (isNullOrUndefined(clickListenCondition) || clickListenCondition === true) {
41
+ document.addEventListener("click", onDocumentClick);
42
+
43
+ return (): void => document.removeEventListener("click", onDocumentClick);
44
+ }
45
+
46
+ return () => { };
47
+ }, [clickListenCondition, onDocumentClick]);
48
+ };
@@ -0,0 +1,55 @@
1
+ import { DependencyList, useCallback, useEffect, useMemo, useState } from "react";
2
+
3
+ /** Paginator hook state */
4
+ export interface PaginationState {
5
+ /** Number of current page */
6
+ currentPage: number;
7
+
8
+ /** Amount of pages */
9
+ pagesCount: number;
10
+
11
+ /** Handler of page change */
12
+ onPageChange: (page: number) => void;
13
+ }
14
+
15
+ /** Default page size */
16
+ const defaultPageSize: number = 30;
17
+
18
+ /**
19
+ * Hook to pagination state, return hooked values and handler for pagination
20
+ * @param length Pagionation items count
21
+ * @param size Page size. Default is 30
22
+ * @param initPage Initial page. Default is 1
23
+ * @param dependencies List of dependencies. On any dependency update current page will be set to 1
24
+ * @returns Pair of hook-stored state and handler for slicing current page items
25
+ */
26
+ export const usePagination = (
27
+ length: number,
28
+ size: number = defaultPageSize,
29
+ initPage: number = 1,
30
+ dependencies: DependencyList = []
31
+ ): [PaginationState, (data: Array<any>) => Array<any>] => {
32
+ const [currentPage, setCurrentPage] = useState(initPage);
33
+ const count = useMemo(() => Math.ceil(length / size), [size, length]);
34
+ const onChange = useCallback((page: number) => setCurrentPage(page), [setCurrentPage]);
35
+
36
+ const paginate = useCallback(
37
+ (data: Array<any>): Array<any> => {
38
+ const limit = size;
39
+ const offstet = (currentPage - 1) * size;
40
+
41
+ return data.slice(offstet, offstet + limit);
42
+ },
43
+ [size, currentPage]
44
+ );
45
+
46
+ const state = useMemo(() => ({
47
+ currentPage: currentPage,
48
+ pagesCount: count,
49
+ onPageChange: onChange
50
+ }), [currentPage, count, onChange]);
51
+
52
+ useEffect(() => setCurrentPage(1), dependencies);
53
+
54
+ return [state, paginate];
55
+ };
package/src/index.ts ADDED
@@ -0,0 +1,3 @@
1
+ export * from "./components";
2
+ export * from "./hooks";
3
+ export * from "./utils";
@@ -0,0 +1,26 @@
1
+ import { isNullOrUndefined } from "@bodynarf/utils";
2
+
3
+ import { DataAttributes } from "@bbr";
4
+
5
+ /**
6
+ * Map object with key-value pairs to html data attributes format
7
+ * @param dataAttributes Object with data attribute values
8
+ * @returns Object that could be injected into react html element as data-* attribute values
9
+ */
10
+ export const mapDataAttributes = (dataAttributes: DataAttributes): object => {
11
+ const mappedAttributes =
12
+ Object
13
+ .entries(dataAttributes)
14
+ .reduce((result, [key, value]) => {
15
+ if (isNullOrUndefined(value)) {
16
+ return result;
17
+ }
18
+
19
+ const newKey = key.startsWith("data-") ? key : `data-${key}`;
20
+
21
+ result[newKey] = value;
22
+ return result;
23
+ }, {} as any);
24
+
25
+ return mappedAttributes;
26
+ };
@@ -0,0 +1,42 @@
1
+ import { isNullOrUndefined } from "@bodynarf/utils";
2
+
3
+ import { ElementColor, ValidationState, ValidationStatus } from "@bbr/components";
4
+
5
+ /**
6
+ * Get current validation state values
7
+ * @param style Component style color
8
+ * @param validationState Current form item validation state
9
+ * @returns [Is validation applicable; classname attribute value; validation messages]
10
+ */
11
+ export const getValidationValues = (style?: ElementColor, validationState?: ValidationState): [boolean, string, Array<string>] => {
12
+ const validationStateDefined = !isNullOrUndefined(validationState) && validationState!.status !== ValidationStatus.None;
13
+ const styleClassName = getStyleClassName(style, validationState);
14
+
15
+ const messages = validationState?.messages ?? [];
16
+
17
+ return [validationStateDefined, styleClassName, messages];
18
+ }
19
+
20
+ /**
21
+ * Get classname attribute value based on current validation state and form item component style prop
22
+ * @param style Component style color
23
+ * @param validationState Current form item validation state
24
+ * @returns Classname attribute value
25
+ */
26
+ export const getStyleClassName = (style?: ElementColor, validationState?: ValidationState): string => {
27
+ if (isNullOrUndefined(validationState)) {
28
+ return isNullOrUndefined(style) ? "" : `is-${style}`;
29
+ }
30
+
31
+ const { status } = validationState!;
32
+ switch (status) {
33
+ case ValidationStatus.Valid: {
34
+ return "is-success";
35
+ }
36
+ case ValidationStatus.Invalid: {
37
+ return "is-danger";
38
+ }
39
+ }
40
+
41
+ return isNullOrUndefined(style) ? "" : `is-${style}`;
42
+ };
@@ -0,0 +1,2 @@
1
+ export * from "./formValidation";
2
+ export * from "./dataAttributes";
package/tsconfig.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "esnext",
4
+ "jsx": "react-jsx",
5
+ "module": "ESNext",
6
+ "esModuleInterop": true,
7
+ "forceConsistentCasingInFileNames": true,
8
+ "strict": true,
9
+ "skipLibCheck": true,
10
+ "declaration": true,
11
+ "declarationMap": true,
12
+ "outDir": "./dist",
13
+ "incremental": true,
14
+ "moduleResolution": "Node",
15
+ "noUnusedLocals": true,
16
+ "noUnusedParameters": true,
17
+ "noImplicitReturns": true,
18
+ "baseUrl": "./",
19
+ "paths": {
20
+ "@bbr": [
21
+ "./src"
22
+ ],
23
+ "@bbr/components": [
24
+ "./src/components"
25
+ ],
26
+ "@bbr/components/*": [
27
+ "./src/components/*",
28
+ "./src/components/primitives/*"
29
+ ],
30
+ "@bbr/hooks": [
31
+ "./src/hooks"
32
+ ],
33
+ "@bbr/utils": [
34
+ "./src/utils"
35
+ ]
36
+ }
37
+ },
38
+ "exclude": [
39
+ "node_modules",
40
+ "dist"
41
+ ]
42
+ }
File without changes
File without changes
File without changes
File without changes
File without changes