@digihmis/esm-administration-app 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/README.md +4 -0
  2. package/dist/101.js +1 -0
  3. package/dist/101.js.map +1 -0
  4. package/dist/117.js +1 -0
  5. package/dist/117.js.map +1 -0
  6. package/dist/132.js +1 -0
  7. package/dist/132.js.map +1 -0
  8. package/dist/15.js +1 -0
  9. package/dist/15.js.map +1 -0
  10. package/dist/152.js +1 -0
  11. package/dist/152.js.map +1 -0
  12. package/dist/153.js +1 -0
  13. package/dist/153.js.map +1 -0
  14. package/dist/190.js +1 -0
  15. package/dist/190.js.map +1 -0
  16. package/dist/209.js +1 -0
  17. package/dist/209.js.map +1 -0
  18. package/dist/266.js +1 -0
  19. package/dist/266.js.map +1 -0
  20. package/dist/317.js +1 -0
  21. package/dist/317.js.map +1 -0
  22. package/dist/349.js +1 -0
  23. package/dist/349.js.map +1 -0
  24. package/dist/371.js +1 -0
  25. package/dist/371.js.map +1 -0
  26. package/dist/378.js +1 -0
  27. package/dist/378.js.map +1 -0
  28. package/dist/394.js +1 -0
  29. package/dist/394.js.map +1 -0
  30. package/dist/442.js +1 -0
  31. package/dist/442.js.map +1 -0
  32. package/dist/45.js +1 -0
  33. package/dist/45.js.map +1 -0
  34. package/dist/454.js +1 -0
  35. package/dist/454.js.map +1 -0
  36. package/dist/466.js +1 -0
  37. package/dist/466.js.map +1 -0
  38. package/dist/482.js +1 -0
  39. package/dist/482.js.map +1 -0
  40. package/dist/501.js +1 -0
  41. package/dist/501.js.map +1 -0
  42. package/dist/508.js +1 -0
  43. package/dist/508.js.map +1 -0
  44. package/dist/578.js +1 -0
  45. package/dist/578.js.map +1 -0
  46. package/dist/598.js +1 -0
  47. package/dist/598.js.map +1 -0
  48. package/dist/606.js +1 -0
  49. package/dist/606.js.map +1 -0
  50. package/dist/61.js +1 -0
  51. package/dist/61.js.map +1 -0
  52. package/dist/640.js +1 -0
  53. package/dist/640.js.map +1 -0
  54. package/dist/685.js +1 -0
  55. package/dist/685.js.map +1 -0
  56. package/dist/689.js +1 -0
  57. package/dist/689.js.map +1 -0
  58. package/dist/709.js +1 -0
  59. package/dist/709.js.map +1 -0
  60. package/dist/712.js +1 -0
  61. package/dist/712.js.map +1 -0
  62. package/dist/720.js +1 -0
  63. package/dist/720.js.map +1 -0
  64. package/dist/737.js +12 -0
  65. package/dist/737.js.map +1 -0
  66. package/dist/742.js +1 -0
  67. package/dist/742.js.map +1 -0
  68. package/dist/747.js +1 -0
  69. package/dist/747.js.map +1 -0
  70. package/dist/771.js +1 -0
  71. package/dist/771.js.map +1 -0
  72. package/dist/806.js +1 -0
  73. package/dist/806.js.map +1 -0
  74. package/dist/912.js +1 -0
  75. package/dist/912.js.map +1 -0
  76. package/dist/913.js +1 -0
  77. package/dist/913.js.map +1 -0
  78. package/dist/916.js +15 -0
  79. package/dist/916.js.map +1 -0
  80. package/dist/940.js +1 -0
  81. package/dist/940.js.map +1 -0
  82. package/dist/digihmis-esm-administration-app.js +6 -0
  83. package/dist/digihmis-esm-administration-app.js.buildmanifest.json +1100 -0
  84. package/dist/digihmis-esm-administration-app.js.map +1 -0
  85. package/dist/main.js +17 -0
  86. package/dist/main.js.map +1 -0
  87. package/dist/routes.json +1 -0
  88. package/increment-version.js +17 -0
  89. package/jest.config.js +26 -0
  90. package/package.json +51 -0
  91. package/release-version.js +16 -0
  92. package/rspack.config.js +1 -0
  93. package/src/bed-management/bed-management.component.tsx +19 -0
  94. package/src/bed-management/bed-management.scss +0 -0
  95. package/src/billing-management/billing-charge-items/billing-charge-items-modal/billing-charge-items.modal.tsx +79 -0
  96. package/src/billing-management/billing-charge-items/billing-charge-items-modal/billing-charge-items.resource.ts +11 -0
  97. package/src/billing-management/billing-charge-items/billing-charge-items-workspace/billing-charge-item.workspace.tsx +212 -0
  98. package/src/billing-management/billing-charge-items/billing-charge-items-workspace/billing-charge-items.resource.ts +51 -0
  99. package/src/billing-management/billing-charge-items/billing-charge-items-workspace/billing-charge-service.workspace.tsx +296 -0
  100. package/src/billing-management/billing-charge-items/billing-charge-items-workspace/components/concept-search.component.tsx +67 -0
  101. package/src/billing-management/billing-charge-items/billing-charge-items-workspace/components/price.component.tsx +81 -0
  102. package/src/billing-management/billing-charge-items/billing-charge-items-workspace/components/stock-search.component.tsx +107 -0
  103. package/src/billing-management/billing-charge-items/billing-charge-items-workspace/global/billing-charge-commodity.scss +61 -0
  104. package/src/billing-management/billing-charge-items/billing-charge-items-workspace/global/billing-charge-items.scss +59 -0
  105. package/src/billing-management/billing-charge-items/billing-charge-items-workspace/schemas/form-schemas.ts +33 -0
  106. package/src/billing-management/billing-charge-items/billing-charge-items.component.tsx +222 -0
  107. package/src/billing-management/billing-charge-items/billing-charge-items.resource.ts +20 -0
  108. package/src/billing-management/billing-charge-items/billing-charge-items.scss +84 -0
  109. package/src/billing-management/billing-charge-items/type/index.ts +88 -0
  110. package/src/billing-management/billing-charge-items/utils/index.ts +96 -0
  111. package/src/billing-management/billing-management.component.tsx +21 -0
  112. package/src/billing-management/billing-management.scss +0 -0
  113. package/src/billing-management/billing-payment-modes/billing-payment-modes-modal/billing-delete-payment-modes.modal.scss +28 -0
  114. package/src/billing-management/billing-payment-modes/billing-payment-modes-modal/billing-delete-payment-modes.modal.tsx +67 -0
  115. package/src/billing-management/billing-payment-modes/billing-payment-modes-modal/delete-payment-mode.test.tsx +56 -0
  116. package/src/billing-management/billing-payment-modes/billing-payment-modes-workspace/billing-payment-modes-form-schema.ts +52 -0
  117. package/src/billing-management/billing-payment-modes/billing-payment-modes-workspace/billing-payment-modes.resource.ts +35 -0
  118. package/src/billing-management/billing-payment-modes/billing-payment-modes-workspace/billing-payment-modes.workspace.scss +33 -0
  119. package/src/billing-management/billing-payment-modes/billing-payment-modes-workspace/billing-payment-modes.workspace.test.tsx +239 -0
  120. package/src/billing-management/billing-payment-modes/billing-payment-modes-workspace/billing-payment-modes.workspace.tsx +218 -0
  121. package/src/billing-management/billing-payment-modes/billing-payment-modes-workspace/payment-attributes/payment-mode-attributes.component.tsx +156 -0
  122. package/src/billing-management/billing-payment-modes/billing-payment-modes-workspace/payment-attributes/payment-mode-attributes.scss +10 -0
  123. package/src/billing-management/billing-payment-modes/billing-payment-modes.component.tsx +243 -0
  124. package/src/billing-management/billing-payment-modes/billing-payment-modes.resource.ts +23 -0
  125. package/src/billing-management/billing-payment-modes/billing-payment-modes.scss +140 -0
  126. package/src/billing-management/billing-payment-modes/type/index.ts +42 -0
  127. package/src/billing-management/billing-payment-points/billing-payment-point-modal/billing-delete-payment-modes.modal.scss +28 -0
  128. package/src/billing-management/billing-payment-points/billing-payment-point-modal/billing-delete-payment-point.modal.tsx +72 -0
  129. package/src/billing-management/billing-payment-points/billing-payment-point-modal/delete-payment-point.test.tsx +56 -0
  130. package/src/billing-management/billing-payment-points/billing-payment-point.component.tsx +202 -0
  131. package/src/billing-management/billing-payment-points/billing-payment-point.resource.ts +16 -0
  132. package/src/billing-management/billing-payment-points/billing-payment-point.scss +0 -0
  133. package/src/billing-management/billing-payment-points/billing-payment-points-workspace/billing-payment-point.resource.ts +39 -0
  134. package/src/billing-management/billing-payment-points/billing-payment-points-workspace/billing-payment-point.workspace.scss +33 -0
  135. package/src/billing-management/billing-payment-points/billing-payment-points-workspace/billing-payment-points.workspace.tsx +194 -0
  136. package/src/billing-management/billing-payment-points/type/index.ts +35 -0
  137. package/src/billing-management/billing-tabs/billing-tabs.component.scss +15 -0
  138. package/src/billing-management/billing-tabs/billing-tabs.component.tsx +36 -0
  139. package/src/components/custom-icon-wrapper/custom-icon-wrapper.component.tsx +17 -0
  140. package/src/components/custom-page-header/custom-page-header.component.tsx +38 -0
  141. package/src/components/custom-page-header/custom-page-header.scss +76 -0
  142. package/src/config-schema.ts +142 -0
  143. package/src/constant/index.ts +1 -0
  144. package/src/dashboard.meta.ts +47 -0
  145. package/src/declarations.d.ts +6 -0
  146. package/src/form-builder/form-builder.component.tsx +19 -0
  147. package/src/form-builder/form-builder.scss +0 -0
  148. package/src/hooks/useConcept.ts +13 -0
  149. package/src/hooks/useQueues.ts +22 -0
  150. package/src/hooks/useSystemSetting.ts +18 -0
  151. package/src/index.ts +133 -0
  152. package/src/left-panel/left-panel.component.tsx +49 -0
  153. package/src/left-panel/left-panel.scss +13 -0
  154. package/src/location-management/components/auto-suggest/autosuggest.component.tsx +149 -0
  155. package/src/location-management/components/auto-suggest/autosuggest.scss +61 -0
  156. package/src/location-management/components/auto-suggest/location-autosuggest.component.tsx +97 -0
  157. package/src/location-management/components/auto-suggest/location-autosuggest.scss +48 -0
  158. package/src/location-management/components/custom-results-tile/results-tile.component.tsx +43 -0
  159. package/src/location-management/components/custom-results-tile/results-tile.scss +86 -0
  160. package/src/location-management/forms/add-location/add-location.workspace.scss +71 -0
  161. package/src/location-management/forms/add-location/add-location.workspace.tsx +199 -0
  162. package/src/location-management/forms/search-location/search-location.workspace.scss +71 -0
  163. package/src/location-management/forms/search-location/search-location.workspace.tsx +214 -0
  164. package/src/location-management/helpers/index.ts +33 -0
  165. package/src/location-management/hooks/UseFacilityLocations.ts +12 -0
  166. package/src/location-management/hooks/useLocation.ts +18 -0
  167. package/src/location-management/hooks/useLocationTags.ts +15 -0
  168. package/src/location-management/location-management-dashboard.component.tsx +21 -0
  169. package/src/location-management/location-management-dashboard.scss +3 -0
  170. package/src/location-management/tables/locations-table.component.tsx +242 -0
  171. package/src/location-management/tables/locations-table.resource.ts +26 -0
  172. package/src/location-management/tables/locations-table.scss +114 -0
  173. package/src/location-management/types/index.ts +120 -0
  174. package/src/queue-management/queue-management-dashboard.component.tsx +23 -0
  175. package/src/queue-management/queue-management-dashboard.scss +8 -0
  176. package/src/queue-management/queue-management-table/queue-management-table.component.tsx +296 -0
  177. package/src/queue-management/queue-management-table/queue-management-table.scss +78 -0
  178. package/src/queue-management/queue-management-table/queue-management.resource.ts +39 -0
  179. package/src/queue-management/queue-management-workspace/queue-room/queue-room-form.scss +56 -0
  180. package/src/queue-management/queue-management-workspace/queue-room/queue-room-form.test.tsx +82 -0
  181. package/src/queue-management/queue-management-workspace/queue-room/queue-room-form.workspace.tsx +169 -0
  182. package/src/queue-management/queue-management-workspace/queue-room/queue-room.resource.ts +20 -0
  183. package/src/queue-management/queue-management-workspace/queue-service/queue-service-form.scss +61 -0
  184. package/src/queue-management/queue-management-workspace/queue-service/queue-service-form.test.tsx +127 -0
  185. package/src/queue-management/queue-management-workspace/queue-service/queue-service-form.workspace.tsx +178 -0
  186. package/src/queue-management/queue-management-workspace/queue-service/queue-service.resource.ts +55 -0
  187. package/src/queue-management/queue-types/index.ts +33 -0
  188. package/src/routes.json +157 -0
  189. package/src/setup-tests.ts +1 -0
  190. package/src/system-info/system-info.component.tsx +338 -0
  191. package/src/system-info/system-info.resource.ts +40 -0
  192. package/src/system-info/system-info.scss +622 -0
  193. package/src/type/index.ts +6 -0
  194. package/translations/am.json +111 -0
  195. package/translations/ar.json +115 -0
  196. package/translations/en.json +111 -0
  197. package/translations/es.json +112 -0
  198. package/translations/fr.json +112 -0
  199. package/translations/he.json +112 -0
  200. package/translations/km.json +110 -0
  201. package/translations/pt.json +112 -0
  202. package/translations/sw.json +111 -0
  203. package/translations/vi.json +110 -0
  204. package/translations/zh.json +110 -0
  205. package/tsconfig.json +5 -0
  206. package/version.js +27 -0
@@ -0,0 +1,622 @@
1
+ @use '@carbon/layout';
2
+ @use '@carbon/type';
3
+ @use '@carbon/colors';
4
+
5
+ .main {
6
+ display: flex;
7
+ justify-items: center;
8
+ flex-direction: column;
9
+ margin-top: 1.5rem;
10
+
11
+ :global(.omrs-breakpoint-lt-tablet) & {
12
+ margin-top: 0.75rem;
13
+ }
14
+ }
15
+
16
+ .aboutPage {
17
+ display: flex;
18
+ justify-content: center;
19
+ align-items: center;
20
+ background: var(--cds-field);
21
+
22
+ :global(.omrs-breakpoint-lt-tablet) & {
23
+ padding: 0 0.5rem;
24
+ }
25
+ }
26
+
27
+ .containerInstalledModules {
28
+ display: flex;
29
+ justify-content: center;
30
+ margin: 1rem;
31
+ flex-direction: column;
32
+ align-items: center;
33
+ border: 0.5px solid colors.$gray-30;
34
+ padding: 0.5rem 0.5rem 0.5rem 0.5rem;
35
+ width: 33rem;
36
+
37
+ :global(.omrs-breakpoint-lt-desktop) & {
38
+ width: 100%;
39
+ max-width: 33rem;
40
+ margin: 0.75rem;
41
+ }
42
+
43
+ :global(.omrs-breakpoint-lt-tablet) & {
44
+ margin: 0.5rem;
45
+ padding: 0.375rem;
46
+ }
47
+ }
48
+
49
+ .container {
50
+ display: flex;
51
+ justify-content: center;
52
+ margin: 1rem;
53
+ flex-direction: column;
54
+ align-items: center;
55
+ border: 0.5px solid colors.$gray-30;
56
+ padding: 0.5rem 0.5rem 0.5rem 0.5rem;
57
+ width: 53rem;
58
+
59
+ :global(.omrs-breakpoint-lt-desktop) & {
60
+ width: 100%;
61
+ max-width: 53rem;
62
+ margin: 0.75rem;
63
+ }
64
+
65
+ :global(.omrs-breakpoint-lt-tablet) & {
66
+ margin: 0.5rem;
67
+ padding: 0.375rem;
68
+ }
69
+ }
70
+
71
+ .title {
72
+ display: flex;
73
+ align-items: center;
74
+ padding-bottom: 0.25rem;
75
+ margin-bottom: 0.25rem;
76
+ border-bottom: 0.5px solid colors.$gray-30;
77
+ width: 100%;
78
+ justify-content: center;
79
+
80
+ h3 {
81
+ @include type.type-style('body-compact-02');
82
+
83
+ :global(.omrs-breakpoint-lt-tablet) & {
84
+ @include type.type-style('label-01');
85
+ }
86
+ }
87
+
88
+ h4 {
89
+ @include type.type-style('body-compact-01');
90
+
91
+ :global(.omrs-breakpoint-lt-tablet) & {
92
+ @include type.type-style('helper-text-01');
93
+ }
94
+ }
95
+
96
+ img {
97
+ margin-left: 0.25rem;
98
+ }
99
+ }
100
+
101
+ .aboutBody {
102
+ display: grid;
103
+ grid-template-columns: 1fr 1fr;
104
+ column-gap: 0.25rem;
105
+
106
+ :global(.omrs-breakpoint-lt-tablet) & {
107
+ grid-template-columns: 1fr;
108
+ gap: 0.125rem;
109
+ }
110
+
111
+ & p {
112
+ @include type.type-style('label-01');
113
+ margin-bottom: 0.25rem;
114
+
115
+ :global(.omrs-breakpoint-lt-tablet) & {
116
+ @include type.type-style('helper-text-01');
117
+ margin-bottom: 0.125rem;
118
+ }
119
+ }
120
+
121
+ & a {
122
+ color: colors.$blue-60;
123
+ text-decoration: none;
124
+
125
+ &:hover {
126
+ text-decoration: underline;
127
+ }
128
+ }
129
+ }
130
+
131
+ .aboutBodyContact {
132
+ display: grid;
133
+ grid-template-columns: 1fr;
134
+ column-gap: 0.25rem;
135
+ text-align: center;
136
+
137
+ & p {
138
+ @include type.type-style('label-01');
139
+ margin-bottom: 0.25rem;
140
+
141
+ :global(.omrs-breakpoint-lt-tablet) & {
142
+ @include type.type-style('helper-text-01');
143
+ margin-bottom: 0.125rem;
144
+ }
145
+ }
146
+
147
+ & a {
148
+ color: colors.$blue-60;
149
+ text-decoration: none;
150
+ word-break: break-word;
151
+
152
+ &:hover {
153
+ text-decoration: underline;
154
+ }
155
+ }
156
+ }
157
+
158
+ .card {
159
+ display: flex;
160
+ justify-content: center;
161
+ align-items: center;
162
+ background: var(--cds-field);
163
+ }
164
+
165
+ .cardHeader {
166
+ display: flex;
167
+ align-items: center;
168
+ justify-content: space-between;
169
+ padding: 0.5rem;
170
+ padding-bottom: 0.25rem;
171
+ margin-bottom: 0.25rem;
172
+ border-bottom: 0.5px solid colors.$gray-30;
173
+ width: 100%;
174
+ cursor: pointer;
175
+ user-select: none;
176
+
177
+ :global(.omrs-breakpoint-lt-tablet) & {
178
+ padding: 0.375rem;
179
+ }
180
+
181
+ &:hover {
182
+ background-color: colors.$gray-10;
183
+ }
184
+
185
+ h3 {
186
+ @include type.type-style('body-compact-02');
187
+
188
+ :global(.omrs-breakpoint-lt-tablet) & {
189
+ @include type.type-style('label-01');
190
+ }
191
+ }
192
+ }
193
+
194
+ .cardHeaderContent {
195
+ display: flex;
196
+ align-items: center;
197
+ gap: 0.5rem;
198
+
199
+ :global(.omrs-breakpoint-lt-tablet) & {
200
+ gap: 0.25rem;
201
+
202
+ svg {
203
+ width: 16px;
204
+ height: 16px;
205
+ }
206
+ }
207
+ }
208
+
209
+ .cardHeaderActions {
210
+ display: flex;
211
+ align-items: center;
212
+ gap: 0.5rem;
213
+
214
+ :global(.omrs-breakpoint-lt-tablet) & {
215
+ gap: 0.25rem;
216
+ }
217
+ }
218
+
219
+ .checkingStatus {
220
+ @include type.type-style('helper-text-01');
221
+ color: colors.$gray-70;
222
+ font-style: italic;
223
+
224
+ :global(.omrs-breakpoint-lt-tablet) & {
225
+ font-size: 0.625rem;
226
+ }
227
+ }
228
+
229
+ .updatesAvailable {
230
+ @include type.type-style('helper-text-01');
231
+ color: colors.$orange-70;
232
+ font-weight: 600;
233
+ padding: 0.125rem 0.5rem;
234
+ background-color: colors.$orange-20;
235
+ border-radius: 0.75rem;
236
+
237
+ :global(.omrs-breakpoint-lt-tablet) & {
238
+ font-size: 0.625rem;
239
+ padding: 0.125rem 0.375rem;
240
+ }
241
+ }
242
+
243
+ .badge {
244
+ display: inline-flex;
245
+ align-items: center;
246
+ justify-content: center;
247
+ min-width: 1.5rem;
248
+ height: 1.5rem;
249
+ padding: 0 0.375rem;
250
+ background-color: colors.$blue-20;
251
+ color: colors.$blue-70;
252
+ border-radius: 0.75rem;
253
+ @include type.type-style('label-01');
254
+ font-weight: 500;
255
+
256
+ :global(.omrs-breakpoint-lt-tablet) & {
257
+ min-width: 1.25rem;
258
+ height: 1.25rem;
259
+ padding: 0 0.25rem;
260
+ @include type.type-style('helper-text-01');
261
+ }
262
+ }
263
+
264
+ .cardBody {
265
+ width: 100%;
266
+ padding: 0.5rem;
267
+
268
+ :global(.omrs-breakpoint-lt-tablet) & {
269
+ padding: 0.375rem;
270
+ }
271
+ }
272
+
273
+ .checkUpdatesButton {
274
+ :global(.omrs-breakpoint-lt-tablet) & {
275
+ min-width: auto;
276
+ padding: 0.375rem 0.5rem;
277
+ }
278
+ }
279
+
280
+ .searchContainer {
281
+ position: relative;
282
+ margin-bottom: 0.5rem;
283
+
284
+ .searchIcon {
285
+ position: absolute;
286
+ left: 0.5rem;
287
+ top: 50%;
288
+ transform: translateY(-50%);
289
+ color: colors.$gray-70;
290
+ pointer-events: none;
291
+
292
+ :global(.omrs-breakpoint-lt-tablet) & {
293
+ width: 14px;
294
+ height: 14px;
295
+ left: 0.375rem;
296
+ }
297
+ }
298
+
299
+ .searchInput {
300
+ width: 100%;
301
+ padding: 0.5rem 2rem 0.5rem 2.25rem;
302
+ border: 0.5px solid colors.$gray-30;
303
+ border-radius: 0.25rem;
304
+ @include type.type-style('body-compact-01');
305
+ background: var(--cds-field);
306
+ transition: all 0.15s ease;
307
+
308
+ :global(.omrs-breakpoint-lt-tablet) & {
309
+ padding: 0.375rem 1.75rem 0.375rem 2rem;
310
+ @include type.type-style('helper-text-01');
311
+ }
312
+
313
+ &:focus {
314
+ outline: none;
315
+ border-color: colors.$blue-60;
316
+ }
317
+
318
+ &::placeholder {
319
+ color: colors.$gray-60;
320
+ }
321
+ }
322
+
323
+ .clearButton {
324
+ position: absolute;
325
+ right: 0.5rem;
326
+ top: 50%;
327
+ transform: translateY(-50%);
328
+ background: none;
329
+ border: none;
330
+ color: colors.$gray-70;
331
+ font-size: 1.5rem;
332
+ cursor: pointer;
333
+ padding: 0;
334
+ width: 1.5rem;
335
+ height: 1.5rem;
336
+ display: flex;
337
+ align-items: center;
338
+ justify-content: center;
339
+ border-radius: 50%;
340
+ transition: all 0.15s ease;
341
+
342
+ :global(.omrs-breakpoint-lt-tablet) & {
343
+ width: 1.25rem;
344
+ height: 1.25rem;
345
+ font-size: 1.25rem;
346
+ right: 0.375rem;
347
+ }
348
+
349
+ &:hover {
350
+ background: colors.$gray-20;
351
+ color: colors.$gray-100;
352
+ }
353
+ }
354
+ }
355
+
356
+ .moduleInfo {
357
+ display: flex;
358
+ align-items: center;
359
+ gap: 0.5rem;
360
+ min-width: 0;
361
+ flex: 1;
362
+
363
+ :global(.omrs-breakpoint-lt-tablet) & {
364
+ gap: 0.25rem;
365
+ }
366
+
367
+ .moduleIcon {
368
+ flex-shrink: 0;
369
+ color: colors.$blue-60;
370
+
371
+ :global(.omrs-breakpoint-lt-tablet) & {
372
+ width: 14px;
373
+ height: 14px;
374
+ }
375
+ }
376
+
377
+ .moduleName {
378
+ @include type.type-style('body-compact-01');
379
+ color: colors.$gray-100;
380
+ overflow: hidden;
381
+ text-overflow: ellipsis;
382
+ white-space: nowrap;
383
+
384
+ :global(.omrs-breakpoint-lt-tablet) & {
385
+ @include type.type-style('helper-text-01');
386
+ }
387
+ }
388
+ }
389
+
390
+ .moduleVersionContainer {
391
+ display: flex;
392
+ align-items: center;
393
+ gap: 0.5rem;
394
+
395
+ :global(.omrs-breakpoint-lt-tablet) & {
396
+ gap: 0.375rem;
397
+ }
398
+ }
399
+
400
+ .moduleVersion {
401
+ flex-shrink: 0;
402
+ margin-left: 0.5rem;
403
+ padding: 0.125rem 0.5rem;
404
+ background-color: colors.$blue-20;
405
+ color: colors.$blue-70;
406
+ border-radius: 0.75rem;
407
+ @include type.type-style('label-01');
408
+ font-weight: 500;
409
+
410
+ :global(.omrs-breakpoint-lt-tablet) & {
411
+ padding: 0.125rem 0.375rem;
412
+ @include type.type-style('helper-text-01');
413
+ margin-left: 0.25rem;
414
+ }
415
+ }
416
+
417
+ .emptyState {
418
+ display: flex;
419
+ flex-direction: column;
420
+ align-items: center;
421
+ justify-content: center;
422
+ padding: 2rem 1rem;
423
+ color: colors.$gray-60;
424
+
425
+ :global(.omrs-breakpoint-lt-tablet) & {
426
+ padding: 1.5rem 0.5rem;
427
+ }
428
+
429
+ svg {
430
+ margin-bottom: 0.5rem;
431
+ opacity: 0.3;
432
+
433
+ :global(.omrs-breakpoint-lt-tablet) & {
434
+ width: 24px;
435
+ height: 24px;
436
+ }
437
+ }
438
+
439
+ p {
440
+ @include type.type-style('body-compact-01');
441
+ margin: 0;
442
+
443
+ :global(.omrs-breakpoint-lt-tablet) & {
444
+ @include type.type-style('helper-text-01');
445
+ }
446
+ }
447
+ }
448
+
449
+ .moduleContent {
450
+ width: 100%;
451
+ display: flex;
452
+ flex-direction: column;
453
+ gap: 0.5rem;
454
+
455
+ :global(.omrs-breakpoint-lt-tablet) & {
456
+ gap: 0.375rem;
457
+ }
458
+ }
459
+
460
+ .moduleList {
461
+ display: flex;
462
+ flex-direction: column;
463
+ gap: 0.375rem;
464
+ width: 100%;
465
+ max-height: 400px;
466
+ overflow-y: auto;
467
+ padding-right: 0.25rem;
468
+
469
+ :global(.omrs-breakpoint-lt-desktop) & {
470
+ max-height: 350px;
471
+ }
472
+
473
+ :global(.omrs-breakpoint-lt-tablet) & {
474
+ max-height: 300px;
475
+ gap: 0.25rem;
476
+ }
477
+
478
+ &::-webkit-scrollbar {
479
+ width: 6px;
480
+
481
+ :global(.omrs-breakpoint-lt-tablet) & {
482
+ width: 4px;
483
+ }
484
+ }
485
+
486
+ &::-webkit-scrollbar-track {
487
+ background: colors.$gray-10;
488
+ border-radius: 3px;
489
+ }
490
+
491
+ &::-webkit-scrollbar-thumb {
492
+ background: colors.$gray-40;
493
+ border-radius: 3px;
494
+
495
+ &:hover {
496
+ background: colors.$gray-50;
497
+ }
498
+ }
499
+ }
500
+
501
+ .moduleItem {
502
+ display: flex;
503
+ align-items: center;
504
+ justify-content: space-between;
505
+ padding: 0.5rem;
506
+ background-color: colors.$gray-10;
507
+ border-bottom: 0.5px solid colors.$gray-30;
508
+ border-radius: 0.25rem;
509
+ transition: background-color 0.15s ease;
510
+
511
+ :global(.omrs-breakpoint-lt-tablet) & {
512
+ padding: 0.375rem;
513
+ }
514
+
515
+ &:hover {
516
+ background-color: colors.$gray-20;
517
+ }
518
+ }
519
+
520
+ .moduleName {
521
+ flex: 1;
522
+ min-width: 0;
523
+
524
+ p {
525
+ @include type.type-style('body-compact-01');
526
+ margin: 0;
527
+ overflow: hidden;
528
+ text-overflow: ellipsis;
529
+ white-space: nowrap;
530
+
531
+ :global(.omrs-breakpoint-lt-tablet) & {
532
+ @include type.type-style('helper-text-01');
533
+ }
534
+ }
535
+ }
536
+
537
+ .noModules {
538
+ text-align: center;
539
+ padding: 2rem 1rem;
540
+ color: colors.$gray-60;
541
+
542
+ :global(.omrs-breakpoint-lt-tablet) & {
543
+ padding: 1.5rem 0.5rem;
544
+ }
545
+
546
+ p {
547
+ @include type.type-style('body-compact-01');
548
+ margin: 0;
549
+
550
+ :global(.omrs-breakpoint-lt-tablet) & {
551
+ @include type.type-style('helper-text-01');
552
+ }
553
+ }
554
+ }
555
+
556
+ .moduleSummary {
557
+ margin-top: 0.25rem;
558
+ padding-top: 0.5rem;
559
+ border-top: 0.5px solid colors.$gray-30;
560
+ @include type.type-style('helper-text-01');
561
+ color: colors.$gray-70;
562
+
563
+ :global(.omrs-breakpoint-lt-tablet) & {
564
+ padding-top: 0.375rem;
565
+ font-size: 0.6875rem;
566
+ }
567
+ }
568
+
569
+ .statusIndicator {
570
+ display: flex;
571
+ align-items: center;
572
+ gap: 0.5rem;
573
+
574
+ :global(.omrs-breakpoint-lt-tablet) & {
575
+ gap: 0.375rem;
576
+ }
577
+ }
578
+
579
+ .statusIconUpToDate {
580
+ color: colors.$green-60;
581
+ flex-shrink: 0;
582
+
583
+ :global(.omrs-breakpoint-lt-tablet) & {
584
+ width: 14px;
585
+ height: 14px;
586
+ }
587
+ }
588
+
589
+ .statusIconUpdate {
590
+ color: colors.$orange-60;
591
+ flex-shrink: 0;
592
+
593
+ :global(.omrs-breakpoint-lt-tablet) & {
594
+ width: 14px;
595
+ height: 14px;
596
+ }
597
+ }
598
+
599
+ .statusIconAhead {
600
+ color: colors.$purple-60;
601
+ flex-shrink: 0;
602
+
603
+ :global(.omrs-breakpoint-lt-tablet) & {
604
+ width: 14px;
605
+ height: 14px;
606
+ }
607
+ }
608
+
609
+ .latestVersion {
610
+ @include type.type-style('helper-text-01');
611
+ color: colors.$orange-70;
612
+ font-weight: 600;
613
+ white-space: nowrap;
614
+ background-color: colors.$orange-20;
615
+ padding: 0.125rem 0.375rem;
616
+ border-radius: 0.75rem;
617
+
618
+ :global(.omrs-breakpoint-lt-tablet) & {
619
+ font-size: 0.625rem;
620
+ padding: 0.125rem 0.25rem;
621
+ }
622
+ }
@@ -0,0 +1,6 @@
1
+ export interface FrontendModule {
2
+ name: string;
3
+ version?: string;
4
+ fullName?: string;
5
+ org?: string | null;
6
+ }