@solidxai/core-ui 0.1.9-beta.19 → 0.1.9-beta.20

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 (168) hide show
  1. package/dist/components/common/GeneralSettings.js +1 -1
  2. package/dist/components/common/GeneralSettings.js.map +1 -1
  3. package/dist/components/common/GeneralSettings.tsx +1 -1
  4. package/dist/components/common/SettingsComponent.module.css +78 -2
  5. package/dist/components/common/SolidExport.d.ts.map +1 -1
  6. package/dist/components/common/SolidExport.js +1 -1
  7. package/dist/components/common/SolidExport.js.map +1 -1
  8. package/dist/components/common/SolidExport.tsx +2 -0
  9. package/dist/components/core/common/FilterComponent.d.ts.map +1 -1
  10. package/dist/components/core/common/FilterComponent.js +1 -1
  11. package/dist/components/core/common/FilterComponent.js.map +1 -1
  12. package/dist/components/core/common/FilterComponent.tsx +1 -0
  13. package/dist/components/core/common/GroupingComponent.d.ts.map +1 -1
  14. package/dist/components/core/common/GroupingComponent.js +2 -2
  15. package/dist/components/core/common/GroupingComponent.js.map +1 -1
  16. package/dist/components/core/common/GroupingComponent.tsx +2 -0
  17. package/dist/components/core/dashboard/mappers/echartsOptionMapper.d.ts.map +1 -1
  18. package/dist/components/core/dashboard/mappers/echartsOptionMapper.js +5 -2
  19. package/dist/components/core/dashboard/mappers/echartsOptionMapper.js.map +1 -1
  20. package/dist/components/core/dashboard/mappers/echartsOptionMapper.ts +5 -2
  21. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.d.ts.map +1 -1
  22. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.js +6 -1
  23. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.js.map +1 -1
  24. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.tsx +13 -1
  25. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.d.ts.map +1 -1
  26. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.js +54 -10
  27. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.js.map +1 -1
  28. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.tsx +56 -10
  29. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js +1 -1
  30. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js.map +1 -1
  31. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.tsx +1 -1
  32. package/dist/components/core/filter/fields/SolidBooleanField.d.ts.map +1 -1
  33. package/dist/components/core/filter/fields/SolidBooleanField.js +1 -1
  34. package/dist/components/core/filter/fields/SolidBooleanField.js.map +1 -1
  35. package/dist/components/core/filter/fields/SolidBooleanField.tsx +3 -2
  36. package/dist/components/core/filter/fields/SolidDateField.d.ts.map +1 -1
  37. package/dist/components/core/filter/fields/SolidDateField.js +1 -1
  38. package/dist/components/core/filter/fields/SolidDateField.js.map +1 -1
  39. package/dist/components/core/filter/fields/SolidDateField.tsx +2 -1
  40. package/dist/components/core/filter/fields/SolidDatetimeField.d.ts.map +1 -1
  41. package/dist/components/core/filter/fields/SolidDatetimeField.js +1 -1
  42. package/dist/components/core/filter/fields/SolidDatetimeField.js.map +1 -1
  43. package/dist/components/core/filter/fields/SolidDatetimeField.tsx +3 -2
  44. package/dist/components/core/filter/fields/SolidExternalIdField.d.ts.map +1 -1
  45. package/dist/components/core/filter/fields/SolidExternalIdField.js +1 -1
  46. package/dist/components/core/filter/fields/SolidExternalIdField.js.map +1 -1
  47. package/dist/components/core/filter/fields/SolidExternalIdField.tsx +2 -1
  48. package/dist/components/core/filter/fields/SolidIdField.d.ts.map +1 -1
  49. package/dist/components/core/filter/fields/SolidIdField.js +1 -1
  50. package/dist/components/core/filter/fields/SolidIdField.js.map +1 -1
  51. package/dist/components/core/filter/fields/SolidIdField.tsx +1 -0
  52. package/dist/components/core/filter/fields/SolidIntField.d.ts.map +1 -1
  53. package/dist/components/core/filter/fields/SolidIntField.js +1 -1
  54. package/dist/components/core/filter/fields/SolidIntField.js.map +1 -1
  55. package/dist/components/core/filter/fields/SolidIntField.tsx +2 -1
  56. package/dist/components/core/filter/fields/SolidMediaMultipleField.d.ts.map +1 -1
  57. package/dist/components/core/filter/fields/SolidMediaMultipleField.js +1 -1
  58. package/dist/components/core/filter/fields/SolidMediaMultipleField.js.map +1 -1
  59. package/dist/components/core/filter/fields/SolidMediaMultipleField.tsx +2 -1
  60. package/dist/components/core/filter/fields/SolidMediaSingleField.d.ts.map +1 -1
  61. package/dist/components/core/filter/fields/SolidMediaSingleField.js +1 -1
  62. package/dist/components/core/filter/fields/SolidMediaSingleField.js.map +1 -1
  63. package/dist/components/core/filter/fields/SolidMediaSingleField.tsx +2 -1
  64. package/dist/components/core/filter/fields/SolidSelectionDynamicField.d.ts.map +1 -1
  65. package/dist/components/core/filter/fields/SolidSelectionDynamicField.js +1 -1
  66. package/dist/components/core/filter/fields/SolidSelectionDynamicField.js.map +1 -1
  67. package/dist/components/core/filter/fields/SolidSelectionDynamicField.tsx +3 -2
  68. package/dist/components/core/filter/fields/SolidSelectionStaticField.d.ts.map +1 -1
  69. package/dist/components/core/filter/fields/SolidSelectionStaticField.js +1 -1
  70. package/dist/components/core/filter/fields/SolidSelectionStaticField.js.map +1 -1
  71. package/dist/components/core/filter/fields/SolidSelectionStaticField.tsx +3 -2
  72. package/dist/components/core/filter/fields/SolidShortTextField.d.ts.map +1 -1
  73. package/dist/components/core/filter/fields/SolidShortTextField.js +1 -1
  74. package/dist/components/core/filter/fields/SolidShortTextField.js.map +1 -1
  75. package/dist/components/core/filter/fields/SolidShortTextField.tsx +2 -1
  76. package/dist/components/core/filter/fields/SolidTimeField.d.ts.map +1 -1
  77. package/dist/components/core/filter/fields/SolidTimeField.js +1 -1
  78. package/dist/components/core/filter/fields/SolidTimeField.js.map +1 -1
  79. package/dist/components/core/filter/fields/SolidTimeField.tsx +3 -2
  80. package/dist/components/core/filter/fields/SolidUuidField.d.ts.map +1 -1
  81. package/dist/components/core/filter/fields/SolidUuidField.js +1 -1
  82. package/dist/components/core/filter/fields/SolidUuidField.js.map +1 -1
  83. package/dist/components/core/filter/fields/SolidUuidField.tsx +2 -1
  84. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  85. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js +1 -1
  86. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  87. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.tsx +3 -2
  88. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  89. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js +1 -1
  90. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  91. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.tsx +3 -2
  92. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -1
  93. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js +1 -1
  94. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  95. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.tsx +3 -2
  96. package/dist/components/core/form/SolidFormFooter.js +1 -1
  97. package/dist/components/core/form/SolidFormFooter.js.map +1 -1
  98. package/dist/components/core/form/SolidFormFooter.tsx +1 -1
  99. package/dist/components/core/form/SolidFormView.js +2 -2
  100. package/dist/components/core/form/SolidFormView.js.map +1 -1
  101. package/dist/components/core/form/SolidFormView.tsx +2 -2
  102. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +1 -1
  103. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  104. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +1 -1
  105. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +1 -1
  106. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  107. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +1 -1
  108. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js +1 -1
  109. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  110. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +1 -1
  111. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js +1 -1
  112. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js.map +1 -1
  113. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.tsx +1 -1
  114. package/dist/components/core/kanban/SolidKanbanView.js +1 -1
  115. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  116. package/dist/components/core/kanban/SolidKanbanView.tsx +1 -1
  117. package/dist/components/core/list/SolidDataTable.d.ts.map +1 -1
  118. package/dist/components/core/list/SolidDataTable.js +2 -1
  119. package/dist/components/core/list/SolidDataTable.js.map +1 -1
  120. package/dist/components/core/list/SolidDataTable.tsx +8 -9
  121. package/dist/components/core/list/SolidListView.js +13 -15
  122. package/dist/components/core/list/SolidListView.js.map +1 -1
  123. package/dist/components/core/list/SolidListView.tsx +12 -12
  124. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js +1 -1
  125. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
  126. package/dist/components/core/list/columns/SolidMediaMultipleColumn.tsx +1 -1
  127. package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
  128. package/dist/components/core/model/FieldMetaData.js +1 -1
  129. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  130. package/dist/components/core/model/FieldMetaData.tsx +10 -4
  131. package/dist/components/core/tree/SolidTreeView.js +2 -2
  132. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  133. package/dist/components/core/tree/SolidTreeView.tsx +3 -3
  134. package/dist/components/core/users/CreateUser.js +1 -1
  135. package/dist/components/core/users/CreateUser.js.map +1 -1
  136. package/dist/components/core/users/CreateUser.tsx +1 -1
  137. package/dist/components/layout/AdminHeaderActions.d.ts +7 -0
  138. package/dist/components/layout/AdminHeaderActions.d.ts.map +1 -0
  139. package/dist/components/layout/AdminHeaderActions.js +77 -0
  140. package/dist/components/layout/AdminHeaderActions.js.map +1 -0
  141. package/dist/components/layout/AdminHeaderActions.tsx +155 -0
  142. package/dist/components/layout/AdminTopHeader.d.ts.map +1 -1
  143. package/dist/components/layout/AdminTopHeader.js +3 -16
  144. package/dist/components/layout/AdminTopHeader.js.map +1 -1
  145. package/dist/components/layout/AdminTopHeader.tsx +4 -64
  146. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  147. package/dist/components/layout/AppSidebar.js +2 -1
  148. package/dist/components/layout/AppSidebar.js.map +1 -1
  149. package/dist/components/layout/AppSidebar.tsx +2 -0
  150. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts +1 -1
  151. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts.map +1 -1
  152. package/dist/components/shad-cn-ui/SolidDatePicker.js +2 -2
  153. package/dist/components/shad-cn-ui/SolidDatePicker.js.map +1 -1
  154. package/dist/components/shad-cn-ui/SolidDatePicker.tsx +4 -0
  155. package/dist/components/shad-cn-ui/SolidSelect.d.ts +2 -1
  156. package/dist/components/shad-cn-ui/SolidSelect.d.ts.map +1 -1
  157. package/dist/components/shad-cn-ui/SolidSelect.js +51 -1
  158. package/dist/components/shad-cn-ui/SolidSelect.js.map +1 -1
  159. package/dist/components/shad-cn-ui/SolidSelect.tsx +95 -0
  160. package/dist/resources/globals.css +93 -12
  161. package/dist/resources/shadcn-base.css +339 -171
  162. package/dist/resources/solid-responsive.css +235 -50
  163. package/dist/routes/pages/admin/core/DashboardPage.d.ts.map +1 -1
  164. package/dist/routes/pages/admin/core/DashboardPage.js +101 -21
  165. package/dist/routes/pages/admin/core/DashboardPage.js.map +1 -1
  166. package/dist/routes/pages/admin/core/DashboardPage.module.css +33 -0
  167. package/dist/routes/pages/admin/core/DashboardPage.tsx +144 -17
  168. package/package.json +1 -1
@@ -1,21 +1,25 @@
1
- @media(max-width:1399px){
2
-
3
- .kanban-ungrouped-column-content {
4
- column-gap: 20px;
5
- }
6
-
7
- .kanban-card-container {
8
- margin-top: 1.5rem;
9
- }
10
-
11
- .kanban-ungrouped-column .kanban-card-container {
12
- flex: 1 1 calc(20% - 20px);
13
- max-width: calc(20% - 20px);
14
- }
15
-
16
- .solid-card-view-grid {
17
- grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
18
- }
1
+ @media(max-width:1399px) {
2
+
3
+ .kanban-ungrouped-column-content {
4
+ column-gap: 20px;
5
+ }
6
+
7
+ .kanban-card-container {
8
+ margin-top: 1.5rem;
9
+ }
10
+
11
+ .kanban-ungrouped-column .kanban-card-container {
12
+ flex: 1 1 calc(20% - 20px);
13
+ max-width: calc(20% - 20px);
14
+ }
15
+
16
+ .solid-card-view-grid {
17
+ grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
18
+ }
19
+
20
+ .solid-kanban-board-wrapper {
21
+ width: calc(100vw - 315px) !important;
22
+ }
19
23
  }
20
24
 
21
25
  @media (max-width: 1199px) {
@@ -149,12 +153,15 @@
149
153
  .kanban-ungrouped-column .kanban-card-container {
150
154
  flex: 1 1 calc(33.33% - 20px);
151
155
  max-width: calc(33.33% - 20px);
152
- }
156
+ }
153
157
 
154
158
  .solid-card-view-grid {
155
159
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
156
- }
160
+ }
157
161
 
162
+ .solid-kanban-board-wrapper {
163
+ width: calc(100vw - 40px) !important;
164
+ }
158
165
  }
159
166
 
160
167
 
@@ -223,12 +230,12 @@
223
230
  }
224
231
 
225
232
  .solid-custom-filter-wrapper .p-inputtext {
226
- width: 100%;
233
+ width: 100% !important;
227
234
  }
228
235
 
229
236
  .solid-global-search-element {
230
237
  min-height: 36px;
231
- height: auto;
238
+ height: auto !important;
232
239
  }
233
240
 
234
241
  .solid-global-search-element input {
@@ -302,9 +309,32 @@
302
309
  .solid-form-header {
303
310
  padding: 10px 16px 16px 20px !important;
304
311
  }
305
- .solid-form-wrapper .solid-form-content {
312
+
313
+
314
+ /* .solid-form-wrapper .solid-form-content {
315
+ height: calc(100vh - 165px) !important;
316
+ } */
317
+
318
+ .solid-form-wrapper .solid-form-content.solid-form-view {
319
+ height: calc(100vh - 167px) !important;
320
+ }
321
+
322
+ .solid-form-wrapper .solid-form-content.solid-form-edit {
323
+ height: calc(100vh - 135px) !important;
324
+ }
325
+
326
+ /* .solid-form-wrapper .solid-form-content {
306
327
  height: calc(100vh - 139px) !important;
307
- }
328
+ }
329
+ */
330
+
331
+ .solid-inline-relation-dialog .solid-form-content,
332
+ .solid-inline-relation-dialog .solid-create-mode-form-content {
333
+ height: auto !important;
334
+ max-height: none !important;
335
+ overflow: visible !important;
336
+
337
+ }
308
338
 
309
339
 
310
340
  .solid-text-wrapper {
@@ -327,6 +357,21 @@
327
357
  }
328
358
 
329
359
 
360
+ .solid-list-surface {
361
+ height: calc(100vh - 70px) !important;
362
+ }
363
+
364
+ .solid-export-summary-chip {
365
+ max-height: 16px;
366
+ }
367
+
368
+ .solid-radix-dialog-content {
369
+ width: 85vw !important;
370
+ }
371
+
372
+ .solid-file-upload-wrapper {
373
+ padding: 6px 6px 6px 0px;
374
+ }
330
375
 
331
376
  }
332
377
 
@@ -415,7 +460,7 @@
415
460
  }
416
461
 
417
462
  .p-dialog .p-dialog-header {
418
- padding: 1rem 1.5rem ;
463
+ padding: 1rem 1.5rem;
419
464
  }
420
465
 
421
466
  .solid-icon-dialog {
@@ -447,7 +492,7 @@
447
492
  }
448
493
 
449
494
 
450
-
495
+
451
496
  /* ================= cog wheel ================== */
452
497
  .customize-layout-panel.p-overlaypanel {
453
498
  top: 16% !important;
@@ -487,9 +532,9 @@
487
532
  width: calc(100vw - 80px);
488
533
  }
489
534
 
490
- .solid-global-search-element input {
535
+ .solid-global-search-element input {
491
536
  height: 28px;
492
- }
537
+ }
493
538
 
494
539
  .solid-filter-auto-complete-field button {
495
540
  height: 2.5rem !important;
@@ -530,9 +575,24 @@
530
575
  padding: 10px 16px 12px 16px !important;
531
576
  }
532
577
 
533
- .solid-form-wrapper .solid-form-content {
578
+ .solid-form-wrapper .solid-form-content.solid-form-view {
579
+ height: calc(100vh - 167px) !important;
580
+ }
581
+
582
+ .solid-form-wrapper .solid-form-content.solid-form-edit {
583
+ height: calc(100vh - 135px) !important;
584
+ }
585
+
586
+ /* .solid-form-wrapper .solid-form-content {
534
587
  height: calc(100vh - 132px) !important;
535
- }
588
+ } */
589
+
590
+ .solid-inline-relation-dialog .solid-form-content,
591
+ .solid-inline-relation-dialog .solid-create-mode-form-content {
592
+ height: auto !important;
593
+ max-height: none !important;
594
+ overflow: visible !important;
595
+ }
536
596
 
537
597
  .form-wrapper-title {
538
598
  font-size: 14px !important;
@@ -566,7 +626,7 @@
566
626
  text-overflow: ellipsis;
567
627
  }
568
628
 
569
- .solid-module-mobile-text-wrapper{
629
+ .solid-module-mobile-text-wrapper {
570
630
  max-width: clamp(180px, 65vw, 600px);
571
631
  white-space: nowrap;
572
632
  overflow: hidden;
@@ -576,18 +636,97 @@
576
636
  .kanban-ungrouped-column .kanban-card-container {
577
637
  flex: 1 1 calc(50% - 20px);
578
638
  max-width: calc(50% - 20px);
579
- }
639
+ }
580
640
 
581
- .solid-card-view-grid {
641
+ .solid-card-view-grid {
582
642
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
583
- }
643
+ }
584
644
 
585
- .solid-img-text-wrapper{
645
+ .solid-img-text-wrapper {
586
646
  max-width: clamp(180px, 60vw, 600px);
587
647
  white-space: nowrap;
588
648
  overflow: hidden;
589
649
  text-overflow: ellipsis;
590
650
  }
651
+
652
+ .solid-popover-content.solid-custom-overlay.solid-form-stepper-overlay {
653
+ left: -86px !important;
654
+ }
655
+
656
+ .solid-list-page-wrapper {
657
+ padding: 8px;
658
+ }
659
+
660
+ .solid-global-search-element {
661
+ padding: 0px !important;
662
+ }
663
+
664
+ .solid-global-search-element ul {
665
+ /* padding: 3px !important; */
666
+ }
667
+
668
+ .solid-autocomplete-chip {
669
+ min-height: 22px !important;
670
+ height: 22px !important;
671
+ }
672
+
673
+ .solid-filter-builder,
674
+ .solid-filter-rule-row,
675
+ .solid-filter-control-wrap {
676
+ overflow: visible;
677
+ }
678
+
679
+ .dialog-content {
680
+ overflow-x: hidden;
681
+ overflow-y: auto;
682
+ }
683
+
684
+ .solid-select-wrap {
685
+ width: 100%;
686
+ min-width: 0;
687
+ }
688
+
689
+ .solid-select {
690
+ width: 100%;
691
+ max-width: 100%;
692
+ }
693
+
694
+ .solid-filter-rule-field,
695
+ .solid-filter-rule-value {
696
+ min-width: 0;
697
+ }
698
+
699
+ .solid-radix-dialog-content {
700
+ width: 95vw !important;
701
+ }
702
+
703
+ .solid-media-column-text-wrapper {
704
+ max-width: clamp(200px, 34vw, 600px);
705
+ white-space: nowrap;
706
+ overflow: hidden;
707
+ text-overflow: ellipsis;
708
+ }
709
+
710
+ .solid-list-view-text-wrapper {
711
+ max-width: clamp(200px, 50vw, 600px);
712
+ white-space: nowrap;
713
+ overflow: hidden;
714
+ text-overflow: ellipsis;
715
+ }
716
+
717
+ .solid-bread-crum-text-wrapper {
718
+ max-width: clamp(150px, 35vw, 600px);
719
+ white-space: nowrap;
720
+ overflow: hidden;
721
+ text-overflow: ellipsis;
722
+ }
723
+
724
+
725
+
726
+ .solid-form-actions-menu {
727
+ gap: 0px;
728
+ }
729
+
591
730
  }
592
731
 
593
732
 
@@ -619,6 +758,20 @@
619
758
  font-size: 0.9rem !important;
620
759
  }
621
760
 
761
+ .solid-inline-relation-dialog {
762
+ width: calc(100vw - 12px) !important;
763
+ max-width: calc(100vw - 12px) !important;
764
+ max-height: calc(100dvh - 12px) !important;
765
+ border-radius: 16px !important;
766
+ }
767
+
768
+ .solid-inline-relation-dialog .solid-form-content,
769
+ .solid-inline-relation-dialog .solid-create-mode-form-content {
770
+ height: auto !important;
771
+ max-height: none !important;
772
+ overflow: visible !important;
773
+ }
774
+
622
775
  .text-base {
623
776
  font-size: 0.9rem !important;
624
777
  }
@@ -649,20 +802,26 @@
649
802
  width: 90% !important;
650
803
  }
651
804
 
652
- .solid-module-mobile-text-wrapper{
805
+ .solid-module-mobile-text-wrapper {
653
806
  max-width: clamp(120px, 52vw, 600px);
654
807
  white-space: nowrap;
655
808
  overflow: hidden;
656
809
  text-overflow: ellipsis;
657
810
  }
658
811
 
659
- .solid-img-text-wrapper{
812
+ .solid-img-text-wrapper {
660
813
  max-width: clamp(180px, 50vw, 600px);
661
814
  white-space: nowrap;
662
815
  overflow: hidden;
663
816
  text-overflow: ellipsis;
664
817
  }
665
818
 
819
+ .solid-permisson-text-wrapper {
820
+ max-width: clamp(150px, 65vw, 600px);
821
+ white-space: nowrap;
822
+ overflow: hidden;
823
+ text-overflow: ellipsis;
824
+ }
666
825
 
667
826
  }
668
827
 
@@ -670,11 +829,11 @@
670
829
 
671
830
  /* ===================== Solid Kanban ==================== */
672
831
 
673
- .kanban-column:not(.kanban-column-folded) {
832
+ /* .kanban-column:not(.kanban-column-folded) {
674
833
  min-width: 72% !important;
675
834
  max-width: 80% !important;
676
835
  width: 72% !important;
677
- }
836
+ } */
678
837
 
679
838
  .kanban-column-folded {
680
839
  min-width: fit-content !important;
@@ -686,18 +845,18 @@
686
845
  .kanban-ungrouped-column .kanban-card-container {
687
846
  flex: 1 1 100%;
688
847
  max-width: 100%;
689
- }
848
+ }
690
849
 
691
850
  .solid-card-view-body {
692
851
  padding-left: 12px;
693
852
  padding-right: 12px;
694
- }
853
+ }
695
854
 
696
855
  .solid-card-view-grid {
697
856
  grid-template-columns: 1fr;
698
857
  gap: 12px;
699
- }
700
-
858
+ }
859
+
701
860
 
702
861
 
703
862
 
@@ -726,17 +885,43 @@
726
885
 
727
886
 
728
887
 
729
- .solid-text-wrapper {
888
+ /* .solid-text-wrapper {
730
889
  max-width: clamp(80px, 23vw, 600px);
731
890
  white-space: nowrap;
732
891
  overflow: hidden;
733
892
  text-overflow: ellipsis;
734
- }
893
+ } */
735
894
 
736
895
 
737
- .solid-img-text-wrapper{
896
+ .solid-img-text-wrapper {
738
897
  max-width: clamp(170px, 40vw, 600px);
739
898
  }
899
+
900
+ .solid-form-stepper-overlay {
901
+ width: max-content;
902
+ min-width: 208px;
903
+ max-width: min(300px, calc(100vw - 40px));
904
+ }
905
+
906
+ .solid-popover-content.solid-custom-overlay.solid-form-stepper-overlay {
907
+ left: -86px !important;
908
+ }
909
+
910
+
911
+ .solid-list-view-text-wrapper {
912
+ max-width: clamp(100px, 43vw, 600px);
913
+ white-space: nowrap;
914
+ overflow: hidden;
915
+ text-overflow: ellipsis;
916
+ }
917
+
918
+
919
+ .solid-bread-crum-text-wrapper {
920
+ max-width: clamp(110px, 30vw, 600px);
921
+ white-space: nowrap;
922
+ overflow: hidden;
923
+ text-overflow: ellipsis;
924
+ }
740
925
  }
741
926
 
742
927
 
@@ -757,9 +942,9 @@
757
942
  }
758
943
 
759
944
 
760
- @media(max-width:400px){
761
- .solid-img-text-wrapper{
945
+ @media(max-width:400px) {
946
+ .solid-img-text-wrapper {
762
947
  max-width: clamp(137px, 34vw, 600px);
763
-
948
+
764
949
  }
765
- }
950
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"DashboardPage.d.ts","sourceRoot":"","sources":["../../../../../src/routes/pages/admin/core/DashboardPage.tsx"],"names":[],"mappings":"AAIA,OAAO,kCAAkC,CAAC;AAiV1C,wBAAgB,aAAa,4CAmjB5B"}
1
+ {"version":3,"file":"DashboardPage.d.ts","sourceRoot":"","sources":["../../../../../src/routes/pages/admin/core/DashboardPage.tsx"],"names":[],"mappings":"AAIA,OAAO,kCAAkC,CAAC;AAqa1C,wBAAgB,aAAa,4CA8lB5B"}
@@ -112,6 +112,58 @@ var sortLayoutItems = function (items) {
112
112
  return ((_c = a === null || a === void 0 ? void 0 : a.x) !== null && _c !== void 0 ? _c : 0) - ((_d = b === null || b === void 0 ? void 0 : b.x) !== null && _d !== void 0 ? _d : 0);
113
113
  });
114
114
  };
115
+ var MOBILE_DASHBOARD_BREAKPOINT = 960;
116
+ var TABLET_DASHBOARD_BREAKPOINT = 1280;
117
+ var getResponsiveDashboardColumns = function (viewportWidth, baseColumns) {
118
+ var safeBaseColumns = Math.max(1, baseColumns || 1);
119
+ if (viewportWidth < MOBILE_DASHBOARD_BREAKPOINT)
120
+ return 1;
121
+ if (viewportWidth < TABLET_DASHBOARD_BREAKPOINT)
122
+ return Math.min(6, safeBaseColumns);
123
+ return safeBaseColumns;
124
+ };
125
+ var compactLayoutItemsForColumns = function (items, sourceColumns, targetColumns) {
126
+ var normalizedSourceColumns = Math.max(1, sourceColumns || 1);
127
+ var normalizedTargetColumns = Math.max(1, targetColumns || 1);
128
+ if (normalizedTargetColumns >= normalizedSourceColumns) {
129
+ return sortLayoutItems(items);
130
+ }
131
+ var sortedItems = sortLayoutItems(items);
132
+ var compactedItems = [];
133
+ var cursorX = 0;
134
+ var cursorY = 0;
135
+ var rowHeight = 0;
136
+ sortedItems.forEach(function (item) {
137
+ var _a, _b;
138
+ var widthRatio = normalizedSourceColumns > 0 ? ((_a = item.w) !== null && _a !== void 0 ? _a : 1) / normalizedSourceColumns : 1;
139
+ var sourceHeight = Math.max(1, (_b = item.h) !== null && _b !== void 0 ? _b : 1);
140
+ var nextWidth = normalizedTargetColumns === 1
141
+ ? 1
142
+ : Math.max(1, Math.min(normalizedTargetColumns, item.w >= normalizedSourceColumns ? normalizedTargetColumns : Math.round(widthRatio * normalizedTargetColumns)));
143
+ var nextHeight = normalizedTargetColumns === 1 && sourceHeight <= 2 ? 1 : sourceHeight;
144
+ if (cursorX > 0 && cursorX + nextWidth > normalizedTargetColumns) {
145
+ cursorY += Math.max(rowHeight, 1);
146
+ cursorX = 0;
147
+ rowHeight = 0;
148
+ }
149
+ var scaledMinWidth = item.minW !== undefined
150
+ ? Math.max(1, Math.min(nextWidth, Math.round((Math.max(item.minW, 1) / normalizedSourceColumns) * normalizedTargetColumns) || 1))
151
+ : undefined;
152
+ var scaledMinHeight = item.minH !== undefined
153
+ ? Math.max(1, Math.min(nextHeight, Math.max(item.minH, 1)))
154
+ : undefined;
155
+ var normalizedItem = __assign(__assign({}, item), { x: cursorX, y: cursorY, w: nextWidth, h: nextHeight, minW: scaledMinWidth, minH: scaledMinHeight });
156
+ compactedItems.push(normalizedItem);
157
+ cursorX += nextWidth;
158
+ rowHeight = Math.max(rowHeight, nextHeight);
159
+ if (cursorX >= normalizedTargetColumns) {
160
+ cursorY += Math.max(rowHeight, 1);
161
+ cursorX = 0;
162
+ rowHeight = 0;
163
+ }
164
+ });
165
+ return compactedItems;
166
+ };
115
167
  var toLayoutItems = function (items) {
116
168
  return (items !== null && items !== void 0 ? items : [])
117
169
  .filter(function (item) { var _a; return !!((_a = item === null || item === void 0 ? void 0 : item.widgetId) !== null && _a !== void 0 ? _a : item === null || item === void 0 ? void 0 : item.id); })
@@ -355,12 +407,25 @@ export function DashboardPage() {
355
407
  var _m = useState({}), dynamicOptions = _m[0], setDynamicOptions = _m[1];
356
408
  var _o = useState(null), draftLayoutItems = _o[0], setDraftLayoutItems = _o[1];
357
409
  var _p = useState(false), isFilterDialogOpen = _p[0], setIsFilterDialogOpen = _p[1];
410
+ var _q = useState(function () {
411
+ return typeof window === "undefined" ? TABLET_DASHBOARD_BREAKPOINT : window.innerWidth;
412
+ }), viewportWidth = _q[0], setViewportWidth = _q[1];
358
413
  var bootstrappedRef = useRef(false);
359
414
  var variables = useMemo(function () { return (Array.isArray(definition === null || definition === void 0 ? void 0 : definition.variables) ? definition.variables : []); }, [definition]);
360
415
  var definitionWidgets = useMemo(function () { return (Array.isArray(definition === null || definition === void 0 ? void 0 : definition.widgets) ? definition.widgets : []); }, [definition]);
361
416
  var effectiveLayoutItems = useMemo(function () { var _a, _b; return toLayoutItems((_b = (_a = layoutData === null || layoutData === void 0 ? void 0 : layoutData.effectiveLayout) === null || _a === void 0 ? void 0 : _a.items) !== null && _b !== void 0 ? _b : []); }, [layoutData]);
362
417
  var gridColumns = Number((_d = (_c = layoutData === null || layoutData === void 0 ? void 0 : layoutData.effectiveLayout) === null || _c === void 0 ? void 0 : _c.columns) !== null && _d !== void 0 ? _d : 12) || 12;
418
+ var activeGridColumns = useMemo(function () { return getResponsiveDashboardColumns(viewportWidth, gridColumns); }, [gridColumns, viewportWidth]);
419
+ var isCompactLayout = activeGridColumns !== gridColumns;
363
420
  var defaultFilterValues = useMemo(function () { return buildDefaultFilterValues(variables); }, [variables]);
421
+ useEffect(function () {
422
+ var handleViewportResize = function () {
423
+ setViewportWidth(window.innerWidth);
424
+ };
425
+ handleViewportResize();
426
+ window.addEventListener("resize", handleViewportResize);
427
+ return function () { return window.removeEventListener("resize", handleViewportResize); };
428
+ }, []);
364
429
  useEffect(function () {
365
430
  if (!definition || bootstrappedRef.current)
366
431
  return;
@@ -480,6 +545,28 @@ export function DashboardPage() {
480
545
  effectiveLayoutItems.forEach(function (item) { return map.set(item.widgetId, item); });
481
546
  return map;
482
547
  }, [effectiveLayoutItems]);
548
+ var baseLayoutItems = useMemo(function () {
549
+ if (effectiveLayoutItems.length)
550
+ return effectiveLayoutItems;
551
+ return orderedWidgets.map(function (widget, index) {
552
+ var _a, _b;
553
+ return ({
554
+ widgetId: (_b = (_a = widget === null || widget === void 0 ? void 0 : widget.id) !== null && _a !== void 0 ? _a : widget === null || widget === void 0 ? void 0 : widget.name) !== null && _b !== void 0 ? _b : "widget-".concat(index),
555
+ x: 0,
556
+ y: index * 3,
557
+ w: 4,
558
+ h: 3,
559
+ });
560
+ });
561
+ }, [effectiveLayoutItems, orderedWidgets]);
562
+ var renderedLayoutItems = useMemo(function () {
563
+ return compactLayoutItemsForColumns(baseLayoutItems, gridColumns, activeGridColumns);
564
+ }, [activeGridColumns, baseLayoutItems, gridColumns]);
565
+ var renderedWidgetLayoutMap = useMemo(function () {
566
+ var map = new Map();
567
+ renderedLayoutItems.forEach(function (item) { return map.set(item.widgetId, item); });
568
+ return map;
569
+ }, [renderedLayoutItems]);
483
570
  var appliedFilterCount = useMemo(function () {
484
571
  return variables.reduce(function (count, variable) {
485
572
  var name = variable === null || variable === void 0 ? void 0 : variable.name;
@@ -499,18 +586,7 @@ export function DashboardPage() {
499
586
  gridInstanceRef.current.destroy(false);
500
587
  gridInstanceRef.current = null;
501
588
  }
502
- var initialLayout = effectiveLayoutItems.length
503
- ? effectiveLayoutItems
504
- : orderedWidgets.map(function (widget, index) {
505
- var _a, _b;
506
- return ({
507
- widgetId: (_b = (_a = widget === null || widget === void 0 ? void 0 : widget.id) !== null && _a !== void 0 ? _a : widget === null || widget === void 0 ? void 0 : widget.name) !== null && _b !== void 0 ? _b : "widget-".concat(index),
508
- x: 0,
509
- y: index * 3,
510
- w: 4,
511
- h: 3,
512
- });
513
- });
589
+ var initialLayout = renderedLayoutItems.length ? renderedLayoutItems : baseLayoutItems;
514
590
  var gridWidgets = initialLayout.map(function (item) { return ({
515
591
  id: item.widgetId,
516
592
  x: item.x,
@@ -521,10 +597,12 @@ export function DashboardPage() {
521
597
  minH: item.minH,
522
598
  }); });
523
599
  var instance = GridStack.init({
524
- column: gridColumns,
525
- cellHeight: 92,
526
- margin: 8,
600
+ column: activeGridColumns,
601
+ cellHeight: activeGridColumns === 1 ? 90 : 92,
602
+ margin: activeGridColumns === 1 ? 10 : 8,
527
603
  float: true,
604
+ disableDrag: isCompactLayout,
605
+ disableResize: isCompactLayout,
528
606
  }, gridRef.current);
529
607
  // React renders the DOM; make sure Gridstack converts every item node to a widget,
530
608
  // then explicitly apply layout from API to avoid attribute-parsing or timing issues.
@@ -535,7 +613,7 @@ export function DashboardPage() {
535
613
  instance.makeWidget(itemEl);
536
614
  }
537
615
  });
538
- instance.column(gridColumns, "none");
616
+ instance.column(activeGridColumns, "none");
539
617
  instance.load(gridWidgets, false);
540
618
  instance.batchUpdate(false);
541
619
  notifyDashboardChartsToResize();
@@ -553,7 +631,7 @@ export function DashboardPage() {
553
631
  if (gridInstanceRef.current === instance)
554
632
  gridInstanceRef.current = null;
555
633
  };
556
- }, [orderedWidgets, gridColumns, effectiveLayoutItems]);
634
+ }, [activeGridColumns, baseLayoutItems, isCompactLayout, orderedWidgets, renderedLayoutItems]);
557
635
  var handleDraftVariableChange = function (variableName, value) {
558
636
  setFilterDraftValues(function (prev) {
559
637
  var _a;
@@ -653,6 +731,8 @@ export function DashboardPage() {
653
731
  case 0:
654
732
  if (!moduleName || !dashboardName)
655
733
  return [2 /*return*/];
734
+ if (isCompactLayout)
735
+ return [2 /*return*/];
656
736
  liveGridLayout = getAllLayoutItemsFromGrid(gridInstanceRef.current);
657
737
  baseLayout = effectiveLayoutItems.length ? effectiveLayoutItems : [];
658
738
  items = liveGridLayout.length
@@ -774,12 +854,12 @@ export function DashboardPage() {
774
854
  if (definitionLoading) {
775
855
  return (_jsx("div", { className: styles.page, children: _jsx(SolidSpinner, {}) }));
776
856
  }
777
- return (_jsxs("div", { className: styles.page, children: [_jsxs("div", { className: styles.header, children: [_jsxs("div", { className: styles.titleBlock, children: [_jsx("h1", { className: styles.title, children: getDashboardTitle(definition, dashboardName) }), _jsx("p", { className: styles.subtitle, children: (_e = definition === null || definition === void 0 ? void 0 : definition.description) !== null && _e !== void 0 ? _e : "".concat(moduleName, " / ").concat(dashboardName) })] }), _jsxs("div", { className: styles.headerActions, children: [_jsxs("div", { className: styles.filterButtonWrap, children: [_jsx(SolidButton, { className: styles.iconButton, leftIcon: _jsx(Filter, { size: 16 }), onClick: function () { return setIsFilterDialogOpen(true); }, tooltip: "Filters", "aria-label": "Filters" }), appliedFilterCount > 0 ? _jsx("span", { className: styles.filterCountBadge, children: appliedFilterCount }) : null] }), _jsx(SolidButton, { className: styles.iconButton, leftIcon: _jsx(RefreshCw, { size: 16 }), onClick: function () { return void handleRefresh(); }, disabled: dataLoading, tooltip: "Refresh", "aria-label": "Refresh" }), _jsx(SolidButton, { className: styles.iconButton, leftIcon: _jsx(Save, { size: 16 }), onClick: function () { return void handleSaveLayout(); }, disabled: saveLayoutLoading, tooltip: "Save Layout", "aria-label": "Save Layout" })] })] }), _jsxs(SolidDialog, { open: isFilterDialogOpen, onOpenChange: setIsFilterDialogOpen, header: "Dashboard Filters", contentClassName: styles.filterDialogContent, children: [_jsx(SolidDialogBody, { children: _jsx("div", { className: styles.filterModalColumn, children: variables.map(renderVariable) }) }), _jsxs(SolidDialogFooter, { className: styles.filterModalActions, children: [_jsx(SolidButton, { variant: "outline", onClick: function () { return void handleClearFilters(); }, children: "Clear" }), _jsx(SolidButton, { onClick: function () { return void handleApplyFilters(); }, children: "Apply" })] })] }), dataError ? _jsx("p", { className: styles.error, children: "Failed to load dashboard data." }) : null, _jsx("div", { ref: gridRef, className: "grid-stack ".concat(styles.gridStack), children: orderedWidgets.map(function (widget) {
778
- var _a, _b, _c, _d, _e, _f, _g;
857
+ return (_jsxs("div", { className: styles.page, children: [_jsxs("div", { className: styles.header, children: [_jsxs("div", { className: styles.titleBlock, children: [_jsx("h1", { className: styles.title, children: getDashboardTitle(definition, dashboardName) }), _jsx("p", { className: styles.subtitle, children: (_e = definition === null || definition === void 0 ? void 0 : definition.description) !== null && _e !== void 0 ? _e : "".concat(moduleName, " / ").concat(dashboardName) })] }), _jsxs("div", { className: styles.headerActions, children: [_jsxs("div", { className: styles.filterButtonWrap, children: [_jsx(SolidButton, { className: styles.iconButton, leftIcon: _jsx(Filter, { size: 16 }), onClick: function () { return setIsFilterDialogOpen(true); }, tooltip: "Filters", "aria-label": "Filters" }), appliedFilterCount > 0 ? _jsx("span", { className: styles.filterCountBadge, children: appliedFilterCount }) : null] }), _jsx(SolidButton, { className: styles.iconButton, leftIcon: _jsx(RefreshCw, { size: 16 }), onClick: function () { return void handleRefresh(); }, disabled: dataLoading, tooltip: "Refresh", "aria-label": "Refresh" }), _jsx(SolidButton, { className: styles.iconButton, leftIcon: _jsx(Save, { size: 16 }), onClick: function () { return void handleSaveLayout(); }, disabled: saveLayoutLoading || isCompactLayout, tooltip: "Save Layout", "aria-label": "Save Layout" })] })] }), _jsxs(SolidDialog, { open: isFilterDialogOpen, onOpenChange: setIsFilterDialogOpen, header: "Dashboard Filters", contentClassName: styles.filterDialogContent, children: [_jsx(SolidDialogBody, { children: _jsx("div", { className: styles.filterModalColumn, children: variables.map(renderVariable) }) }), _jsxs(SolidDialogFooter, { className: styles.filterModalActions, children: [_jsx(SolidButton, { variant: "outline", onClick: function () { return void handleClearFilters(); }, children: "Clear" }), _jsx(SolidButton, { onClick: function () { return void handleApplyFilters(); }, children: "Apply" })] })] }), dataError ? _jsx("p", { className: styles.error, children: "Failed to load dashboard data." }) : null, _jsx("div", { ref: gridRef, className: "grid-stack ".concat(styles.gridStack, " ").concat(isCompactLayout ? styles.gridStackCompact : ""), children: orderedWidgets.map(function (widget) {
858
+ var _a, _b, _c, _d, _e, _f, _g, _h;
779
859
  var widgetName = (_a = widget === null || widget === void 0 ? void 0 : widget.id) !== null && _a !== void 0 ? _a : widget === null || widget === void 0 ? void 0 : widget.name;
780
860
  var runtime = widgetDataMap.get(widgetName);
781
- var slot = widgetLayoutMap.get(widgetName);
782
- return (_jsx("div", { className: "grid-stack-item", "gs-id": widgetName, "gs-x": (_b = slot === null || slot === void 0 ? void 0 : slot.x) !== null && _b !== void 0 ? _b : 0, "gs-y": (_c = slot === null || slot === void 0 ? void 0 : slot.y) !== null && _c !== void 0 ? _c : 0, "gs-w": (_d = slot === null || slot === void 0 ? void 0 : slot.w) !== null && _d !== void 0 ? _d : 4, "gs-h": (_e = slot === null || slot === void 0 ? void 0 : slot.h) !== null && _e !== void 0 ? _e : 3, "gs-min-w": (_f = slot === null || slot === void 0 ? void 0 : slot.minW) !== null && _f !== void 0 ? _f : 2, "gs-min-h": (_g = slot === null || slot === void 0 ? void 0 : slot.minH) !== null && _g !== void 0 ? _g : 2, children: _jsxs("div", { className: "grid-stack-item-content ".concat(styles.widgetCard), children: [_jsx("h3", { className: styles.widgetTitle, children: getWidgetTitle(widget, widgetName) }), _jsx("div", { className: styles.widgetBody, children: runtime ? renderWidgetBody(widget, runtime) : _jsx("p", { className: styles.muted, children: "No data" }) })] }) }, widgetName));
861
+ var slot = (_b = renderedWidgetLayoutMap.get(widgetName)) !== null && _b !== void 0 ? _b : widgetLayoutMap.get(widgetName);
862
+ return (_jsx("div", { className: "grid-stack-item", "gs-id": widgetName, "gs-x": (_c = slot === null || slot === void 0 ? void 0 : slot.x) !== null && _c !== void 0 ? _c : 0, "gs-y": (_d = slot === null || slot === void 0 ? void 0 : slot.y) !== null && _d !== void 0 ? _d : 0, "gs-w": (_e = slot === null || slot === void 0 ? void 0 : slot.w) !== null && _e !== void 0 ? _e : 4, "gs-h": (_f = slot === null || slot === void 0 ? void 0 : slot.h) !== null && _f !== void 0 ? _f : 3, "gs-min-w": (_g = slot === null || slot === void 0 ? void 0 : slot.minW) !== null && _g !== void 0 ? _g : 2, "gs-min-h": (_h = slot === null || slot === void 0 ? void 0 : slot.minH) !== null && _h !== void 0 ? _h : 2, children: _jsxs("div", { className: "grid-stack-item-content ".concat(styles.widgetCard), children: [_jsx("h3", { className: styles.widgetTitle, children: getWidgetTitle(widget, widgetName) }), _jsx("div", { className: styles.widgetBody, children: runtime ? renderWidgetBody(widget, runtime) : _jsx("p", { className: styles.muted, children: "No data" }) })] }) }, widgetName));
783
863
  }) })] }));
784
864
  }
785
865
  //# sourceMappingURL=DashboardPage.js.map