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,496 +0,0 @@
1
- @use '../../../form-builder.theme' as theme;
2
- @use '../../../../smart-form/smart-form.theme' as sf;
3
-
4
- .fb-config-panel {
5
- display: flex;
6
- flex-direction: column;
7
- height: 100%;
8
- background: var(--fb-fc-panel-bg, #f9fafb);
9
- overflow: hidden;
10
-
11
- // Apply smart-form theme at container level so CSS variables cascade to all nested components
12
- // This ensures lib-smart-form and form-section components receive the CSS variables
13
- // regardless of ViewEncapsulation.Emulated boundary
14
-
15
- // ──────────────────────────────────────────────────────────────────────────────
16
- // RESPONSIVE THEME CONFIGURATION
17
- // Optimized for visual hierarchy and readability across all screen sizes
18
- // ──────────────────────────────────────────────────────────────────────────────
19
-
20
- // Default (Mobile-First): 480px+
21
- @include sf.smart-form-theme((
22
- section-padding: 12px,
23
- section-border: none,
24
- section-shadow: none,
25
- section-bg: transparent,
26
- form-padding: 0,
27
- form-bg: transparent,
28
- form-shadow: none,
29
- grid-gap: 12px,
30
- label-size: 0.75rem,
31
- label-weight: 600,
32
- input-padding: 0.5rem 0.75rem,
33
- ));
34
-
35
- // Tablet Portrait (600px+): Better spacing for readability
36
- @media (min-width: 600px) {
37
- @include sf.smart-form-theme((
38
- section-padding: 14px,
39
- section-border: none,
40
- section-shadow: none,
41
- section-bg: transparent,
42
- form-padding: 0,
43
- form-bg: transparent,
44
- form-shadow: none,
45
- grid-gap: 14px,
46
- label-size: 0.8rem,
47
- label-weight: 600,
48
- input-padding: 0.5rem 0.75rem,
49
- ));
50
- }
51
-
52
- // Tablet Landscape (768px+): Balanced comfortable spacing
53
- @media (min-width: 768px) {
54
- @include sf.smart-form-theme((
55
- section-padding: 16px,
56
- section-border: none,
57
- section-shadow: none,
58
- section-bg: transparent,
59
- form-padding: 0,
60
- form-bg: transparent,
61
- form-shadow: none,
62
- grid-gap: 16px,
63
- label-size: 0.8125rem,
64
- label-weight: 600,
65
- input-padding: 0.625rem 0.875rem,
66
- ));
67
- }
68
-
69
- // Desktop (1024px+): Optimal form experience
70
- @media (min-width: 1024px) {
71
- @include sf.smart-form-theme((
72
- section-padding: 16px,
73
- section-border: none,
74
- section-shadow: none,
75
- section-bg: transparent,
76
- form-padding: 0,
77
- form-bg: transparent,
78
- form-shadow: none,
79
- grid-gap: 16px,
80
- label-size: 0.8125rem,
81
- label-weight: 600,
82
- input-padding: 0.625rem 0.875rem,
83
- ));
84
- }
85
-
86
- // Large Desktop (1440px+): Generous spacing
87
- @media (min-width: 1440px) {
88
- @include sf.smart-form-theme((
89
- section-padding: 18px,
90
- section-border: none,
91
- section-shadow: none,
92
- section-bg: transparent,
93
- form-padding: 0,
94
- form-bg: transparent,
95
- form-shadow: none,
96
- grid-gap: 18px,
97
- label-size: 0.8125rem,
98
- label-weight: 600,
99
- input-padding: 0.625rem 0.875rem,
100
- ));
101
- }
102
-
103
- // Ultra-wide (1920px+): Maximum breathing room
104
- @media (min-width: 1920px) {
105
- @include sf.smart-form-theme((
106
- section-padding: 18px,
107
- section-border: none,
108
- section-shadow: none,
109
- section-bg: transparent,
110
- form-padding: 0,
111
- form-bg: transparent,
112
- form-shadow: none,
113
- grid-gap: 18px,
114
- label-size: 0.8125rem,
115
- label-weight: 600,
116
- input-padding: 0.625rem 0.875rem,
117
- ));
118
- }
119
-
120
- &__empty {
121
- display: flex;
122
- flex-direction: column;
123
- align-items: center;
124
- justify-content: center;
125
- height: 100%;
126
- color: var(--fb-fc-empty-color, #9ca3af);
127
- text-align: center;
128
- padding: 48px 24px;
129
-
130
- @media (max-width: 640px) {
131
- padding: 24px 16px;
132
- }
133
-
134
- &-icon {
135
- margin-bottom: 24px;
136
- opacity: 0.4;
137
- color: var(--fb-fc-accent, #3b82f6);
138
-
139
- @media (max-width: 640px) {
140
- margin-bottom: 16px;
141
- }
142
- }
143
-
144
- &-text {
145
- font-size: 15px;
146
- max-width: 320px;
147
- line-height: 1.6;
148
- font-weight: 500;
149
-
150
- @media (max-width: 640px) {
151
- font-size: 14px;
152
- max-width: 100%;
153
- }
154
- }
155
- }
156
-
157
- &__header {
158
- background: var(--fb-fc-header-bg, #ffffff);
159
- padding: 1.4rem; //20px 32px;
160
- border-bottom: 1px solid var(--fb-fc-border, #e5e7eb);
161
- display: flex;
162
- align-items: center;
163
- justify-content: space-between;
164
- flex-shrink: 0;
165
- gap: 16px;
166
- flex-wrap: wrap;
167
-
168
- @media (max-width: 768px) {
169
- padding: 16px 24px;
170
- gap: 12px;
171
- }
172
-
173
- @media (max-width: 640px) {
174
- padding: 12px 16px;
175
- gap: 8px;
176
- }
177
-
178
- &-left {
179
- display: flex;
180
- align-items: center;
181
- gap: 12px;
182
- min-width: 0;
183
- flex-wrap: wrap;
184
-
185
- @media (max-width: 640px) {
186
- gap: 8px;
187
- }
188
- }
189
- }
190
-
191
- &__type-switcher {
192
- display: flex;
193
- align-items: center;
194
- gap: 8px;
195
- flex-shrink: 0;
196
-
197
- @media (max-width: 640px) {
198
- gap: 4px;
199
- }
200
- }
201
-
202
- &__type-label {
203
- font-size: var(--fb-fc-type-label-size, 0.75rem);
204
- font-weight: 600;
205
- color: var(--fb-fc-type-label-color, #6b7280);
206
- white-space: nowrap;
207
-
208
- @media (max-width: 640px) {
209
- font-size: 0.7rem;
210
- }
211
- }
212
-
213
- &__type-select {
214
- height: var(--fb-fc-type-select-height, 36px);
215
- padding: 0 32px 0 10px;
216
- border: 1px solid var(--fb-fc-type-select-border, #d1d5db);
217
- border-radius: var(--fb-fc-type-select-radius, 8px);
218
- background-color: var(--fb-fc-type-select-bg, #ffffff);
219
- color: var(--fb-fc-type-select-color, #111827);
220
- font-size: 0.8125rem;
221
- font-weight: 500;
222
- cursor: pointer;
223
- appearance: none;
224
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
225
- background-repeat: no-repeat;
226
- background-position: right 8px center;
227
- min-width: 160px;
228
- transition: border-color 0.15s ease, box-shadow 0.15s ease;
229
-
230
- @media (max-width: 640px) {
231
- height: 32px;
232
- font-size: 0.75rem;
233
- min-width: 140px;
234
- padding: 0 28px 0 8px;
235
- }
236
-
237
- &:hover {
238
- border-color: var(--fb-fc-type-select-hover-border, #9ca3af);
239
- }
240
-
241
- &:focus {
242
- outline: none;
243
- border-color: var(--fb-fc-accent, #3b82f6);
244
- box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
245
- }
246
- }
247
-
248
- &__title {
249
- margin: 0;
250
- font-size: 1.25rem;
251
- font-weight: 700;
252
- color: var(--fb-fc-title-color, #111827);
253
-
254
- @media (max-width: 1024px) {
255
- font-size: 1.125rem;
256
- }
257
-
258
- @media (max-width: 640px) {
259
- font-size: 1rem;
260
- }
261
- }
262
-
263
- &__badge {
264
- padding: 4px 12px;
265
- background: var(--fb-fc-badge-bg, #eff6ff);
266
- color: var(--fb-fc-badge-color, #3b82f6);
267
- border-radius: 20px;
268
- font-size: 11px;
269
- font-weight: 700;
270
- text-transform: uppercase;
271
- letter-spacing: 0.05em;
272
- border: 1px solid var(--fb-fc-badge-border, #dbeafe);
273
-
274
- @media (max-width: 640px) {
275
- padding: 3px 8px;
276
- font-size: 9px;
277
- }
278
- }
279
-
280
- &__form-wrapper {
281
- flex: 1;
282
- overflow-y: auto;
283
- overflow-x: hidden;
284
- width: 100%;
285
- min-width: 0;
286
- display: flex;
287
- flex-direction: column;
288
- align-items: stretch;
289
- box-sizing: border-box;
290
-
291
- // Mobile First: Tight padding for small screens
292
- padding: 12px 16px;
293
-
294
- // Tablet Portrait (600px+): Increase comfort space
295
- @media (min-width: 600px) {
296
- padding: 16px 20px;
297
- }
298
-
299
- // Tablet Landscape (768px+): Better vertical breathing room
300
- @media (min-width: 768px) {
301
- padding: 20px 24px;
302
- }
303
-
304
- // Desktop (1024px+): Comfortable padding
305
- @media (min-width: 1024px) {
306
- padding: 1rem;
307
- }
308
-
309
- // Large Desktop (1440px+): Spacious padding
310
- @media (min-width: 1440px) {
311
- padding: 28px 40px;
312
- }
313
-
314
- // Ultra-wide (1920px+): Maximum breathing room
315
- @media (min-width: 1920px) {
316
- padding: 32px 48px;
317
- }
318
-
319
- .fb-config-card {
320
- width: 100%;
321
- max-width: none;
322
- margin: 0;
323
- background: transparent;
324
- border: none;
325
- box-shadow: none;
326
- display: flex;
327
- flex-direction: column;
328
- min-width: 0;
329
- flex: 1;
330
- box-sizing: border-box;
331
-
332
- // ────────────────────────────────────────────────────────────────────────────
333
- // RESPONSIVE FORM FIELD LAYOUT
334
- // Professional responsive grid for form fields - centered design
335
- // ────────────────────────────────────────────────────────────────────────────
336
-
337
- // Form field wrapper styling
338
- ::ng-deep .sf-col {
339
- // display: flex;
340
- min-width: 0;
341
- }
342
-
343
- // Horizontal form rows - flexible responsive layout
344
- ::ng-deep .form-row.horizontal {
345
- display: grid;
346
- grid-auto-flow: dense;
347
- gap: 12px;
348
- width: 100%;
349
- align-items: start;
350
-
351
- // Mobile (< 600px): Single column, full width
352
- @media (max-width: 599px) {
353
- grid-template-columns: 1fr;
354
- gap: 12px;
355
- }
356
-
357
- // Tablet Portrait (600px-768px): Single column with better gap
358
- @media (min-width: 600px) and (max-width: 767px) {
359
- grid-template-columns: 1fr;
360
- gap: 14px;
361
- }
362
-
363
- // Tablet Landscape (768px-1024px): 2 columns
364
- @media (min-width: 768px) and (max-width: 1023px) {
365
- grid-template-columns: repeat(2, 1fr);
366
- gap: 14px;
367
- }
368
-
369
- // Desktop (1024px-1440px): 2 columns with balanced spacing
370
- @media (min-width: 1024px) and (max-width: 1439px) {
371
- grid-template-columns: repeat(2, 1fr);
372
- gap: 16px;
373
- }
374
-
375
- // Large Desktop (1440px+): 3 columns for optimal use of space
376
- @media (min-width: 1440px) {
377
- grid-template-columns: repeat(3, 1fr);
378
- gap: 18px;
379
- }
380
-
381
- // Ultra-wide (1920px+): 3 columns with generous gaps
382
- @media (min-width: 1920px) {
383
- grid-template-columns: repeat(3, 1fr);
384
- gap: 20px;
385
- }
386
-
387
- // Field wrapper styling
388
- > * {
389
- display: flex;
390
- flex-direction: column;
391
- min-width: 0;
392
- overflow: hidden;
393
-
394
- // Ensure inputs take full width
395
- ::ng-deep .form-field-wrapper,
396
- ::ng-deep .field-wrapper,
397
- ::ng-deep input,
398
- ::ng-deep select,
399
- ::ng-deep textarea {
400
- width: 100%;
401
- min-width: 0;
402
- }
403
- }
404
- }
405
-
406
- // Switch field styling - inline horizontal layout
407
- ::ng-deep .form-row.horizontal .sf-switch-wrapper {
408
- display: flex;
409
- flex-direction: row;
410
- align-items: center;
411
- gap: 8px;
412
- white-space: nowrap;
413
- min-width: 0;
414
-
415
- @media (max-width: 768px) {
416
- gap: 6px;
417
- }
418
-
419
- .field-label {
420
- font-size: 0.75rem;
421
- font-weight: 600;
422
- margin: 0;
423
- flex-shrink: 1;
424
- min-width: 0;
425
- word-break: keep-all;
426
-
427
- @media (max-width: 768px) {
428
- font-size: 0.7rem;
429
- }
430
-
431
- @media (max-width: 640px) {
432
- font-size: 0.65rem;
433
- }
434
- }
435
-
436
- .switch {
437
- flex-shrink: 0;
438
- }
439
- }
440
-
441
- ::ng-deep .grid-row .sf-col .sf-switch-wrapper {
442
- display: flex;
443
- flex-direction: row;
444
- align-items: center;
445
- gap: 8px;
446
- white-space: nowrap;
447
- min-width: 0;
448
-
449
- @media (max-width: 768px) {
450
- gap: 6px;
451
- }
452
-
453
- .field-label {
454
- font-size: 0.75rem;
455
- font-weight: 600;
456
- margin: 0;
457
- flex-shrink: 1;
458
- min-width: 0;
459
- word-break: keep-all;
460
-
461
- @media (max-width: 768px) {
462
- font-size: 0.7rem;
463
- }
464
-
465
- @media (max-width: 640px) {
466
- font-size: 0.65rem;
467
- }
468
- }
469
-
470
- .switch {
471
- flex-shrink: 0;
472
- }
473
- }
474
- }
475
- }
476
-
477
- &__error {
478
- padding: 24px;
479
- background: var(--fb-fc-error-bg, #fef2f2);
480
- color: var(--fb-fc-error-color, #dc2626);
481
- border: 1px solid var(--fb-fc-error-border, #fee2e2);
482
- border-radius: 8px;
483
- font-size: 14px;
484
- font-weight: 500;
485
-
486
- @media (max-width: 768px) {
487
- padding: 16px;
488
- font-size: 13px;
489
- }
490
-
491
- @media (max-width: 640px) {
492
- padding: 12px;
493
- font-size: 12px;
494
- }
495
- }
496
- }