@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,131 @@
1
+ import { useCallback, useMemo, MouseEvent } from "react";
2
+
3
+ import { getClassName, isNullOrEmpty } from "@bodynarf/utils";
4
+
5
+ import { generatePageNumbers, PaginatorProps } from "@bbr/components/paginator";
6
+
7
+ /**
8
+ * Paginator component.
9
+ * Used for visualization of pagging configuration
10
+ */
11
+ export default function Paginator({
12
+ count, onPageChange, currentPage,
13
+ position, rounded, size, className,
14
+ showNextButtons, nearPagesCount
15
+ }: PaginatorProps): JSX.Element {
16
+ const page = currentPage || 0;
17
+
18
+ const pageChange = useCallback(
19
+ (event: MouseEvent<HTMLElement>) => {
20
+ const target = event.target as HTMLElement;
21
+
22
+ const pageRaw = target.dataset["page"];
23
+
24
+ if (isNullOrEmpty(pageRaw)) {
25
+ return;
26
+ }
27
+
28
+ const page = +pageRaw!;
29
+
30
+ if (page !== currentPage && page > 0 && page <= count) {
31
+ onPageChange(page);
32
+ }
33
+ }, [onPageChange, currentPage, count]);
34
+
35
+ const pageNumbers = useMemo(() => generatePageNumbers(page, count, nearPagesCount), [page, count]);
36
+
37
+ const canGoBack = useMemo(() => page > 1, [page]);
38
+ const canGoForward = useMemo(() => page < count, [page, count]);
39
+
40
+ if (pageNumbers.length <= 1) {
41
+ return <></>;
42
+ }
43
+
44
+ const classNames = getClassName([
45
+ "bbr-paginator",
46
+ "pagination",
47
+ paginationPositionToClassMap.has(position || "") ? paginationPositionToClassMap.get(position || "") : "",
48
+ rounded == true ? "is-rounded" : "",
49
+ isNullOrEmpty(size) ? "" : `is-${size}`,
50
+ className
51
+ ]);
52
+
53
+ return (
54
+ <nav className={classNames} role="navigation" aria-label="pagination">
55
+ {showNextButtons === true &&
56
+ <>
57
+ <a
58
+ className={`pagination-previous${canGoBack ? "" : " is-disabled"}`}
59
+ data-page={page - 1}
60
+ onClick={pageChange}
61
+ >
62
+ Previous
63
+ </a>
64
+ <a
65
+ className={`pagination-next${canGoForward ? "" : " is-disabled"}`}
66
+ data-page={page + 1}
67
+ onClick={pageChange}
68
+ >
69
+ Next page
70
+ </a>
71
+ </>
72
+ }
73
+ <ul className="pagination-list">
74
+ {page !== 1 && !pageNumbers.includes(1) &&
75
+ <>
76
+ <li>
77
+ <a
78
+ className="pagination-link"
79
+ aria-label="Goto page 1"
80
+ data-page={1}
81
+ onClick={pageChange}
82
+ >
83
+ 1
84
+ </a>
85
+ </li>
86
+ <li>
87
+ <span className="pagination-ellipsis">&hellip;</span>
88
+ </li>
89
+ </>
90
+ }
91
+ {pageNumbers.map(x =>
92
+ <li key={x}>
93
+ <a
94
+ className={`pagination-link${page === x ? " is-current" : ""}`}
95
+ aria-label={`Goto page ${x}`}
96
+ data-page={x}
97
+ onClick={pageChange}
98
+ >
99
+ {x}
100
+ </a>
101
+ </li>
102
+ )}
103
+ {page != count && !pageNumbers.includes(count) &&
104
+ <>
105
+ <li>
106
+ <span className="pagination-ellipsis">&hellip;</span>
107
+ </li>
108
+ <li>
109
+ <a
110
+ className="pagination-link"
111
+ aria-label={`Goto page ${count}`}
112
+ data-page={count}
113
+ onClick={pageChange}
114
+ >
115
+ {count}
116
+ </a>
117
+ </li>
118
+ </>
119
+ }
120
+ </ul>
121
+ </nav>
122
+ );
123
+ }
124
+
125
+ /**
126
+ * Position setting to css class name map
127
+ */
128
+ const paginationPositionToClassMap: Map<string, string> = new Map([
129
+ ["center", "is-centered"],
130
+ ["right", "is-right"]
131
+ ]);
@@ -0,0 +1,3 @@
1
+ export { default } from "./component";
2
+ export * from "./types";
3
+ export * from "./utils";
@@ -0,0 +1,40 @@
1
+ import { ElementSize } from "@bbr/components";
2
+
3
+ export interface PaginatorProps {
4
+ /** Amount of pages */
5
+ count: number;
6
+
7
+ /** Page change handler */
8
+ onPageChange: (page: number) => void;
9
+
10
+ /** Current page */
11
+ currentPage?: number;
12
+
13
+ /**
14
+ * Page numbers position.
15
+ * Useful with `showNextButtons = true`
16
+ */
17
+ position?:
18
+ | "left" /* default */
19
+ | "center"
20
+ | "right"
21
+ ;
22
+
23
+ /** Buttons should have rounded borders */
24
+ rounded?: boolean;
25
+
26
+ /** Size of paginator component elements */
27
+ size?: ElementSize;
28
+
29
+ /** Additional class names */
30
+ className?: string;
31
+
32
+ /** Display "Previous" \ "Next" buttons */
33
+ showNextButtons?: boolean;
34
+
35
+ /**
36
+ * Max amount of pages from left & right from current page. `3` by default
37
+ * @description If set to 2 it will show `[1, 2], 3, [4, 5]`
38
+ */
39
+ nearPagesCount?: number;
40
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Get nearest numbers from each side (left & right)
3
+ * @param page Number of current page
4
+ * @param count Amount of pages
5
+ * @param size Amount of pages from left & right to current page. Default is 3
6
+ * @throws Current page is greater than pages amount
7
+ * @returns Array of nearest numbers to current page
8
+ */
9
+ export const generatePageNumbers = (page: number, count: number, size: number = 3): Array<number> => {
10
+ if (page < 0 || count <= 0 || page > count) {
11
+ return [];
12
+ }
13
+
14
+ return [
15
+ ...new Array(size).fill(page).map((_, i) => page - i - 1).filter(x => x > 0 && x < page).reverse(),
16
+ page,
17
+ ...new Array(size).fill(page).map((_, i) => page + i + 1).filter(x => x > 0 && x > page && x <= count)
18
+ ];
19
+ };
@@ -0,0 +1,102 @@
1
+ import { ChangeEvent, useCallback } from "react";
2
+
3
+ import { generateGuid, getClassName, isNullOrUndefined } from "@bodynarf/utils";
4
+
5
+ import "./style.scss";
6
+
7
+ import { CheckBoxProps } from "@bbr/components/checkbox";
8
+
9
+ /** Boolean input component */
10
+ const CheckBox = ({
11
+ label,
12
+ onValueChange, defaultValue,
13
+ name, disabled,
14
+ rounded, size, style, block, withoutBorder, hasBackgroundColor, fixBackgroundColor,
15
+ isFormLabel,
16
+ }: CheckBoxProps): JSX.Element => {
17
+ const onChecked = useCallback(
18
+ (event: ChangeEvent<HTMLInputElement>) => onValueChange(event.target.checked),
19
+ [onValueChange]
20
+ );
21
+
22
+ const id = name || generateGuid();
23
+
24
+ const className = getClassName([
25
+ "is-checkradio",
26
+ "m-check-radio",
27
+ (hasBackgroundColor ?? false) ? "has-background-color" : "",
28
+ (fixBackgroundColor ?? false) && (hasBackgroundColor ?? false) ? "m-has-background-color" : "",
29
+ isNullOrUndefined(size) ? "" : size === "normal" ? "" : `is-${size}`,
30
+ (rounded ?? false) ? "is-circle" : "",
31
+ isNullOrUndefined(style) ? "" : `is-${style}`,
32
+ (block ?? false) ? "is-block" : "",
33
+ (withoutBorder ?? false) ? "has-no-border" : "",
34
+ ]);
35
+
36
+ if (!isNullOrUndefined(label) && isFormLabel === true) {
37
+ const labelClassName = getClassName([
38
+ "label",
39
+ label!.className
40
+ ]);
41
+
42
+ const labelContainerClassName = getClassName([
43
+ "field-label",
44
+ label!.horizontalContainerClassName
45
+ ]);
46
+
47
+ const fieldContainerClassName = getClassName([
48
+ "field-body",
49
+ label!.horizontalFieldContainerClassName
50
+ ]);
51
+
52
+ return (
53
+ <div className="bbr-input field is-horizontal">
54
+ <div className={labelContainerClassName}>
55
+ <label
56
+ className={labelClassName}
57
+ >
58
+ {label!.caption}
59
+ </label>
60
+ </div>
61
+ <div className={fieldContainerClassName}>
62
+ <div className="field">
63
+ <input
64
+ type="checkbox"
65
+ name={id}
66
+ id={id}
67
+ disabled={disabled}
68
+ onChange={onChecked}
69
+ className={className}
70
+ defaultChecked={defaultValue}
71
+ />
72
+ <label
73
+ htmlFor={id}
74
+ >
75
+ </label>
76
+ </div>
77
+ </div>
78
+ </div>
79
+ );
80
+ }
81
+
82
+ return (
83
+ <div className="bbr-input field">
84
+ <input
85
+ type="checkbox"
86
+ name={id}
87
+ id={id}
88
+ disabled={disabled}
89
+ onChange={onChecked}
90
+ className={className}
91
+ defaultChecked={defaultValue}
92
+ />
93
+ <label
94
+ htmlFor={id}
95
+ >
96
+ {label?.caption}
97
+ </label>
98
+ </div>
99
+ );
100
+ };
101
+
102
+ export default CheckBox;
@@ -0,0 +1,10 @@
1
+ .is-checkradio.m-check-radio[type="checkbox"] {
2
+ &.has-background-color.m-has-background-color:not(:checked) + label::before {
3
+ border-color: #dbdbdb !important;
4
+ background-color: transparent !important;
5
+ }
6
+ & + label::before,
7
+ & + label:before {
8
+ top: 0.125rem;
9
+ }
10
+ }
@@ -0,0 +1,2 @@
1
+ export { default } from "./component";
2
+ export * from "./types";
@@ -0,0 +1,29 @@
1
+ import { BaseInputElementProps } from "@bbr/components";
2
+
3
+ /** Checkbox component props type */
4
+ export interface CheckBoxProps extends BaseInputElementProps<boolean> {
5
+ /** Is full colored checkbox */
6
+ block?: boolean;
7
+
8
+ /** Remove the checkbox border */
9
+ withoutBorder?: boolean;
10
+
11
+ /**
12
+ * Checkbox has background color.
13
+ * Only works if style is set
14
+ */
15
+ hasBackgroundColor?: boolean;
16
+
17
+ /**
18
+ * Set unchecked background as transparent.
19
+ * Only used with `hasBackgroundColor` set as `true`
20
+ * @example `{ style: ElementColor.Info, hasBackgroundColor: true, fixBackgroundColor: true }` -
21
+ */
22
+ fixBackgroundColor?: boolean;
23
+
24
+ /**
25
+ * Display component with label as form element.
26
+ * Label will be placed at left
27
+ */
28
+ isFormLabel?: boolean;
29
+ }
@@ -0,0 +1,129 @@
1
+ import { ChangeEvent, useCallback } from "react";
2
+
3
+ import { generateGuid, getClassName, getValueOrDefault, isStringEmpty } from "@bodynarf/utils";
4
+
5
+ import "../../../../common.scss";
6
+
7
+ import { ElementSize } from "@bbr/components";
8
+ import { getValidationValues } from "@bbr/utils";
9
+
10
+ import { DateProps } from "@bbr/components/date";
11
+
12
+ /** Date input component */
13
+ const DatePicker = ({
14
+ defaultValue, onValueChange, readonly, disabled, validationState,
15
+ name,
16
+ size, className, rounded, loading, style,
17
+ label,
18
+ onBlur
19
+ }: DateProps): JSX.Element => {
20
+ const onChange = useCallback(
21
+ (event: ChangeEvent<HTMLInputElement>) =>
22
+ onValueChange(
23
+ isStringEmpty(event.target.value)
24
+ ? undefined
25
+ : new Date(event.target.value)
26
+ ),
27
+ [onValueChange]
28
+ );
29
+
30
+ const id = name || generateGuid();
31
+ const elSizeClassName = "is-{0}".format(getValueOrDefault(size, ElementSize.Normal));
32
+
33
+ const [isValidationDefined, styleClassName, validationMessages] = getValidationValues(style, validationState);
34
+
35
+ const elClassName = getClassName([
36
+ className,
37
+ elSizeClassName,
38
+ styleClassName,
39
+ rounded === true ? "is-rounded" : "",
40
+ "input",
41
+ ]);
42
+
43
+ const inputContainerClassName = getClassName([
44
+ "control",
45
+ loading === true ? "is-loading" : "",
46
+ ]);
47
+ const stingifiedDefValue = defaultValue?.toISOString().split("T")[0];
48
+
49
+ const labelClassName = getClassName([
50
+ "label",
51
+ !label.horizontal ? elSizeClassName : "",
52
+ label.className
53
+ ]);
54
+
55
+ if (label.horizontal) {
56
+ const labelContainerClassName = getClassName([
57
+ "field-label",
58
+ elSizeClassName,
59
+ label.horizontalContainerClassName
60
+ ]);
61
+
62
+ const fieldContainerClassName = getClassName([
63
+ "field-body",
64
+ label.horizontalFieldContainerClassName
65
+ ]);
66
+
67
+ return (
68
+ <div className="bbr-input field is-horizontal">
69
+ <div className={labelContainerClassName}>
70
+ <label
71
+ className={labelClassName}
72
+ htmlFor={id}
73
+ >
74
+ {label.caption}
75
+ </label>
76
+ </div>
77
+ <div className={fieldContainerClassName}>
78
+ <div className="field">
79
+ <div className={inputContainerClassName}>
80
+ <input
81
+ type="date"
82
+ className={elClassName}
83
+ readOnly={readonly}
84
+ disabled={disabled}
85
+ defaultValue={stingifiedDefValue}
86
+ onChange={onChange}
87
+ onBlur={onBlur}
88
+ name={id}
89
+ id={id}
90
+ />
91
+ </div>
92
+ {isValidationDefined && validationMessages.length > 0 &&
93
+ <p className={`help m-help ${styleClassName}`}>{validationMessages.join("\n")}</p>
94
+ }
95
+ </div>
96
+ </div>
97
+ </div>
98
+ );
99
+ }
100
+
101
+ return (
102
+ <div className="bbr-input field">
103
+ <label
104
+ className={labelClassName}
105
+ htmlFor={id}
106
+ >
107
+ {label.caption}
108
+ </label>
109
+ <div className={inputContainerClassName}>
110
+ <input
111
+ type="date"
112
+ className={elClassName}
113
+ readOnly={readonly}
114
+ disabled={disabled}
115
+ defaultValue={stingifiedDefValue}
116
+ onChange={onChange}
117
+ onBlur={onBlur}
118
+ name={id}
119
+ id={id}
120
+ />
121
+ </div>
122
+ {isValidationDefined && validationMessages.length > 0 &&
123
+ <p className={`help m-help ${styleClassName}`}>{validationMessages.join("\n")}</p>
124
+ }
125
+ </div>
126
+ );
127
+ };
128
+
129
+ export default DatePicker;
@@ -0,0 +1,2 @@
1
+ export { default } from "./component";
2
+ export * from "./types";
@@ -0,0 +1,10 @@
1
+ import { BaseInputElementProps, InputLabel } from "@bbr/components";
2
+
3
+ /** Date input component props type */
4
+ export interface DateProps extends Omit<BaseInputElementProps<Date | undefined>, "placeholder"> {
5
+ /** Label configuration */
6
+ label: InputLabel;
7
+
8
+ /** Focus out event handler */
9
+ onBlur?: () => void;
10
+ }
@@ -0,0 +1,7 @@
1
+ export * from "./checkbox";
2
+ export * from "./date";
3
+ export * from "./multiline";
4
+ export * from "./number";
5
+ export * from "./password";
6
+ export * from "./text";
7
+ export * from "./types";
@@ -0,0 +1,20 @@
1
+ import { isNullOrUndefined } from "@bodynarf/utils";
2
+
3
+ import "../../../../common.scss";
4
+
5
+ import { MultilineProps } from "@bbr/components/multiline";
6
+ import MultilineWithoutLabel from "@bbr/components/multiline/components/multilineWithoutLabel";
7
+ import MultilineWithLabel from "@bbr/components/multiline/components/multilineWithLabel";
8
+
9
+ /** Multiline textual input component */
10
+ const Multiline = (props: MultilineProps): JSX.Element => {
11
+ if (isNullOrUndefined(props.label)) {
12
+ return (<MultilineWithoutLabel {...props} />);
13
+ }
14
+ else {
15
+ return (<MultilineWithLabel {...props} />);
16
+ }
17
+
18
+ };
19
+
20
+ export default Multiline;
@@ -0,0 +1,125 @@
1
+ import { ChangeEvent, useCallback } from "react";
2
+
3
+ import { generateGuid, getClassName, getValueOrDefault } from "@bodynarf/utils";
4
+
5
+ import { ElementSize } from "@bbr/components";
6
+ import { getValidationValues } from "@bbr/utils";
7
+
8
+ import { MultilineProps } from "@bbr/components/multiline";
9
+
10
+ /** Multiline textual input component with describing label */
11
+ const MultilineWithLabel = ({
12
+ defaultValue, onValueChange, validationState, readonly, disabled,
13
+ name,
14
+ className, size, style, rounded, loading,
15
+ label, placeholder,
16
+ fixed, rows,
17
+ onBlur
18
+ }: MultilineProps): JSX.Element => {
19
+ const onChange = useCallback(
20
+ (event: ChangeEvent<HTMLTextAreaElement>) => onValueChange(event.target.value),
21
+ [onValueChange]
22
+ );
23
+
24
+ const id = name || generateGuid();
25
+ const elSizeClassName = "is-{0}".format(getValueOrDefault(size, ElementSize.Normal));
26
+
27
+ const [isValidationDefined, styleClassName, validationMessages] = getValidationValues(style, validationState);
28
+
29
+ const elClassName = getClassName([
30
+ className,
31
+ elSizeClassName,
32
+ rounded === true ? "is-rounded" : "",
33
+ styleClassName,
34
+ "textarea",
35
+ fixed === true ? "has-fixed-size" : "",
36
+ ]);
37
+
38
+ const inputContainerClassName = getClassName([
39
+ "control",
40
+ loading === true ? "is-loading" : "",
41
+ ]);
42
+
43
+ const labelClassName = getClassName([
44
+ "label",
45
+ !label!.horizontal ? elSizeClassName : "",
46
+ label!.className
47
+ ]);
48
+
49
+ if (label!.horizontal) {
50
+ const labelContainerClassName = getClassName([
51
+ "field-label",
52
+ elSizeClassName,
53
+ label!.horizontalContainerClassName
54
+ ]);
55
+
56
+ const fieldContainerClassName = getClassName([
57
+ "field-body",
58
+ label!.horizontalFieldContainerClassName
59
+ ]);
60
+
61
+ return (
62
+ <div className="bbr-input field is-horizontal">
63
+ <div className={labelContainerClassName}>
64
+ <label
65
+ className={labelClassName}
66
+ htmlFor={id}
67
+ >
68
+ {label!.caption}
69
+ </label>
70
+ </div>
71
+ <div className={fieldContainerClassName}>
72
+ <div className="field">
73
+ <div className={inputContainerClassName}>
74
+ <textarea
75
+ className={elClassName}
76
+ placeholder={placeholder}
77
+ readOnly={readonly}
78
+ disabled={disabled}
79
+ defaultValue={defaultValue}
80
+ onChange={onChange}
81
+ onBlur={onBlur}
82
+ name={id}
83
+ id={id}
84
+ rows={rows}
85
+ />
86
+ </div>
87
+ {isValidationDefined && validationMessages.length > 0 &&
88
+ <p className={`help m-help ${styleClassName}`}>{validationMessages.join("\n")}</p>
89
+ }
90
+ </div>
91
+ </div>
92
+ </div>
93
+ );
94
+ }
95
+
96
+ return (
97
+ <div className="bbr-input field">
98
+ <label
99
+ className={labelClassName}
100
+ htmlFor={id}
101
+ >
102
+ {label!.caption}
103
+ </label>
104
+ <div className={inputContainerClassName}>
105
+ <textarea
106
+ className={elClassName}
107
+ placeholder={placeholder}
108
+ readOnly={readonly}
109
+ disabled={disabled}
110
+ defaultValue={defaultValue}
111
+ onChange={onChange}
112
+ onBlur={onBlur}
113
+ name={id}
114
+ id={id}
115
+ rows={rows}
116
+ />
117
+ </div>
118
+ {isValidationDefined && validationMessages.length > 0 &&
119
+ <p className={`help m-help ${styleClassName}`}>{validationMessages.join("\n")}</p>
120
+ }
121
+ </div>
122
+ );
123
+ };
124
+
125
+ export default MultilineWithLabel;