commons-shared-web-ui 0.0.62 → 0.0.63

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