@campxdev/react-blueprint 1.7.0 → 1.7.2

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 (91) hide show
  1. package/package.json +1 -2
  2. package/src/components/Assets/ErrorPages/NoItemFound.tsx +20 -26
  3. package/src/components/Assets/Icons/IconComponents/AcademicFeesIcon.tsx +4 -4
  4. package/src/components/Assets/Icons/IconComponents/AccordionArrow.tsx +1 -1
  5. package/src/components/Assets/Icons/IconComponents/AlertFilledIcon.tsx +2 -2
  6. package/src/components/Assets/Icons/IconComponents/ApproveIcon.tsx +2 -2
  7. package/src/components/Assets/Icons/IconComponents/ArrowBackIcon.tsx +1 -1
  8. package/src/components/Assets/Icons/IconComponents/AssignmentIcon.tsx +1 -1
  9. package/src/components/Assets/Icons/IconComponents/AttachmentIcon.tsx +1 -1
  10. package/src/components/Assets/Icons/IconComponents/CampxFullLogoIcon.tsx +1 -1
  11. package/src/components/Assets/Icons/IconComponents/CareerIcon.tsx +1 -1
  12. package/src/components/Assets/Icons/IconComponents/CheckedRadioIcon.tsx +1 -1
  13. package/src/components/Assets/Icons/IconComponents/CollapseIcon.tsx +1 -1
  14. package/src/components/Assets/Icons/IconComponents/ColumnsIcon.tsx +3 -3
  15. package/src/components/Assets/Icons/IconComponents/CommutexIcon.tsx +7 -7
  16. package/src/components/Assets/Icons/IconComponents/CompletedStateIcon.tsx +3 -3
  17. package/src/components/Assets/Icons/IconComponents/ConfigureIcon.tsx +3 -3
  18. package/src/components/Assets/Icons/IconComponents/DashBoardIcon.tsx +9 -9
  19. package/src/components/Assets/Icons/IconComponents/DeleteIcon.tsx +5 -5
  20. package/src/components/Assets/Icons/IconComponents/DocumentIcon.tsx +1 -1
  21. package/src/components/Assets/Icons/IconComponents/DoneSquare.tsx +1 -1
  22. package/src/components/Assets/Icons/IconComponents/DownloadIcon.tsx +4 -4
  23. package/src/components/Assets/Icons/IconComponents/EditIcon.tsx +3 -3
  24. package/src/components/Assets/Icons/IconComponents/EnrollxIcon.tsx +4 -4
  25. package/src/components/Assets/Icons/IconComponents/ExamResultIcon.tsx +1 -1
  26. package/src/components/Assets/Icons/IconComponents/ExamxIcon.tsx +1 -1
  27. package/src/components/Assets/Icons/IconComponents/ExpandIcon.tsx +2 -2
  28. package/src/components/Assets/Icons/IconComponents/ExportMenuIcon.tsx +5 -5
  29. package/src/components/Assets/Icons/IconComponents/FeePaymentIcon.tsx +3 -3
  30. package/src/components/Assets/Icons/IconComponents/HelpIcon.tsx +9 -9
  31. package/src/components/Assets/Icons/IconComponents/HomeIcon.tsx +6 -6
  32. package/src/components/Assets/Icons/IconComponents/HostelxIcon.tsx +8 -8
  33. package/src/components/Assets/Icons/IconComponents/HostlersIcon.tsx +6 -6
  34. package/src/components/Assets/Icons/IconComponents/ImageIcon.tsx +1 -1
  35. package/src/components/Assets/Icons/IconComponents/ImportIcon.tsx +5 -5
  36. package/src/components/Assets/Icons/IconComponents/LeftIcon.tsx +12 -12
  37. package/src/components/Assets/Icons/IconComponents/LocationIcon.tsx +4 -4
  38. package/src/components/Assets/Icons/IconComponents/ManageUsersIcon.tsx +4 -4
  39. package/src/components/Assets/Icons/IconComponents/MinusSquare.tsx +0 -2
  40. package/src/components/Assets/Icons/IconComponents/NavigationIcon.tsx +1 -1
  41. package/src/components/Assets/Icons/IconComponents/NoteIcon.tsx +5 -5
  42. package/src/components/Assets/Icons/IconComponents/NoticeBoardIcon.tsx +3 -3
  43. package/src/components/Assets/Icons/IconComponents/NotificationIcon.tsx +2 -2
  44. package/src/components/Assets/Icons/IconComponents/ObeIcon.tsx +30 -0
  45. package/src/components/Assets/Icons/IconComponents/OnlineTransactions.tsx +4 -4
  46. package/src/components/Assets/Icons/IconComponents/OpenPaymentsIcon.tsx +4 -4
  47. package/src/components/Assets/Icons/IconComponents/PayxIcon.tsx +1 -1
  48. package/src/components/Assets/Icons/IconComponents/PdfIcon.tsx +1 -1
  49. package/src/components/Assets/Icons/IconComponents/PeoplexIcon.tsx +3 -3
  50. package/src/components/Assets/Icons/IconComponents/ProductFeaturesIcon.tsx +12 -12
  51. package/src/components/Assets/Icons/IconComponents/QuizIcon.tsx +4 -4
  52. package/src/components/Assets/Icons/IconComponents/RedirectIcon.tsx +1 -1
  53. package/src/components/Assets/Icons/IconComponents/RedoIcon.tsx +2 -2
  54. package/src/components/Assets/Icons/IconComponents/RegistrationsIcon.tsx +4 -4
  55. package/src/components/Assets/Icons/IconComponents/RejectIcon.tsx +3 -3
  56. package/src/components/Assets/Icons/IconComponents/RoutesIcon.tsx +6 -6
  57. package/src/components/Assets/Icons/IconComponents/SaveIcon.tsx +4 -4
  58. package/src/components/Assets/Icons/IconComponents/ShareIcon.tsx +7 -7
  59. package/src/components/Assets/Icons/IconComponents/TicketingSystemIcon.tsx +4 -4
  60. package/src/components/Assets/Icons/IconComponents/TicketsIcon.tsx +12 -12
  61. package/src/components/Assets/Icons/IconComponents/TimerIcon.tsx +215 -215
  62. package/src/components/Assets/Icons/IconComponents/TransactionCardIcon.tsx +6 -6
  63. package/src/components/Assets/Icons/IconComponents/UncheckedRadioIcon.tsx +1 -1
  64. package/src/components/Assets/Icons/IconComponents/ViewIcon.tsx +2 -2
  65. package/src/components/Assets/Icons/IconComponents/ViewsIcon.tsx +4 -4
  66. package/src/components/Assets/Icons/IconComponents/VisibilityIcon.tsx +2 -2
  67. package/src/components/Assets/Icons/IconComponents/WarningFilledIcon.tsx +2 -2
  68. package/src/components/Assets/Icons/Icons.tsx +2 -0
  69. package/src/components/Charts/BarChart/BarChart.tsx +1 -1
  70. package/src/components/Charts/TreeMap/TreeMap.tsx +0 -1
  71. package/src/components/DataDisplay/Card/Card.tsx +72 -63
  72. package/src/components/DataDisplay/Timeline/Timeline.tsx +2 -2
  73. package/src/components/Feedback/Spinner/Spinner.css +25 -13
  74. package/src/components/Input/FormActions/FormActions.tsx +5 -6
  75. package/src/components/Input/FormControlWrapper/FormControlWrapper.tsx +4 -2
  76. package/src/components/Input/FormWrapper/FormWrapper.tsx +12 -0
  77. package/src/components/Input/LabelWrapper/LabelWrapper.tsx +1 -1
  78. package/src/components/Input/export.ts +1 -0
  79. package/src/components/Layout/TabsLayout/Tabs.tsx +1 -0
  80. package/src/components/Navigation/DropDownMenu/styles.tsx +1 -1
  81. package/src/components/Navigation/TabsContainer/TabsContainer.tsx +8 -6
  82. package/src/components/Navigation/UploadDialog/Styles.tsx +19 -20
  83. package/src/stories/Assets/Icons.stories.tsx +1 -0
  84. package/src/stories/DataDisplay/Card.stories.tsx +1 -2
  85. package/src/stories/DataDisplay/CircularAvatar.stories.tsx +2 -2
  86. package/src/stories/DataDisplay/SidePanel.stories.tsx +1 -1
  87. package/src/stories/DataDisplay/SquareAvatar.stories.tsx +2 -2
  88. package/src/stories/Input/Select.stories.tsx +1 -1
  89. package/src/themes/commonTheme.ts +15 -0
  90. package/src/utils/breadcrumbs.ts +9 -5
  91. package/src/utils/constants.ts +3 -1
@@ -7,36 +7,36 @@ export const TransactionCardIcon = ({ size = 16 }) => {
7
7
  fill="none"
8
8
  xmlns="http://www.w3.org/2000/svg"
9
9
  >
10
- <g clip-path="url(#clip0_43_272)">
10
+ <g clipPath="url(#clip0_43_272)">
11
11
  <path
12
12
  d="M8.78359 18.2834C8.68644 18.2841 8.59049 18.2618 8.50359 18.2184C8.41669 18.1749 8.34131 18.1115 8.28359 18.0334L7.44193 16.9084C7.36686 16.8002 7.26901 16.7099 7.15528 16.6437C7.04154 16.5774 6.91467 16.5369 6.78359 16.525C6.65146 16.5221 6.5203 16.5482 6.39935 16.6014C6.2784 16.6547 6.17061 16.7339 6.08359 16.8334C4.87526 18.125 3.95859 18.0167 3.51693 17.85C3.07526 17.6834 2.30859 17.1 2.30859 15.25V5.86669C2.30859 2.16669 3.37526 1.04169 6.86693 1.04169H13.1586C16.6503 1.04169 17.7169 2.16669 17.7169 5.86669V9.41669C17.7169 9.58245 17.6511 9.74142 17.5339 9.85863C17.4167 9.97584 17.2577 10.0417 17.0919 10.0417C16.9262 10.0417 16.7672 9.97584 16.65 9.85863C16.5328 9.74142 16.4669 9.58245 16.4669 9.41669V5.86669C16.4669 2.85835 15.9419 2.29169 13.1586 2.29169H6.86693C4.08359 2.29169 3.55859 2.85835 3.55859 5.86669V15.25C3.55859 16.125 3.77526 16.6084 3.97526 16.6834C4.12526 16.7417 4.53359 16.6584 5.16693 15.9834C5.3786 15.7493 5.63906 15.5646 5.92992 15.4422C6.22077 15.3198 6.53494 15.2628 6.85026 15.275C7.16404 15.2968 7.46921 15.3872 7.74424 15.5399C8.01926 15.6925 8.25743 15.9036 8.44193 16.1584L9.29193 17.2834C9.39138 17.416 9.43409 17.5827 9.41065 17.7467C9.3872 17.9108 9.29954 18.0589 9.16693 18.1584C9.05607 18.2405 8.92154 18.2843 8.78359 18.2834Z"
13
13
  fill="#121212"
14
14
  stroke="#121212"
15
- stroke-width="0.4"
15
+ strokeWidth="0.4"
16
16
  />
17
17
  <path
18
18
  d="M15.1667 18.4583C14.5156 18.4583 13.8792 18.2653 13.3379 17.9036C12.7966 17.5419 12.3747 17.0278 12.1256 16.4263C11.8764 15.8249 11.8112 15.163 11.9382 14.5245C12.0653 13.886 12.3788 13.2995 12.8391 12.8391C13.2995 12.3788 13.886 12.0653 14.5245 11.9382C15.163 11.8112 15.8249 11.8764 16.4263 12.1256C17.0278 12.3747 17.5419 12.7966 17.9036 13.3379C18.2653 13.8792 18.4583 14.5156 18.4583 15.1667C18.4579 16.0395 18.111 16.8765 17.4937 17.4937C16.8765 18.111 16.0395 18.4579 15.1667 18.4583ZM15.1667 13.125C14.7629 13.125 14.3681 13.2447 14.0324 13.4691C13.6966 13.6934 13.4349 14.0123 13.2804 14.3854C13.1259 14.7584 13.0855 15.1689 13.1642 15.565C13.243 15.961 13.4375 16.3248 13.723 16.6103C14.0085 16.8959 14.3723 17.0903 14.7684 17.1691C15.1644 17.2479 15.5749 17.2075 15.948 17.0529C16.321 16.8984 16.6399 16.6367 16.8643 16.301C17.0886 15.9652 17.2083 15.5705 17.2083 15.1667C17.2075 14.6255 16.9921 14.1067 16.6094 13.724C16.2267 13.3413 15.7079 13.1259 15.1667 13.125Z"
19
19
  fill="#121212"
20
20
  stroke="#121212"
21
- stroke-width="0.4"
21
+ strokeWidth="0.4"
22
22
  />
23
23
  <path
24
24
  d="M18.3326 18.9608C18.2505 18.9611 18.1691 18.9451 18.0933 18.9136C18.0175 18.8821 17.9486 18.8359 17.8909 18.7775L17.0576 17.9442C16.9402 17.827 16.8742 17.6681 16.874 17.5023C16.8739 17.3364 16.9396 17.1774 17.0567 17.06C17.1739 16.9426 17.3328 16.8766 17.4986 16.8765C17.6644 16.8763 17.8235 16.942 17.9409 17.0592L18.7742 17.8925C18.8905 18.0101 18.9556 18.1688 18.9556 18.3342C18.9556 18.4995 18.8905 18.6582 18.7742 18.7758C18.7166 18.8345 18.6479 18.8811 18.572 18.9128C18.4962 18.9446 18.4148 18.9609 18.3326 18.9608Z"
25
25
  fill="#121212"
26
26
  stroke="#121212"
27
- stroke-width="0.4"
27
+ strokeWidth="0.4"
28
28
  />
29
29
  <path
30
30
  d="M13.3337 6.45831H6.66699C6.50157 6.45722 6.34323 6.39102 6.22626 6.27405C6.10928 6.15707 6.04308 5.99874 6.04199 5.83331C6.04308 5.66789 6.10928 5.50955 6.22626 5.39258C6.34323 5.2756 6.50157 5.2094 6.66699 5.20831H13.3337C13.4991 5.2094 13.6574 5.2756 13.7744 5.39258C13.8914 5.50955 13.9576 5.66789 13.9587 5.83331C13.9576 5.99874 13.8914 6.15707 13.7744 6.27405C13.6574 6.39102 13.4991 6.45722 13.3337 6.45831Z"
31
31
  fill="#121212"
32
32
  stroke="#121212"
33
- stroke-width="0.4"
33
+ strokeWidth="0.4"
34
34
  />
35
35
  <path
36
36
  d="M12.5 9.79169H7.5C7.33458 9.7906 7.17624 9.7244 7.05926 9.60742C6.94229 9.49045 6.87609 9.33211 6.875 9.16669C6.87609 9.00126 6.94229 8.84293 7.05926 8.72595C7.17624 8.60898 7.33458 8.54278 7.5 8.54169H12.5C12.6654 8.54278 12.8238 8.60898 12.9407 8.72595C13.0577 8.84293 13.1239 9.00126 13.125 9.16669C13.1239 9.33211 13.0577 9.49045 12.9407 9.60742C12.8238 9.7244 12.6654 9.7906 12.5 9.79169Z"
37
37
  fill="#121212"
38
38
  stroke="#121212"
39
- stroke-width="0.4"
39
+ strokeWidth="0.4"
40
40
  />
41
41
  </g>
42
42
  <defs>
@@ -18,7 +18,7 @@ export const UnCheckedRadioIcon = ({ size = 16 }) => {
18
18
  data-name="Rectangle 23803"
19
19
  fill="#f8f8f8"
20
20
  stroke="rgba(18,18,18,0.1)"
21
- stroke-width="1"
21
+ strokeWidth="1"
22
22
  >
23
23
  <rect width="20" height="20" rx="10" stroke="none" />
24
24
  <rect x="0.5" y="0.5" width="19" height="19" rx="9.5" fill="none" />
@@ -15,7 +15,7 @@ export const ViewIcon = ({ size = 16 }) => {
15
15
  >
16
16
  <path
17
17
  d="M11.4861 8.49974V8.49968C11.4861 7.90903 11.3109 7.33164 10.9828 6.84053C10.6546 6.34942 10.1882 5.96664 9.64253 5.74061C9.09683 5.51458 8.49637 5.45543 7.91706 5.57067C7.33776 5.6859 6.80563 5.97032 6.38798 6.38798C5.97032 6.80563 5.6859 7.33776 5.57067 7.91706C5.45543 8.49637 5.51458 9.09684 5.74061 9.64253C5.96664 10.1882 6.34942 10.6546 6.84053 10.9828C7.33164 11.3109 7.90903 11.4861 8.49968 11.4861H8.49974C9.29163 11.4856 10.051 11.1709 10.6109 10.6109C11.1709 10.051 11.4856 9.29163 11.4861 8.49974ZM7.50738 7.01406C7.80105 6.81773 8.14634 6.71287 8.4996 6.71275C8.97329 6.71329 9.42743 6.90167 9.76243 7.23657C10.0974 7.57149 10.2859 8.02559 10.2866 8.49929C10.2866 8.85254 10.1818 9.19785 9.98559 9.49157C9.78932 9.78533 9.51035 10.0143 9.18396 10.1495C8.85757 10.2847 8.49841 10.3201 8.15189 10.2513C7.80538 10.1824 7.48707 10.0123 7.23722 9.7625C6.98737 9.51272 6.81719 9.19446 6.7482 8.84797C6.67922 8.50147 6.71452 8.1423 6.84965 7.81587C6.98478 7.48944 7.21367 7.21041 7.50738 7.01406Z"
18
- stroke-width="0.2"
18
+ strokeWidth="0.2"
19
19
  style={{
20
20
  fill: color,
21
21
  stroke: color,
@@ -27,7 +27,7 @@ export const ViewIcon = ({ size = 16 }) => {
27
27
  fill: color,
28
28
  stroke: color,
29
29
  }}
30
- stroke-width="0.2"
30
+ strokeWidth="0.2"
31
31
  />
32
32
  </svg>
33
33
  );
@@ -16,18 +16,18 @@ export const ViewsIcon = ({ size = 16 }: { size?: number }) => {
16
16
  stroke: color,
17
17
  }}
18
18
  >
19
- <g clip-path="url(#clip0_2213_7884)">
19
+ <g clipPath="url(#clip0_2213_7884)">
20
20
  <path
21
21
  d="M14 3.83301H2C1.86766 3.83213 1.74099 3.77918 1.64741 3.6856C1.55383 3.59202 1.50087 3.46535 1.5 3.33301C1.50087 3.20067 1.55383 3.074 1.64741 2.98042C1.74099 2.88684 1.86766 2.83388 2 2.83301H14C14.1323 2.83388 14.259 2.88684 14.3526 2.98042C14.4462 3.074 14.4991 3.20067 14.5 3.33301C14.4991 3.46535 14.4462 3.59202 14.3526 3.6856C14.259 3.77918 14.1323 3.83213 14 3.83301Z"
22
- stroke-width="0.4"
22
+ strokeWidth="0.4"
23
23
  />
24
24
  <path
25
25
  d="M14 8.5H2C1.86766 8.49913 1.74099 8.44617 1.64741 8.35259C1.55383 8.25901 1.50087 8.13234 1.5 8C1.50087 7.86766 1.55383 7.74099 1.64741 7.64741C1.74099 7.55383 1.86766 7.50087 2 7.5H14C14.1323 7.50087 14.259 7.55383 14.3526 7.64741C14.4462 7.74099 14.4991 7.86766 14.5 8C14.4991 8.13234 14.4462 8.25901 14.3526 8.35259C14.259 8.44617 14.1323 8.49913 14 8.5Z"
26
- stroke-width="0.4"
26
+ strokeWidth="0.4"
27
27
  />
28
28
  <path
29
29
  d="M14 13.167H2C1.86766 13.1661 1.74099 13.1132 1.64741 13.0196C1.55383 12.926 1.50087 12.7993 1.5 12.667C1.50087 12.5347 1.55383 12.408 1.64741 12.3144C1.74099 12.2208 1.86766 12.1679 2 12.167H14C14.1323 12.1679 14.259 12.2208 14.3526 12.3144C14.4462 12.408 14.4991 12.5347 14.5 12.667C14.4991 12.7993 14.4462 12.926 14.3526 13.0196C14.259 13.1132 14.1323 13.1661 14 13.167Z"
30
- stroke-width="0.4"
30
+ strokeWidth="0.4"
31
31
  />
32
32
  </g>
33
33
  </svg>
@@ -17,11 +17,11 @@ export const VisibilityIcon = ({ size = 16, color }: any) => {
17
17
  >
18
18
  <path
19
19
  d="M14.9999 20.4119C13.9295 20.4119 12.8831 20.0945 11.9931 19.4998C11.1031 18.9051 10.4095 18.0599 9.99986 17.071C9.59024 16.0821 9.48306 14.9939 9.69188 13.9441C9.90071 12.8942 10.4161 11.9299 11.173 11.173C11.9299 10.4161 12.8942 9.90071 13.9441 9.69188C14.9939 9.48306 16.0821 9.59024 17.071 9.99986C18.0599 10.4095 18.9051 11.1031 19.4998 11.9931C20.0945 12.8831 20.4119 13.9295 20.4119 14.9999C20.4111 16.435 19.8407 17.8111 18.8259 18.8259C17.8111 19.8407 16.435 20.4111 14.9999 20.4119ZM14.9999 11.4619C14.3004 11.4621 13.6166 11.6697 13.0351 12.0585C12.4536 12.4472 12.0004 12.9997 11.7328 13.646C11.4653 14.2924 11.3954 15.0035 11.532 15.6895C11.6686 16.3756 12.0055 17.0057 12.5002 17.5003C12.9949 17.9948 13.6251 18.3316 14.3112 18.468C14.9973 18.6044 15.7084 18.5343 16.3547 18.2666C17.0009 17.9988 17.5533 17.5455 17.9419 16.9638C18.3305 16.3822 18.5379 15.6984 18.5379 14.9989C18.5366 14.0611 18.1634 13.162 17.5001 12.499C16.8369 11.8359 15.9377 11.463 14.9999 11.4619Z"
20
- stroke-width="0.4"
20
+ strokeWidth="0.4"
21
21
  />
22
22
  <path
23
23
  d="M14.9992 26.2746C10.2992 26.2746 5.86216 23.5246 2.81216 18.7496C2.16087 17.6071 1.81836 16.3147 1.81836 14.9996C1.81836 13.6845 2.16087 12.3921 2.81216 11.2496C5.87416 6.47461 10.3122 3.72461 14.9992 3.72461C19.6862 3.72461 24.1242 6.47461 27.1742 11.2496C27.8255 12.3921 28.168 13.6845 28.168 14.9996C28.168 16.3147 27.8255 17.6071 27.1742 18.7496C24.1242 23.5246 19.6872 26.2746 14.9992 26.2746ZM14.9992 5.59961C10.9612 5.59961 7.09916 8.02461 4.39916 12.2616C3.93794 13.1003 3.6961 14.042 3.6961 14.9991C3.6961 15.9563 3.93794 16.8979 4.39916 17.7366C7.09916 21.9746 10.9612 24.3986 14.9992 24.3986C19.0372 24.3986 22.8992 21.9736 25.5992 17.7366C26.0604 16.8979 26.3022 15.9563 26.3022 14.9991C26.3022 14.042 26.0604 13.1003 25.5992 12.2616C22.8992 8.02461 19.0372 5.59961 14.9992 5.59961Z"
24
- stroke-width="0.4"
24
+ strokeWidth="0.4"
25
25
  />
26
26
  </svg>
27
27
  );
@@ -29,8 +29,8 @@ export const WarningFilledIcon = ({
29
29
  </mask>
30
30
  <g mask="url(#mask0_194_1734)">
31
31
  <path
32
- fill-rule="evenodd"
33
- clip-rule="evenodd"
32
+ fillRule="evenodd"
33
+ clipRule="evenodd"
34
34
  d="M8.67604 2.57149L0.492704 16.7448C0.344646 17.0009 0.266662 17.2914 0.266602 17.5871C0.266542 17.8829 0.344408 18.1735 0.492362 18.4296C0.640315 18.6857 0.853133 18.8983 1.10938 19.0459C1.36564 19.1936 1.65628 19.2712 1.95204 19.2708H18.3167C18.6123 19.2709 18.9026 19.1931 19.1586 19.0454C19.4146 18.8976 19.6271 18.6851 19.7749 18.4292C19.9227 18.1732 20.0005 17.8828 20.0004 17.5873C20.0004 17.2917 19.9225 17.0014 19.7747 16.7455L11.592 2.57149C11.4443 2.3155 11.2318 2.10292 10.9759 1.95511C10.7199 1.80731 10.4296 1.72949 10.134 1.72949C9.83849 1.72949 9.54814 1.80731 9.29221 1.95511C9.03627 2.10292 8.82376 2.3155 8.67604 2.57149ZM11.1914 7.10489C11.1914 6.52021 10.7175 6.04622 10.133 6.04622C9.54854 6.04622 9.07471 6.52021 9.07471 7.10489V11.4396C9.07471 12.0242 9.54854 12.4982 10.133 12.4982C10.7175 12.4982 11.1914 12.0242 11.1914 11.4396V7.10489ZM11.192 15.0476C11.192 15.6323 10.7181 16.1063 10.1334 16.1063C9.54869 16.1063 9.07471 15.6323 9.07471 15.0476C9.07471 14.4629 9.54869 13.9889 10.1334 13.9889C10.7181 13.9889 11.192 14.4629 11.192 15.0476Z"
35
35
  fill={backgroundColor ?? color}
36
36
  />
@@ -74,6 +74,7 @@ import { NavigationIcon } from './IconComponents/NavigationIcon';
74
74
  import { NoteIcon } from './IconComponents/NoteIcon';
75
75
  import { NoticeBoardIcon } from './IconComponents/NoticeBoardIcon';
76
76
  import { NotificationIcon } from './IconComponents/NotificationIcon';
77
+ import { ObeIcon } from './IconComponents/ObeIcon';
77
78
  import { OnlineTransactionIcon } from './IconComponents/OnlineTransactions';
78
79
  import { OpenPaymentsIcon } from './IconComponents/OpenPaymentsIcon';
79
80
  import { PayxIcon } from './IconComponents/PayxIcon';
@@ -234,4 +235,5 @@ export const Icons = {
234
235
  OnlineTransactionIcon,
235
236
  OpenPaymentsIcon,
236
237
  TransactionCardIcon,
238
+ ObeIcon,
237
239
  };
@@ -234,7 +234,7 @@ const CustomTooltip = ({ active, payload }: any) => {
234
234
  color: theme.palette.text.primary,
235
235
  }}
236
236
  >
237
- {'\xa0\xa0' + `${p.value}`}
237
+ {`\xa0\xa0${p.value}`}
238
238
  </span>
239
239
  </Typography>
240
240
  ))}
@@ -120,7 +120,6 @@ const CustomizedContent = (props: any) => {
120
120
  };
121
121
 
122
122
  const CustomTooltip = ({ active, payload }: any) => {
123
- const theme = useTheme();
124
123
  if (active && payload && payload.length) {
125
124
  return (
126
125
  <StyledContainer>
@@ -83,77 +83,86 @@ export const Card = ({
83
83
  };
84
84
 
85
85
  return (
86
- <MuiCard sx={cardSx}>
87
- {children}
88
- {imageSrc && <StyledImage src={imageSrc} alt="Card image" />}
89
- <StyledHeader sx={headerSx}>
90
- <Stack gap={'8px'} flexDirection={'row'} alignItems={'center'}>
91
- {/* check box onclick functionality need to add */}
92
- {/* {checkBox && (
86
+ <MuiCard
87
+ sx={{
88
+ display: 'flex',
89
+ flexDirection: 'column',
90
+ justifyContent: 'space-between',
91
+ ...cardSx,
92
+ }}
93
+ >
94
+ <Stack>
95
+ {children}
96
+ {imageSrc && <StyledImage src={imageSrc} alt="Card image" />}
97
+ <StyledHeader sx={headerSx}>
98
+ <Stack gap={'8px'} flexDirection={'row'} alignItems={'center'}>
99
+ {/* check box onclick functionality need to add */}
100
+ {/* {checkBox && (
93
101
  <StyledStack>
94
102
  <Checkbox />
95
103
  </StyledStack>
96
104
  )} */}
97
105
 
98
- {titleImgIcon && titleImgIcon}
106
+ {titleImgIcon && titleImgIcon}
99
107
 
100
- <Stack justifyContent={'center'}>
101
- <Typography variant={titleProps.variant} sx={titleProps.sx}>
102
- {title}
103
- </Typography>
104
- <Typography variant={captionProps.variant} sx={captionProps.sx}>
105
- {caption}
106
- </Typography>
108
+ <Stack justifyContent={'center'}>
109
+ <Typography variant={titleProps.variant} sx={titleProps.sx}>
110
+ {title}
111
+ </Typography>
112
+ <Typography variant={captionProps.variant} sx={captionProps.sx}>
113
+ {caption}
114
+ </Typography>
115
+ </Stack>
107
116
  </Stack>
108
- </Stack>
109
- <Stack flexDirection={'row'} gap={'12px'} alignItems={'center'}>
110
- {status && (
111
- <StyledStatusText variant="label2" sx={statusSx}>
112
- {status}{' '}
113
- </StyledStatusText>
114
- )}
115
- {moreOptions && (
116
- <>
117
- <DropdownMenu
118
- anchor={({ open }) => (
119
- <DropDownIcon
120
- handleClick={open}
121
- icon={{
122
- icon: (
123
- <StyledIcon>{icon ? icon : <MoreHoriz />}</StyledIcon>
124
- ),
125
- iconProps: { color: 'secondary' },
126
- outlined: false,
127
- }}
128
- />
129
- )}
130
- menu={menu}
131
- />
132
- </>
133
- )}
134
- </Stack>
135
- </StyledHeader>
136
- {fields && (
137
- <CardContent>
138
- <Stack
139
- sx={{
140
- display: 'grid',
141
- gridTemplateColumns: '1fr 1fr',
142
- gap: '20px',
143
- }}
144
- >
145
- {fields.map((field, index) => (
146
- <Stack key={index} flexDirection="row" gap="14px">
147
- {index % 2 === 1 && <StyledDivider flexItem />}
148
- <Stack gap="4px">
149
- <Typography variant="caption">{field.title}</Typography>
150
- <Typography variant="body2">{field.value}</Typography>
151
- </Stack>
152
- </Stack>
153
- ))}
117
+ <Stack flexDirection={'row'} gap={'12px'} alignItems={'center'}>
118
+ {status && (
119
+ <StyledStatusText variant="label2" sx={statusSx}>
120
+ {status}{' '}
121
+ </StyledStatusText>
122
+ )}
123
+ {moreOptions && (
124
+ <>
125
+ <DropdownMenu
126
+ anchor={({ open }) => (
127
+ <DropDownIcon
128
+ handleClick={open}
129
+ icon={{
130
+ icon: (
131
+ <StyledIcon>{icon ? icon : <MoreHoriz />}</StyledIcon>
132
+ ),
133
+ iconProps: { color: 'secondary' },
134
+ outlined: false,
135
+ }}
136
+ />
137
+ )}
138
+ menu={menu}
139
+ />
140
+ </>
141
+ )}
154
142
  </Stack>
155
- </CardContent>
156
- )}
143
+ </StyledHeader>
144
+ {fields && (
145
+ <CardContent>
146
+ <Stack
147
+ sx={{
148
+ display: 'grid',
149
+ gridTemplateColumns: '1fr 1fr',
150
+ gap: '20px',
151
+ }}
152
+ >
153
+ {fields.map((field, index) => (
154
+ <Stack key={index} flexDirection="row" gap="14px">
155
+ {index % 2 === 1 && <StyledDivider flexItem />}
156
+ <Stack gap="4px">
157
+ <Typography variant="caption">{field.title}</Typography>
158
+ <Typography variant="body2">{field.value}</Typography>
159
+ </Stack>
160
+ </Stack>
161
+ ))}
162
+ </Stack>
163
+ </CardContent>
164
+ )}
165
+ </Stack>
157
166
 
158
167
  {footer && (
159
168
  <StyledCardActions>
@@ -50,8 +50,8 @@ export const Timeline = (props: TimelineProps) => {
50
50
  {...props}
51
51
  sx={
52
52
  hasOppositeContent ||
53
- props.position == 'alternate' ||
54
- props.position == 'alternate-reverse'
53
+ props.position === 'alternate' ||
54
+ props.position === 'alternate-reverse'
55
55
  ? { ...props.sx }
56
56
  : {
57
57
  [`& .${timelineItemClasses.root}:before`]: {
@@ -6,27 +6,39 @@
6
6
  animation: rotate 1s linear infinite;
7
7
  scale: 0.4;
8
8
  }
9
- .spinner::before , .spinner::after {
10
- content: "";
9
+ .spinner::before,
10
+ .spinner::after {
11
+ content: '';
11
12
  box-sizing: border-box;
12
13
  position: absolute;
13
14
  inset: 0px;
14
15
  border-radius: 50%;
15
- border: 5px solid #7D60D9;
16
- animation: prixClipFix 1.5s linear infinite ;
16
+ border: 5px solid #7d60d9;
17
+ animation: prixClipFix 1.5s linear infinite;
17
18
  }
18
- .spinner::after{
19
- transform: rotate3d(90, 90, 0, 180deg );
20
- border-color: #FF3D00;
19
+ .spinner::after {
20
+ transform: rotate3d(90, 90, 0, 180deg);
21
+ border-color: #ff3d00;
21
22
  }
22
23
 
23
24
  @keyframes rotate {
24
- 0% {transform: rotate(0deg)}
25
- 100% {transform: rotate(360deg)}
25
+ 0% {
26
+ transform: rotate(0deg);
27
+ }
28
+ 100% {
29
+ transform: rotate(360deg);
30
+ }
26
31
  }
27
32
 
28
33
  @keyframes prixClipFix {
29
- 0% {clip-path:polygon(50% 50%,0 0,0 0,0 0,0 0,0 0)}
30
- 50% {clip-path:polygon(50% 50%,0 0,100% 0,100% 0,100% 0,100% 0)}
31
- 75%, 100% {clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,100% 100%,100% 100%)}
32
- }
34
+ 0% {
35
+ clippath: polygon(50% 50%, 0 0, 0 0, 0 0, 0 0, 0 0);
36
+ }
37
+ 50% {
38
+ clippath: polygon(50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0);
39
+ }
40
+ 75%,
41
+ 100% {
42
+ clippath: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 100% 100%, 100% 100%);
43
+ }
44
+ }
@@ -1,12 +1,10 @@
1
- import { ButtonProps, Stack, StackProps, useTheme } from '@mui/material';
2
- import { Button } from '../export';
1
+ import { Stack, StackProps, useTheme } from '@mui/material';
2
+ import { Button, ButtonProps } from '../export';
3
3
 
4
- export interface ButtonConfig {
4
+ export interface ButtonConfig extends ButtonProps {
5
5
  title: string;
6
- onClick?: () => void;
7
6
  show?: boolean;
8
- variant?: ButtonProps['variant'];
9
- loading?: boolean;
7
+ onClick?: () => void;
10
8
  }
11
9
 
12
10
  export interface FormActionsProps {
@@ -34,6 +32,7 @@ function FormActions({
34
32
  title: 'Cancel',
35
33
  show: true,
36
34
  variant: 'text',
35
+ disableRipple: true,
37
36
  ...cancelButtonProps,
38
37
  };
39
38
 
@@ -1,4 +1,4 @@
1
- import { Stack } from '@mui/material';
1
+ import { Stack, SxProps } from '@mui/material';
2
2
  import { TextFieldProps } from '@mui/material/TextField';
3
3
  import React, { ReactElement, ReactNode, isValidElement } from 'react';
4
4
  import { Control, Controller, FieldValues, Path } from 'react-hook-form';
@@ -7,6 +7,7 @@ import FormActions, { FormActionsProps } from '../FormActions/FormActions';
7
7
  interface FormControlWrapperProps<T extends FieldValues = FieldValues> {
8
8
  control: Control<T>;
9
9
  children: ReactNode;
10
+ containerSx?: SxProps;
10
11
  formActionProps?: FormActionsProps;
11
12
  }
12
13
 
@@ -26,6 +27,7 @@ type ControlledElementProps<T extends FieldValues = FieldValues> = {
26
27
  export function FormControlWrapper<T extends FieldValues = FieldValues>({
27
28
  control,
28
29
  children,
30
+ containerSx,
29
31
  formActionProps,
30
32
  }: FormControlWrapperProps<T>) {
31
33
  const wrapWithController = (
@@ -78,7 +80,7 @@ export function FormControlWrapper<T extends FieldValues = FieldValues>({
78
80
 
79
81
  return (
80
82
  <>
81
- <Stack sx={{ m: '8px' }}>
83
+ <Stack sx={{ m: '16px', gap: '12px', ...containerSx }}>
82
84
  {React.Children.map(children as any, wrapWithController) || null}
83
85
  </Stack>
84
86
  {formActionProps && <FormActions {...formActionProps} showTopBorder />}
@@ -0,0 +1,12 @@
1
+ import { Stack, SxProps } from '@mui/material';
2
+ import { ReactNode } from 'react';
3
+
4
+ type FormWrapperProps = {
5
+ children: ReactNode;
6
+ containerSx?: SxProps;
7
+ };
8
+ export const FormWrapper = ({ children, containerSx }: FormWrapperProps) => {
9
+ return (
10
+ <Stack sx={{ m: '16px', gap: '12px', ...containerSx }}>{children}</Stack>
11
+ );
12
+ };
@@ -16,7 +16,7 @@ export const LabelWrapper = ({
16
16
  }) => {
17
17
  const theme = useTheme();
18
18
  return (
19
- <Stack margin={' 8px 12px'} {...containerProps}>
19
+ <Stack {...containerProps}>
20
20
  {typeof label === 'string' ? (
21
21
  <Typography htmlFor={name} component="label" variant="label1">
22
22
  {label}
@@ -2,6 +2,7 @@ export * from './Button/Button';
2
2
  export * from './DatePicker/DatePicker';
3
3
  export * from './FormActions/FormActions';
4
4
  export * from './FormControlWrapper/FormControlWrapper';
5
+ export * from './FormWrapper/FormWrapper';
5
6
  export * from './IconButtons/IconButtons';
6
7
  export * from './MultiCheckBox/MultiCheckBox';
7
8
  export * from './PasswordField/PasswordField';
@@ -45,6 +45,7 @@ const StyledNavLink = styled(NavLink)(({ theme }) => ({
45
45
  textAlign: 'center',
46
46
  textDecoration: 'none',
47
47
  fontWeight: 400,
48
+ fontFamily: 'Poppins',
48
49
  color: theme.palette.text.secondary,
49
50
  borderTopRightRadius: '12px',
50
51
  borderTopLeftRadius: '12px',
@@ -11,7 +11,7 @@ export const StyledIconButton = styled(IconButton, {
11
11
  }),
12
12
  }));
13
13
 
14
- export const StyledMenuItem = styled(MenuItem)(({}) => ({
14
+ export const StyledMenuItem = styled(MenuItem)(() => ({
15
15
  display: 'flex',
16
16
  alignItems: 'center',
17
17
  gap: '5px',
@@ -2,9 +2,9 @@ import { Box, styled, Tab, TabProps, Tabs, TabsProps } from '@mui/material';
2
2
  import { ChangeEvent, useEffect, useState } from 'react';
3
3
 
4
4
  interface CustomTabProps extends Omit<TabProps, 'component'> {
5
+ key: string | number;
5
6
  component: React.ReactNode;
6
7
  highlight?: boolean;
7
- key: string | number;
8
8
  }
9
9
 
10
10
  export interface TabsContainerProps {
@@ -16,7 +16,7 @@ export interface TabsContainerProps {
16
16
 
17
17
  const TabContent = styled(Box)(({ theme }) => ({
18
18
  width: '100%',
19
- height: 'calc(100vh - 200px)',
19
+ minHeight: 'calc(100vh - 148px)',
20
20
  backgroundColor: theme.palette.surface.paperBackground,
21
21
  }));
22
22
 
@@ -32,6 +32,7 @@ export const TabsContainer = ({
32
32
  setCurrentTab(value);
33
33
  onTabChange && onTabChange(value);
34
34
  };
35
+
35
36
  useEffect(() => {
36
37
  setCurrentTab(tabs[currentTabIndex]?.key);
37
38
  }, []);
@@ -48,11 +49,12 @@ export const TabsContainer = ({
48
49
  }}
49
50
  {...tabsProps}
50
51
  >
51
- {tabs.map(({ component, ...tab }) => (
52
+ {tabs.map(({ key, component, ...tab }, index) => (
52
53
  <Tab
53
- label={tab.label}
54
- value={tab?.key}
55
- icon={tab.highlight ? <span>{'.'}</span> : <></>}
54
+ key={index}
55
+ value={key}
56
+ label={tab?.label}
57
+ icon={tab?.highlight ? <span>{'.'}</span> : <></>}
56
58
  iconPosition="end"
57
59
  {...tab}
58
60
  />
@@ -5,27 +5,26 @@ interface StyledBoxProps {
5
5
  dragging: boolean;
6
6
  }
7
7
 
8
- export const UploadDialogBox = styled(Box)<StyledBoxProps>(({
9
- theme,
10
- dragging,
11
- }) => {
12
- const strokeColor = dragging
13
- ? encodeURIComponent(theme.palette.primary.dark)
14
- : encodeURIComponent(theme.palette.primary.main);
8
+ export const UploadDialogBox = styled(Box)<StyledBoxProps>(
9
+ ({ theme, dragging }) => {
10
+ const strokeColor = dragging
11
+ ? encodeURIComponent(theme.palette.primary.dark)
12
+ : encodeURIComponent(theme.palette.primary.main);
15
13
 
16
- return {
17
- display: 'flex',
18
- flexDirection: 'column',
19
- width: '100%',
20
- height: '250px',
21
- borderRadius: '7px',
22
- backgroundImage: `url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='7' ry='7' stroke='${strokeColor}' stroke-width='3' stroke-dasharray='4%2c 8' stroke-dashoffset='8' stroke-linecap='round'/%3e%3c/svg%3e")`,
23
- backgroundColor: theme.palette.surface.defaultBackground,
24
- justifyContent: 'center',
25
- alignItems: 'center',
26
- transition: 'background-color 0.3s, border-color 0.3s',
27
- };
28
- });
14
+ return {
15
+ display: 'flex',
16
+ flexDirection: 'column',
17
+ width: '100%',
18
+ height: '250px',
19
+ borderRadius: '7px',
20
+ backgroundImage: `url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='7' ry='7' stroke='${strokeColor}' stroke-width='3' stroke-dasharray='4%2c 8' stroke-dashoffset='8' strokeLinecap='round'/%3e%3c/svg%3e")`,
21
+ backgroundColor: theme.palette.surface.defaultBackground,
22
+ justifyContent: 'center',
23
+ alignItems: 'center',
24
+ transition: 'background-color 0.3s, border-color 0.3s',
25
+ };
26
+ },
27
+ );
29
28
 
30
29
  export const ImageContainer = React.memo(
31
30
  styled('img')<{ size?: number }>(({ size }) => ({
@@ -9,6 +9,7 @@ const IconsStory = () => {
9
9
  <Stack gap={2} direction={'column'}>
10
10
  {Object.entries(Icons).map(([key, Icon], index) => (
11
11
  <Stack
12
+ key={index}
12
13
  direction="row"
13
14
  alignItems="center"
14
15
  gap={4}
@@ -1,7 +1,6 @@
1
+ import { Stack } from '@mui/material';
1
2
  import { Meta } from '@storybook/react';
2
3
  import { Card, CardProps } from '../../components/DataDisplay/Card/Card';
3
- import { Stack } from '@mui/material';
4
- import { GridMenuIcon } from '@mui/x-data-grid';
5
4
 
6
5
  export default {
7
6
  title: 'DataDisplay/Card',
@@ -15,14 +15,14 @@ export default {
15
15
  } as Meta<typeof CircularAvatar>;
16
16
 
17
17
  // Define stories directly as objects with render function
18
- export const withText = {
18
+ export const WithText = {
19
19
  render: (args: CircularAvatarProps) => <CircularAvatar {...args} />,
20
20
  args: {
21
21
  text: 'Sh auy',
22
22
  },
23
23
  };
24
24
 
25
- export const withImage = {
25
+ export const WithImage = {
26
26
  render: (args: CircularAvatarProps) => <CircularAvatar {...args} />,
27
27
  args: {
28
28
  src: 'https://images.unsplash.com/photo-1534528741775-53994a69daeb?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwyNzM3ODF8MHwxfGFsbHwxfHx8fHx8fHwxNjM4MjM2MDg0&ixlib=rb-1.2.1&q=80&w=400',
@@ -10,7 +10,7 @@ export default {
10
10
  component: SidePanel,
11
11
  } as Meta<typeof SidePanel>;
12
12
 
13
- export const withText = {
13
+ export const WithText = {
14
14
  render: (args: SidePanelProps) => <SidePanel {...args} />,
15
15
  args: {
16
16
  variables: [