commons-shared-web-ui 0.0.50 → 0.0.51

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 (186) hide show
  1. package/fesm2022/commons-shared-web-ui.mjs +13828 -0
  2. package/fesm2022/commons-shared-web-ui.mjs.map +1 -0
  3. package/index.d.ts +4258 -0
  4. package/package.json +34 -53
  5. package/.claude/settings.local.json +0 -10
  6. package/documentation/alert.md +0 -123
  7. package/documentation/button-dropdown.md +0 -126
  8. package/documentation/button.md +0 -184
  9. package/documentation/cards-usage-guidelines.md +0 -131
  10. package/documentation/configurable-form.md +0 -605
  11. package/documentation/confirmation-modal.md +0 -250
  12. package/documentation/filter-sidebar.md +0 -178
  13. package/documentation/filter-table-selector.md +0 -228
  14. package/documentation/form-builder.md +0 -597
  15. package/documentation/form-components.md +0 -384
  16. package/documentation/nav.md +0 -427
  17. package/documentation/pagination.md +0 -181
  18. package/documentation/side-nav-documentation.md +0 -169
  19. package/documentation/smart-form.md +0 -2405
  20. package/documentation/smart-table.md +0 -1221
  21. package/documentation/snackbar.md +0 -118
  22. package/documentation/style-externalization.md +0 -88
  23. package/documentation/summary-card.md +0 -279
  24. package/ng-package.json +0 -28
  25. package/src/lib/modules/alert/alert.models.ts +0 -6
  26. package/src/lib/modules/alert/alert.module.ts +0 -16
  27. package/src/lib/modules/alert/components/alert/alert.component.html +0 -27
  28. package/src/lib/modules/alert/components/alert/alert.component.scss +0 -92
  29. package/src/lib/modules/alert/components/alert/alert.component.ts +0 -81
  30. package/src/lib/modules/button/button.models.ts +0 -13
  31. package/src/lib/modules/button/button.module.ts +0 -16
  32. package/src/lib/modules/button/components/button/button.component.html +0 -22
  33. package/src/lib/modules/button/components/button/button.component.scss +0 -88
  34. package/src/lib/modules/button/components/button/button.component.ts +0 -67
  35. package/src/lib/modules/button-dropdown/button-dropdown.models.ts +0 -26
  36. package/src/lib/modules/button-dropdown/button-dropdown.module.ts +0 -22
  37. package/src/lib/modules/button-dropdown/button-dropdown.theme.scss +0 -87
  38. package/src/lib/modules/button-dropdown/components/button-dropdown/button-dropdown.component.html +0 -41
  39. package/src/lib/modules/button-dropdown/components/button-dropdown/button-dropdown.component.scss +0 -135
  40. package/src/lib/modules/button-dropdown/components/button-dropdown/button-dropdown.component.ts +0 -160
  41. package/src/lib/modules/configurable-form/component/configurable-form.component.html +0 -294
  42. package/src/lib/modules/configurable-form/component/configurable-form.component.scss +0 -503
  43. package/src/lib/modules/configurable-form/component/configurable-form.component.ts +0 -628
  44. package/src/lib/modules/configurable-form/configurable-form.examples.ts +0 -154
  45. package/src/lib/modules/configurable-form/configurable-form.model.ts +0 -131
  46. package/src/lib/modules/configurable-form/configurable-form.module.ts +0 -19
  47. package/src/lib/modules/confirmation-modal/components/confirmation-modal/confirmation-modal.component.html +0 -77
  48. package/src/lib/modules/confirmation-modal/components/confirmation-modal/confirmation-modal.component.scss +0 -395
  49. package/src/lib/modules/confirmation-modal/components/confirmation-modal/confirmation-modal.component.ts +0 -266
  50. package/src/lib/modules/confirmation-modal/confirmation-modal.models.ts +0 -71
  51. package/src/lib/modules/confirmation-modal/confirmation-modal.module.ts +0 -20
  52. package/src/lib/modules/filter/components/filter/filter.component.html +0 -131
  53. package/src/lib/modules/filter/components/filter/filter.component.scss +0 -245
  54. package/src/lib/modules/filter/components/filter/filter.component.ts +0 -216
  55. package/src/lib/modules/filter/filter.models.ts +0 -88
  56. package/src/lib/modules/filter/filter.module.ts +0 -24
  57. package/src/lib/modules/filter-sidebar/components/filter-sidebar/filter-sidebar.component.html +0 -112
  58. package/src/lib/modules/filter-sidebar/components/filter-sidebar/filter-sidebar.component.scss +0 -186
  59. package/src/lib/modules/filter-sidebar/components/filter-sidebar/filter-sidebar.component.ts +0 -163
  60. package/src/lib/modules/filter-sidebar/filter-sidebar.models.ts +0 -95
  61. package/src/lib/modules/filter-sidebar/filter-sidebar.module.ts +0 -24
  62. package/src/lib/modules/filter-table-selector/components/filter-table-selector/filter-table-selector.component.html +0 -73
  63. package/src/lib/modules/filter-table-selector/components/filter-table-selector/filter-table-selector.component.scss +0 -321
  64. package/src/lib/modules/filter-table-selector/components/filter-table-selector/filter-table-selector.component.ts +0 -361
  65. package/src/lib/modules/filter-table-selector/filter-table-selector.models.ts +0 -91
  66. package/src/lib/modules/filter-table-selector/filter-table-selector.module.ts +0 -22
  67. package/src/lib/modules/form-builder/components/field-configurator/configurator-config-panel/configurator-config-panel.component.html +0 -63
  68. package/src/lib/modules/form-builder/components/field-configurator/configurator-config-panel/configurator-config-panel.component.scss +0 -496
  69. package/src/lib/modules/form-builder/components/field-configurator/configurator-config-panel/configurator-config-panel.component.ts +0 -445
  70. package/src/lib/modules/form-builder/components/field-configurator/configurator-tree/configurator-tree.component.html +0 -75
  71. package/src/lib/modules/form-builder/components/field-configurator/configurator-tree/configurator-tree.component.scss +0 -210
  72. package/src/lib/modules/form-builder/components/field-configurator/configurator-tree/configurator-tree.component.ts +0 -55
  73. package/src/lib/modules/form-builder/components/field-configurator/field-configurator.component.html +0 -25
  74. package/src/lib/modules/form-builder/components/field-configurator/field-configurator.component.scss +0 -82
  75. package/src/lib/modules/form-builder/components/field-configurator/field-configurator.component.ts +0 -95
  76. package/src/lib/modules/form-builder/components/field-selection/field-selection.component.html +0 -20
  77. package/src/lib/modules/form-builder/components/field-selection/field-selection.component.scss +0 -37
  78. package/src/lib/modules/form-builder/components/field-selection/field-selection.component.ts +0 -94
  79. package/src/lib/modules/form-builder/components/field-selection/group-node/group-node.component.html +0 -46
  80. package/src/lib/modules/form-builder/components/field-selection/group-node/group-node.component.scss +0 -102
  81. package/src/lib/modules/form-builder/components/field-selection/group-node/group-node.component.ts +0 -50
  82. package/src/lib/modules/form-builder/components/field-selection/selection-field-node/selection-field-node.component.html +0 -35
  83. package/src/lib/modules/form-builder/components/field-selection/selection-field-node/selection-field-node.component.scss +0 -67
  84. package/src/lib/modules/form-builder/components/field-selection/selection-field-node/selection-field-node.component.ts +0 -34
  85. package/src/lib/modules/form-builder/components/field-selection/selection-section-node/selection-section-node.component.html +0 -68
  86. package/src/lib/modules/form-builder/components/field-selection/selection-section-node/selection-section-node.component.scss +0 -113
  87. package/src/lib/modules/form-builder/components/field-selection/selection-section-node/selection-section-node.component.ts +0 -74
  88. package/src/lib/modules/form-builder/configs/field-type-schema.map.ts +0 -533
  89. package/src/lib/modules/form-builder/form-builder.module.ts +0 -36
  90. package/src/lib/modules/form-builder/index.ts +0 -9
  91. package/src/lib/modules/form-builder/models/builder.models.ts +0 -7
  92. package/src/lib/modules/form-builder/models/field-configurator.models.ts +0 -38
  93. package/src/lib/modules/form-builder/models/field-selection.models.ts +0 -51
  94. package/src/lib/modules/form-builder/services/field-configurator.service.ts +0 -258
  95. package/src/lib/modules/form-builder/services/field-selection.service.ts +0 -299
  96. package/src/lib/modules/form-builder/services/form-schema-tree.service.ts +0 -670
  97. package/src/lib/modules/form-builder/tokens/builder.tokens.ts +0 -10
  98. package/src/lib/modules/form-builder/utils/constants.ts +0 -43
  99. package/src/lib/modules/form-components/components/checkbox/checkbox.component.html +0 -29
  100. package/src/lib/modules/form-components/components/checkbox/checkbox.component.scss +0 -111
  101. package/src/lib/modules/form-components/components/checkbox/checkbox.component.ts +0 -207
  102. package/src/lib/modules/form-components/components/checkbox/checkbox.models.ts +0 -35
  103. package/src/lib/modules/form-components/components/datepicker/datepicker.component.html +0 -42
  104. package/src/lib/modules/form-components/components/datepicker/datepicker.component.scss +0 -115
  105. package/src/lib/modules/form-components/components/datepicker/datepicker.component.ts +0 -267
  106. package/src/lib/modules/form-components/components/datepicker/datepicker.models.ts +0 -45
  107. package/src/lib/modules/form-components/components/dropdown/dropdown.component.html +0 -74
  108. package/src/lib/modules/form-components/components/dropdown/dropdown.component.scss +0 -252
  109. package/src/lib/modules/form-components/components/dropdown/dropdown.component.ts +0 -377
  110. package/src/lib/modules/form-components/components/dropdown/dropdown.models.ts +0 -53
  111. package/src/lib/modules/form-components/components/input/input.component.html +0 -51
  112. package/src/lib/modules/form-components/components/input/input.component.scss +0 -128
  113. package/src/lib/modules/form-components/components/input/input.component.ts +0 -250
  114. package/src/lib/modules/form-components/components/input/input.models.ts +0 -55
  115. package/src/lib/modules/form-components/components/radio/radio.component.html +0 -22
  116. package/src/lib/modules/form-components/components/radio/radio.component.scss +0 -107
  117. package/src/lib/modules/form-components/components/radio/radio.component.ts +0 -181
  118. package/src/lib/modules/form-components/components/radio/radio.models.ts +0 -39
  119. package/src/lib/modules/form-components/components/search/search.component.html +0 -15
  120. package/src/lib/modules/form-components/components/search/search.component.scss +0 -87
  121. package/src/lib/modules/form-components/components/search/search.component.ts +0 -213
  122. package/src/lib/modules/form-components/components/search/search.models.ts +0 -40
  123. package/src/lib/modules/form-components/components/toggle/toggle.component.html +0 -15
  124. package/src/lib/modules/form-components/components/toggle/toggle.component.scss +0 -81
  125. package/src/lib/modules/form-components/components/toggle/toggle.component.ts +0 -166
  126. package/src/lib/modules/form-components/components/toggle/toggle.models.ts +0 -27
  127. package/src/lib/modules/form-components/directives/click-outside.directive.ts +0 -22
  128. package/src/lib/modules/form-components/form-components.module.ts +0 -41
  129. package/src/lib/modules/material/material.module.ts +0 -94
  130. package/src/lib/modules/nav/components/nav/nav.component.html +0 -34
  131. package/src/lib/modules/nav/components/nav/nav.component.scss +0 -171
  132. package/src/lib/modules/nav/components/nav/nav.component.ts +0 -82
  133. package/src/lib/modules/nav/nav.models.ts +0 -31
  134. package/src/lib/modules/nav/nav.module.ts +0 -17
  135. package/src/lib/modules/pagination/components/pagination/pagination.component.html +0 -52
  136. package/src/lib/modules/pagination/components/pagination/pagination.component.scss +0 -155
  137. package/src/lib/modules/pagination/components/pagination/pagination.component.ts +0 -109
  138. package/src/lib/modules/pagination/pagination.module.ts +0 -17
  139. package/src/lib/modules/side-nav/components/side-nav/side-nav.component.html +0 -56
  140. package/src/lib/modules/side-nav/components/side-nav/side-nav.component.scss +0 -342
  141. package/src/lib/modules/side-nav/components/side-nav/side-nav.component.ts +0 -135
  142. package/src/lib/modules/side-nav/side-nav.models.ts +0 -38
  143. package/src/lib/modules/side-nav/side-nav.module.ts +0 -16
  144. package/src/lib/modules/smart-form/components/form-field/form-field.component.html +0 -1196
  145. package/src/lib/modules/smart-form/components/form-field/form-field.component.scss +0 -2014
  146. package/src/lib/modules/smart-form/components/form-field/form-field.component.ts +0 -2525
  147. package/src/lib/modules/smart-form/components/form-section/form-section.component.html +0 -65
  148. package/src/lib/modules/smart-form/components/form-section/form-section.component.scss +0 -209
  149. package/src/lib/modules/smart-form/components/form-section/form-section.component.ts +0 -131
  150. package/src/lib/modules/smart-form/components/smart-form/smart-form.component.html +0 -253
  151. package/src/lib/modules/smart-form/components/smart-form/smart-form.component.scss +0 -689
  152. package/src/lib/modules/smart-form/components/smart-form/smart-form.component.ts +0 -1124
  153. package/src/lib/modules/smart-form/index.ts +0 -10
  154. package/src/lib/modules/smart-form/models/form-schema.model.ts +0 -733
  155. package/src/lib/modules/smart-form/models/hierarchy-config.model.ts +0 -21
  156. package/src/lib/modules/smart-form/services/expression.service.ts +0 -75
  157. package/src/lib/modules/smart-form/services/smart-form-controller.service.ts +0 -65
  158. package/src/lib/modules/smart-form/smart-form.examples.ts +0 -1324
  159. package/src/lib/modules/smart-form/smart-form.module.ts +0 -36
  160. package/src/lib/modules/smart-form/utils/translation.utils.ts +0 -82
  161. package/src/lib/modules/smart-form/utils/trusted-url.pipe.ts +0 -25
  162. package/src/lib/modules/smart-form/utils/validation.utils.ts +0 -98
  163. package/src/lib/modules/smart-table/components/smart-table/smart-table.component.html +0 -283
  164. package/src/lib/modules/smart-table/components/smart-table/smart-table.component.scss +0 -685
  165. package/src/lib/modules/smart-table/components/smart-table/smart-table.component.ts +0 -1128
  166. package/src/lib/modules/smart-table/models/table-config.model.ts +0 -207
  167. package/src/lib/modules/smart-table/smart-table.module.ts +0 -30
  168. package/src/lib/modules/smart-table/utils/safe-html.pipe.ts +0 -28
  169. package/src/lib/modules/smart-table/utils/smart-table.utils.ts +0 -18
  170. package/src/lib/modules/snackbar/components/snackbar.component.html +0 -41
  171. package/src/lib/modules/snackbar/components/snackbar.component.scss +0 -99
  172. package/src/lib/modules/snackbar/components/snackbar.component.ts +0 -18
  173. package/src/lib/modules/snackbar/models/snackbar.models.ts +0 -10
  174. package/src/lib/modules/snackbar/services/snackbar.service.ts +0 -40
  175. package/src/lib/modules/snackbar/snackbar.module.ts +0 -11
  176. package/src/lib/modules/summary-card/components/summary-card/summary-card.component.html +0 -47
  177. package/src/lib/modules/summary-card/components/summary-card/summary-card.component.scss +0 -199
  178. package/src/lib/modules/summary-card/components/summary-card/summary-card.component.ts +0 -126
  179. package/src/lib/modules/summary-card/summary-card.module.ts +0 -18
  180. package/src/lib/shared-ui.module.ts +0 -44
  181. package/src/lib/utils/constants.ts +0 -11
  182. package/src/lib/utils/storage.utils.ts +0 -37
  183. package/src/lib/utils/string.utils.ts +0 -23
  184. package/src/lib/utils/translation.utils.ts +0 -87
  185. package/src/public-api.ts +0 -104
  186. 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
- }