commons-shared-web-ui 0.0.50 → 0.0.52

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 (187) hide show
  1. package/fesm2022/commons-shared-web-ui.mjs +14557 -0
  2. package/fesm2022/commons-shared-web-ui.mjs.map +1 -0
  3. package/index.d.ts +4534 -0
  4. package/package.json +34 -53
  5. package/src/lib/styles/utilities.scss +1 -0
  6. package/.claude/settings.local.json +0 -10
  7. package/documentation/alert.md +0 -123
  8. package/documentation/button-dropdown.md +0 -126
  9. package/documentation/button.md +0 -184
  10. package/documentation/cards-usage-guidelines.md +0 -131
  11. package/documentation/configurable-form.md +0 -605
  12. package/documentation/confirmation-modal.md +0 -250
  13. package/documentation/filter-sidebar.md +0 -178
  14. package/documentation/filter-table-selector.md +0 -228
  15. package/documentation/form-builder.md +0 -597
  16. package/documentation/form-components.md +0 -384
  17. package/documentation/nav.md +0 -427
  18. package/documentation/pagination.md +0 -181
  19. package/documentation/side-nav-documentation.md +0 -169
  20. package/documentation/smart-form.md +0 -2405
  21. package/documentation/smart-table.md +0 -1221
  22. package/documentation/snackbar.md +0 -118
  23. package/documentation/style-externalization.md +0 -88
  24. package/documentation/summary-card.md +0 -279
  25. package/ng-package.json +0 -28
  26. package/src/lib/modules/alert/alert.models.ts +0 -6
  27. package/src/lib/modules/alert/alert.module.ts +0 -16
  28. package/src/lib/modules/alert/components/alert/alert.component.html +0 -27
  29. package/src/lib/modules/alert/components/alert/alert.component.scss +0 -92
  30. package/src/lib/modules/alert/components/alert/alert.component.ts +0 -81
  31. package/src/lib/modules/button/button.models.ts +0 -13
  32. package/src/lib/modules/button/button.module.ts +0 -16
  33. package/src/lib/modules/button/components/button/button.component.html +0 -22
  34. package/src/lib/modules/button/components/button/button.component.scss +0 -88
  35. package/src/lib/modules/button/components/button/button.component.ts +0 -67
  36. package/src/lib/modules/button-dropdown/button-dropdown.models.ts +0 -26
  37. package/src/lib/modules/button-dropdown/button-dropdown.module.ts +0 -22
  38. package/src/lib/modules/button-dropdown/button-dropdown.theme.scss +0 -87
  39. package/src/lib/modules/button-dropdown/components/button-dropdown/button-dropdown.component.html +0 -41
  40. package/src/lib/modules/button-dropdown/components/button-dropdown/button-dropdown.component.scss +0 -135
  41. package/src/lib/modules/button-dropdown/components/button-dropdown/button-dropdown.component.ts +0 -160
  42. package/src/lib/modules/configurable-form/component/configurable-form.component.html +0 -294
  43. package/src/lib/modules/configurable-form/component/configurable-form.component.scss +0 -503
  44. package/src/lib/modules/configurable-form/component/configurable-form.component.ts +0 -628
  45. package/src/lib/modules/configurable-form/configurable-form.examples.ts +0 -154
  46. package/src/lib/modules/configurable-form/configurable-form.model.ts +0 -131
  47. package/src/lib/modules/configurable-form/configurable-form.module.ts +0 -19
  48. package/src/lib/modules/confirmation-modal/components/confirmation-modal/confirmation-modal.component.html +0 -77
  49. package/src/lib/modules/confirmation-modal/components/confirmation-modal/confirmation-modal.component.scss +0 -395
  50. package/src/lib/modules/confirmation-modal/components/confirmation-modal/confirmation-modal.component.ts +0 -266
  51. package/src/lib/modules/confirmation-modal/confirmation-modal.models.ts +0 -71
  52. package/src/lib/modules/confirmation-modal/confirmation-modal.module.ts +0 -20
  53. package/src/lib/modules/filter/components/filter/filter.component.html +0 -131
  54. package/src/lib/modules/filter/components/filter/filter.component.scss +0 -245
  55. package/src/lib/modules/filter/components/filter/filter.component.ts +0 -216
  56. package/src/lib/modules/filter/filter.models.ts +0 -88
  57. package/src/lib/modules/filter/filter.module.ts +0 -24
  58. package/src/lib/modules/filter-sidebar/components/filter-sidebar/filter-sidebar.component.html +0 -112
  59. package/src/lib/modules/filter-sidebar/components/filter-sidebar/filter-sidebar.component.scss +0 -186
  60. package/src/lib/modules/filter-sidebar/components/filter-sidebar/filter-sidebar.component.ts +0 -163
  61. package/src/lib/modules/filter-sidebar/filter-sidebar.models.ts +0 -95
  62. package/src/lib/modules/filter-sidebar/filter-sidebar.module.ts +0 -24
  63. package/src/lib/modules/filter-table-selector/components/filter-table-selector/filter-table-selector.component.html +0 -73
  64. package/src/lib/modules/filter-table-selector/components/filter-table-selector/filter-table-selector.component.scss +0 -321
  65. package/src/lib/modules/filter-table-selector/components/filter-table-selector/filter-table-selector.component.ts +0 -361
  66. package/src/lib/modules/filter-table-selector/filter-table-selector.models.ts +0 -91
  67. package/src/lib/modules/filter-table-selector/filter-table-selector.module.ts +0 -22
  68. package/src/lib/modules/form-builder/components/field-configurator/configurator-config-panel/configurator-config-panel.component.html +0 -63
  69. package/src/lib/modules/form-builder/components/field-configurator/configurator-config-panel/configurator-config-panel.component.scss +0 -496
  70. package/src/lib/modules/form-builder/components/field-configurator/configurator-config-panel/configurator-config-panel.component.ts +0 -445
  71. package/src/lib/modules/form-builder/components/field-configurator/configurator-tree/configurator-tree.component.html +0 -75
  72. package/src/lib/modules/form-builder/components/field-configurator/configurator-tree/configurator-tree.component.scss +0 -210
  73. package/src/lib/modules/form-builder/components/field-configurator/configurator-tree/configurator-tree.component.ts +0 -55
  74. package/src/lib/modules/form-builder/components/field-configurator/field-configurator.component.html +0 -25
  75. package/src/lib/modules/form-builder/components/field-configurator/field-configurator.component.scss +0 -82
  76. package/src/lib/modules/form-builder/components/field-configurator/field-configurator.component.ts +0 -95
  77. package/src/lib/modules/form-builder/components/field-selection/field-selection.component.html +0 -20
  78. package/src/lib/modules/form-builder/components/field-selection/field-selection.component.scss +0 -37
  79. package/src/lib/modules/form-builder/components/field-selection/field-selection.component.ts +0 -94
  80. package/src/lib/modules/form-builder/components/field-selection/group-node/group-node.component.html +0 -46
  81. package/src/lib/modules/form-builder/components/field-selection/group-node/group-node.component.scss +0 -102
  82. package/src/lib/modules/form-builder/components/field-selection/group-node/group-node.component.ts +0 -50
  83. package/src/lib/modules/form-builder/components/field-selection/selection-field-node/selection-field-node.component.html +0 -35
  84. package/src/lib/modules/form-builder/components/field-selection/selection-field-node/selection-field-node.component.scss +0 -67
  85. package/src/lib/modules/form-builder/components/field-selection/selection-field-node/selection-field-node.component.ts +0 -34
  86. package/src/lib/modules/form-builder/components/field-selection/selection-section-node/selection-section-node.component.html +0 -68
  87. package/src/lib/modules/form-builder/components/field-selection/selection-section-node/selection-section-node.component.scss +0 -113
  88. package/src/lib/modules/form-builder/components/field-selection/selection-section-node/selection-section-node.component.ts +0 -74
  89. package/src/lib/modules/form-builder/configs/field-type-schema.map.ts +0 -533
  90. package/src/lib/modules/form-builder/form-builder.module.ts +0 -36
  91. package/src/lib/modules/form-builder/index.ts +0 -9
  92. package/src/lib/modules/form-builder/models/builder.models.ts +0 -7
  93. package/src/lib/modules/form-builder/models/field-configurator.models.ts +0 -38
  94. package/src/lib/modules/form-builder/models/field-selection.models.ts +0 -51
  95. package/src/lib/modules/form-builder/services/field-configurator.service.ts +0 -258
  96. package/src/lib/modules/form-builder/services/field-selection.service.ts +0 -299
  97. package/src/lib/modules/form-builder/services/form-schema-tree.service.ts +0 -670
  98. package/src/lib/modules/form-builder/tokens/builder.tokens.ts +0 -10
  99. package/src/lib/modules/form-builder/utils/constants.ts +0 -43
  100. package/src/lib/modules/form-components/components/checkbox/checkbox.component.html +0 -29
  101. package/src/lib/modules/form-components/components/checkbox/checkbox.component.scss +0 -111
  102. package/src/lib/modules/form-components/components/checkbox/checkbox.component.ts +0 -207
  103. package/src/lib/modules/form-components/components/checkbox/checkbox.models.ts +0 -35
  104. package/src/lib/modules/form-components/components/datepicker/datepicker.component.html +0 -42
  105. package/src/lib/modules/form-components/components/datepicker/datepicker.component.scss +0 -115
  106. package/src/lib/modules/form-components/components/datepicker/datepicker.component.ts +0 -267
  107. package/src/lib/modules/form-components/components/datepicker/datepicker.models.ts +0 -45
  108. package/src/lib/modules/form-components/components/dropdown/dropdown.component.html +0 -74
  109. package/src/lib/modules/form-components/components/dropdown/dropdown.component.scss +0 -252
  110. package/src/lib/modules/form-components/components/dropdown/dropdown.component.ts +0 -377
  111. package/src/lib/modules/form-components/components/dropdown/dropdown.models.ts +0 -53
  112. package/src/lib/modules/form-components/components/input/input.component.html +0 -51
  113. package/src/lib/modules/form-components/components/input/input.component.scss +0 -128
  114. package/src/lib/modules/form-components/components/input/input.component.ts +0 -250
  115. package/src/lib/modules/form-components/components/input/input.models.ts +0 -55
  116. package/src/lib/modules/form-components/components/radio/radio.component.html +0 -22
  117. package/src/lib/modules/form-components/components/radio/radio.component.scss +0 -107
  118. package/src/lib/modules/form-components/components/radio/radio.component.ts +0 -181
  119. package/src/lib/modules/form-components/components/radio/radio.models.ts +0 -39
  120. package/src/lib/modules/form-components/components/search/search.component.html +0 -15
  121. package/src/lib/modules/form-components/components/search/search.component.scss +0 -87
  122. package/src/lib/modules/form-components/components/search/search.component.ts +0 -213
  123. package/src/lib/modules/form-components/components/search/search.models.ts +0 -40
  124. package/src/lib/modules/form-components/components/toggle/toggle.component.html +0 -15
  125. package/src/lib/modules/form-components/components/toggle/toggle.component.scss +0 -81
  126. package/src/lib/modules/form-components/components/toggle/toggle.component.ts +0 -166
  127. package/src/lib/modules/form-components/components/toggle/toggle.models.ts +0 -27
  128. package/src/lib/modules/form-components/directives/click-outside.directive.ts +0 -22
  129. package/src/lib/modules/form-components/form-components.module.ts +0 -41
  130. package/src/lib/modules/material/material.module.ts +0 -94
  131. package/src/lib/modules/nav/components/nav/nav.component.html +0 -34
  132. package/src/lib/modules/nav/components/nav/nav.component.scss +0 -171
  133. package/src/lib/modules/nav/components/nav/nav.component.ts +0 -82
  134. package/src/lib/modules/nav/nav.models.ts +0 -31
  135. package/src/lib/modules/nav/nav.module.ts +0 -17
  136. package/src/lib/modules/pagination/components/pagination/pagination.component.html +0 -52
  137. package/src/lib/modules/pagination/components/pagination/pagination.component.scss +0 -155
  138. package/src/lib/modules/pagination/components/pagination/pagination.component.ts +0 -109
  139. package/src/lib/modules/pagination/pagination.module.ts +0 -17
  140. package/src/lib/modules/side-nav/components/side-nav/side-nav.component.html +0 -56
  141. package/src/lib/modules/side-nav/components/side-nav/side-nav.component.scss +0 -342
  142. package/src/lib/modules/side-nav/components/side-nav/side-nav.component.ts +0 -135
  143. package/src/lib/modules/side-nav/side-nav.models.ts +0 -38
  144. package/src/lib/modules/side-nav/side-nav.module.ts +0 -16
  145. package/src/lib/modules/smart-form/components/form-field/form-field.component.html +0 -1196
  146. package/src/lib/modules/smart-form/components/form-field/form-field.component.scss +0 -2014
  147. package/src/lib/modules/smart-form/components/form-field/form-field.component.ts +0 -2525
  148. package/src/lib/modules/smart-form/components/form-section/form-section.component.html +0 -65
  149. package/src/lib/modules/smart-form/components/form-section/form-section.component.scss +0 -209
  150. package/src/lib/modules/smart-form/components/form-section/form-section.component.ts +0 -131
  151. package/src/lib/modules/smart-form/components/smart-form/smart-form.component.html +0 -253
  152. package/src/lib/modules/smart-form/components/smart-form/smart-form.component.scss +0 -689
  153. package/src/lib/modules/smart-form/components/smart-form/smart-form.component.ts +0 -1124
  154. package/src/lib/modules/smart-form/index.ts +0 -10
  155. package/src/lib/modules/smart-form/models/form-schema.model.ts +0 -733
  156. package/src/lib/modules/smart-form/models/hierarchy-config.model.ts +0 -21
  157. package/src/lib/modules/smart-form/services/expression.service.ts +0 -75
  158. package/src/lib/modules/smart-form/services/smart-form-controller.service.ts +0 -65
  159. package/src/lib/modules/smart-form/smart-form.examples.ts +0 -1324
  160. package/src/lib/modules/smart-form/smart-form.module.ts +0 -36
  161. package/src/lib/modules/smart-form/utils/translation.utils.ts +0 -82
  162. package/src/lib/modules/smart-form/utils/trusted-url.pipe.ts +0 -25
  163. package/src/lib/modules/smart-form/utils/validation.utils.ts +0 -98
  164. package/src/lib/modules/smart-table/components/smart-table/smart-table.component.html +0 -283
  165. package/src/lib/modules/smart-table/components/smart-table/smart-table.component.scss +0 -685
  166. package/src/lib/modules/smart-table/components/smart-table/smart-table.component.ts +0 -1128
  167. package/src/lib/modules/smart-table/models/table-config.model.ts +0 -207
  168. package/src/lib/modules/smart-table/smart-table.module.ts +0 -30
  169. package/src/lib/modules/smart-table/utils/safe-html.pipe.ts +0 -28
  170. package/src/lib/modules/smart-table/utils/smart-table.utils.ts +0 -18
  171. package/src/lib/modules/snackbar/components/snackbar.component.html +0 -41
  172. package/src/lib/modules/snackbar/components/snackbar.component.scss +0 -99
  173. package/src/lib/modules/snackbar/components/snackbar.component.ts +0 -18
  174. package/src/lib/modules/snackbar/models/snackbar.models.ts +0 -10
  175. package/src/lib/modules/snackbar/services/snackbar.service.ts +0 -40
  176. package/src/lib/modules/snackbar/snackbar.module.ts +0 -11
  177. package/src/lib/modules/summary-card/components/summary-card/summary-card.component.html +0 -47
  178. package/src/lib/modules/summary-card/components/summary-card/summary-card.component.scss +0 -199
  179. package/src/lib/modules/summary-card/components/summary-card/summary-card.component.ts +0 -126
  180. package/src/lib/modules/summary-card/summary-card.module.ts +0 -18
  181. package/src/lib/shared-ui.module.ts +0 -44
  182. package/src/lib/utils/constants.ts +0 -11
  183. package/src/lib/utils/storage.utils.ts +0 -37
  184. package/src/lib/utils/string.utils.ts +0 -23
  185. package/src/lib/utils/translation.utils.ts +0 -87
  186. package/src/public-api.ts +0 -104
  187. package/tsconfig.lib.json +0 -15
@@ -1,73 +0,0 @@
1
- <div class="fts-container">
2
-
3
- <!-- ── Modal Header ──────────────────────────────────────────────────────── -->
4
- <div class="fts-header" *ngIf="config?.title">
5
- <h2 class="fts-header__title">{{ titleLabel }}</h2>
6
- </div>
7
-
8
- <!-- ── Body: Filter Panel + Table Panel ──────────────────────────────────── -->
9
- <div class="fts-body" *ngIf="config">
10
-
11
- <!-- LEFT: Filter Panel -->
12
- <aside class="fts-filter-panel" [class.fts-filter-panel--hidden]="!filterPanelVisible">
13
-
14
- <div class="fts-filter-panel__header">
15
- <span class="fts-filter-panel__title">{{ translate('COMMON.FILTER_TABLE.FILTER_BY') || 'Filter By' }}</span>
16
- </div>
17
-
18
- <div class="fts-filter-panel__content">
19
- <!-- SmartForm renders the dynamic filter form. -->
20
- <ng-container *ngIf="resolvedFormJson && formVersion >= 0">
21
- <lib-smart-form [formJson]="resolvedFormJson" [labels]="labels" [initialValues]="resolvedInitialValues"
22
- (valueChange)="onFormValueChange($event)">
23
- </lib-smart-form>
24
- </ng-container>
25
- </div>
26
-
27
- </aside>
28
-
29
- <!-- RIGHT: Table Panel -->
30
- <section class="fts-table-panel">
31
-
32
- <!-- Table toolbar: selection count -->
33
- <!-- <div class="fts-table-panel__toolbar">
34
- <span class="fts-selection-count" *ngIf="config.selectionConfig?.selectionCountLabel">
35
- {{ selectionCountText }}
36
- </span>
37
- </div> -->
38
-
39
- <!-- SmartTable -->
40
- <div class="fts-table-wrapper">
41
- <lib-smart-table *ngIf="resolvedTableConfig" [config]="resolvedTableConfig" [selectedRows]="selectedRows"
42
- (rowSelect)="onRowSelect($event)">
43
- </lib-smart-table>
44
- </div>
45
-
46
- </section>
47
-
48
- </div>
49
-
50
- <!-- ── Footer Action Bar ─────────────────────────────────────────────────── -->
51
- <div class="fts-footer">
52
- <div class="fts-footer__left">
53
- <lib-button id="fts-clear-filter-btn" variant="outline" (click)="onClearFilter()">
54
- {{ clearFilterButtonLabel }}
55
- </lib-button>
56
-
57
- <lib-button id="fts-apply-filter-btn" variant="primary" (click)="applyCurrentFilter()">
58
- {{ applyFilterButtonLabel }}
59
- </lib-button>
60
- </div>
61
-
62
- <div class="fts-footer__right">
63
- <lib-button id="fts-cancel-btn" variant="outline" (click)="handleCancel()">
64
- {{ cancelButtonLabel }}
65
- </lib-button>
66
-
67
- <lib-button id="fts-submit-btn" variant="primary" (click)="handleSubmit()">
68
- {{ submitButtonLabel }}
69
- </lib-button>
70
- </div>
71
- </div>
72
-
73
- </div>
@@ -1,321 +0,0 @@
1
- // ─────────────────────────────────────────────────────────────────────────────
2
- // FilterTableSelector — Layout SCSS
3
- //
4
- // Layout goal:
5
- // [host] fills the modal-body (flex child of cc-modal-container)
6
- // └── .fts-container flex-column, clips overflow
7
- // ├── .fts-header flex-shrink:0
8
- // ├── .fts-body flex:1, min-height:0 ← the scroll zone
9
- // │ ├── .fts-filter-panel fixed width, scrolls independently
10
- // │ │ └── .__content flex:1, overflow-y:auto
11
- // │ └── .fts-table-panel flex:1, clips inner table
12
- // │ └── .fts-table-wrapper → st-table-container scrolls
13
- // └── .fts-footer flex-shrink:0 ← always visible
14
- // ─────────────────────────────────────────────────────────────────────────────
15
-
16
- :host {
17
- // CSS custom properties
18
- --fts-panel-bg: #ffffff;
19
- --fts-filter-panel-width: 300px;
20
- --fts-filter-panel-border: 1px solid #dee2e6;
21
- --fts-header-bg: #ffffff;
22
- --fts-header-border: 1px solid #f1f3f4;
23
- --fts-header-height: 60px;
24
- --fts-header-padding: 0 24px;
25
- --fts-header-title-color: #111827;
26
- --fts-header-title-font-size: 1.125rem;
27
- --fts-header-title-font-weight: 600;
28
- --fts-footer-bg: #ffffff;
29
- --fts-footer-border: 1px solid #f1f3f4;
30
- --fts-footer-height: 72px;
31
- --fts-footer-padding: 0 24px;
32
- --fts-footer-gap: 12px;
33
- --fts-body-bg: #ffffff;
34
- --fts-filter-section-title-color: var(--text-muted, #6b7280);
35
- --fts-filter-section-title-font-size: 0.75rem;
36
- --fts-filter-section-title-font-weight: 600;
37
- --fts-selection-count-color: var(--text-muted, #6b7280);
38
- --fts-selection-count-font-size: 0.875rem;
39
- --fts-toolbar-border: 1px solid #f1f3f4;
40
- --fts-divider-color: #f1f3f4;
41
- --fts-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
42
- --fts-border-radius: 12px;
43
-
44
- // Host must stretch to fill the flex modal body
45
- display: flex;
46
- flex-direction: column;
47
- flex: 1;
48
- min-height: 0;
49
- width: 100%;
50
- }
51
-
52
- // ── Container ─────────────────────────────────────────────────────────────────
53
- .fts-container {
54
- display: flex;
55
- flex-direction: column;
56
- flex: 1;
57
- min-height: 0; // Lets children shrink so scrolling activates
58
- width: 100%;
59
- overflow: hidden; // Must clip — prevents container from growing to content
60
- background-color: var(--fts-panel-bg);
61
- border: 1px solid var(--border-color, #e0e0e0);
62
- border-radius: var(--fts-border-radius);
63
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
64
- }
65
-
66
- // ── Optional Title Header ──────────────────────────────────────────────────────
67
- .fts-header {
68
- display: flex;
69
- align-items: center;
70
- min-height: var(--fts-header-height);
71
- padding: var(--fts-header-padding);
72
- border-bottom: var(--fts-header-border);
73
- background-color: var(--fts-header-bg);
74
- flex-shrink: 0; // Never shrinks
75
-
76
- &__title {
77
- margin: 0;
78
- font-size: var(--fts-header-title-font-size);
79
- font-weight: var(--fts-header-title-font-weight);
80
- color: var(--fts-header-title-color);
81
- letter-spacing: -0.01em;
82
- }
83
- }
84
-
85
- // ── Body: side-by-side panels ─────────────────────────────────────────────────
86
- .fts-body {
87
- display: flex;
88
- flex: 1;
89
- min-height: 0; // Critical: prevents body from expanding past container
90
- background-color: var(--fts-body-bg);
91
- // No overflow on body itself — each child panel manages its own scroll
92
- }
93
-
94
- // ── Left: Filter Panel ────────────────────────────────────────────────────────
95
- .fts-filter-panel {
96
- width: var(--fts-filter-panel-width);
97
- min-width: var(--fts-filter-panel-width);
98
- display: flex;
99
- flex-direction: column;
100
- overflow: hidden; // Panel itself clips; __content handles the scroll
101
- background-color: #fcfcfd;
102
- border-right: 1px solid var(--fts-divider-color);
103
-
104
- &--hidden {
105
- display: none;
106
- }
107
-
108
- &__header {
109
- padding: 20px 20px 12px 20px;
110
- flex-shrink: 0;
111
- }
112
-
113
- &__title {
114
- font-size: var(--fts-filter-section-title-font-size);
115
- font-weight: var(--fts-filter-section-title-font-weight);
116
- color: var(--fts-filter-section-title-color);
117
- text-transform: uppercase;
118
- letter-spacing: 0.05em;
119
- }
120
-
121
- // This is the scrolling region — grows to fill panel, scrolls on overflow
122
- &__content {
123
- flex: 1;
124
- min-height: 0; // Allows this flex child to shrink & scroll
125
- overflow-y: auto;
126
- padding: 0;
127
-
128
- &::-webkit-scrollbar {
129
- width: 4px;
130
- }
131
-
132
- &::-webkit-scrollbar-thumb {
133
- background: #d1d5db;
134
- border-radius: 10px;
135
- }
136
- }
137
-
138
- // SmartForm overrides (scoped to filter panel only)
139
- ::ng-deep {
140
-
141
- .smart-form-container,
142
- .smart-form-wrapper {
143
- padding: 0;
144
- }
145
-
146
- .form-header,
147
- .form-actions {
148
- display: none;
149
- }
150
-
151
- .form-section {
152
- padding: 0;
153
- }
154
-
155
- .form-field-wrapper {
156
- margin-bottom: 16px;
157
-
158
- &:last-child {
159
- margin-bottom: 0;
160
- }
161
- }
162
-
163
- .field-label {
164
- font-size: 12px;
165
- font-weight: 500;
166
- color: #374151;
167
- margin-bottom: 4px;
168
- }
169
-
170
- input,
171
- select,
172
- .mat-select-trigger {
173
- font-size: 13px !important;
174
- border-color: #e5e7eb !important;
175
- background-color: #ffffff !important;
176
-
177
- &:focus {
178
- border-color: var(--primary-color) !important;
179
- box-shadow: 0 0 0 2px rgba(194, 30, 37, 0.05) !important;
180
- }
181
- }
182
- }
183
- }
184
-
185
-
186
- // Override the 12-col grid gap — tight layout for the narrow filter panel
187
- .form-section-container .section-fields.sf-grid {
188
- gap: 2px !important;
189
- }
190
-
191
- // ── Right: Table Panel ────────────────────────────────────────────────────────
192
- .fts-table-panel {
193
- flex: 1;
194
- min-width: 0; // Prevents horizontal overflow
195
- display: flex;
196
- flex-direction: column;
197
- overflow: hidden; // Clips; inner st-table-container does the scroll
198
- background-color: var(--fts-panel-bg);
199
-
200
- &__toolbar {
201
- display: flex;
202
- align-items: center;
203
- justify-content: flex-end;
204
- flex-shrink: 0;
205
- min-height: 48px;
206
- padding: 0 24px;
207
- background-color: var(--fts-panel-bg);
208
- }
209
- }
210
-
211
- .fts-table-wrapper {
212
- flex: 1;
213
- min-height: 0; // Flex child must have min-height:0 to allow scroll
214
- display: flex;
215
- flex-direction: column;
216
- // overflow: hidden;
217
- overflow-y: auto;
218
-
219
- ::ng-deep {
220
-
221
- // Root outer — must be a flex column that fills the wrapper
222
- .smart-table-outer {
223
- flex: 1;
224
- min-height: 0;
225
- display: flex;
226
- flex-direction: column;
227
- overflow: hidden;
228
- }
229
-
230
- // Card — grows to fill remaining space, clips so table scrolls inside
231
- .smart-table-wrapper {
232
- flex: 1;
233
- min-height: 0;
234
- display: flex;
235
- flex-direction: column;
236
- overflow: hidden;
237
- }
238
-
239
- // The actual table scroll area.
240
- // SmartTable hardcodes overflow-y:visible, so !important is required.
241
- .st-table-container {
242
- flex: 1;
243
- min-height: 0;
244
- overflow-x: auto;
245
- overflow-y: auto !important; // Override SmartTable's own overflow-y:visible
246
-
247
- &::-webkit-scrollbar {
248
- width: 6px;
249
- }
250
-
251
- &::-webkit-scrollbar-thumb {
252
- background: #d1d5db;
253
- border-radius: 3px;
254
- }
255
- }
256
-
257
- // Pagination sits outside .smart-table-wrapper — keep it pinned at bottom
258
- .st-pagination {
259
- flex-shrink: 0;
260
- padding: 12px 24px;
261
- border-top: 1px solid var(--fts-divider-color);
262
- background-color: var(--fts-panel-bg);
263
- }
264
- }
265
- }
266
-
267
- // ── Selection Count Pill ──────────────────────────────────────────────────────
268
- .fts-selection-count {
269
- font-size: 13px;
270
- color: #4b5563;
271
- white-space: nowrap;
272
- background: #f3f4f6;
273
- padding: 4px 14px;
274
- border-radius: 100px;
275
- font-weight: 500;
276
- border: 1px solid #e5e7eb;
277
- }
278
-
279
- // ── Footer: always visible at bottom ─────────────────────────────────────────
280
- .fts-footer {
281
- display: flex;
282
- align-items: center;
283
- justify-content: space-between;
284
- min-height: var(--fts-footer-height);
285
- padding: var(--fts-footer-padding);
286
- border-top: var(--fts-footer-border);
287
- flex-shrink: 0; // Never shrinks — always visible at the bottom
288
- background-color: var(--fts-footer-bg);
289
- box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.05);
290
- z-index: 10;
291
-
292
- &__left,
293
- &__right {
294
- display: flex;
295
- align-items: center;
296
- gap: var(--fts-footer-gap);
297
- }
298
-
299
- ::ng-deep lib-button button {
300
- min-width: 100px;
301
- font-weight: 500;
302
- letter-spacing: 0.01em;
303
- }
304
- }
305
-
306
- // ── Modal Integration ─────────────────────────────────────────────────────────
307
- // Makes the cc-modal-body behave as a flex column so :host can fill it fully.
308
- // Without this the body grows to content height and our overflow clips nothing.
309
- ::ng-deep {
310
- .cc-modal-footer {
311
- display: none !important;
312
- }
313
-
314
- .cc-modal-body:has(lib-filter-table-selector) {
315
- padding: 0 !important;
316
- overflow: hidden !important;
317
- display: flex !important;
318
- flex-direction: column !important;
319
- // flex:1 is already set by confirmation-modal — no height:100% needed
320
- }
321
- }