@codezee/sixtify-brahma 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (267) hide show
  1. package/.github/workflows/deploy-storybook.yml +40 -0
  2. package/.husky/commit-msg +4 -0
  3. package/.husky/pre-commit +4 -0
  4. package/.husky/pre-push +4 -0
  5. package/.lintstagedrc +5 -0
  6. package/.prettierignore +11 -0
  7. package/.prettierrc +22 -0
  8. package/.vscode/extensions.json +22 -0
  9. package/.vscode/settings.json +17 -0
  10. package/README.md +81 -0
  11. package/apps/docs/.eslintrc.cjs +4 -0
  12. package/apps/docs/.eslintrc.js +9 -0
  13. package/apps/docs/.storybook/main.ts +23 -0
  14. package/apps/docs/.storybook/preview.tsx +27 -0
  15. package/apps/docs/next-env.d.ts +5 -0
  16. package/apps/docs/next.config.mjs +4 -0
  17. package/apps/docs/package.json +38 -0
  18. package/apps/docs/public/globals.css +25 -0
  19. package/apps/docs/stories/AgGrid/AgGrid.stories.tsx +69 -0
  20. package/apps/docs/stories/AppBar/AppBar.stories.tsx +39 -0
  21. package/apps/docs/stories/Breadcrumbs/Breadcrumbs.stories.tsx +37 -0
  22. package/apps/docs/stories/Button/ButtonGroup.stories.tsx +99 -0
  23. package/apps/docs/stories/Button/button.stories.tsx +99 -0
  24. package/apps/docs/stories/Card/AttendanceCard.stories.tsx +37 -0
  25. package/apps/docs/stories/Card/Card.stories.tsx +39 -0
  26. package/apps/docs/stories/Charts/PieChart.stories.tsx +264 -0
  27. package/apps/docs/stories/Chips/Chip.stories.tsx +141 -0
  28. package/apps/docs/stories/Chips/ChipWithBorder.stories.tsx +18 -0
  29. package/apps/docs/stories/Chips/FilterPill.stories.tsx +24 -0
  30. package/apps/docs/stories/Color/Color.stories.tsx +14 -0
  31. package/apps/docs/stories/Dialog/ButtomDialog.stories.tsx +47 -0
  32. package/apps/docs/stories/Dialog/DeleteDialog.stories.tsx +31 -0
  33. package/apps/docs/stories/Dialog/Dialog.stories.tsx +47 -0
  34. package/apps/docs/stories/Drawer/Drawer.stories.tsx +94 -0
  35. package/apps/docs/stories/FilterList/FilterList.stories.tsx +88 -0
  36. package/apps/docs/stories/FilterList/FilterListV2.stories.tsx +92 -0
  37. package/apps/docs/stories/FormFields/AutoComplete.stories.tsx +87 -0
  38. package/apps/docs/stories/FormFields/CheckBox.stories.tsx +61 -0
  39. package/apps/docs/stories/FormFields/DatePicker.stories.tsx +98 -0
  40. package/apps/docs/stories/FormFields/DateRangePicker.stories.tsx +37 -0
  41. package/apps/docs/stories/FormFields/FileUpload.stories.tsx +83 -0
  42. package/apps/docs/stories/FormFields/ImageUpload.stories.tsx +69 -0
  43. package/apps/docs/stories/FormFields/ListItemButton.stories.tsx +59 -0
  44. package/apps/docs/stories/FormFields/RadioGroupField.stories.tsx +170 -0
  45. package/apps/docs/stories/FormFields/SearchField.stories.tsx +72 -0
  46. package/apps/docs/stories/FormFields/TextField.stories.tsx +111 -0
  47. package/apps/docs/stories/FormFields/TimeField.stories.tsx +82 -0
  48. package/apps/docs/stories/FormFields/TimePicker.stories.tsx +82 -0
  49. package/apps/docs/stories/Indicator/Indicator.stories.tsx +33 -0
  50. package/apps/docs/stories/Indicator/SeverityIndicator.stories.tsx +27 -0
  51. package/apps/docs/stories/Layouts/FormRow.stories.tsx +45 -0
  52. package/apps/docs/stories/PadBox/PadBox.stories.tsx +49 -0
  53. package/apps/docs/stories/Stepper/Stepper.stories.tsx +75 -0
  54. package/apps/docs/stories/Stepper/StepperV2.stories.tsx +44 -0
  55. package/apps/docs/stories/Timeline/AttendanceStatus.stories.tsx +29 -0
  56. package/apps/docs/stories/Timeline/Timeline.stories.tsx +38 -0
  57. package/apps/docs/stories/Tooltip/Tooltip.stories.tsx +30 -0
  58. package/apps/docs/stories/UserProfileMenu/UserProfileMenu.stories.tsx +112 -0
  59. package/apps/docs/tsconfig.json +19 -0
  60. package/commitlint.config.cjs +6 -0
  61. package/index.ts +1 -0
  62. package/package.json +74 -0
  63. package/packages/eslint-config/README.md +3 -0
  64. package/packages/eslint-config/library.js +88 -0
  65. package/packages/eslint-config/next.js +85 -0
  66. package/packages/eslint-config/package.json +19 -0
  67. package/packages/eslint-config/react-internal.js +89 -0
  68. package/packages/shared-components/.eslintrc.js +10 -0
  69. package/packages/shared-components/package.json +22 -0
  70. package/packages/shared-components/src/Actions/AddAction.tsx +13 -0
  71. package/packages/shared-components/src/Actions/CalendarAction.tsx +13 -0
  72. package/packages/shared-components/src/Actions/DeleteAction.tsx +13 -0
  73. package/packages/shared-components/src/Actions/DownloadAction.tsx +13 -0
  74. package/packages/shared-components/src/Actions/EditAction.tsx +13 -0
  75. package/packages/shared-components/src/Actions/HistoryAction.tsx +13 -0
  76. package/packages/shared-components/src/Actions/index.ts +6 -0
  77. package/packages/shared-components/src/AgGrid/ActionCell/ActionCell.tsx +55 -0
  78. package/packages/shared-components/src/AgGrid/ActionCell/Popover.tsx +32 -0
  79. package/packages/shared-components/src/AgGrid/AgGrid.tsx +87 -0
  80. package/packages/shared-components/src/AgGrid/LoadingCell.tsx +5 -0
  81. package/packages/shared-components/src/AgGrid/index.ts +3 -0
  82. package/packages/shared-components/src/AppBar/AppBar.styled.tsx +25 -0
  83. package/packages/shared-components/src/AppBar/AppBar.tsx +20 -0
  84. package/packages/shared-components/src/AppBar/index.ts +1 -0
  85. package/packages/shared-components/src/Breadcrumbs/Breadcrumbs.tsx +76 -0
  86. package/packages/shared-components/src/Breadcrumbs/index.ts +1 -0
  87. package/packages/shared-components/src/Button/ActionButton.tsx +38 -0
  88. package/packages/shared-components/src/Button/Button.tsx +19 -0
  89. package/packages/shared-components/src/Button/ButtonGroup.tsx +37 -0
  90. package/packages/shared-components/src/Button/index.ts +3 -0
  91. package/packages/shared-components/src/Card/AttendanceCard.tsx +51 -0
  92. package/packages/shared-components/src/Card/Card.tsx +34 -0
  93. package/packages/shared-components/src/Card/CardItem/CardItem.tsx +33 -0
  94. package/packages/shared-components/src/Card/CardItem/CardItemValue.tsx +98 -0
  95. package/packages/shared-components/src/Card/CardItem/index.ts +2 -0
  96. package/packages/shared-components/src/Card/ProfileCard/ProfileCard.tsx +40 -0
  97. package/packages/shared-components/src/Card/ProfileCard/ProfileCardItem/ProfileCardBody.tsx +53 -0
  98. package/packages/shared-components/src/Card/ProfileCard/ProfileCardItem/ProfileCardHeader.tsx +96 -0
  99. package/packages/shared-components/src/Card/index.ts +6 -0
  100. package/packages/shared-components/src/Charts/PieChart.tsx +69 -0
  101. package/packages/shared-components/src/Charts/index.ts +1 -0
  102. package/packages/shared-components/src/Chips/Chip.tsx +26 -0
  103. package/packages/shared-components/src/Chips/ChipWithBorder.tsx +39 -0
  104. package/packages/shared-components/src/Chips/FilterPill.tsx +47 -0
  105. package/packages/shared-components/src/Chips/index.ts +3 -0
  106. package/packages/shared-components/src/Dialog/BottomDialog.styled.tsx +28 -0
  107. package/packages/shared-components/src/Dialog/BottomDialog.tsx +37 -0
  108. package/packages/shared-components/src/Dialog/DeleteDialog.tsx +48 -0
  109. package/packages/shared-components/src/Dialog/Dialog.tsx +61 -0
  110. package/packages/shared-components/src/Dialog/index.ts +3 -0
  111. package/packages/shared-components/src/Drawer/Bullet.tsx +12 -0
  112. package/packages/shared-components/src/Drawer/CloseDrawer/CloseDrawerMenuItem.tsx +50 -0
  113. package/packages/shared-components/src/Drawer/CloseDrawer/CloseDrawerMenuItemList.tsx +105 -0
  114. package/packages/shared-components/src/Drawer/CloseDrawer/CloseDrawerSubMenuItemList.tsx +125 -0
  115. package/packages/shared-components/src/Drawer/CloseDrawer/MenuItem.tsx +0 -0
  116. package/packages/shared-components/src/Drawer/CloseDrawer/Popover.tsx +45 -0
  117. package/packages/shared-components/src/Drawer/CloseDrawer/Popper.tsx +43 -0
  118. package/packages/shared-components/src/Drawer/Drawer.styled.tsx +51 -0
  119. package/packages/shared-components/src/Drawer/Drawer.tsx +55 -0
  120. package/packages/shared-components/src/Drawer/MenuItem.tsx +69 -0
  121. package/packages/shared-components/src/Drawer/OpenDrawer/OpenDrawerCollapse.tsx +13 -0
  122. package/packages/shared-components/src/Drawer/OpenDrawer/OpenDrawerMenuItem.tsx +46 -0
  123. package/packages/shared-components/src/Drawer/OpenDrawer/OpenDrawerMenuItemList.tsx +249 -0
  124. package/packages/shared-components/src/Drawer/index.ts +1 -0
  125. package/packages/shared-components/src/FilterList/FilterList.tsx +172 -0
  126. package/packages/shared-components/src/FilterList/FilterListV2.tsx +504 -0
  127. package/packages/shared-components/src/FilterList/FilterPopup.tsx +148 -0
  128. package/packages/shared-components/src/FilterList/FilterPopupWrapper.tsx +113 -0
  129. package/packages/shared-components/src/FilterList/FilterTypeWrapper.tsx +58 -0
  130. package/packages/shared-components/src/FilterList/getFormData.ts +29 -0
  131. package/packages/shared-components/src/FilterList/index.ts +3 -0
  132. package/packages/shared-components/src/FormFields/Autocomplete/Autocomplete.tsx +428 -0
  133. package/packages/shared-components/src/FormFields/Autocomplete/Skeleton.tsx +26 -0
  134. package/packages/shared-components/src/FormFields/Autocomplete/index.ts +1 -0
  135. package/packages/shared-components/src/FormFields/CheckBox/CheckBox.styled.tsx +67 -0
  136. package/packages/shared-components/src/FormFields/CheckBox/CheckBox.tsx +44 -0
  137. package/packages/shared-components/src/FormFields/CheckBox/Skeleton.tsx +12 -0
  138. package/packages/shared-components/src/FormFields/CheckBox/index.ts +1 -0
  139. package/packages/shared-components/src/FormFields/DatePicker/DatePicker.tsx +206 -0
  140. package/packages/shared-components/src/FormFields/DatePicker/Skeleton.tsx +21 -0
  141. package/packages/shared-components/src/FormFields/DatePicker/index.ts +1 -0
  142. package/packages/shared-components/src/FormFields/DateRangePicker/DateRangePicker.tsx +96 -0
  143. package/packages/shared-components/src/FormFields/DateRangePicker/Skeleton.tsx +38 -0
  144. package/packages/shared-components/src/FormFields/DateRangePicker/index.ts +1 -0
  145. package/packages/shared-components/src/FormFields/DateTimePicker/DateTimePicker.tsx +245 -0
  146. package/packages/shared-components/src/FormFields/DateTimePicker/Skeleton.tsx +24 -0
  147. package/packages/shared-components/src/FormFields/DateTimePicker/index.ts +1 -0
  148. package/packages/shared-components/src/FormFields/FileUpload/FileUpload.styled.tsx +22 -0
  149. package/packages/shared-components/src/FormFields/FileUpload/FileUpload.tsx +197 -0
  150. package/packages/shared-components/src/FormFields/FileUpload/Skeleton.tsx +21 -0
  151. package/packages/shared-components/src/FormFields/FileUpload/UploadedFileName.tsx +27 -0
  152. package/packages/shared-components/src/FormFields/FileUpload/index.ts +1 -0
  153. package/packages/shared-components/src/FormFields/ImageUpload/ImageUpload.styled.tsx +16 -0
  154. package/packages/shared-components/src/FormFields/ImageUpload/ImageUpload.tsx +181 -0
  155. package/packages/shared-components/src/FormFields/ImageUpload/ImageUploadView.tsx +65 -0
  156. package/packages/shared-components/src/FormFields/ImageUpload/PhotoCaptureDialog.tsx +74 -0
  157. package/packages/shared-components/src/FormFields/ImageUpload/Skeleton.tsx +31 -0
  158. package/packages/shared-components/src/FormFields/ImageUpload/index.ts +2 -0
  159. package/packages/shared-components/src/FormFields/ListItemButton/ListItemButton.styled.tsx +22 -0
  160. package/packages/shared-components/src/FormFields/ListItemButton/ListItemButton.tsx +37 -0
  161. package/packages/shared-components/src/FormFields/ListItemButton/index.ts +1 -0
  162. package/packages/shared-components/src/FormFields/PasswordField/PasswordField.tsx +50 -0
  163. package/packages/shared-components/src/FormFields/PasswordField/index.ts +1 -0
  164. package/packages/shared-components/src/FormFields/RadioGroupField/RadioGroupField.tsx +105 -0
  165. package/packages/shared-components/src/FormFields/RadioGroupField/Skeleton.tsx +26 -0
  166. package/packages/shared-components/src/FormFields/RadioGroupField/index.ts +1 -0
  167. package/packages/shared-components/src/FormFields/SearchField/SearchField.tsx +21 -0
  168. package/packages/shared-components/src/FormFields/SearchField/index.ts +1 -0
  169. package/packages/shared-components/src/FormFields/Switch/Skeleton.tsx +12 -0
  170. package/packages/shared-components/src/FormFields/Switch/Switch.tsx +33 -0
  171. package/packages/shared-components/src/FormFields/Switch/index.ts +1 -0
  172. package/packages/shared-components/src/FormFields/TextField/Skeleton.tsx +26 -0
  173. package/packages/shared-components/src/FormFields/TextField/TextField.tsx +92 -0
  174. package/packages/shared-components/src/FormFields/TextField/index.ts +1 -0
  175. package/packages/shared-components/src/FormFields/TimeField/Skeleton.tsx +24 -0
  176. package/packages/shared-components/src/FormFields/TimeField/TimeField.tsx +120 -0
  177. package/packages/shared-components/src/FormFields/TimeField/index.ts +1 -0
  178. package/packages/shared-components/src/FormFields/TimePicker/Skeleton.tsx +24 -0
  179. package/packages/shared-components/src/FormFields/TimePicker/TimePicker.tsx +162 -0
  180. package/packages/shared-components/src/FormFields/TimePicker/index.ts +1 -0
  181. package/packages/shared-components/src/FormFields/index.ts +13 -0
  182. package/packages/shared-components/src/Indicator/Indicator.tsx +17 -0
  183. package/packages/shared-components/src/Indicator/SeverityIndicator.tsx +34 -0
  184. package/packages/shared-components/src/Indicator/index.ts +2 -0
  185. package/packages/shared-components/src/Layouts/FormContainer.tsx +6 -0
  186. package/packages/shared-components/src/Layouts/FormRow/FormRow.styled.tsx +39 -0
  187. package/packages/shared-components/src/Layouts/FormRow/FormRow.tsx +20 -0
  188. package/packages/shared-components/src/Layouts/FormRow/index.ts +1 -0
  189. package/packages/shared-components/src/Layouts/FormSection.tsx +22 -0
  190. package/packages/shared-components/src/Layouts/index.ts +3 -0
  191. package/packages/shared-components/src/Loader/FacebookCircularProgress.tsx +41 -0
  192. package/packages/shared-components/src/Loader/index.ts +1 -0
  193. package/packages/shared-components/src/PadBox/PadBox.tsx +21 -0
  194. package/packages/shared-components/src/PadBox/index.ts +1 -0
  195. package/packages/shared-components/src/Stepper/Stepper.tsx +54 -0
  196. package/packages/shared-components/src/Stepper/StepperV2.tsx +115 -0
  197. package/packages/shared-components/src/Stepper/StepperV3.tsx +72 -0
  198. package/packages/shared-components/src/Stepper/index.ts +3 -0
  199. package/packages/shared-components/src/Svgs/AppLogo/AppLogoMedium.tsx +65 -0
  200. package/packages/shared-components/src/Svgs/AppLogo/AppLogoSmall.tsx +48 -0
  201. package/packages/shared-components/src/Svgs/ArrowUp.tsx +11 -0
  202. package/packages/shared-components/src/Svgs/Company/CompanyBanner.tsx +480 -0
  203. package/packages/shared-components/src/Svgs/Company/index.ts +1 -0
  204. package/packages/shared-components/src/Svgs/Drawer/SettingIcon.tsx +51 -0
  205. package/packages/shared-components/src/Svgs/Drawer/SvgsEmployees.tsx +25 -0
  206. package/packages/shared-components/src/Svgs/Drawer/SvgsOrganization.tsx +36 -0
  207. package/packages/shared-components/src/Svgs/Drawer/SvgsTransaction.tsx +79 -0
  208. package/packages/shared-components/src/Svgs/Drawer/index.ts +4 -0
  209. package/packages/shared-components/src/Svgs/FormAction.tsx +118 -0
  210. package/packages/shared-components/src/Svgs/LogoIcon.tsx +74 -0
  211. package/packages/shared-components/src/Svgs/SvgAdd.tsx +28 -0
  212. package/packages/shared-components/src/Svgs/SvgCalendar.tsx +89 -0
  213. package/packages/shared-components/src/Svgs/SvgDelete.tsx +55 -0
  214. package/packages/shared-components/src/Svgs/SvgDownload.tsx +20 -0
  215. package/packages/shared-components/src/Svgs/SvgFilterList.tsx +19 -0
  216. package/packages/shared-components/src/Svgs/SvgNoLogo.tsx +66 -0
  217. package/packages/shared-components/src/Svgs/SvgNoSign.tsx +28 -0
  218. package/packages/shared-components/src/Svgs/SvgsDrop.tsx +44 -0
  219. package/packages/shared-components/src/Svgs/SvgsEdit.tsx +42 -0
  220. package/packages/shared-components/src/Svgs/SvgsHistory.tsx +40 -0
  221. package/packages/shared-components/src/Svgs/SvgsHome.tsx +16 -0
  222. package/packages/shared-components/src/Svgs/SvgsIndicator.tsx +20 -0
  223. package/packages/shared-components/src/Svgs/index.ts +12 -0
  224. package/packages/shared-components/src/Tab/Skeleton.tsx +15 -0
  225. package/packages/shared-components/src/Tab/Tabs.tsx +64 -0
  226. package/packages/shared-components/src/Tab/index.ts +1 -0
  227. package/packages/shared-components/src/Timeline/AttendanceStatus.tsx +56 -0
  228. package/packages/shared-components/src/Timeline/Timeline.tsx +171 -0
  229. package/packages/shared-components/src/Timeline/TimelineTrackSegments.tsx +121 -0
  230. package/packages/shared-components/src/Timeline/index.ts +2 -0
  231. package/packages/shared-components/src/Toast/Toast.tsx +59 -0
  232. package/packages/shared-components/src/Toast/ToastBody.tsx +26 -0
  233. package/packages/shared-components/src/Toast/ToastFooterLink.tsx +19 -0
  234. package/packages/shared-components/src/Toast/Toaster.styled.tsx +76 -0
  235. package/packages/shared-components/src/Toast/Toaster.tsx +21 -0
  236. package/packages/shared-components/src/Toast/index.ts +3 -0
  237. package/packages/shared-components/src/Toast/toasts.tsx +28 -0
  238. package/packages/shared-components/src/Toast/types.ts +13 -0
  239. package/packages/shared-components/src/Tooltip/Tooltip.tsx +36 -0
  240. package/packages/shared-components/src/Tooltip/index.ts +1 -0
  241. package/packages/shared-components/src/UserProfileMenu/UserProfileMenu.styled.tsx +37 -0
  242. package/packages/shared-components/src/UserProfileMenu/UserProfileMenu.tsx +107 -0
  243. package/packages/shared-components/src/UserProfileMenu/index.ts +1 -0
  244. package/packages/shared-components/src/index.ts +24 -0
  245. package/packages/shared-components/src/utils/colorVariant.ts +142 -0
  246. package/packages/shared-components/src/utils/date.ts +11 -0
  247. package/packages/shared-components/src/utils/file.ts +20 -0
  248. package/packages/shared-components/src/utils/fileSizeValidate.ts +5 -0
  249. package/packages/shared-components/src/utils/index.ts +5 -0
  250. package/packages/shared-components/src/utils/theme/colorPalette.ts +110 -0
  251. package/packages/shared-components/src/utils/theme/colorPaletteUI.tsx +44 -0
  252. package/packages/shared-components/src/utils/theme/paletteDark.ts +10 -0
  253. package/packages/shared-components/src/utils/theme/paletteLight.ts +31 -0
  254. package/packages/shared-components/src/utils/theme/theme.ts +289 -0
  255. package/packages/shared-components/src/utils/theme/types.ts +18 -0
  256. package/packages/shared-components/src/utils/theme/typography.ts +52 -0
  257. package/packages/shared-components/src/utils/urlToNestedObject.ts +9 -0
  258. package/packages/shared-components/tsconfig.json +8 -0
  259. package/packages/shared-components/tsconfig.lint.json +8 -0
  260. package/packages/shared-components/turbo/generators/config.ts +33 -0
  261. package/packages/shared-components/turbo/generators/templates/component.hbs +8 -0
  262. package/packages/typescript-config/base.json +20 -0
  263. package/packages/typescript-config/nextjs.json +13 -0
  264. package/packages/typescript-config/package.json +9 -0
  265. package/packages/typescript-config/react-library.json +8 -0
  266. package/pnpm-workspace.yaml +3 -0
  267. package/turbo.json +44 -0
@@ -0,0 +1,40 @@
1
+ name: Deploy Storybook to GitHub Pages
2
+
3
+ # Trigger the workflow on every push to the main branch
4
+ on:
5
+ push:
6
+ branches:
7
+ - main # Adjust this to match your branch name
8
+
9
+ jobs:
10
+ deploy:
11
+ runs-on: ubuntu-latest
12
+
13
+ steps:
14
+ # Step 1: Check out the repository
15
+ - name: Checkout repository
16
+ uses: actions/checkout@v3
17
+
18
+ # Step 2: Set up Node.js (adjust the Node version if needed)
19
+ - name: Set up Node.js
20
+ uses: actions/setup-node@v3
21
+ with:
22
+ node-version: 20 # Use the Node.js version your project requires
23
+
24
+ - name: Install PNPM Globally
25
+ run: npm install -g pnpm
26
+
27
+ # Step 3: Install dependencies
28
+ - name: Install dependencies
29
+ run: pnpm install # Use `npm install` or `yarn install` if not using pnpm
30
+
31
+ # Step 4: Build the Storybook static files
32
+ - name: Build Storybook
33
+ run: pnpm run build # Adjust the path to your Storybook app
34
+
35
+ # Step 5: Deploy to GitHub Pages
36
+ - name: Deploy to GitHub Pages
37
+ uses: peaceiris/actions-gh-pages@v3
38
+ with:
39
+ github_token: ${{ secrets.GITHUB_TOKEN }}
40
+ publish_dir: apps/docs/storybook-static # Adjust to your static output directory
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env sh
2
+ . "$(dirname -- "$0")/_/husky.sh"
3
+
4
+ npx --no -- commitlint --edit
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env sh
2
+ . "$(dirname -- "$0")/_/husky.sh"
3
+
4
+ pnpm lint-staged --concurrent false
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env sh
2
+ . "$(dirname -- "$0")/_/husky.sh"
3
+
4
+ pnpm run build
package/.lintstagedrc ADDED
@@ -0,0 +1,5 @@
1
+ {
2
+ "*.{ts,tsx}": [
3
+ "pnpm run format"
4
+ ]
5
+ }
@@ -0,0 +1,11 @@
1
+ # Editor
2
+ .idea
3
+ .vscode
4
+
5
+ # Node modules
6
+ node_modules
7
+
8
+ # Lock files
9
+ pnpm-lock.yaml
10
+ buildspec.yml
11
+ .github/
package/.prettierrc ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "arrowParens": "always",
3
+ "bracketSameLine": false,
4
+ "bracketSpacing": true,
5
+ "embeddedLanguageFormatting": "auto",
6
+ "endOfLine": "lf",
7
+ "htmlWhitespaceSensitivity": "css",
8
+ "insertPragma": false,
9
+ "jsxSingleQuote": false,
10
+ "parser": "typescript",
11
+ "printWidth": 80,
12
+ "proseWrap": "preserve",
13
+ "quoteProps": "as-needed",
14
+ "requirePragma": false,
15
+ "semi": true,
16
+ "singleAttributePerLine": false,
17
+ "singleQuote": false,
18
+ "tabWidth": 2,
19
+ "trailingComma": "es5",
20
+ "useTabs": false,
21
+ "vueIndentScriptAndStyle": false
22
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations.
3
+ // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp
4
+
5
+ // List of extensions which should be recommended for users of this workspace.
6
+ "recommendations": [
7
+ "alefragnani.bookmarks",
8
+ "streetsidesoftware.code-spell-checker",
9
+ "naumovs.color-highlight",
10
+ "dbaeumer.vscode-eslint",
11
+ "eamodio.gitlens",
12
+ "wix.vscode-import-cost",
13
+ "unifiedjs.vscode-mdx",
14
+ "liviuschera.noctis",
15
+ "esbenp.prettier-vscode",
16
+ "tyriar.sort-lines",
17
+ "gruntfuggly.todo-tree",
18
+ "wayou.vscode-todo-highlight"
19
+ ],
20
+ // List of extensions recommended by VS Code that should not be recommended for users of this workspace.
21
+ "unwantedRecommendations": []
22
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "eslint.workingDirectories": [
3
+ {
4
+ "mode": "auto"
5
+ }
6
+ ],
7
+ "editor.formatOnSave": true,
8
+ "editor.codeActionsOnSave": {
9
+ "source.organizeImports": "explicit",
10
+ // "source.fixAll.eslint": "explicit"
11
+ },
12
+ "eslint.format.enable": true,
13
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
14
+ "files.associations": {
15
+ "*.env.*": "env",
16
+ }
17
+ }
package/README.md ADDED
@@ -0,0 +1,81 @@
1
+ # Turborepo starter
2
+
3
+ This is an official starter Turborepo.
4
+
5
+ ## Using this example
6
+
7
+ Run the following command:
8
+
9
+ ```sh
10
+ npx create-turbo@latest
11
+ ```
12
+
13
+ ## What's inside?
14
+
15
+ This Turborepo includes the following packages/apps:
16
+
17
+ ### Apps and Packages
18
+
19
+ - `docs`: a [Next.js](https://nextjs.org/) app
20
+ - `web`: another [Next.js](https://nextjs.org/) app
21
+ - `@repo/ui`: a stub React component library shared by both `web` and `docs` applications
22
+ - `@repo/eslint-config`: `eslint` configurations (includes `eslint-config-next` and `eslint-config-prettier`)
23
+ - `@repo/typescript-config`: `tsconfig.json`s used throughout the monorepo
24
+
25
+ Each package/app is 100% [TypeScript](https://www.typescriptlang.org/).
26
+
27
+ ### Utilities
28
+
29
+ This Turborepo has some additional tools already setup for you:
30
+
31
+ - [TypeScript](https://www.typescriptlang.org/) for static type checking
32
+ - [ESLint](https://eslint.org/) for code linting
33
+ - [Prettier](https://prettier.io) for code formatting
34
+
35
+ ### Build
36
+
37
+ To build all apps and packages, run the following command:
38
+
39
+ ```
40
+ cd my-turborepo
41
+ pnpm build
42
+ ```
43
+
44
+ ### Develop
45
+
46
+ To develop all apps and packages, run the following command:
47
+
48
+ ```
49
+ cd my-turborepo
50
+ pnpm dev
51
+ ```
52
+
53
+ ### Remote Caching
54
+
55
+ Turborepo can use a technique known as [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching) to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.
56
+
57
+ By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can [create one](https://vercel.com/signup), then enter the following commands:
58
+
59
+ ```
60
+ cd my-turborepo
61
+ npx turbo login
62
+ ```
63
+
64
+ This will authenticate the Turborepo CLI with your [Vercel account](https://vercel.com/docs/concepts/personal-accounts/overview).
65
+
66
+ Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your Turborepo:
67
+
68
+ ```
69
+ npx turbo link
70
+ ```
71
+
72
+ ## Useful Links
73
+
74
+ Learn more about the power of Turborepo:
75
+
76
+ - [Tasks](https://turbo.build/repo/docs/core-concepts/monorepos/running-tasks)
77
+ - [Caching](https://turbo.build/repo/docs/core-concepts/caching)
78
+ - [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching)
79
+ - [Filtering](https://turbo.build/repo/docs/core-concepts/monorepos/filtering)
80
+ - [Configuration Options](https://turbo.build/repo/docs/reference/configuration)
81
+ - [CLI Usage](https://turbo.build/repo/docs/reference/command-line-reference)
@@ -0,0 +1,4 @@
1
+ /** @type {import("eslint").Linter.Config} */
2
+ module.exports = {
3
+ extends: ["@repo/eslint-config/storybook.js"],
4
+ };
@@ -0,0 +1,9 @@
1
+ /** @type {import("eslint").Linter.Config} */
2
+ module.exports = {
3
+ root: true,
4
+ extends: ["@repo/eslint-config/next.js"],
5
+ parser: "@typescript-eslint/parser",
6
+ parserOptions: {
7
+ project: true,
8
+ },
9
+ };
@@ -0,0 +1,23 @@
1
+ import type { StorybookConfig } from "@storybook/nextjs";
2
+
3
+ import { join, dirname } from "path";
4
+
5
+ /**
6
+ * This function is used to resolve the absolute path of a package.
7
+ * It is needed in projects that use Yarn PnP or are set up within a monorepo.
8
+ */
9
+ function getAbsolutePath(value: string): any {
10
+ return dirname(require.resolve(join(value, "package.json")));
11
+ }
12
+ const config: StorybookConfig = {
13
+ stories: ["../stories/*.stories.tsx", "../stories/**/*.stories.tsx"],
14
+ addons: [
15
+ getAbsolutePath("@storybook/addon-links"),
16
+ getAbsolutePath("@storybook/addon-essentials"),
17
+ ],
18
+ framework: {
19
+ name: getAbsolutePath("@storybook/nextjs"),
20
+ options: {},
21
+ },
22
+ };
23
+ export default config;
@@ -0,0 +1,27 @@
1
+ import type { Preview } from "@storybook/react";
2
+ import React from "react";
3
+ import { ThemeProvider, createTheme } from "@mui/material";
4
+ import { Theme, appTheme } from "@repo/shared-components";
5
+ import "../public/globals.css";
6
+
7
+ const createdAppTheme = createTheme(appTheme(Theme.light));
8
+
9
+ export const decorators = [
10
+ (Story) => (
11
+ <ThemeProvider theme={createdAppTheme}>
12
+ <Story />
13
+ </ThemeProvider>
14
+ ),
15
+ ];
16
+ const preview: Preview = {
17
+ parameters: {
18
+ controls: {
19
+ matchers: {
20
+ color: /(background|color)$/i,
21
+ date: /Date$/i,
22
+ },
23
+ },
24
+ },
25
+ };
26
+
27
+ export default preview;
@@ -0,0 +1,5 @@
1
+ /// <reference types="next" />
2
+ /// <reference types="next/image-types/global" />
3
+
4
+ // NOTE: This file should not be edited
5
+ // see https://nextjs.org/docs/app/building-your-application/configuring/typescript for more information.
@@ -0,0 +1,4 @@
1
+ /** @type {import('next').NextConfig} */
2
+ const nextConfig = {};
3
+
4
+ export default nextConfig;
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "docs",
3
+ "version": "0.0.0",
4
+ "type": "module",
5
+ "private": true,
6
+ "scripts": {
7
+ "dev": "storybook dev",
8
+ "build": "storybook build",
9
+ "start": "serve storybook-static",
10
+ "deploy-storybook": "gh-pages -d storybook-static",
11
+ "clean": "rm -rf .turbo && rm -rf node_modules",
12
+ "lint": "eslint ./stories/*.stories.tsx --max-warnings 0"
13
+ },
14
+ "dependencies": {
15
+ "@repo/shared-components": "workspace:*",
16
+ "react": "^18.2.0",
17
+ "react-dom": "^18.2.0"
18
+ },
19
+ "devDependencies": {
20
+ "@repo/eslint-config": "workspace:*",
21
+ "@repo/typescript-config": "workspace:*",
22
+ "@storybook/addon-actions": "^8.2.6",
23
+ "@storybook/addon-essentials": "^8.2.6",
24
+ "@storybook/addon-links": "^8.2.6",
25
+ "@storybook/test": "^8.3.4",
26
+ "@storybook/nextjs": "^8.3.4",
27
+ "@storybook/react": "^8.2.6",
28
+ "@types/node": "^20",
29
+ "@types/react": "^18.2.0",
30
+ "@types/react-dom": "^18.2.0",
31
+ "eslint": "^8.57.0",
32
+ "eslint-config-next": "15.0.0-rc.0",
33
+ "postcss": "^8",
34
+ "serve": "^14.2.1",
35
+ "storybook": "^8.2.6",
36
+ "typescript": "^5.3.3"
37
+ }
38
+ }
@@ -0,0 +1,25 @@
1
+ @import "ag-grid-community/styles/ag-grid.css";
2
+ @import "ag-grid-community/styles/ag-theme-quartz.css";
3
+ @import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
4
+ @import 'react-date-range/dist/styles.css';
5
+ @import 'react-date-range/dist/theme/default.css';
6
+
7
+ body {
8
+ font-family: 'Poppins', sans-serif;
9
+ margin: 0;
10
+ height:100%;
11
+ }
12
+
13
+ .ag-theme-quartz {
14
+ --ag-font-family: 'Poppins', sans-serif;
15
+ }
16
+ .ag-row .ag-cell {
17
+ display: flex;
18
+ align-items: center;
19
+ }
20
+ .ag-header-cell-text {
21
+ font-weight: 600;
22
+ }
23
+ .rdrDefinedRangesWrapper{
24
+ width:0px !important;
25
+ }
@@ -0,0 +1,69 @@
1
+ import { AgGrid } from "@repo/shared-components";
2
+ import { Meta, StoryObj } from "@storybook/react";
3
+ import { ColDef } from "ag-grid-community";
4
+
5
+ const column: ColDef[] = [
6
+ {
7
+ headerName: "Id",
8
+ field: "id",
9
+ sortable: false,
10
+ width: 150,
11
+ },
12
+ {
13
+ headerName: "name",
14
+ field: "name",
15
+ width: 150,
16
+ },
17
+ {
18
+ headerName: "age",
19
+ field: "age",
20
+ width: 150,
21
+ },
22
+ ];
23
+
24
+ const rowData = [
25
+ { id: 1, name: "John", age: 25 },
26
+ { id: 2, name: "Jane", age: 30 },
27
+ { id: 3, name: "Bob", age: 40 },
28
+ ];
29
+
30
+ const meta: Meta<typeof AgGrid> = {
31
+ title: "shared-component/AgGrid",
32
+ component: AgGrid,
33
+ tags: ["autodocs"],
34
+ argTypes: {
35
+ height: { control: "text" },
36
+ totalRecords: { control: "number" },
37
+ rowModelType: { control: "select", options: ["clientSide", "infinite"] },
38
+ ref: { control: false },
39
+ overlayNoRowsTemplate: { control: false },
40
+ },
41
+ args: {
42
+ rowData,
43
+ rowModelType: "clientSide",
44
+ },
45
+ };
46
+
47
+ export default meta;
48
+
49
+ type Story = StoryObj<typeof AgGrid>;
50
+
51
+ export const DefaultAgGrid: Story = {
52
+ args: {
53
+ rowModelType: "clientSide",
54
+ totalRecords: 3,
55
+ },
56
+ render: (args) => {
57
+ return <AgGrid {...args} columnDefs={column} height="500px" />;
58
+ },
59
+ };
60
+
61
+ export const NoRecordsAgGridWithOverlay: Story = {
62
+ args: {
63
+ rowData: [],
64
+ overlayNoRowsTemplate: '<span class="no-rows">No records to display</span>',
65
+ },
66
+ render: (args) => {
67
+ return <AgGrid {...args} columnDefs={column} height="500px" />;
68
+ },
69
+ };
@@ -0,0 +1,39 @@
1
+ import { Stack } from "@mui/material";
2
+ import { AppBar, Button } from "@repo/shared-components";
3
+ import { Meta, StoryObj } from "@storybook/react";
4
+
5
+ const meta: Meta<typeof AppBar> = {
6
+ title: "shared-component/AppBar",
7
+ tags: ["autodocs"],
8
+ component: AppBar,
9
+ argTypes: {
10
+ drawerOpen: {
11
+ control: "boolean",
12
+ },
13
+ },
14
+ render: (args) => (
15
+ <AppBar {...args}>
16
+ <Stack gap="24px" direction="row" alignItems="center">
17
+ <Button>Home</Button>
18
+ <Button>About</Button>
19
+ <Button>Contact</Button>
20
+ </Stack>
21
+ </AppBar>
22
+ ),
23
+ };
24
+
25
+ export default meta;
26
+
27
+ type Story = StoryObj;
28
+
29
+ export const Default: Story = {
30
+ args: {
31
+ drawerOpen: false,
32
+ },
33
+ };
34
+
35
+ export const DrawerOpen: Story = {
36
+ args: {
37
+ drawerOpen: true,
38
+ },
39
+ };
@@ -0,0 +1,37 @@
1
+ import FolderIcon from "@mui/icons-material/Folder";
2
+ import HomeIcon from "@mui/icons-material/Home";
3
+ import { Breadcrumbs } from "@repo/shared-components";
4
+ import type { Meta, StoryObj } from "@storybook/react";
5
+ import { fn } from "@storybook/test";
6
+
7
+ type StoryProps = React.ComponentProps<typeof Breadcrumbs>;
8
+
9
+ const meta: Meta<StoryProps> = {
10
+ title: "shared-component/Breadcrumbs",
11
+ component: Breadcrumbs,
12
+ tags: ["autodocs"],
13
+ };
14
+
15
+ export default meta;
16
+
17
+ type Story = StoryObj<typeof Breadcrumbs>;
18
+
19
+ export const TextOnly: Story = {
20
+ args: {
21
+ items: [
22
+ { text: "Home", onClick: fn() },
23
+ { text: "Products", onClick: fn() },
24
+ { text: "Categories" },
25
+ ],
26
+ },
27
+ };
28
+
29
+ export const WithIcons: Story = {
30
+ args: {
31
+ items: [
32
+ { icon: <HomeIcon />, text: "Home", onClick: fn() },
33
+ { icon: <FolderIcon />, text: "Documents", onClick: fn() },
34
+ { text: "Details" },
35
+ ],
36
+ },
37
+ };
@@ -0,0 +1,99 @@
1
+ import FavoriteIcon from "@mui/icons-material/Favorite";
2
+ import HomeIcon from "@mui/icons-material/Home";
3
+ import SettingsIcon from "@mui/icons-material/Settings";
4
+ import { ButtonGroup as MuiButtonGroup, Stack } from "@mui/material";
5
+ import { Button, ButtonGroup } from "@repo/shared-components";
6
+ import type { Meta, StoryObj } from "@storybook/react";
7
+ import { fn } from "@storybook/test";
8
+
9
+ type StoryProps = React.ComponentProps<typeof ButtonGroup>;
10
+
11
+ const meta: Meta<StoryProps> = {
12
+ title: "shared-component/Button/ButtonGroup",
13
+ component: ButtonGroup,
14
+ tags: ["autodocs"],
15
+ };
16
+
17
+ export default meta;
18
+
19
+ type Story = StoryObj<typeof ButtonGroup>;
20
+
21
+ export const DefaultButtonGroup: Story = {
22
+ args: {
23
+ renderButtons: [
24
+ { icon: <HomeIcon />, value: "home", label: "Home", selected: true },
25
+ {
26
+ icon: <FavoriteIcon />,
27
+ value: "favorites",
28
+ label: "Favorites",
29
+ selected: false,
30
+ },
31
+ {
32
+ icon: <SettingsIcon />,
33
+ value: "settings",
34
+ label: "Settings",
35
+ selected: false,
36
+ },
37
+ ],
38
+ onSelect: fn(),
39
+ },
40
+ };
41
+
42
+ export const NoSelectedButton: Story = {
43
+ args: {
44
+ renderButtons: [
45
+ { icon: <HomeIcon />, value: "home", label: "Home", selected: false },
46
+ {
47
+ icon: <FavoriteIcon />,
48
+ value: "favorites",
49
+ label: "Favorites",
50
+ selected: false,
51
+ },
52
+ {
53
+ icon: <SettingsIcon />,
54
+ value: "settings",
55
+ label: "Settings",
56
+ selected: false,
57
+ },
58
+ ],
59
+ onSelect: fn(),
60
+ },
61
+ };
62
+
63
+ export const DisabledButtons: Story = {
64
+ args: {
65
+ renderButtons: [
66
+ { icon: <HomeIcon />, value: "home", label: "Home", selected: false },
67
+ {
68
+ icon: <FavoriteIcon />,
69
+ value: "favorites",
70
+ label: "Favorites",
71
+ selected: false,
72
+ },
73
+ {
74
+ icon: <SettingsIcon />,
75
+ value: "settings",
76
+ label: "Settings",
77
+ selected: false,
78
+ },
79
+ ],
80
+ onSelect: fn(),
81
+ },
82
+ decorators: [
83
+ () => (
84
+ <Stack direction="row" gap="10px">
85
+ <MuiButtonGroup aria-label="Disabled button group">
86
+ <Button variant="outlined" disabled>
87
+ Home
88
+ </Button>
89
+ <Button variant="outlined" disabled>
90
+ Favorites
91
+ </Button>
92
+ <Button variant="outlined" disabled>
93
+ Settings
94
+ </Button>
95
+ </MuiButtonGroup>
96
+ </Stack>
97
+ ),
98
+ ],
99
+ };