sy-ui-lib 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 (246) hide show
  1. package/README.md +89 -0
  2. package/dist/components/AdminBetSlip/AdminBetSlip.component.d.ts +32 -0
  3. package/dist/components/AdminBetSlip/AdminBetSlip.stories.d.ts +8 -0
  4. package/dist/components/AdminBetSlip/AdminBetSlip.types.d.ts +50 -0
  5. package/dist/components/AdminBetSlip/index.d.ts +3 -0
  6. package/dist/components/Avatar/Avatar.component.d.ts +18 -0
  7. package/dist/components/Avatar/Avatar.stories.d.ts +6 -0
  8. package/dist/components/Avatar/Avatar.types.d.ts +13 -0
  9. package/dist/components/Avatar/index.d.ts +3 -0
  10. package/dist/components/BannerCard/BannerCard.component.d.ts +3 -0
  11. package/dist/components/BannerCard/BannerCard.stories.d.ts +6 -0
  12. package/dist/components/BannerCard/BannerCard.types.d.ts +12 -0
  13. package/dist/components/BannerCard/index.d.ts +3 -0
  14. package/dist/components/BetSlip/BetSlip.component.d.ts +88 -0
  15. package/dist/components/BetSlip/BetSlip.stories.d.ts +13 -0
  16. package/dist/components/BetSlip/BetSlip.types.d.ts +51 -0
  17. package/dist/components/BetSlip/index.d.ts +3 -0
  18. package/dist/components/BetSlipModal/BetSlipModal.component.d.ts +24 -0
  19. package/dist/components/BetSlipModal/BetSlipModal.stories.d.ts +11 -0
  20. package/dist/components/BetSlipModal/BetSlipModal.types.d.ts +8 -0
  21. package/dist/components/BetSlipModal/index.d.ts +3 -0
  22. package/dist/components/Button/Button.component.d.ts +33 -0
  23. package/dist/components/Button/Button.stories.d.ts +18 -0
  24. package/dist/components/Button/Button.types.d.ts +29 -0
  25. package/dist/components/Button/index.d.ts +3 -0
  26. package/dist/components/Checkbox/Checkbox.component.d.ts +27 -0
  27. package/dist/components/Checkbox/Checkbox.stories.d.ts +12 -0
  28. package/dist/components/Checkbox/Checkbox.types.d.ts +16 -0
  29. package/dist/components/Checkbox/index.d.ts +3 -0
  30. package/dist/components/Chip/Chip.component.d.ts +21 -0
  31. package/dist/components/Chip/Chip.stories.d.ts +51 -0
  32. package/dist/components/Chip/Chip.types.d.ts +22 -0
  33. package/dist/components/Chip/index.d.ts +3 -0
  34. package/dist/components/Colors/Colors.component.d.ts +2 -0
  35. package/dist/components/Colors/Colors.stories.d.ts +6 -0
  36. package/dist/components/CommonMarketHeader/CommonMarketHeader.component.d.ts +3 -0
  37. package/dist/components/CommonMarketHeader/CommonMarketHeader.stories.d.ts +17 -0
  38. package/dist/components/CommonMarketHeader/CommonMarketHeader.types.d.ts +35 -0
  39. package/dist/components/CommonMarketHeader/index.d.ts +3 -0
  40. package/dist/components/CommonMarketRow/CommonMarketRow.component.d.ts +4 -0
  41. package/dist/components/CommonMarketRow/CommonMarketRow.stories.d.ts +9 -0
  42. package/dist/components/CommonMarketRow/CommonMarketRow.types.d.ts +151 -0
  43. package/dist/components/CommonMarketRow/CommonOddButton.component.d.ts +132 -0
  44. package/dist/components/CommonMarketRow/FancyOddsRow.component.d.ts +3 -0
  45. package/dist/components/CommonMarketRow/LayeredOddsRow.component.d.ts +3 -0
  46. package/dist/components/CommonMarketRow/PairOddsRow.component.d.ts +3 -0
  47. package/dist/components/CommonMarketRow/index.d.ts +3 -0
  48. package/dist/components/DatePicker/DatePicker.component.d.ts +28 -0
  49. package/dist/components/DatePicker/DatePicker.stories.d.ts +10 -0
  50. package/dist/components/DatePicker/DatePicker.types.d.ts +33 -0
  51. package/dist/components/DatePicker/index.d.ts +3 -0
  52. package/dist/components/Dropdown/Dropdown.component.d.ts +38 -0
  53. package/dist/components/Dropdown/Dropdown.stories.d.ts +10 -0
  54. package/dist/components/Dropdown/Dropdown.types.d.ts +26 -0
  55. package/dist/components/Dropdown/index.d.ts +3 -0
  56. package/dist/components/EventCard/EventCard.component.d.ts +48 -0
  57. package/dist/components/EventCard/EventCard.stories.d.ts +6 -0
  58. package/dist/components/EventCard/EventCard.types.d.ts +44 -0
  59. package/dist/components/EventCard/index.d.ts +3 -0
  60. package/dist/components/EventDisplayCard/EventDisplayCard.component.d.ts +24 -0
  61. package/dist/components/EventDisplayCard/EventDisplayCard.stories.d.ts +8 -0
  62. package/dist/components/EventDisplayCard/EventDisplayCard.types.d.ts +10 -0
  63. package/dist/components/EventDisplayCard/index.d.ts +3 -0
  64. package/dist/components/EventInfoCard/EventInfoCard.component.d.ts +38 -0
  65. package/dist/components/EventInfoCard/EventInfoCard.stories.d.ts +6 -0
  66. package/dist/components/EventInfoCard/EventInfoCard.types.d.ts +19 -0
  67. package/dist/components/EventInfoCard/index.d.ts +3 -0
  68. package/dist/components/FileUploader/FileUploader.component.d.ts +55 -0
  69. package/dist/components/FileUploader/FileUploader.stories.d.ts +8 -0
  70. package/dist/components/FileUploader/FileUploader.types.d.ts +23 -0
  71. package/dist/components/FileUploader/index.d.ts +3 -0
  72. package/dist/components/FlashNotification/FlashNotification.component.d.ts +34 -0
  73. package/dist/components/FlashNotification/FlashNotification.stories.d.ts +9 -0
  74. package/dist/components/FlashNotification/FlashNotification.types.d.ts +13 -0
  75. package/dist/components/FlashNotification/index.d.ts +3 -0
  76. package/dist/components/Icon/Icon.component.d.ts +20 -0
  77. package/dist/components/Icon/Icon.types.d.ts +43 -0
  78. package/dist/components/Icon/SvgIcons.d.ts +80 -0
  79. package/dist/components/Icon/index.d.ts +3 -0
  80. package/dist/components/ImageCard/ImageCard.component.d.ts +22 -0
  81. package/dist/components/ImageCard/ImageCard.stories.d.ts +9 -0
  82. package/dist/components/ImageCard/ImageCard.types.d.ts +8 -0
  83. package/dist/components/ImageCard/index.d.ts +3 -0
  84. package/dist/components/InputField/InputField.component.d.ts +28 -0
  85. package/dist/components/InputField/InputField.stories.d.ts +10 -0
  86. package/dist/components/InputField/InputField.types.d.ts +33 -0
  87. package/dist/components/InputField/index.d.ts +3 -0
  88. package/dist/components/Loader/Loader.component.d.ts +18 -0
  89. package/dist/components/Loader/Loader.stories.d.ts +14 -0
  90. package/dist/components/Loader/Loader.types.d.ts +8 -0
  91. package/dist/components/Loader/index.d.ts +3 -0
  92. package/dist/components/MaintenancePage/MaintenancePage.component.d.ts +37 -0
  93. package/dist/components/MaintenancePage/MaintenancePage.stories.d.ts +10 -0
  94. package/dist/components/MaintenancePage/MaintenancePage.types.d.ts +14 -0
  95. package/dist/components/MaintenancePage/index.d.ts +3 -0
  96. package/dist/components/Menu/Menu.component.d.ts +21 -0
  97. package/dist/components/Menu/Menu.stories.d.ts +7 -0
  98. package/dist/components/Menu/Menu.types.d.ts +24 -0
  99. package/dist/components/Menu/index.d.ts +3 -0
  100. package/dist/components/Modal/Modal.component.d.ts +39 -0
  101. package/dist/components/Modal/Modal.stories.d.ts +11 -0
  102. package/dist/components/Modal/Modal.types.d.ts +20 -0
  103. package/dist/components/Modal/index.d.ts +3 -0
  104. package/dist/components/MultiSelectDropdown/MultiSelectDropdown.component.d.ts +22 -0
  105. package/dist/components/MultiSelectDropdown/MultiSelectDropdown.stories.d.ts +10 -0
  106. package/dist/components/MultiSelectDropdown/MultiSelectDropdown.types.d.ts +22 -0
  107. package/dist/components/MultiSelectDropdown/index.d.ts +3 -0
  108. package/dist/components/NotFoundPage/NotFoundPage.component.d.ts +48 -0
  109. package/dist/components/NotFoundPage/NotFoundPage.stories.d.ts +11 -0
  110. package/dist/components/NotFoundPage/NotFoundPage.types.d.ts +13 -0
  111. package/dist/components/NotFoundPage/index.d.ts +3 -0
  112. package/dist/components/NotificationBanner/NotificationBanner.component.d.ts +39 -0
  113. package/dist/components/NotificationBanner/NotificationBanner.stories.d.ts +6 -0
  114. package/dist/components/NotificationBanner/NotificationBanner.types.d.ts +44 -0
  115. package/dist/components/NotificationBanner/index.d.ts +3 -0
  116. package/dist/components/NullState/NullState.component.d.ts +25 -0
  117. package/dist/components/NullState/NullState.stories.d.ts +14 -0
  118. package/dist/components/NullState/NullState.types.d.ts +22 -0
  119. package/dist/components/NullState/index.d.ts +3 -0
  120. package/dist/components/Pagination/Pagination.component.d.ts +23 -0
  121. package/dist/components/Pagination/Pagination.stories.d.ts +7 -0
  122. package/dist/components/Pagination/Pagination.types.d.ts +14 -0
  123. package/dist/components/Pagination/index.d.ts +3 -0
  124. package/dist/components/PasswordFieldGroup/PasswordFieldGroup.component.d.ts +28 -0
  125. package/dist/components/PasswordFieldGroup/PasswordFieldGroup.stories.d.ts +8 -0
  126. package/dist/components/PasswordFieldGroup/PasswordFieldGroup.types.d.ts +21 -0
  127. package/dist/components/PasswordFieldGroup/index.d.ts +3 -0
  128. package/dist/components/PhoneNumberInput/PhoneNumberInput.component.d.ts +38 -0
  129. package/dist/components/PhoneNumberInput/PhoneNumberInput.stories.d.ts +8 -0
  130. package/dist/components/PhoneNumberInput/PhoneNumberInput.types.d.ts +6 -0
  131. package/dist/components/PhoneNumberInput/index.d.ts +3 -0
  132. package/dist/components/ProgressBar/ProgressBar.component.d.ts +22 -0
  133. package/dist/components/ProgressBar/ProgressBar.stories.d.ts +9 -0
  134. package/dist/components/ProgressBar/ProgressBar.types.d.ts +12 -0
  135. package/dist/components/ProgressBar/index.d.ts +3 -0
  136. package/dist/components/RadioButton/RadioButton.component.d.ts +15 -0
  137. package/dist/components/RadioButton/RadioButton.stories.d.ts +8 -0
  138. package/dist/components/RadioButton/RadioButton.types.d.ts +31 -0
  139. package/dist/components/RadioButton/index.d.ts +3 -0
  140. package/dist/components/SearchBar/SearchBar.component.d.ts +18 -0
  141. package/dist/components/SearchBar/SearchBar.stories.d.ts +8 -0
  142. package/dist/components/SearchBar/SearchBar.types.d.ts +11 -0
  143. package/dist/components/SearchBar/index.d.ts +3 -0
  144. package/dist/components/Skeleton/Skeleton.component.d.ts +29 -0
  145. package/dist/components/Skeleton/Skeleton.stories.d.ts +6 -0
  146. package/dist/components/Skeleton/Skeleton.types.d.ts +26 -0
  147. package/dist/components/Skeleton/index.d.ts +3 -0
  148. package/dist/components/SnackBar/SnackBar.component.d.ts +47 -0
  149. package/dist/components/SnackBar/SnackBar.stories.d.ts +8 -0
  150. package/dist/components/SnackBar/SnackBar.types.d.ts +41 -0
  151. package/dist/components/SnackBar/SnackBarQueue.d.ts +9 -0
  152. package/dist/components/SnackBar/SnackbarFetcher.d.ts +34 -0
  153. package/dist/components/SnackBar/SnackbarProvider.d.ts +25 -0
  154. package/dist/components/SnackBar/index.d.ts +4 -0
  155. package/dist/components/StatsList/StatsList.component.d.ts +34 -0
  156. package/dist/components/StatsList/StatsList.stories.d.ts +11 -0
  157. package/dist/components/StatsList/StatsList.types.d.ts +39 -0
  158. package/dist/components/StatsList/index.d.ts +3 -0
  159. package/dist/components/StatusDisplayCard/StatusDisplayCard.component.d.ts +20 -0
  160. package/dist/components/StatusDisplayCard/StatusDisplayCard.stories.d.ts +30 -0
  161. package/dist/components/StatusDisplayCard/StatusDisplayCard.types.d.ts +17 -0
  162. package/dist/components/StatusDisplayCard/index.d.ts +3 -0
  163. package/dist/components/Svgs/LoaderSvg.d.ts +2 -0
  164. package/dist/components/Svgs/NotFoundSvg.d.ts +2 -0
  165. package/dist/components/Svgs/NullStateAdminSvg.d.ts +2 -0
  166. package/dist/components/Svgs/NullStateUserSvg.d.ts +2 -0
  167. package/dist/components/Svgs/UnderMaintenanceSvg.d.ts +2 -0
  168. package/dist/components/Svgs/index.d.ts +6 -0
  169. package/dist/components/Swiper/Swiper.component.d.ts +37 -0
  170. package/dist/components/Swiper/Swiper.stories.d.ts +32 -0
  171. package/dist/components/Swiper/Swiper.types.d.ts +46 -0
  172. package/dist/components/Swiper/index.d.ts +3 -0
  173. package/dist/components/TabList/TabList.component.d.ts +37 -0
  174. package/dist/components/TabList/TabList.stories.d.ts +16 -0
  175. package/dist/components/TabList/TabList.types.d.ts +27 -0
  176. package/dist/components/TabList/index.d.ts +3 -0
  177. package/dist/components/Table/Table.component.d.ts +47 -0
  178. package/dist/components/Table/Table.stories.d.ts +25 -0
  179. package/dist/components/Table/Table.types.d.ts +28 -0
  180. package/dist/components/Table/index.d.ts +3 -0
  181. package/dist/components/TimePicker/TimePicker.component.d.ts +22 -0
  182. package/dist/components/TimePicker/TimePicker.stories.d.ts +8 -0
  183. package/dist/components/TimePicker/TimePicker.types.d.ts +22 -0
  184. package/dist/components/TimePicker/index.d.ts +3 -0
  185. package/dist/components/TitleBar/TitleBar.component.d.ts +22 -0
  186. package/dist/components/TitleBar/TitleBar.stories.d.ts +8 -0
  187. package/dist/components/TitleBar/TitleBar.types.d.ts +10 -0
  188. package/dist/components/TitleBar/index.d.ts +3 -0
  189. package/dist/components/Toggle/Toggle.component.d.ts +22 -0
  190. package/dist/components/Toggle/Toggle.stories.d.ts +8 -0
  191. package/dist/components/Toggle/Toggle.types.d.ts +8 -0
  192. package/dist/components/Toggle/index.d.ts +3 -0
  193. package/dist/components/Tooltip/Tooltip.component.d.ts +19 -0
  194. package/dist/components/Tooltip/Tooltip.stories.d.ts +10 -0
  195. package/dist/components/Tooltip/Tooltip.types.d.ts +11 -0
  196. package/dist/components/Tooltip/index.d.ts +3 -0
  197. package/dist/components/TooltipExt/TooltipExt.component.d.ts +23 -0
  198. package/dist/components/TooltipExt/TooltipExt.stories.d.ts +19 -0
  199. package/dist/components/TooltipExt/TooltipExt.types.d.ts +11 -0
  200. package/dist/components/TooltipExt/index.d.ts +3 -0
  201. package/dist/components/Typography/Typography.component.d.ts +24 -0
  202. package/dist/components/Typography/Typography.stories.d.ts +8 -0
  203. package/dist/components/Typography/Typography.types.d.ts +54 -0
  204. package/dist/components/Typography/index.d.ts +3 -0
  205. package/dist/components/UserBetSlip/UserBetSlip.component.d.ts +45 -0
  206. package/dist/components/UserBetSlip/UserBetSlip.stories.d.ts +9 -0
  207. package/dist/components/UserBetSlip/UserBetSlip.types.d.ts +56 -0
  208. package/dist/components/UserBetSlip/index.d.ts +3 -0
  209. package/dist/components/WalletInfo/WalletInfo.component.d.ts +59 -0
  210. package/dist/components/WalletInfo/WalletInfo.stories.d.ts +7 -0
  211. package/dist/components/WalletInfo/WalletInfo.types.d.ts +25 -0
  212. package/dist/components/WalletInfo/index.d.ts +3 -0
  213. package/dist/components/ZIndex/ZIndex.component.d.ts +2 -0
  214. package/dist/components/ZIndex/ZIndex.stories.d.ts +5 -0
  215. package/dist/components/ZIndex/index.d.ts +2 -0
  216. package/dist/components/index.d.ts +50 -0
  217. package/dist/fonts/roboto-v48-latin-100.woff2 +0 -0
  218. package/dist/fonts/roboto-v48-latin-200.woff2 +0 -0
  219. package/dist/fonts/roboto-v48-latin-300.woff2 +0 -0
  220. package/dist/fonts/roboto-v48-latin-500.woff2 +0 -0
  221. package/dist/fonts/roboto-v48-latin-600.woff2 +0 -0
  222. package/dist/fonts/roboto-v48-latin-700.woff2 +0 -0
  223. package/dist/fonts/roboto-v48-latin-800.woff2 +0 -0
  224. package/dist/fonts/roboto-v48-latin-900.woff2 +0 -0
  225. package/dist/fonts/roboto-v48-latin-regular.woff2 +0 -0
  226. package/dist/images/404_Error_image.png +0 -0
  227. package/dist/images/female_avatar.png +0 -0
  228. package/dist/images/image_card.png +0 -0
  229. package/dist/images/loader.png +0 -0
  230. package/dist/images/male_avatar.png +0 -0
  231. package/dist/images/null_state_admin.png +0 -0
  232. package/dist/images/null_state_user.png +0 -0
  233. package/dist/images/under_maintenance.png +0 -0
  234. package/dist/index.cjs +59 -0
  235. package/dist/index.css +1 -0
  236. package/dist/index.d.ts +1 -0
  237. package/dist/index.js +15014 -0
  238. package/dist/utils/commonFunctionality/commonFunctionality.d.ts +13 -0
  239. package/dist/utils/commonFunctionality/commonFunctionality.types.d.ts +3 -0
  240. package/dist/utils/commonFunctionality/index.d.ts +2 -0
  241. package/dist/utils/constants.d.ts +44 -0
  242. package/dist/utils/countryCodes.d.ts +6 -0
  243. package/dist/utils/paginationUtils.d.ts +10 -0
  244. package/dist/utils/useScreenSize.d.ts +3 -0
  245. package/dist/vite-env.d.ts +1 -0
  246. package/package.json +61 -0
@@ -0,0 +1,3 @@
1
+ import { default as StatsList } from './StatsList.component';
2
+ export { StatsList };
3
+ export type * from './StatsList.types';
@@ -0,0 +1,20 @@
1
+ import { StatusDisplayProps } from './StatusDisplayCard.types';
2
+ /**
3
+ * StatusDisplayCard Component
4
+ *
5
+ * Renders a stylized status indicator card that includes an icon, text,
6
+ * and visual cues based on the current status (e.g., Active, Suspended, Locked).
7
+ *
8
+ * Props:
9
+ * @param {string} text - Label text to display below the icon.
10
+ * @param {"active" | "suspended" | "locked"} state - Indicates the current status.
11
+ * @param {"filled" | "outlined" | "disabled"} [variant="filled"] - Visual appearance and behavior of the card.
12
+ * @param {() => void} [onClick] - Optional click handler (disabled if variant is "disabled").
13
+ *
14
+ * Example usage:
15
+ * <StatusDisplayCard text="Active" state="active" />
16
+ * <StatusDisplayCard text="Locked" state="locked" variant="outlined" />
17
+ * <StatusDisplayCard text="Suspended" state="suspended" variant="disabled" />
18
+ */
19
+ declare const StatusDisplayCard: React.FC<StatusDisplayProps>;
20
+ export default StatusDisplayCard;
@@ -0,0 +1,30 @@
1
+ import { StoryObj } from '@storybook/react-vite';
2
+ declare const meta: {
3
+ title: string;
4
+ component: import('react').FC<import('./StatusDisplayCard.types').StatusDisplayProps>;
5
+ argTypes: {
6
+ state: {
7
+ control: {
8
+ type: "select";
9
+ };
10
+ options: string[];
11
+ };
12
+ variant: {
13
+ control: {
14
+ type: "select";
15
+ };
16
+ options: string[];
17
+ };
18
+ text: {
19
+ control: "text";
20
+ };
21
+ };
22
+ };
23
+ export default meta;
24
+ type Story = StoryObj<typeof meta>;
25
+ /** Active Card*/
26
+ export declare const ActiveCard: Story;
27
+ /** Suspended Card*/
28
+ export declare const SuspendedCard: Story;
29
+ /** Locked Card*/
30
+ export declare const LockedCard: Story;
@@ -0,0 +1,17 @@
1
+ /** Defines the available card statuses */
2
+ export type StatusType = "active" | "suspended" | "locked";
3
+ /** Defines the card variant styles */
4
+ export type StatusVariant = "filled" | "outlined" | "disabled";
5
+ /** Defines the available icon colors */
6
+ export type StatusIconColor = "white" | "success" | "error" | "slategray" | "brightgray";
7
+ /** Props for the StatusDisplayCard component */
8
+ export interface StatusDisplayProps {
9
+ /** Label text to display below the icon.*/
10
+ text: string;
11
+ /** Indicates the current status (state="active").*/
12
+ state: StatusType;
13
+ /** Visual appearance and behavior of the card.*/
14
+ variant?: StatusVariant;
15
+ /** Optional click handler.*/
16
+ onClick?: () => void;
17
+ }
@@ -0,0 +1,3 @@
1
+ import { default as StatusDisplayCard } from './StatusDisplayCard.component';
2
+ export { StatusDisplayCard };
3
+ export type * from './StatusDisplayCard.types';
@@ -0,0 +1,2 @@
1
+ declare const LoaderSvg: React.FC<React.SVGProps<SVGSVGElement>>;
2
+ export default LoaderSvg;
@@ -0,0 +1,2 @@
1
+ declare const NotFoundSvg: React.FC<React.SVGProps<SVGSVGElement>>;
2
+ export default NotFoundSvg;
@@ -0,0 +1,2 @@
1
+ declare const NullStateAdminSvg: React.FC<React.SVGProps<SVGSVGElement>>;
2
+ export default NullStateAdminSvg;
@@ -0,0 +1,2 @@
1
+ declare const NullStateUserSvg: React.FC<React.SVGProps<SVGSVGElement>>;
2
+ export default NullStateUserSvg;
@@ -0,0 +1,2 @@
1
+ declare const UnderMaintenanceSvg: React.FC<React.SVGProps<SVGSVGElement>>;
2
+ export default UnderMaintenanceSvg;
@@ -0,0 +1,6 @@
1
+ import { default as LoaderSvg } from './LoaderSvg';
2
+ import { default as NotFoundSvg } from './NotFoundSvg';
3
+ import { default as NullStateAdminSvg } from './NullStateAdminSvg';
4
+ import { default as NullStateUserSvg } from './NullStateUserSvg';
5
+ import { default as UnderMaintenanceSvg } from './UnderMaintenanceSvg';
6
+ export { LoaderSvg, NotFoundSvg, NullStateAdminSvg, NullStateUserSvg, UnderMaintenanceSvg, };
@@ -0,0 +1,37 @@
1
+ import { CustomSwiperProps } from './Swiper.types';
2
+ /**
3
+ * Swiper component for displaying a carousel of images with automatic scrolling,
4
+ * pause-on-hover, and responsive behavior for desktop and mobile images.
5
+ *
6
+ * @param {CustomSwiperProps} props The props for configuring the swiper.
7
+ * @param {Slide[]} slides Array of slides with images for desktop and mobile.
8
+ * @param {boolean} isLoading Controls loading state.
9
+ * @param {number} interval Time interval in milliseconds for automatic slide change.
10
+ * @param {boolean} loop Whether the slides should loop after the last one.
11
+ * @param {boolean} pauseOnHover Whether the auto-scroll should pause when hovered.
12
+ * @param {string} className Additional CSS classes for styling the swiper container.
13
+ *
14
+ * @example
15
+ * const slides = [
16
+ * {
17
+ * id: 1,
18
+ * imageURL: "https://example.com/image1-desktop.jpg",
19
+ * alt: "First slide image",
20
+ * },
21
+ * {
22
+ * id: 2,
23
+ * imageURL: "https://example.com/image2-desktop.jpg",
24
+ * alt: "Second slide image",
25
+ * },
26
+ * ];
27
+ *
28
+ * <Swiper
29
+ * slides={slides}
30
+ * interval={5000}
31
+ * loop={true}
32
+ * pauseOnHover={true}
33
+ * className="my-custom-swiper"
34
+ * />
35
+ */
36
+ declare const Swiper: React.FC<CustomSwiperProps>;
37
+ export default Swiper;
@@ -0,0 +1,32 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { default as Swiper } from './Swiper.component';
3
+ /**
4
+ * Storybook metadata for the Swiper component.
5
+ * This configuration defines how the Swiper component appears in the Storybook UI,
6
+ * including controls for its props.
7
+ */
8
+ declare const meta: Meta<typeof Swiper>;
9
+ export default meta;
10
+ type Story = StoryObj<typeof Swiper>;
11
+ /**
12
+ * Default story for the Swiper component.
13
+ * Demonstrates the swiper with default settings.
14
+ */
15
+ export declare const Default: Story;
16
+ /**
17
+ * Story showing custom interval between slides.
18
+ * The interval is set to 1000 milliseconds and pauseOnHover is disabled.
19
+ */
20
+ export declare const CustomInterval: Story;
21
+ /**
22
+ * Story with looping disabled.
23
+ * The slides will stop at the last slide instead of looping back to the first.
24
+ */
25
+ export declare const LoopFalse: Story;
26
+ /**
27
+ * Story with pause on hover enabled.
28
+ * The slides will pause when the user hovers over the swiper container.
29
+ */
30
+ export declare const PauseOnHover: Story;
31
+ /** Story with loader */
32
+ export declare const Loader: Story;
@@ -0,0 +1,46 @@
1
+ /** Represents a single slide in the Swiper component. */
2
+ export type SwiperSlide = {
3
+ /** Unique identifier for the slide */
4
+ id: number;
5
+ /** URL of the image to be displayed on desktop screens */
6
+ imageURL: string;
7
+ /** Optional alt text for the image */
8
+ alt?: string;
9
+ };
10
+ /** Props for the Swiper component */
11
+ export type CustomSwiperProps = {
12
+ /**
13
+ * Array of slides to be displayed in the swiper.
14
+ * At least one slide should be provided.
15
+ */
16
+ slides: SwiperSlide[];
17
+ /**
18
+ * Controls loading state.
19
+ * @default false.
20
+ */
21
+ isLoading?: boolean;
22
+ /**
23
+ * Fallback image URL to be used when a slide does not have a valid image source
24
+ * or fails to load.
25
+ */
26
+ altImageUrl?: string;
27
+ /**
28
+ * Time interval in milliseconds for automatic slide transition.
29
+ * @default 3000 (3 seconds)
30
+ */
31
+ interval?: number;
32
+ /**
33
+ * Whether the slides should loop back to the first after reaching the last slide.
34
+ * @default true
35
+ */
36
+ loop?: boolean;
37
+ /**
38
+ * Whether the slide transition should pause when the mouse hovers over the swiper.
39
+ * @default true
40
+ */
41
+ pauseOnHover?: boolean;
42
+ /**
43
+ * Additional CSS classes to apply to the swiper container.
44
+ */
45
+ className?: string;
46
+ };
@@ -0,0 +1,3 @@
1
+ import { default as Swiper } from './Swiper.component';
2
+ export { Swiper };
3
+ export * from './Swiper.types';
@@ -0,0 +1,37 @@
1
+ import { TabListProps } from './TabList.types';
2
+ /**
3
+ * TabList Component
4
+ *
5
+ * A flexible and reusable TabList component that supports:
6
+ * - Dynamic tab rendering based on provided data
7
+ * - Active/inactive tab styling based on visual variant
8
+ * - Portrait (vertical) and landscape (horizontal) layouts.
9
+ *
10
+ * Props:
11
+ * @param tabs Array of tab objects, each with `id` and `text`, and optional `iconName` and `iconPosition`.
12
+ * @param color Visual variant for tabs and header (portrait) or background (landscape). Can be "primary" or "secondary".
13
+ * @param onTabChange Callback when active tab changes.
14
+ * @param activeTabId ID of the initially active tab.
15
+ * @param title Optional title displayed above tabs (portrait only).
16
+ * @param layout - Layout type. Portrait shows vertical tabs with optional title; landscape shows horizontal tabs.
17
+ *
18
+ * @example
19
+ * function ParentComponent() {
20
+ * const tabs = [
21
+ * { id: "profile", text: "Profile", iconName: "profile", iconPosition: "left" },
22
+ * { id: "history", text: "History", iconName: "history", iconPosition: "right" },
23
+ * ];
24
+ *
25
+ * const [activeTabId, setActiveTabId] = useState(tabs[0].id);
26
+ *
27
+ * return (
28
+ * <>
29
+ * <TabList tabs={tabs} onTabChange={setActiveTabId} activeTabId={activeTabId} color="secondary" layout="portrait" title="My Account" />
30
+ * {activeTabId === "profile" && <ProfileSection />}
31
+ * {activeTabId === "history" && <HistorySection />}
32
+ * </>
33
+ * );
34
+ * }
35
+ */
36
+ declare const TabList: React.FC<TabListProps>;
37
+ export default TabList;
@@ -0,0 +1,16 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { default as TabList } from './TabList.component';
3
+ /** Storybook metadata for the TabList component */
4
+ declare const meta: Meta<typeof TabList>;
5
+ export default meta;
6
+ type Story = StoryObj<typeof TabList>;
7
+ /** Portrait - Primary */
8
+ export declare const PortraitPrimary: Story;
9
+ /** Portrait - Secondary */
10
+ export declare const PortraitSecondary: Story;
11
+ /** Landscape - Primary */
12
+ export declare const LandscapePrimary: Story;
13
+ /** Landscape - Secondary */
14
+ export declare const LandscapeSecondary: Story;
15
+ /** Tabs With Icons */
16
+ export declare const TabsWithIcons: Story;
@@ -0,0 +1,27 @@
1
+ import { IconName } from '../Icon';
2
+ /** Props associated with Tab.*/
3
+ export interface Tab {
4
+ /** Unique identifier for the tab.*/
5
+ id: string;
6
+ /** Text displayed on the tab.*/
7
+ text: string;
8
+ /** Optional icon displayed on the tab (from the supported icon gallery). */
9
+ iconName?: IconName;
10
+ /** Position of the icon relative to the text. Defaults to "left" if not specified. */
11
+ iconPosition?: "left" | "right";
12
+ }
13
+ /** Prop associated with TabList component*/
14
+ export interface TabListProps {
15
+ /** Array of tab objects to be rendered as clickable tabs.*/
16
+ tabs: Tab[];
17
+ /** Controls the visual style of the TabList component.*/
18
+ color?: "primary" | "secondary";
19
+ /** Informs parent about active tab change.*/
20
+ onTabChange?: (tabId: string) => void;
21
+ /** Id of the active tab passed from parent (optional) */
22
+ activeTabId?: string;
23
+ /** Optional title to display above the TabList (only for portrait layout) */
24
+ title?: string;
25
+ /** Layout variant for the TabList (optional) */
26
+ layout?: "portrait" | "landscape";
27
+ }
@@ -0,0 +1,3 @@
1
+ import { default as TabList } from './TabList.component';
2
+ export { TabList };
3
+ export type * from './TabList.types';
@@ -0,0 +1,47 @@
1
+ import { TableProps } from './Table.types';
2
+ /**
3
+ * Generic Table component using TanStack Table
4
+ *
5
+ * Renders:
6
+ * - Table header and dynamic columns
7
+ * - Skeleton rows if `isLoading` is true
8
+ * - Show `Null State Card` if data is empty
9
+ * - Actual data rows otherwise
10
+ *
11
+ * @param columns - Column definitions (with custom headers and cell rendering)
12
+ * @param data - Table data array
13
+ * @param isHeaderLoading - Boolean flag to show loading state for table headers (default: false)
14
+ * @param isLoading - Boolean flag to show loading state
15
+ * @param defaultSorting - Optional initial sorting state (e.g. [{ id: "balance", desc: true }])
16
+ * @param onSortChange - Callback fired whenever sorting changes
17
+ * @param skeletonRowCount - Optional number, how many skeleton rows to show (default = 10)
18
+ * @param nullStateProps - Optional configuration for custom empty/null state UI
19
+ * @param enableRowSelection - Boolean flag to enable checkbox row selection (default = false)
20
+ * @param onRowSelectionChange - Callback fired when row selection changes (returns selected row IDs)
21
+ * @param selectedIds - Optional controlled selection state (row IDs to keep selected)
22
+ * @param rowIdAccessor - Field to use as unique row ID (default = "id")
23
+ *
24
+ * @example
25
+ * const [selectedIds, setSelectedIds] = useState<string[]>([]);
26
+ *
27
+ * <Table<User>
28
+ * columns={userColumns}
29
+ * data={[]}
30
+ * isLoading={false}
31
+ * enableRowSelection
32
+ * selectedIds={selectedIds}
33
+ * onRowSelectionChange={setSelectedIds}
34
+ * onSortChange={() => {}}
35
+ * nullStateProps={{
36
+ * title: "No users found",
37
+ * description: "You haven’t added any users yet.",
38
+ * buttonProps: {
39
+ * text: "Add User",
40
+ * iconName: "addUser",
41
+ * onClick: () => openAddUserModal(),
42
+ * },
43
+ * }}
44
+ * />
45
+ */
46
+ declare const Table: <TData>(props: TableProps<TData>) => import("react/jsx-runtime").JSX.Element;
47
+ export default Table;
@@ -0,0 +1,25 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { ChipType } from '..';
3
+ import { TableProps } from './Table.types';
4
+ interface UserRow {
5
+ id: string;
6
+ matches: string;
7
+ username: string;
8
+ credit_ref: string;
9
+ exposure: number;
10
+ balance: number;
11
+ pl_total: number;
12
+ type: string;
13
+ bet_taken: string;
14
+ loosing_stake: string;
15
+ status: ChipType;
16
+ }
17
+ declare const meta: Meta<TableProps<UserRow>>;
18
+ export default meta;
19
+ type Story = StoryObj<TableProps<UserRow>>;
20
+ export declare const DefaultTable: Story;
21
+ export declare const CheckboxTable: Story;
22
+ export declare const LoadingTable: Story;
23
+ export declare const SkeletonDynamicStory: Story;
24
+ export declare const ControlledSelectionStory: Story;
25
+ export declare const NullDataTable: Story;
@@ -0,0 +1,28 @@
1
+ import { ColumnDef, SortingState } from '@tanstack/react-table';
2
+ import { NullStateProps } from '..';
3
+ /** Props for the reusable generic Table component. */
4
+ export interface TableProps<TData> {
5
+ /** Each column describes how to render and access data for a given field. */
6
+ columns: ColumnDef<TData>[];
7
+ /** The actual data to be rendered in the table rows. */
8
+ data: TData[];
9
+ /** Indicates whether the table headers are in a loading state and should show skeletons or placeholders. */
10
+ isHeaderLoading?: boolean;
11
+ /** Used to show loading skeletons or placeholders. */
12
+ isLoading: boolean;
13
+ /** Optional initial sorting configuration. default value is `[]` */
14
+ defaultSorting?: SortingState;
15
+ /** Callback fired whenever sorting changes. */
16
+ onSortChange?: (sort: SortingState) => void;
17
+ /** When table is loading mode then how much skeleton row show, default value '10' */
18
+ skeletonRowCount?: number;
19
+ /** Optional props to customize the empty/null state display when the table has no data. */
20
+ nullStateProps?: NullStateProps;
21
+ /** Enable row selection checkboxes */
22
+ enableRowSelection?: boolean;
23
+ /** Return selected ids when selection changes */
24
+ onRowSelectionChange?: (selectedIds: string[]) => void;
25
+ /** Which field to use as unique row id (default = "id") */
26
+ rowIdAccessor?: keyof TData | "id";
27
+ selectedIds?: string[];
28
+ }
@@ -0,0 +1,3 @@
1
+ import { default as Table } from './Table.component';
2
+ export { Table };
3
+ export type * from './Table.types';
@@ -0,0 +1,22 @@
1
+ import { TimePickerProps } from './TimePicker.types';
2
+ /**
3
+ * A reusable and customizable time picker component that allows
4
+ * selecting a time range (From–To) using `react-time-picker`.
5
+ *
6
+ * @param {string} [title] - Optional button text placeholder. Default is "Select Time".
7
+ * @param {(value: TimeRange) => void} selectedTime - Callback function
8
+ * triggered when the user applies a selected time range.
9
+ * @param {boolean} [fullWidth] - If true, the component stretches to full width of its container.
10
+ * @param {string} [errorMessage] - Custom validation error message shown for invalid ranges.
11
+ *
12
+ * @returns {JSX.Element} The rendered TimePicker component.
13
+ *
14
+ * @example
15
+ * <TimePicker
16
+ * title="Pick Time"
17
+ * fullWidth
18
+ * selectedTime={(value) => console.log("Selected:", value)}
19
+ * />
20
+ */
21
+ declare const TimePicker: React.FC<TimePickerProps>;
22
+ export default TimePicker;
@@ -0,0 +1,8 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { TimePickerProps } from './TimePicker.types';
3
+ declare const meta: Meta<TimePickerProps>;
4
+ export default meta;
5
+ type Story = StoryObj<TimePickerProps>;
6
+ export declare const Default: Story;
7
+ export declare const FullWidth: Story;
8
+ export declare const FixedWidthContainer: Story;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Represents the value returned from the time picker.
3
+ * - `from`: Start time
4
+ * - `to`: End time
5
+ */
6
+ export interface TimeRange {
7
+ from: string | null;
8
+ to: string | null;
9
+ }
10
+ /**
11
+ * Props for the reusable TimePicker component.
12
+ */
13
+ export interface TimePickerProps {
14
+ /** Optional title/label to show on the trigger button, default value "Select Time" */
15
+ title?: string;
16
+ /** Callback function that receives the selected time range */
17
+ selectedTime: (value: TimeRange) => void;
18
+ /** If true, the time picker stretches to full width of its container */
19
+ fullWidth?: boolean;
20
+ /** Custom validation error message shown when the selected time range is invalid */
21
+ errorMessage?: string;
22
+ }
@@ -0,0 +1,3 @@
1
+ import { default as TimePicker } from './TimePicker.component';
2
+ export { TimePicker };
3
+ export type * from './TimePicker.types';
@@ -0,0 +1,22 @@
1
+ import { TitleBarProps } from './TitleBar.types';
2
+ /**
3
+ * TitleBar Component
4
+ *
5
+ * A reusable header bar that displays an avatar, title text, and optional trailing content.
6
+ * Commonly used in dashboards, cards, or section headers to show user info, stats, or actions.
7
+ *
8
+ * Props:
9
+ * @param {string} title - The title or name to display next to the avatar.
10
+ * @param {AvatarProps} avatarProps - Props to configure the avatar (image, fallback initials, size).
11
+ * @param {React.ReactNode} [titleBarContent] - Optional content to render on the right (e.g., StatsList, Chip, Button).
12
+ *
13
+ * Example usage:
14
+ *
15
+ * <TitleBar
16
+ * title="John Doe"
17
+ * avatarProps={{ fallbackText: "JD", size: "lg" }}
18
+ * titleBarContent={<StatsList statItems={[...]} />}
19
+ * />
20
+ */
21
+ declare const TitleBar: React.FC<TitleBarProps>;
22
+ export default TitleBar;
@@ -0,0 +1,8 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite/*';
2
+ import { default as TitleBar } from './TitleBar.component';
3
+ declare const meta: Meta<typeof TitleBar>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof TitleBar>;
6
+ export declare const Default: Story;
7
+ export declare const WithChip: Story;
8
+ export declare const WithoutContent: Story;
@@ -0,0 +1,10 @@
1
+ import { AvatarProps } from '..';
2
+ /** Props for the TitleBar component.*/
3
+ export type TitleBarProps = {
4
+ /** The main title text to display next to the avatar.*/
5
+ title: string;
6
+ /** Props for configuring the Avatar component, including fallback initials, image URL, alt text, and size.*/
7
+ avatarProps: AvatarProps;
8
+ /** Optional JSX content to render on the right side of the title bar. Can be a StatsList, Chip, Button, or any other custom content.*/
9
+ titleBarContent?: React.ReactNode;
10
+ };
@@ -0,0 +1,3 @@
1
+ import { default as TitleBar } from './TitleBar.component';
2
+ export { TitleBar };
3
+ export type * from './TitleBar.types';
@@ -0,0 +1,22 @@
1
+ import { ToggleProps } from './Toggle.types';
2
+ /**
3
+ * Toggle Component
4
+ *
5
+ * Renders a stylized toggle switch that can be fully controlled via props.
6
+ * Supports custom colors, disabled state, and accessibility attributes.
7
+ *
8
+ * Props:
9
+ * @param {boolean} checked Required Current toggle state. Must be managed by the parent.
10
+ * @param {(checked: boolean) => void} onChange Required Callback invoked when the toggle is clicked.
11
+ * @param {boolean} [disabled=false] Optional If true, the toggle is non-interactive and visually muted.
12
+ * @param {string} [ariaLabel="Toggle"] Optional Accessibility label for the toggle button.
13
+ * @param {string} [onColor] Optional Tailwind color class for the "on" state of the toggle knob.
14
+ * @param {string} [offColor] Optional Tailwind color class for the "off" state of the toggle knob.
15
+ *
16
+ * Example usage:
17
+ * <Toggle checked={true} onChange={toggleHandler} />
18
+ * <Toggle checked={false} disabled />
19
+ * <Toggle checked={isOn} onChange={toggleHandler} onColor="bg-success" offColor="bg-error" />
20
+ */
21
+ declare const Toggle: React.FC<ToggleProps>;
22
+ export default Toggle;
@@ -0,0 +1,8 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { ToggleProps } from './Toggle.types';
3
+ declare const meta: Meta<ToggleProps>;
4
+ export default meta;
5
+ type Story = StoryObj<ToggleProps>;
6
+ export declare const ControlledToggle: Story;
7
+ export declare const DisabledToggle: Story;
8
+ export declare const CustomColorsToggle: Story;
@@ -0,0 +1,8 @@
1
+ export interface ToggleProps {
2
+ checked?: boolean;
3
+ onChange: (checked: boolean) => void;
4
+ disabled?: boolean;
5
+ ariaLabel?: string;
6
+ onColor?: string;
7
+ offColor?: string;
8
+ }
@@ -0,0 +1,3 @@
1
+ import { default as Toggle } from './Toggle.component';
2
+ export { Toggle };
3
+ export type * from './Toggle.types';
@@ -0,0 +1,19 @@
1
+ import { TooltipProps } from './Tooltip.types';
2
+ /**
3
+ * Tooltip Component
4
+ *
5
+ * Displays a brief informative message when users hover over or focus on a target element.
6
+ * It supports four directional positions and a customizable message.
7
+ *
8
+ * Props:
9
+ * @param {string} title The content displayed inside the tooltip.
10
+ * @param {React.ReactNode} children The element that triggers the tooltip on hover.
11
+ * @param {"top" | "bottom" | "left" | "right"} [position="right"] Position of the tooltip relative to the target element.
12
+ *
13
+ * Example usage:
14
+ * <Tooltip title="Click to submit" position="top">
15
+ * <button>Submit</button>
16
+ * </Tooltip>
17
+ */
18
+ declare const Tooltip: React.FC<TooltipProps>;
19
+ export default Tooltip;
@@ -0,0 +1,10 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { default as Tooltip } from './Tooltip.component';
3
+ /** Storybook metadata for the Tooltip component */
4
+ declare const meta: Meta<typeof Tooltip>;
5
+ export default meta;
6
+ /** The type definition for Tooltip stories.*/
7
+ type Story = StoryObj<typeof Tooltip>;
8
+ /** Default story showing tooltip on hover */
9
+ export declare const Default: Story;
10
+ export declare const TertiaryBackground: Story;
@@ -0,0 +1,11 @@
1
+ /** Defines the allowed positions for the Tooltip component relative to the target element.*/
2
+ export type TooltipPosition = "top" | "bottom" | "left" | "right";
3
+ /** Props for the Tooltip component.*/
4
+ export interface TooltipProps {
5
+ /** The text content shown inside the tooltip.*/
6
+ title: string;
7
+ /** The element that triggers the tooltip on hover. Can be any valid React node, e.g. a button, icon, etc.*/
8
+ children?: React.ReactNode;
9
+ /** Position of the tooltip relative to the hovered element. Defaults to "right" if not provided.*/
10
+ position?: TooltipPosition;
11
+ }
@@ -0,0 +1,3 @@
1
+ import { default as Tooltip } from './Tooltip.component';
2
+ export { Tooltip };
3
+ export type * from './Tooltip.types';