trung-library 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (311) hide show
  1. package/README.md +264 -0
  2. package/dist/components/avatar/avatar-group.component.d.ts +20 -0
  3. package/dist/components/avatar/avatar-group.component.d.ts.map +1 -0
  4. package/dist/components/avatar/avatar-label-group.component.d.ts +11 -0
  5. package/dist/components/avatar/avatar-label-group.component.d.ts.map +1 -0
  6. package/dist/components/avatar/avatar-profile.component.d.ts +5 -0
  7. package/dist/components/avatar/avatar-profile.component.d.ts.map +1 -0
  8. package/dist/components/avatar/avatar-user.component.d.ts +14 -0
  9. package/dist/components/avatar/avatar-user.component.d.ts.map +1 -0
  10. package/dist/components/avatar/avatar.argtypes.d.ts +19 -0
  11. package/dist/components/avatar/avatar.argtypes.d.ts.map +1 -0
  12. package/dist/components/avatar/avatar.component.d.ts +20 -0
  13. package/dist/components/avatar/avatar.component.d.ts.map +1 -0
  14. package/dist/components/avatar/avatar.constant.d.ts +35 -0
  15. package/dist/components/avatar/avatar.constant.d.ts.map +1 -0
  16. package/dist/components/avatar/avatar.interface.d.ts +28 -0
  17. package/dist/components/avatar/avatar.interface.d.ts.map +1 -0
  18. package/dist/components/avatar/index.d.ts +8 -0
  19. package/dist/components/avatar/index.d.ts.map +1 -0
  20. package/dist/components/bread-crumbs/bread-crumbs.argtypes.d.ts +16 -0
  21. package/dist/components/bread-crumbs/bread-crumbs.argtypes.d.ts.map +1 -0
  22. package/dist/components/bread-crumbs/bread-crumbs.component.d.ts +21 -0
  23. package/dist/components/bread-crumbs/bread-crumbs.component.d.ts.map +1 -0
  24. package/dist/components/bread-crumbs/index.d.ts +3 -0
  25. package/dist/components/bread-crumbs/index.d.ts.map +1 -0
  26. package/dist/components/button/button-bar.component.d.ts +15 -0
  27. package/dist/components/button/button-bar.component.d.ts.map +1 -0
  28. package/dist/components/button/button.argtypes.d.ts +16 -0
  29. package/dist/components/button/button.argtypes.d.ts.map +1 -0
  30. package/dist/components/button/button.component.d.ts +37 -0
  31. package/dist/components/button/button.component.d.ts.map +1 -0
  32. package/dist/components/button/button.constants.d.ts +33 -0
  33. package/dist/components/button/button.constants.d.ts.map +1 -0
  34. package/dist/components/button/index.d.ts +4 -0
  35. package/dist/components/button/index.d.ts.map +1 -0
  36. package/dist/components/checkbox/checkbox-content.argtypes.d.ts +5 -0
  37. package/dist/components/checkbox/checkbox-content.argtypes.d.ts.map +1 -0
  38. package/dist/components/checkbox/checkbox-content.component.d.ts +19 -0
  39. package/dist/components/checkbox/checkbox-content.component.d.ts.map +1 -0
  40. package/dist/components/checkbox/checkbox.argtypes.d.ts +16 -0
  41. package/dist/components/checkbox/checkbox.argtypes.d.ts.map +1 -0
  42. package/dist/components/checkbox/checkbox.component.d.ts +23 -0
  43. package/dist/components/checkbox/checkbox.component.d.ts.map +1 -0
  44. package/dist/components/checkbox/checkbox.constant.d.ts +30 -0
  45. package/dist/components/checkbox/checkbox.constant.d.ts.map +1 -0
  46. package/dist/components/checkbox/index.d.ts +4 -0
  47. package/dist/components/checkbox/index.d.ts.map +1 -0
  48. package/dist/components/checkbox-group/checkbox-group.component.d.ts +3 -0
  49. package/dist/components/checkbox-group/checkbox-group.component.d.ts.map +1 -0
  50. package/dist/components/checkbox-group/checkbox-group.types.d.ts +44 -0
  51. package/dist/components/checkbox-group/checkbox-group.types.d.ts.map +1 -0
  52. package/dist/components/checkbox-group/index.d.ts +3 -0
  53. package/dist/components/checkbox-group/index.d.ts.map +1 -0
  54. package/dist/components/checkbox-group-item/checkbox-item-avatar/checkbox-item-avatar.component.d.ts +9 -0
  55. package/dist/components/checkbox-group-item/checkbox-item-avatar/checkbox-item-avatar.component.d.ts.map +1 -0
  56. package/dist/components/checkbox-group-item/checkbox-item-avatar/index.d.ts +2 -0
  57. package/dist/components/checkbox-group-item/checkbox-item-avatar/index.d.ts.map +1 -0
  58. package/dist/components/checkbox-group-item/checkbox-item-base/checkbox-item-base.argtypes.d.ts +222 -0
  59. package/dist/components/checkbox-group-item/checkbox-item-base/checkbox-item-base.argtypes.d.ts.map +1 -0
  60. package/dist/components/checkbox-group-item/checkbox-item-base/checkbox-item-base.component.d.ts +4 -0
  61. package/dist/components/checkbox-group-item/checkbox-item-base/checkbox-item-base.component.d.ts.map +1 -0
  62. package/dist/components/checkbox-group-item/checkbox-item-base/checkbox-item-base.constant.d.ts +71 -0
  63. package/dist/components/checkbox-group-item/checkbox-item-base/checkbox-item-base.constant.d.ts.map +1 -0
  64. package/dist/components/checkbox-group-item/checkbox-item-base/checkbox-item-base.types.d.ts +29 -0
  65. package/dist/components/checkbox-group-item/checkbox-item-base/checkbox-item-base.types.d.ts.map +1 -0
  66. package/dist/components/checkbox-group-item/checkbox-item-base/index.d.ts +5 -0
  67. package/dist/components/checkbox-group-item/checkbox-item-base/index.d.ts.map +1 -0
  68. package/dist/components/checkbox-group-item/checkbox-item-base/use-checkbox-styles.d.ts +11 -0
  69. package/dist/components/checkbox-group-item/checkbox-item-base/use-checkbox-styles.d.ts.map +1 -0
  70. package/dist/components/checkbox-group-item/checkbox-item-card/checkbox-item-card.component.d.ts +7 -0
  71. package/dist/components/checkbox-group-item/checkbox-item-card/checkbox-item-card.component.d.ts.map +1 -0
  72. package/dist/components/checkbox-group-item/checkbox-item-card/index.d.ts +2 -0
  73. package/dist/components/checkbox-group-item/checkbox-item-card/index.d.ts.map +1 -0
  74. package/dist/components/checkbox-group-item/checkbox-item-icon/checkbox-item-icon.component.d.ts +11 -0
  75. package/dist/components/checkbox-group-item/checkbox-item-icon/checkbox-item-icon.component.d.ts.map +1 -0
  76. package/dist/components/checkbox-group-item/checkbox-item-icon/index.d.ts +2 -0
  77. package/dist/components/checkbox-group-item/checkbox-item-icon/index.d.ts.map +1 -0
  78. package/dist/components/checkbox-group-item/checkbox-item-payment/checkbox-item-payment.component.d.ts +11 -0
  79. package/dist/components/checkbox-group-item/checkbox-item-payment/checkbox-item-payment.component.d.ts.map +1 -0
  80. package/dist/components/checkbox-group-item/checkbox-item-payment/index.d.ts +2 -0
  81. package/dist/components/checkbox-group-item/checkbox-item-payment/index.d.ts.map +1 -0
  82. package/dist/components/checkbox-group-item/index.d.ts +6 -0
  83. package/dist/components/checkbox-group-item/index.d.ts.map +1 -0
  84. package/dist/components/chip/chip.argtypes.d.ts +16 -0
  85. package/dist/components/chip/chip.argtypes.d.ts.map +1 -0
  86. package/dist/components/chip/chip.component.d.ts +16 -0
  87. package/dist/components/chip/chip.component.d.ts.map +1 -0
  88. package/dist/components/chip/chip.constant.d.ts +16 -0
  89. package/dist/components/chip/chip.constant.d.ts.map +1 -0
  90. package/dist/components/chip/index.d.ts +3 -0
  91. package/dist/components/chip/index.d.ts.map +1 -0
  92. package/dist/components/date-field/date-field.argtypes.d.ts +16 -0
  93. package/dist/components/date-field/date-field.argtypes.d.ts.map +1 -0
  94. package/dist/components/date-field/date-field.component.d.ts +24 -0
  95. package/dist/components/date-field/date-field.component.d.ts.map +1 -0
  96. package/dist/components/date-field/date-range-picker.component.d.ts +26 -0
  97. package/dist/components/date-field/date-range-picker.component.d.ts.map +1 -0
  98. package/dist/components/date-field/index.d.ts +3 -0
  99. package/dist/components/date-field/index.d.ts.map +1 -0
  100. package/dist/components/dropdown-field/dropdown-field.argtypes.d.ts +20 -0
  101. package/dist/components/dropdown-field/dropdown-field.argtypes.d.ts.map +1 -0
  102. package/dist/components/dropdown-field/dropdown-field.component.d.ts +30 -0
  103. package/dist/components/dropdown-field/dropdown-field.component.d.ts.map +1 -0
  104. package/dist/components/dropdown-field/index.d.ts +2 -0
  105. package/dist/components/dropdown-field/index.d.ts.map +1 -0
  106. package/dist/components/grid/grid.argtypes.d.ts +20 -0
  107. package/dist/components/grid/grid.argtypes.d.ts.map +1 -0
  108. package/dist/components/grid/grid.component.d.ts +11 -0
  109. package/dist/components/grid/grid.component.d.ts.map +1 -0
  110. package/dist/components/grid/index.d.ts +2 -0
  111. package/dist/components/grid/index.d.ts.map +1 -0
  112. package/dist/components/icon/icon.argtypes.d.ts +20 -0
  113. package/dist/components/icon/icon.argtypes.d.ts.map +1 -0
  114. package/dist/components/icon/icon.element.d.ts +13 -0
  115. package/dist/components/icon/icon.element.d.ts.map +1 -0
  116. package/dist/components/icon/index.d.ts +2 -0
  117. package/dist/components/icon/index.d.ts.map +1 -0
  118. package/dist/components/image/image.argtypes.d.ts +20 -0
  119. package/dist/components/image/image.argtypes.d.ts.map +1 -0
  120. package/dist/components/image/image.element.d.ts +18 -0
  121. package/dist/components/image/image.element.d.ts.map +1 -0
  122. package/dist/components/image/image.enum.d.ts +6 -0
  123. package/dist/components/image/image.enum.d.ts.map +1 -0
  124. package/dist/components/image/index.d.ts +3 -0
  125. package/dist/components/image/index.d.ts.map +1 -0
  126. package/dist/components/index.d.ts +29 -0
  127. package/dist/components/index.d.ts.map +1 -0
  128. package/dist/components/input-stepper/index.d.ts +4 -0
  129. package/dist/components/input-stepper/index.d.ts.map +1 -0
  130. package/dist/components/input-stepper/input-stepper-skeleton.d.ts +9 -0
  131. package/dist/components/input-stepper/input-stepper-skeleton.d.ts.map +1 -0
  132. package/dist/components/input-stepper/input-stepper.argtypes.d.ts +16 -0
  133. package/dist/components/input-stepper/input-stepper.argtypes.d.ts.map +1 -0
  134. package/dist/components/input-stepper/input-stepper.component.d.ts +38 -0
  135. package/dist/components/input-stepper/input-stepper.component.d.ts.map +1 -0
  136. package/dist/components/input-stepper/input-stepper.constant.d.ts +32 -0
  137. package/dist/components/input-stepper/input-stepper.constant.d.ts.map +1 -0
  138. package/dist/components/link/index.d.ts +3 -0
  139. package/dist/components/link/index.d.ts.map +1 -0
  140. package/dist/components/link/link-internal.element.d.ts +9 -0
  141. package/dist/components/link/link-internal.element.d.ts.map +1 -0
  142. package/dist/components/link/link.element.d.ts +8 -0
  143. package/dist/components/link/link.element.d.ts.map +1 -0
  144. package/dist/components/link-field/index.d.ts +2 -0
  145. package/dist/components/link-field/index.d.ts.map +1 -0
  146. package/dist/components/link-field/link-field.argtypes.d.ts +20 -0
  147. package/dist/components/link-field/link-field.argtypes.d.ts.map +1 -0
  148. package/dist/components/link-field/link-field.component.d.ts +24 -0
  149. package/dist/components/link-field/link-field.component.d.ts.map +1 -0
  150. package/dist/components/modal/index.d.ts +5 -0
  151. package/dist/components/modal/index.d.ts.map +1 -0
  152. package/dist/components/modal/modal-card.component.d.ts +15 -0
  153. package/dist/components/modal/modal-card.component.d.ts.map +1 -0
  154. package/dist/components/modal/modal-content.component.d.ts +16 -0
  155. package/dist/components/modal/modal-content.component.d.ts.map +1 -0
  156. package/dist/components/modal/modal.argtypes.d.ts +20 -0
  157. package/dist/components/modal/modal.argtypes.d.ts.map +1 -0
  158. package/dist/components/modal/modal.component.d.ts +11 -0
  159. package/dist/components/modal/modal.component.d.ts.map +1 -0
  160. package/dist/components/modal/modal.interface.d.ts +20 -0
  161. package/dist/components/modal/modal.interface.d.ts.map +1 -0
  162. package/dist/components/money-field/index.d.ts +2 -0
  163. package/dist/components/money-field/index.d.ts.map +1 -0
  164. package/dist/components/money-field/money-field.argtypes.d.ts +3 -0
  165. package/dist/components/money-field/money-field.argtypes.d.ts.map +1 -0
  166. package/dist/components/money-field/money-field.component.d.ts +25 -0
  167. package/dist/components/money-field/money-field.component.d.ts.map +1 -0
  168. package/dist/components/phone-number-field/index.d.ts +2 -0
  169. package/dist/components/phone-number-field/index.d.ts.map +1 -0
  170. package/dist/components/phone-number-field/phone-number-field.argtypes.d.ts +3 -0
  171. package/dist/components/phone-number-field/phone-number-field.argtypes.d.ts.map +1 -0
  172. package/dist/components/phone-number-field/phone-number-field.component.d.ts +29 -0
  173. package/dist/components/phone-number-field/phone-number-field.component.d.ts.map +1 -0
  174. package/dist/components/picker/index.d.ts +6 -0
  175. package/dist/components/picker/index.d.ts.map +1 -0
  176. package/dist/components/picker/picker-column.element.d.ts +4 -0
  177. package/dist/components/picker/picker-column.element.d.ts.map +1 -0
  178. package/dist/components/picker/picker.argtypes.d.ts +3 -0
  179. package/dist/components/picker/picker.argtypes.d.ts.map +1 -0
  180. package/dist/components/picker/picker.component.d.ts +4 -0
  181. package/dist/components/picker/picker.component.d.ts.map +1 -0
  182. package/dist/components/picker/picker.constant.d.ts +11 -0
  183. package/dist/components/picker/picker.constant.d.ts.map +1 -0
  184. package/dist/components/picker/picker.types.d.ts +30 -0
  185. package/dist/components/picker/picker.types.d.ts.map +1 -0
  186. package/dist/components/picker/use-picker-scroll.d.ts +8 -0
  187. package/dist/components/picker/use-picker-scroll.d.ts.map +1 -0
  188. package/dist/components/pin/index.d.ts +3 -0
  189. package/dist/components/pin/index.d.ts.map +1 -0
  190. package/dist/components/pin/pin.argtypes.d.ts +3 -0
  191. package/dist/components/pin/pin.argtypes.d.ts.map +1 -0
  192. package/dist/components/pin/pin.component.d.ts +23 -0
  193. package/dist/components/pin/pin.component.d.ts.map +1 -0
  194. package/dist/components/pin/pin.constant.d.ts +25 -0
  195. package/dist/components/pin/pin.constant.d.ts.map +1 -0
  196. package/dist/components/rating/index.d.ts +3 -0
  197. package/dist/components/rating/index.d.ts.map +1 -0
  198. package/dist/components/rating/rating.argtypes.d.ts +3 -0
  199. package/dist/components/rating/rating.argtypes.d.ts.map +1 -0
  200. package/dist/components/rating/rating.component.d.ts +16 -0
  201. package/dist/components/rating/rating.component.d.ts.map +1 -0
  202. package/dist/components/search-dropdown/index.d.ts +2 -0
  203. package/dist/components/search-dropdown/index.d.ts.map +1 -0
  204. package/dist/components/search-dropdown/search-dropdown.argtypes.d.ts +3 -0
  205. package/dist/components/search-dropdown/search-dropdown.argtypes.d.ts.map +1 -0
  206. package/dist/components/search-dropdown/search-dropdown.component.d.ts +32 -0
  207. package/dist/components/search-dropdown/search-dropdown.component.d.ts.map +1 -0
  208. package/dist/components/search-field/index.d.ts +2 -0
  209. package/dist/components/search-field/index.d.ts.map +1 -0
  210. package/dist/components/search-field/search-field.argtypes.d.ts +3 -0
  211. package/dist/components/search-field/search-field.argtypes.d.ts.map +1 -0
  212. package/dist/components/search-field/search-field.component.d.ts +14 -0
  213. package/dist/components/search-field/search-field.component.d.ts.map +1 -0
  214. package/dist/components/slider/index.d.ts +2 -0
  215. package/dist/components/slider/index.d.ts.map +1 -0
  216. package/dist/components/slider/slider.argtypes.d.ts +3 -0
  217. package/dist/components/slider/slider.argtypes.d.ts.map +1 -0
  218. package/dist/components/slider/slider.component.d.ts +27 -0
  219. package/dist/components/slider/slider.component.d.ts.map +1 -0
  220. package/dist/components/switch/index.d.ts +3 -0
  221. package/dist/components/switch/index.d.ts.map +1 -0
  222. package/dist/components/switch/switch-content.component.d.ts +14 -0
  223. package/dist/components/switch/switch-content.component.d.ts.map +1 -0
  224. package/dist/components/switch/switch.argtypes.d.ts +4 -0
  225. package/dist/components/switch/switch.argtypes.d.ts.map +1 -0
  226. package/dist/components/switch/switch.component.d.ts +12 -0
  227. package/dist/components/switch/switch.component.d.ts.map +1 -0
  228. package/dist/components/tab/index.d.ts +3 -0
  229. package/dist/components/tab/index.d.ts.map +1 -0
  230. package/dist/components/tab/tab.argtypes.d.ts +5 -0
  231. package/dist/components/tab/tab.argtypes.d.ts.map +1 -0
  232. package/dist/components/tab/tab.component.d.ts +23 -0
  233. package/dist/components/tab/tab.component.d.ts.map +1 -0
  234. package/dist/components/tab/tab.constant.d.ts +15 -0
  235. package/dist/components/tab/tab.constant.d.ts.map +1 -0
  236. package/dist/components/text-area/index.d.ts +2 -0
  237. package/dist/components/text-area/index.d.ts.map +1 -0
  238. package/dist/components/text-area/text-area.argtypes.d.ts +4 -0
  239. package/dist/components/text-area/text-area.argtypes.d.ts.map +1 -0
  240. package/dist/components/text-area/text-area.component.d.ts +23 -0
  241. package/dist/components/text-area/text-area.component.d.ts.map +1 -0
  242. package/dist/components/text-field/index.d.ts +2 -0
  243. package/dist/components/text-field/index.d.ts.map +1 -0
  244. package/dist/components/text-field/text-field.argtypes.d.ts +4 -0
  245. package/dist/components/text-field/text-field.argtypes.d.ts.map +1 -0
  246. package/dist/components/text-field/text-field.component.d.ts +24 -0
  247. package/dist/components/text-field/text-field.component.d.ts.map +1 -0
  248. package/dist/components/tooltip/index.d.ts +3 -0
  249. package/dist/components/tooltip/index.d.ts.map +1 -0
  250. package/dist/components/tooltip/tooltip.argtypes.d.ts +3 -0
  251. package/dist/components/tooltip/tooltip.argtypes.d.ts.map +1 -0
  252. package/dist/components/tooltip/tooltip.component.d.ts +28 -0
  253. package/dist/components/tooltip/tooltip.component.d.ts.map +1 -0
  254. package/dist/components/typography/index.d.ts +2 -0
  255. package/dist/components/typography/index.d.ts.map +1 -0
  256. package/dist/components/typography/typography-limit-one-line.component.d.ts +9 -0
  257. package/dist/components/typography/typography-limit-one-line.component.d.ts.map +1 -0
  258. package/dist/components/uploader/index.d.ts +3 -0
  259. package/dist/components/uploader/index.d.ts.map +1 -0
  260. package/dist/components/uploader/uploader-item.component.d.ts +18 -0
  261. package/dist/components/uploader/uploader-item.component.d.ts.map +1 -0
  262. package/dist/components/uploader/uploader-item.styles.d.ts +53 -0
  263. package/dist/components/uploader/uploader-item.styles.d.ts.map +1 -0
  264. package/dist/components/uploader/uploader.argtypes.d.ts +6 -0
  265. package/dist/components/uploader/uploader.argtypes.d.ts.map +1 -0
  266. package/dist/components/uploader/uploader.component.d.ts +48 -0
  267. package/dist/components/uploader/uploader.component.d.ts.map +1 -0
  268. package/dist/components/video-player/index.d.ts +2 -0
  269. package/dist/components/video-player/index.d.ts.map +1 -0
  270. package/dist/components/video-player/video-player.argtypes.d.ts +3 -0
  271. package/dist/components/video-player/video-player.argtypes.d.ts.map +1 -0
  272. package/dist/components/video-player/video-player.component.d.ts +16 -0
  273. package/dist/components/video-player/video-player.component.d.ts.map +1 -0
  274. package/dist/components/video-player/video-player.constant.d.ts +18 -0
  275. package/dist/components/video-player/video-player.constant.d.ts.map +1 -0
  276. package/dist/constants/apps.data.d.ts +7 -0
  277. package/dist/constants/apps.data.d.ts.map +1 -0
  278. package/dist/constants/color.constant.d.ts +105 -0
  279. package/dist/constants/color.constant.d.ts.map +1 -0
  280. package/dist/constants/icons-mui.constant.d.ts +2 -0
  281. package/dist/constants/icons-mui.constant.d.ts.map +1 -0
  282. package/dist/constants/index.d.ts +6 -0
  283. package/dist/constants/index.d.ts.map +1 -0
  284. package/dist/constants/style.constant.d.ts +58 -0
  285. package/dist/constants/style.constant.d.ts.map +1 -0
  286. package/dist/constants/typography.constant.d.ts +710 -0
  287. package/dist/constants/typography.constant.d.ts.map +1 -0
  288. package/dist/index.cjs.js +1 -0
  289. package/dist/index.d.ts +6 -0
  290. package/dist/index.d.ts.map +1 -0
  291. package/dist/index.es.js +129 -0
  292. package/dist/logo/logo-main.svg +16 -0
  293. package/dist/logo/logo-sub-1.svg +16 -0
  294. package/dist/logo/logo-sub-2.svg +9 -0
  295. package/dist/logo/logo-sub-3.svg +9 -0
  296. package/dist/logo/logo-sub-4.svg +15 -0
  297. package/dist/logo/logo-sub-5.svg +3 -0
  298. package/dist/logo/logo-sub-6.svg +8 -0
  299. package/dist/styles/index.d.ts +2 -0
  300. package/dist/styles/index.d.ts.map +1 -0
  301. package/dist/styles/stack.style.d.ts +54 -0
  302. package/dist/styles/stack.style.d.ts.map +1 -0
  303. package/dist/types/index.d.ts +1 -0
  304. package/dist/types/index.d.ts.map +1 -0
  305. package/dist/utils/index.d.ts +2 -0
  306. package/dist/utils/index.d.ts.map +1 -0
  307. package/dist/utils/time.utils.d.ts +2 -0
  308. package/dist/utils/time.utils.d.ts.map +1 -0
  309. package/dist/utils/video.utils.d.ts +4 -0
  310. package/dist/utils/video.utils.d.ts.map +1 -0
  311. package/package.json +132 -0
package/README.md ADDED
@@ -0,0 +1,264 @@
1
+ # SevaTech Library
2
+
3
+ [![npm version](https://badge.fury.io/js/sevatech-library.svg)](https://badge.fury.io/js/sevatech-library)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-blue.svg)](https://www.typescriptlang.org/)
6
+ [![Storybook](https://img.shields.io/badge/Storybook-8.6-FF69B4.svg)](https://core-sevago.github.io/sevatech-library)
7
+
8
+ React component library with TypeScript and Material-UI.
9
+
10
+ 📖 **[View Storybook Documentation](https://core-sevago.github.io/sevatech-library)**
11
+
12
+ ---
13
+
14
+ ## 📦 Installation
15
+
16
+ ```bash
17
+ npm install sevatech-library --force
18
+ ```
19
+
20
+ or
21
+
22
+ ```bash
23
+ yarn add sevatech-library
24
+ ```
25
+
26
+ ### Peer Dependencies
27
+
28
+ Ensure you have the following peer dependencies installed:
29
+
30
+ ```json
31
+ {
32
+ "react": "^18.0.0",
33
+ "react-dom": "^18.0.0",
34
+ "@mui/material": "^5.14.0",
35
+ "@emotion/react": "^11.11.0",
36
+ "@emotion/styled": "^11.11.0"
37
+ }
38
+ ```
39
+
40
+ ---
41
+
42
+ ## 🚀 Quick Start
43
+
44
+ ```tsx
45
+ import React, { useState } from 'react';
46
+ import { ButtonComponent, TextFieldComponent, ModalComponent } from 'sevatech-library';
47
+
48
+ function App() {
49
+ const [email, setEmail] = useState('');
50
+ const [isOpen, setIsOpen] = useState(false);
51
+
52
+ return (
53
+ <div style={{ padding: '20px' }}>
54
+ <TextFieldComponent
55
+ label='Email Address'
56
+ value={email}
57
+ onChange={e => setEmail(e.target.value)}
58
+ placeholder='Enter your email'
59
+ fullWidth
60
+ />
61
+
62
+ <ButtonComponent variant='solid' color='brand' onClick={() => setIsOpen(true)} sx={{ marginTop: 2 }}>
63
+ Open Modal
64
+ </ButtonComponent>
65
+
66
+ <ModalComponent
67
+ open={isOpen}
68
+ onClose={() => setIsOpen(false)}
69
+ title='Welcome to SevaTech Library'
70
+ buttonRight={{
71
+ children: 'Get Started',
72
+ onClick: () => setIsOpen(false),
73
+ }}
74
+ >
75
+ <p>Start building amazing user interfaces with our comprehensive component library.</p>
76
+ </ModalComponent>
77
+ </div>
78
+ );
79
+ }
80
+ ```
81
+
82
+ ---
83
+
84
+ ### Building Complex Forms
85
+
86
+ Create forms with validation, error handling, and various input types:
87
+
88
+ ```tsx
89
+ import {
90
+ TextFieldComponent,
91
+ DateFieldComponent,
92
+ DropdownFieldComponent,
93
+ CheckboxComponent,
94
+ ButtonComponent,
95
+ } from 'sevatech-library';
96
+
97
+ // Form with multiple input types
98
+ <TextFieldComponent label='Name' value={name} onChange={setName} />
99
+ <DateFieldComponent label='Birthday' value={date} onChange={setDate} />
100
+ <DropdownFieldComponent options={options} value={selected} onChange={setSelected} />
101
+ <CheckboxComponent label='Agree to terms' checked={agreed} onChange={setAgreed} />
102
+ <ButtonComponent variant='solid' color='brand' onClick={handleSubmit}>
103
+ Submit
104
+ </ButtonComponent>
105
+ ```
106
+
107
+ ### Creating Beautiful UI Components
108
+
109
+ Use ready-made components to create professional interfaces:
110
+
111
+ ```tsx
112
+ import {
113
+ AvatarComponent,
114
+ ChipComponent,
115
+ TypographyComponent,
116
+ TooltipComponent,
117
+ } from 'sevatech-library';
118
+
119
+ // Avatar with fallback
120
+ <AvatarComponent name='John Doe' size='lg' color='brand' />
121
+
122
+ // Chips with colors
123
+ <ChipComponent label='New' color='success' />
124
+ <ChipComponent label='Important' color='error' />
125
+
126
+ // Typography with variants
127
+ <TypographyComponent variant='h1'>Main Title</TypographyComponent>
128
+ <TypographyComponent variant='body1'>Body text</TypographyComponent>
129
+
130
+ // Tooltip
131
+ <TooltipComponent title='Delete item'>
132
+ <IconButton><DeleteIcon /></IconButton>
133
+ </TooltipComponent>
134
+ ```
135
+
136
+ ### Media Integration
137
+
138
+ Embed videos and handle file uploads:
139
+
140
+ ```tsx
141
+ import { VideoPlayerComponent, UploaderComponent } from 'sevatech-library';
142
+
143
+ // Video player with YouTube support
144
+ <VideoPlayerComponent
145
+ src='https://www.youtube.com/watch?v=VIDEO_ID'
146
+ width={600}
147
+ height={400}
148
+ />
149
+
150
+ // File upload with drag & drop
151
+ <UploaderComponent
152
+ onFilesSelected={files => console.log('Files:', files)}
153
+ accept='.jpg,.png,.pdf'
154
+ maxSize={5 * 1024 * 1024}
155
+ />
156
+ ```
157
+
158
+ ### Customizing Theme
159
+
160
+ ```tsx
161
+ import { ThemeProvider, createTheme } from '@mui/material';
162
+ import { ButtonComponent } from 'sevatech-library';
163
+
164
+ const theme = createTheme({
165
+ palette: {
166
+ brand: {
167
+ main: '#your-brand-color',
168
+ light: '#lighter-shade',
169
+ dark: '#darker-shade',
170
+ },
171
+ },
172
+ typography: {
173
+ fontFamily: '"Inter", "Roboto", sans-serif',
174
+ },
175
+ });
176
+
177
+ function App() {
178
+ return (
179
+ <ThemeProvider theme={theme}>
180
+ <ButtonComponent variant='solid' color='brand'>
181
+ Themed Button
182
+ </ButtonComponent>
183
+ </ThemeProvider>
184
+ );
185
+ }
186
+ ```
187
+
188
+ ---
189
+
190
+ ## 📚 Components
191
+
192
+ The library includes 30+ components organized into groups:
193
+
194
+ - **Form Components**: Button, TextField, TextArea, Checkbox, Switch, Dropdown, Search, Date, Money, Rating, Slider, Picker, CheckboxGroup
195
+ - **Layout Components**: Modal, Tabs, Grid
196
+ - **Data Display**: Avatar, AvatarGroup, Chip, Typography, Tooltip
197
+ - **Navigation**: Breadcrumbs, Link
198
+ - **Utility**: Icon, Image, Uploader
199
+ - **Media**: VideoPlayer
200
+
201
+ View all components and examples at [Storybook](https://core-sevago.github.io/sevatech-library).
202
+
203
+ ---
204
+
205
+ ## 🛠️ Development
206
+
207
+ ### Setup
208
+
209
+ ```bash
210
+ git clone https://github.com/golden-lotus-core-web/sevatech-library.git
211
+ cd sevatech-library
212
+ npm install
213
+ ```
214
+
215
+ ### Scripts
216
+
217
+ ```bash
218
+ npm run dev # Development server
219
+ npm run build # Build for production
220
+ npm run storybook # Run Storybook
221
+ npm run lint # Lint code
222
+ npm run format # Format code
223
+ ```
224
+
225
+ ---
226
+
227
+ ## 📖 API Reference
228
+
229
+ All components support these common props:
230
+
231
+ - `sx`: Material-UI sx prop for custom styling
232
+ - `className`: CSS class name
233
+ - `style`: Inline styles
234
+ - `disabled`: Disable component
235
+ - `loading`: Show loading state
236
+
237
+ For detailed props of each component, see [Storybook](https://core-sevago.github.io/sevatech-library).
238
+
239
+ ---
240
+
241
+ ## 🤝 Contributing
242
+
243
+ We welcome contributions! Please:
244
+
245
+ 1. Fork repository
246
+ 2. Tạo feature branch (`git checkout -b feature/amazing-feature`)
247
+ 3. Commit changes (`git commit -m 'Add amazing feature'`)
248
+ 4. Push to branch (`git push origin feature/amazing-feature`)
249
+ 5. Mở Pull Request
250
+
251
+ ---
252
+
253
+ ## 📄 License
254
+
255
+ MIT License - see the [LICENSE](LICENSE) file for details.
256
+
257
+ ## 📞 Support
258
+
259
+ - **Documentation**: [Storybook](https://core-sevago.github.io/sevatech-library)
260
+ - **Issues**: [GitHub Issues](https://github.com/golden-lotus-core-web/sevatech-library/issues)
261
+
262
+ ---
263
+
264
+ Built with ❤️ by **SevaTech** team
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { SxProps, Theme } from '@mui/material';
3
+ import { AvatarSize } from './avatar.constant';
4
+ import { AvatarData } from './avatar.interface';
5
+ interface AvatarGroupProps {
6
+ avatars: AvatarData[];
7
+ maxDisplay?: number;
8
+ size?: AvatarSize;
9
+ border?: boolean;
10
+ borderColor?: string;
11
+ borderWidth?: number;
12
+ onAddClick?: () => void;
13
+ overlap?: number;
14
+ icon?: string;
15
+ sxAvatar?: SxProps<Theme>;
16
+ sx?: SxProps<Theme>;
17
+ }
18
+ declare const AvatarGroupComponent: React.FC<AvatarGroupProps>;
19
+ export { AvatarGroupComponent };
20
+ //# sourceMappingURL=avatar-group.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar-group.component.d.ts","sourceRoot":"","sources":["../../../src/components/avatar/avatar-group.component.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAO,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAgB,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAKhD,UAAU,gBAAgB;IACxB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1B,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CACrB;AAED,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAwFpD,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { SxProps, Theme } from '@mui/material';
3
+ import { AvatarComponentProps } from './avatar.interface';
4
+ interface AvatarLabelGroupProps extends AvatarComponentProps {
5
+ title?: string;
6
+ description?: string;
7
+ sxAvatar?: SxProps<Theme>;
8
+ }
9
+ declare const AvatarLabelGroupComponent: React.FC<AvatarLabelGroupProps>;
10
+ export { AvatarLabelGroupComponent };
11
+ //# sourceMappingURL=avatar-label-group.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar-label-group.component.d.ts","sourceRoot":"","sources":["../../../src/components/avatar/avatar-label-group.component.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAqB,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAGlE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG1D,UAAU,qBAAsB,SAAQ,oBAAoB;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CAC3B;AAED,QAAA,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA0C9D,CAAC;AAEF,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { AvatarComponentProps } from './avatar.interface';
3
+ declare const AvatarProfileComponent: React.FC<AvatarComponentProps>;
4
+ export { AvatarProfileComponent };
5
+ //# sourceMappingURL=avatar-profile.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar-profile.component.d.ts","sourceRoot":"","sources":["../../../src/components/avatar/avatar-profile.component.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,QAAA,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAyE1D,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { AvatarProps } from '@mui/material';
3
+ interface AvatarUserProps extends Omit<AvatarProps, 'children'> {
4
+ title?: string;
5
+ description?: string;
6
+ descriptionHref?: string;
7
+ onDescriptionClick?: () => void;
8
+ titleColor?: string;
9
+ descriptionColor?: string;
10
+ url?: string;
11
+ }
12
+ declare const AvatarUserComponent: React.FC<AvatarUserProps>;
13
+ export { AvatarUserComponent };
14
+ //# sourceMappingURL=avatar-user.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar-user.component.d.ts","sourceRoot":"","sources":["../../../src/components/avatar/avatar-user.component.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAe,WAAW,EAAE,MAAM,eAAe,CAAC;AAMzD,UAAU,eAAgB,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,QAAA,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAgDlD,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1,19 @@
1
+ type ArgType = {
2
+ control?: any;
3
+ description?: string;
4
+ options?: any[];
5
+ if?: any;
6
+ table?: {
7
+ category?: string;
8
+ defaultValue?: {
9
+ summary: string;
10
+ };
11
+ disable?: boolean;
12
+ };
13
+ };
14
+ export declare const avatarCoreArgTypes: Record<string, ArgType>;
15
+ export declare const avatarLabelGroupArgTypes: Record<string, ArgType>;
16
+ export declare const avatarGroupArgTypes: Record<string, ArgType>;
17
+ export declare const avatarUserArgTypes: Record<string, ArgType>;
18
+ export {};
19
+ //# sourceMappingURL=avatar.argtypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.argtypes.d.ts","sourceRoot":"","sources":["../../../src/components/avatar/avatar.argtypes.ts"],"names":[],"mappings":"AAEA,KAAK,OAAO,GAAG;IACb,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAChB,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,KAAK,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QACnC,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAqFtD,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAgB5D,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAyDvD,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAmDtD,CAAC"}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { AvatarSize } from './avatar.constant';
3
+ import { AvatarComponentProps } from './avatar.interface';
4
+ export declare const BadgeLive: ({ text, size }: {
5
+ text?: string;
6
+ size?: AvatarSize;
7
+ }) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const BadgeNumber: ({ number, size }: {
9
+ number: number;
10
+ size?: AvatarSize;
11
+ }) => import("react/jsx-runtime").JSX.Element;
12
+ export declare const BadgeOnline: ({ size }: {
13
+ size?: AvatarSize;
14
+ }) => import("react/jsx-runtime").JSX.Element;
15
+ export declare const BadgeImage: ({ url, size }: {
16
+ url: string;
17
+ size?: AvatarSize;
18
+ }) => import("react/jsx-runtime").JSX.Element;
19
+ export declare const AvatarComponent: React.FC<AvatarComponentProps>;
20
+ //# sourceMappingURL=avatar.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.component.d.ts","sourceRoot":"","sources":["../../../src/components/avatar/avatar.component.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAGL,UAAU,EAIX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG1D,eAAO,MAAM,SAAS,GAAI,gBAAgC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,UAAU,CAAA;CAAE,4CAgB7F,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,kBAAyB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,UAAU,CAAA;CAAE,4CAoBzF,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,UAAiB;IAAE,IAAI,CAAC,EAAE,UAAU,CAAA;CAAE,4CAUjE,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,eAAsB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,UAAU,CAAA;CAAE,4CAelF,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAkD1D,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { BadgePositionStyles } from './avatar.interface';
2
+ export declare const AVATAR_SIZES: {
3
+ xs: number;
4
+ sm: number;
5
+ md: number;
6
+ lg: number;
7
+ xl: number;
8
+ '2xl': number;
9
+ };
10
+ export declare const BADGE_SIZES: {
11
+ xs: number;
12
+ sm: number;
13
+ md: number;
14
+ lg: number;
15
+ xl: number;
16
+ '2xl': number;
17
+ };
18
+ export declare const BADGE_FONT_SIZES: {
19
+ xs: number;
20
+ sm: number;
21
+ md: number;
22
+ lg: number;
23
+ xl: number;
24
+ '2xl': number;
25
+ };
26
+ export type AvatarSize = keyof typeof AVATAR_SIZES;
27
+ export type BadgePosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
28
+ export declare const getBadgePosition: (position: BadgePosition) => BadgePositionStyles;
29
+ export declare enum AvatarColor {
30
+ BACKGROUND_COLOR_BADGE = "#000000",
31
+ COLOR_BADGE = "#FFFFFF",
32
+ COLOR_TITLE = "#414651",
33
+ COLOR_DESCRIPTION = "#535862"
34
+ }
35
+ //# sourceMappingURL=avatar.constant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.constant.d.ts","sourceRoot":"","sources":["../../../src/components/avatar/avatar.constant.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,eAAO,MAAM,YAAY;;;;;;;CAOxB,CAAC;AACF,eAAO,MAAM,WAAW;;;;;;;CAOvB,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;CAO5B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,YAAY,CAAC;AAEnD,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,YAAY,GAAG,WAAW,GAAG,aAAa,GAAG,eAAe,GAAG,cAAc,CAAC;AAEvH,eAAO,MAAM,gBAAgB,GAAI,UAAU,aAAa,KAAG,mBAU1D,CAAC;AACF,oBAAY,WAAW;IACrB,sBAAsB,YAAY;IAClC,WAAW,YAAY;IACvB,WAAW,YAAY;IACvB,iBAAiB,YAAY;CAC9B"}
@@ -0,0 +1,28 @@
1
+ import { AvatarProps, SxProps, Theme } from '@mui/material';
2
+ import { AvatarSize, BadgePosition } from './avatar.constant';
3
+ import { ImageSizeType } from '../image';
4
+ export interface AvatarData {
5
+ url?: string;
6
+ name?: string;
7
+ id?: string;
8
+ }
9
+ export interface AvatarComponentProps extends Omit<AvatarProps, 'children'> {
10
+ url?: string;
11
+ size?: AvatarSize;
12
+ border?: boolean;
13
+ borderColor?: string;
14
+ borderWidth?: number;
15
+ badge?: React.ReactNode;
16
+ badgePosition?: BadgePosition;
17
+ children?: React.ReactNode;
18
+ sizeType?: ImageSizeType;
19
+ sxProfile?: SxProps<Theme>;
20
+ }
21
+ export interface BadgePositionStyles {
22
+ top?: string | number;
23
+ bottom?: string | number;
24
+ left?: string | number;
25
+ right?: string | number;
26
+ transform?: string;
27
+ }
28
+ //# sourceMappingURL=avatar.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.interface.d.ts","sourceRoot":"","sources":["../../../src/components/avatar/avatar.interface.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC;IACzE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,8 @@
1
+ export { AvatarComponent, BadgeLive, BadgeNumber, BadgeOnline, BadgeImage } from './avatar.component';
2
+ export { AvatarGroupComponent } from './avatar-group.component';
3
+ export { AvatarLabelGroupComponent } from './avatar-label-group.component';
4
+ export { AvatarProfileComponent } from './avatar-profile.component';
5
+ export { AvatarUserComponent } from './avatar-user.component';
6
+ export * from './avatar.constant';
7
+ export * from './avatar.interface';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/avatar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACtG,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,16 @@
1
+ type ArgType = {
2
+ control?: any;
3
+ description?: string;
4
+ options?: any[];
5
+ table?: {
6
+ category?: string;
7
+ defaultValue?: {
8
+ summary: string;
9
+ };
10
+ disable?: boolean;
11
+ };
12
+ action?: string;
13
+ };
14
+ export declare const breadCrumbsArgTypes: Record<string, ArgType>;
15
+ export {};
16
+ //# sourceMappingURL=bread-crumbs.argtypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bread-crumbs.argtypes.d.ts","sourceRoot":"","sources":["../../../src/components/bread-crumbs/bread-crumbs.argtypes.ts"],"names":[],"mappings":"AAAA,KAAK,OAAO,GAAG;IACb,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QACnC,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAIF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CA8BvD,CAAC"}
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import { SxProps, Theme } from '@mui/material';
3
+ interface BreadcrumbItem {
4
+ id: string;
5
+ icon?: string;
6
+ label: string;
7
+ href?: string;
8
+ onClick?: () => void;
9
+ }
10
+ interface BreadcrumbsComponentProps {
11
+ items: BreadcrumbItem[];
12
+ separator?: '>' | '/';
13
+ maxItems?: number;
14
+ idSelect?: string;
15
+ sx?: SxProps<Theme>;
16
+ sxItem?: SxProps<Theme>;
17
+ onChange?: (id: string) => void;
18
+ }
19
+ declare const BreadcrumbsComponent: React.FC<BreadcrumbsComponentProps>;
20
+ export { BreadcrumbsComponent };
21
+ //# sourceMappingURL=bread-crumbs.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bread-crumbs.component.d.ts","sourceRoot":"","sources":["../../../src/components/bread-crumbs/bread-crumbs.component.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAY/C,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,UAAU,yBAAyB;IACjC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA8G7D,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { BreadcrumbsComponent } from './bread-crumbs.component';
2
+ export * from './bread-crumbs.component';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/bread-crumbs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,15 @@
1
+ import React, { ReactNode, CSSProperties } from 'react';
2
+ type Layout = 'horizontal' | 'vertical';
3
+ interface ButtonBarProps {
4
+ /** Layout: 'horizontal' (ngang) hoặc 'vertical' (dọc) */
5
+ layout: Layout;
6
+ /** Các button bên trong */
7
+ children: ReactNode;
8
+ /** Gap giữa các button (px) */
9
+ gap?: number;
10
+ /** Custom style cho container */
11
+ style?: CSSProperties;
12
+ }
13
+ declare const ButtonBarComponent: React.FC<ButtonBarProps>;
14
+ export { ButtonBarComponent };
15
+ //# sourceMappingURL=button-bar.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-bar.component.d.ts","sourceRoot":"","sources":["../../../src/components/button/button-bar.component.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAExD,KAAK,MAAM,GAAG,YAAY,GAAG,UAAU,CAAC;AAExC,UAAU,cAAc;IACtB,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,QAAQ,EAAE,SAAS,CAAC;IACpB,+BAA+B;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAUhD,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,16 @@
1
+ type ArgType = {
2
+ control?: any;
3
+ description?: string;
4
+ options?: any[];
5
+ table?: {
6
+ category?: string;
7
+ defaultValue?: {
8
+ summary: string;
9
+ };
10
+ disable?: boolean;
11
+ };
12
+ action?: string;
13
+ };
14
+ export declare const buttonArgTypes: Record<string, ArgType>;
15
+ export {};
16
+ //# sourceMappingURL=button.argtypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.argtypes.d.ts","sourceRoot":"","sources":["../../../src/components/button/button.argtypes.ts"],"names":[],"mappings":"AAGA,KAAK,OAAO,GAAG;IACb,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QACnC,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAOF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAyFlD,CAAC"}
@@ -0,0 +1,37 @@
1
+ import React, { ReactNode, CSSProperties } from 'react';
2
+ import { ButtonProps as MuiButtonProps } from '@mui/material';
3
+ import { Variant, Color, Size } from './button.constants';
4
+ export interface ButtonProps extends Omit<MuiButtonProps, 'variant' | 'color' | 'size' | 'prefix' | 'suffix'> {
5
+ /** Kiểu hiển thị: solid (đầy), outline (viền), ghost (nền nhạt), text (chỉ chữ) */
6
+ variant?: Variant;
7
+ /** Màu sắc: brand, neutral, error, warning, success, accent, info */
8
+ color?: Color;
9
+ /** Shade của màu: light (100), main (500), dark (700) hoặc number (50-950) */
10
+ shade?: 'light' | 'main' | 'dark' | number;
11
+ /** Kích cỡ: xs, sm, md, lg, xl */
12
+ size?: Size;
13
+ /** Icon hoặc element hiển thị trước nội dung (ReactNode) */
14
+ prefix?: ReactNode;
15
+ /** Icon hoặc element hiển thị sau nội dung (ReactNode) */
16
+ suffix?: ReactNode;
17
+ /** Tên icon Material hiển thị trước (string) - ưu tiên hơn prefix */
18
+ prefixIcon?: string;
19
+ /** Tên icon Material hiển thị sau (string) - ưu tiên hơn suffix */
20
+ suffixIcon?: string;
21
+ /** Style CSS cho icon (áp dụng cho prefixIcon/suffixIcon) */
22
+ iconStyle?: CSSProperties;
23
+ /** Trạng thái loading - hiển thị spinner */
24
+ loading?: boolean;
25
+ /** Nội dung button */
26
+ children?: ReactNode;
27
+ /** Button chiếm full width container */
28
+ fullWidth?: boolean;
29
+ /** Vô hiệu hóa button */
30
+ disabled?: boolean;
31
+ /** Hiển thị dot nhỏ trước text để đánh dấu trạng thái active */
32
+ active?: boolean;
33
+ /** Màu của dot khi active (mặc định: #10b981 - xanh lá) */
34
+ activeDotColor?: string;
35
+ }
36
+ export declare const ButtonComponent: React.FC<ButtonProps>;
37
+ //# sourceMappingURL=button.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.component.d.ts","sourceRoot":"","sources":["../../../src/components/button/button.component.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,EAAuB,WAAW,IAAI,cAAc,EAAoB,MAAM,eAAe,CAAC;AACrG,OAAO,EACL,OAAO,EACP,KAAK,EAEL,IAAI,EAML,MAAM,oBAAoB,CAAC;AAwE5B,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC3G,mFAAmF;IACnF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qEAAqE;IACrE,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,8EAA8E;IAC9E,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC3C,kCAAkC;IAClC,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,4DAA4D;IAC5D,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,4CAA4C;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,wCAAwC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gEAAgE;IAChE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AACD,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAmFjD,CAAC"}
@@ -0,0 +1,33 @@
1
+ /** Button component type definitions */
2
+ export type Variant = 'solid' | 'outline' | 'ghost' | 'text';
3
+ export type Color = 'brand' | 'neutral' | 'error' | 'warning' | 'success' | 'accent' | 'info';
4
+ export type Size = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
5
+ export type ShadeType = 'light' | 'main' | 'dark';
6
+ /** Shade values mapping */
7
+ export declare const SHADE_VALUES: Record<ShadeType, number>;
8
+ /** Button size configuration */
9
+ export declare const SIZES: Record<Size, {
10
+ padding: string;
11
+ fontSize: string;
12
+ height: string;
13
+ width?: string;
14
+ }>;
15
+ /** Color palette mapping */
16
+ export declare const COLORS: Record<Color, Record<number, string>>;
17
+ /** Button UI constants */
18
+ export declare const BUTTON_CONSTANTS: {
19
+ readonly ACTIVE_DOT_SIZE: 8;
20
+ readonly ACTIVE_DOT_MARGIN_RIGHT: 8;
21
+ readonly SPINNER_SIZE: 16;
22
+ readonly GAP: 12;
23
+ readonly BORDER_RADIUS: 8;
24
+ readonly TRANSITION_DURATION: "0.3s";
25
+ };
26
+ /** Accessibility constants */
27
+ export declare const ACCESSIBILITY: {
28
+ readonly HOVER_TRANSLATE_Y: "-2px";
29
+ readonly ACTIVE_TRANSLATE_Y: "0";
30
+ readonly BOX_SHADOW: "0 4px 12px rgba(0, 0, 0, 0.15)";
31
+ readonly FOCUS_OFFSET: "2px";
32
+ };
33
+ //# sourceMappingURL=button.constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.constants.d.ts","sourceRoot":"","sources":["../../../src/components/button/button.constants.ts"],"names":[],"mappings":"AAUA,wCAAwC;AACxC,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAC7D,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAC9F,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACpD,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAElD,2BAA2B;AAC3B,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAIzC,CAAC;AAEX,gCAAgC;AAChC,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAM5F,CAAC;AAEX,4BAA4B;AAC5B,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQxD,CAAC;AAEF,0BAA0B;AAC1B,eAAO,MAAM,gBAAgB;;;;;;;CAOnB,CAAC;AAEX,8BAA8B;AAC9B,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC"}