commons-shared-web-ui 0.0.55 → 0.0.57

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