@seniorsistemas/data-seniorx-core 2.1.0 → 2.2.0

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 (97) hide show
  1. package/core/constants/chips.const.d.ts +1 -0
  2. package/core/constants/combobox.const.d.ts +1 -1
  3. package/core/constants/fileupload.const.d.ts +9 -0
  4. package/core/constants/icon-picker.const.d.ts +1 -0
  5. package/core/constants/picklist.const.d.ts +1 -0
  6. package/core/constants/table.const.d.ts +43 -0
  7. package/core/types/button.type.d.ts +18 -2
  8. package/core/types/fileupload.type.d.ts +17 -0
  9. package/core/types/filters.type.d.ts +4 -0
  10. package/core/types/table-column.type.d.ts +31 -0
  11. package/core/types/table-options.type.d.ts +90 -0
  12. package/core/types/table-shared.type.d.ts +13 -0
  13. package/core/types/table-visual.type.d.ts +23 -0
  14. package/core/types/table.type.d.ts +4 -113
  15. package/core/utils/layout.util.d.ts +4 -0
  16. package/esm2022/core/constants/chips.const.mjs +2 -1
  17. package/esm2022/core/constants/combobox.const.mjs +2 -2
  18. package/esm2022/core/constants/fileupload.const.mjs +10 -0
  19. package/esm2022/core/constants/icon-picker.const.mjs +76 -1
  20. package/esm2022/core/constants/picklist.const.mjs +2 -1
  21. package/esm2022/core/constants/table.const.mjs +53 -6
  22. package/esm2022/core/types/button.type.mjs +1 -1
  23. package/esm2022/core/types/fileupload.type.mjs +2 -0
  24. package/esm2022/core/types/filters.type.mjs +1 -1
  25. package/esm2022/core/types/table-column.type.mjs +2 -0
  26. package/esm2022/core/types/table-options.type.mjs +2 -0
  27. package/esm2022/core/types/table-shared.type.mjs +2 -0
  28. package/esm2022/core/types/table-visual.type.mjs +2 -0
  29. package/esm2022/core/types/table.type.mjs +1 -1
  30. package/esm2022/core/utils/combobox.util.mjs +2 -2
  31. package/esm2022/core/utils/layout.util.mjs +21 -5
  32. package/esm2022/features/accordion/accordion-item.component.mjs +1 -1
  33. package/esm2022/features/badge/badge.component.mjs +1 -1
  34. package/esm2022/features/button/button.component.mjs +76 -11
  35. package/esm2022/features/button/components/button-menu.component.mjs +81 -0
  36. package/esm2022/features/card-list/card/card.component.mjs +3 -3
  37. package/esm2022/features/checkbox/checkbox.component.mjs +3 -3
  38. package/esm2022/features/chips/chips.component.mjs +8 -5
  39. package/esm2022/features/color-picker/color-picker.component.mjs +1 -1
  40. package/esm2022/features/combobox/combobox.component.mjs +17 -4
  41. package/esm2022/features/fileupload/fileupload.component.mjs +311 -0
  42. package/esm2022/features/filters/filters.component.mjs +3 -3
  43. package/esm2022/features/hyperlink/hyperlink.component.mjs +3 -3
  44. package/esm2022/features/icon-picker/icon-picker.component.mjs +34 -7
  45. package/esm2022/features/info-sign/info-sign.component.mjs +1 -1
  46. package/esm2022/features/mask/mask.component.mjs +1 -1
  47. package/esm2022/features/modal/modal.component.mjs +1 -1
  48. package/esm2022/features/number-input/number-input.component.mjs +1 -1
  49. package/esm2022/features/paginator/paginator.component.mjs +3 -3
  50. package/esm2022/features/picklist/picklist.component.mjs +33 -6
  51. package/esm2022/features/row-card-list/row-card/row-card.component.mjs +3 -3
  52. package/esm2022/features/searchbox/searchbox.component.mjs +3 -3
  53. package/esm2022/features/stats-card/stats-card.component.mjs +1 -1
  54. package/esm2022/features/switch/switch.component.mjs +3 -2
  55. package/esm2022/features/table/components/table-actions-menu.component.mjs +86 -0
  56. package/esm2022/features/table/components/table-cell-content.component.mjs +124 -0
  57. package/esm2022/features/table/components/table-sort-indicator.component.mjs +65 -0
  58. package/esm2022/features/table/table.component.mjs +116 -319
  59. package/esm2022/features/table/utils/table-config.util.mjs +35 -0
  60. package/esm2022/features/table/utils/table-data.util.mjs +96 -0
  61. package/esm2022/features/table/utils/table-layout.util.mjs +25 -0
  62. package/esm2022/features/table/utils/table-truncate.pipe.mjs +19 -0
  63. package/esm2022/features/table/utils/table-visual.util.mjs +221 -0
  64. package/esm2022/features/textarea/textarea.component.mjs +1 -1
  65. package/esm2022/features/textbox/textbox.component.mjs +1 -1
  66. package/esm2022/features/tooltip/tooltip.component.mjs +12 -3
  67. package/esm2022/features/visual-sql-editor/visual-sql-editor.component.mjs +2 -2
  68. package/esm2022/locales/en.json +194 -0
  69. package/esm2022/locales/es-CO.json +187 -1
  70. package/esm2022/locales/pt.json +194 -0
  71. package/esm2022/providers/features.provider.mjs +3 -1
  72. package/esm2022/public-api.mjs +3 -1
  73. package/features/button/button.component.d.ts +14 -7
  74. package/features/button/components/button-menu.component.d.ts +25 -0
  75. package/features/chips/chips.component.d.ts +1 -0
  76. package/features/combobox/combobox.component.d.ts +4 -1
  77. package/features/fileupload/fileupload.component.d.ts +66 -0
  78. package/features/icon-picker/icon-picker.component.d.ts +3 -0
  79. package/features/modal/modal.component.d.ts +1 -1
  80. package/features/picklist/picklist.component.d.ts +6 -1
  81. package/features/table/components/table-actions-menu.component.d.ts +12 -0
  82. package/features/table/components/table-cell-content.component.d.ts +41 -0
  83. package/features/table/components/table-sort-indicator.component.d.ts +11 -0
  84. package/features/table/table.component.d.ts +28 -44
  85. package/features/table/utils/table-config.util.d.ts +3 -0
  86. package/features/table/utils/table-data.util.d.ts +10 -0
  87. package/features/table/utils/table-layout.util.d.ts +4 -0
  88. package/features/table/utils/table-truncate.pipe.d.ts +12 -0
  89. package/features/table/utils/table-visual.util.d.ts +21 -0
  90. package/features/tooltip/tooltip.component.d.ts +3 -1
  91. package/fesm2022/seniorsistemas-data-seniorx-core.mjs +3525 -1848
  92. package/fesm2022/seniorsistemas-data-seniorx-core.mjs.map +1 -1
  93. package/package.json +1 -1
  94. package/public-api.d.ts +5 -2
  95. package/src/locales/en.json +194 -0
  96. package/src/locales/es-CO.json +187 -1
  97. package/src/locales/pt.json +194 -0
@@ -0,0 +1,35 @@
1
+ import { DEFAULT_TABLE_OPTIONS } from '../../../core/constants/table.const';
2
+ const ICON_TITLE_KEY = 'icon-title';
3
+ export function mergeTableOptions(config) {
4
+ const base = DEFAULT_TABLE_OPTIONS;
5
+ const next = config ?? base;
6
+ return {
7
+ ...base,
8
+ ...next,
9
+ search: { ...base.search, ...next.search },
10
+ table: { ...base.table, ...next.table },
11
+ empty: { ...base.empty, ...next.empty },
12
+ pagination: { ...base.pagination, ...next.pagination },
13
+ cells: {
14
+ checkbox: { ...(base.cells?.checkbox ?? {}), ...(next.cells?.checkbox ?? {}) },
15
+ button: { ...(base.cells?.button ?? {}), ...(next.cells?.button ?? {}) },
16
+ tag: { ...(base.cells?.tag ?? {}), ...(next.cells?.tag ?? {}) },
17
+ icon: { ...(base.cells?.icon ?? {}), ...(next.cells?.icon ?? {}) },
18
+ actions: { ...(base.cells?.actions ?? {}), ...(next.cells?.actions ?? {}) },
19
+ [ICON_TITLE_KEY]: { ...(base.cells?.[ICON_TITLE_KEY] ?? {}), ...(next.cells?.[ICON_TITLE_KEY] ?? {}) }
20
+ }
21
+ };
22
+ }
23
+ export function buildTableCellConfigMap(options) {
24
+ const merged = mergeTableOptions(options);
25
+ const cells = merged.cells ?? {};
26
+ return {
27
+ checkbox: cells.checkbox ?? {},
28
+ button: cells.button ?? {},
29
+ tag: cells.tag ?? {},
30
+ icon: cells.icon ?? {},
31
+ actions: cells.actions ?? {},
32
+ [ICON_TITLE_KEY]: cells[ICON_TITLE_KEY] ?? { iconField: 'icon' }
33
+ };
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29uZmlnLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3RhYmxlL3V0aWxzL3RhYmxlLWNvbmZpZy51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRzVFLE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQztBQUVwQyxNQUFNLFVBQVUsaUJBQWlCLENBQThCLE1BQTBDO0lBQ3ZHLE1BQU0sSUFBSSxHQUFvQixxQkFBcUIsQ0FBQztJQUNwRCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksSUFBSSxDQUFDO0lBRTVCLE9BQU87UUFDTCxHQUFHLElBQUk7UUFDUCxHQUFHLElBQUk7UUFDUCxNQUFNLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQzFDLEtBQUssRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDdkMsS0FBSyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUN2QyxVQUFVLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFO1FBQ3RELEtBQUssRUFBRTtZQUNMLFFBQVEsRUFBRSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLElBQUksRUFBRSxDQUFDLEVBQUU7WUFDOUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUMsRUFBRTtZQUN4RSxHQUFHLEVBQUUsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFO1lBQy9ELElBQUksRUFBRSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLEVBQUU7WUFDbEUsT0FBTyxFQUFFLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUMsRUFBRTtZQUMzRSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFO1NBQ3ZHO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQThCLE9BQXdCO0lBQzNGLE1BQU0sTUFBTSxHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO0lBRWpDLE9BQU87UUFDTCxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsSUFBSSxFQUFFO1FBQzlCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxJQUFJLEVBQUU7UUFDMUIsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLElBQUksRUFBRTtRQUNwQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFO1FBQ3RCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxJQUFJLEVBQUU7UUFDNUIsQ0FBQyxjQUFjLENBQUMsRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO0tBQ2pFLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgREVGQVVMVF9UQUJMRV9PUFRJT05TIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9jb25zdGFudHMvdGFibGUuY29uc3QnO1xuaW1wb3J0IHR5cGUgeyBSb3dCYXNlLCBUYWJsZUNlbGxDb25maWdNYXAsIFRhYmxlT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdHlwZXMvdGFibGUudHlwZSc7XG5cbmNvbnN0IElDT05fVElUTEVfS0VZID0gJ2ljb24tdGl0bGUnO1xuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VUYWJsZU9wdGlvbnM8VCBleHRlbmRzIFJvd0Jhc2UgPSBSb3dCYXNlPihjb25maWc6IFRhYmxlT3B0aW9uczxUPiB8IG51bGwgfCB1bmRlZmluZWQpOiBUYWJsZU9wdGlvbnM8VD4ge1xuICBjb25zdCBiYXNlOiBUYWJsZU9wdGlvbnM8VD4gPSBERUZBVUxUX1RBQkxFX09QVElPTlM7XG4gIGNvbnN0IG5leHQgPSBjb25maWcgPz8gYmFzZTtcblxuICByZXR1cm4ge1xuICAgIC4uLmJhc2UsXG4gICAgLi4ubmV4dCxcbiAgICBzZWFyY2g6IHsgLi4uYmFzZS5zZWFyY2gsIC4uLm5leHQuc2VhcmNoIH0sXG4gICAgdGFibGU6IHsgLi4uYmFzZS50YWJsZSwgLi4ubmV4dC50YWJsZSB9LFxuICAgIGVtcHR5OiB7IC4uLmJhc2UuZW1wdHksIC4uLm5leHQuZW1wdHkgfSxcbiAgICBwYWdpbmF0aW9uOiB7IC4uLmJhc2UucGFnaW5hdGlvbiwgLi4ubmV4dC5wYWdpbmF0aW9uIH0sXG4gICAgY2VsbHM6IHtcbiAgICAgIGNoZWNrYm94OiB7IC4uLihiYXNlLmNlbGxzPy5jaGVja2JveCA/PyB7fSksIC4uLihuZXh0LmNlbGxzPy5jaGVja2JveCA/PyB7fSkgfSxcbiAgICAgIGJ1dHRvbjogeyAuLi4oYmFzZS5jZWxscz8uYnV0dG9uID8/IHt9KSwgLi4uKG5leHQuY2VsbHM/LmJ1dHRvbiA/PyB7fSkgfSxcbiAgICAgIHRhZzogeyAuLi4oYmFzZS5jZWxscz8udGFnID8/IHt9KSwgLi4uKG5leHQuY2VsbHM/LnRhZyA/PyB7fSkgfSxcbiAgICAgIGljb246IHsgLi4uKGJhc2UuY2VsbHM/Lmljb24gPz8ge30pLCAuLi4obmV4dC5jZWxscz8uaWNvbiA/PyB7fSkgfSxcbiAgICAgIGFjdGlvbnM6IHsgLi4uKGJhc2UuY2VsbHM/LmFjdGlvbnMgPz8ge30pLCAuLi4obmV4dC5jZWxscz8uYWN0aW9ucyA/PyB7fSkgfSxcbiAgICAgIFtJQ09OX1RJVExFX0tFWV06IHsgLi4uKGJhc2UuY2VsbHM/LltJQ09OX1RJVExFX0tFWV0gPz8ge30pLCAuLi4obmV4dC5jZWxscz8uW0lDT05fVElUTEVfS0VZXSA/PyB7fSkgfVxuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkVGFibGVDZWxsQ29uZmlnTWFwPFQgZXh0ZW5kcyBSb3dCYXNlID0gUm93QmFzZT4ob3B0aW9uczogVGFibGVPcHRpb25zPFQ+KTogVGFibGVDZWxsQ29uZmlnTWFwPFQ+IHtcbiAgY29uc3QgbWVyZ2VkID0gbWVyZ2VUYWJsZU9wdGlvbnMob3B0aW9ucyk7XG4gIGNvbnN0IGNlbGxzID0gbWVyZ2VkLmNlbGxzID8/IHt9O1xuXG4gIHJldHVybiB7XG4gICAgY2hlY2tib3g6IGNlbGxzLmNoZWNrYm94ID8/IHt9LFxuICAgIGJ1dHRvbjogY2VsbHMuYnV0dG9uID8/IHt9LFxuICAgIHRhZzogY2VsbHMudGFnID8/IHt9LFxuICAgIGljb246IGNlbGxzLmljb24gPz8ge30sXG4gICAgYWN0aW9uczogY2VsbHMuYWN0aW9ucyA/PyB7fSxcbiAgICBbSUNPTl9USVRMRV9LRVldOiBjZWxsc1tJQ09OX1RJVExFX0tFWV0gPz8geyBpY29uRmllbGQ6ICdpY29uJyB9XG4gIH07XG59XG4iXX0=
@@ -0,0 +1,96 @@
1
+ import { TABLE_DEFAULT_ROW_ID_PREVIEW_LENGTH, TABLE_INDEX_ZERO } from '../../../core/constants/table.const';
2
+ import { formatNumericValue } from '../../../core/utils/numeric.util';
3
+ export function getObjectValue(source, key) {
4
+ if (!source || typeof source !== 'object') {
5
+ return undefined;
6
+ }
7
+ return source[key];
8
+ }
9
+ export function getPathParts(path, cache) {
10
+ const cached = cache.get(path);
11
+ if (cached) {
12
+ return cached;
13
+ }
14
+ const parts = path.split('.');
15
+ cache.set(path, parts);
16
+ return parts;
17
+ }
18
+ export function getNestedValue(obj, path, cache) {
19
+ if (!path) {
20
+ return undefined;
21
+ }
22
+ const parts = getPathParts(path, cache);
23
+ let accumulator = obj;
24
+ for (const part of parts) {
25
+ const next = getObjectValue(accumulator, part);
26
+ if (typeof next === 'undefined') {
27
+ return undefined;
28
+ }
29
+ accumulator = next;
30
+ }
31
+ return accumulator;
32
+ }
33
+ export function formatTableDate(value) {
34
+ try {
35
+ return new Intl.DateTimeFormat(undefined).format(new Date(value));
36
+ }
37
+ catch {
38
+ return toTableTextValue(value);
39
+ }
40
+ }
41
+ export function formatTableCurrency(value, currency = 'BRL') {
42
+ const numericValue = typeof value === 'number' || typeof value === 'string' ? value : null;
43
+ return formatNumericValue(numericValue, {
44
+ style: 'currency',
45
+ currency
46
+ });
47
+ }
48
+ export function toTableTextValue(value) {
49
+ return typeof value === 'string' ? value : String(value ?? '');
50
+ }
51
+ export function resolveRowIdentityLabel(rowIdentity) {
52
+ if (rowIdentity.name) {
53
+ return String(rowIdentity.name);
54
+ }
55
+ if (rowIdentity.title) {
56
+ return String(rowIdentity.title);
57
+ }
58
+ if (rowIdentity.label) {
59
+ return String(rowIdentity.label);
60
+ }
61
+ if (rowIdentity.id) {
62
+ return String(rowIdentity.id);
63
+ }
64
+ return 'item';
65
+ }
66
+ export function buildRowCheckboxId(row) {
67
+ if (!row || typeof row !== 'object') {
68
+ return `checkbox-row-${String(row)}`;
69
+ }
70
+ const rowIdentity = row;
71
+ const rowId = rowIdentity.id ??
72
+ rowIdentity.name ??
73
+ JSON.stringify(row).substring(TABLE_INDEX_ZERO, TABLE_DEFAULT_ROW_ID_PREVIEW_LENGTH);
74
+ return `checkbox-row-${String(rowId).replace(/[^a-zA-Z0-9]/g, '-')}`;
75
+ }
76
+ export function filterTableRows(data, cols, query, resolveValue) {
77
+ const normalizedQuery = query.trim().toLowerCase();
78
+ if (!normalizedQuery) {
79
+ return data;
80
+ }
81
+ const fields = cols
82
+ .filter((column) => column.searchable ?? true)
83
+ .filter((column) => !!column.field)
84
+ .map((column) => column.field);
85
+ if (fields.length === 0) {
86
+ return data;
87
+ }
88
+ return data.filter((row) => fields.some((field) => {
89
+ const value = resolveValue(row, field);
90
+ if (Array.isArray(value)) {
91
+ return value.join(' ').toLowerCase().includes(normalizedQuery);
92
+ }
93
+ return String(value ?? '').toLowerCase().includes(normalizedQuery);
94
+ }));
95
+ }
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZGF0YS51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy90YWJsZS91dGlscy90YWJsZS1kYXRhLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLG1DQUFtQyxFQUNuQyxnQkFBZ0IsRUFDakIsTUFBTSxxQ0FBcUMsQ0FBQztBQUU3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUV0RSxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQWUsRUFBRSxHQUFXO0lBQ3pELElBQUksQ0FBQyxNQUFNLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDMUMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELE9BQVEsTUFBa0MsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsRCxDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxJQUFZLEVBQUUsS0FBNEI7SUFDckUsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUUvQixJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1gsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkIsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsR0FBTSxFQUNOLElBQXdCLEVBQ3hCLEtBQTRCO0lBRTVCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNWLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLElBQUksV0FBVyxHQUFZLEdBQUcsQ0FBQztJQUUvQixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFL0MsSUFBSSxPQUFPLElBQUksS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUNoQyxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsV0FBVyxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsS0FBYztJQUM1QyxJQUFJLENBQUM7UUFDSCxPQUFPLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBZSxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxLQUFjLEVBQUUsUUFBUSxHQUFHLEtBQUs7SUFDbEUsTUFBTSxZQUFZLEdBQUcsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFFM0YsT0FBTyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUU7UUFDdEMsS0FBSyxFQUFFLFVBQVU7UUFDakIsUUFBUTtLQUNULENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsS0FBYztJQUM3QyxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQ2pFLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsV0FBNkI7SUFDbkUsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0QixPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3RCLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDbkIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUE4QixHQUFNO0lBQ3BFLElBQUksQ0FBQyxHQUFHLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDcEMsT0FBTyxnQkFBZ0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELE1BQU0sV0FBVyxHQUFHLEdBQXVCLENBQUM7SUFDNUMsTUFBTSxLQUFLLEdBQ1QsV0FBVyxDQUFDLEVBQUU7UUFDZCxXQUFXLENBQUMsSUFBSTtRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxtQ0FBbUMsQ0FBQyxDQUFDO0lBRXZGLE9BQU8sZ0JBQWdCLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7QUFDdkUsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQzdCLElBQVMsRUFDVCxJQUFzQixFQUN0QixLQUFhLEVBQ2IsWUFBaUQ7SUFFakQsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRW5ELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNyQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJO1NBQ2hCLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUM7U0FDN0MsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUErQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7U0FDL0UsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFakMsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ3pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUNwQixNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXZDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDckUsQ0FBQyxDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBUQUJMRV9ERUZBVUxUX1JPV19JRF9QUkVWSUVXX0xFTkdUSCxcbiAgVEFCTEVfSU5ERVhfWkVST1xufSBmcm9tICcuLi8uLi8uLi9jb3JlL2NvbnN0YW50cy90YWJsZS5jb25zdCc7XG5pbXBvcnQgdHlwZSB7IFJvd0Jhc2UsIFRhYmxlQ29sdW1uLCBUYWJsZVJvd0lkZW50aXR5IH0gZnJvbSAnLi4vLi4vLi4vY29yZS90eXBlcy90YWJsZS50eXBlJztcbmltcG9ydCB7IGZvcm1hdE51bWVyaWNWYWx1ZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdXRpbHMvbnVtZXJpYy51dGlsJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE9iamVjdFZhbHVlKHNvdXJjZTogdW5rbm93biwga2V5OiBzdHJpbmcpOiB1bmtub3duIHtcbiAgaWYgKCFzb3VyY2UgfHwgdHlwZW9mIHNvdXJjZSAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmV0dXJuIChzb3VyY2UgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW2tleV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYXRoUGFydHMocGF0aDogc3RyaW5nLCBjYWNoZTogTWFwPHN0cmluZywgc3RyaW5nW10+KTogc3RyaW5nW10ge1xuICBjb25zdCBjYWNoZWQgPSBjYWNoZS5nZXQocGF0aCk7XG5cbiAgaWYgKGNhY2hlZCkge1xuICAgIHJldHVybiBjYWNoZWQ7XG4gIH1cblxuICBjb25zdCBwYXJ0cyA9IHBhdGguc3BsaXQoJy4nKTtcbiAgY2FjaGUuc2V0KHBhdGgsIHBhcnRzKTtcbiAgcmV0dXJuIHBhcnRzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmVzdGVkVmFsdWU8VCBleHRlbmRzIFJvd0Jhc2UgPSBSb3dCYXNlPihcbiAgb2JqOiBULFxuICBwYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gIGNhY2hlOiBNYXA8c3RyaW5nLCBzdHJpbmdbXT5cbik6IHVua25vd24ge1xuICBpZiAoIXBhdGgpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgcGFydHMgPSBnZXRQYXRoUGFydHMocGF0aCwgY2FjaGUpO1xuICBsZXQgYWNjdW11bGF0b3I6IHVua25vd24gPSBvYmo7XG5cbiAgZm9yIChjb25zdCBwYXJ0IG9mIHBhcnRzKSB7XG4gICAgY29uc3QgbmV4dCA9IGdldE9iamVjdFZhbHVlKGFjY3VtdWxhdG9yLCBwYXJ0KTtcblxuICAgIGlmICh0eXBlb2YgbmV4dCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgYWNjdW11bGF0b3IgPSBuZXh0O1xuICB9XG5cbiAgcmV0dXJuIGFjY3VtdWxhdG9yO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0VGFibGVEYXRlKHZhbHVlOiB1bmtub3duKTogc3RyaW5nIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQodW5kZWZpbmVkKS5mb3JtYXQobmV3IERhdGUodmFsdWUgYXMgc3RyaW5nKSk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiB0b1RhYmxlVGV4dFZhbHVlKHZhbHVlKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0VGFibGVDdXJyZW5jeSh2YWx1ZTogdW5rbm93biwgY3VycmVuY3kgPSAnQlJMJyk6IHN0cmluZyB7XG4gIGNvbnN0IG51bWVyaWNWYWx1ZSA9IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgfHwgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IHZhbHVlIDogbnVsbDtcblxuICByZXR1cm4gZm9ybWF0TnVtZXJpY1ZhbHVlKG51bWVyaWNWYWx1ZSwge1xuICAgIHN0eWxlOiAnY3VycmVuY3knLFxuICAgIGN1cnJlbmN5XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9UYWJsZVRleHRWYWx1ZSh2YWx1ZTogdW5rbm93bik6IHN0cmluZyB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnID8gdmFsdWUgOiBTdHJpbmcodmFsdWUgPz8gJycpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVJvd0lkZW50aXR5TGFiZWwocm93SWRlbnRpdHk6IFRhYmxlUm93SWRlbnRpdHkpOiBzdHJpbmcge1xuICBpZiAocm93SWRlbnRpdHkubmFtZSkge1xuICAgIHJldHVybiBTdHJpbmcocm93SWRlbnRpdHkubmFtZSk7XG4gIH1cblxuICBpZiAocm93SWRlbnRpdHkudGl0bGUpIHtcbiAgICByZXR1cm4gU3RyaW5nKHJvd0lkZW50aXR5LnRpdGxlKTtcbiAgfVxuXG4gIGlmIChyb3dJZGVudGl0eS5sYWJlbCkge1xuICAgIHJldHVybiBTdHJpbmcocm93SWRlbnRpdHkubGFiZWwpO1xuICB9XG5cbiAgaWYgKHJvd0lkZW50aXR5LmlkKSB7XG4gICAgcmV0dXJuIFN0cmluZyhyb3dJZGVudGl0eS5pZCk7XG4gIH1cblxuICByZXR1cm4gJ2l0ZW0nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRSb3dDaGVja2JveElkPFQgZXh0ZW5kcyBSb3dCYXNlID0gUm93QmFzZT4ocm93OiBUKTogc3RyaW5nIHtcbiAgaWYgKCFyb3cgfHwgdHlwZW9mIHJvdyAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gYGNoZWNrYm94LXJvdy0ke1N0cmluZyhyb3cpfWA7XG4gIH1cblxuICBjb25zdCByb3dJZGVudGl0eSA9IHJvdyBhcyBUYWJsZVJvd0lkZW50aXR5O1xuICBjb25zdCByb3dJZCA9XG4gICAgcm93SWRlbnRpdHkuaWQgPz9cbiAgICByb3dJZGVudGl0eS5uYW1lID8/XG4gICAgSlNPTi5zdHJpbmdpZnkocm93KS5zdWJzdHJpbmcoVEFCTEVfSU5ERVhfWkVSTywgVEFCTEVfREVGQVVMVF9ST1dfSURfUFJFVklFV19MRU5HVEgpO1xuXG4gIHJldHVybiBgY2hlY2tib3gtcm93LSR7U3RyaW5nKHJvd0lkKS5yZXBsYWNlKC9bXmEtekEtWjAtOV0vZywgJy0nKX1gO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyVGFibGVSb3dzPFQgZXh0ZW5kcyBSb3dCYXNlID0gUm93QmFzZT4oXG4gIGRhdGE6IFRbXSxcbiAgY29sczogVGFibGVDb2x1bW48VD5bXSxcbiAgcXVlcnk6IHN0cmluZyxcbiAgcmVzb2x2ZVZhbHVlOiAocm93OiBULCBmaWVsZD86IHN0cmluZykgPT4gdW5rbm93blxuKTogVFtdIHtcbiAgY29uc3Qgbm9ybWFsaXplZFF1ZXJ5ID0gcXVlcnkudHJpbSgpLnRvTG93ZXJDYXNlKCk7XG5cbiAgaWYgKCFub3JtYWxpemVkUXVlcnkpIHtcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIGNvbnN0IGZpZWxkcyA9IGNvbHNcbiAgICAuZmlsdGVyKChjb2x1bW4pID0+IGNvbHVtbi5zZWFyY2hhYmxlID8/IHRydWUpXG4gICAgLmZpbHRlcigoY29sdW1uKTogY29sdW1uIGlzIHR5cGVvZiBjb2x1bW4gJiB7IGZpZWxkOiBzdHJpbmcgfSA9PiAhIWNvbHVtbi5maWVsZClcbiAgICAubWFwKChjb2x1bW4pID0+IGNvbHVtbi5maWVsZCk7XG5cbiAgaWYgKGZpZWxkcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIHJldHVybiBkYXRhLmZpbHRlcigocm93KSA9PlxuICAgIGZpZWxkcy5zb21lKChmaWVsZCkgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSByZXNvbHZlVmFsdWUocm93LCBmaWVsZCk7XG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gdmFsdWUuam9pbignICcpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobm9ybWFsaXplZFF1ZXJ5KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSA/PyAnJykudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhub3JtYWxpemVkUXVlcnkpO1xuICAgIH0pXG4gICk7XG59XG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { TABLE_DEFAULT_ACTIONS_COLUMN_MIN_WIDTH_PX, TABLE_DEFAULT_BUTTON_COLUMN_MIN_WIDTH_PX, TABLE_DEFAULT_CHECKBOX_COLUMN_MIN_WIDTH_PX, TABLE_DEFAULT_CODE_COLUMN_MIN_WIDTH_PX, TABLE_DEFAULT_CURRENCY_COLUMN_MIN_WIDTH_PX, TABLE_DEFAULT_DATE_COLUMN_MIN_WIDTH_PX, TABLE_DEFAULT_ICON_COLUMN_MIN_WIDTH_PX, TABLE_DEFAULT_ICON_TITLE_COLUMN_MIN_WIDTH_PX, TABLE_DEFAULT_NUMBER_COLUMN_MIN_WIDTH_PX, TABLE_DEFAULT_STRONG_COLUMN_MIN_WIDTH_PX, TABLE_DEFAULT_TAG_COLUMN_MIN_WIDTH_PX, TABLE_DEFAULT_TEXT_COLUMN_MIN_WIDTH_PX } from '../../../core/constants/table.const';
2
+ const COLUMN_MIN_WIDTH_MAP = {
3
+ 'checkbox-selection': TABLE_DEFAULT_CHECKBOX_COLUMN_MIN_WIDTH_PX,
4
+ currency: TABLE_DEFAULT_CURRENCY_COLUMN_MIN_WIDTH_PX,
5
+ button: TABLE_DEFAULT_BUTTON_COLUMN_MIN_WIDTH_PX,
6
+ actions: TABLE_DEFAULT_ACTIONS_COLUMN_MIN_WIDTH_PX,
7
+ icon: TABLE_DEFAULT_ICON_COLUMN_MIN_WIDTH_PX,
8
+ 'icon-title': TABLE_DEFAULT_ICON_TITLE_COLUMN_MIN_WIDTH_PX,
9
+ date: TABLE_DEFAULT_DATE_COLUMN_MIN_WIDTH_PX,
10
+ code: TABLE_DEFAULT_CODE_COLUMN_MIN_WIDTH_PX,
11
+ number: TABLE_DEFAULT_NUMBER_COLUMN_MIN_WIDTH_PX,
12
+ strong: TABLE_DEFAULT_STRONG_COLUMN_MIN_WIDTH_PX,
13
+ tag: TABLE_DEFAULT_TAG_COLUMN_MIN_WIDTH_PX,
14
+ };
15
+ export function normalizeTableColumnAlignment(value) {
16
+ return value === 'left' || value === 'center' || value === 'right' ? value : null;
17
+ }
18
+ export function getTableColumnMinWidthPx(column) {
19
+ const width = column.type ? COLUMN_MIN_WIDTH_MAP[column.type] : undefined;
20
+ return width ?? TABLE_DEFAULT_TEXT_COLUMN_MIN_WIDTH_PX;
21
+ }
22
+ export function getTableMinWidthPx(columns) {
23
+ return columns.reduce((total, column) => total + getTableColumnMinWidthPx(column), 0);
24
+ }
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbGF5b3V0LnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3RhYmxlL3V0aWxzL3RhYmxlLWxheW91dC51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx5Q0FBeUMsRUFDekMsd0NBQXdDLEVBQ3hDLDBDQUEwQyxFQUMxQyxzQ0FBc0MsRUFDdEMsMENBQTBDLEVBQzFDLHNDQUFzQyxFQUN0QyxzQ0FBc0MsRUFDdEMsNENBQTRDLEVBQzVDLHdDQUF3QyxFQUN4Qyx3Q0FBd0MsRUFDeEMscUNBQXFDLEVBQ3JDLHNDQUFzQyxFQUN2QyxNQUFNLHFDQUFxQyxDQUFDO0FBRzdDLE1BQU0sb0JBQW9CLEdBQTZDO0lBQ3JFLG9CQUFvQixFQUFFLDBDQUEwQztJQUNoRSxRQUFRLEVBQUUsMENBQTBDO0lBQ3BELE1BQU0sRUFBRSx3Q0FBd0M7SUFDaEQsT0FBTyxFQUFFLHlDQUF5QztJQUNsRCxJQUFJLEVBQUUsc0NBQXNDO0lBQzVDLFlBQVksRUFBRSw0Q0FBNEM7SUFDMUQsSUFBSSxFQUFFLHNDQUFzQztJQUM1QyxJQUFJLEVBQUUsc0NBQXNDO0lBQzVDLE1BQU0sRUFBRSx3Q0FBd0M7SUFDaEQsTUFBTSxFQUFFLHdDQUF3QztJQUNoRCxHQUFHLEVBQUUscUNBQXFDO0NBQzNDLENBQUM7QUFFRixNQUFNLFVBQVUsNkJBQTZCLENBQUMsS0FBYztJQUMxRCxPQUFPLEtBQUssS0FBSyxNQUFNLElBQUksS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNwRixDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUE4QixNQUFzQjtJQUMxRixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUMxRSxPQUFPLEtBQUssSUFBSSxzQ0FBc0MsQ0FBQztBQUN6RCxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUE4QixPQUF5QjtJQUN2RixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEdBQUcsd0JBQXdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDeEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFRBQkxFX0RFRkFVTFRfQUNUSU9OU19DT0xVTU5fTUlOX1dJRFRIX1BYLFxuICBUQUJMRV9ERUZBVUxUX0JVVFRPTl9DT0xVTU5fTUlOX1dJRFRIX1BYLFxuICBUQUJMRV9ERUZBVUxUX0NIRUNLQk9YX0NPTFVNTl9NSU5fV0lEVEhfUFgsXG4gIFRBQkxFX0RFRkFVTFRfQ09ERV9DT0xVTU5fTUlOX1dJRFRIX1BYLFxuICBUQUJMRV9ERUZBVUxUX0NVUlJFTkNZX0NPTFVNTl9NSU5fV0lEVEhfUFgsXG4gIFRBQkxFX0RFRkFVTFRfREFURV9DT0xVTU5fTUlOX1dJRFRIX1BYLFxuICBUQUJMRV9ERUZBVUxUX0lDT05fQ09MVU1OX01JTl9XSURUSF9QWCxcbiAgVEFCTEVfREVGQVVMVF9JQ09OX1RJVExFX0NPTFVNTl9NSU5fV0lEVEhfUFgsXG4gIFRBQkxFX0RFRkFVTFRfTlVNQkVSX0NPTFVNTl9NSU5fV0lEVEhfUFgsXG4gIFRBQkxFX0RFRkFVTFRfU1RST05HX0NPTFVNTl9NSU5fV0lEVEhfUFgsXG4gIFRBQkxFX0RFRkFVTFRfVEFHX0NPTFVNTl9NSU5fV0lEVEhfUFgsXG4gIFRBQkxFX0RFRkFVTFRfVEVYVF9DT0xVTU5fTUlOX1dJRFRIX1BYXG59IGZyb20gJy4uLy4uLy4uL2NvcmUvY29uc3RhbnRzL3RhYmxlLmNvbnN0JztcbmltcG9ydCB0eXBlIHsgUm93QmFzZSwgVGFibGVDb2x1bW4sIFRhYmxlQ29sdW1uQWxpZ25tZW50LCBUYWJsZUNvbHVtblR5cGUgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3R5cGVzL3RhYmxlLnR5cGUnO1xuXG5jb25zdCBDT0xVTU5fTUlOX1dJRFRIX01BUDogUGFydGlhbDxSZWNvcmQ8VGFibGVDb2x1bW5UeXBlLCBudW1iZXI+PiA9IHtcbiAgJ2NoZWNrYm94LXNlbGVjdGlvbic6IFRBQkxFX0RFRkFVTFRfQ0hFQ0tCT1hfQ09MVU1OX01JTl9XSURUSF9QWCxcbiAgY3VycmVuY3k6IFRBQkxFX0RFRkFVTFRfQ1VSUkVOQ1lfQ09MVU1OX01JTl9XSURUSF9QWCxcbiAgYnV0dG9uOiBUQUJMRV9ERUZBVUxUX0JVVFRPTl9DT0xVTU5fTUlOX1dJRFRIX1BYLFxuICBhY3Rpb25zOiBUQUJMRV9ERUZBVUxUX0FDVElPTlNfQ09MVU1OX01JTl9XSURUSF9QWCxcbiAgaWNvbjogVEFCTEVfREVGQVVMVF9JQ09OX0NPTFVNTl9NSU5fV0lEVEhfUFgsXG4gICdpY29uLXRpdGxlJzogVEFCTEVfREVGQVVMVF9JQ09OX1RJVExFX0NPTFVNTl9NSU5fV0lEVEhfUFgsXG4gIGRhdGU6IFRBQkxFX0RFRkFVTFRfREFURV9DT0xVTU5fTUlOX1dJRFRIX1BYLFxuICBjb2RlOiBUQUJMRV9ERUZBVUxUX0NPREVfQ09MVU1OX01JTl9XSURUSF9QWCxcbiAgbnVtYmVyOiBUQUJMRV9ERUZBVUxUX05VTUJFUl9DT0xVTU5fTUlOX1dJRFRIX1BYLFxuICBzdHJvbmc6IFRBQkxFX0RFRkFVTFRfU1RST05HX0NPTFVNTl9NSU5fV0lEVEhfUFgsXG4gIHRhZzogVEFCTEVfREVGQVVMVF9UQUdfQ09MVU1OX01JTl9XSURUSF9QWCxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVUYWJsZUNvbHVtbkFsaWdubWVudCh2YWx1ZTogdW5rbm93bik6IFRhYmxlQ29sdW1uQWxpZ25tZW50IHwgbnVsbCB7XG4gIHJldHVybiB2YWx1ZSA9PT0gJ2xlZnQnIHx8IHZhbHVlID09PSAnY2VudGVyJyB8fCB2YWx1ZSA9PT0gJ3JpZ2h0JyA/IHZhbHVlIDogbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRhYmxlQ29sdW1uTWluV2lkdGhQeDxUIGV4dGVuZHMgUm93QmFzZSA9IFJvd0Jhc2U+KGNvbHVtbjogVGFibGVDb2x1bW48VD4pOiBudW1iZXIge1xuICBjb25zdCB3aWR0aCA9IGNvbHVtbi50eXBlID8gQ09MVU1OX01JTl9XSURUSF9NQVBbY29sdW1uLnR5cGVdIDogdW5kZWZpbmVkO1xuICByZXR1cm4gd2lkdGggPz8gVEFCTEVfREVGQVVMVF9URVhUX0NPTFVNTl9NSU5fV0lEVEhfUFg7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUYWJsZU1pbldpZHRoUHg8VCBleHRlbmRzIFJvd0Jhc2UgPSBSb3dCYXNlPihjb2x1bW5zOiBUYWJsZUNvbHVtbjxUPltdKTogbnVtYmVyIHtcbiAgcmV0dXJuIGNvbHVtbnMucmVkdWNlKCh0b3RhbCwgY29sdW1uKSA9PiB0b3RhbCArIGdldFRhYmxlQ29sdW1uTWluV2lkdGhQeChjb2x1bW4pLCAwKTtcbn1cbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { TABLE_TEXT_OVERFLOW_DEFAULT_MAX_CHARS } from '../../../core/constants/table.const';
3
+ import * as i0 from "@angular/core";
4
+ export class SdcTruncatePipe {
5
+ transform(text, col, defaultMode) {
6
+ if ((col?.textOverflow ?? defaultMode ?? 'break-line') !== 'ellipsis') {
7
+ return text;
8
+ }
9
+ const max = col?.maxChars ?? TABLE_TEXT_OVERFLOW_DEFAULT_MAX_CHARS;
10
+ return text && text.length > max ? text.slice(0, max).trimEnd() + '…' : text;
11
+ }
12
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SdcTruncatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
13
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: SdcTruncatePipe, isStandalone: true, name: "sdcTruncate" });
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SdcTruncatePipe, decorators: [{
16
+ type: Pipe,
17
+ args: [{ name: 'sdcTruncate', standalone: true, pure: true }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdHJ1bmNhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvdGFibGUvdXRpbHMvdGFibGUtdHJ1bmNhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFRNUYsTUFBTSxPQUFPLGVBQWU7SUFDMUIsU0FBUyxDQUFDLElBQVksRUFBRSxHQUFxQixFQUFFLFdBQW9CO1FBQ2pFLElBQUksQ0FBQyxHQUFHLEVBQUUsWUFBWSxJQUFJLFdBQVcsSUFBSSxZQUFZLENBQUMsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUFDLE9BQU8sSUFBSSxDQUFDO1FBQUMsQ0FBQztRQUN2RixNQUFNLEdBQUcsR0FBRyxHQUFHLEVBQUUsUUFBUSxJQUFJLHFDQUFxQyxDQUFDO1FBQ25FLE9BQU8sSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMvRSxDQUFDO3dHQUxVLGVBQWU7c0dBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFEM0IsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUQUJMRV9URVhUX09WRVJGTE9XX0RFRkFVTFRfTUFYX0NIQVJTIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9jb25zdGFudHMvdGFibGUuY29uc3QnO1xuXG5pbnRlcmZhY2UgVHJ1bmNhdGVDb2xJbnB1dCB7XG4gIHRleHRPdmVyZmxvdz86IHN0cmluZztcbiAgbWF4Q2hhcnM/OiBudW1iZXI7XG59XG5cbkBQaXBlKHsgbmFtZTogJ3NkY1RydW5jYXRlJywgc3RhbmRhbG9uZTogdHJ1ZSwgcHVyZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIFNkY1RydW5jYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0odGV4dDogc3RyaW5nLCBjb2w6IFRydW5jYXRlQ29sSW5wdXQsIGRlZmF1bHRNb2RlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoKGNvbD8udGV4dE92ZXJmbG93ID8/IGRlZmF1bHRNb2RlID8/ICdicmVhay1saW5lJykgIT09ICdlbGxpcHNpcycpIHsgcmV0dXJuIHRleHQ7IH1cbiAgICBjb25zdCBtYXggPSBjb2w/Lm1heENoYXJzID8/IFRBQkxFX1RFWFRfT1ZFUkZMT1dfREVGQVVMVF9NQVhfQ0hBUlM7XG4gICAgcmV0dXJuIHRleHQgJiYgdGV4dC5sZW5ndGggPiBtYXggPyB0ZXh0LnNsaWNlKDAsIG1heCkudHJpbUVuZCgpICsgJ+KApicgOiB0ZXh0O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,221 @@
1
+ import { TABLE_DISABLED_TAG_VALUES, TABLE_ENABLED_TAG_VALUES, TABLE_HEX_RADIX, TABLE_RGB_MAX, TABLE_TAG_BACKGROUND_ALPHA, TABLE_TAG_FOREGROUND_DARKEN_AMOUNT, TABLE_VISUAL_TONE_PRESETS } from '../../../core/constants/table.const';
2
+ const HEX_COLOR_STRING_LENGTH = 6;
3
+ export function resolveTableVisualConfig(input, value, row) {
4
+ if (typeof input === 'function') {
5
+ return input(value, row) ?? null;
6
+ }
7
+ return input ?? null;
8
+ }
9
+ export function resolveTableTagItems(row, col, tagOptions, resolveValue) {
10
+ if (!col.field) {
11
+ return [];
12
+ }
13
+ const rawValue = resolveValue(row, col.field);
14
+ const isEmpty = rawValue === null || rawValue === undefined || rawValue === '';
15
+ const singleItem = isEmpty ? [] : [rawValue];
16
+ const normalizedItems = Array.isArray(rawValue) ? rawValue : singleItem;
17
+ const maxItems = typeof tagOptions.maxItems === 'number' && tagOptions.maxItems >= 0
18
+ ? tagOptions.maxItems
19
+ : normalizedItems.length;
20
+ return normalizedItems
21
+ .slice(0, maxItems)
22
+ .map((item) => resolveSingleTagItem(item, row, col, tagOptions));
23
+ }
24
+ export function resolveTableIconPresentation(row, col, iconOptions, resolveValue) {
25
+ return resolveIconPresentation(row, col, iconOptions, resolveValue, false);
26
+ }
27
+ export function resolveTableTitleIconPresentation(row, col, iconOptions, resolveValue) {
28
+ return resolveIconPresentation(row, col, iconOptions, resolveValue, true);
29
+ }
30
+ export function resolveTableButtonKey(row, col, buttonOptions, resolveValue) {
31
+ const actionKey = col.actionField ?? col.field ?? '';
32
+ const actionValue = actionKey ? String(resolveValue(row, actionKey) ?? '') : '';
33
+ return [
34
+ String(buttonOptions?.label ?? ''),
35
+ String(buttonOptions?.icon ?? ''),
36
+ String(buttonOptions?.priority ?? ''),
37
+ String(buttonOptions?.size ?? ''),
38
+ String(buttonOptions?.tooltip ?? ''),
39
+ actionValue
40
+ ].join('|');
41
+ }
42
+ function resolveSingleTagItem(rawItem, row, col, tagOptions) {
43
+ const tagConfig = resolveTableVisualConfig(col.tagConfig, rawItem, row);
44
+ const label = String(tagConfig?.label ?? rawItem ?? '');
45
+ const tone = resolveLegacyTagTone(rawItem, label, tagConfig);
46
+ const styles = tone ? null : buildTagStyles(tagConfig, tagOptions);
47
+ return {
48
+ icon: tagConfig?.icon ?? tagOptions.icon ?? null,
49
+ iconType: tagConfig?.iconType ?? tagOptions.iconType ?? 'class',
50
+ tooltip: tagConfig?.tooltip ?? tagOptions.tooltip ?? null,
51
+ label,
52
+ styles,
53
+ tone,
54
+ };
55
+ }
56
+ function resolveIconPresentation(row, col, iconOptions, resolveValue, useColumnValueAsLabel) {
57
+ const rawColumnValue = resolveValue(row, col.field);
58
+ const resolvedConfig = resolveTableVisualConfig(useColumnValueAsLabel ? col.titleIconConfig : col.iconConfig, rawColumnValue, row);
59
+ const iconField = resolvedConfig?.iconField ?? iconOptions.iconField;
60
+ const rawIconValue = iconField ? resolveValue(row, iconField) : rawColumnValue;
61
+ const resolvedIcon = resolvedConfig?.icon ?? rawIconValue;
62
+ return {
63
+ colorStyle: resolveColorStyle(resolvedConfig?.color ?? iconOptions.color),
64
+ icon: toOptionalText(resolvedIcon),
65
+ iconType: resolvedConfig?.iconType ?? iconOptions.iconType ?? inferIconType(resolvedIcon),
66
+ tooltip: resolvedConfig?.tooltip ?? iconOptions.tooltip ?? null,
67
+ label: resolveIconConfigLabel(rawColumnValue, resolvedConfig?.label, iconOptions.label, useColumnValueAsLabel),
68
+ };
69
+ }
70
+ function resolveIconConfigLabel(rawColumnValue, configLabel, fallbackLabel, useColumnValueAsLabel) {
71
+ if (configLabel != null) {
72
+ return configLabel;
73
+ }
74
+ return useColumnValueAsLabel ? toTextValue(rawColumnValue) : fallbackLabel ?? null;
75
+ }
76
+ function resolveLegacyTagTone(rawValue, label, tagConfig) {
77
+ if (tagConfig?.color || tagConfig?.backgroundColor) {
78
+ return null;
79
+ }
80
+ const normalizedValues = [String(rawValue ?? ''), label]
81
+ .map((value) => value.trim().toLowerCase())
82
+ .filter(Boolean);
83
+ if (normalizedValues.some((value) => TABLE_ENABLED_TAG_VALUES.has(value))) {
84
+ return 'enabled';
85
+ }
86
+ if (normalizedValues.some((value) => TABLE_DISABLED_TAG_VALUES.has(value))) {
87
+ return 'disabled';
88
+ }
89
+ return null;
90
+ }
91
+ function buildTagStyles(resolvedConfig, fallbackOptions) {
92
+ const color = resolvedConfig?.color ?? fallbackOptions.color;
93
+ const backgroundColor = resolvedConfig?.backgroundColor ?? fallbackOptions.backgroundColor;
94
+ const tone = resolveTonePreset(color) ?? resolveTonePreset(backgroundColor);
95
+ if (tone) {
96
+ return buildTagToneStyles(color, backgroundColor, tone);
97
+ }
98
+ return buildTagHexStyles(color, backgroundColor);
99
+ }
100
+ function buildTagToneStyles(color, backgroundColor, tone) {
101
+ const fg = resolveRawColor(color) ?? tone.foreground;
102
+ const bg = resolveRawColor(backgroundColor) ?? tone.background;
103
+ return {
104
+ 'background-color': bg,
105
+ 'border-color': fg,
106
+ color: fg,
107
+ };
108
+ }
109
+ function buildTagHexStyles(color, backgroundColor) {
110
+ const normalizedForegroundHex = normalizeHexColor(color);
111
+ const normalizedBackgroundHex = normalizeHexColor(backgroundColor);
112
+ const derivedForeground = deriveForegroundHex(normalizedForegroundHex, normalizedBackgroundHex);
113
+ const derivedBackground = deriveBackgroundHex(normalizedBackgroundHex, normalizedForegroundHex);
114
+ const rawForeground = resolveRawColor(color);
115
+ const rawBackground = resolveRawColor(backgroundColor);
116
+ const styles = {};
117
+ const bgValue = rawBackground ?? derivedBackground;
118
+ const fgValue = rawForeground ?? derivedForeground;
119
+ if (bgValue) {
120
+ styles['background-color'] = bgValue;
121
+ }
122
+ if (fgValue) {
123
+ styles['border-color'] = fgValue;
124
+ styles['color'] = fgValue;
125
+ }
126
+ return Object.keys(styles).length > 0 ? styles : null;
127
+ }
128
+ function deriveForegroundHex(foregroundHex, backgroundHex) {
129
+ if (foregroundHex) {
130
+ return foregroundHex;
131
+ }
132
+ return backgroundHex ? darkenHexColor(backgroundHex, TABLE_TAG_FOREGROUND_DARKEN_AMOUNT) : null;
133
+ }
134
+ function deriveBackgroundHex(backgroundHex, foregroundHex) {
135
+ if (backgroundHex) {
136
+ return backgroundHex;
137
+ }
138
+ return foregroundHex ? toRgba(foregroundHex, TABLE_TAG_BACKGROUND_ALPHA) : null;
139
+ }
140
+ function resolveColorStyle(color) {
141
+ const tone = resolveTonePreset(color);
142
+ const resolvedColor = resolveRawColor(color) ?? tone?.foreground ?? null;
143
+ return resolvedColor ? { color: resolvedColor } : null;
144
+ }
145
+ function resolveTonePreset(color) {
146
+ if (typeof color !== 'string') {
147
+ return null;
148
+ }
149
+ const normalizedColor = color.trim().toLowerCase();
150
+ return TABLE_VISUAL_TONE_PRESETS[normalizedColor] ?? null;
151
+ }
152
+ function resolveRawColor(color) {
153
+ if (typeof color !== 'string') {
154
+ return null;
155
+ }
156
+ const trimmed = color.trim();
157
+ if (!trimmed) {
158
+ return null;
159
+ }
160
+ return resolveTonePreset(trimmed)?.foreground ?? trimmed;
161
+ }
162
+ function normalizeHexColor(value) {
163
+ if (typeof value !== 'string') {
164
+ return null;
165
+ }
166
+ const raw = value.trim().replace('#', '');
167
+ if (/^[0-9a-fA-F]{3}$/.test(raw)) {
168
+ return `#${raw
169
+ .split('')
170
+ .map((character) => `${character}${character}`)
171
+ .join('')
172
+ .toLowerCase()}`;
173
+ }
174
+ if (/^[0-9a-fA-F]{6}$/.test(raw)) {
175
+ return `#${raw.toLowerCase()}`;
176
+ }
177
+ return null;
178
+ }
179
+ function hexToRgb(hex) {
180
+ const normalized = normalizeHexColor(hex);
181
+ if (!normalized) {
182
+ return null;
183
+ }
184
+ const clean = normalized.slice(1);
185
+ return {
186
+ r: Number.parseInt(clean.slice(0, 2), TABLE_HEX_RADIX),
187
+ g: Number.parseInt(clean.slice(2, 4), TABLE_HEX_RADIX),
188
+ b: Number.parseInt(clean.slice(4, HEX_COLOR_STRING_LENGTH), TABLE_HEX_RADIX)
189
+ };
190
+ }
191
+ function toRgba(hex, alpha) {
192
+ const rgb = hexToRgb(hex);
193
+ if (!rgb) {
194
+ return null;
195
+ }
196
+ return `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${alpha})`;
197
+ }
198
+ function darkenHexColor(hex, amount) {
199
+ const rgb = hexToRgb(hex);
200
+ if (!rgb) {
201
+ return null;
202
+ }
203
+ const factor = Math.max(0, Math.min(1, 1 - amount));
204
+ const r = Math.round(rgb.r * factor);
205
+ const g = Math.round(rgb.g * factor);
206
+ const b = Math.round(rgb.b * factor);
207
+ return `#${[r, g, b]
208
+ .map((value) => Math.max(0, Math.min(TABLE_RGB_MAX, value)).toString(TABLE_HEX_RADIX).padStart(2, '0'))
209
+ .join('')}`;
210
+ }
211
+ function inferIconType(value) {
212
+ return typeof value === 'string' && value.trim().startsWith('<svg') ? 'svg' : 'class';
213
+ }
214
+ function toOptionalText(value) {
215
+ const text = toTextValue(value);
216
+ return text || null;
217
+ }
218
+ function toTextValue(value) {
219
+ return typeof value === 'string' ? value : String(value ?? '');
220
+ }
221
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdmlzdWFsLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3RhYmxlL3V0aWxzL3RhYmxlLXZpc3VhbC51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsd0JBQXdCLEVBQ3hCLGVBQWUsRUFDZixhQUFhLEVBQ2IsMEJBQTBCLEVBQzFCLGtDQUFrQyxFQUNsQyx5QkFBeUIsRUFDMUIsTUFBTSxxQ0FBcUMsQ0FBQztBQVc3QyxNQUFNLHVCQUF1QixHQUFHLENBQUMsQ0FBQztBQXVCbEMsTUFBTSxVQUFVLHdCQUF3QixDQUt0QyxLQUE2RCxFQUM3RCxLQUFhLEVBQ2IsR0FBTTtJQUVOLElBQUksT0FBTyxLQUFLLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDaEMsT0FBTyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUNuQyxDQUFDO0lBRUQsT0FBTyxLQUFLLElBQUksSUFBSSxDQUFDO0FBQ3ZCLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQ2xDLEdBQU0sRUFDTixHQUFtQixFQUNuQixVQUFxQyxFQUNyQyxZQUFzRDtJQUV0RCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsTUFBTSxPQUFPLEdBQUcsUUFBUSxLQUFLLElBQUksSUFBSSxRQUFRLEtBQUssU0FBUyxJQUFJLFFBQVEsS0FBSyxFQUFFLENBQUM7SUFDL0UsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0MsTUFBTSxlQUFl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LENBQUMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUN0RyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsS0FBYztJQUNuQyxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUN4RixDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsS0FBYztJQUNwQyxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsT0FBTyxJQUFJLElBQUksSUFBSSxDQUFDO0FBQ3RCLENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxLQUFjO0lBQ2pDLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7QUFDakUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFRBQkxFX0RJU0FCTEVEX1RBR19WQUxVRVMsXG4gIFRBQkxFX0VOQUJMRURfVEFHX1ZBTFVFUyxcbiAgVEFCTEVfSEVYX1JBRElYLFxuICBUQUJMRV9SR0JfTUFYLFxuICBUQUJMRV9UQUdfQkFDS0dST1VORF9BTFBIQSxcbiAgVEFCTEVfVEFHX0ZPUkVHUk9VTkRfREFSS0VOX0FNT1VOVCxcbiAgVEFCTEVfVklTVUFMX1RPTkVfUFJFU0VUU1xufSBmcm9tICcuLi8uLi8uLi9jb3JlL2NvbnN0YW50cy90YWJsZS5jb25zdCc7XG5pbXBvcnQgdHlwZSB7XG4gIFJvd0Jhc2UsXG4gIFRhYmxlQmFzZVZpc3VhbENvbmZpZyxcbiAgVGFibGVDZWxsQ29uZmlnLFxuICBUYWJsZUNvbHVtbixcbiAgVGFibGVJY29uQ29uZmlnLFxuICBUYWJsZVRhZ0NvbmZpZyxcbiAgVGFibGVWaXN1YWxDb25maWdJbnB1dFxufSBmcm9tICcuLi8uLi8uLi9jb3JlL3R5cGVzL3RhYmxlLnR5cGUnO1xuXG5jb25zdCBIRVhfQ09MT1JfU1RSSU5HX0xFTkdUSCA9IDY7XG5cbmV4cG9ydCB0eXBlIFRhYmxlUmVzb2x2ZWRUYWdJdGVtID0ge1xuICBpY29uOiBzdHJpbmcgfCBudWxsO1xuICBpY29uVHlwZTogVGFibGVUYWdDb25maWdbJ2ljb25UeXBlJ107XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHN0eWxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IG51bGw7XG4gIHRvb2x0aXA6IHN0cmluZyB8IG51bGw7XG4gIHRvbmU6ICdlbmFibGVkJyB8ICdkaXNhYmxlZCcgfCBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgVGFibGVSZXNvbHZlZEljb25QcmVzZW50YXRpb24gPSB7XG4gIGNvbG9yU3R5bGU6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBudWxsO1xuICBpY29uOiBzdHJpbmcgfCBudWxsO1xuICBpY29uVHlwZTogVGFibGVJY29uQ29uZmlnWydpY29uVHlwZSddO1xuICBsYWJlbDogc3RyaW5nIHwgbnVsbDtcbiAgdG9vbHRpcDogc3RyaW5nIHwgbnVsbDtcbn07XG5cbnR5cGUgVGFibGVUb25lTmFtZSA9IGtleW9mIHR5cGVvZiBUQUJMRV9WSVNVQUxfVE9ORV9QUkVTRVRTO1xuXG50eXBlIFRhYmxlVG9uZVByZXNldCA9ICh0eXBlb2YgVEFCTEVfVklTVUFMX1RPTkVfUFJFU0VUUylbVGFibGVUb25lTmFtZV07XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlVGFibGVWaXN1YWxDb25maWc8XG4gIFQgZXh0ZW5kcyBSb3dCYXNlID0gUm93QmFzZSxcbiAgVFZhbHVlID0gdW5rbm93bixcbiAgVENvbmZpZyBleHRlbmRzIFRhYmxlQmFzZVZpc3VhbENvbmZpZyA9IFRhYmxlQmFzZVZpc3VhbENvbmZpZ1xuPihcbiAgaW5wdXQ6IFRhYmxlVmlzdWFsQ29uZmlnSW5wdXQ8VCwgVFZhbHVlLCBUQ29uZmlnPiB8IHVuZGVmaW5lZCxcbiAgdmFsdWU6IFRWYWx1ZSxcbiAgcm93OiBUXG4pOiBUQ29uZmlnIHwgbnVsbCB7XG4gIGlmICh0eXBlb2YgaW5wdXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gaW5wdXQodmFsdWUsIHJvdykgPz8gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBpbnB1dCA/PyBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVRhYmxlVGFnSXRlbXM8VCBleHRlbmRzIFJvd0Jhc2UgPSBSb3dCYXNlPihcbiAgcm93OiBULFxuICBjb2w6IFRhYmxlQ29sdW1uPFQ+LFxuICB0YWdPcHRpb25zOiBUYWJsZUNlbGxDb25maWc8VCwgJ3RhZyc+LFxuICByZXNvbHZlVmFsdWU6IChyb3dWYWx1ZTogVCwgZmllbGQ/OiBzdHJpbmcpID0+IHVua25vd25cbik6IFRhYmxlUmVzb2x2ZWRUYWdJdGVtW10ge1xuICBpZiAoIWNvbC5maWVsZCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNvbnN0IHJhd1ZhbHVlID0gcmVzb2x2ZVZhbHVlKHJvdywgY29sLmZpZWxkKTtcbiAgY29uc3QgaXNFbXB0eSA9IHJhd1ZhbHVlID09PSBudWxsIHx8IHJhd1ZhbHVlID09PSB1bmRlZmluZWQgfHwgcmF3VmFsdWUgPT09ICcnO1xuICBjb25zdCBzaW5nbGVJdGVtID0gaXNFbXB0eSA/IFtdIDogW3Jhd1ZhbHVlXTtcbiAgY29uc3Qgbm9ybWFsaXplZEl0ZW1zID0gQXJyYXkuaXNBcnJheShyYXdWYWx1ZSkgPyByYXdWYWx1ZSA6IHNpbmdsZUl0ZW07XG4gIGNvbnN0IG1heEl0ZW1zID0gdHlwZW9mIHRhZ09wdGlvbnMubWF4SXRlbXMgPT09ICdudW1iZXInICYmIHRhZ09wdGlvbnMubWF4SXRlbXMgPj0gMFxuICAgID8gdGFnT3B0aW9ucy5tYXhJdGVtc1xuICAgIDogbm9ybWFsaXplZEl0ZW1zLmxlbmd0aDtcblxuICByZXR1cm4gbm9ybWFsaXplZEl0ZW1zXG4gICAgLnNsaWNlKDAsIG1heEl0ZW1zKVxuICAgIC5tYXAoKGl0ZW0pID0+IHJlc29sdmVTaW5nbGVUYWdJdGVtKGl0ZW0sIHJvdywgY29sLCB0YWdPcHRpb25zKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlVGFibGVJY29uUHJlc2VudGF0aW9uPFQgZXh0ZW5kcyBSb3dCYXNlID0gUm93QmFzZT4oXG4gIHJvdzogVCxcbiAgY29sOiBUYWJsZUNvbHVtbjxUPixcbiAgaWNvbk9wdGlvbnM6IFRhYmxlQ2VsbENvbmZpZzxULCAnaWNvbic+LFxuICByZXNvbHZlVmFsdWU6IChyb3dWYWx1ZTogVCwgZmllbGQ/OiBzdHJpbmcpID0+IHVua25vd25cbik6IFRhYmxlUmVzb2x2ZWRJY29uUHJlc2VudGF0aW9uIHtcbiAgcmV0dXJuIHJlc29sdmVJY29uUHJlc2VudGF0aW9uKHJvdywgY29sLCBpY29uT3B0aW9ucywgcmVzb2x2ZVZhbHVlLCBmYWxzZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlVGFibGVUaXRsZUljb25QcmVzZW50YXRpb248VCBleHRlbmRzIFJvd0Jhc2UgPSBSb3dCYXNlPihcbiAgcm93OiBULFxuICBjb2w6IFRhYmxlQ29sdW1uPFQ+LFxuICBpY29uT3B0aW9uczogVGFibGVDZWxsQ29uZmlnPFQsICdpY29uLXRpdGxlJz4sXG4gIHJlc29sdmVWYWx1ZTogKHJvd1ZhbHVlOiBULCBmaWVsZD86IHN0cmluZykgPT4gdW5rbm93blxuKTogVGFibGVSZXNvbHZlZEljb25QcmVzZW50YXRpb24ge1xuICByZXR1cm4gcmVzb2x2ZUljb25QcmVzZW50YXRpb24ocm93LCBjb2wsIGljb25PcHRpb25zLCByZXNvbHZlVmFsdWUsIHRydWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVRhYmxlQnV0dG9uS2V5PFQgZXh0ZW5kcyBSb3dCYXNlID0gUm93QmFzZT4oXG4gIHJvdzogVCxcbiAgY29sOiBUYWJsZUNvbHVtbjxUPixcbiAgYnV0dG9uT3B0aW9uczogVGFibGVDZWxsQ29uZmlnPFQsICdidXR0b24nPixcbiAgcmVzb2x2ZVZhbHVlOiAocm93VmFsdWU6IFQsIGZpZWxkPzogc3RyaW5nKSA9PiB1bmtub3duXG4pOiBzdHJpbmcge1xuICBjb25zdCBhY3Rpb25LZXkgPSBjb2wuYWN0aW9uRmllbGQgPz8gY29sLmZpZWxkID8/ICcnO1xuICBjb25zdCBhY3Rpb25WYWx1ZSA9IGFjdGlvbktleSA/IFN0cmluZyhyZXNvbHZlVmFsdWUocm93LCBhY3Rpb25LZXkpID8/ICcnKSA6ICcnO1xuXG4gIHJldHVybiBbXG4gICAgU3RyaW5nKGJ1dHRvbk9wdGlvbnM/LmxhYmVsID8/ICcnKSxcbiAgICBTdHJpbmcoYnV0dG9uT3B0aW9ucz8uaWNvbiA/PyAnJyksXG4gICAgU3RyaW5nKGJ1dHRvbk9wdGlvbnM/LnByaW9yaXR5ID8/ICcnKSxcbiAgICBTdHJpbmcoYnV0dG9uT3B0aW9ucz8uc2l6ZSA/PyAnJyksXG4gICAgU3RyaW5nKGJ1dHRvbk9wdGlvbnM/LnRvb2x0aXAgPz8gJycpLFxuICAgIGFjdGlvblZhbHVlXG4gIF0uam9pbignfCcpO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlU2luZ2xlVGFnSXRlbTxUIGV4dGVuZHMgUm93QmFzZSA9IFJvd0Jhc2U+KFxuICByYXdJdGVtOiB1bmtub3duLFxuICByb3c6IFQsXG4gIGNvbDogVGFibGVDb2x1bW48VD4sXG4gIHRhZ09wdGlvbnM6IFRhYmxlQ2VsbENvbmZpZzxULCAndGFnJz5cbik6IFRhYmxlUmVzb2x2ZWRUYWdJdGVtIHtcbiAgY29uc3QgdGFnQ29uZmlnID0gcmVzb2x2ZVRhYmxlVmlzdWFsQ29uZmlnKGNvbC50YWdDb25maWcsIHJhd0l0ZW0sIHJvdyk7XG4gIGNvbnN0IGxhYmVsID0gU3RyaW5nKHRhZ0NvbmZpZz8ubGFiZWwgPz8gcmF3SXRlbSA/PyAnJyk7XG4gIGNvbnN0IHRvbmUgPSByZXNvbHZlTGVnYWN5VGFnVG9uZShyYXdJdGVtLCBsYWJlbCwgdGFnQ29uZmlnKTtcbiAgY29uc3Qgc3R5bGVzID0gdG9uZSA/IG51bGwgOiBidWlsZFRhZ1N0eWxlcyh0YWdDb25maWcsIHRhZ09wdGlvbnMpO1xuXG4gIHJldHVybiB7XG4gICAgaWNvbjogdGFnQ29uZmlnPy5pY29uID8/IHRhZ09wdGlvbnMuaWNvbiA/PyBudWxsLFxuICAgIGljb25UeXBlOiB0YWdDb25maWc/Lmljb25UeXBlID8/IHRhZ09wdGlvbnMuaWNvblR5cGUgPz8gJ2NsYXNzJyxcbiAgICB0b29sdGlwOiB0YWdDb25maWc/LnRvb2x0aXAgPz8gdGFnT3B0aW9ucy50b29sdGlwID8/IG51bGwsXG4gICAgbGFiZWwsXG4gICAgc3R5bGVzLFxuICAgIHRvbmUsXG4gIH07XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVJY29uUHJlc2VudGF0aW9uPFQgZXh0ZW5kcyBSb3dCYXNlID0gUm93QmFzZT4oXG4gIHJvdzogVCxcbiAgY29sOiBUYWJsZUNvbHVtbjxUPixcbiAgaWNvbk9wdGlvbnM6IFRhYmxlSWNvbkNvbmZpZyxcbiAgcmVzb2x2ZVZhbHVlOiAocm93VmFsdWU6IFQsIGZpZWxkPzogc3RyaW5nKSA9PiB1bmtub3duLFxuICB1c2VDb2x1bW5WYWx1ZUFzTGFiZWw6IGJvb2xlYW5cbik6IFRhYmxlUmVzb2x2ZWRJY29uUHJlc2VudGF0aW9uIHtcbiAgY29uc3QgcmF3Q29sdW1uVmFsdWUgPSByZXNvbHZlVmFsdWUocm93LCBjb2wuZmllbGQpO1xuICBjb25zdCByZXNvbHZlZENvbmZpZyA9IHJlc29sdmVUYWJsZVZpc3VhbENvbmZpZyhcbiAgICB1c2VDb2x1bW5WYWx1ZUFzTGFiZWwgPyBjb2wudGl0bGVJY29uQ29uZmlnIDogY29sLmljb25Db25maWcsXG4gICAgcmF3Q29sdW1uVmFsdWUsXG4gICAgcm93XG4gICk7XG4gIGNvbnN0IGljb25GaWVsZCA9IHJlc29sdmVkQ29uZmlnPy5pY29uRmllbGQgPz8gaWNvbk9wdGlvbnMuaWNvbkZpZWxkO1xuICBjb25zdCByYXdJY29uVmFsdWUgPSBpY29uRmllbGQgPyByZXNvbHZlVmFsdWUocm93LCBpY29uRmllbGQpIDogcmF3Q29sdW1uVmFsdWU7XG4gIGNvbnN0IHJlc29sdmVkSWNvbiA9IHJlc29sdmVkQ29uZmlnPy5pY29uID8/IHJhd0ljb25WYWx1ZTtcblxuICByZXR1cm4ge1xuICAgIGNvbG9yU3R5bGU6IHJlc29sdmVDb2xvclN0eWxlKHJlc29sdmVkQ29uZmlnPy5jb2xvciA/PyBpY29uT3B0aW9ucy5jb2xvciksXG4gICAgaWNvbjogdG9PcHRpb25hbFRleHQocmVzb2x2ZWRJY29uKSxcbiAgICBpY29uVHlwZTogcmVzb2x2ZWRDb25maWc/Lmljb25UeXBlID8/IGljb25PcHRpb25zLmljb25UeXBlID8/IGluZmVySWNvblR5cGUocmVzb2x2ZWRJY29uKSxcbiAgICB0b29sdGlwOiByZXNvbHZlZENvbmZpZz8udG9vbHRpcCA/PyBpY29uT3B0aW9ucy50b29sdGlwID8/IG51bGwsXG4gICAgbGFiZWw6IHJlc29sdmVJY29uQ29uZmlnTGFiZWwocmF3Q29sdW1uVmFsdWUsIHJlc29sdmVkQ29uZmlnPy5sYWJlbCwgaWNvbk9wdGlvbnMubGFiZWwsIHVzZUNvbHVtblZhbHVlQXNMYWJlbCksXG4gIH07XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVJY29uQ29uZmlnTGFiZWwoXG4gIHJhd0NvbHVtblZhbHVlOiB1bmtub3duLFxuICBjb25maWdMYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICBmYWxsYmFja0xhYmVsOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkLFxuICB1c2VDb2x1bW5WYWx1ZUFzTGFiZWw6IGJvb2xlYW5cbik6IHN0cmluZyB8IG51bGwge1xuICBpZiAoY29uZmlnTGFiZWwgIT0gbnVsbCkge1xuICAgIHJldHVybiBjb25maWdMYWJlbDtcbiAgfVxuXG4gIHJldHVybiB1c2VDb2x1bW5WYWx1ZUFzTGFiZWwgPyB0b1RleHRWYWx1ZShyYXdDb2x1bW5WYWx1ZSkgOiBmYWxsYmFja0xhYmVsID8/IG51bGw7XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVMZWdhY3lUYWdUb25lKHJhd1ZhbHVlOiB1bmtub3duLCBsYWJlbDogc3RyaW5nLCB0YWdDb25maWc6IFRhYmxlVGFnQ29uZmlnIHwgbnVsbCk6ICdlbmFibGVkJyB8ICdkaXNhYmxlZCcgfCBudWxsIHtcbiAgaWYgKHRhZ0NvbmZpZz8uY29sb3IgfHwgdGFnQ29uZmlnPy5iYWNrZ3JvdW5kQ29sb3IpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IG5vcm1hbGl6ZWRWYWx1ZXMgPSBbU3RyaW5nKHJhd1ZhbHVlID8/ICcnKSwgbGFiZWxdXG4gICAgLm1hcCgodmFsdWUpID0+IHZhbHVlLnRyaW0oKS50b0xvd2VyQ2FzZSgpKVxuICAgIC5maWx0ZXIoQm9vbGVhbik7XG5cbiAgaWYgKG5vcm1hbGl6ZWRWYWx1ZXMuc29tZSgodmFsdWUpID0+IFRBQkxFX0VOQUJMRURfVEFHX1ZBTFVFUy5oYXModmFsdWUpKSkge1xuICAgIHJldHVybiAnZW5hYmxlZCc7XG4gIH1cblxuICBpZiAobm9ybWFsaXplZFZhbHVlcy5zb21lKCh2YWx1ZSkgPT4gVEFCTEVfRElTQUJMRURfVEFHX1ZBTFVFUy5oYXModmFsdWUpKSkge1xuICAgIHJldHVybiAnZGlzYWJsZWQnO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGJ1aWxkVGFnU3R5bGVzKFxuICByZXNvbHZlZENvbmZpZzogVGFibGVUYWdDb25maWcgfCBudWxsLFxuICBmYWxsYmFja09wdGlvbnM6IFRhYmxlVGFnQ29uZmlnXG4pOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgbnVsbCB7XG4gIGNvbnN0IGNvbG9yID0gcmVzb2x2ZWRDb25maWc/LmNvbG9yID8/IGZhbGxiYWNrT3B0aW9ucy5jb2xvcjtcbiAgY29uc3QgYmFja2dyb3VuZENvbG9yID0gcmVzb2x2ZWRDb25maWc/LmJhY2tncm91bmRDb2xvciA/PyBmYWxsYmFja09wdGlvbnMuYmFja2dyb3VuZENvbG9yO1xuICBjb25zdCB0b25lID0gcmVzb2x2ZVRvbmVQcmVzZXQoY29sb3IpID8/IHJlc29sdmVUb25lUHJlc2V0KGJhY2tncm91bmRDb2xvcik7XG5cbiAgaWYgKHRvbmUpIHtcbiAgICByZXR1cm4gYnVpbGRUYWdUb25lU3R5bGVzKGNvbG9yLCBiYWNrZ3JvdW5kQ29sb3IsIHRvbmUpO1xuICB9XG5cbiAgcmV0dXJuIGJ1aWxkVGFnSGV4U3R5bGVzKGNvbG9yLCBiYWNrZ3JvdW5kQ29sb3IpO1xufVxuXG5mdW5jdGlvbiBidWlsZFRhZ1RvbmVTdHlsZXMoXG4gIGNvbG9yOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gIGJhY2tncm91bmRDb2xvcjogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICB0b25lOiBUYWJsZVRvbmVQcmVzZXRcbik6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICBjb25zdCBmZyA9IHJlc29sdmVSYXdDb2xvcihjb2xvcikgPz8gdG9uZS5mb3JlZ3JvdW5kO1xuICBjb25zdCBiZyA9IHJlc29sdmVSYXdDb2xvcihiYWNrZ3JvdW5kQ29sb3IpID8/IHRvbmUuYmFja2dyb3VuZDtcblxuICByZXR1cm4ge1xuICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogYmcsXG4gICAgJ2JvcmRlci1jb2xvcic6IGZnLFxuICAgIGNvbG9yOiBmZyxcbiAgfTtcbn1cblxuZnVuY3Rpb24gYnVpbGRUYWdIZXhTdHlsZXMoXG4gIGNvbG9yOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gIGJhY2tncm91bmRDb2xvcjogc3RyaW5nIHwgdW5kZWZpbmVkXG4pOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgbnVsbCB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRGb3JlZ3JvdW5kSGV4ID0gbm9ybWFsaXplSGV4Q29sb3IoY29sb3IpO1xuICBjb25zdCBub3JtYWxpemVkQmFja2dyb3VuZEhleCA9IG5vcm1hbGl6ZUhleENvbG9yKGJhY2tncm91bmRDb2xvcik7XG4gIGNvbnN0IGRlcml2ZWRGb3JlZ3JvdW5kID0gZGVyaXZlRm9yZWdyb3VuZEhleChub3JtYWxpemVkRm9yZWdyb3VuZEhleCwgbm9ybWFsaXplZEJhY2tncm91bmRIZXgpO1xuICBjb25zdCBkZXJpdmVkQmFja2dyb3VuZCA9IGRlcml2ZUJhY2tncm91bmRIZXgobm9ybWFsaXplZEJhY2tncm91bmRIZXgsIG5vcm1hbGl6ZWRGb3JlZ3JvdW5kSGV4KTtcbiAgY29uc3QgcmF3Rm9yZWdyb3VuZCA9IHJlc29sdmVSYXdDb2xvcihjb2xvcik7XG4gIGNvbnN0IHJhd0JhY2tncm91bmQgPSByZXNvbHZlUmF3Q29sb3IoYmFja2dyb3VuZENvbG9yKTtcbiAgY29uc3Qgc3R5bGVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG4gIGNvbnN0IGJnVmFsdWUgPSByYXdCYWNrZ3JvdW5kID8/IGRlcml2ZWRCYWNrZ3JvdW5kO1xuICBjb25zdCBmZ1ZhbHVlID0gcmF3Rm9yZWdyb3VuZCA/PyBkZXJpdmVkRm9yZWdyb3VuZDtcblxuICBpZiAoYmdWYWx1ZSkge1xuICAgIHN0eWxlc1snYmFja2dyb3VuZC1jb2xvciddID0gYmdWYWx1ZTtcbiAgfVxuXG4gIGlmIChmZ1ZhbHVlKSB7XG4gICAgc3R5bGVzWydib3JkZXItY29sb3InXSA9IGZnVmFsdWU7XG4gICAgc3R5bGVzWydjb2xvciddID0gZmdWYWx1ZTtcbiAgfVxuXG4gIHJldHVybiBPYmplY3Qua2V5cyhzdHlsZXMpLmxlbmd0aCA+IDAgPyBzdHlsZXMgOiBudWxsO1xufVxuXG5mdW5jdGlvbiBkZXJpdmVGb3JlZ3JvdW5kSGV4KGZvcmVncm91bmRIZXg6IHN0cmluZyB8IG51bGwsIGJhY2tncm91bmRIZXg6IHN0cmluZyB8IG51bGwpOiBzdHJpbmcgfCBudWxsIHtcbiAgaWYgKGZvcmVncm91bmRIZXgpIHtcbiAgICByZXR1cm4gZm9yZWdyb3VuZEhleDtcbiAgfVxuXG4gIHJldHVybiBiYWNrZ3JvdW5kSGV4ID8gZGFya2VuSGV4Q29sb3IoYmFja2dyb3VuZEhleCwgVEFCTEVfVEFHX0ZPUkVHUk9VTkRfREFSS0VOX0FNT1VOVCkgOiBudWxsO1xufVxuXG5mdW5jdGlvbiBkZXJpdmVCYWNrZ3JvdW5kSGV4KGJhY2tncm91bmRIZXg6IHN0cmluZyB8IG51bGwsIGZvcmVncm91bmRIZXg6IHN0cmluZyB8IG51bGwpOiBzdHJpbmcgfCBudWxsIHtcbiAgaWYgKGJhY2tncm91bmRIZXgpIHtcbiAgICByZXR1cm4gYmFja2dyb3VuZEhleDtcbiAgfVxuXG4gIHJldHVybiBmb3JlZ3JvdW5kSGV4ID8gdG9SZ2JhKGZvcmVncm91bmRIZXgsIFRBQkxFX1RBR19CQUNLR1JPVU5EX0FMUEhBKSA6IG51bGw7XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVDb2xvclN0eWxlKGNvbG9yOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgbnVsbCB7XG4gIGNvbnN0IHRvbmUgPSByZXNvbHZlVG9uZVByZXNldChjb2xvcik7XG4gIGNvbnN0IHJlc29sdmVkQ29sb3IgPSByZXNvbHZlUmF3Q29sb3IoY29sb3IpID8/IHRvbmU/LmZvcmVncm91bmQgPz8gbnVsbDtcblxuICByZXR1cm4gcmVzb2x2ZWRDb2xvciA/IHsgY29sb3I6IHJlc29sdmVkQ29sb3IgfSA6IG51bGw7XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVUb25lUHJlc2V0KGNvbG9yOiB1bmtub3duKTogVGFibGVUb25lUHJlc2V0IHwgbnVsbCB7XG4gIGlmICh0eXBlb2YgY29sb3IgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBub3JtYWxpemVkQ29sb3IgPSBjb2xvci50cmltKCkudG9Mb3dlckNhc2UoKSBhcyBUYWJsZVRvbmVOYW1lO1xuICByZXR1cm4gVEFCTEVfVklTVUFMX1RPTkVfUFJFU0VUU1tub3JtYWxpemVkQ29sb3JdID8/IG51bGw7XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVSYXdDb2xvcihjb2xvcjogdW5rbm93bik6IHN0cmluZyB8IG51bGwge1xuICBpZiAodHlwZW9mIGNvbG9yICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgdHJpbW1lZCA9IGNvbG9yLnRyaW0oKTtcblxuICBpZiAoIXRyaW1tZWQpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiByZXNvbHZlVG9uZVByZXNldCh0cmltbWVkKT8uZm9yZWdyb3VuZCA/PyB0cmltbWVkO1xufVxuXG5mdW5jdGlvbiBub3JtYWxpemVIZXhDb2xvcih2YWx1ZTogdW5rbm93bik6IHN0cmluZyB8IG51bGwge1xuICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgcmF3ID0gdmFsdWUudHJpbSgpLnJlcGxhY2UoJyMnLCAnJyk7XG5cbiAgaWYgKC9eWzAtOWEtZkEtRl17M30kLy50ZXN0KHJhdykpIHtcbiAgICByZXR1cm4gYCMke3Jhd1xuICAgICAgLnNwbGl0KCcnKVxuICAgICAgLm1hcCgoY2hhcmFjdGVyKSA9PiBgJHtjaGFyYWN0ZXJ9JHtjaGFyYWN0ZXJ9YClcbiAgICAgIC5qb2luKCcnKVxuICAgICAgLnRvTG93ZXJDYXNlKCl9YDtcbiAgfVxuXG4gIGlmICgvXlswLTlhLWZBLUZdezZ9JC8udGVzdChyYXcpKSB7XG4gICAgcmV0dXJuIGAjJHtyYXcudG9Mb3dlckNhc2UoKX1gO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGhleFRvUmdiKGhleDogc3RyaW5nKTogeyByOiBudW1iZXI7IGc6IG51bWJlcjsgYjogbnVtYmVyIH0gfCBudWxsIHtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZUhleENvbG9yKGhleCk7XG5cbiAgaWYgKCFub3JtYWxpemVkKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBjbGVhbiA9IG5vcm1hbGl6ZWQuc2xpY2UoMSk7XG5cbiAgcmV0dXJuIHtcbiAgICByOiBOdW1iZXIucGFyc2VJbnQoY2xlYW4uc2xpY2UoMCwgMiksIFRBQkxFX0hFWF9SQURJWCksXG4gICAgZzogTnVtYmVyLnBhcnNlSW50KGNsZWFuLnNsaWNlKDIsIDQpLCBUQUJMRV9IRVhfUkFESVgpLFxuICAgIGI6IE51bWJlci5wYXJzZUludChjbGVhbi5zbGljZSg0LCBIRVhfQ09MT1JfU1RSSU5HX0xFTkdUSCksIFRBQkxFX0hFWF9SQURJWClcbiAgfTtcbn1cblxuZnVuY3Rpb24gdG9SZ2JhKGhleDogc3RyaW5nLCBhbHBoYTogbnVtYmVyKTogc3RyaW5nIHwgbnVsbCB7XG4gIGNvbnN0IHJnYiA9IGhleFRvUmdiKGhleCk7XG5cbiAgaWYgKCFyZ2IpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBgcmdiYSgke3JnYi5yfSwgJHtyZ2IuZ30sICR7cmdiLmJ9LCAke2FscGhhfSlgO1xufVxuXG5mdW5jdGlvbiBkYXJrZW5IZXhDb2xvcihoZXg6IHN0cmluZywgYW1vdW50OiBudW1iZXIpOiBzdHJpbmcgfCBudWxsIHtcbiAgY29uc3QgcmdiID0gaGV4VG9SZ2IoaGV4KTtcblxuICBpZiAoIXJnYikge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgZmFjdG9yID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oMSwgMSAtIGFtb3VudCkpO1xuICBjb25zdCByID0gTWF0aC5yb3VuZChyZ2IuciAqIGZhY3Rvcik7XG4gIGNvbnN0IGcgPSBNYXRoLnJvdW5kKHJnYi5nICogZmFjdG9yKTtcbiAgY29uc3QgYiA9IE1hdGgucm91bmQocmdiLmIgKiBmYWN0b3IpO1xuXG4gIHJldHVybiBgIyR7W3IsIGcsIGJdXG4gICAgLm1hcCgodmFsdWUpID0+IE1hdGgubWF4KDAsIE1hdGgubWluKFRBQkxFX1JHQl9NQVgsIHZhbHVlKSkudG9TdHJpbmcoVEFCTEVfSEVYX1JBRElYKS5wYWRTdGFydCgyLCAnMCcpKVxuICAgIC5qb2luKCcnKX1gO1xufVxuXG5mdW5jdGlvbiBpbmZlckljb25UeXBlKHZhbHVlOiB1bmtub3duKTogVGFibGVJY29uQ29uZmlnWydpY29uVHlwZSddIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUudHJpbSgpLnN0YXJ0c1dpdGgoJzxzdmcnKSA/ICdzdmcnIDogJ2NsYXNzJztcbn1cblxuZnVuY3Rpb24gdG9PcHRpb25hbFRleHQodmFsdWU6IHVua25vd24pOiBzdHJpbmcgfCBudWxsIHtcbiAgY29uc3QgdGV4dCA9IHRvVGV4dFZhbHVlKHZhbHVlKTtcbiAgcmV0dXJuIHRleHQgfHwgbnVsbDtcbn1cblxuZnVuY3Rpb24gdG9UZXh0VmFsdWUodmFsdWU6IHVua25vd24pOiBzdHJpbmcge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IHZhbHVlIDogU3RyaW5nKHZhbHVlID8/ICcnKTtcbn1cbiJdfQ==
@@ -66,7 +66,7 @@ export class TextareaComponent extends InputsComponent {
66
66
  useExisting: forwardRef(() => TextareaComponent),
67
67
  multi: true
68
68
  }
69
- ], viewQueries: [{ propertyName: "textareaEl", first: true, predicate: ["textareaEl"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"sdc-textarea\">\n @if (labelKey() || infoTooltip) {\n <div class=\"sdc-textarea__label-row\">\n @if (labelKey()) {\n <label [for]=\"identity.id\" class=\"sdc-textarea__label\">\n <span class=\"sdc-textarea__label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n }\n @if (required) {\n <span class=\"sdc-textarea__sr-only\">\n {{ 'platform.datacore.accessibility.required_field' | translate }}\n </span>\n }\n </span>\n </label>\n }\n @if (infoTooltip) {\n <sdc-tooltip\n class=\"sdc-textarea__info-tooltip-wrap\"\n [pTooltip]=\"infoTooltip\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipEvent]=\"infoTooltipEvent\"\n (click)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle sdc-textarea__info-tooltip-icon\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n </div>\n }\n\n <textarea\n #textareaEl\n (beforeinput)=\"onBeforeInput($event)\"\n (input)=\"onTextareaInput($event)\"\n [disabled]=\"disabled\"\n [id]=\"identity.id\"\n [name]=\"identity.name\"\n [ngClass]=\"getInvalidClass()\"\n [ngStyle]=\"getInputStyle()\"\n [placeholder]=\"placeholder ? (placeholder | translate) : ''\"\n [required]=\"required\"\n [value]=\"value\"\n [attr.maxlength]=\"maxlength\"\n [rows]=\"rows\"\n [attr.aria-label]=\"\n labelKey()\n ? (labelKey() | translate)\n : placeholder\n ? (placeholder | translate)\n : ('platform.datacore.accessibility.text_area' | translate)\n \"\n [attr.aria-required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-describedby]=\"messageKey() ? identity.id + '-error' : null\"\n ></textarea>\n\n @if (messageKey()) {\n <small\n [id]=\"identity.id + '-error'\"\n [ngClass]=\"getInvalidMessageClass()\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n {{ messageKey() | translate }}\n </small>\n }\n</div>\n", styles: [".sdc-textarea .sdc-textarea__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap);margin-bottom:var(--sdc-form-label-row-mb)}.sdc-textarea .sdc-textarea__label{display:inline-flex;align-items:center;margin-bottom:0;line-height:var(--sdc-form-label-line-height);padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py);min-width:0}.sdc-textarea .sdc-textarea__label-text{display:inline-flex;align-items:center}.sdc-textarea .required-field{margin-left:var(--sdc-form-required-ml);color:var(--sdc-form-required-color);font-weight:var(--sdc-form-required-weight)}.sdc-textarea .sdc-textarea__sr-only{border:var(--sdc-sr-only-border);clip:var(--sdc-sr-only-clip);height:var(--sdc-sr-only-h);margin:var(--sdc-sr-only-m);overflow:var(--sdc-sr-only-overflow);padding:var(--sdc-sr-only-p);position:var(--sdc-sr-only-pos);width:var(--sdc-sr-only-w)}.sdc-textarea .sdc-textarea__info-tooltip-wrap{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;margin:0}.sdc-textarea .sdc-textarea__info-tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--sdc-form-tooltip-size);height:var(--sdc-form-tooltip-size);line-height:1;cursor:pointer;color:var(--sdc-form-tooltip-color)}.sdc-textarea textarea{width:100%;border:var(--sdc-formfield-border)!important;border-radius:var(--sdc-formfield-border-radius)!important;min-height:var(--sdc-formfield-default-height)!important;line-height:var(--sdc-formfield-default-line-height)!important;resize:vertical;padding:var(--sdc-form-textarea-padding-y) var(--sdc-form-input-padding-x)!important;background-color:var(--sdc-formfield-default-bg)!important;color:var(--sdc-text-default)!important;font:inherit!important;box-sizing:border-box!important}.sdc-textarea textarea:focus{outline:none;border-color:var(--sdc-formfield-focus-color)!important;box-shadow:var(--sdc-formfield-focus-shadow)!important}.sdc-textarea textarea:focus-visible{outline:none;border-color:var(--sdc-formfield-focus-color)!important;box-shadow:var(--sdc-formfield-focus-shadow-visible)!important}.sdc-textarea textarea:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: TooltipComponent, selector: "sdc-tooltip", inputs: ["pTooltip", "tooltipPosition", "tooltipEvent", "fitContent", "tooltipDisabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
69
+ ], viewQueries: [{ propertyName: "textareaEl", first: true, predicate: ["textareaEl"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"sdc-textarea\">\n @if (labelKey() || infoTooltip) {\n <div class=\"sdc-textarea__label-row\">\n @if (labelKey()) {\n <label [for]=\"identity.id\" class=\"sdc-textarea__label\">\n <span class=\"sdc-textarea__label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n }\n @if (required) {\n <span class=\"sdc-textarea__sr-only\">\n {{ 'platform.datacore.accessibility.required_field' | translate }}\n </span>\n }\n </span>\n </label>\n }\n @if (infoTooltip) {\n <sdc-tooltip\n class=\"sdc-textarea__info-tooltip-wrap\"\n [pTooltip]=\"infoTooltip\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipEvent]=\"infoTooltipEvent\"\n (click)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle sdc-textarea__info-tooltip-icon\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n </div>\n }\n\n <textarea\n #textareaEl\n (beforeinput)=\"onBeforeInput($event)\"\n (input)=\"onTextareaInput($event)\"\n [disabled]=\"disabled\"\n [id]=\"identity.id\"\n [name]=\"identity.name\"\n [ngClass]=\"getInvalidClass()\"\n [ngStyle]=\"getInputStyle()\"\n [placeholder]=\"placeholder ? (placeholder | translate) : ''\"\n [required]=\"required\"\n [value]=\"value\"\n [attr.maxlength]=\"maxlength\"\n [rows]=\"rows\"\n [attr.aria-label]=\"\n labelKey()\n ? (labelKey() | translate)\n : placeholder\n ? (placeholder | translate)\n : ('platform.datacore.accessibility.text_area' | translate)\n \"\n [attr.aria-required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-describedby]=\"messageKey() ? identity.id + '-error' : null\"\n ></textarea>\n\n @if (messageKey()) {\n <small\n [id]=\"identity.id + '-error'\"\n [ngClass]=\"getInvalidMessageClass()\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n {{ messageKey() | translate }}\n </small>\n }\n</div>\n", styles: [".sdc-textarea .sdc-textarea__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap);margin-bottom:var(--sdc-form-label-row-mb)}.sdc-textarea .sdc-textarea__label{display:inline-flex;align-items:center;margin-bottom:0;line-height:var(--sdc-form-label-line-height);padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py);min-width:0}.sdc-textarea .sdc-textarea__label-text{display:inline-flex;align-items:center}.sdc-textarea .required-field{margin-left:var(--sdc-form-required-ml);color:var(--sdc-form-required-color);font-weight:var(--sdc-form-required-weight)}.sdc-textarea .sdc-textarea__sr-only{border:var(--sdc-sr-only-border);clip:var(--sdc-sr-only-clip);height:var(--sdc-sr-only-h);margin:var(--sdc-sr-only-m);overflow:var(--sdc-sr-only-overflow);padding:var(--sdc-sr-only-p);position:var(--sdc-sr-only-pos);width:var(--sdc-sr-only-w)}.sdc-textarea .sdc-textarea__info-tooltip-wrap{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;margin:0}.sdc-textarea .sdc-textarea__info-tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--sdc-form-tooltip-size);height:var(--sdc-form-tooltip-size);line-height:1;cursor:pointer;color:var(--sdc-form-tooltip-color)}.sdc-textarea textarea{width:100%;border:var(--sdc-formfield-border)!important;border-radius:var(--sdc-formfield-border-radius)!important;min-height:var(--sdc-formfield-default-height)!important;line-height:var(--sdc-formfield-default-line-height)!important;resize:vertical;padding:var(--sdc-form-textarea-padding-y) var(--sdc-form-input-padding-x)!important;background-color:var(--sdc-formfield-default-bg)!important;color:var(--sdc-text-default)!important;font:inherit!important;box-sizing:border-box!important}.sdc-textarea textarea:focus{outline:none;border-color:var(--sdc-formfield-focus-color)!important;box-shadow:var(--sdc-formfield-focus-shadow)!important}.sdc-textarea textarea:focus-visible{outline:none;border-color:var(--sdc-formfield-focus-color)!important;box-shadow:var(--sdc-formfield-focus-shadow-visible)!important}.sdc-textarea textarea:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: TooltipComponent, selector: "sdc-tooltip", inputs: ["pTooltip", "tooltipPosition", "tooltipEvent", "fitContent", "tooltipDisabled", "allowHtml"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
70
70
  }
71
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TextareaComponent, decorators: [{
72
72
  type: Component,
@@ -37,7 +37,7 @@ export class TextboxComponent extends InputsComponent {
37
37
  useExisting: forwardRef(() => TextboxComponent),
38
38
  multi: true
39
39
  }
40
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"sdc-textbox\">\n @if (labelKey() || infoTooltip) {\n <div class=\"sdc-textbox__label-row\">\n @if (labelKey()) {\n <label [for]=\"identity.id\" class=\"sdc-textbox__label\">\n <span class=\"sdc-textbox__label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n }\n @if (required) {\n <span class=\"sr-only\">\n {{ 'platform.datacore.accessibility.required_field' | translate }}\n </span>\n }\n </span>\n </label>\n }\n @if (infoTooltip) {\n <sdc-tooltip\n class=\"sdc-textbox__info-tooltip-wrap\"\n [pTooltip]=\"infoTooltip\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipEvent]=\"infoTooltipEvent\"\n (click)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle sdc-textbox__info-tooltip-icon\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n </div>\n }\n\n <input\n class=\"sdc-textbox__input\"\n (input)=\"onNativeInput($event)\"\n [disabled]=\"disabled\"\n [id]=\"identity.id\"\n [name]=\"identity.name\"\n [ngClass]=\"getInvalidClass()\"\n [class.sdc-textbox__input--invalid]=\"invalid\"\n [ngStyle]=\"getInputStyle()\"\n [placeholder]=\"placeholder ? (placeholder | translate) : ''\"\n [required]=\"required\"\n [value]=\"value\"\n type=\"text\"\n [attr.maxlength]=\"maxlength\"\n [attr.aria-label]=\"\n labelKey()\n ? (labelKey() | translate)\n : placeholder\n ? (placeholder | translate)\n : ('platform.datacore.accessibility.text_input' | translate)\n \"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-describedby]=\"messageKey() ? identity.id + '-error' : null\"\n />\n\n @if (messageKey()) {\n <small\n [id]=\"identity.id + '-error'\"\n [ngClass]=\"getInvalidMessageClass()\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n {{ messageKey() | translate }}\n </small>\n }\n </div>\n", styles: [".sdc-textbox .sdc-textbox__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap);margin-bottom:var(--sdc-form-label-row-mb)}.sdc-textbox .sdc-textbox__label{display:inline-flex;align-items:center;margin-bottom:0;line-height:1;padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py);min-width:0}.sdc-textbox .sdc-textbox__label-text{display:inline-flex;align-items:center}.sdc-textbox .required-field{margin-left:var(--sdc-form-required-ml);color:var(--sdc-form-required-color, var(--sdc-error-color, #d98888));font-weight:400}.sdc-textbox .sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sdc-textbox .sdc-textbox__info-tooltip-wrap{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;margin:0}.sdc-textbox .sdc-textbox__info-tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--sdc-form-tooltip-size);height:var(--sdc-form-tooltip-size);line-height:1;cursor:pointer;color:var(--sdc-form-tooltip-color)}.sdc-textbox .sdc-textbox__input{width:100%;border:1px solid var(--sdc-formfield-default-border)!important;border-radius:var(--sdc-formfield-border-radius)!important;min-height:var(--sdc-formfield-default-height)!important;height:var(--sdc-formfield-default-height)!important;max-height:var(--sdc-formfield-default-height)!important;line-height:var(--sdc-formfield-default-line-height)!important;padding:0 var(--sdc-form-input-padding-x)!important;background-color:var(--sdc-formfield-default-bg)!important;color:var(--p-text-color, #111827)!important;font:inherit!important;box-sizing:border-box!important;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.sdc-textbox .sdc-textbox__input:focus{outline:none;border-color:var(--sdc-formfield-focus-color, var(--sdc-tab-primary, #007bff))!important;box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14))!important}.sdc-textbox .sdc-textbox__input:focus-visible{outline:none;border-color:var(--sdc-formfield-focus-color, var(--sdc-tab-primary, #007bff))!important;box-shadow:var(--sdc-formfield-focus-shadow-visible, 0 0 0 2px rgba(0, 123, 255, .2))!important}.sdc-textbox .sdc-textbox__input:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}.sdc-textbox .sdc-textbox__input.sdc-textbox__input--invalid,.sdc-textbox .sdc-textbox__input[aria-invalid=true],.sdc-textbox .sdc-textbox__input.ng-invalid.ng-dirty,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-touched{border-color:var(--sdc-formfield-invalid-border, var(--sdc-error-color, #d98888))!important;box-shadow:none!important}.sdc-textbox .sdc-textbox__input.sdc-textbox__input--invalid:focus,.sdc-textbox .sdc-textbox__input.sdc-textbox__input--invalid:focus-visible,.sdc-textbox .sdc-textbox__input[aria-invalid=true]:focus,.sdc-textbox .sdc-textbox__input[aria-invalid=true]:focus-visible,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-dirty:focus,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-dirty:focus-visible,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-touched:focus,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-touched:focus-visible{border-color:var(--sdc-formfield-invalid-border, var(--sdc-error-color, #d98888))!important;box-shadow:var(--sdc-formfield-invalid-focus-shadow, 0 0 0 2px rgba(217, 136, 136, .16))!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: TooltipComponent, selector: "sdc-tooltip", inputs: ["pTooltip", "tooltipPosition", "tooltipEvent", "fitContent", "tooltipDisabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
40
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"sdc-textbox\">\n @if (labelKey() || infoTooltip) {\n <div class=\"sdc-textbox__label-row\">\n @if (labelKey()) {\n <label [for]=\"identity.id\" class=\"sdc-textbox__label\">\n <span class=\"sdc-textbox__label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n }\n @if (required) {\n <span class=\"sr-only\">\n {{ 'platform.datacore.accessibility.required_field' | translate }}\n </span>\n }\n </span>\n </label>\n }\n @if (infoTooltip) {\n <sdc-tooltip\n class=\"sdc-textbox__info-tooltip-wrap\"\n [pTooltip]=\"infoTooltip\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipEvent]=\"infoTooltipEvent\"\n (click)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle sdc-textbox__info-tooltip-icon\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n </div>\n }\n\n <input\n class=\"sdc-textbox__input\"\n (input)=\"onNativeInput($event)\"\n [disabled]=\"disabled\"\n [id]=\"identity.id\"\n [name]=\"identity.name\"\n [ngClass]=\"getInvalidClass()\"\n [class.sdc-textbox__input--invalid]=\"invalid\"\n [ngStyle]=\"getInputStyle()\"\n [placeholder]=\"placeholder ? (placeholder | translate) : ''\"\n [required]=\"required\"\n [value]=\"value\"\n type=\"text\"\n [attr.maxlength]=\"maxlength\"\n [attr.aria-label]=\"\n labelKey()\n ? (labelKey() | translate)\n : placeholder\n ? (placeholder | translate)\n : ('platform.datacore.accessibility.text_input' | translate)\n \"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-describedby]=\"messageKey() ? identity.id + '-error' : null\"\n />\n\n @if (messageKey()) {\n <small\n [id]=\"identity.id + '-error'\"\n [ngClass]=\"getInvalidMessageClass()\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n {{ messageKey() | translate }}\n </small>\n }\n </div>\n", styles: [".sdc-textbox .sdc-textbox__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap);margin-bottom:var(--sdc-form-label-row-mb)}.sdc-textbox .sdc-textbox__label{display:inline-flex;align-items:center;margin-bottom:0;line-height:1;padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py);min-width:0}.sdc-textbox .sdc-textbox__label-text{display:inline-flex;align-items:center}.sdc-textbox .required-field{margin-left:var(--sdc-form-required-ml);color:var(--sdc-form-required-color, var(--sdc-error-color, #d98888));font-weight:400}.sdc-textbox .sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sdc-textbox .sdc-textbox__info-tooltip-wrap{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;margin:0}.sdc-textbox .sdc-textbox__info-tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--sdc-form-tooltip-size);height:var(--sdc-form-tooltip-size);line-height:1;cursor:pointer;color:var(--sdc-form-tooltip-color)}.sdc-textbox .sdc-textbox__input{width:100%;border:1px solid var(--sdc-formfield-default-border)!important;border-radius:var(--sdc-formfield-border-radius)!important;min-height:var(--sdc-formfield-default-height)!important;height:var(--sdc-formfield-default-height)!important;max-height:var(--sdc-formfield-default-height)!important;line-height:var(--sdc-formfield-default-line-height)!important;padding:0 var(--sdc-form-input-padding-x)!important;background-color:var(--sdc-formfield-default-bg)!important;color:var(--p-text-color, #111827)!important;font:inherit!important;box-sizing:border-box!important;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.sdc-textbox .sdc-textbox__input:focus{outline:none;border-color:var(--sdc-formfield-focus-color, var(--sdc-tab-primary, #007bff))!important;box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14))!important}.sdc-textbox .sdc-textbox__input:focus-visible{outline:none;border-color:var(--sdc-formfield-focus-color, var(--sdc-tab-primary, #007bff))!important;box-shadow:var(--sdc-formfield-focus-shadow-visible, 0 0 0 2px rgba(0, 123, 255, .2))!important}.sdc-textbox .sdc-textbox__input:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}.sdc-textbox .sdc-textbox__input.sdc-textbox__input--invalid,.sdc-textbox .sdc-textbox__input[aria-invalid=true],.sdc-textbox .sdc-textbox__input.ng-invalid.ng-dirty,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-touched{border-color:var(--sdc-formfield-invalid-border, var(--sdc-error-color, #d98888))!important;box-shadow:none!important}.sdc-textbox .sdc-textbox__input.sdc-textbox__input--invalid:focus,.sdc-textbox .sdc-textbox__input.sdc-textbox__input--invalid:focus-visible,.sdc-textbox .sdc-textbox__input[aria-invalid=true]:focus,.sdc-textbox .sdc-textbox__input[aria-invalid=true]:focus-visible,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-dirty:focus,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-dirty:focus-visible,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-touched:focus,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-touched:focus-visible{border-color:var(--sdc-formfield-invalid-border, var(--sdc-error-color, #d98888))!important;box-shadow:var(--sdc-formfield-invalid-focus-shadow, 0 0 0 2px rgba(217, 136, 136, .16))!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: TooltipComponent, selector: "sdc-tooltip", inputs: ["pTooltip", "tooltipPosition", "tooltipEvent", "fitContent", "tooltipDisabled", "allowHtml"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
41
  }
42
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TextboxComponent, decorators: [{
43
43
  type: Component,