@bodynarf/react.components 1.12.6 → 1.13.1

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 (375) hide show
  1. package/changelog.md +55 -0
  2. package/components/accordion/component/index.d.ts +6 -6
  3. package/components/accordion/component/index.d.ts.map +1 -1
  4. package/components/accordion/component/index.js +33 -35
  5. package/components/accordion/index.d.ts +2 -2
  6. package/components/accordion/index.js +2 -2
  7. package/components/accordion/types.d.ts +16 -17
  8. package/components/accordion/types.d.ts.map +1 -1
  9. package/components/accordion/types.js +1 -1
  10. package/components/anchor/component/index.d.ts +7 -5
  11. package/components/anchor/component/index.d.ts.map +1 -1
  12. package/components/anchor/component/index.js +23 -20
  13. package/components/anchor/components/anchorWithIcon/index.d.ts +10 -10
  14. package/components/anchor/components/anchorWithIcon/index.d.ts.map +1 -1
  15. package/components/anchor/components/anchorWithIcon/index.js +24 -24
  16. package/components/anchor/components/simpleAnchor/index.d.ts +4 -5
  17. package/components/anchor/components/simpleAnchor/index.d.ts.map +1 -1
  18. package/components/anchor/components/simpleAnchor/index.js +11 -11
  19. package/components/anchor/index.d.ts +2 -2
  20. package/components/anchor/index.js +2 -2
  21. package/components/anchor/types.d.ts +19 -16
  22. package/components/anchor/types.d.ts.map +1 -1
  23. package/components/anchor/types.js +1 -1
  24. package/components/breadcrumbs/component/index.d.ts +8 -8
  25. package/components/breadcrumbs/component/index.d.ts.map +1 -1
  26. package/components/breadcrumbs/component/index.js +38 -37
  27. package/components/breadcrumbs/index.d.ts +2 -2
  28. package/components/breadcrumbs/index.js +2 -2
  29. package/components/breadcrumbs/types.d.ts +54 -46
  30. package/components/breadcrumbs/types.d.ts.map +1 -1
  31. package/components/breadcrumbs/types.js +1 -1
  32. package/components/button/component/index.d.ts +9 -8
  33. package/components/button/component/index.d.ts.map +1 -1
  34. package/components/button/component/index.js +35 -33
  35. package/components/button/components/buttonWithIcon/index.d.ts +5 -4
  36. package/components/button/components/buttonWithIcon/index.d.ts.map +1 -1
  37. package/components/button/components/buttonWithIcon/index.js +27 -27
  38. package/components/button/components/simpleButton/index.d.ts +5 -5
  39. package/components/button/components/simpleButton/index.d.ts.map +1 -1
  40. package/components/button/components/simpleButton/index.js +11 -11
  41. package/components/button/index.d.ts +2 -2
  42. package/components/button/index.js +2 -2
  43. package/components/button/types.d.ts +71 -37
  44. package/components/button/types.d.ts.map +1 -1
  45. package/components/button/types.js +30 -1
  46. package/components/dropdown/component/index.d.ts +6 -6
  47. package/components/dropdown/component/index.d.ts.map +1 -1
  48. package/components/dropdown/component/index.js +12 -12
  49. package/components/dropdown/components/compact/index.d.ts +10 -10
  50. package/components/dropdown/components/compact/index.d.ts.map +1 -1
  51. package/components/dropdown/components/compact/index.js +80 -80
  52. package/components/dropdown/components/item/index.d.ts +14 -14
  53. package/components/dropdown/components/item/index.d.ts.map +1 -1
  54. package/components/dropdown/components/item/index.js +39 -38
  55. package/components/dropdown/components/label/component/index.d.ts +26 -26
  56. package/components/dropdown/components/label/component/index.d.ts.map +1 -1
  57. package/components/dropdown/components/label/component/index.js +16 -16
  58. package/components/dropdown/components/label/components/empty/index.d.ts +7 -7
  59. package/components/dropdown/components/label/components/empty/index.d.ts.map +1 -1
  60. package/components/dropdown/components/label/components/empty/index.js +16 -16
  61. package/components/dropdown/components/label/components/selected/index.d.ts +7 -7
  62. package/components/dropdown/components/label/components/selected/index.d.ts.map +1 -1
  63. package/components/dropdown/components/label/components/selected/index.js +20 -20
  64. package/components/dropdown/components/label/components/selectedWithIcon/index.d.ts +7 -7
  65. package/components/dropdown/components/label/components/selectedWithIcon/index.d.ts.map +1 -1
  66. package/components/dropdown/components/label/components/selectedWithIcon/index.js +28 -28
  67. package/components/dropdown/components/label/components/withSearch/index.d.ts +15 -15
  68. package/components/dropdown/components/label/components/withSearch/index.d.ts.map +1 -1
  69. package/components/dropdown/components/label/components/withSearch/index.js +33 -33
  70. package/components/dropdown/components/label/index.d.ts +1 -1
  71. package/components/dropdown/components/label/index.js +1 -1
  72. package/components/dropdown/components/withLabel/index.d.ts +5 -5
  73. package/components/dropdown/components/withLabel/index.js +11 -11
  74. package/components/dropdown/index.d.ts +2 -2
  75. package/components/dropdown/index.js +2 -2
  76. package/components/dropdown/types.d.ts +65 -64
  77. package/components/dropdown/types.d.ts.map +1 -1
  78. package/components/dropdown/types.js +1 -1
  79. package/components/file/component/index.d.ts +6 -6
  80. package/components/file/component/index.d.ts.map +1 -1
  81. package/components/file/component/index.js +51 -50
  82. package/components/file/component/styles.scss +13 -0
  83. package/components/file/index.d.ts +2 -2
  84. package/components/file/index.js +2 -2
  85. package/components/file/types.d.ts +31 -31
  86. package/components/file/types.d.ts.map +1 -1
  87. package/components/file/types.js +1 -1
  88. package/components/icon/component/index.d.ts +8 -8
  89. package/components/icon/component/index.d.ts.map +1 -1
  90. package/components/icon/component/index.js +23 -28
  91. package/components/icon/component/style.scss +3 -3
  92. package/components/icon/index.d.ts +2 -2
  93. package/components/icon/index.js +2 -2
  94. package/components/icon/types.d.ts +13 -15
  95. package/components/icon/types.d.ts.map +1 -1
  96. package/components/icon/types.js +1 -1
  97. package/components/index.d.ts +10 -10
  98. package/components/index.js +10 -10
  99. package/components/multiselect/component/index.d.ts +7 -7
  100. package/components/multiselect/component/index.js +13 -13
  101. package/components/multiselect/components/item/index.d.ts +24 -24
  102. package/components/multiselect/components/item/index.d.ts.map +1 -1
  103. package/components/multiselect/components/item/index.js +63 -62
  104. package/components/multiselect/components/label/component/index.d.ts +19 -19
  105. package/components/multiselect/components/label/component/index.d.ts.map +1 -1
  106. package/components/multiselect/components/label/component/index.js +12 -12
  107. package/components/multiselect/components/label/components/empty/index.d.ts +7 -7
  108. package/components/multiselect/components/label/components/empty/index.d.ts.map +1 -1
  109. package/components/multiselect/components/label/components/empty/index.js +16 -16
  110. package/components/multiselect/components/label/components/nonEmpty/index.d.ts +7 -7
  111. package/components/multiselect/components/label/components/nonEmpty/index.d.ts.map +1 -1
  112. package/components/multiselect/components/label/components/nonEmpty/index.js +16 -16
  113. package/components/multiselect/components/label/index.d.ts +1 -1
  114. package/components/multiselect/components/label/index.js +1 -1
  115. package/components/multiselect/components/withLabel/index.d.ts +5 -5
  116. package/components/multiselect/components/withLabel/index.js +11 -11
  117. package/components/multiselect/components/withoutLabel/index.d.ts +9 -9
  118. package/components/multiselect/components/withoutLabel/index.d.ts.map +1 -1
  119. package/components/multiselect/components/withoutLabel/index.js +85 -84
  120. package/components/multiselect/index.d.ts +2 -2
  121. package/components/multiselect/index.js +2 -2
  122. package/components/multiselect/types.d.ts +32 -40
  123. package/components/multiselect/types.d.ts.map +1 -1
  124. package/components/multiselect/types.js +1 -1
  125. package/components/paginator/component/index.d.ts +8 -8
  126. package/components/paginator/component/index.d.ts.map +1 -1
  127. package/components/paginator/component/index.js +65 -70
  128. package/components/paginator/index.d.ts +2 -2
  129. package/components/paginator/index.js +2 -2
  130. package/components/paginator/types.d.ts +54 -54
  131. package/components/paginator/types.d.ts.map +1 -1
  132. package/components/paginator/types.js +1 -1
  133. package/components/primitives/checkbox/component/index.d.ts +6 -6
  134. package/components/primitives/checkbox/component/index.d.ts.map +1 -1
  135. package/components/primitives/checkbox/component/index.js +43 -41
  136. package/components/primitives/checkbox/index.d.ts +2 -2
  137. package/components/primitives/checkbox/index.js +2 -2
  138. package/components/primitives/checkbox/types.d.ts +26 -24
  139. package/components/primitives/checkbox/types.d.ts.map +1 -1
  140. package/components/primitives/checkbox/types.js +1 -1
  141. package/components/primitives/color/component/index.d.ts +6 -6
  142. package/components/primitives/color/component/index.d.ts.map +1 -1
  143. package/components/primitives/color/component/index.js +10 -10
  144. package/components/primitives/color/components/picker/index.d.ts +19 -19
  145. package/components/primitives/color/components/picker/index.d.ts.map +1 -1
  146. package/components/primitives/color/components/picker/index.js +43 -42
  147. package/components/primitives/color/components/withLabel/index.d.ts +5 -5
  148. package/components/primitives/color/components/withLabel/index.d.ts.map +1 -1
  149. package/components/primitives/color/components/withLabel/index.js +25 -25
  150. package/components/primitives/color/components/withoutLabel/index.d.ts +5 -5
  151. package/components/primitives/color/components/withoutLabel/index.d.ts.map +1 -1
  152. package/components/primitives/color/components/withoutLabel/index.js +21 -21
  153. package/components/primitives/color/index.d.ts +2 -2
  154. package/components/primitives/color/index.js +2 -2
  155. package/components/primitives/color/types.d.ts +23 -23
  156. package/components/primitives/color/types.d.ts.map +1 -1
  157. package/components/primitives/color/types.js +1 -1
  158. package/components/primitives/date/component/index.d.ts +6 -6
  159. package/components/primitives/date/component/index.d.ts.map +1 -1
  160. package/components/primitives/date/component/index.js +31 -31
  161. package/components/primitives/date/index.d.ts +2 -2
  162. package/components/primitives/date/index.js +2 -2
  163. package/components/primitives/date/types.d.ts +3 -8
  164. package/components/primitives/date/types.d.ts.map +1 -1
  165. package/components/primitives/date/types.js +1 -1
  166. package/components/primitives/index.d.ts +7 -7
  167. package/components/primitives/index.js +7 -7
  168. package/components/primitives/internal/componentWithLabel/index.d.ts +16 -16
  169. package/components/primitives/internal/componentWithLabel/index.d.ts.map +1 -1
  170. package/components/primitives/internal/componentWithLabel/index.js +30 -30
  171. package/components/primitives/internal/hint/index.d.ts +8 -8
  172. package/components/primitives/internal/hint/index.d.ts.map +1 -1
  173. package/components/primitives/internal/hint/index.js +49 -48
  174. package/components/primitives/multiline/component/index.d.ts +5 -5
  175. package/components/primitives/multiline/component/index.d.ts.map +1 -1
  176. package/components/primitives/multiline/component/index.js +11 -11
  177. package/components/primitives/multiline/components/withLabel/index.d.ts +5 -5
  178. package/components/primitives/multiline/components/withLabel/index.d.ts.map +1 -1
  179. package/components/primitives/multiline/components/withLabel/index.js +27 -27
  180. package/components/primitives/multiline/components/withoutLabel/index.d.ts +5 -5
  181. package/components/primitives/multiline/components/withoutLabel/index.d.ts.map +1 -1
  182. package/components/primitives/multiline/components/withoutLabel/index.js +27 -27
  183. package/components/primitives/multiline/index.d.ts +2 -2
  184. package/components/primitives/multiline/index.js +2 -2
  185. package/components/primitives/multiline/types.d.ts +8 -10
  186. package/components/primitives/multiline/types.d.ts.map +1 -1
  187. package/components/primitives/multiline/types.js +1 -1
  188. package/components/primitives/number/component/index.d.ts +5 -5
  189. package/components/primitives/number/component/index.d.ts.map +1 -1
  190. package/components/primitives/number/component/index.js +11 -11
  191. package/components/primitives/number/components/withLabel/index.d.ts +5 -5
  192. package/components/primitives/number/components/withLabel/index.d.ts.map +1 -1
  193. package/components/primitives/number/components/withLabel/index.js +27 -27
  194. package/components/primitives/number/components/withoutLabel/index.d.ts +5 -5
  195. package/components/primitives/number/components/withoutLabel/index.d.ts.map +1 -1
  196. package/components/primitives/number/components/withoutLabel/index.js +27 -27
  197. package/components/primitives/number/index.d.ts +2 -2
  198. package/components/primitives/number/index.js +2 -2
  199. package/components/primitives/number/types.d.ts +10 -12
  200. package/components/primitives/number/types.d.ts.map +1 -1
  201. package/components/primitives/number/types.js +1 -1
  202. package/components/primitives/password/component/index.d.ts +6 -5
  203. package/components/primitives/password/component/index.d.ts.map +1 -1
  204. package/components/primitives/password/component/index.js +12 -12
  205. package/components/primitives/password/components/withLabel/index.d.ts +4 -3
  206. package/components/primitives/password/components/withLabel/index.d.ts.map +1 -1
  207. package/components/primitives/password/components/withLabel/index.js +34 -34
  208. package/components/primitives/password/components/withoutLabel/index.d.ts +4 -3
  209. package/components/primitives/password/components/withoutLabel/index.d.ts.map +1 -1
  210. package/components/primitives/password/components/withoutLabel/index.js +34 -34
  211. package/components/primitives/password/index.d.ts +2 -2
  212. package/components/primitives/password/index.js +2 -2
  213. package/components/primitives/password/types.d.ts +14 -14
  214. package/components/primitives/password/types.d.ts.map +1 -1
  215. package/components/primitives/password/types.js +1 -1
  216. package/components/primitives/text/component/index.d.ts +5 -5
  217. package/components/primitives/text/component/index.d.ts.map +1 -1
  218. package/components/primitives/text/component/index.js +11 -11
  219. package/components/primitives/text/components/withLabel/index.d.ts +5 -5
  220. package/components/primitives/text/components/withLabel/index.d.ts.map +1 -1
  221. package/components/primitives/text/components/withLabel/index.js +27 -27
  222. package/components/primitives/text/components/withoutLabel/index.d.ts +5 -5
  223. package/components/primitives/text/components/withoutLabel/index.d.ts.map +1 -1
  224. package/components/primitives/text/components/withoutLabel/index.js +27 -27
  225. package/components/primitives/text/index.d.ts +2 -2
  226. package/components/primitives/text/index.js +2 -2
  227. package/components/primitives/text/types.d.ts +3 -6
  228. package/components/primitives/text/types.d.ts.map +1 -1
  229. package/components/primitives/text/types.js +1 -1
  230. package/components/search/component/index.d.ts +6 -5
  231. package/components/search/component/index.d.ts.map +1 -1
  232. package/components/search/component/index.js +41 -40
  233. package/components/search/index.d.ts +2 -2
  234. package/components/search/index.js +2 -2
  235. package/components/search/types.d.ts +41 -41
  236. package/components/search/types.d.ts.map +1 -1
  237. package/components/search/types.js +1 -1
  238. package/components/table/component/index.d.ts +8 -9
  239. package/components/table/component/index.d.ts.map +1 -1
  240. package/components/table/component/index.js +28 -29
  241. package/components/table/components/heading/index.d.ts +14 -12
  242. package/components/table/components/heading/index.d.ts.map +1 -1
  243. package/components/table/components/heading/index.js +21 -21
  244. package/components/table/index.d.ts +2 -2
  245. package/components/table/index.js +2 -2
  246. package/components/table/types.d.ts +52 -52
  247. package/components/table/types.d.ts.map +1 -1
  248. package/components/table/types.js +1 -1
  249. package/components/tabs/component/index.d.ts +9 -9
  250. package/components/tabs/component/index.d.ts.map +1 -1
  251. package/components/tabs/component/index.js +68 -74
  252. package/components/tabs/components/item/index.d.ts +12 -12
  253. package/components/tabs/components/item/index.d.ts.map +1 -1
  254. package/components/tabs/components/item/index.js +29 -28
  255. package/components/tabs/index.d.ts +2 -2
  256. package/components/tabs/index.js +2 -2
  257. package/components/tabs/types.d.ts +54 -54
  258. package/components/tabs/types.js +22 -22
  259. package/components/tag/component/index.d.ts +6 -6
  260. package/components/tag/component/index.d.ts.map +1 -1
  261. package/components/tag/component/index.js +32 -32
  262. package/components/tag/index.d.ts +2 -2
  263. package/components/tag/index.js +2 -2
  264. package/components/tag/types.d.ts +24 -26
  265. package/components/tag/types.d.ts.map +1 -1
  266. package/components/tag/types.js +1 -1
  267. package/hooks/index.d.ts +11 -5
  268. package/hooks/index.d.ts.map +1 -1
  269. package/hooks/index.js +11 -5
  270. package/hooks/useComponentOutsideClick.d.ts +11 -11
  271. package/hooks/useComponentOutsideClick.d.ts.map +1 -1
  272. package/hooks/useComponentOutsideClick.js +31 -31
  273. package/hooks/useDebounceHandler.d.ts +17 -17
  274. package/hooks/useDebounceHandler.d.ts.map +1 -1
  275. package/hooks/useDebounceHandler.js +30 -30
  276. package/hooks/useEventListener.d.ts +13 -0
  277. package/hooks/useEventListener.d.ts.map +1 -0
  278. package/hooks/useEventListener.js +23 -0
  279. package/hooks/useInterval.d.ts +12 -0
  280. package/hooks/useInterval.d.ts.map +1 -0
  281. package/hooks/useInterval.js +23 -0
  282. package/hooks/useLocalStorage.d.ts +13 -0
  283. package/hooks/useLocalStorage.d.ts.map +1 -0
  284. package/hooks/useLocalStorage.js +23 -0
  285. package/hooks/useMount.d.ts +11 -11
  286. package/hooks/useMount.d.ts.map +1 -1
  287. package/hooks/useMount.js +16 -16
  288. package/hooks/usePagination.d.ts +19 -19
  289. package/hooks/usePagination.d.ts.map +1 -1
  290. package/hooks/usePagination.js +37 -37
  291. package/hooks/usePrevious.d.ts +12 -0
  292. package/hooks/usePrevious.d.ts.map +1 -0
  293. package/hooks/usePrevious.js +18 -0
  294. package/hooks/useTimeout.d.ts +12 -0
  295. package/hooks/useTimeout.d.ts.map +1 -0
  296. package/hooks/useTimeout.js +23 -0
  297. package/hooks/useUnmount.d.ts +8 -8
  298. package/hooks/useUnmount.d.ts.map +1 -1
  299. package/hooks/useUnmount.js +22 -22
  300. package/hooks/useUpdateEffect.d.ts +16 -0
  301. package/hooks/useUpdateEffect.d.ts.map +1 -0
  302. package/hooks/useUpdateEffect.js +25 -0
  303. package/index.d.ts +4 -4
  304. package/index.js +4 -4
  305. package/package.json +12 -10
  306. package/tsconfig.tsbuildinfo +1 -1
  307. package/types/{baseElementProps.d.ts → base/baseElementProps.d.ts} +10 -10
  308. package/types/base/baseElementProps.d.ts.map +1 -0
  309. package/types/{baseElementProps.js → base/baseElementProps.js} +1 -1
  310. package/types/{baseInputElementProps.d.ts → base/baseInputElementProps.d.ts} +49 -41
  311. package/types/base/baseInputElementProps.d.ts.map +1 -0
  312. package/types/{baseInputElementProps.js → base/baseInputElementProps.js} +1 -1
  313. package/types/base/blurableElement.d.ts +9 -0
  314. package/types/base/blurableElement.d.ts.map +1 -0
  315. package/types/base/blurableElement.js +1 -0
  316. package/types/base/clickableElement.d.ts +7 -0
  317. package/types/base/clickableElement.d.ts.map +1 -0
  318. package/types/base/clickableElement.js +1 -0
  319. package/types/base/index.d.ts +5 -0
  320. package/types/base/index.d.ts.map +1 -0
  321. package/types/base/index.js +4 -0
  322. package/types/dataAttributes.d.ts +8 -8
  323. package/types/dataAttributes.d.ts.map +1 -1
  324. package/types/dataAttributes.js +1 -1
  325. package/types/elementIcon.d.ts +21 -21
  326. package/types/elementIcon.d.ts.map +1 -1
  327. package/types/elementIcon.js +1 -1
  328. package/types/{elementColor.d.ts → enums/elementColor.d.ts} +17 -17
  329. package/types/enums/elementColor.d.ts.map +1 -0
  330. package/types/{elementColor.js → enums/elementColor.js} +18 -18
  331. package/types/{elementPosition.d.ts → enums/elementPosition.d.ts} +11 -11
  332. package/types/enums/elementPosition.d.ts.map +1 -0
  333. package/types/{elementPosition.js → enums/elementPosition.js} +10 -10
  334. package/types/{elementSize.d.ts → enums/elementSize.d.ts} +11 -11
  335. package/types/enums/elementSize.d.ts.map +1 -0
  336. package/types/{elementSize.js → enums/elementSize.js} +12 -12
  337. package/types/enums/index.d.ts +4 -0
  338. package/types/enums/index.d.ts.map +1 -0
  339. package/types/enums/index.js +3 -0
  340. package/types/hintConfiguration.d.ts +12 -12
  341. package/types/hintConfiguration.d.ts.map +1 -1
  342. package/types/hintConfiguration.js +1 -1
  343. package/types/index.d.ts +7 -10
  344. package/types/index.d.ts.map +1 -1
  345. package/types/index.js +7 -10
  346. package/types/labelConfiguration.d.ts +14 -14
  347. package/types/labelConfiguration.d.ts.map +1 -1
  348. package/types/labelConfiguration.js +1 -1
  349. package/types/validation/index.d.ts +2 -2
  350. package/types/validation/index.js +2 -2
  351. package/types/validation/state.d.ts +8 -8
  352. package/types/validation/state.d.ts.map +1 -1
  353. package/types/validation/state.js +1 -1
  354. package/types/validation/status.d.ts +9 -9
  355. package/types/validation/status.js +10 -10
  356. package/utils/dataAttributes.d.ts +7 -7
  357. package/utils/dataAttributes.d.ts.map +1 -1
  358. package/utils/dataAttributes.js +22 -21
  359. package/utils/index.d.ts +3 -2
  360. package/utils/index.d.ts.map +1 -1
  361. package/utils/index.js +3 -2
  362. package/utils/styles.d.ts +14 -0
  363. package/utils/styles.d.ts.map +1 -0
  364. package/utils/styles.js +33 -0
  365. package/utils/validation.d.ts +10 -10
  366. package/utils/validation.d.ts.map +1 -1
  367. package/utils/validation.js +20 -20
  368. package/bodynarf-react.components-1.12.2.tgz +0 -0
  369. package/bodynarf-react.components-1.12.3.tgz +0 -0
  370. package/bodynarf-react.components-1.12.4.tgz +0 -0
  371. package/types/baseElementProps.d.ts.map +0 -1
  372. package/types/baseInputElementProps.d.ts.map +0 -1
  373. package/types/elementColor.d.ts.map +0 -1
  374. package/types/elementPosition.d.ts.map +0 -1
  375. package/types/elementSize.d.ts.map +0 -1
@@ -1,53 +1,53 @@
1
- /// <reference types="react" />
2
- import { BaseElementProps } from "../../types";
3
- export interface TableHeading<TItem> {
4
- /** Caption to display */
5
- caption: string;
6
- /** Is column sortable */
7
- sortable: boolean;
8
- /** Class names */
9
- className?: string;
10
- /** Name of model column*/
11
- name?: keyof TItem;
12
- }
13
- /** Generic sort column model */
14
- export interface SortColumn<TModel> {
15
- /** Column name */
16
- columnName: keyof TModel;
17
- /** Is column sorted ascending */
18
- ascending: boolean;
19
- }
20
- /** Table props type */
21
- export interface TableProps<TItem> extends BaseElementProps {
22
- /** Header row */
23
- headings: Array<TableHeading<TItem>>;
24
- /** Table body */
25
- children?: React.ReactNode;
26
- /** Add border to all cells */
27
- hasBorder?: boolean;
28
- /** Is row hover effect active */
29
- hoverable?: boolean;
30
- /** Reduce space between cells */
31
- narrow?: boolean;
32
- /** Use all container width */
33
- fullWidth?: boolean;
34
- /** Is header sticks to page on scroll */
35
- hasStickyHeader?: boolean;
36
- /**
37
- * Header has border.
38
- * @description Applied only with `hasStickyHeader` sets as `true`. Adds border effect
39
- */
40
- headerWithBorder?: boolean;
41
- /** Header has no borders */
42
- headerBorderless?: boolean;
43
- /**
44
- * Should rows be stripped.
45
- * @description Even rows will have gray background
46
- */
47
- zebra?: boolean;
48
- /** Current sort column */
49
- currentSortColumn?: SortColumn<TItem>;
50
- /** Header click handler */
51
- onHeaderClick?: (columnName: TableHeading<TItem>) => void;
52
- }
1
+ import { ReactNode } from "react";
2
+ import { BaseElementProps } from "../../types";
3
+ export interface TableHeading {
4
+ /** Caption to display */
5
+ caption: string;
6
+ /** Is column sortable */
7
+ sortable: boolean;
8
+ /** Class names */
9
+ className?: string;
10
+ /** Name of model column*/
11
+ name?: string;
12
+ }
13
+ /** Generic sort column model */
14
+ export interface SortColumn {
15
+ /** Column name */
16
+ columnName: string;
17
+ /** Is column sorted ascending */
18
+ ascending: boolean;
19
+ }
20
+ /** Table props type */
21
+ export type TableProps = BaseElementProps & {
22
+ /** Header row */
23
+ headings: Array<TableHeading>;
24
+ /** Table body */
25
+ children: ReactNode;
26
+ /** Add border to all cells */
27
+ hasBorder?: boolean;
28
+ /** Is row hover effect active */
29
+ hoverable?: boolean;
30
+ /** Reduce space between cells */
31
+ narrow?: boolean;
32
+ /** Use all container width */
33
+ fullWidth?: boolean;
34
+ /** Is header sticks to page on scroll */
35
+ hasStickyHeader?: boolean;
36
+ /**
37
+ * Header has border.
38
+ * @description Applied only with `hasStickyHeader` sets as `true`. Adds border effect
39
+ */
40
+ headerWithBorder?: boolean;
41
+ /** Header has no borders */
42
+ headerBorderless?: boolean;
43
+ /**
44
+ * Should rows be stripped.
45
+ * @description Even rows will have gray background
46
+ */
47
+ zebra?: boolean;
48
+ /** Current sort column */
49
+ currentSortColumn?: SortColumn;
50
+ /** Header click handler */
51
+ onHeaderClick?: (columnName: TableHeading) => void;
52
+ };
53
53
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/table/types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,YAAY,CAAC,KAAK;IAC/B,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAEhB,0BAA0B;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAElB,kBAAkB;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,KAAK,CAAC;CACtB;AAED,gCAAgC;AAChC,MAAM,WAAW,UAAU,CAAC,MAAM;IAC9B,kBAAkB;IAClB,UAAU,EAAE,MAAM,MAAM,CAAC;IAEzB,iCAAiC;IACjC,SAAS,EAAE,OAAO,CAAC;CACtB;AAED,uBAAuB;AACvB,MAAM,WAAW,UAAU,CAAC,KAAK,CAAE,SAAQ,gBAAgB;IACvD,iBAAiB;IACjB,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAErC,iBAAiB;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,8BAA8B;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,iCAAiC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,iCAAiC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,yCAAyC;IACzC,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;MAGE;IACF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,4BAA4B;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;MAGE;IACF,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,0BAA0B;IAC1B,iBAAiB,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAEtC,2BAA2B;IAC3B,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;CAC7D"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/table/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,YAAY;IACzB,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAEhB,0BAA0B;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAElB,kBAAkB;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,gCAAgC;AAChC,MAAM,WAAW,UAAU;IACvB,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IAEnB,iCAAiC;IACjC,SAAS,EAAE,OAAO,CAAC;CACtB;AAED,uBAAuB;AACvB,MAAM,MAAM,UAAU,GAAG,gBAAgB,GAAG;IACxC,iBAAiB;IACjB,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAE9B,iBAAiB;IACjB,QAAQ,EAAE,SAAS,CAAC;IAEpB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,iCAAiC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,iCAAiC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,yCAAyC;IACzC,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;MAGE;IACF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,4BAA4B;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;MAGE;IACF,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,0BAA0B;IAC1B,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAE/B,2BAA2B;IAC3B,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,KAAK,IAAI,CAAC;CACtD,CAAC"}
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1,10 +1,10 @@
1
- import { FC } from "react";
2
- import "./style.scss";
3
- import { TabsProps } from "..";
4
- /**
5
- * Tabs panel
6
- * @throws Items are empty
7
- */
8
- declare const Tabs: FC<TabsProps>;
9
- export default Tabs;
1
+ import { FC } from "react";
2
+ import "./style.scss";
3
+ import { TabsProps } from "..";
4
+ /**
5
+ * Tabs panel
6
+ * @throws Items are empty
7
+ */
8
+ declare const Tabs: FC<TabsProps>;
9
+ export default Tabs;
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/tabs/component/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwD,EAAE,EAAE,MAAM,OAAO,CAAC;AAOjF,OAAO,cAAc,CAAC;AAEtB,OAAO,EAAW,SAAS,EAAa,MAAM,IAAI,CAAC;AAUnD;;;GAGG;AACH,QAAA,MAAM,IAAI,EAAE,EAAE,CAAC,SAAS,CAsFvB,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/tabs/component/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwD,EAAE,EAAE,MAAM,OAAO,CAAC;AAOjF,OAAO,cAAc,CAAC;AAEtB,OAAO,EAAW,SAAS,EAAa,MAAM,IAAI,CAAC;AAGnD;;;GAGG;AACH,QAAA,MAAM,IAAI,EAAE,EAAE,CAAC,SAAS,CAsFvB,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -1,74 +1,68 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useCallback, useState, useEffect, useRef } from "react";
3
- import { getClassName, isNullOrEmpty, isNullOrUndefined } from "@bodynarf/utils";
4
- import { ElementPosition, ElementSize } from "../../../types";
5
- import { mapDataAttributes } from "../../../utils";
6
- import "./style.scss";
7
- import { TabsStyle } from "..";
8
- import TabItemComponent from "../components/item";
9
- /** Tab position to element class name map */
10
- const positionToClassNameMap = new Map([
11
- [ElementPosition.Left, ""],
12
- [ElementPosition.Center, "is-centered"],
13
- [ElementPosition.Right, "is-right"],
14
- ]);
15
- /**
16
- * Tabs panel
17
- * @throws Items are empty
18
- */
19
- const Tabs = ({ items, onActiveItemChange, defaultActive = items[0], size, position = ElementPosition.Left, style = TabsStyle.default, fullWidth = false, className, title, data, }) => {
20
- if (items.length === 0) {
21
- throw new Error("Invalid configuration. Tab items must be defined");
22
- }
23
- const [activeItem, setActiveItem] = useState(defaultActive);
24
- const isFirstRun = useRef(true);
25
- const onTabsClick = useCallback((event) => {
26
- const closestTab = event.target.closest(".bbr-tabs__tab");
27
- if (isNullOrUndefined(closestTab)) {
28
- return;
29
- }
30
- const itemId = closestTab.attributes.getNamedItem("data-item-id")?.value ?? "";
31
- if (isNullOrEmpty(itemId)) {
32
- return;
33
- }
34
- const item = items.find(({ id }) => id === itemId);
35
- if (isNullOrUndefined(item) || item === activeItem) {
36
- return;
37
- }
38
- setActiveItem(item);
39
- }, [activeItem, items]);
40
- useEffect(() => {
41
- if (isFirstRun.current) {
42
- isFirstRun.current = false;
43
- return;
44
- }
45
- onActiveItemChange(activeItem);
46
- }, [activeItem, onActiveItemChange]);
47
- const elClassName = getClassName([
48
- "bbr-tabs",
49
- "tabs",
50
- className,
51
- positionToClassNameMap.get(position),
52
- getSizeClassName(size, [ElementSize.Normal]),
53
- style,
54
- fullWidth ? "is-fullwidth" : "",
55
- ]);
56
- const dataAttributes = isNullOrUndefined(data)
57
- ? undefined
58
- : mapDataAttributes(data);
59
- return (_jsx("nav", { className: elClassName, title: title, ...dataAttributes, onClick: onTabsClick, children: _jsx("ul", { children: items.map(item => _jsx(TabItemComponent, { item: item, activeItem: activeItem.id }, item.id)) }) }));
60
- };
61
- export default Tabs;
62
- /**
63
- * Get class name for specified size and constraints
64
- * @param size Component size
65
- * @param notAllowedSizes Sizes that not applicable to component
66
- * @returns Class name for react element
67
- */
68
- const getSizeClassName = (size, notAllowedSizes) => {
69
- notAllowedSizes ??= [];
70
- if (isNullOrUndefined(size) || notAllowedSizes.includes(size)) {
71
- return "";
72
- }
73
- return `is-${size}`;
74
- };
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useCallback, useState, useEffect, useRef } from "react";
3
+ import { getClassName, isNullOrEmpty, isNullOrUndefined } from "@bodynarf/utils";
4
+ import { ElementPosition, ElementSize } from "../../../types";
5
+ import { getPositionClassName, mapDataAttributes } from "../../../utils";
6
+ import "./style.scss";
7
+ import { TabsStyle } from "..";
8
+ import TabItemComponent from "../components/item";
9
+ /**
10
+ * Tabs panel
11
+ * @throws Items are empty
12
+ */
13
+ const Tabs = ({ items, onActiveItemChange, defaultActive = items[0], size, position = ElementPosition.Left, style = TabsStyle.default, fullWidth = false, className, title, data, }) => {
14
+ if (items.length === 0) {
15
+ throw new Error("Invalid configuration. Tab items must be defined");
16
+ }
17
+ const [activeItem, setActiveItem] = useState(defaultActive);
18
+ const isFirstRun = useRef(true);
19
+ const onTabsClick = useCallback((event) => {
20
+ const closestTab = event.target.closest(".bbr-tabs__tab");
21
+ if (isNullOrUndefined(closestTab)) {
22
+ return;
23
+ }
24
+ const itemId = closestTab.attributes.getNamedItem("data-item-id")?.value ?? "";
25
+ if (isNullOrEmpty(itemId)) {
26
+ return;
27
+ }
28
+ const item = items.find(({ id }) => id === itemId);
29
+ if (isNullOrUndefined(item) || item === activeItem) {
30
+ return;
31
+ }
32
+ setActiveItem(item);
33
+ }, [activeItem, items]);
34
+ useEffect(() => {
35
+ if (isFirstRun.current) {
36
+ isFirstRun.current = false;
37
+ return;
38
+ }
39
+ onActiveItemChange(activeItem);
40
+ }, [activeItem, onActiveItemChange]);
41
+ const elClassName = getClassName([
42
+ "bbr-tabs",
43
+ "tabs",
44
+ className,
45
+ getPositionClassName(position),
46
+ getSizeClassName(size, [ElementSize.Normal]),
47
+ style,
48
+ fullWidth ? "is-fullwidth" : "",
49
+ ]);
50
+ const dataAttributes = isNullOrUndefined(data)
51
+ ? undefined
52
+ : mapDataAttributes(data);
53
+ return (_jsx("nav", { className: elClassName, title: title, ...dataAttributes, onClick: onTabsClick, children: _jsx("ul", { children: items.map(item => _jsx(TabItemComponent, { item: item, activeItem: activeItem.id }, item.id)) }) }));
54
+ };
55
+ export default Tabs;
56
+ /**
57
+ * Get class name for specified size and constraints
58
+ * @param size Component size
59
+ * @param notAllowedSizes Sizes that not applicable to component
60
+ * @returns Class name for react element
61
+ */
62
+ const getSizeClassName = (size, notAllowedSizes) => {
63
+ notAllowedSizes ??= [];
64
+ if (isNullOrUndefined(size) || notAllowedSizes.includes(size)) {
65
+ return "";
66
+ }
67
+ return `is-${size}`;
68
+ };
@@ -1,13 +1,13 @@
1
- /// <reference types="react" />
2
- import { TabItem as Item } from "../..";
3
- /** Tabs panel single tab item component props type */
4
- export interface TabItemProps {
5
- /** Tab item */
6
- item: Item;
7
- /** Active item identifier */
8
- activeItem: string;
9
- }
10
- /** Tabs panel single tab item component */
11
- declare const TabItem: ({ item, activeItem }: TabItemProps) => JSX.Element;
12
- export default TabItem;
1
+ import { FC } from "react";
2
+ import { TabItem as Item } from "../..";
3
+ /** Tabs panel single tab item component props type */
4
+ export type TabItemProps = {
5
+ /** Tab item */
6
+ item: Item;
7
+ /** Active item identifier */
8
+ activeItem: string;
9
+ };
10
+ /** Tabs panel single tab item component */
11
+ declare const TabItem: FC<TabItemProps>;
12
+ export default TabItem;
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/tabs/components/item/index.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,OAAO,CAAC;AAExC,sDAAsD;AACtD,MAAM,WAAW,YAAY;IACzB,eAAe;IACf,IAAI,EAAE,IAAI,CAAC;IAEX,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,2CAA2C;AAC3C,QAAA,MAAM,OAAO,yBAEV,YAAY,KAAG,WAqBjB,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/tabs/components/item/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAO3B,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,OAAO,CAAC;AAExC,sDAAsD;AACtD,MAAM,MAAM,YAAY,GAAG;IACvB,eAAe;IACf,IAAI,EAAE,IAAI,CAAC;IAEX,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,2CAA2C;AAC3C,QAAA,MAAM,OAAO,EAAE,EAAE,CAAC,YAAY,CA4B7B,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -1,28 +1,29 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { getClassName, isNullOrUndefined } from "@bodynarf/utils";
3
- import { ElementPosition } from "../../../../types";
4
- import Icon from "../../../icon";
5
- /** Tabs panel single tab item component */
6
- const TabItem = ({ item, activeItem }) => {
7
- if (!isNullOrUndefined(item.icon)) {
8
- return _jsx(TabItemWithIcon, { item: item, activeItem: activeItem });
9
- }
10
- const className = getClassName([
11
- "bbr-tabs__tab",
12
- activeItem === item.id ? "is-active" : undefined,
13
- ]);
14
- return (_jsx("li", { className: className, "data-item-id": item.id, children: _jsx("a", { children: item.caption }) }, item.id));
15
- };
16
- export default TabItem;
17
- /** Tabs panel single tab item with icon component */
18
- const TabItemWithIcon = ({ item, activeItem }) => {
19
- const iconConfig = item.icon;
20
- const className = getClassName([
21
- "bbr-tabs__tab",
22
- activeItem === item.id ? "is-active" : undefined,
23
- ]);
24
- if (iconConfig.position === ElementPosition.Right) {
25
- return (_jsx("li", { className: className, "data-item-id": item.id, children: _jsxs("a", { children: [_jsx("span", { children: item.caption }), _jsx(Icon, { ...iconConfig })] }) }, item.id));
26
- }
27
- return (_jsx("li", { className: className, "data-item-id": item.id, children: _jsxs("a", { children: [_jsx(Icon, { ...iconConfig }), _jsx("span", { children: item.caption })] }) }, item.id));
28
- };
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { getClassName, isNullOrUndefined } from "@bodynarf/utils";
3
+ import { ElementPosition } from "../../../../types";
4
+ import Icon from "../../../icon";
5
+ /** Tabs panel single tab item component */
6
+ const TabItem = ({ item, activeItem }) => {
7
+ if (!isNullOrUndefined(item.icon)) {
8
+ return (_jsx(TabItemWithIcon, { item: item, activeItem: activeItem }));
9
+ }
10
+ const className = getClassName([
11
+ "bbr-tabs__tab",
12
+ activeItem === item.id ? "is-active" : undefined,
13
+ ]);
14
+ return (_jsx("li", { className: className, "data-item-id": item.id, children: _jsx("a", { children: item.caption }) }, item.id));
15
+ };
16
+ export default TabItem;
17
+ /** Tabs panel single tab item with icon component */
18
+ // eslint-disable-next-line react/no-multi-comp
19
+ const TabItemWithIcon = ({ item, activeItem }) => {
20
+ const iconConfig = item.icon;
21
+ const className = getClassName([
22
+ "bbr-tabs__tab",
23
+ activeItem === item.id ? "is-active" : undefined,
24
+ ]);
25
+ if (iconConfig.position === ElementPosition.Right) {
26
+ return (_jsx("li", { className: className, "data-item-id": item.id, children: _jsxs("a", { children: [_jsx("span", { children: item.caption }), _jsx(Icon, { ...iconConfig })] }) }, item.id));
27
+ }
28
+ return (_jsx("li", { className: className, "data-item-id": item.id, children: _jsxs("a", { children: [_jsx(Icon, { ...iconConfig }), _jsx("span", { children: item.caption })] }) }, item.id));
29
+ };
@@ -1,3 +1,3 @@
1
- export { default } from "./component";
2
- export * from "./types";
1
+ export { default } from "./component";
2
+ export * from "./types";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1,2 @@
1
- export { default } from "./component";
2
- export * from "./types";
1
+ export { default } from "./component";
2
+ export * from "./types";
@@ -1,55 +1,55 @@
1
- import { BaseElementProps, ElementIcon, ElementPosition, ElementSize } from "../../types";
2
- /** Tabs component style */
3
- export declare enum TabsStyle {
4
- /**
5
- * Default style.
6
- * Single border at the bottom
7
- */
8
- default = "",
9
- /**
10
- * Classic style with borders.
11
- * Borders all except bottom
12
- */
13
- boxed = "is-boxed",
14
- /**
15
- * Styled as buttons
16
- */
17
- radioButton = "is-toggle",
18
- /**
19
- * Styled as rounded buttons
20
- */
21
- radioButtonRounded = "is-toggle is-toggle-rounded"
22
- }
23
- /** Tab item */
24
- export interface TabItem {
25
- /** Unique identifier across all tab items */
26
- id: string;
27
- /** Displayable caption */
28
- caption: string;
29
- /** Icon configuration */
30
- icon?: ElementIcon;
31
- }
32
- /** Tabs component props type */
33
- export interface TabsProps extends BaseElementProps {
34
- /** Tabs */
35
- items: Array<TabItem>;
36
- /** Handler of changing current active item */
37
- onActiveItemChange: (item: TabItem) => void;
38
- /**
39
- * Active item by default.
40
- * If not set - first item will be active
41
- */
42
- defaultActive?: TabItem;
43
- /**
44
- * Component size.
45
- * Default is `normal`
46
- */
47
- size?: ElementSize;
48
- /** Component position */
49
- position?: ElementPosition;
50
- /** Component style */
51
- style?: TabsStyle;
52
- /** Is component tabs should take all width of parent */
53
- fullWidth?: boolean;
54
- }
1
+ import { BaseElementProps, ElementIcon, ElementPosition, ElementSize } from "../../types";
2
+ /** Tabs component style */
3
+ export declare enum TabsStyle {
4
+ /**
5
+ * Default style.
6
+ * Single border at the bottom
7
+ */
8
+ default = "",
9
+ /**
10
+ * Classic style with borders.
11
+ * Borders all except bottom
12
+ */
13
+ boxed = "is-boxed",
14
+ /**
15
+ * Styled as buttons
16
+ */
17
+ radioButton = "is-toggle",
18
+ /**
19
+ * Styled as rounded buttons
20
+ */
21
+ radioButtonRounded = "is-toggle is-toggle-rounded"
22
+ }
23
+ /** Tab item */
24
+ export interface TabItem {
25
+ /** Unique identifier across all tab items */
26
+ id: string;
27
+ /** Displayable caption */
28
+ caption: string;
29
+ /** Icon configuration */
30
+ icon?: ElementIcon;
31
+ }
32
+ /** Tabs component props type */
33
+ export interface TabsProps extends BaseElementProps {
34
+ /** Tabs */
35
+ items: Array<TabItem>;
36
+ /** Handler of changing current active item */
37
+ onActiveItemChange: (item: TabItem) => void;
38
+ /**
39
+ * Active item by default.
40
+ * If not set - first item will be active
41
+ */
42
+ defaultActive?: TabItem;
43
+ /**
44
+ * Component size.
45
+ * Default is `normal`
46
+ */
47
+ size?: ElementSize;
48
+ /** Component position */
49
+ position?: ElementPosition;
50
+ /** Component style */
51
+ style?: TabsStyle;
52
+ /** Is component tabs should take all width of parent */
53
+ fullWidth?: boolean;
54
+ }
55
55
  //# sourceMappingURL=types.d.ts.map
@@ -1,22 +1,22 @@
1
- /** Tabs component style */
2
- export var TabsStyle;
3
- (function (TabsStyle) {
4
- /**
5
- * Default style.
6
- * Single border at the bottom
7
- */
8
- TabsStyle["default"] = "";
9
- /**
10
- * Classic style with borders.
11
- * Borders all except bottom
12
- */
13
- TabsStyle["boxed"] = "is-boxed";
14
- /**
15
- * Styled as buttons
16
- */
17
- TabsStyle["radioButton"] = "is-toggle";
18
- /**
19
- * Styled as rounded buttons
20
- */
21
- TabsStyle["radioButtonRounded"] = "is-toggle is-toggle-rounded";
22
- })(TabsStyle || (TabsStyle = {}));
1
+ /** Tabs component style */
2
+ export var TabsStyle;
3
+ (function (TabsStyle) {
4
+ /**
5
+ * Default style.
6
+ * Single border at the bottom
7
+ */
8
+ TabsStyle["default"] = "";
9
+ /**
10
+ * Classic style with borders.
11
+ * Borders all except bottom
12
+ */
13
+ TabsStyle["boxed"] = "is-boxed";
14
+ /**
15
+ * Styled as buttons
16
+ */
17
+ TabsStyle["radioButton"] = "is-toggle";
18
+ /**
19
+ * Styled as rounded buttons
20
+ */
21
+ TabsStyle["radioButtonRounded"] = "is-toggle is-toggle-rounded";
22
+ })(TabsStyle || (TabsStyle = {}));
@@ -1,7 +1,7 @@
1
- /// <reference types="react" />
2
- import { TagProps } from "..";
3
- import "./style.scss";
4
- /** Single tag item */
5
- declare const Tag: ({ content, size, style, rounded, lightColor, customColor, onClick, className, title, data, }: TagProps) => JSX.Element;
6
- export default Tag;
1
+ import { FC } from "react";
2
+ import { TagProps } from "..";
3
+ import "./style.scss";
4
+ /** Single tag item */
5
+ declare const Tag: FC<TagProps>;
6
+ export default Tag;
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/tag/component/index.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAE9B,OAAO,cAAc,CAAC;AAEtB,sBAAsB;AACtB,QAAA,MAAM,GAAG,iGAON,QAAQ,KAAG,WAuCb,CAAC;AAEF,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/tag/component/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAO3B,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAE9B,OAAO,cAAc,CAAC;AAEtB,sBAAsB;AACtB,QAAA,MAAM,GAAG,EAAE,EAAE,CAAC,QAAQ,CA+CrB,CAAC;AAEF,eAAe,GAAG,CAAC"}
@@ -1,32 +1,32 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { getClassName, isNullOrUndefined } from "@bodynarf/utils";
3
- import { ElementColor, ElementSize } from "../../../types";
4
- import { mapDataAttributes } from "../../../utils";
5
- import "./style.scss";
6
- /** Single tag item */
7
- const Tag = ({ content, size = ElementSize.Normal, style = ElementColor.Default, rounded = false, lightColor = false, customColor, onClick, className, title, data, }) => {
8
- if (!isNullOrUndefined(customColor)) {
9
- style = ElementColor.Default;
10
- }
11
- const elClassName = getClassName([
12
- "bbr-tag",
13
- "tag",
14
- className,
15
- style === ElementColor.Default ? "" : `is-${style}`,
16
- !isNullOrUndefined(customColor) ? "bbr-tag--custom" : "",
17
- lightColor && isNullOrUndefined(customColor) ? "is-light" : "",
18
- rounded ? "is-rounded" : "",
19
- size === ElementSize.Normal ? "" : `is-${size}`,
20
- isNullOrUndefined(onClick) ? "" : "bbr-tag--clickable",
21
- ]);
22
- const dataAttributes = isNullOrUndefined(data)
23
- ? undefined
24
- : mapDataAttributes(data);
25
- return (_jsx("span", { className: elClassName, style: isNullOrUndefined(customColor)
26
- ? undefined
27
- : {
28
- color: customColor?.color,
29
- backgroundColor: customColor?.backgroundColor,
30
- }, title: title, onClick: onClick, ...dataAttributes, children: content }));
31
- };
32
- export default Tag;
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { getClassName, isNullOrUndefined } from "@bodynarf/utils";
3
+ import { ElementColor, ElementSize } from "../../../types";
4
+ import { mapDataAttributes } from "../../../utils";
5
+ import "./style.scss";
6
+ /** Single tag item */
7
+ const Tag = ({ content, size = ElementSize.Normal, style = ElementColor.Default, rounded = false, lightColor = false, customColor, onClick, className, title, data, }) => {
8
+ if (!isNullOrUndefined(customColor)) {
9
+ style = ElementColor.Default;
10
+ }
11
+ const elClassName = getClassName([
12
+ "bbr-tag",
13
+ "tag",
14
+ className,
15
+ style === ElementColor.Default ? "" : `is-${style}`,
16
+ !isNullOrUndefined(customColor) ? "bbr-tag--custom" : "",
17
+ lightColor && isNullOrUndefined(customColor) ? "is-light" : "",
18
+ rounded ? "is-rounded" : "",
19
+ size === ElementSize.Normal ? "" : `is-${size}`,
20
+ isNullOrUndefined(onClick) ? "" : "bbr-tag--clickable",
21
+ ]);
22
+ const dataAttributes = isNullOrUndefined(data)
23
+ ? undefined
24
+ : mapDataAttributes(data);
25
+ return (_jsx("span", { className: elClassName, style: isNullOrUndefined(customColor)
26
+ ? undefined
27
+ : {
28
+ color: customColor?.color,
29
+ backgroundColor: customColor?.backgroundColor,
30
+ }, title: title, onClick: onClick, ...dataAttributes, children: content }));
31
+ };
32
+ export default Tag;