commons-shared-web-ui 0.0.53 → 0.0.54

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 (214) hide show
  1. package/fesm2022/commons-shared-web-ui.mjs +14823 -0
  2. package/fesm2022/commons-shared-web-ui.mjs.map +1 -0
  3. package/index.d.ts +4679 -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 -2532
  21. package/documentation/smart-table.md +0 -1221
  22. package/documentation/snackbar.md +0 -118
  23. package/documentation/style-externalization.md +0 -88
  24. package/documentation/summary-card.md +0 -279
  25. package/documentation/table-column-configuration.md +0 -221
  26. package/ng-package.json +0 -28
  27. package/src/lib/modules/alert/alert.models.ts +0 -6
  28. package/src/lib/modules/alert/alert.module.ts +0 -16
  29. package/src/lib/modules/alert/components/alert/alert.component.html +0 -27
  30. package/src/lib/modules/alert/components/alert/alert.component.scss +0 -92
  31. package/src/lib/modules/alert/components/alert/alert.component.ts +0 -81
  32. package/src/lib/modules/button/button.models.ts +0 -13
  33. package/src/lib/modules/button/button.module.ts +0 -16
  34. package/src/lib/modules/button/components/button/button.component.html +0 -22
  35. package/src/lib/modules/button/components/button/button.component.scss +0 -88
  36. package/src/lib/modules/button/components/button/button.component.ts +0 -67
  37. package/src/lib/modules/button-dropdown/button-dropdown.models.ts +0 -26
  38. package/src/lib/modules/button-dropdown/button-dropdown.module.ts +0 -22
  39. package/src/lib/modules/button-dropdown/button-dropdown.theme.scss +0 -87
  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 -41
  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 -148
  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 -1196
  162. package/src/lib/modules/smart-form/components/form-field/form-field.component.scss +0 -2014
  163. package/src/lib/modules/smart-form/components/form-field/form-field.component.ts +0 -2782
  164. package/src/lib/modules/smart-form/components/form-section/form-section.component.html +0 -65
  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 -131
  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 -1131
  170. package/src/lib/modules/smart-form/index.ts +0 -10
  171. package/src/lib/modules/smart-form/models/form-schema.model.ts +0 -749
  172. package/src/lib/modules/smart-form/models/hierarchy-config.model.ts +0 -21
  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 -36
  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 -1128
  183. package/src/lib/modules/smart-table/models/table-config.model.ts +0 -213
  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/shared-ui.module.ts +0 -50
  209. package/src/lib/utils/constants.ts +0 -11
  210. package/src/lib/utils/storage.utils.ts +0 -37
  211. package/src/lib/utils/string.utils.ts +0 -23
  212. package/src/lib/utils/translation.utils.ts +0 -87
  213. package/src/public-api.ts +0 -121
  214. package/tsconfig.lib.json +0 -15
@@ -1,20 +0,0 @@
1
- import { TableColumn } from '../../smart-table/models/table-config.model';
2
-
3
- /**
4
- * A single editable column row in the column configurator.
5
- * Wraps a TableColumn with its visibility + lock state.
6
- *
7
- * `column` is a live reference into the module's working (cloned) config, so
8
- * writing the node state back onto it is all that's needed to produce the
9
- * updated config — no fragile index re-matching required.
10
- */
11
- export interface ConfigColumnNode {
12
- /** Live reference to the TableColumn inside the working config clone. */
13
- column: TableColumn;
14
- /** Raw label (i18n key or text); resolved through the optional translate fn at render time. */
15
- label: string;
16
- /** Whether the column is shown in the table. */
17
- visible: boolean;
18
- /** When true, the visibility toggle is locked ON (column can never be hidden). */
19
- lockVisibility: boolean;
20
- }
@@ -1,77 +0,0 @@
1
- import { Injectable, computed, signal } from '@angular/core';
2
- import { TableColumn, TableConfig } from '../../smart-table/models/table-config.model';
3
- import { ConfigColumnNode } from '../models/table-column-configuration.models';
4
-
5
- interface TableColumnConfigurationState {
6
- columns: ConfigColumnNode[];
7
- /** Deep clone of the input config; node references point into this object. */
8
- workingConfig: TableConfig | null;
9
- }
10
-
11
- /**
12
- * Signal-based store for the table-column-configuration component.
13
- * Owns the column list and the visibility toggle logic.
14
- * Provided at the component level (one store instance per configurator).
15
- */
16
- @Injectable()
17
- export class TableColumnConfigurationService {
18
- private readonly _state = signal<TableColumnConfigurationState>({
19
- columns: [],
20
- workingConfig: null,
21
- });
22
-
23
- readonly columns = computed(() => this._state().columns);
24
-
25
- // ── Load ──────────────────────────────────────────────────────────────────
26
-
27
- /**
28
- * Initialise from an input table config. The config is deep-cloned so the
29
- * caller's object is never mutated; the nodes reference the clone.
30
- */
31
- loadConfig(config: TableConfig): void {
32
- const workingConfig: TableConfig = JSON.parse(JSON.stringify(config));
33
- const columns = (workingConfig.columns ?? []).map(col => this._buildColumn(col));
34
- this._state.set({ columns, workingConfig });
35
- }
36
-
37
- // ── Mutations ─────────────────────────────────────────────────────────────
38
-
39
- /** Toggle a column's visibility. Locked columns are ignored. */
40
- toggleColumnVisible(index: number): void {
41
- this._state.update(state => ({
42
- ...state,
43
- columns: state.columns.map((c, i) =>
44
- i === index && !c.lockVisibility ? { ...c, visible: !c.visible } : c,
45
- ),
46
- }));
47
- }
48
-
49
- // ── Output ────────────────────────────────────────────────────────────────
50
-
51
- /**
52
- * Produce the updated config. Writes the current node state onto the working
53
- * clone and returns a fresh deep clone (safe to hand to the host / persist).
54
- * Returns null if no config has been loaded.
55
- */
56
- buildUpdatedConfig(): TableConfig | null {
57
- const { columns, workingConfig } = this._state();
58
- if (!workingConfig) return null;
59
- for (const node of columns) {
60
- node.column.isEnabled = node.visible;
61
- node.column.visible = node.visible; // backward compatibility
62
- }
63
- return JSON.parse(JSON.stringify(workingConfig));
64
- }
65
-
66
- // ── Private helpers ─────────────────────────────────────────────────────────
67
-
68
- private _buildColumn(column: TableColumn): ConfigColumnNode {
69
- const visible = column.isEnabled ?? column.visible ?? true;
70
- return {
71
- column,
72
- label: column.label || column.key || 'Column',
73
- visible,
74
- lockVisibility: column.lockVisibility === true,
75
- };
76
- }
77
- }
@@ -1,21 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
-
4
- import { TableColumnConfigurationComponent } from './components/table-column-configuration/table-column-configuration.component';
5
- import { ConfigColumnNodeComponent } from './components/config-column-node/config-column-node.component';
6
-
7
- const COMPONENTS = [
8
- TableColumnConfigurationComponent,
9
- ConfigColumnNodeComponent,
10
- ];
11
-
12
- @NgModule({
13
- declarations: [...COMPONENTS],
14
- imports: [
15
- CommonModule,
16
- ],
17
- exports: [
18
- TableColumnConfigurationComponent,
19
- ],
20
- })
21
- export class TableColumnConfigurationModule {}
@@ -1,50 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { MaterialModule } from './modules/material/material.module';
4
- import { AlertModule } from './modules/alert/alert.module';
5
- import { ButtonModule } from './modules/button/button.module';
6
- import { ButtonDropdownModule } from './modules/button-dropdown/button-dropdown.module';
7
- import { ConfirmationModalModule } from './modules/confirmation-modal/confirmation-modal.module';
8
- import { FilterSidebarModule } from './modules/filter-sidebar/filter-sidebar.module';
9
- import { SummaryCardModule } from './modules/summary-card/summary-card.module';
10
- import { ConfigurableFormModule } from './modules/configurable-form/configurable-form.module';
11
- import { FormComponentsModule } from './modules/form-components/form-components.module';
12
- import { SmartFormModule } from './modules/smart-form/smart-form.module';
13
- import { FilterModule } from './modules/filter/filter.module';
14
- import { SideNavModule } from './modules/side-nav/side-nav.module';
15
- import { FormBuilderModule } from './modules/form-builder/form-builder.module';
16
- import { FormFieldConfigurationModule } from './modules/form-field-configuration/form-field-configuration.module';
17
- import { TableColumnConfigurationModule } from './modules/table-column-configuration/table-column-configuration.module';
18
- import { FilterTableSelectorModule } from './modules/filter-table-selector/filter-table-selector.module';
19
-
20
- @NgModule({
21
- declarations: [],
22
- imports: [
23
- CommonModule,
24
- MaterialModule,
25
- AlertModule, ButtonModule, ButtonDropdownModule, ConfirmationModalModule, FilterSidebarModule, FilterModule,
26
- SummaryCardModule,
27
- ConfigurableFormModule,
28
- FormComponentsModule,
29
- SmartFormModule,
30
- SideNavModule,
31
- FormBuilderModule,
32
- FormFieldConfigurationModule,
33
- TableColumnConfigurationModule,
34
- FilterTableSelectorModule
35
- ],
36
- exports: [
37
- MaterialModule,
38
- AlertModule, ButtonModule, ButtonDropdownModule, ConfirmationModalModule, FilterSidebarModule, FilterModule,
39
- SummaryCardModule,
40
- ConfigurableFormModule,
41
- FormComponentsModule,
42
- SmartFormModule,
43
- SideNavModule,
44
- FormBuilderModule,
45
- FormFieldConfigurationModule,
46
- TableColumnConfigurationModule,
47
- FilterTableSelectorModule
48
- ],
49
- })
50
- export class SharedUiModule { }
@@ -1,11 +0,0 @@
1
- export const DEFAULT_ITEMS_PER_PAGE = 10;
2
- export const DEFAULT_PAGE_SIZE_OPTIONS = [5, 10, 20, 50, 100];
3
- export const PAGINATION_THEME_DEFAULT = 'theme-1';
4
- export const PAGINATION_THEME_DARK = 'theme-2';
5
-
6
- // Nav
7
- export const NAV_VARIANT_DEFAULT: 'filled' | 'underline' | 'pills' = 'filled';
8
- export const NAV_ORIENTATION_DEFAULT: 'horizontal' | 'vertical' = 'horizontal';
9
-
10
- // Side Nav
11
- export const DEFAULT_SIDE_NAV_TOOLTIP_POSITION = 'right';
@@ -1,37 +0,0 @@
1
- /**
2
- * Utility functions for LocalStorage operations
3
- */
4
- export const getLocalStorageItem = (key: string): string | null => {
5
- return localStorage.getItem(key);
6
- };
7
-
8
- export const setLocalStorageItem = (key: string, value: string): void => {
9
- localStorage.setItem(key, value);
10
- };
11
-
12
- export const removeLocalStorageItem = (key: string): void => {
13
- localStorage.removeItem(key);
14
- };
15
-
16
- export const clearLocalStorage = (): void => {
17
- localStorage.clear();
18
- };
19
-
20
- /**
21
- * Utility functions for SessionStorage operations
22
- */
23
- export const getSessionStorageItem = (key: string): string | null => {
24
- return sessionStorage.getItem(key);
25
- };
26
-
27
- export const setSessionStorageItem = (key: string, value: string): void => {
28
- sessionStorage.setItem(key, value);
29
- };
30
-
31
- export const removeSessionStorageItem = (key: string): void => {
32
- sessionStorage.removeItem(key);
33
- };
34
-
35
- export const clearSessionStorage = (): void => {
36
- sessionStorage.clear();
37
- };
@@ -1,23 +0,0 @@
1
- /**
2
- * Utility functions for string manipulation
3
- */
4
- export class StringUtils {
5
-
6
- /**
7
- * Converts a string to camelCase.
8
- * Example: "First Name" -> "firstName", "Profile Picture" -> "profilePicture"
9
- */
10
- static toCamelCase(str?: string): string {
11
- if (!str) return '';
12
- return str
13
- .replace(/[^a-zA-Z0-9 ]/g, '')
14
- .split(' ')
15
- .filter(Boolean)
16
- .map((word, i) =>
17
- i === 0
18
- ? word.charAt(0).toLowerCase() + word.slice(1)
19
- : word.charAt(0).toUpperCase() + word.slice(1)
20
- )
21
- .join('');
22
- }
23
- }
@@ -1,87 +0,0 @@
1
-
2
- /**
3
- * Recursively translates the Configuration object using the provided labels map.
4
- * This function processes:
5
- * - Section Titles
6
- * - Field Labels
7
- * - Placeholders
8
- * - Help Texts
9
- * - Option Labels (for static options)
10
- * - Repeater Labels (addLabel, repeaterItemLabel)
11
- *
12
- * @param config The FormConfig object to translate
13
- * @param labelsMap A map of key-value pairs for translation (Flattened JSON)
14
- * @returns A new FormConfig object with translated strings
15
- */
16
- export function translateConfig(config: any, labelsMap: any): any {
17
- if (!config || !labelsMap) {
18
- return config;
19
- }
20
-
21
- // Deep clone to avoid mutating original config, if not already cloned
22
- // Note: Assuming config passed here is already a clone to be modified or we clone it.
23
- // To be safe, let's clone it if it's the root call, but this function is helper.
24
- // In component we do: processedConfig = JSON.parse(JSON.stringify(config)); -> translateConfig(processedConfig, map)
25
- // So distinct reference is passed.
26
-
27
- // Helper to translate a single key
28
- const t = (key: string) => {
29
- return labelsMap[key] || key;
30
- };
31
-
32
- if (config.sections) {
33
- config.sections.forEach((section: any) => {
34
- if (section.sectionTitle) {
35
- section.sectionTitle = t(section.sectionTitle);
36
- }
37
- if (section.repeaterItemLabel) {
38
- section.repeaterItemLabel = t(section.repeaterItemLabel);
39
- }
40
- if (section.addLabel) {
41
- section.addLabel = t(section.addLabel);
42
- }
43
-
44
- if (section.fields) {
45
- section.fields.forEach((field: any) => {
46
- translateField(field, t);
47
- });
48
- }
49
- });
50
- }
51
-
52
- return config;
53
- }
54
-
55
- function translateField(field: any, t: (key: string) => string) {
56
- if (field.label) {
57
- field.label = t(field.label);
58
- }
59
- if (field.placeholder) {
60
- field.placeholder = t(field.placeholder);
61
- }
62
- if (field.helpText) {
63
- field.helpText = t(field.helpText);
64
- }
65
- if (field.suffixText) {
66
- field.suffixText = t(field.suffixText);
67
- }
68
- if (field.prefixText) { // Assuming prefixText might exist or be added
69
- field.prefixText = t(field.prefixText);
70
- }
71
-
72
- // Translate options if they exist
73
- if (field.options) {
74
- field.options.forEach((opt: any) => {
75
- if (opt.label) {
76
- opt.label = t(opt.label);
77
- }
78
- });
79
- }
80
-
81
- // Handle subFields for composite type
82
- if (field.subFields) {
83
- field.subFields.forEach((sub: any) => {
84
- translateField(sub, t);
85
- });
86
- }
87
- }
package/src/public-api.ts DELETED
@@ -1,121 +0,0 @@
1
- /*
2
- * Public API Surface of commons-shared-web-ui
3
- */
4
-
5
- export * from './lib/modules/form-builder/form-builder.module';
6
- export * from './lib/modules/form-builder/components/field-selection/field-selection.component';
7
- export * from './lib/modules/form-builder/components/field-configurator/field-configurator.component';
8
-
9
- // ── Form Field Configuration ────────────────────────────────────────────────
10
- export * from './lib/modules/form-field-configuration/form-field-configuration.module';
11
- export * from './lib/modules/form-field-configuration/components/form-field-configuration/form-field-configuration.component';
12
- export * from './lib/modules/form-field-configuration/components/config-section-node/config-section-node.component';
13
- export * from './lib/modules/form-field-configuration/components/config-field-node/config-field-node.component';
14
- export * from './lib/modules/form-field-configuration/models/field-configuration.models';
15
- export * from './lib/modules/form-field-configuration/services/field-configuration.service';
16
- export * from './lib/modules/form-field-configuration/services/config-schema-tree.service';
17
-
18
- // ── Table Column Configuration ──────────────────────────────────────────────
19
- export * from './lib/modules/table-column-configuration/table-column-configuration.module';
20
- export * from './lib/modules/table-column-configuration/components/table-column-configuration/table-column-configuration.component';
21
- export * from './lib/modules/table-column-configuration/components/config-column-node/config-column-node.component';
22
- export * from './lib/modules/table-column-configuration/models/table-column-configuration.models';
23
- export * from './lib/modules/table-column-configuration/services/table-column-configuration.service';
24
-
25
- export * from './lib/shared-ui.module';
26
- export * from './lib/modules/material/material.module';
27
- export * from './lib/utils/storage.utils';
28
- export * from './lib/utils/string.utils';
29
- export * from './lib/utils/translation.utils';
30
- export * from './lib/modules/summary-card/summary-card.module';
31
- export * from './lib/modules/summary-card/components/summary-card/summary-card.component';
32
- export * from './lib/modules/configurable-form/configurable-form.module';
33
- export * from './lib/modules/configurable-form/component/configurable-form.component';
34
- // Export Configurable Form resources namespaced to avoid collisions
35
- export * from './lib/modules/configurable-form/configurable-form.model';
36
- export * as ConfigurableFormExamples from './lib/modules/configurable-form/configurable-form.examples';
37
-
38
- export * from './lib/modules/pagination/pagination.module';
39
- export * from './lib/modules/pagination/components/pagination/pagination.component';
40
- export * from './lib/modules/nav/nav.module';
41
- export * from './lib/modules/nav/components/nav/nav.component';
42
- export * from './lib/modules/nav/nav.models';
43
- export * from './lib/modules/side-nav/side-nav.module';
44
- export * from './lib/modules/side-nav/components/side-nav/side-nav.component';
45
- export * from './lib/modules/side-nav/side-nav.models';
46
- export * from './lib/utils/constants';
47
- export * from './lib/modules/alert/alert.module';
48
- export * from './lib/modules/alert/alert.models';
49
- export * from './lib/modules/alert/components/alert/alert.component';
50
- export * from './lib/modules/button/button.module';
51
- export * from './lib/modules/button/button.models';
52
- export * from './lib/modules/button/components/button/button.component';
53
- export * from './lib/modules/button-dropdown/button-dropdown.module';
54
- export * from './lib/modules/button-dropdown/button-dropdown.models';
55
- export * from './lib/modules/button-dropdown/components/button-dropdown/button-dropdown.component';
56
- export * from './lib/modules/confirmation-modal/confirmation-modal.module';
57
- export * from './lib/modules/confirmation-modal/confirmation-modal.models';
58
- export * from './lib/modules/confirmation-modal/components/confirmation-modal/confirmation-modal.component';
59
- export * from './lib/modules/filter-sidebar/filter-sidebar.module';
60
- export * from './lib/modules/filter-sidebar/filter-sidebar.models';
61
- export * from './lib/modules/filter-sidebar/components/filter-sidebar/filter-sidebar.component';
62
- export * from './lib/modules/filter/filter.module';
63
- export * from './lib/modules/filter/filter.models';
64
- export * from './lib/modules/filter/components/filter/filter.component';
65
- export * from './lib/modules/form-components/form-components.module';
66
- export * from './lib/modules/form-components/components/input/input.component';
67
- export * from './lib/modules/form-components/components/input/input.models';
68
- export * from './lib/modules/form-components/components/dropdown/dropdown.component';
69
- export * from './lib/modules/form-components/components/dropdown/dropdown.models';
70
- export * from './lib/modules/form-components/components/checkbox/checkbox.component';
71
- export * from './lib/modules/form-components/components/checkbox/checkbox.models';
72
- export * from './lib/modules/form-components/components/radio/radio.component';
73
- export * from './lib/modules/form-components/components/radio/radio.models';
74
- export * from './lib/modules/form-components/components/toggle/toggle.component';
75
- export * from './lib/modules/form-components/components/toggle/toggle.models';
76
- export * from './lib/modules/form-components/components/datepicker/datepicker.component';
77
- export * from './lib/modules/form-components/components/datepicker/datepicker.models';
78
- export * from './lib/modules/form-components/components/search/search.component';
79
- export * from './lib/modules/form-components/components/search/search.models';
80
- export * from './lib/modules/smart-table/smart-table.module';
81
- export * from './lib/modules/smart-table/components/smart-table/smart-table.component';
82
- export * from './lib/modules/smart-table/models/table-config.model';
83
- export * from './lib/modules/smart-table/utils/smart-table.utils';
84
- export * from './lib/modules/smart-form/smart-form.module';
85
- export * from './lib/modules/smart-form/components/smart-form/smart-form.component';
86
- export {
87
- FormSchema,
88
- SubmitConfig,
89
- FieldConfig,
90
- SectionConfig,
91
- StepperConfig,
92
- TextConfig,
93
- NumberConfig,
94
- DateConfig,
95
- EmailConfig,
96
- PhoneConfig,
97
- GeneratedConfig,
98
- RangeConfig,
99
- AttachmentConfig,
100
- LocationConfig,
101
- RatingConfig,
102
- ValidationResult,
103
- LengthConstraint,
104
- OptionItem,
105
- SuffixActionIcon
106
- } from './lib/modules/smart-form/models/form-schema.model';
107
- export * from './lib/modules/smart-form/models/hierarchy-config.model';
108
- export * from './lib/modules/smart-form/services/expression.service';
109
- export * from './lib/modules/smart-form/services/smart-form-controller.service';
110
- export * from './lib/modules/smart-form/utils/validation.utils';
111
- export * as SmartFormExamples from './lib/modules/smart-form/smart-form.examples';
112
-
113
- export * from './lib/modules/snackbar/snackbar.module';
114
- export * from './lib/modules/snackbar/components/snackbar.component';
115
- export * from './lib/modules/snackbar/models/snackbar.models';
116
- export * from './lib/modules/snackbar/services/snackbar.service';
117
-
118
- // ── FilterTableSelector ─────────────────────────────────────────────────────
119
- export * from './lib/modules/filter-table-selector/filter-table-selector.module';
120
- export * from './lib/modules/filter-table-selector/filter-table-selector.models';
121
- export * from './lib/modules/filter-table-selector/components/filter-table-selector/filter-table-selector.component';
package/tsconfig.lib.json DELETED
@@ -1,15 +0,0 @@
1
- {
2
- "extends": "../../tsconfig.json",
3
- "compilerOptions": {
4
- "outDir": "../../out-tsc/lib",
5
- "target": "es2022",
6
- "declaration": true,
7
- "declarationMap": true,
8
- "inlineSources": true,
9
- "types": []
10
- },
11
- "exclude": [
12
- "src/test.ts",
13
- "**/*.spec.ts"
14
- ]
15
- }