@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,41 @@
1
+ {
2
+ "name": "@bodynarf/react.components",
3
+ "version": "1.7.4",
4
+ "author": {
5
+ "name": "Artem",
6
+ "email": "bodynar@gmail.com"
7
+ },
8
+ "repository": {
9
+ "url": "https://github.com/bodynar/bodynarf.react-components",
10
+ "type": "git"
11
+ },
12
+ "bugs": {
13
+ "url": "https://github.com/bodynar/bodynarf.react-components/issues",
14
+ "email": "bodynar@gmail.com"
15
+ },
16
+ "keywords": [
17
+ "ts",
18
+ "typescript",
19
+ "react",
20
+ "react component",
21
+ "bulma"
22
+ ],
23
+ "scripts": {
24
+ "build": "npx tsc && tsc-alias -p tsconfig.json",
25
+ "transfer": "copy package.json dist && copy readme.md dist",
26
+ "build_transfer": "npm run build && npm run transfer && cd dist",
27
+ "publish_pkg": "npm run build_transfer && npm publish --access=public"
28
+ },
29
+ "devDependencies": {
30
+ "@types/react": "^18.0.11",
31
+ "@types/react-dom": "^18.0.5",
32
+ "tsc-alias": "^1.8.6",
33
+ "typescript": "^4.7.3"
34
+ },
35
+ "peerDependencies": {
36
+ "@bodynarf/utils": "^1.1.1",
37
+ "bulma": "^0.9.4",
38
+ "react": "^18.1.0",
39
+ "react-dom": "^18.1.0"
40
+ }
41
+ }
package/dist/readme.md ADDED
@@ -0,0 +1,56 @@
1
+ # About
2
+ Small library with react components based on Bulma CSS framework&nbsp; <a href="https://bulma.io" title="Bulma css framework">
3
+ <img
4
+ src="https://bulma.io/images/made-with-bulma.png"
5
+ alt="Made with Bulma"
6
+ width="128"
7
+ height="24"/>
8
+ </a>
9
+
10
+ ## Installation
11
+ 1. Install [React](https://reactjs.org/)
12
+ 2. Install [Bulma](https://bulma.io/)
13
+ 3. Make sure you imported bulma styles in parent container
14
+ 4. *(Optional)* To use **Icon** component - install [Bootstrap Icons](https://icons.getbootstrap.com/) and make sure you imported these styles in parent container
15
+ 5. *(Optional)* To use **Checkbox** component - install [bulma-checkradio](https://www.npmjs.com/package/bulma-checkradio) and make sure you imported these styles in parent container
16
+
17
+ ## Description
18
+
19
+ Mostly all components have root class with `bbr-` prefix. BBR - Bodynarf Bulma React
20
+ ### Simple components
21
+ Simple react components based on html elements.
22
+
23
+ - **Date** - date input;
24
+ - **Multiline** - multiline text input;
25
+ - **Text**- single line text input;
26
+ - **Anchor**
27
+ - **Button**
28
+ - **Number**
29
+ - **Password** - single line password input (requires icon, see *p.4*)
30
+ - **Icon** - *see p.4 of installation*
31
+ - **Dropdown** - custom dropdown component, based on html div elements & css. Allows to use icon in elements
32
+ - **Checkbox** - (*see p.5 of installation*) Checkbox component based on [bulma-checkradio](https://wikiki.github.io/form/checkradio)
33
+
34
+ ### Complex components
35
+ Complex components is set of components built via combining simple components or represent complex logical component
36
+ - **Search** - Search bar with optional button to perform search
37
+ - **Paginator** - Pagination elements to navigate through paged list
38
+
39
+ Example:
40
+ ```tsx
41
+ const [{ currentPage, pagesCount, onPageChange }, paginate] = usePagination(items.length, ITEMS_PER_PAGE);
42
+ const pageItems = useMemo(() => paginate(items), [paginate, items]);
43
+
44
+ // ...
45
+
46
+ <Paginator
47
+ count={pagesCount}
48
+ currentPage={currentPage}
49
+ onPageChange={onPageChange}
50
+ />
51
+ ```
52
+
53
+ ### Hooks
54
+
55
+ - **useComponentOutsideClick** - Attach watcher for mouse clicks and emmit event when click was outside of component
56
+ - **usePagination** - Create a pagination config to easily manipulate with Paginator component
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bodynarf/react.components",
3
- "version": "1.7.2",
3
+ "version": "1.7.4",
4
4
  "author": {
5
5
  "name": "Artem",
6
6
  "email": "bodynar@gmail.com"
@@ -22,7 +22,9 @@
22
22
  ],
23
23
  "scripts": {
24
24
  "build": "npx tsc && tsc-alias -p tsconfig.json",
25
- "publish": "npx tsc && copy package.json dist && copy readme.md dist && cd dist && npm publish --access=public"
25
+ "transfer": "copy package.json dist && copy readme.md dist",
26
+ "build_transfer": "npm run build && npm run transfer && cd dist",
27
+ "publish_pkg": "npm run build_transfer && npm publish --access=public"
26
28
  },
27
29
  "devDependencies": {
28
30
  "@types/react": "^18.0.11",
@@ -30,7 +32,7 @@
30
32
  "tsc-alias": "^1.8.6",
31
33
  "typescript": "^4.7.3"
32
34
  },
33
- "dependencies": {
35
+ "peerDependencies": {
34
36
  "@bodynarf/utils": "^1.1.1",
35
37
  "bulma": "^0.9.4",
36
38
  "react": "^18.1.0",
@@ -0,0 +1,3 @@
1
+ .help.m-help {
2
+ white-space: pre-line;
3
+ }
@@ -0,0 +1,84 @@
1
+ import { useCallback, useEffect, useRef, useState } from "react";
2
+
3
+ import { getClassName, isNullOrUndefined } from "@bodynarf/utils";
4
+
5
+ import "./style.scss";
6
+
7
+ import { ElementSize } from "@bbr/components";
8
+ import Icon from "@bbr/components/icon";
9
+
10
+ import { mapDataAttributes } from "@bbr/utils";
11
+
12
+ import { AccordionProps } from "@bbr/components/accordion";
13
+
14
+ /** Accordion panel */
15
+ const Accordion = ({
16
+ children, caption,
17
+ style, size, defaultExpanded,
18
+ onToggle,
19
+ className, data, title,
20
+ }: AccordionProps): JSX.Element => {
21
+ const expandablePanelRef = useRef<HTMLDivElement>(null);
22
+ const [isExpanded, setIsExpanded] = useState(defaultExpanded ?? false);
23
+ const [maxHeight, setMaxHeight] = useState<number | undefined>(defaultExpanded === true ? undefined : 0);
24
+
25
+ const toggleCollapse = useCallback(
26
+ () => setMaxHeight(isExpanded ? 0 : expandablePanelRef.current!.scrollHeight),
27
+ [isExpanded]
28
+ );
29
+
30
+ useEffect(() => {
31
+ if (defaultExpanded === true && !isNullOrUndefined(expandablePanelRef.current)) {
32
+ setMaxHeight(expandablePanelRef.current!.scrollHeight);
33
+ }
34
+ }, [defaultExpanded]);
35
+
36
+ useEffect(() => setIsExpanded(maxHeight !== 0), [maxHeight]);
37
+ useEffect(() => {
38
+ onToggle?.call(undefined, !isExpanded);
39
+ }, [isExpanded, onToggle]);
40
+
41
+ const elClassName = getClassName([
42
+ "bbr-accordion",
43
+ "message",
44
+ isNullOrUndefined(style) ? "" : `is-${style}`,
45
+ isNullOrUndefined(size) ? "" : `is-${size}`,
46
+ className,
47
+ ]);
48
+
49
+ const dataAttributes = isNullOrUndefined(data)
50
+ ? undefined
51
+ : mapDataAttributes(data!);
52
+
53
+ return (
54
+ <article
55
+ className={elClassName}
56
+ aria-expanded={isExpanded}
57
+ {...dataAttributes}
58
+ >
59
+ <div
60
+ className="message-header is-unselectable"
61
+ onClick={toggleCollapse}
62
+ >
63
+ <span title={title}>
64
+ {caption}
65
+ </span>
66
+ <Icon
67
+ name="arrow-down"
68
+ size={size ?? ElementSize.Medium}
69
+ />
70
+ </div>
71
+ <div
72
+ className="message-body"
73
+ ref={expandablePanelRef}
74
+ style={{ maxHeight: `${maxHeight}px` }}
75
+ >
76
+ <div className="message-body__content">
77
+ {children}
78
+ </div>
79
+ </div>
80
+ </article>
81
+ );
82
+ };
83
+
84
+ export default Accordion;
@@ -0,0 +1,2 @@
1
+ export { default } from "./component";
2
+ export * from "./types";
@@ -0,0 +1,22 @@
1
+ import { BaseElementProps, ElementColor, ElementSize } from "@bbr/components";
2
+
3
+ /** Accordion panel props type */
4
+ export interface AccordionProps extends BaseElementProps {
5
+ /** Content that should be collapsed inside */
6
+ children: React.ReactNode;
7
+
8
+ /** Collapsible panel caption */
9
+ caption: string;
10
+
11
+ /** Default expanded state */
12
+ defaultExpanded?: boolean;
13
+
14
+ /** Panel size */
15
+ size?: ElementSize;
16
+
17
+ /** Color */
18
+ style?: ElementColor;
19
+
20
+ /** Extra handler for toggling visibility. Doesn't affect component logic */
21
+ onToggle?: (collapsed: boolean) => void;
22
+ }
@@ -0,0 +1,40 @@
1
+ import { isNullOrUndefined, isNullOrEmpty, getClassName } from "@bodynarf/utils";
2
+
3
+ import "./style.scss";
4
+
5
+ import { AnchorProps, ElementIcon } from "@bbr/components";
6
+
7
+ import { SimpleAnchor } from "@bbr/components/anchor/components/simpleAnchor";
8
+ import { AnchorWithIcon } from "@bbr/components/anchor/components/anchorWithIcon";
9
+
10
+ /** Anchor component */
11
+ export default function Anchor(props: AnchorProps): JSX.Element {
12
+ if (isNullOrUndefined(props.caption) && isNullOrUndefined(props.icon)) {
13
+ throw new Error("No anchor content provided");
14
+ }
15
+
16
+ const className: string = getClassName([
17
+ "bbr-anchor",
18
+ !isNullOrEmpty(props.className) ? ` ${props.className}` : "",
19
+ props.disableHovering === true ? " bbr-anchor--unhoverable" : ""
20
+ ]);
21
+
22
+ if (isNullOrUndefined(props.icon)) {
23
+ return (
24
+ <SimpleAnchor
25
+ {...props}
26
+ className={className}
27
+ onClick={props.onClick}
28
+ />
29
+ );
30
+ }
31
+
32
+ return (
33
+ <AnchorWithIcon
34
+ {...props}
35
+ className={className}
36
+ onClick={props.onClick}
37
+ icon={props.icon as ElementIcon}
38
+ />
39
+ );
40
+ }
@@ -0,0 +1,15 @@
1
+ .bbr-anchor {
2
+ text-decoration: none;
3
+ color: inherit;
4
+
5
+ transition: 0.15s ease-in-out color;
6
+
7
+ &:not(&--unhoverable):hover {
8
+ text-decoration: underline;
9
+ color: #3273dc;
10
+ }
11
+
12
+ .bbr-icon {
13
+ transition: none;
14
+ }
15
+ }
@@ -0,0 +1,45 @@
1
+ import { isNullOrEmpty } from "@bodynarf/utils";
2
+
3
+ import Icon from "@bbr/components/icon";
4
+
5
+ import { AnchorWithIconProps } from "@bbr/components/anchor";
6
+
7
+ /** Anchor with icon component */
8
+ export const AnchorWithIcon = ({ href, className, onClick, caption, title, target, icon }: AnchorWithIconProps): JSX.Element => {
9
+ const iconPosition = icon.position || "left";
10
+
11
+ const iconClassName: string | undefined = isNullOrEmpty(caption)
12
+ ? icon.className
13
+ : iconPosition === "left"
14
+ ? `${icon.className} bbr-icon--left`
15
+ : `${icon.className} bbr-icon--right`;
16
+
17
+
18
+ if (iconPosition === "left") {
19
+ return (
20
+ <a
21
+ href={href}
22
+ className={className}
23
+ title={title}
24
+ target={target}
25
+ onClick={onClick}
26
+ >
27
+ <Icon {...icon} className={iconClassName} />
28
+ {caption}
29
+ </a>
30
+ );
31
+ }
32
+
33
+ return (
34
+ <a
35
+ href={href}
36
+ className={className}
37
+ title={title}
38
+ target={target}
39
+ onClick={onClick}
40
+ >
41
+ {caption}
42
+ <Icon {...icon} className={iconClassName} />
43
+ </a>
44
+ );
45
+ };
@@ -0,0 +1,16 @@
1
+ import { SimpleAnchorProps } from "@bbr/components/anchor";
2
+
3
+ /** Simple anchor component, without icon */
4
+ export const SimpleAnchor = ({ href, className, onClick, caption, title, target }: SimpleAnchorProps): JSX.Element => {
5
+ return (
6
+ <a
7
+ className={className}
8
+ href={href}
9
+ title={title}
10
+ target={target}
11
+ onClick={onClick}
12
+ >
13
+ {caption}
14
+ </a>
15
+ );
16
+ };
@@ -0,0 +1,2 @@
1
+ export { default } from "./component";
2
+ export * from "./types";
@@ -0,0 +1,54 @@
1
+ import { ElementIcon } from "@bbr/components";
2
+
3
+ /** Anchor component props type */
4
+ export interface AnchorProps {
5
+ /** Link destination */
6
+ href?: string;
7
+
8
+ /** Link caption */
9
+ caption?: string;
10
+
11
+ /** Click handler */
12
+ onClick?: () => void;
13
+
14
+ /** Configuration od inner icon */
15
+ icon?: ElementIcon;
16
+
17
+ /** Title of anchor */
18
+ title?: string;
19
+
20
+ /** Where to open the linked document */
21
+ target?: "_blank" | "_top";
22
+
23
+ /** Additional class names */
24
+ className?: string;
25
+
26
+ /** Should css hovering effects be disabled */
27
+ disableHovering?: boolean;
28
+ }
29
+
30
+ export interface SimpleAnchorProps {
31
+ /** Link destination */
32
+ href?: string;
33
+
34
+ /** Class names */
35
+ className: string;
36
+
37
+ /** Click handler */
38
+ onClick?: () => void;
39
+
40
+ /** Link caption */
41
+ caption?: string;
42
+
43
+ /** Title of anchor */
44
+ title?: string;
45
+
46
+ /** Where to open the linked document */
47
+ target?: "_blank" | "_top";
48
+ }
49
+
50
+ export interface AnchorWithIconProps extends SimpleAnchorProps {
51
+ /** Configuration of icon */
52
+ icon: ElementIcon;
53
+ }
54
+
@@ -0,0 +1,58 @@
1
+ import { isNullOrEmpty, isNullOrUndefined, getClassName } from "@bodynarf/utils";
2
+
3
+ import "./style.scss";
4
+
5
+ import { ButtonProps, ElementIcon } from "@bbr/components";
6
+
7
+ import { mapDataAttributes } from "@bbr/utils";
8
+
9
+ import { ButtonWithIcon } from "@bbr/components/button/components/buttonWithIcon";
10
+ import { SimpleButton } from "@bbr/components/button/components/simpleButton";
11
+
12
+ /**
13
+ * Button component
14
+ * @throws Caption is not defined and icon configuration is not defined at the same time
15
+ */
16
+ export default function Button(props: ButtonProps): JSX.Element {
17
+ if (isNullOrEmpty(props.caption) && isNullOrUndefined(props.icon)) {
18
+ throw new Error("No button content provided.");
19
+ }
20
+
21
+ const className: string = getClassName([
22
+ "button",
23
+ "bbr-button",
24
+ props.className,
25
+ `is-${props.type}`,
26
+ props.light === true ? "is-light" : "",
27
+ !isNullOrUndefined(props.size) ? `is-${props.size}` : "",
28
+ props.outlined === true ? "is-outlined" : "",
29
+ props.rounded === true ? "is-rounded" : "",
30
+ props.isLoading === true ? "is-loading" : "",
31
+ props.static === true ? "is-static" : "",
32
+ ]);
33
+
34
+ const data = isNullOrUndefined(props.data)
35
+ ? undefined
36
+ : mapDataAttributes(props.data!);
37
+
38
+ if (!isNullOrUndefined(props.icon)) {
39
+ return (
40
+ <ButtonWithIcon
41
+ {...props}
42
+ className={className}
43
+ onClick={props.onClick}
44
+ icon={props.icon as ElementIcon}
45
+ data={data}
46
+ />
47
+ );
48
+ } else {
49
+ return (
50
+ <SimpleButton
51
+ {...props}
52
+ className={className}
53
+ onClick={props.onClick}
54
+ data={data}
55
+ />
56
+ );
57
+ }
58
+ }
@@ -0,0 +1,12 @@
1
+ .bbr-button {
2
+ transition: 0.15s ease-in-out;
3
+ transition-property: background-color, border-color;
4
+
5
+ &--icon-only {
6
+ padding: 0.55rem !important;
7
+ }
8
+
9
+ &.is-warning.is-outlined:not([disabled]):hover {
10
+ color: #000 !important;
11
+ }
12
+ }
@@ -0,0 +1,53 @@
1
+ import { isNullOrEmpty } from "@bodynarf/utils";
2
+
3
+ import Icon from "@bbr/components/icon";
4
+
5
+ import { ButtonWithIconProps } from "@bbr/components/button";
6
+
7
+ /** Button with icon component */
8
+ export const ButtonWithIcon = ({
9
+ className, disabled,
10
+ onClick,
11
+ caption, title, icon,
12
+ data,
13
+ }: ButtonWithIconProps): JSX.Element => {
14
+ const iconPosition = icon.position || "left";
15
+
16
+ const iconClassName: string | undefined = isNullOrEmpty(caption)
17
+ ? icon.className
18
+ : iconPosition === "left"
19
+ ? `${icon.className} bbr-icon--left`
20
+ : `${icon.className} bbr-icon--right`;
21
+
22
+ className = isNullOrEmpty(caption)
23
+ ? `${className} bbr-button--icon-only`
24
+ : className;
25
+
26
+ if (iconPosition === "left") {
27
+ return (
28
+ <button
29
+ className={className}
30
+ disabled={disabled}
31
+ onClick={onClick}
32
+ title={title}
33
+ {...data}
34
+ >
35
+ <Icon {...icon} className={iconClassName} />
36
+ {caption}
37
+ </button>
38
+ );
39
+ }
40
+
41
+ return (
42
+ <button
43
+ className={className}
44
+ disabled={disabled}
45
+ onClick={onClick}
46
+ title={title}
47
+ {...data}
48
+ >
49
+ {caption}
50
+ <Icon {...icon} className={iconClassName} />
51
+ </button>
52
+ );
53
+ };
@@ -0,0 +1,21 @@
1
+ import { SimpleButtonProps } from "@bbr/components/button";
2
+
3
+ /** Simple button component, without icon */
4
+ export const SimpleButton = ({
5
+ className, disabled,
6
+ onClick,
7
+ caption, title,
8
+ data
9
+ }: SimpleButtonProps): JSX.Element => {
10
+ return (
11
+ <button
12
+ className={className}
13
+ disabled={disabled}
14
+ onClick={onClick}
15
+ title={title}
16
+ {...data}
17
+ >
18
+ {caption}
19
+ </button>
20
+ );
21
+ };
@@ -0,0 +1,2 @@
1
+ export { default } from "./component";
2
+ export * from "./types";
@@ -0,0 +1,64 @@
1
+ import { BaseElementProps, ElementIcon, ElementSize } from "@bbr/components";
2
+
3
+ export interface ButtonProps extends BaseElementProps {
4
+ /** Button displaying text */
5
+ caption?: string;
6
+
7
+ /** Type of button (color) */
8
+ type: ButtonType;
9
+
10
+ /** Configuration of inner icon */
11
+ icon?: ElementIcon;
12
+
13
+ /** Button size */
14
+ size?: ElementSize;
15
+
16
+ /** Is button uses light version of color */
17
+ light?: boolean;
18
+
19
+ /** Is button outlined */
20
+ outlined?: boolean;
21
+
22
+ /** Should button corners be rounded */
23
+ rounded?: boolean;
24
+
25
+ /** Display loading icon */
26
+ isLoading?: boolean;
27
+
28
+ /** Is button disabled */
29
+ disabled?: boolean;
30
+
31
+ /** Is non-interactive button */
32
+ static?: boolean;
33
+
34
+ /** Click action handler */
35
+ onClick?: () => void;
36
+ };
37
+
38
+ /** Button types according to Bulma framework */
39
+ export type ButtonType =
40
+ "default" /** color: transparent */
41
+ | "primary" /** color: sea-wave green */
42
+ | "link" /** color: blue-violet */
43
+ | "info" /** color: sky-blue */
44
+ | "success" /** color: green */
45
+ | "warning" /** color: yellow */
46
+ | "danger" /** color: red */
47
+ | "white" /** color: white */
48
+ | "light" /** color: light-gray */
49
+ | "dark" /** color: dark-gray */
50
+ | "black" /** color: black */
51
+ | "text" /** Underline text with color: gray */
52
+ | "ghost" /** Blue underline text with color: transparent */
53
+ ;
54
+
55
+ /** Simple button props type */
56
+ export interface SimpleButtonProps extends Omit<ButtonProps, 'className'> {
57
+ /** Button class name*/
58
+ className: string;
59
+ };
60
+
61
+ export interface ButtonWithIconProps extends SimpleButtonProps {
62
+ /** Icon configuration */
63
+ icon: ElementIcon;
64
+ };
@@ -0,0 +1,20 @@
1
+ import { isNullOrUndefined } from "@bodynarf/utils";
2
+
3
+ import "./style.scss";
4
+
5
+ import DropdownWithLabel from "@bbr/components/dropdown/components/withLabel";
6
+ import DropdownCompact from "@bbr/components/dropdown/components/compact";
7
+
8
+ import { DropdownProps } from "@bbr/components/dropdown";
9
+
10
+ /** Dropdown component */
11
+ const Dropdown = (props: DropdownProps): JSX.Element => {
12
+ if (!isNullOrUndefined(props.label)) {
13
+ return <DropdownWithLabel {...props} />;
14
+ } else {
15
+ return <DropdownCompact {...props} />;
16
+ }
17
+ };
18
+
19
+ export default Dropdown;
20
+