@instincthub/react-ui 0.0.5 → 0.0.6

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 (122) hide show
  1. package/README.md +4 -3
  2. package/dist/src/assets/css/bootstrap/display.css +21 -0
  3. package/dist/src/assets/css/bootstrap/readme/display.md +20 -0
  4. package/dist/src/assets/css/forms/input-fields.css +3 -2
  5. package/dist/src/assets/css/main.css +3 -3
  6. package/dist/src/assets/css/modals/modal-updates.css +6 -3
  7. package/dist/src/assets/css/modals/modal.css +1 -1
  8. package/dist/src/assets/css/navbar/sidenav.css +8 -0
  9. package/dist/src/assets/css/ui/content-viewer.css +1 -0
  10. package/dist/src/assets/css/ui/create-button.css +140 -0
  11. package/dist/src/assets/css/ui/pagination.css +359 -0
  12. package/dist/src/assets/css/ui/ui-index.css +2 -0
  13. package/dist/src/components/auth/LoginForm.js +1 -1
  14. package/dist/src/components/auth/ReactClientProviders.js +1 -1
  15. package/dist/src/components/forms/CheckBoxes.js +2 -0
  16. package/dist/src/components/forms/CheckBoxes.js.map +1 -0
  17. package/dist/src/components/forms/ChipsInput.js +1 -1
  18. package/dist/src/components/forms/FileField.js +2 -0
  19. package/dist/src/components/forms/FileField.js.map +1 -0
  20. package/dist/src/components/forms/FilterArray.js +1 -1
  21. package/dist/src/components/forms/FilterObjects.js +1 -1
  22. package/dist/src/components/forms/SearchField.js +1 -1
  23. package/dist/src/components/forms/SearchObjectsFromDB.js +1 -1
  24. package/dist/src/components/forms/TextArea.js +1 -1
  25. package/dist/src/components/forms/TextArea.js.map +1 -1
  26. package/dist/src/components/lib/auth/actions.js +1 -1
  27. package/dist/src/components/lib/auth/dbRequestst.js +1 -1
  28. package/dist/src/components/lib/auth/dbRequestst.js.map +1 -1
  29. package/dist/src/components/lib/convertArrayToObject.js +2 -0
  30. package/dist/src/components/lib/convertArrayToObject.js.map +1 -0
  31. package/dist/src/components/lib/createSubscription.js +2 -0
  32. package/dist/src/components/lib/createSubscription.js.map +1 -0
  33. package/dist/src/components/lib/elementIsVisibleInViewport.js +2 -0
  34. package/dist/src/components/lib/elementIsVisibleInViewport.js.map +1 -0
  35. package/dist/src/components/lib/fileToBase64.js +2 -0
  36. package/dist/src/components/lib/fileToBase64.js.map +1 -0
  37. package/dist/src/components/lib/formError.js +2 -0
  38. package/dist/src/components/lib/formError.js.map +1 -0
  39. package/dist/src/components/lib/getPriceObjects.js +2 -0
  40. package/dist/src/components/lib/getPriceObjects.js.map +1 -0
  41. package/dist/src/components/lib/helpFunction.js +1 -1
  42. package/dist/src/components/lib/helpFunction.js.map +1 -1
  43. package/dist/src/components/lib/index.js +1 -1
  44. package/dist/src/components/lib/index.js.map +1 -1
  45. package/dist/src/components/lib/modals/modals.js +1 -1
  46. package/dist/src/components/lib/modals/modals.js.map +1 -1
  47. package/dist/src/components/lib/paystack.js.map +1 -1
  48. package/dist/src/components/lib/permissions.js +1 -1
  49. package/dist/src/components/lib/permissions.js.map +1 -1
  50. package/dist/src/components/lib/redux/index.js +1 -1
  51. package/dist/src/components/lib/redux/rootReducer.js +1 -1
  52. package/dist/src/components/lib/redux/rootReducer.js.map +1 -1
  53. package/dist/src/components/lib/redux/slices/authSlice/selectors.js +2 -0
  54. package/dist/src/components/lib/redux/slices/authSlice/selectors.js.map +1 -0
  55. package/dist/src/components/lib/redux/slices/generics/arraySlice.js +2 -0
  56. package/dist/src/components/lib/redux/slices/generics/arraySlice.js.map +1 -0
  57. package/dist/src/components/lib/redux/slices/generics/objectSlice.js +2 -0
  58. package/dist/src/components/lib/redux/slices/generics/objectSlice.js.map +1 -0
  59. package/dist/src/components/lib/redux/slices/generics/selectors.js +2 -0
  60. package/dist/src/components/lib/redux/slices/generics/selectors.js.map +1 -0
  61. package/dist/src/components/navbar/ChannelListAvatar.js +1 -1
  62. package/dist/src/components/navbar/SideNavbar.js +1 -1
  63. package/dist/src/components/status/DeleteConfirmationModal.js +1 -1
  64. package/dist/src/components/status/ModalExamples.js +1 -1
  65. package/dist/src/components/status/MultiPurposeModal.js +1 -1
  66. package/dist/src/components/status/ReactTimeTracker.js +1 -1
  67. package/dist/src/components/ui/ComponentLists.js +2 -0
  68. package/dist/src/components/ui/ComponentLists.js.map +1 -0
  69. package/dist/src/components/ui/create-button/CreateButton.js +2 -0
  70. package/dist/src/components/ui/create-button/CreateButton.js.map +1 -0
  71. package/dist/src/components/ui/create-button/CreateButtonExample.js +2 -0
  72. package/dist/src/components/ui/create-button/CreateButtonExample.js.map +1 -0
  73. package/dist/src/components/ui/editor/CustomTextEditor.js +1 -1
  74. package/dist/src/components/ui/pagination/Pagination.js +2 -0
  75. package/dist/src/components/ui/pagination/Pagination.js.map +1 -0
  76. package/dist/src/components/ui/pagination/PaginationDemo.js +2 -0
  77. package/dist/src/components/ui/pagination/PaginationDemo.js.map +1 -0
  78. package/dist/src/components/ui/tables/IHubTableServer.js +1 -1
  79. package/dist/src/index.js +1 -1
  80. package/dist/src/types/components/auth/LoginForm.d.ts +3 -1
  81. package/dist/src/types/components/auth/index.d.ts +5 -0
  82. package/dist/src/types/components/forms/CheckBoxes.d.ts +33 -6
  83. package/dist/src/types/components/forms/CheckboxesField.d.ts +24 -1
  84. package/dist/src/types/components/forms/FileField.d.ts +8 -4
  85. package/dist/src/types/components/forms/FilterArray.d.ts +12 -2
  86. package/dist/src/types/components/forms/FilterObjects.d.ts +11 -3
  87. package/dist/src/types/components/forms/SearchField.d.ts +16 -0
  88. package/dist/src/types/components/forms/TextArea.d.ts +12 -0
  89. package/dist/src/types/components/forms/index.d.ts +49 -0
  90. package/dist/src/types/components/lib/auth/dbRequestst.d.ts +2 -0
  91. package/dist/src/types/components/lib/convertArrayToObject.d.ts +30 -0
  92. package/dist/src/types/components/lib/helpFunction.d.ts +4 -0
  93. package/dist/src/types/components/lib/index.d.ts +6 -6
  94. package/dist/src/types/components/lib/modals/modals.d.ts +2 -1
  95. package/dist/src/types/components/lib/permissions.d.ts +12 -1
  96. package/dist/src/types/components/lib/redux/rootReducer.d.ts +2 -0
  97. package/dist/src/types/components/lib/redux/slices/generics/arraySlice.d.ts +20 -0
  98. package/dist/src/types/components/lib/redux/slices/generics/index.d.ts +2 -0
  99. package/dist/src/types/components/lib/redux/slices/generics/objectSlice.d.ts +12 -0
  100. package/dist/src/types/components/lib/redux/slices/generics/selectors.d.ts +3 -0
  101. package/dist/src/types/components/lib/redux/slices/index.d.ts +2 -0
  102. package/dist/src/types/components/lib/redux/slices/selectors.d.ts +5 -0
  103. package/dist/src/types/components/lib/redux/store.d.ts +6 -0
  104. package/dist/src/types/components/navbar/index.d.ts +5 -0
  105. package/dist/src/types/components/status/MultiPurposeModal.d.ts +27 -10
  106. package/dist/src/types/components/status/index.d.ts +11 -0
  107. package/dist/src/types/components/tabs/index.d.ts +3 -0
  108. package/dist/src/types/components/theme/index.d.ts +6 -0
  109. package/dist/src/types/components/ui/create-button/CreateButton.d.ts +54 -0
  110. package/dist/src/types/components/ui/create-button/CreateButtonExample.d.ts +3 -0
  111. package/dist/src/types/components/ui/editor/CustomTextEditor.d.ts +7 -3
  112. package/dist/src/types/components/ui/index.d.ts +16 -0
  113. package/dist/src/types/components/ui/pagination/Pagination.d.ts +8 -0
  114. package/dist/src/types/components/ui/pagination/PaginationDemo.d.ts +3 -0
  115. package/dist/src/types/index.d.ts +9 -3
  116. package/dist/src/types/types/index.d.ts +37 -5
  117. package/dist/src/types/types/navbar.d.ts +1 -0
  118. package/dist/tsconfig.tsbuildinfo +1 -1
  119. package/package.json +10 -2
  120. package/dist/src/components/ComponentLists.js +0 -2
  121. package/dist/src/components/ComponentLists.js.map +0 -1
  122. /package/dist/src/types/components/{ComponentLists.d.ts → ui/ComponentLists.d.ts} +0 -0
package/README.md CHANGED
@@ -16,19 +16,20 @@ To use the `@instincthub/react-ui` package, another project needs to install the
16
16
  `@instincthub/react-ui` has several peer dependencies that need to be installed separately:
17
17
 
18
18
  ```sh
19
- npm install @aws-sdk/client-s3@^3.777.0 @aws-sdk/lib-storage@^3.777.0 @emotion/react@^11.14.0 @emotion/styled@^11.14.0 @mui/icons-material@^7.0.0 @mui/material@^7.0.0 @reduxjs/toolkit@^2.6.1 @types/redux-logger@^3.0.13 jspdf@^3.0.1 next@^15.2.1 next-auth@^5.0.0-beta.25 primereact@^10.9.3 react@^19.0.0 react-dom@^19.0.0 react-redux@^9.2.0 redux-logger@^3.0.6 react-syntax-highlighter@^15.6.1 styled-components@^6.1.16
19
+ npm install @aws-sdk/client-s3@^3.777.0 @aws-sdk/lib-storage@^3.777.0 @emotion/react@^11.14.0 @emotion/styled@^11.14.0 @mui/icons-material@^7.0.0 @mui/material@^7.0.0 @reduxjs/toolkit@^2.6.1 @types/redux-logger@^3.0.13 jspdf@^3.0.1 next@^15.2.1 next-auth@^5.0.0-beta.25 primereact@^10.9.3 react@^19.0.0 react-dom@^19.0.0 react-redux@^9.2.0 redux-logger@^3.0.6 react-syntax-highlighter@^15.6.1 styled-components@^6.1.16 recharts@^2.15.3
20
+
20
21
  ```
21
22
 
22
23
  Or using yarn:
23
24
 
24
25
  ```sh
25
- yarn add @aws-sdk/client-s3@^3.777.0 @aws-sdk/lib-storage@^3.777.0 @emotion/react@^11.14.0 @emotion/styled@^11.14.0 @mui/icons-material@^7.0.0 @mui/material@^7.0.0 @reduxjs/toolkit@^2.6.1 @types/redux-logger@^3.0.13 jspdf@^3.0.1 next@^15.2.1 next-auth@^5.0.0-beta.25 primereact@^10.9.3 react@^19.0.0 react-dom@^19.0.0 react-redux@^9.2.0 redux-logger@^3.0.6 react-syntax-highlighter@^15.6.1 styled-components@^6.1.16
26
+ yarn add @aws-sdk/client-s3@^3.777.0 @aws-sdk/lib-storage@^3.777.0 @emotion/react@^11.14.0 @emotion/styled@^11.14.0 @mui/icons-material@^7.0.0 @mui/material@^7.0.0 @reduxjs/toolkit@^2.6.1 @types/redux-logger@^3.0.13 jspdf@^3.0.1 next@^15.2.1 next-auth@^5.0.0-beta.25 primereact@^10.9.3 react@^19.0.0 react-dom@^19.0.0 react-redux@^9.2.0 redux-logger@^3.0.6 react-syntax-highlighter@^15.6.1 styled-components@^6.1.16 recharts@^2.15.3
26
27
  ```
27
28
 
28
29
  Or using pnmpm:
29
30
 
30
31
  ```sh
31
- pnpm add @aws-sdk/client-s3@^3.777.0 @aws-sdk/lib-storage@^3.777.0 @emotion/react@^11.14.0 @emotion/styled@^11.14.0 @mui/icons-material@^7.0.0 @mui/material@^7.0.0 @reduxjs/toolkit@^2.6.1 @types/redux-logger@^3.0.13 jspdf@^3.0.1 next@^15.2.1 next-auth@^5.0.0-beta.25 primereact@^10.9.3 react@^19.0.0 react-dom@^19.0.0 react-redux@^9.2.0 redux-logger@^3.0.6 react-syntax-highlighter@^15.6.1 styled-components@^6.1.16
32
+ pnpm add @aws-sdk/client-s3@^3.777.0 @aws-sdk/lib-storage@^3.777.0 @emotion/react@^11.14.0 @emotion/styled@^11.14.0 @mui/icons-material@^7.0.0 @mui/material@^7.0.0 @reduxjs/toolkit@^2.6.1 @types/redux-logger@^3.0.13 jspdf@^3.0.1 next@^15.2.1 next-auth@^5.0.0-beta.25 primereact@^10.9.3 react@^19.0.0 react-dom@^19.0.0 react-redux@^9.2.0 redux-logger@^3.0.6 react-syntax-highlighter@^15.6.1 styled-components@^6.1.16 recharts@^2.15.3
32
33
  ```
33
34
 
34
35
  ### Step 2: Install the Package
@@ -310,3 +310,24 @@
310
310
  display: flex;
311
311
  justify-content: space-between;
312
312
  }
313
+ .ihub-flex-around {
314
+ display: flex;
315
+ justify-content: space-around;
316
+ }
317
+ .ihub-flex-evenly {
318
+ display: flex;
319
+ justify-content: space-evenly;
320
+ }
321
+ .ihub-flex-center {
322
+ display: flex;
323
+ justify-content: center;
324
+ }
325
+ .ihub-flex-start {
326
+ display: flex;
327
+ justify-content: flex-start;
328
+ }
329
+ .ihub-flex-end {
330
+ display: flex;
331
+ justify-content: flex-end;
332
+ }
333
+
@@ -171,6 +171,26 @@ Special display helpers that match existing patterns in InstinctHub's designs:
171
171
  display: flex;
172
172
  justify-content: space-between;
173
173
  }
174
+ .ihub-flex-around {
175
+ display: flex;
176
+ justify-content: space-around;
177
+ }
178
+ .ihub-flex-evenly {
179
+ display: flex;
180
+ justify-content: space-evenly;
181
+ }
182
+ .ihub-flex-center {
183
+ display: flex;
184
+ justify-content: center;
185
+ }
186
+ .ihub-flex-start {
187
+ display: flex;
188
+ justify-content: flex-start;
189
+ }
190
+ .ihub-flex-end {
191
+ display: flex;
192
+ justify-content: flex-end;
193
+ }
174
194
  ```
175
195
 
176
196
  ## Usage Examples
@@ -1307,8 +1307,8 @@
1307
1307
 
1308
1308
  .ihub-input-div {
1309
1309
  position: absolute;
1310
- left: 10px;
1311
- top: 50%;
1310
+ left: 0px;
1311
+ top: 27px;
1312
1312
  transform: translateY(-50%);
1313
1313
  display: flex;
1314
1314
  align-items: center;
@@ -1323,6 +1323,7 @@
1323
1323
 
1324
1324
  .ihub-event-input {
1325
1325
  width: 100%;
1326
+ min-width: 300px;
1326
1327
  padding: 10px 10px 10px 35px;
1327
1328
  border: var(--borderDefault);
1328
1329
  border-radius: 5px;
@@ -1755,17 +1755,17 @@ RADIO ENDS
1755
1755
  top: -7px;
1756
1756
  }
1757
1757
 
1758
- .content h2 {
1758
+ .user-content h2 {
1759
1759
  margin-bottom: 1rem;
1760
1760
  }
1761
1761
 
1762
- .content a {
1762
+ .user-content a {
1763
1763
  color: #cc3852;
1764
1764
  margin-right: 10px;
1765
1765
  font-weight: 500;
1766
1766
  transition: 0.3s ease-in;
1767
1767
  }
1768
- .content a:hover {
1768
+ .user-content a:hover {
1769
1769
  opacity: 0.7;
1770
1770
  font-weight: 600;
1771
1771
  }
@@ -41,6 +41,7 @@
41
41
  /* opacity: 0; */
42
42
  transform: translateY(20px);
43
43
  transition: opacity 0.3s ease, transform 0.3s ease;
44
+ padding: 20px;
44
45
  }
45
46
 
46
47
  .ihub-modal-open .ihub-modal-content {
@@ -62,7 +63,8 @@
62
63
  }
63
64
 
64
65
  .ihub-modal-full {
65
- max-width: 100%;
66
+ width: 100%;
67
+ min-width: 90vw;
66
68
  height: 100%;
67
69
  max-height: 100vh;
68
70
  border-radius: 0;
@@ -74,7 +76,7 @@
74
76
  display: flex;
75
77
  justify-content: space-between;
76
78
  align-items: center;
77
- padding: 20px;
79
+ padding: 0px 20px;
78
80
  border-bottom: var(--borderDefault);
79
81
  }
80
82
 
@@ -114,7 +116,7 @@
114
116
 
115
117
  /* Modal footer */
116
118
  .ihub-modal-footer {
117
- padding: 15px 20px;
119
+ padding: 15px 20px 0px 15px;
118
120
  border-top: var(--borderDefault);
119
121
  display: flex;
120
122
  justify-content: flex-end;
@@ -151,6 +153,7 @@
151
153
  .ihub-modal-large {
152
154
  width: 100%;
153
155
  max-width: 100%;
156
+ min-width: 100%;
154
157
  margin: 0;
155
158
  border-radius: 0;
156
159
  }
@@ -335,7 +335,7 @@
335
335
  width: 100%;
336
336
  margin: 0 auto;
337
337
  border-radius: 8px;
338
- padding: 25px;
338
+ padding: 0px 25px;
339
339
  box-shadow: var(--shadow);
340
340
  animation: ihub-fade-in 0.3s ease;
341
341
  }
@@ -306,6 +306,14 @@
306
306
  color: var(--DarkCyan, #00838f);
307
307
  font-weight: 600;
308
308
  }
309
+ .ihub-sidenav-child-active {
310
+ background-color: rgba(0, 0, 0, 0.05);
311
+ font-weight: 600;
312
+ }
313
+ .ihub-sidenav-child-active a,
314
+ .ihub-sidenav-child-active span {
315
+ color: var(--DarkCyan, #00838f);
316
+ }
309
317
 
310
318
  .ihub-sidenav-active::before {
311
319
  content: "";
@@ -326,6 +326,7 @@
326
326
  .ihub-btn-primary:hover,
327
327
  .ihub-btn-important:hover {
328
328
  background-color: var(--DarkCyan);
329
+ color: var(--white);
329
330
  opacity: 0.8;
330
331
  }
331
332
 
@@ -0,0 +1,140 @@
1
+ /* Create Button Component Additional Styles */
2
+
3
+ /* Button sizes */
4
+ .ihub-btn-small {
5
+ padding: 8px 20px !important;
6
+ font-size: 14px !important;
7
+ line-height: 1.2 !important;
8
+ }
9
+
10
+ .ihub-btn-large {
11
+ padding: 16px 40px !important;
12
+ font-size: 18px !important;
13
+ line-height: 1.4 !important;
14
+ }
15
+
16
+ /* Button loading state */
17
+ .ihub-btn-loading {
18
+ position: relative;
19
+ pointer-events: none;
20
+ opacity: 0.8;
21
+ }
22
+
23
+ .ihub-btn-spinner {
24
+ display: inline-flex;
25
+ align-items: center;
26
+ margin-right: 8px;
27
+ }
28
+
29
+ .ihub-spinner {
30
+ width: 16px;
31
+ height: 16px;
32
+ border: 2px solid transparent;
33
+ border-top: 2px solid currentColor;
34
+ border-radius: 50%;
35
+ animation: ihub-spin 1s linear infinite;
36
+ }
37
+
38
+ @keyframes ihub-spin {
39
+ 0% {
40
+ transform: rotate(0deg);
41
+ }
42
+ 100% {
43
+ transform: rotate(360deg);
44
+ }
45
+ }
46
+
47
+ /* Button content layout */
48
+ .ihub-btn-icon {
49
+ display: inline-flex;
50
+ align-items: center;
51
+ margin-right: 8px;
52
+ }
53
+
54
+ .ihub-btn-text {
55
+ display: inline-block;
56
+ }
57
+
58
+ .ihub-btn-arrow {
59
+ margin-left: 8px;
60
+ transition: transform 0.3s ease;
61
+ }
62
+
63
+ /* Enhanced animation for anime button */
64
+ .ihub-anime-button {
65
+ position: relative;
66
+ overflow: hidden;
67
+ display: inline-flex;
68
+ align-items: center;
69
+ justify-content: center;
70
+ transition: all 0.3s ease;
71
+ }
72
+
73
+ .ihub-anime-button:hover .ihub-btn-arrow {
74
+ transform: translateX(4px);
75
+ }
76
+
77
+ .ihub-anime-button:hover {
78
+ transform: translateY(-1px);
79
+ box-shadow: 0 4px 12px rgba(0, 131, 143, 0.3);
80
+ }
81
+
82
+ /* Demo styles for the example component */
83
+ .ihub-create-button-demo {
84
+ padding: 2rem;
85
+ max-width: 1200px;
86
+ margin: 0 auto;
87
+ }
88
+
89
+ .ihub-create-button-demo h2 {
90
+ color: var(--DarkCyan);
91
+ margin-bottom: 2rem;
92
+ text-align: center;
93
+ }
94
+
95
+ .ihub-button-grid {
96
+ display: grid;
97
+ gap: 2rem;
98
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
99
+ }
100
+
101
+ .ihub-button-example {
102
+ padding: 1.5rem;
103
+ border: var(--borderDefault);
104
+ border-radius: 8px;
105
+ background: var(--White);
106
+ }
107
+
108
+ .ihub-button-example h3 {
109
+ color: var(--Gunmetal);
110
+ margin-bottom: 1rem;
111
+ font-size: 1.1rem;
112
+ font-weight: 600;
113
+ }
114
+
115
+ .ihub-button-row {
116
+ display: flex;
117
+ gap: 1rem;
118
+ flex-wrap: wrap;
119
+ align-items: center;
120
+ }
121
+
122
+ .ihub-button-row button {
123
+ margin: 0 !important;
124
+ }
125
+
126
+ /* Responsive adjustments */
127
+ @media (max-width: 768px) {
128
+ .ihub-button-grid {
129
+ grid-template-columns: 1fr;
130
+ }
131
+
132
+ .ihub-button-row {
133
+ flex-direction: column;
134
+ align-items: stretch;
135
+ }
136
+
137
+ .ihub-button-row button {
138
+ width: 100%;
139
+ }
140
+ }
@@ -0,0 +1,359 @@
1
+ /* ============================================
2
+ ENHANCED PAGINATION WITH API INTEGRATION STYLES
3
+ Add to input-fields.css
4
+ ============================================ */
5
+
6
+ /* Main pagination container */
7
+ .ihub-pagination-container {
8
+ margin: 50px auto 0;
9
+ max-width: 600px;
10
+ font-family: var(--Nunito);
11
+ }
12
+
13
+ /* Loading state */
14
+ .ihub-pagination-loading {
15
+ display: flex;
16
+ align-items: center;
17
+ justify-content: center;
18
+ gap: 10px;
19
+ padding: 20px;
20
+ color: var(--Gunmetal);
21
+ font-size: 14px;
22
+ }
23
+
24
+ .ihub-loading-spinner {
25
+ width: 20px;
26
+ height: 20px;
27
+ border: 2px solid var(--Gray);
28
+ border-top: 2px solid var(--DarkCyan);
29
+ border-radius: 50%;
30
+ animation: ihub-spin 1s linear infinite;
31
+ }
32
+
33
+ @keyframes ihub-spin {
34
+ 0% {
35
+ transform: rotate(0deg);
36
+ }
37
+ 100% {
38
+ transform: rotate(360deg);
39
+ }
40
+ }
41
+
42
+ /* Pagination list */
43
+ .ihub-pagination-list {
44
+ display: flex;
45
+ justify-content: space-between;
46
+ align-items: center;
47
+ list-style: none;
48
+ margin: 0;
49
+ padding: 0;
50
+ gap: 10px;
51
+ }
52
+
53
+ /* Navigation groups (first/prev and next/last) */
54
+ .ihub-pagination-nav-group {
55
+ display: flex;
56
+ align-items: center;
57
+ gap: 10px;
58
+ }
59
+
60
+ /* Page numbers container */
61
+ .ihub-pagination-pages {
62
+ display: flex;
63
+ align-items: center;
64
+ gap: 3px;
65
+ flex: 1;
66
+ justify-content: center;
67
+ }
68
+
69
+ /* Individual pagination items */
70
+ .ihub-pagination-item {
71
+ list-style: none;
72
+ margin: 0;
73
+ padding: 0;
74
+ }
75
+
76
+ /* Base link styles */
77
+ .ihub-pagination-link {
78
+ display: inline-flex;
79
+ align-items: center;
80
+ justify-content: center;
81
+ text-decoration: none;
82
+ font-family: var(--Nunito);
83
+ font-weight: 400;
84
+ font-size: 16px;
85
+ line-height: 24px;
86
+ text-align: center;
87
+ letter-spacing: 0.018em;
88
+ cursor: pointer;
89
+ transition: all 0.2s ease;
90
+ border-radius: 5px;
91
+ position: relative;
92
+ color: var(--Gunmetal);
93
+ min-height: 40px;
94
+ }
95
+
96
+ .ihub-pagination-link:hover {
97
+ background-color: #f3f3f3;
98
+ }
99
+
100
+ .ihub-pagination-link:focus {
101
+ outline: 2px solid var(--DarkCyan);
102
+ outline-offset: 2px;
103
+ }
104
+
105
+ /* Number links */
106
+ .ihub-pagination-number {
107
+ padding: 8px 15px;
108
+ margin: 3px;
109
+ min-width: 40px;
110
+ }
111
+
112
+ /* Active page */
113
+ .ihub-pagination-active .ihub-pagination-number {
114
+ font-weight: 600;
115
+ border-bottom: 2px solid var(--DarkCyan);
116
+ color: var(--DarkCyan);
117
+ }
118
+
119
+ /* Previous and Next buttons */
120
+ .ihub-pagination-previous,
121
+ .ihub-pagination-next {
122
+ background-color: var(--DarkCyan);
123
+ color: var(--White);
124
+ width: 40px;
125
+ height: 40px;
126
+ border-radius: 5px;
127
+ font-size: 16px;
128
+ font-weight: 600;
129
+ transition: background-color 0.2s ease;
130
+ }
131
+
132
+ .ihub-pagination-previous:hover,
133
+ .ihub-pagination-next:hover {
134
+ background-color: rgba(0, 131, 143, 0.8);
135
+ color: var(--White);
136
+ }
137
+
138
+ .ihub-pagination-previous svg,
139
+ .ihub-pagination-next svg {
140
+ position: absolute;
141
+ top: 50%;
142
+ left: 50%;
143
+ transform: translate(-50%, -50%);
144
+ }
145
+
146
+ /* First and Last buttons */
147
+ .ihub-pagination-first,
148
+ .ihub-pagination-last {
149
+ height: 40px;
150
+ width: 64px;
151
+ border: 1px solid var(--DarkCyan);
152
+ border-radius: 5px;
153
+ color: var(--DarkCyan);
154
+ background-color: var(--White);
155
+ padding: 8px 15px;
156
+ font-weight: 600;
157
+ font-size: 14px;
158
+ line-height: 19px;
159
+ transition: all 0.2s ease;
160
+ }
161
+
162
+ .ihub-pagination-first:hover,
163
+ .ihub-pagination-last:hover {
164
+ background-color: var(--DarkCyan);
165
+ color: var(--White);
166
+ }
167
+
168
+ /* Disabled states */
169
+ .ihub-pagination-disabled {
170
+ opacity: 0.6;
171
+ }
172
+
173
+ .ihub-pagination-disabled .ihub-pagination-link {
174
+ pointer-events: none;
175
+ cursor: not-allowed;
176
+ color: var(--Gunmetal);
177
+ }
178
+
179
+ .ihub-pagination-disabled .ihub-pagination-previous,
180
+ .ihub-pagination-disabled .ihub-pagination-next {
181
+ background-color: #ccc;
182
+ color: #888;
183
+ }
184
+
185
+ .ihub-pagination-disabled .ihub-pagination-first,
186
+ .ihub-pagination-disabled .ihub-pagination-last {
187
+ border-color: #ccc;
188
+ color: #888;
189
+ background-color: #f5f5f5;
190
+ }
191
+
192
+ /* Pagination info */
193
+ .ihub-pagination-info {
194
+ margin-top: 20px;
195
+ text-align: center;
196
+ }
197
+
198
+ .ihub-pagination-summary {
199
+ font-size: 14px;
200
+ color: var(--Gunmetal);
201
+ font-weight: 500;
202
+ }
203
+
204
+ /* Responsive design */
205
+ @media (max-width: 768px) {
206
+ .ihub-pagination-container {
207
+ margin: 30px auto 0;
208
+ max-width: 100%;
209
+ }
210
+
211
+ .ihub-pagination-list {
212
+ gap: 5px;
213
+ }
214
+
215
+ .ihub-pagination-nav-group {
216
+ gap: 5px;
217
+ }
218
+
219
+ .ihub-pagination-pages {
220
+ gap: 2px;
221
+ }
222
+
223
+ .ihub-pagination-number {
224
+ padding: 6px 10px;
225
+ margin: 2px;
226
+ font-size: 14px;
227
+ min-width: 32px;
228
+ }
229
+
230
+ .ihub-pagination-previous,
231
+ .ihub-pagination-next {
232
+ width: 36px;
233
+ height: 36px;
234
+ font-size: 14px;
235
+ }
236
+
237
+ .ihub-pagination-first,
238
+ .ihub-pagination-last {
239
+ width: 56px;
240
+ height: 36px;
241
+ font-size: 12px;
242
+ padding: 6px 10px;
243
+ }
244
+ }
245
+
246
+ @media (max-width: 500px) {
247
+ .ihub-pagination-first,
248
+ .ihub-pagination-last {
249
+ display: none;
250
+ }
251
+
252
+ .ihub-pagination-nav-group {
253
+ gap: 3px;
254
+ }
255
+
256
+ .ihub-pagination-pages {
257
+ max-width: 200px;
258
+ overflow: hidden;
259
+ }
260
+
261
+ .ihub-pagination-number {
262
+ padding: 5px 8px;
263
+ min-width: 28px;
264
+ font-size: 12px;
265
+ }
266
+
267
+ .ihub-pagination-previous,
268
+ .ihub-pagination-next {
269
+ width: 32px;
270
+ height: 32px;
271
+ }
272
+
273
+ .ihub-pagination-info {
274
+ margin-top: 15px;
275
+ }
276
+
277
+ .ihub-pagination-summary {
278
+ font-size: 12px;
279
+ }
280
+ }
281
+
282
+ /* Loading state overlay */
283
+ .ihub-pagination-container.ihub-pagination-loading-state {
284
+ position: relative;
285
+ }
286
+
287
+ .ihub-pagination-container.ihub-pagination-loading-state::after {
288
+ content: "";
289
+ position: absolute;
290
+ top: 0;
291
+ left: 0;
292
+ right: 0;
293
+ bottom: 0;
294
+ background-color: rgba(255, 255, 255, 0.7);
295
+ backdrop-filter: blur(2px);
296
+ z-index: 1;
297
+ }
298
+
299
+ .ihub-pagination-container.ihub-pagination-loading-state
300
+ .ihub-pagination-loading {
301
+ position: absolute;
302
+ top: 50%;
303
+ left: 50%;
304
+ transform: translate(-50%, -50%);
305
+ z-index: 2;
306
+ background-color: var(--White);
307
+ padding: 15px 20px;
308
+ border-radius: 8px;
309
+ box-shadow: var(--shadow);
310
+ }
311
+
312
+ /* High contrast mode support */
313
+ @media (prefers-contrast: high) {
314
+ .ihub-pagination-previous,
315
+ .ihub-pagination-next {
316
+ border: 2px solid var(--DarkCyan);
317
+ }
318
+
319
+ .ihub-pagination-first,
320
+ .ihub-pagination-last {
321
+ border-width: 2px;
322
+ }
323
+
324
+ .ihub-pagination-active .ihub-pagination-number {
325
+ border-bottom-width: 3px;
326
+ }
327
+ }
328
+
329
+ /* Reduced motion support */
330
+ @media (prefers-reduced-motion: reduce) {
331
+ .ihub-pagination-link {
332
+ transition: none;
333
+ }
334
+
335
+ .ihub-loading-spinner {
336
+ animation: none;
337
+ }
338
+
339
+ .ihub-loading-spinner::after {
340
+ content: "⟳";
341
+ display: block;
342
+ font-size: 16px;
343
+ text-align: center;
344
+ line-height: 20px;
345
+ }
346
+ }
347
+
348
+ /* Focus visible support */
349
+ .ihub-pagination-link:focus-visible {
350
+ outline: 2px solid var(--DarkCyan);
351
+ outline-offset: 2px;
352
+ }
353
+
354
+ /* Print styles */
355
+ @media print {
356
+ .ihub-pagination-container {
357
+ display: none;
358
+ }
359
+ }
@@ -11,3 +11,5 @@
11
11
  @import url("./action.css");
12
12
  @import url("./dropdown-styles.css");
13
13
  @import url("./color-picker.css");
14
+ @import url("./pagination.css");
15
+ @import url("./create-button.css");