@3ddv/software-division-components 1.0.0-alpha.3.8 → 1.0.0-alpha.4

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 (109) hide show
  1. package/README.md +297 -51
  2. package/backoffice/table/directives/table.directive.d.ts +10 -0
  3. package/backoffice/table/directives/table.directive.d.ts.map +1 -0
  4. package/backoffice/table/table.component.d.ts +17 -5
  5. package/backoffice/table/table.component.d.ts.map +1 -1
  6. package/backoffice/table/types.d.ts.map +1 -1
  7. package/dvm/neighbours/index.d.ts +2 -0
  8. package/dvm/neighbours/index.d.ts.map +1 -0
  9. package/dvm/neighbours/neighbours.component.d.ts +124 -0
  10. package/dvm/neighbours/neighbours.component.d.ts.map +1 -0
  11. package/dvm/neighbours/public-api.d.ts +3 -0
  12. package/dvm/neighbours/public-api.d.ts.map +1 -0
  13. package/dvm/neighbours/styles/side-button.tokens.d.ts +16 -0
  14. package/dvm/neighbours/styles/side-button.tokens.d.ts.map +1 -0
  15. package/dvm/neighbours/types.d.ts +8 -0
  16. package/dvm/neighbours/types.d.ts.map +1 -0
  17. package/dvm/public-api.d.ts +1 -0
  18. package/dvm/public-api.d.ts.map +1 -1
  19. package/esm2022/backoffice/table/components/body-row/body-row.component.mjs +8 -26
  20. package/esm2022/backoffice/table/components/header-row/header-row.component.mjs +7 -56
  21. package/esm2022/backoffice/table/directives/table.directive.mjs +98 -0
  22. package/esm2022/backoffice/table/table.component.mjs +38 -103
  23. package/esm2022/backoffice/table/table.service.mjs +9 -9
  24. package/esm2022/backoffice/table/types.mjs +1 -1
  25. package/esm2022/dvm/cart/cart.component.mjs +7 -15
  26. package/esm2022/dvm/cart/cart.service.mjs +9 -9
  27. package/esm2022/dvm/cart-item/cart-item.component.mjs +7 -15
  28. package/esm2022/dvm/cart-item/cart-item.service.mjs +9 -9
  29. package/esm2022/dvm/legend/legend.component.mjs +7 -15
  30. package/esm2022/dvm/legend/legend.service.mjs +9 -9
  31. package/esm2022/dvm/loader/loader.component.mjs +7 -15
  32. package/esm2022/dvm/loader/loader.service.mjs +9 -9
  33. package/esm2022/dvm/neighbours/index.mjs +2 -0
  34. package/esm2022/dvm/neighbours/neighbours.component.mjs +181 -0
  35. package/esm2022/dvm/neighbours/public-api.mjs +2 -0
  36. package/esm2022/dvm/neighbours/styles/side-button.tokens.mjs +20 -0
  37. package/esm2022/dvm/neighbours/types.mjs +2 -0
  38. package/esm2022/dvm/popover/popover.component.mjs +7 -15
  39. package/esm2022/dvm/popover/popover.service.mjs +9 -9
  40. package/esm2022/dvm/public-api.mjs +2 -1
  41. package/esm2022/dvm/stepper/stepper.component.mjs +7 -15
  42. package/esm2022/dvm/stepper/stepper.service.mjs +9 -9
  43. package/esm2022/dvm/ticket-info-item/ticket-info-item.component.mjs +7 -15
  44. package/esm2022/dvm/ticket-info-item/ticket-info-item.service.mjs +9 -9
  45. package/esm2022/generic/button/button.component.mjs +15 -22
  46. package/esm2022/generic/button/types.mjs +5 -1
  47. package/esm2022/generic/drawer/drawer.component.mjs +7 -15
  48. package/esm2022/generic/drawer/drawer.service.mjs +9 -9
  49. package/esm2022/generic/modal/modal.component.mjs +7 -15
  50. package/esm2022/generic/modal/modal.service.mjs +9 -9
  51. package/esm2022/private-exports.mjs +2 -0
  52. package/esm2022/public-api.mjs +4 -2
  53. package/esm2022/shared/format-value.pipe.mjs +11 -11
  54. package/esm2022/shared/index.mjs +2 -0
  55. package/esm2022/shared/lib-provider/config-token.mjs +3 -0
  56. package/esm2022/shared/lib-provider/index.mjs +2 -0
  57. package/esm2022/shared/lib-provider/provide-sdc.mjs +36 -0
  58. package/esm2022/shared/lib-provider/public-api.mjs +2 -0
  59. package/esm2022/shared/public-api.mjs +5 -0
  60. package/esm2022/shared/theme-provider/generic-theme.mjs +10 -0
  61. package/esm2022/shared/theme-provider/index.mjs +2 -0
  62. package/esm2022/shared/theme-provider/public-api.mjs +3 -0
  63. package/esm2022/shared/theme-provider/theme-provider.directive.mjs +29 -0
  64. package/esm2022/shared/types.mjs +1 -1
  65. package/esm2022/utils/index.mjs +2 -0
  66. package/esm2022/utils/public-api.mjs +2 -0
  67. package/esm2022/utils/validate-styles-for-component.mjs +23 -5
  68. package/fesm2022/3ddv-software-division-components.mjs +604 -446
  69. package/fesm2022/3ddv-software-division-components.mjs.map +1 -1
  70. package/generic/button/button.component.d.ts +8 -7
  71. package/generic/button/button.component.d.ts.map +1 -1
  72. package/package.json +29 -4
  73. package/private-exports.d.ts +2 -0
  74. package/private-exports.d.ts.map +1 -0
  75. package/public-api.d.ts +1 -1
  76. package/public-api.d.ts.map +1 -1
  77. package/shared/index.d.ts +2 -0
  78. package/shared/index.d.ts.map +1 -0
  79. package/shared/lib-provider/config-token.d.ts +4 -0
  80. package/shared/lib-provider/config-token.d.ts.map +1 -0
  81. package/shared/lib-provider/index.d.ts +2 -0
  82. package/shared/lib-provider/index.d.ts.map +1 -0
  83. package/shared/lib-provider/provide-sdc.d.ts +11 -0
  84. package/shared/lib-provider/provide-sdc.d.ts.map +1 -0
  85. package/shared/lib-provider/public-api.d.ts +2 -0
  86. package/shared/lib-provider/public-api.d.ts.map +1 -0
  87. package/shared/public-api.d.ts +5 -0
  88. package/shared/public-api.d.ts.map +1 -0
  89. package/shared/theme-provider/generic-theme.d.ts +2 -0
  90. package/shared/theme-provider/generic-theme.d.ts.map +1 -0
  91. package/shared/theme-provider/index.d.ts +2 -0
  92. package/shared/theme-provider/index.d.ts.map +1 -0
  93. package/shared/theme-provider/public-api.d.ts +3 -0
  94. package/shared/theme-provider/public-api.d.ts.map +1 -0
  95. package/shared/{theme-provider.directive.d.ts → theme-provider/theme-provider.directive.d.ts} +1 -1
  96. package/shared/theme-provider/theme-provider.directive.d.ts.map +1 -0
  97. package/shared/types.d.ts +4 -0
  98. package/shared/types.d.ts.map +1 -1
  99. package/utils/index.d.ts +2 -0
  100. package/utils/index.d.ts.map +1 -0
  101. package/utils/public-api.d.ts +2 -0
  102. package/utils/public-api.d.ts.map +1 -0
  103. package/utils/validate-styles-for-component.d.ts +1 -1
  104. package/utils/validate-styles-for-component.d.ts.map +1 -1
  105. package/esm2022/shared/theme-provider.directive.mjs +0 -31
  106. package/esm2022/shared/theme.service.mjs +0 -6
  107. package/shared/theme-provider.directive.d.ts.map +0 -1
  108. package/shared/theme.service.d.ts +0 -9
  109. package/shared/theme.service.d.ts.map +0 -1
@@ -1,269 +1,281 @@
1
- import * as i1$2 from '@angular/common';
2
- import { CommonModule } from '@angular/common';
1
+ import * as i1$1 from '@angular/common';
2
+ import { CurrencyPipe, DatePipe, CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { input, Component, computed, ChangeDetectionStrategy, ViewChild, Injectable, InjectionToken, Directive, Inject, HostBinding } from '@angular/core';
5
- import { ButtonComponent as ButtonComponent$1 } from '../generic/button/index.js';
6
- import { validateStylesForComponent as validateStylesForComponent$1 } from '../utils/validate-styles-for-component.js';
7
- import * as i1$1 from 'primeng/button';
4
+ import { inject, Pipe, input, Component, computed, ChangeDetectionStrategy, Host, Optional, Directive, ContentChild, Injectable, output, signal, effect, InjectionToken, HostBinding, Inject, ViewEncapsulation } from '@angular/core';
5
+ import * as i1$2 from 'primeng/button';
8
6
  import { ButtonModule, Button, ButtonStyle } from 'primeng/button';
9
7
  import * as i3 from 'primeng/contextmenu';
10
8
  import { ContextMenuModule } from 'primeng/contextmenu';
11
9
  import { PaginatorModule } from 'primeng/paginator';
12
10
  import * as i1 from 'primeng/table';
13
11
  import { TableModule, Table, TableService as TableService$1 } from 'primeng/table';
14
- import { FormatValuePipe } from '../shared/format-value.pipe.js';
15
- import * as i2 from 'primeng/api';
16
12
  import { RippleModule } from 'primeng/ripple';
17
13
  import * as i3$1 from 'primeng/tooltip';
18
- import { TooltipModule } from 'primeng/tooltip';
19
-
20
- const _c0$3 = ["app-body-row", ""];
21
- const _forTrack0$1 = ($index, $item) => $item.field;
22
- function BodyRowComponent_For_1_Template(rf, ctx) { if (rf & 1) {
23
- i0.ɵɵelementStart(0, "td");
24
- i0.ɵɵtext(1);
25
- i0.ɵɵpipe(2, "formatValue");
26
- i0.ɵɵelementEnd();
27
- } if (rf & 2) {
28
- const col_r1 = ctx.$implicit;
29
- const ctx_r1 = i0.ɵɵnextContext();
30
- i0.ɵɵadvance();
31
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r1.rows()[col_r1.field], col_r1 == null ? null : col_r1.options == null ? null : col_r1.options.pipe), " ");
32
- } }
14
+ import { TooltipModule, TooltipStyle } from 'primeng/tooltip';
15
+ import { provideAnimationsAsync } from '@angular/platform-browser/animations/async';
16
+ import { providePrimeNG } from 'primeng/config';
17
+ import Aura from '@primeng/themes/aura';
18
+ import { definePreset } from '@primeng/themes';
19
+
20
+ function validateCssClass(value, componentName) {
21
+ const regex = /^([a-zA-Z][a-zA-Z0-9-_]*)(\s[a-zA-Z][a-zA-Z0-9-_]*)*$/;
22
+ const isValidCssClass = regex.test(value);
23
+ if (!isValidCssClass) {
24
+ throw new Error(`Invalid CSS class string passed as input to "styleClasses" input, found on ${componentName}.
25
+ Please make sure your input is a valid CSS class or a list of whitespace-separated classes.
26
+ The value provided was: ${value}`);
27
+ }
28
+ }
29
+ function validateStylesForComponent(componentName) {
30
+ return (styles) => {
31
+ // Styles will be an empty string if they are not defined
32
+ if (styles === '') {
33
+ return styles;
34
+ }
35
+ if (typeof styles === 'string') {
36
+ // Some components just have to style one element,
37
+ // so a string input is sufficient
38
+ validateCssClass(styles, componentName);
39
+ }
40
+ else {
41
+ // While others require an object ot be able to style
42
+ // different parts of the component, which requires an object
43
+ // to target different parts of the components with different classes
44
+ const stylesValues = Object.values(styles);
45
+ for (const styleValue of stylesValues) {
46
+ validateCssClass(styleValue, componentName);
47
+ }
48
+ }
49
+ return styles;
50
+ };
51
+ }
52
+
53
+ class FormatValuePipe {
54
+ currencyPipe = inject(CurrencyPipe);
55
+ datePipe = inject(DatePipe);
56
+ transform(value, pipe) {
57
+ switch (pipe) {
58
+ case 'currency':
59
+ return this.currencyPipe.transform(value) ?? '';
60
+ case 'date':
61
+ return this.datePipe.transform(value) ?? '';
62
+ default:
63
+ return value ?? '';
64
+ }
65
+ }
66
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormatValuePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
67
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FormatValuePipe, isStandalone: true, name: "formatValue" });
68
+ }
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormatValuePipe, decorators: [{
70
+ type: Pipe,
71
+ args: [{
72
+ pure: true,
73
+ standalone: true,
74
+ name: 'formatValue',
75
+ }]
76
+ }] });
77
+
33
78
  class BodyRowComponent {
34
79
  rows = input.required();
35
80
  columns = input.required();
36
- static ɵfac = function BodyRowComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || BodyRowComponent)(); };
37
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BodyRowComponent, selectors: [["", "app-body-row", ""]], inputs: { rows: [1, "rows"], columns: [1, "columns"] }, standalone: true, features: [i0.ɵɵStandaloneFeature], attrs: _c0$3, decls: 2, vars: 0, template: function BodyRowComponent_Template(rf, ctx) { if (rf & 1) {
38
- i0.ɵɵrepeaterCreate(0, BodyRowComponent_For_1_Template, 3, 4, "td", null, _forTrack0$1);
39
- } if (rf & 2) {
40
- i0.ɵɵrepeater(ctx.columns());
41
- } }, dependencies: [FormatValuePipe] });
81
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BodyRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
82
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BodyRowComponent, isStandalone: true, selector: "[app-body-row]", inputs: { rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: true, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@for (col of columns(); track col.field) {\n <td>\n {{ rows()[col.field] | formatValue: col?.options?.pipe }}\n </td>\n}\n", styles: [""], dependencies: [{ kind: "pipe", type: FormatValuePipe, name: "formatValue" }] });
42
83
  }
43
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BodyRowComponent, [{
44
- type: Component,
45
- args: [{ standalone: true, selector: '[app-body-row]', imports: [FormatValuePipe], template: "@for (col of columns(); track col.field) {\n <td>\n {{ rows()[col.field] | formatValue: col?.options?.pipe }}\n </td>\n}\n" }]
46
- }], null, null); })();
47
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(BodyRowComponent, { className: "BodyRowComponent", filePath: "backoffice/table/components/body-row/body-row.component.ts", lineNumber: 12 }); })();
48
-
49
- const _c0$2 = ["app-header-row", ""];
50
- const _forTrack0 = ($index, $item) => $item.field;
51
- function HeaderRowComponent_For_1_Conditional_0_Template(rf, ctx) { if (rf & 1) {
52
- i0.ɵɵelementStart(0, "th", 0);
53
- i0.ɵɵtext(1);
54
- i0.ɵɵelementEnd();
55
- } if (rf & 2) {
56
- const col_r1 = i0.ɵɵnextContext().$implicit;
57
- i0.ɵɵadvance();
58
- i0.ɵɵtextInterpolate1(" ", col_r1.header, " ");
59
- } }
60
- function HeaderRowComponent_For_1_Conditional_1_Template(rf, ctx) { if (rf & 1) {
61
- i0.ɵɵelementStart(0, "th", 1);
62
- i0.ɵɵtext(1);
63
- i0.ɵɵelementEnd();
64
- } if (rf & 2) {
65
- const col_r1 = i0.ɵɵnextContext().$implicit;
66
- i0.ɵɵadvance();
67
- i0.ɵɵtextInterpolate1(" ", col_r1.header, " ");
68
- } }
69
- function HeaderRowComponent_For_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
70
- i0.ɵɵelementStart(0, "th", 2);
71
- i0.ɵɵtext(1);
72
- i0.ɵɵelementEnd();
73
- } if (rf & 2) {
74
- const col_r1 = i0.ɵɵnextContext().$implicit;
75
- i0.ɵɵadvance();
76
- i0.ɵɵtextInterpolate1(" ", col_r1.header, " ");
77
- } }
78
- function HeaderRowComponent_For_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
79
- i0.ɵɵelementStart(0, "th");
80
- i0.ɵɵtext(1);
81
- i0.ɵɵelementEnd();
82
- } if (rf & 2) {
83
- const col_r1 = i0.ɵɵnextContext().$implicit;
84
- i0.ɵɵadvance();
85
- i0.ɵɵtextInterpolate1(" ", col_r1.header, " ");
86
- } }
87
- function HeaderRowComponent_For_1_Template(rf, ctx) { if (rf & 1) {
88
- i0.ɵɵtemplate(0, HeaderRowComponent_For_1_Conditional_0_Template, 2, 1, "th", 0)(1, HeaderRowComponent_For_1_Conditional_1_Template, 2, 1, "th", 1)(2, HeaderRowComponent_For_1_Conditional_2_Template, 2, 1, "th", 2)(3, HeaderRowComponent_For_1_Conditional_3_Template, 2, 1, "th");
89
- } if (rf & 2) {
90
- const ctx_r1 = i0.ɵɵnextContext();
91
- i0.ɵɵconditional(ctx_r1.resizableAndReorderable() ? 0 : ctx_r1.reorderableColumns() ? 1 : ctx_r1.resizableColumns() ? 2 : 3);
92
- } }
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BodyRowComponent, decorators: [{
85
+ type: Component,
86
+ args: [{ standalone: true, selector: '[app-body-row]', imports: [FormatValuePipe], template: "@for (col of columns(); track col.field) {\n <td>\n {{ rows()[col.field] | formatValue: col?.options?.pipe }}\n </td>\n}\n" }]
87
+ }] });
88
+
93
89
  class HeaderRowComponent {
94
90
  columns = input.required();
95
91
  reorderableColumns = input.required();
96
92
  resizableColumns = input.required();
97
93
  resizableAndReorderable = computed(() => this.resizableColumns() && this.reorderableColumns());
98
- static ɵfac = function HeaderRowComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || HeaderRowComponent)(); };
99
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HeaderRowComponent, selectors: [["", "app-header-row", ""]], inputs: { columns: [1, "columns"], reorderableColumns: [1, "reorderableColumns"], resizableColumns: [1, "resizableColumns"] }, standalone: true, features: [i0.ɵɵStandaloneFeature], attrs: _c0$2, decls: 2, vars: 0, consts: [["pReorderableColumn", "", "pResizableColumn", ""], ["pReorderableColumn", ""], ["pResizableColumn", ""]], template: function HeaderRowComponent_Template(rf, ctx) { if (rf & 1) {
100
- i0.ɵɵrepeaterCreate(0, HeaderRowComponent_For_1_Template, 4, 1, null, null, _forTrack0);
101
- } if (rf & 2) {
102
- i0.ɵɵrepeater(ctx.columns());
103
- } }, dependencies: [TableModule, i1.ResizableColumn, i1.ReorderableColumn, CommonModule], styles: ["host[_ngcontent-%COMP%]:{display:contents}"], changeDetection: 0 });
94
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeaderRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
95
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: HeaderRowComponent, isStandalone: true, selector: "[app-header-row]", inputs: { columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: true, transformFunction: null }, reorderableColumns: { classPropertyName: "reorderableColumns", publicName: "reorderableColumns", isSignal: true, isRequired: true, transformFunction: null }, resizableColumns: { classPropertyName: "resizableColumns", publicName: "resizableColumns", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@for (col of columns(); track col.field) {\n @if (resizableAndReorderable()) {\n <th pReorderableColumn pResizableColumn>\n {{ col.header }}\n </th>\n } @else if (reorderableColumns()) {\n <th pReorderableColumn>\n {{ col.header }}\n </th>\n } @else if (resizableColumns()) {\n <th pResizableColumn>\n {{ col.header }}\n </th>\n } @else {\n <th>\n {{ col.header }}\n </th>\n }\n}\n", styles: ["", "host:{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: TableModule }, { kind: "directive", type: i1.ResizableColumn, selector: "[pResizableColumn]", inputs: ["pResizableColumnDisabled"] }, { kind: "directive", type: i1.ReorderableColumn, selector: "[pReorderableColumn]", inputs: ["pReorderableColumnDisabled"] }, { kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
104
96
  }
105
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HeaderRowComponent, [{
106
- type: Component,
107
- args: [{ standalone: true, selector: '[app-header-row]', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TableModule, CommonModule], template: "@for (col of columns(); track col.field) {\n @if (resizableAndReorderable()) {\n <th pReorderableColumn pResizableColumn>\n {{ col.header }}\n </th>\n } @else if (reorderableColumns()) {\n <th pReorderableColumn>\n {{ col.header }}\n </th>\n } @else if (resizableColumns()) {\n <th pResizableColumn>\n {{ col.header }}\n </th>\n } @else {\n <th>\n {{ col.header }}\n </th>\n }\n}\n", styles: ["host:{display:contents}\n"] }]
108
- }], null, null); })();
109
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(HeaderRowComponent, { className: "HeaderRowComponent", filePath: "backoffice/table/components/header-row/header-row.component.ts", lineNumber: 19 }); })();
110
-
111
- const _c0$1 = ["primengTable"];
112
- const _c1 = ["*", "*"];
113
- function TableComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) {
114
- i0.ɵɵelement(0, "tr", 7);
115
- } if (rf & 2) {
116
- const ctx_r1 = i0.ɵɵnextContext();
117
- i0.ɵɵproperty("columns", ctx_r1.columnData())("reorderableColumns", !!ctx_r1.reorderableColumns)("resizableColumns", !!ctx_r1.resizableColumns);
118
- } }
119
- function TableComponent_ng_template_7_Template(rf, ctx) { if (rf & 1) {
120
- i0.ɵɵelement(0, "tr", 8);
121
- } if (rf & 2) {
122
- const rows_r3 = ctx.$implicit;
123
- const ctx_r1 = i0.ɵɵnextContext();
124
- i0.ɵɵproperty("pContextMenuRow", rows_r3)("columns", ctx_r1.columnData())("rows", rows_r3);
125
- } }
126
- function TableComponent_Conditional_9_ng_template_0_Conditional_0_Template(rf, ctx) { if (rf & 1) {
127
- const _r4 = i0.ɵɵgetCurrentView();
128
- i0.ɵɵelementStart(0, "div", 9)(1, "sdc-button", 10);
129
- i0.ɵɵlistener("click", function TableComponent_Conditional_9_ng_template_0_Conditional_0_Template_sdc_button_click_1_listener() { i0.ɵɵrestoreView(_r4); i0.ɵɵnextContext(3); const dt_r5 = i0.ɵɵreference(4); return i0.ɵɵresetView(dt_r5.exportCSV()); });
130
- i0.ɵɵelementEnd()();
131
- } if (rf & 2) {
132
- const ctx_r1 = i0.ɵɵnextContext(3);
133
- i0.ɵɵadvance();
134
- i0.ɵɵproperty("label", ctx_r1.exportButtonLabel());
135
- } }
136
- function TableComponent_Conditional_9_ng_template_0_Template(rf, ctx) { if (rf & 1) {
137
- i0.ɵɵtemplate(0, TableComponent_Conditional_9_ng_template_0_Conditional_0_Template, 2, 1, "div", 9);
138
- i0.ɵɵprojection(1, 0, ["[select]", "'button1'"]);
139
- i0.ɵɵprojection(2, 1, ["[select]", "'button2'"]);
140
- } if (rf & 2) {
141
- const ctx_r1 = i0.ɵɵnextContext(2);
142
- i0.ɵɵconditional(ctx_r1.export() ? 0 : -1);
143
- } }
144
- function TableComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
145
- i0.ɵɵtemplate(0, TableComponent_Conditional_9_ng_template_0_Template, 3, 1, "ng-template", 6);
146
- } }
147
- function tableFactory(tableComponent) {
148
- return tableComponent.primengTable;
149
- // a change
150
- // a change
151
- // a change
152
- // a change
153
- // a change
154
- // a change
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeaderRowComponent, decorators: [{
98
+ type: Component,
99
+ args: [{ standalone: true, selector: '[app-header-row]', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TableModule, CommonModule], template: "@for (col of columns(); track col.field) {\n @if (resizableAndReorderable()) {\n <th pReorderableColumn pResizableColumn>\n {{ col.header }}\n </th>\n } @else if (reorderableColumns()) {\n <th pReorderableColumn>\n {{ col.header }}\n </th>\n } @else if (resizableColumns()) {\n <th pResizableColumn>\n {{ col.header }}\n </th>\n } @else {\n <th>\n {{ col.header }}\n </th>\n }\n}\n", styles: ["host:{display:contents}\n"] }]
100
+ }] });
101
+
102
+ class TableDirective {
103
+ primeTable;
104
+ constructor(primeTable, sdcTable) {
105
+ this.primeTable = primeTable;
106
+ if (!sdcTable)
107
+ return;
108
+ // ------------------------------
109
+ // 1) Assign TableComponent’s
110
+ // inputs to the PrimeNG Table
111
+ // ------------------------------
112
+ this.primeTable.style = sdcTable.style;
113
+ this.primeTable.value = sdcTable.value;
114
+ this.primeTable.dataKey = sdcTable.dataKey;
115
+ this.primeTable.rows = sdcTable.rows;
116
+ this.primeTable.sortMode = sdcTable.sortMode;
117
+ this.primeTable.sortField = sdcTable.sortField;
118
+ this.primeTable.sortOrder = sdcTable.sortOrder;
119
+ this.primeTable.size = sdcTable.size;
120
+ this.primeTable.rowHover = sdcTable.rowHover ?? true;
121
+ this.primeTable.scrollable = sdcTable.scrollable;
122
+ this.primeTable.scrollHeight = sdcTable.scrollHeight;
123
+ this.primeTable.scrollDirection = sdcTable.scrollDirection;
124
+ this.primeTable.showGridlines = sdcTable.showGridlines;
125
+ this.primeTable.resizableColumns = sdcTable.resizableColumns;
126
+ this.primeTable.reorderableColumns = sdcTable.reorderableColumns;
127
+ this.primeTable.columnResizeMode = sdcTable.columnResizeMode;
128
+ this.primeTable.rowsPerPageOptions = sdcTable.rowsPerPageOptions;
129
+ this.primeTable.selection = sdcTable.selection;
130
+ this.primeTable.editMode = sdcTable.editMode;
131
+ this.primeTable.frozenValue = sdcTable.frozenValue;
132
+ this.primeTable.frozenColumns = sdcTable.frozenColumns;
133
+ this.primeTable.selectionMode = sdcTable.selectionMode;
134
+ this.primeTable.contextMenuSelection = sdcTable.contextMenuSelection;
135
+ this.primeTable.contextMenuSelectionMode = sdcTable.contextMenuSelectionMode;
136
+ this.primeTable.paginatorDropdownScrollHeight = sdcTable.paginatorDropdownScrollHeight;
137
+ this.primeTable.paginatorDropdownAppendTo = sdcTable.paginatorDropdownAppendTo;
138
+ this.primeTable.currentPageReportTemplate = sdcTable.currentPageReportTemplate;
139
+ this.primeTable.showCurrentPageReport = sdcTable.showCurrentPageReport;
140
+ this.primeTable.showJumpToPageDropdown = sdcTable.showJumpToPageDropdown;
141
+ this.primeTable.showJumpToPageInput = sdcTable.showJumpToPageInput;
142
+ this.primeTable.showFirstLastIcon = sdcTable.showFirstLastIcon;
143
+ this.primeTable.showPageLinks = sdcTable.showPageLinks;
144
+ this.primeTable.defaultSortOrder = sdcTable.defaultSortOrder;
145
+ this.primeTable.resetPageOnSort = sdcTable.resetPageOnSort;
146
+ this.primeTable.selectionPageOnly = sdcTable.selectionPageOnly;
147
+ this.primeTable.lazy = sdcTable.lazy;
148
+ this.primeTable.lazyLoadOnInit = sdcTable.lazyLoadOnInit;
149
+ this.primeTable.compareSelectionBy = sdcTable.compareSelectionBy;
150
+ this.primeTable.filters = sdcTable.filters;
151
+ this.primeTable.globalFilterFields = sdcTable.globalFilterFields;
152
+ this.primeTable.filterDelay = sdcTable.filterDelay;
153
+ this.primeTable.filterLocale = sdcTable.filterLocale;
154
+ this.primeTable.expandedRowKeys = sdcTable.expandedRowKeys;
155
+ this.primeTable.editingRowKeys = sdcTable.editingRowKeys;
156
+ this.primeTable.rowExpandMode = sdcTable.rowExpandMode;
157
+ this.primeTable.frozenWidth = sdcTable.frozenWidth;
158
+ this.primeTable.rowGroupMode = sdcTable.rowGroupMode;
159
+ this.primeTable.rowTrackBy = sdcTable.rowTrackBy;
160
+ this.primeTable.rowSelectable = sdcTable.rowSelectable;
161
+ this.primeTable.customSort = sdcTable.customSort;
162
+ this.primeTable.showInitialSortBadge = sdcTable.showInitialSortBadge;
163
+ this.primeTable.autoLayout = sdcTable.autoLayout;
164
+ this.primeTable.exportFunction = sdcTable.exportFunction;
165
+ this.primeTable.exportHeader = sdcTable.exportHeader;
166
+ this.primeTable.stateKey = sdcTable.stateKey;
167
+ this.primeTable.stateStorage = sdcTable.stateStorage;
168
+ this.primeTable.groupRowsBy = sdcTable.groupRowsBy;
169
+ this.primeTable.groupRowsByOrder = sdcTable.groupRowsByOrder;
170
+ this.primeTable.responsiveLayout = sdcTable.responsiveLayout;
171
+ this.primeTable.breakpoint = sdcTable.breakpoint;
172
+ this.primeTable.paginatorLocale = sdcTable.paginatorLocale;
173
+ this.primeTable.first = sdcTable.first;
174
+ this.primeTable.totalRecords = sdcTable.totalRecords;
175
+ this.primeTable.multiSortMeta = sdcTable.multiSortMeta;
176
+ this.primeTable.selectAll = sdcTable.selectAll;
177
+ this.primeTable.loading = sdcTable.loading;
178
+ this.primeTable.loadingIcon = sdcTable.loadingIcon;
179
+ this.primeTable.showLoader = sdcTable.showLoader;
180
+ }
181
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableDirective, deps: [{ token: i1.Table }, { token: TableComponent, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
182
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: TableDirective, isStandalone: true, selector: "p-table", ngImport: i0 });
155
183
  }
184
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableDirective, decorators: [{
185
+ type: Directive,
186
+ args: [{
187
+ standalone: true,
188
+ selector: 'p-table',
189
+ }]
190
+ }], ctorParameters: () => [{ type: i1.Table }, { type: TableComponent, decorators: [{
191
+ type: Host
192
+ }, {
193
+ type: Optional
194
+ }] }] });
195
+
196
+ /**
197
+ * A customizable table component built on PrimeNG's Table.
198
+ *
199
+ * This component extends the PrimeNG Table by introducing additional configurations and styling
200
+ * capabilities. It supports defining column data, enabling sorting, exporting data, and integrating
201
+ * context menu options for enhanced user interactions. Additionally, the component allows for dynamic
202
+ * styling through custom CSS classes and leverages Angular's standalone component pattern with OnPush
203
+ * change detection for performance optimization.
204
+ *
205
+ * @since 1.0.0-alpha.2
206
+ * @updated 1.0.0-alpha.2
207
+ */
156
208
  class TableComponent extends Table {
157
- primengTable;
209
+ props = input();
158
210
  /**
159
211
  * Single string or whitespace-separated string of additional style classes for the button.
160
212
  * Only accepts valid whitespace-separated class names.
161
213
  */
162
- styleClasses = input('', { transform: validateStylesForComponent$1(this.constructor.name) });
214
+ styleClasses = input('', { transform: validateStylesForComponent(this.constructor.name) });
163
215
  columnData = input.required();
164
216
  sortable = input();
165
217
  export = input();
166
218
  exportButtonLabel = input('Export');
167
219
  contextMenuOptions = input();
168
220
  projectedElementIdArray = input();
221
+ customRowTemplate;
169
222
  selectedRow;
170
223
  cb(event) { }
171
- static ɵfac = /*@__PURE__*/ (() => { let ɵTableComponent_BaseFactory; return function TableComponent_Factory(__ngFactoryType__) { return (ɵTableComponent_BaseFactory || (ɵTableComponent_BaseFactory = i0.ɵɵgetInheritedFactory(TableComponent)))(__ngFactoryType__ || TableComponent); }; })();
172
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TableComponent, selectors: [["sdc-table"]], viewQuery: function TableComponent_Query(rf, ctx) { if (rf & 1) {
173
- i0.ɵɵviewQuery(_c0$1, 7);
174
- } if (rf & 2) {
175
- let _t;
176
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.primengTable = _t.first);
177
- } }, inputs: { styleClasses: [1, "styleClasses"], columnData: [1, "columnData"], sortable: [1, "sortable"], export: [1, "export"], exportButtonLabel: [1, "exportButtonLabel"], contextMenuOptions: [1, "contextMenuOptions"], projectedElementIdArray: [1, "projectedElementIdArray"] }, standalone: true, features: [i0.ɵɵProvidersFeature([TableService$1]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], ngContentSelectors: _c1, decls: 10, vars: 85, consts: [["contextMenu", ""], ["dt", ""], ["header", ""], ["body", ""], [3, "model"], [3, "onColReorder", "tableStyleClass", "value", "dataKey", "rows", "sortMode", "sortField", "sortOrder", "size", "rowHover", "scrollable", "scrollHeight", "scrollDirection", "paginator", "stripedRows", "showGridlines", "columns", "resizableColumns", "reorderableColumns", "columnResizeMode", "paginatorPosition", "rowsPerPageOptions", "contextMenu", "selection", "editMode", "frozenValue", "frozenColumns", "selectionMode", "contextMenuSelection", "contextMenuSelectionMode", "paginatorDropdownScrollHeight", "paginatorDropdownAppendTo", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "resetPageOnSort", "selectionPageOnly", "lazy", "lazyLoadOnInit", "compareSelectionBy", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "frozenWidth", "rowGroupMode", "rowTrackBy", "rowSelectable", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "first", "totalRecords", "multiSortMeta", "selectAll", "loading", "loadingIcon", "showLoader"], ["pTemplate", "caption"], ["app-header-row", "", 3, "columns", "reorderableColumns", "resizableColumns"], ["app-body-row", "", 3, "pContextMenuRow", "columns", "rows"], [1, "button__export--end"], ["icon", "pi pi-external-link", 3, "click", "label"]], template: function TableComponent_Template(rf, ctx) { if (rf & 1) {
178
- const _r1 = i0.ɵɵgetCurrentView();
179
- i0.ɵɵprojectionDef(_c1);
180
- i0.ɵɵelementStart(0, "div");
181
- i0.ɵɵelement(1, "p-contextMenu", 4, 0);
182
- i0.ɵɵelementStart(3, "p-table", 5, 1);
183
- i0.ɵɵlistener("onColReorder", function TableComponent_Template_p_table_onColReorder_3_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.cb($event)); });
184
- i0.ɵɵtemplate(5, TableComponent_ng_template_5_Template, 1, 3, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor)(7, TableComponent_ng_template_7_Template, 1, 3, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor)(9, TableComponent_Conditional_9_Template, 1, 0, null, 6);
185
- i0.ɵɵelementEnd()();
186
- } if (rf & 2) {
187
- let tmp_4_0;
188
- let tmp_13_0;
189
- let tmp_14_0;
190
- let tmp_87_0;
191
- const contextMenu_r6 = i0.ɵɵreference(2);
192
- i0.ɵɵadvance();
193
- i0.ɵɵproperty("model", (tmp_4_0 = ctx.contextMenuOptions()) !== null && tmp_4_0 !== undefined ? tmp_4_0 : undefined);
194
- i0.ɵɵadvance(2);
195
- i0.ɵɵstyleMap(ctx.style);
196
- i0.ɵɵproperty("tableStyleClass", ctx.styleClasses())("value", ctx.value)("dataKey", ctx.dataKey)("rows", ctx.rows)("sortMode", ctx.sortMode)("sortField", ctx.sortField)("sortOrder", ctx.sortOrder)("size", (tmp_13_0 = ctx.size) !== null && tmp_13_0 !== undefined ? tmp_13_0 : undefined)("rowHover", (tmp_14_0 = ctx.rowHover) !== null && tmp_14_0 !== undefined ? tmp_14_0 : true)("scrollable", ctx.scrollable)("scrollHeight", ctx.scrollHeight)("scrollDirection", ctx.scrollDirection)("value", ctx.value)("dataKey", ctx.dataKey)("rows", ctx.rows)("sortMode", ctx.sortMode)("sortField", ctx.sortField)("sortOrder", ctx.sortOrder)("size", ctx.size)("paginator", ctx.paginator)("stripedRows", ctx.stripedRows)("showGridlines", ctx.showGridlines)("columns", ctx.columnData())("resizableColumns", ctx.resizableColumns)("reorderableColumns", ctx.reorderableColumns)("columnResizeMode", ctx.columnResizeMode)("paginatorPosition", ctx.paginatorPosition)("rowsPerPageOptions", ctx.rowsPerPageOptions)("contextMenu", ctx.contextMenuOptions() ? contextMenu_r6 : undefined)("selection", ctx.selection)("editMode", ctx.editMode)("frozenValue", ctx.frozenValue)("frozenColumns", ctx.frozenColumns)("selectionMode", ctx.selectionMode)("contextMenuSelection", ctx.contextMenuSelection)("contextMenuSelectionMode", ctx.contextMenuSelectionMode)("paginatorDropdownScrollHeight", ctx.paginatorDropdownScrollHeight)("paginatorDropdownAppendTo", ctx.paginatorDropdownAppendTo)("currentPageReportTemplate", ctx.currentPageReportTemplate)("showCurrentPageReport", ctx.showCurrentPageReport)("showJumpToPageDropdown", ctx.showJumpToPageDropdown)("showJumpToPageInput", ctx.showJumpToPageInput)("showFirstLastIcon", ctx.showFirstLastIcon)("showPageLinks", ctx.showPageLinks)("defaultSortOrder", ctx.defaultSortOrder)("resetPageOnSort", ctx.resetPageOnSort)("selectionPageOnly", ctx.selectionPageOnly)("lazy", ctx.lazy)("lazyLoadOnInit", ctx.lazyLoadOnInit)("compareSelectionBy", ctx.compareSelectionBy)("filters", ctx.filters)("globalFilterFields", ctx.globalFilterFields)("filterDelay", ctx.filterDelay)("filterLocale", ctx.filterLocale)("expandedRowKeys", ctx.expandedRowKeys)("editingRowKeys", ctx.editingRowKeys)("rowExpandMode", ctx.rowExpandMode)("frozenWidth", ctx.frozenWidth)("rowGroupMode", ctx.rowGroupMode)("rowTrackBy", ctx.rowTrackBy)("rowSelectable", ctx.rowSelectable)("customSort", ctx.customSort)("showInitialSortBadge", ctx.showInitialSortBadge)("autoLayout", ctx.autoLayout)("exportFunction", ctx.exportFunction)("exportHeader", ctx.exportHeader)("stateKey", ctx.stateKey)("stateStorage", ctx.stateStorage)("groupRowsBy", ctx.groupRowsBy)("groupRowsByOrder", ctx.groupRowsByOrder)("size", ctx.size)("responsiveLayout", ctx.responsiveLayout)("breakpoint", ctx.breakpoint)("paginatorLocale", ctx.paginatorLocale)("first", ctx.first)("totalRecords", ctx.totalRecords)("multiSortMeta", ctx.multiSortMeta)("selectAll", ctx.selectAll)("loading", ctx.loading)("loadingIcon", ctx.loadingIcon)("showLoader", ctx.showLoader);
197
- i0.ɵɵadvance(6);
198
- i0.ɵɵconditional(ctx.export() || ((tmp_87_0 = ctx.projectedElementIdArray()) == null ? null : tmp_87_0.length) ? 9 : -1);
199
- } }, dependencies: [CommonModule,
200
- TableModule, i1.Table, i2.PrimeTemplate, i1.ContextMenuRow, ContextMenuModule, i3.ContextMenu, ButtonModule,
201
- PaginatorModule,
202
- HeaderRowComponent,
203
- BodyRowComponent,
204
- ButtonComponent$1], styles: ["[_ngcontent-%COMP%]:root{--p-paginator-border-radius: 0px !important}.button__export--end[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;padding:.5rem}sdc-table[_ngcontent-%COMP%] .table-test-class[_ngcontent-%COMP%]{--p-datatable-header-cell-color: red}"], changeDetection: 0 });
224
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
225
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: TableComponent, isStandalone: true, selector: "sdc-table", inputs: { props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null }, styleClasses: { classPropertyName: "styleClasses", publicName: "styleClasses", isSignal: true, isRequired: false, transformFunction: null }, columnData: { classPropertyName: "columnData", publicName: "columnData", isSignal: true, isRequired: true, transformFunction: null }, sortable: { classPropertyName: "sortable", publicName: "sortable", isSignal: true, isRequired: false, transformFunction: null }, export: { classPropertyName: "export", publicName: "export", isSignal: true, isRequired: false, transformFunction: null }, exportButtonLabel: { classPropertyName: "exportButtonLabel", publicName: "exportButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, contextMenuOptions: { classPropertyName: "contextMenuOptions", publicName: "contextMenuOptions", isSignal: true, isRequired: false, transformFunction: null }, projectedElementIdArray: { classPropertyName: "projectedElementIdArray", publicName: "projectedElementIdArray", isSignal: true, isRequired: false, transformFunction: null } }, providers: [TableService$1], queries: [{ propertyName: "customRowTemplate", first: true, predicate: ["customRowTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div>\n <p-contextMenu #contextMenu [model]=\"contextMenuOptions() ?? undefined\"></p-contextMenu>\n\n <p-table\n #dt\n [tableStyleClass]=\"styleClasses()\"\n [value]=\"value\"\n [style]=\"style\"\n [dataKey]=\"dataKey\"\n [rows]=\"rows\"\n [columns]=\"columnData()\"\n [stripedRows]=\"stripedRows\"\n [showGridlines]=\"showGridlines\"\n [paginator]=\"paginator\"\n [paginatorPosition]=\"paginatorPosition\"\n [rows]=\"rowsPerPageOptions\"\n [contextMenu]=\"contextMenuOptions() ? contextMenu : undefined\">\n <ng-template #header>\n <tr\n app-header-row\n [columns]=\"columnData()\"\n [reorderableColumns]=\"!!reorderableColumns\"\n [resizableColumns]=\"!!resizableColumns\"></tr>\n </ng-template>\n\n <ng-template #body let-rows let-index=\"rowIndex\">\n <ng-container *ngIf=\"!customRowTemplate; else customTemplate\">\n <tr app-body-row [pContextMenuRow]=\"rows\" [columns]=\"columnData()\" [rows]=\"rows\"></tr>\n </ng-container>\n <ng-template #customTemplate>\n <ng-container *ngTemplateOutlet=\"customRowTemplate; context: { $implicit: rows, rowIndex: index }\">\n </ng-container>\n </ng-template>\n </ng-template>\n </p-table>\n</div>\n", styles: [":root{--p-paginator-border-radius: 0px !important}.table-footer__button--align{display:flex;justify-content:flex-end;align-items:center;padding:.5rem}sdc-table .table-test-class{--p-datatable-header-cell-color: red}.mock-side-button{--p-button-primary-color: white;--p-button-primary-background: black;--p-button-primary-border-color: black;--p-button-primary-hover-background: black;--p-button-primary-hover-color: white}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i1.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "virtualRowHeight", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i1.ContextMenuRow, selector: "[pContextMenuRow]", inputs: ["pContextMenuRow", "pContextMenuRowIndex", "pContextMenuRowDisabled"] }, { kind: "ngmodule", type: ContextMenuModule }, { kind: "component", type: i3.ContextMenu, selector: "p-contextMenu, p-contextmenu, p-context-menu", inputs: ["model", "triggerEvent", "target", "global", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "id", "breakpoint", "ariaLabel", "ariaLabelledBy", "pressDelay"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: PaginatorModule }, { kind: "component", type: HeaderRowComponent, selector: "[app-header-row]", inputs: ["columns", "reorderableColumns", "resizableColumns"] }, { kind: "component", type: BodyRowComponent, selector: "[app-body-row]", inputs: ["rows", "columns"] }, { kind: "directive", type: TableDirective, selector: "p-table" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
205
226
  }
206
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableComponent, [{
207
- type: Component,
208
- args: [{ standalone: true, selector: 'sdc-table', imports: [
209
- CommonModule,
210
- TableModule,
211
- ContextMenuModule,
212
- ButtonModule,
213
- PaginatorModule,
214
- HeaderRowComponent,
215
- BodyRowComponent,
216
- ButtonComponent$1,
217
- ], providers: [TableService$1], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div>\n <p-contextMenu #contextMenu [model]=\"contextMenuOptions() ?? undefined\"></p-contextMenu>\n\n <p-table\n #dt\n [tableStyleClass]=\"styleClasses()\"\n [style]=\"style\"\n [value]=\"value\"\n [dataKey]=\"dataKey\"\n [rows]=\"rows\"\n [sortMode]=\"sortMode\"\n [sortField]=\"sortField\"\n [sortOrder]=\"sortOrder\"\n [size]=\"size ?? undefined\"\n [rowHover]=\"rowHover ?? true\"\n [scrollable]=\"scrollable\"\n [scrollHeight]=\"scrollHeight\"\n [scrollDirection]=\"scrollDirection\"\n [value]=\"value\"\n [dataKey]=\"dataKey\"\n [rows]=\"rows\"\n [sortMode]=\"sortMode\"\n [sortField]=\"sortField\"\n [sortOrder]=\"sortOrder\"\n [size]=\"size\"\n [paginator]=\"paginator\"\n [stripedRows]=\"stripedRows\"\n [showGridlines]=\"showGridlines\"\n [columns]=\"columnData()\"\n [resizableColumns]=\"resizableColumns\"\n [reorderableColumns]=\"reorderableColumns\"\n [columnResizeMode]=\"columnResizeMode\"\n [paginatorPosition]=\"paginatorPosition\"\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\n [contextMenu]=\"contextMenuOptions() ? contextMenu : undefined\"\n [selection]=\"selection\"\n [editMode]=\"editMode\"\n [frozenValue]=\"frozenValue\"\n [frozenColumns]=\"frozenColumns\"\n [selectionMode]=\"selectionMode\"\n [contextMenuSelection]=\"contextMenuSelection\"\n [contextMenuSelectionMode]=\"contextMenuSelectionMode\"\n [paginatorDropdownScrollHeight]=\"paginatorDropdownScrollHeight\"\n [paginatorDropdownAppendTo]=\"paginatorDropdownAppendTo\"\n [currentPageReportTemplate]=\"currentPageReportTemplate\"\n [showCurrentPageReport]=\"showCurrentPageReport\"\n [showJumpToPageDropdown]=\"showJumpToPageDropdown\"\n [showJumpToPageInput]=\"showJumpToPageInput\"\n [showFirstLastIcon]=\"showFirstLastIcon\"\n [showPageLinks]=\"showPageLinks\"\n [defaultSortOrder]=\"defaultSortOrder\"\n [resetPageOnSort]=\"resetPageOnSort\"\n [selectionPageOnly]=\"selectionPageOnly\"\n [lazy]=\"lazy\"\n [lazyLoadOnInit]=\"lazyLoadOnInit\"\n [compareSelectionBy]=\"compareSelectionBy\"\n [filters]=\"filters\"\n [globalFilterFields]=\"globalFilterFields\"\n [filterDelay]=\"filterDelay\"\n [filterLocale]=\"filterLocale\"\n [expandedRowKeys]=\"expandedRowKeys\"\n [editingRowKeys]=\"editingRowKeys\"\n [rowExpandMode]=\"rowExpandMode\"\n [frozenWidth]=\"frozenWidth\"\n [rowGroupMode]=\"rowGroupMode\"\n [rowTrackBy]=\"rowTrackBy\"\n [rowSelectable]=\"rowSelectable\"\n [customSort]=\"customSort\"\n [showInitialSortBadge]=\"showInitialSortBadge\"\n [autoLayout]=\"autoLayout\"\n [exportFunction]=\"exportFunction\"\n [exportHeader]=\"exportHeader\"\n [stateKey]=\"stateKey\"\n [stateStorage]=\"stateStorage\"\n [groupRowsBy]=\"groupRowsBy\"\n [groupRowsByOrder]=\"groupRowsByOrder\"\n [size]=\"size\"\n [responsiveLayout]=\"responsiveLayout\"\n [breakpoint]=\"breakpoint\"\n [paginatorLocale]=\"paginatorLocale\"\n [first]=\"first\"\n [totalRecords]=\"totalRecords\"\n [multiSortMeta]=\"multiSortMeta\"\n [selectAll]=\"selectAll\"\n [loading]=\"loading\"\n [loadingIcon]=\"loadingIcon\"\n (onColReorder)=\"cb($event)\"\n [showLoader]=\"showLoader\">\n <ng-template #header>\n <tr\n app-header-row\n [columns]=\"columnData()\"\n [reorderableColumns]=\"!!reorderableColumns\"\n [resizableColumns]=\"!!resizableColumns\"></tr>\n </ng-template>\n\n <ng-template #body let-rows let-index=\"rowIndex\">\n <tr app-body-row [pContextMenuRow]=\"rows\" [columns]=\"columnData()\" [rows]=\"rows\"></tr>\n </ng-template>\n\n @if (export() || projectedElementIdArray()?.length) {\n <ng-template pTemplate=\"caption\">\n @if (export()) {\n <div class=\"button__export--end\">\n <sdc-button icon=\"pi pi-external-link\" [label]=\"exportButtonLabel()\" (click)=\"dt.exportCSV()\" />\n </div>\n }\n <ng-content [select]=\"'button1'\" />\n\n <ng-content [select]=\"'button2'\" />\n\n <!-- @for (projectedElementId of projectedElementId(); track projectedElementId) {\n <ng-content [select]=\"projectedElementId\" />\n } -->\n </ng-template>\n }\n </p-table>\n</div>\n", styles: [":root{--p-paginator-border-radius: 0px !important}.button__export--end{display:flex;justify-content:flex-end;align-items:center;padding:.5rem}sdc-table .table-test-class{--p-datatable-header-cell-color: red}\n"] }]
218
- }], null, { primengTable: [{
219
- type: ViewChild,
220
- args: ['primengTable', { static: true }]
221
- }] }); })();
222
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TableComponent, { className: "TableComponent", filePath: "backoffice/table/table.component.ts", lineNumber: 41 }); })();
227
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableComponent, decorators: [{
228
+ type: Component,
229
+ args: [{ standalone: true, selector: 'sdc-table', imports: [
230
+ CommonModule,
231
+ TableModule,
232
+ ContextMenuModule,
233
+ ButtonModule,
234
+ PaginatorModule,
235
+ HeaderRowComponent,
236
+ BodyRowComponent,
237
+ TableDirective,
238
+ ], providers: [TableService$1], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div>\n <p-contextMenu #contextMenu [model]=\"contextMenuOptions() ?? undefined\"></p-contextMenu>\n\n <p-table\n #dt\n [tableStyleClass]=\"styleClasses()\"\n [value]=\"value\"\n [style]=\"style\"\n [dataKey]=\"dataKey\"\n [rows]=\"rows\"\n [columns]=\"columnData()\"\n [stripedRows]=\"stripedRows\"\n [showGridlines]=\"showGridlines\"\n [paginator]=\"paginator\"\n [paginatorPosition]=\"paginatorPosition\"\n [rows]=\"rowsPerPageOptions\"\n [contextMenu]=\"contextMenuOptions() ? contextMenu : undefined\">\n <ng-template #header>\n <tr\n app-header-row\n [columns]=\"columnData()\"\n [reorderableColumns]=\"!!reorderableColumns\"\n [resizableColumns]=\"!!resizableColumns\"></tr>\n </ng-template>\n\n <ng-template #body let-rows let-index=\"rowIndex\">\n <ng-container *ngIf=\"!customRowTemplate; else customTemplate\">\n <tr app-body-row [pContextMenuRow]=\"rows\" [columns]=\"columnData()\" [rows]=\"rows\"></tr>\n </ng-container>\n <ng-template #customTemplate>\n <ng-container *ngTemplateOutlet=\"customRowTemplate; context: { $implicit: rows, rowIndex: index }\">\n </ng-container>\n </ng-template>\n </ng-template>\n </p-table>\n</div>\n", styles: [":root{--p-paginator-border-radius: 0px !important}.table-footer__button--align{display:flex;justify-content:flex-end;align-items:center;padding:.5rem}sdc-table .table-test-class{--p-datatable-header-cell-color: red}.mock-side-button{--p-button-primary-color: white;--p-button-primary-background: black;--p-button-primary-border-color: black;--p-button-primary-hover-background: black;--p-button-primary-hover-color: white}\n"] }]
239
+ }], propDecorators: { customRowTemplate: [{
240
+ type: ContentChild,
241
+ args: ['customRowTemplate']
242
+ }] } });
223
243
 
224
244
  class TableService {
225
245
  constructor() { }
226
- static ɵfac = function TableService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TableService)(); };
227
- static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TableService, factory: TableService.ɵfac, providedIn: 'root' });
246
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
247
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableService, providedIn: 'root' });
228
248
  }
229
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableService, [{
230
- type: Injectable,
231
- args: [{
232
- providedIn: 'root'
233
- }]
234
- }], () => [], null); })();
249
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableService, decorators: [{
250
+ type: Injectable,
251
+ args: [{
252
+ providedIn: 'root'
253
+ }]
254
+ }], ctorParameters: () => [] });
235
255
 
236
256
  class CartComponent extends Button {
237
257
  constructor() {
238
258
  super();
239
259
  }
240
- static ɵfac = function CartComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CartComponent)(); };
241
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CartComponent, selectors: [["sdc-cart"]], standalone: true, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 1, vars: 21, consts: [[3, "onClick", "onFocus", "onBlur", "label", "icon", "type", "loading", "iconPos", "disabled", "severity", "rounded", "raised", "link", "size", "badge", "plain", "text", "outlined", "ariaLabel", "styleClass", "badgeClass", "loadingIcon"]], template: function CartComponent_Template(rf, ctx) { if (rf & 1) {
242
- i0.ɵɵelementStart(0, "p-button", 0);
243
- i0.ɵɵlistener("onClick", function CartComponent_Template_p_button_onClick_0_listener($event) { return ctx.onClick.emit($event); })("onFocus", function CartComponent_Template_p_button_onFocus_0_listener($event) { return ctx.onFocus.emit($event); })("onBlur", function CartComponent_Template_p_button_onBlur_0_listener($event) { return ctx.onBlur.emit($event); });
244
- i0.ɵɵelementEnd();
245
- } if (rf & 2) {
246
- i0.ɵɵstyleMap(ctx.style);
247
- i0.ɵɵproperty("label", ctx.label)("icon", ctx.icon)("type", ctx.type)("loading", ctx.loading)("iconPos", ctx.iconPos)("disabled", ctx.disabled)("severity", ctx.severity)("rounded", ctx.rounded)("raised", ctx.raised)("link", ctx.link)("size", ctx.size)("badge", ctx.badge)("plain", ctx.plain)("text", ctx.text)("outlined", ctx.outlined)("ariaLabel", ctx.ariaLabel)("styleClass", ctx.styleClass)("badgeClass", ctx.badgeClass)("loadingIcon", ctx.loadingIcon);
248
- } }, dependencies: [ButtonModule, i1$1.Button], encapsulation: 2 });
260
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
261
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CartComponent, isStandalone: true, selector: "sdc-cart", usesInheritance: true, ngImport: i0, template: "<p-button\n [label]=\"label\"\n [icon]=\"icon\"\n [type]=\"type\"\n [loading]=\"loading\"\n [iconPos]=\"iconPos\"\n [disabled]=\"disabled\"\n [severity]=\"severity\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [link]=\"link\"\n [size]=\"size\"\n [badge]=\"badge\"\n [plain]=\"plain\"\n [text]=\"text\"\n [style]=\"style\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [styleClass]=\"styleClass\"\n [badgeClass]=\"badgeClass\"\n [loadingIcon]=\"loadingIcon\"\n (onClick)=\"onClick.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\" />\n", dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }] });
249
262
  }
250
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CartComponent, [{
251
- type: Component,
252
- args: [{ selector: 'sdc-cart', standalone: true, imports: [ButtonModule], template: "<p-button\n [label]=\"label\"\n [icon]=\"icon\"\n [type]=\"type\"\n [loading]=\"loading\"\n [iconPos]=\"iconPos\"\n [disabled]=\"disabled\"\n [severity]=\"severity\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [link]=\"link\"\n [size]=\"size\"\n [badge]=\"badge\"\n [plain]=\"plain\"\n [text]=\"text\"\n [style]=\"style\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [styleClass]=\"styleClass\"\n [badgeClass]=\"badgeClass\"\n [loadingIcon]=\"loadingIcon\"\n (onClick)=\"onClick.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\" />\n" }]
253
- }], () => [], null); })();
254
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CartComponent, { className: "CartComponent", filePath: "dvm/cart/cart.component.ts", lineNumber: 10 }); })();
263
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CartComponent, decorators: [{
264
+ type: Component,
265
+ args: [{ selector: 'sdc-cart', standalone: true, imports: [ButtonModule], template: "<p-button\n [label]=\"label\"\n [icon]=\"icon\"\n [type]=\"type\"\n [loading]=\"loading\"\n [iconPos]=\"iconPos\"\n [disabled]=\"disabled\"\n [severity]=\"severity\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [link]=\"link\"\n [size]=\"size\"\n [badge]=\"badge\"\n [plain]=\"plain\"\n [text]=\"text\"\n [style]=\"style\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [styleClass]=\"styleClass\"\n [badgeClass]=\"badgeClass\"\n [loadingIcon]=\"loadingIcon\"\n (onClick)=\"onClick.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\" />\n" }]
266
+ }], ctorParameters: () => [] });
255
267
 
256
268
  class CartService {
257
269
  constructor() { }
258
- static ɵfac = function CartService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CartService)(); };
259
- static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CartService, factory: CartService.ɵfac, providedIn: 'root' });
270
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CartService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
271
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CartService, providedIn: 'root' });
260
272
  }
261
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CartService, [{
262
- type: Injectable,
263
- args: [{
264
- providedIn: 'root',
265
- }]
266
- }], () => [], null); })();
273
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CartService, decorators: [{
274
+ type: Injectable,
275
+ args: [{
276
+ providedIn: 'root',
277
+ }]
278
+ }], ctorParameters: () => [] });
267
279
 
268
280
  /*
269
281
  * Public API Surface of software-division-components
@@ -273,33 +285,25 @@ class CartItemComponent extends Button {
273
285
  constructor() {
274
286
  super();
275
287
  }
276
- static ɵfac = function CartItemComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CartItemComponent)(); };
277
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CartItemComponent, selectors: [["sdc-cart-item"]], standalone: true, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 1, vars: 21, consts: [[3, "onClick", "onFocus", "onBlur", "label", "icon", "type", "loading", "iconPos", "disabled", "severity", "rounded", "raised", "link", "size", "badge", "plain", "text", "outlined", "ariaLabel", "styleClass", "badgeClass", "loadingIcon"]], template: function CartItemComponent_Template(rf, ctx) { if (rf & 1) {
278
- i0.ɵɵelementStart(0, "p-button", 0);
279
- i0.ɵɵlistener("onClick", function CartItemComponent_Template_p_button_onClick_0_listener($event) { return ctx.onClick.emit($event); })("onFocus", function CartItemComponent_Template_p_button_onFocus_0_listener($event) { return ctx.onFocus.emit($event); })("onBlur", function CartItemComponent_Template_p_button_onBlur_0_listener($event) { return ctx.onBlur.emit($event); });
280
- i0.ɵɵelementEnd();
281
- } if (rf & 2) {
282
- i0.ɵɵstyleMap(ctx.style);
283
- i0.ɵɵproperty("label", ctx.label)("icon", ctx.icon)("type", ctx.type)("loading", ctx.loading)("iconPos", ctx.iconPos)("disabled", ctx.disabled)("severity", ctx.severity)("rounded", ctx.rounded)("raised", ctx.raised)("link", ctx.link)("size", ctx.size)("badge", ctx.badge)("plain", ctx.plain)("text", ctx.text)("outlined", ctx.outlined)("ariaLabel", ctx.ariaLabel)("styleClass", ctx.styleClass)("badgeClass", ctx.badgeClass)("loadingIcon", ctx.loadingIcon);
284
- } }, dependencies: [ButtonModule, i1$1.Button], encapsulation: 2 });
288
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CartItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
289
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CartItemComponent, isStandalone: true, selector: "sdc-cart-item", usesInheritance: true, ngImport: i0, template: "<p-button\n [label]=\"label\"\n [icon]=\"icon\"\n [type]=\"type\"\n [loading]=\"loading\"\n [iconPos]=\"iconPos\"\n [disabled]=\"disabled\"\n [severity]=\"severity\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [link]=\"link\"\n [size]=\"size\"\n [badge]=\"badge\"\n [plain]=\"plain\"\n [text]=\"text\"\n [style]=\"style\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [styleClass]=\"styleClass\"\n [badgeClass]=\"badgeClass\"\n [loadingIcon]=\"loadingIcon\"\n (onClick)=\"onClick.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\" />\n", dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }] });
285
290
  }
286
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CartItemComponent, [{
287
- type: Component,
288
- args: [{ selector: 'sdc-cart-item', standalone: true, imports: [ButtonModule], template: "<p-button\n [label]=\"label\"\n [icon]=\"icon\"\n [type]=\"type\"\n [loading]=\"loading\"\n [iconPos]=\"iconPos\"\n [disabled]=\"disabled\"\n [severity]=\"severity\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [link]=\"link\"\n [size]=\"size\"\n [badge]=\"badge\"\n [plain]=\"plain\"\n [text]=\"text\"\n [style]=\"style\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [styleClass]=\"styleClass\"\n [badgeClass]=\"badgeClass\"\n [loadingIcon]=\"loadingIcon\"\n (onClick)=\"onClick.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\" />\n" }]
289
- }], () => [], null); })();
290
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CartItemComponent, { className: "CartItemComponent", filePath: "dvm/cart-item/cart-item.component.ts", lineNumber: 10 }); })();
291
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CartItemComponent, decorators: [{
292
+ type: Component,
293
+ args: [{ selector: 'sdc-cart-item', standalone: true, imports: [ButtonModule], template: "<p-button\n [label]=\"label\"\n [icon]=\"icon\"\n [type]=\"type\"\n [loading]=\"loading\"\n [iconPos]=\"iconPos\"\n [disabled]=\"disabled\"\n [severity]=\"severity\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [link]=\"link\"\n [size]=\"size\"\n [badge]=\"badge\"\n [plain]=\"plain\"\n [text]=\"text\"\n [style]=\"style\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [styleClass]=\"styleClass\"\n [badgeClass]=\"badgeClass\"\n [loadingIcon]=\"loadingIcon\"\n (onClick)=\"onClick.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\" />\n" }]
294
+ }], ctorParameters: () => [] });
291
295
 
292
296
  class CartItemService {
293
297
  constructor() { }
294
- static ɵfac = function CartItemService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CartItemService)(); };
295
- static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CartItemService, factory: CartItemService.ɵfac, providedIn: 'root' });
298
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CartItemService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
299
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CartItemService, providedIn: 'root' });
296
300
  }
297
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CartItemService, [{
298
- type: Injectable,
299
- args: [{
300
- providedIn: 'root',
301
- }]
302
- }], () => [], null); })();
301
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CartItemService, decorators: [{
302
+ type: Injectable,
303
+ args: [{
304
+ providedIn: 'root',
305
+ }]
306
+ }], ctorParameters: () => [] });
303
307
 
304
308
  /*
305
309
  * Public API Surface of software-division-components
@@ -309,33 +313,25 @@ class LegendComponent extends Button {
309
313
  constructor() {
310
314
  super();
311
315
  }
312
- static ɵfac = function LegendComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LegendComponent)(); };
313
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LegendComponent, selectors: [["sdc-legend"]], standalone: true, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 1, vars: 21, consts: [[3, "onClick", "onFocus", "onBlur", "label", "icon", "type", "loading", "iconPos", "disabled", "severity", "rounded", "raised", "link", "size", "badge", "plain", "text", "outlined", "ariaLabel", "styleClass", "badgeClass", "loadingIcon"]], template: function LegendComponent_Template(rf, ctx) { if (rf & 1) {
314
- i0.ɵɵelementStart(0, "p-button", 0);
315
- i0.ɵɵlistener("onClick", function LegendComponent_Template_p_button_onClick_0_listener($event) { return ctx.onClick.emit($event); })("onFocus", function LegendComponent_Template_p_button_onFocus_0_listener($event) { return ctx.onFocus.emit($event); })("onBlur", function LegendComponent_Template_p_button_onBlur_0_listener($event) { return ctx.onBlur.emit($event); });
316
- i0.ɵɵelementEnd();
317
- } if (rf & 2) {
318
- i0.ɵɵstyleMap(ctx.style);
319
- i0.ɵɵproperty("label", ctx.label)("icon", ctx.icon)("type", ctx.type)("loading", ctx.loading)("iconPos", ctx.iconPos)("disabled", ctx.disabled)("severity", ctx.severity)("rounded", ctx.rounded)("raised", ctx.raised)("link", ctx.link)("size", ctx.size)("badge", ctx.badge)("plain", ctx.plain)("text", ctx.text)("outlined", ctx.outlined)("ariaLabel", ctx.ariaLabel)("styleClass", ctx.styleClass)("badgeClass", ctx.badgeClass)("loadingIcon", ctx.loadingIcon);
320
- } }, dependencies: [ButtonModule, i1$1.Button], encapsulation: 2 });
316
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LegendComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
317
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LegendComponent, isStandalone: true, selector: "sdc-legend", usesInheritance: true, ngImport: i0, template: "<p-button\n [label]=\"label\"\n [icon]=\"icon\"\n [type]=\"type\"\n [loading]=\"loading\"\n [iconPos]=\"iconPos\"\n [disabled]=\"disabled\"\n [severity]=\"severity\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [link]=\"link\"\n [size]=\"size\"\n [badge]=\"badge\"\n [plain]=\"plain\"\n [text]=\"text\"\n [style]=\"style\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [styleClass]=\"styleClass\"\n [badgeClass]=\"badgeClass\"\n [loadingIcon]=\"loadingIcon\"\n (onClick)=\"onClick.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\" />\n", dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }] });
321
318
  }
322
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LegendComponent, [{
323
- type: Component,
324
- args: [{ selector: 'sdc-legend', standalone: true, imports: [ButtonModule], template: "<p-button\n [label]=\"label\"\n [icon]=\"icon\"\n [type]=\"type\"\n [loading]=\"loading\"\n [iconPos]=\"iconPos\"\n [disabled]=\"disabled\"\n [severity]=\"severity\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [link]=\"link\"\n [size]=\"size\"\n [badge]=\"badge\"\n [plain]=\"plain\"\n [text]=\"text\"\n [style]=\"style\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [styleClass]=\"styleClass\"\n [badgeClass]=\"badgeClass\"\n [loadingIcon]=\"loadingIcon\"\n (onClick)=\"onClick.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\" />\n" }]
325
- }], () => [], null); })();
326
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LegendComponent, { className: "LegendComponent", filePath: "dvm/legend/legend.component.ts", lineNumber: 10 }); })();
319
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LegendComponent, decorators: [{
320
+ type: Component,
321
+ args: [{ selector: 'sdc-legend', standalone: true, imports: [ButtonModule], template: "<p-button\n [label]=\"label\"\n [icon]=\"icon\"\n [type]=\"type\"\n [loading]=\"loading\"\n [iconPos]=\"iconPos\"\n [disabled]=\"disabled\"\n [severity]=\"severity\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [link]=\"link\"\n [size]=\"size\"\n [badge]=\"badge\"\n [plain]=\"plain\"\n [text]=\"text\"\n [style]=\"style\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [styleClass]=\"styleClass\"\n [badgeClass]=\"badgeClass\"\n [loadingIcon]=\"loadingIcon\"\n (onClick)=\"onClick.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\" />\n" }]
322
+ }], ctorParameters: () => [] });
327
323
 
328
324
  class LegendService {
329
325
  constructor() { }
330
- static ɵfac = function LegendService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LegendService)(); };
331
- static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LegendService, factory: LegendService.ɵfac, providedIn: 'root' });
326
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LegendService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
327
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LegendService, providedIn: 'root' });
332
328
  }
333
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LegendService, [{
334
- type: Injectable,
335
- args: [{
336
- providedIn: 'root',
337
- }]
338
- }], () => [], null); })();
329
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LegendService, decorators: [{
330
+ type: Injectable,
331
+ args: [{
332
+ providedIn: 'root',
333
+ }]
334
+ }], ctorParameters: () => [] });
339
335
 
340
336
  /*
341
337
  * Public API Surface of software-division-components
@@ -345,69 +341,249 @@ class LoaderComponent extends Button {
345
341
  constructor() {
346
342
  super();
347
343
  }
348
- static ɵfac = function LoaderComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LoaderComponent)(); };
349
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LoaderComponent, selectors: [["sdc-loader"]], standalone: true, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 1, vars: 21, consts: [[3, "onClick", "onFocus", "onBlur", "label", "icon", "type", "loading", "iconPos", "disabled", "severity", "rounded", "raised", "link", "size", "badge", "plain", "text", "outlined", "ariaLabel", "styleClass", "badgeClass", "loadingIcon"]], template: function LoaderComponent_Template(rf, ctx) { if (rf & 1) {
350
- i0.ɵɵelementStart(0, "p-button", 0);
351
- i0.ɵɵlistener("onClick", function LoaderComponent_Template_p_button_onClick_0_listener($event) { return ctx.onClick.emit($event); })("onFocus", function LoaderComponent_Template_p_button_onFocus_0_listener($event) { return ctx.onFocus.emit($event); })("onBlur", function LoaderComponent_Template_p_button_onBlur_0_listener($event) { return ctx.onBlur.emit($event); });
352
- i0.ɵɵelementEnd();
353
- } if (rf & 2) {
354
- i0.ɵɵstyleMap(ctx.style);
355
- i0.ɵɵproperty("label", ctx.label)("icon", ctx.icon)("type", ctx.type)("loading", ctx.loading)("iconPos", ctx.iconPos)("disabled", ctx.disabled)("severity", ctx.severity)("rounded", ctx.rounded)("raised", ctx.raised)("link", ctx.link)("size", ctx.size)("badge", ctx.badge)("plain", ctx.plain)("text", ctx.text)("outlined", ctx.outlined)("ariaLabel", ctx.ariaLabel)("styleClass", ctx.styleClass)("badgeClass", ctx.badgeClass)("loadingIcon", ctx.loadingIcon);
356
- } }, dependencies: [ButtonModule, i1$1.Button], encapsulation: 2 });
344
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
345
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LoaderComponent, isStandalone: true, selector: "sdc-loader", usesInheritance: true, ngImport: i0, template: "<p-button\n [label]=\"label\"\n [icon]=\"icon\"\n [type]=\"type\"\n [loading]=\"loading\"\n [iconPos]=\"iconPos\"\n [disabled]=\"disabled\"\n [severity]=\"severity\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [link]=\"link\"\n [size]=\"size\"\n [badge]=\"badge\"\n [plain]=\"plain\"\n [text]=\"text\"\n [style]=\"style\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [styleClass]=\"styleClass\"\n [badgeClass]=\"badgeClass\"\n [loadingIcon]=\"loadingIcon\"\n (onClick)=\"onClick.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\" />\n", dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }] });
357
346
  }
358
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LoaderComponent, [{
359
- type: Component,
360
- args: [{ selector: 'sdc-loader', standalone: true, imports: [ButtonModule], template: "<p-button\n [label]=\"label\"\n [icon]=\"icon\"\n [type]=\"type\"\n [loading]=\"loading\"\n [iconPos]=\"iconPos\"\n [disabled]=\"disabled\"\n [severity]=\"severity\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [link]=\"link\"\n [size]=\"size\"\n [badge]=\"badge\"\n [plain]=\"plain\"\n [text]=\"text\"\n [style]=\"style\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [styleClass]=\"styleClass\"\n [badgeClass]=\"badgeClass\"\n [loadingIcon]=\"loadingIcon\"\n (onClick)=\"onClick.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\" />\n" }]
361
- }], () => [], null); })();
362
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LoaderComponent, { className: "LoaderComponent", filePath: "dvm/loader/loader.component.ts", lineNumber: 10 }); })();
347
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoaderComponent, decorators: [{
348
+ type: Component,
349
+ args: [{ selector: 'sdc-loader', standalone: true, imports: [ButtonModule], template: "<p-button\n [label]=\"label\"\n [icon]=\"icon\"\n [type]=\"type\"\n [loading]=\"loading\"\n [iconPos]=\"iconPos\"\n [disabled]=\"disabled\"\n [severity]=\"severity\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [link]=\"link\"\n [size]=\"size\"\n [badge]=\"badge\"\n [plain]=\"plain\"\n [text]=\"text\"\n [style]=\"style\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [styleClass]=\"styleClass\"\n [badgeClass]=\"badgeClass\"\n [loadingIcon]=\"loadingIcon\"\n (onClick)=\"onClick.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\" />\n" }]
350
+ }], ctorParameters: () => [] });
363
351
 
364
352
  class LoaderService {
365
353
  constructor() { }
366
- static ɵfac = function LoaderService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LoaderService)(); };
367
- static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LoaderService, factory: LoaderService.ɵfac, providedIn: 'root' });
354
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
355
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoaderService, providedIn: 'root' });
368
356
  }
369
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LoaderService, [{
370
- type: Injectable,
371
- args: [{
372
- providedIn: 'root',
373
- }]
374
- }], () => [], null); })();
357
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoaderService, decorators: [{
358
+ type: Injectable,
359
+ args: [{
360
+ providedIn: 'root',
361
+ }]
362
+ }], ctorParameters: () => [] });
375
363
 
376
364
  /*
377
365
  * Public API Surface of software-division-components
378
366
  */
379
367
 
368
+ // TODO: this requires adaptation to the new design
369
+ const sideButtonTokens = {
370
+ root: {
371
+ primary: {
372
+ // Text
373
+ color: '',
374
+ borderColor: '{zinc.50}',
375
+ hoverColor: '',
376
+ activeColor: '',
377
+ // Background
378
+ background: '{zinc.50}',
379
+ hoverBackground: '{zinc.50}',
380
+ activeBackground: '{zinc.50}',
381
+ // Border
382
+ activeBorderColor: '{zinc.50}',
383
+ hoverBorderColor: '{zinc.50}',
384
+ },
385
+ },
386
+ };
387
+
388
+ /**
389
+ * Component used to navigate between neighbouring sections.
390
+ *
391
+ * It determines the next and previous available sections based on predefined mappings
392
+ * and emits navigation events when users attempt to move between them.
393
+ *
394
+ * @since 1.0.0-alpha.2
395
+ * @updated 1.0.0-alpha.2
396
+ */
397
+ class NeighboursComponent {
398
+ /**
399
+ * Predefined styles for the side button.
400
+ */
401
+ sideButtonStyle = sideButtonTokens;
402
+ /**
403
+ * The current section identifier.
404
+ */
405
+ currentSection = input.required();
406
+ /**
407
+ * Mapping of MMC section IDs to TDC section IDs.
408
+ */
409
+ sectionsMmcToTdc = input.required({});
410
+ /**
411
+ * Mapping of TDC section IDs to MMC section IDs.
412
+ */
413
+ sectionsTdcToMmc = input.required({});
414
+ /**
415
+ * Data structure defining neighboring relationships between sections.
416
+ */
417
+ neigboursData = input.required({});
418
+ /**
419
+ * Icon for the next navigation button.
420
+ */
421
+ nextIcon = input('');
422
+ /**
423
+ * Icon for the previous navigation button.
424
+ */
425
+ previousIcon = input('');
426
+ /**
427
+ * Flag indicating whether navigation is restricted to available sections only.
428
+ * This requires the sectionsAvailability input to be passed, otherwise the initialization of
429
+ * the component will fail.
430
+ */
431
+ onlyNavigateToAvailable = input();
432
+ /**
433
+ * Object defining the availability of sections. Required if you are wanting to allow navigation
434
+ * to available sections only.
435
+ */
436
+ sectionsAvailability = input({});
437
+ /**
438
+ * Custom styling classes for the component.
439
+ */
440
+ styleClasses = input({ middleDivClass: '', sideButtonsClass: '' }, {
441
+ transform: validateStylesForComponent(this.constructor.name),
442
+ });
443
+ /**
444
+ * Event emitter for section navigation.
445
+ */
446
+ sectionToNavigate = output();
447
+ /**
448
+ * The ID of the previous available section.
449
+ */
450
+ previousAvailableSectionId = signal(null);
451
+ /**
452
+ * The ID of the next available section.
453
+ */
454
+ nextAvailableSectionId = signal(null);
455
+ /**
456
+ * Constant representing the absence of a neighboring section.
457
+ */
458
+ NO_NEIGHBOUR_VALUE = 'none';
459
+ /**
460
+ * Key mappings for neighboring sections.
461
+ */
462
+ neighboursKeys = {
463
+ prev: 'l',
464
+ next: 'r',
465
+ };
466
+ /**
467
+ * Key mappings for navigation directions.
468
+ */
469
+ keyMapping = {
470
+ prev: 'previous',
471
+ next: 'next',
472
+ };
473
+ constructor() {
474
+ effect(() => {
475
+ this.findAndSetAvailableSection('prev', this.currentSection());
476
+ this.findAndSetAvailableSection('next', this.currentSection());
477
+ }, { allowSignalWrites: true });
478
+ }
479
+ /**
480
+ * Handles navigation button clicks. Emits the new section identificator to navigate to.
481
+ * @param goTo - The direction to navigate.
482
+ * @throws If there is no valid section to navigate to.
483
+ */
484
+ onClick(goTo) {
485
+ const tdcId = this.getTdcIdFromDirection(goTo);
486
+ if (!tdcId) {
487
+ throw new Error(`There is no valid ${this.keyMapping[goTo]} section to navigate.`);
488
+ }
489
+ this.sectionToNavigate.emit(tdcId);
490
+ }
491
+ /**
492
+ * Retrieves the TDC section ID based on the navigation direction.
493
+ * @param direction - The navigation direction.
494
+ * @returns The section ID to navigate to, or null if unavailable.
495
+ */
496
+ getTdcIdFromDirection(direction) {
497
+ if (direction === 'prev') {
498
+ return this.previousAvailableSectionId();
499
+ }
500
+ else {
501
+ return this.nextAvailableSectionId();
502
+ }
503
+ }
504
+ /**
505
+ * Determines and sets the available section for navigation in the specified direction.
506
+ * @param type - The navigation direction.
507
+ * @param [currentSection] - The current section ID (optional).
508
+ * @throws If navigation is restricted and sectionsAvailability is not provided.
509
+ */
510
+ findAndSetAvailableSection(type, currentSection) {
511
+ // Get the equivalent of MMC ID since the neighbours data contains MMC ID
512
+ const currentSectionMmcId = this.sectionsTdcToMmc()[currentSection ?? this.currentSection()];
513
+ // Object that contains the neighbours of the current section
514
+ const neighborObject = this.neigboursData()[currentSectionMmcId];
515
+ // Get the neighbours from the neighbours object according to neighbour key
516
+ const neighborObjectKey = this.neighboursKeys[type];
517
+ const neighborSectionMmcId = neighborObject[neighborObjectKey];
518
+ // Get back the translation of the neighbour to TDC ID
519
+ const neighborSectionTdcId = this.sectionsMmcToTdc()[neighborSectionMmcId];
520
+ if (neighborSectionTdcId) {
521
+ // If we only navigate to available sections, check for availablibility.
522
+ if (this.onlyNavigateToAvailable()) {
523
+ if (this.sectionsAvailability()) {
524
+ const hasAvailability = !!this.sectionsAvailability()[neighborSectionTdcId];
525
+ // Set the section to null and stop the recursion if no availability.
526
+ if (!hasAvailability) {
527
+ return this.setAvailableSection(type, null);
528
+ }
529
+ }
530
+ else {
531
+ throw new Error('To only navigate to available sections, it is required to pass the sections availability parameter.');
532
+ }
533
+ }
534
+ return this.setAvailableSection(type, neighborSectionTdcId);
535
+ }
536
+ // If no section was found or the value of the section was None, set to null and stop the recursion
537
+ if (!neighborSectionMmcId || neighborSectionMmcId === this.NO_NEIGHBOUR_VALUE) {
538
+ return this.setAvailableSection(type, null);
539
+ }
540
+ return this.findAndSetAvailableSection(type, neighborSectionTdcId);
541
+ }
542
+ /**
543
+ * Sets the previous or next section values to the passed value
544
+ *
545
+ * @param type - The navigation direction.
546
+ * @param value - Value to set to either previous or next available section
547
+ */
548
+ setAvailableSection(type, value) {
549
+ if (type === 'prev') {
550
+ this.previousAvailableSectionId.set(value);
551
+ }
552
+ if (type === 'next') {
553
+ this.nextAvailableSectionId.set(value);
554
+ }
555
+ }
556
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NeighboursComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
557
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: NeighboursComponent, isStandalone: true, selector: "sdc-neighbours", inputs: { currentSection: { classPropertyName: "currentSection", publicName: "currentSection", isSignal: true, isRequired: true, transformFunction: null }, sectionsMmcToTdc: { classPropertyName: "sectionsMmcToTdc", publicName: "sectionsMmcToTdc", isSignal: true, isRequired: true, transformFunction: null }, sectionsTdcToMmc: { classPropertyName: "sectionsTdcToMmc", publicName: "sectionsTdcToMmc", isSignal: true, isRequired: true, transformFunction: null }, neigboursData: { classPropertyName: "neigboursData", publicName: "neigboursData", isSignal: true, isRequired: true, transformFunction: null }, nextIcon: { classPropertyName: "nextIcon", publicName: "nextIcon", isSignal: true, isRequired: false, transformFunction: null }, previousIcon: { classPropertyName: "previousIcon", publicName: "previousIcon", isSignal: true, isRequired: false, transformFunction: null }, onlyNavigateToAvailable: { classPropertyName: "onlyNavigateToAvailable", publicName: "onlyNavigateToAvailable", isSignal: true, isRequired: false, transformFunction: null }, sectionsAvailability: { classPropertyName: "sectionsAvailability", publicName: "sectionsAvailability", isSignal: true, isRequired: false, transformFunction: null }, styleClasses: { classPropertyName: "styleClasses", publicName: "styleClasses", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sectionToNavigate: "sectionToNavigate" }, ngImport: i0, template: "<div id=\"sdc-neighbours\" class=\"wrapper__neighbours--spacing\">\n @if (previousAvailableSectionId()) {\n <sdc-button\n iconPos=\"left\"\n [styleClasses]=\"styleClasses()?.sideButtonsClass\"\n [dt]=\"sideButtonStyle\"\n label=\"Previous section\"\n [icon]=\"previousIcon()\"\n (onClick)=\"onClick('prev')\" />\n }\n\n <div id=\"sdc-neighbours-section-info\" class=\"neighbours__section--info\" [class]=\"styleClasses().middleDivClass\">\n <span>Section</span> <span class=\"content__section--bold\">{{ currentSection() }}</span>\n </div>\n\n @if (nextAvailableSectionId()) {\n <sdc-button\n [dt]=\"sideButtonStyle\"\n [styleClasses]=\"styleClasses()?.sideButtonsClass\"\n iconPos=\"right\"\n label=\"Next section\"\n [icon]=\"nextIcon()\"\n (onClick)=\"onClick('next')\" />\n }\n</div>\n", styles: [".wrapper__neighbours--spacing{display:flex;column-gap:.5em;min-height:2.25em}.content__section--bold{font-weight:900}.neighbours__section--info{display:flex;justify-content:center;column-gap:.5em;align-items:center;background-color:#f9f9f9;border-radius:9999px;row-gap:.25em;min-width:8em}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["props", "tooltip", "tooltipPos", "badgeValue", "debounceTimeInMs", "styleClasses"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
558
+ }
559
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NeighboursComponent, decorators: [{
560
+ type: Component,
561
+ args: [{ standalone: true, selector: 'sdc-neighbours', imports: [ButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div id=\"sdc-neighbours\" class=\"wrapper__neighbours--spacing\">\n @if (previousAvailableSectionId()) {\n <sdc-button\n iconPos=\"left\"\n [styleClasses]=\"styleClasses()?.sideButtonsClass\"\n [dt]=\"sideButtonStyle\"\n label=\"Previous section\"\n [icon]=\"previousIcon()\"\n (onClick)=\"onClick('prev')\" />\n }\n\n <div id=\"sdc-neighbours-section-info\" class=\"neighbours__section--info\" [class]=\"styleClasses().middleDivClass\">\n <span>Section</span> <span class=\"content__section--bold\">{{ currentSection() }}</span>\n </div>\n\n @if (nextAvailableSectionId()) {\n <sdc-button\n [dt]=\"sideButtonStyle\"\n [styleClasses]=\"styleClasses()?.sideButtonsClass\"\n iconPos=\"right\"\n label=\"Next section\"\n [icon]=\"nextIcon()\"\n (onClick)=\"onClick('next')\" />\n }\n</div>\n", styles: [".wrapper__neighbours--spacing{display:flex;column-gap:.5em;min-height:2.25em}.content__section--bold{font-weight:900}.neighbours__section--info{display:flex;justify-content:center;column-gap:.5em;align-items:center;background-color:#f9f9f9;border-radius:9999px;row-gap:.25em;min-width:8em}\n"] }]
562
+ }], ctorParameters: () => [] });
563
+
380
564
  class PopoverComponent extends Button {
381
565
  constructor() {
382
566
  super();
383
567
  }
384
- static ɵfac = function PopoverComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PopoverComponent)(); };
385
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PopoverComponent, selectors: [["sdc-popover"]], standalone: true, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 1, vars: 21, consts: [[3, "onClick", "onFocus", "onBlur", "label", "icon", "type", "loading", "iconPos", "disabled", "severity", "rounded", "raised", "link", "size", "badge", "plain", "text", "outlined", "ariaLabel", "styleClass", "badgeClass", "loadingIcon"]], template: function PopoverComponent_Template(rf, ctx) { if (rf & 1) {
386
- i0.ɵɵelementStart(0, "p-button", 0);
387
- i0.ɵɵlistener("onClick", function PopoverComponent_Template_p_button_onClick_0_listener($event) { return ctx.onClick.emit($event); })("onFocus", function PopoverComponent_Template_p_button_onFocus_0_listener($event) { return ctx.onFocus.emit($event); })("onBlur", function PopoverComponent_Template_p_button_onBlur_0_listener($event) { return ctx.onBlur.emit($event); });
388
- i0.ɵɵelementEnd();
389
- } if (rf & 2) {
390
- i0.ɵɵstyleMap(ctx.style);
391
- i0.ɵɵproperty("label", ctx.label)("icon", ctx.icon)("type", ctx.type)("loading", ctx.loading)("iconPos", ctx.iconPos)("disabled", ctx.disabled)("severity", ctx.severity)("rounded", ctx.rounded)("raised", ctx.raised)("link", ctx.link)("size", ctx.size)("badge", ctx.badge)("plain", ctx.plain)("text", ctx.text)("outlined", ctx.outlined)("ariaLabel", ctx.ariaLabel)("styleClass", ctx.styleClass)("badgeClass", ctx.badgeClass)("loadingIcon", ctx.loadingIcon);
392
- } }, dependencies: [ButtonModule, i1$1.Button], encapsulation: 2 });
568
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
569
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PopoverComponent, isStandalone: true, selector: "sdc-popover", usesInheritance: true, ngImport: i0, template: "<p-button\n [label]=\"label\"\n [icon]=\"icon\"\n [type]=\"type\"\n [loading]=\"loading\"\n [iconPos]=\"iconPos\"\n [disabled]=\"disabled\"\n [severity]=\"severity\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [link]=\"link\"\n [size]=\"size\"\n [badge]=\"badge\"\n [plain]=\"plain\"\n [text]=\"text\"\n [style]=\"style\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [styleClass]=\"styleClass\"\n [badgeClass]=\"badgeClass\"\n [loadingIcon]=\"loadingIcon\"\n (onClick)=\"onClick.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\" />\n", dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }] });
393
570
  }
394
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PopoverComponent, [{
395
- type: Component,
396
- args: [{ selector: 'sdc-popover', standalone: true, imports: [ButtonModule], template: "<p-button\n [label]=\"label\"\n [icon]=\"icon\"\n [type]=\"type\"\n [loading]=\"loading\"\n [iconPos]=\"iconPos\"\n [disabled]=\"disabled\"\n [severity]=\"severity\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [link]=\"link\"\n [size]=\"size\"\n [badge]=\"badge\"\n [plain]=\"plain\"\n [text]=\"text\"\n [style]=\"style\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [styleClass]=\"styleClass\"\n [badgeClass]=\"badgeClass\"\n [loadingIcon]=\"loadingIcon\"\n (onClick)=\"onClick.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\" />\n" }]
397
- }], () => [], null); })();
398
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PopoverComponent, { className: "PopoverComponent", filePath: "dvm/popover/popover.component.ts", lineNumber: 10 }); })();
571
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PopoverComponent, decorators: [{
572
+ type: Component,
573
+ args: [{ selector: 'sdc-popover', standalone: true, imports: [ButtonModule], template: "<p-button\n [label]=\"label\"\n [icon]=\"icon\"\n [type]=\"type\"\n [loading]=\"loading\"\n [iconPos]=\"iconPos\"\n [disabled]=\"disabled\"\n [severity]=\"severity\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [link]=\"link\"\n [size]=\"size\"\n [badge]=\"badge\"\n [plain]=\"plain\"\n [text]=\"text\"\n [style]=\"style\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [styleClass]=\"styleClass\"\n [badgeClass]=\"badgeClass\"\n [loadingIcon]=\"loadingIcon\"\n (onClick)=\"onClick.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\" />\n" }]
574
+ }], ctorParameters: () => [] });
399
575
 
400
576
  class PopoverService {
401
577
  constructor() { }
402
- static ɵfac = function PopoverService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PopoverService)(); };
403
- static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PopoverService, factory: PopoverService.ɵfac, providedIn: 'root' });
578
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PopoverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
579
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PopoverService, providedIn: 'root' });
404
580
  }
405
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PopoverService, [{
406
- type: Injectable,
407
- args: [{
408
- providedIn: 'root',
409
- }]
410
- }], () => [], null); })();
581
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PopoverService, decorators: [{
582
+ type: Injectable,
583
+ args: [{
584
+ providedIn: 'root',
585
+ }]
586
+ }], ctorParameters: () => [] });
411
587
 
412
588
  /*
413
589
  * Public API Surface of software-division-components
@@ -417,33 +593,25 @@ class StepperComponent extends Button {
417
593
  constructor() {
418
594
  super();
419
595
  }
420
- static ɵfac = function StepperComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || StepperComponent)(); };
421
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: StepperComponent, selectors: [["sdc-stepper"]], standalone: true, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 1, vars: 21, consts: [[3, "onClick", "onFocus", "onBlur", "label", "icon", "type", "loading", "iconPos", "disabled", "severity", "rounded", "raised", "link", "size", "badge", "plain", "text", "outlined", "ariaLabel", "styleClass", "badgeClass", "loadingIcon"]], template: function StepperComponent_Template(rf, ctx) { if (rf & 1) {
422
- i0.ɵɵelementStart(0, "p-button", 0);
423
- i0.ɵɵlistener("onClick", function StepperComponent_Template_p_button_onClick_0_listener($event) { return ctx.onClick.emit($event); })("onFocus", function StepperComponent_Template_p_button_onFocus_0_listener($event) { return ctx.onFocus.emit($event); })("onBlur", function StepperComponent_Template_p_button_onBlur_0_listener($event) { return ctx.onBlur.emit($event); });
424
- i0.ɵɵelementEnd();
425
- } if (rf & 2) {
426
- i0.ɵɵstyleMap(ctx.style);
427
- i0.ɵɵproperty("label", ctx.label)("icon", ctx.icon)("type", ctx.type)("loading", ctx.loading)("iconPos", ctx.iconPos)("disabled", ctx.disabled)("severity", ctx.severity)("rounded", ctx.rounded)("raised", ctx.raised)("link", ctx.link)("size", ctx.size)("badge", ctx.badge)("plain", ctx.plain)("text", ctx.text)("outlined", ctx.outlined)("ariaLabel", ctx.ariaLabel)("styleClass", ctx.styleClass)("badgeClass", ctx.badgeClass)("loadingIcon", ctx.loadingIcon);
428
- } }, dependencies: [ButtonModule, i1$1.Button], encapsulation: 2 });
596
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StepperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
597
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: StepperComponent, isStandalone: true, selector: "sdc-stepper", usesInheritance: true, ngImport: i0, template: "<p-button\n [label]=\"label\"\n [icon]=\"icon\"\n [type]=\"type\"\n [loading]=\"loading\"\n [iconPos]=\"iconPos\"\n [disabled]=\"disabled\"\n [severity]=\"severity\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [link]=\"link\"\n [size]=\"size\"\n [badge]=\"badge\"\n [plain]=\"plain\"\n [text]=\"text\"\n [style]=\"style\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [styleClass]=\"styleClass\"\n [badgeClass]=\"badgeClass\"\n [loadingIcon]=\"loadingIcon\"\n (onClick)=\"onClick.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\" />\n", dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }] });
429
598
  }
430
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StepperComponent, [{
431
- type: Component,
432
- args: [{ selector: 'sdc-stepper', standalone: true, imports: [ButtonModule], template: "<p-button\n [label]=\"label\"\n [icon]=\"icon\"\n [type]=\"type\"\n [loading]=\"loading\"\n [iconPos]=\"iconPos\"\n [disabled]=\"disabled\"\n [severity]=\"severity\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [link]=\"link\"\n [size]=\"size\"\n [badge]=\"badge\"\n [plain]=\"plain\"\n [text]=\"text\"\n [style]=\"style\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [styleClass]=\"styleClass\"\n [badgeClass]=\"badgeClass\"\n [loadingIcon]=\"loadingIcon\"\n (onClick)=\"onClick.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\" />\n" }]
433
- }], () => [], null); })();
434
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(StepperComponent, { className: "StepperComponent", filePath: "dvm/stepper/stepper.component.ts", lineNumber: 10 }); })();
599
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StepperComponent, decorators: [{
600
+ type: Component,
601
+ args: [{ selector: 'sdc-stepper', standalone: true, imports: [ButtonModule], template: "<p-button\n [label]=\"label\"\n [icon]=\"icon\"\n [type]=\"type\"\n [loading]=\"loading\"\n [iconPos]=\"iconPos\"\n [disabled]=\"disabled\"\n [severity]=\"severity\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [link]=\"link\"\n [size]=\"size\"\n [badge]=\"badge\"\n [plain]=\"plain\"\n [text]=\"text\"\n [style]=\"style\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [styleClass]=\"styleClass\"\n [badgeClass]=\"badgeClass\"\n [loadingIcon]=\"loadingIcon\"\n (onClick)=\"onClick.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\" />\n" }]
602
+ }], ctorParameters: () => [] });
435
603
 
436
604
  class StepperService {
437
605
  constructor() { }
438
- static ɵfac = function StepperService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || StepperService)(); };
439
- static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: StepperService, factory: StepperService.ɵfac, providedIn: 'root' });
606
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StepperService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
607
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StepperService, providedIn: 'root' });
440
608
  }
441
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StepperService, [{
442
- type: Injectable,
443
- args: [{
444
- providedIn: 'root',
445
- }]
446
- }], () => [], null); })();
609
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StepperService, decorators: [{
610
+ type: Injectable,
611
+ args: [{
612
+ providedIn: 'root',
613
+ }]
614
+ }], ctorParameters: () => [] });
447
615
 
448
616
  /*
449
617
  * Public API Surface of software-division-components
@@ -453,42 +621,39 @@ class TicketInfoItemComponent extends Button {
453
621
  constructor() {
454
622
  super();
455
623
  }
456
- static ɵfac = function TicketInfoItemComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TicketInfoItemComponent)(); };
457
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TicketInfoItemComponent, selectors: [["sdc-ticket-info-item"]], standalone: true, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 1, vars: 21, consts: [[3, "onClick", "onFocus", "onBlur", "label", "icon", "type", "loading", "iconPos", "disabled", "severity", "rounded", "raised", "link", "size", "badge", "plain", "text", "outlined", "ariaLabel", "styleClass", "badgeClass", "loadingIcon"]], template: function TicketInfoItemComponent_Template(rf, ctx) { if (rf & 1) {
458
- i0.ɵɵelementStart(0, "p-button", 0);
459
- i0.ɵɵlistener("onClick", function TicketInfoItemComponent_Template_p_button_onClick_0_listener($event) { return ctx.onClick.emit($event); })("onFocus", function TicketInfoItemComponent_Template_p_button_onFocus_0_listener($event) { return ctx.onFocus.emit($event); })("onBlur", function TicketInfoItemComponent_Template_p_button_onBlur_0_listener($event) { return ctx.onBlur.emit($event); });
460
- i0.ɵɵelementEnd();
461
- } if (rf & 2) {
462
- i0.ɵɵstyleMap(ctx.style);
463
- i0.ɵɵproperty("label", ctx.label)("icon", ctx.icon)("type", ctx.type)("loading", ctx.loading)("iconPos", ctx.iconPos)("disabled", ctx.disabled)("severity", ctx.severity)("rounded", ctx.rounded)("raised", ctx.raised)("link", ctx.link)("size", ctx.size)("badge", ctx.badge)("plain", ctx.plain)("text", ctx.text)("outlined", ctx.outlined)("ariaLabel", ctx.ariaLabel)("styleClass", ctx.styleClass)("badgeClass", ctx.badgeClass)("loadingIcon", ctx.loadingIcon);
464
- } }, dependencies: [ButtonModule, i1$1.Button], encapsulation: 2 });
624
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TicketInfoItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
625
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TicketInfoItemComponent, isStandalone: true, selector: "sdc-ticket-info-item", usesInheritance: true, ngImport: i0, template: "<p-button\n [label]=\"label\"\n [icon]=\"icon\"\n [type]=\"type\"\n [loading]=\"loading\"\n [iconPos]=\"iconPos\"\n [disabled]=\"disabled\"\n [severity]=\"severity\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [link]=\"link\"\n [size]=\"size\"\n [badge]=\"badge\"\n [plain]=\"plain\"\n [text]=\"text\"\n [style]=\"style\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [styleClass]=\"styleClass\"\n [badgeClass]=\"badgeClass\"\n [loadingIcon]=\"loadingIcon\"\n (onClick)=\"onClick.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\" />\n", dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }] });
465
626
  }
466
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TicketInfoItemComponent, [{
467
- type: Component,
468
- args: [{ selector: 'sdc-ticket-info-item', standalone: true, imports: [ButtonModule], template: "<p-button\n [label]=\"label\"\n [icon]=\"icon\"\n [type]=\"type\"\n [loading]=\"loading\"\n [iconPos]=\"iconPos\"\n [disabled]=\"disabled\"\n [severity]=\"severity\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [link]=\"link\"\n [size]=\"size\"\n [badge]=\"badge\"\n [plain]=\"plain\"\n [text]=\"text\"\n [style]=\"style\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [styleClass]=\"styleClass\"\n [badgeClass]=\"badgeClass\"\n [loadingIcon]=\"loadingIcon\"\n (onClick)=\"onClick.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\" />\n" }]
469
- }], () => [], null); })();
470
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TicketInfoItemComponent, { className: "TicketInfoItemComponent", filePath: "dvm/ticket-info-item/ticket-info-item.component.ts", lineNumber: 10 }); })();
627
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TicketInfoItemComponent, decorators: [{
628
+ type: Component,
629
+ args: [{ selector: 'sdc-ticket-info-item', standalone: true, imports: [ButtonModule], template: "<p-button\n [label]=\"label\"\n [icon]=\"icon\"\n [type]=\"type\"\n [loading]=\"loading\"\n [iconPos]=\"iconPos\"\n [disabled]=\"disabled\"\n [severity]=\"severity\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [link]=\"link\"\n [size]=\"size\"\n [badge]=\"badge\"\n [plain]=\"plain\"\n [text]=\"text\"\n [style]=\"style\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [styleClass]=\"styleClass\"\n [badgeClass]=\"badgeClass\"\n [loadingIcon]=\"loadingIcon\"\n (onClick)=\"onClick.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\" />\n" }]
630
+ }], ctorParameters: () => [] });
471
631
 
472
632
  class TicketInfoItemService {
473
633
  constructor() { }
474
- static ɵfac = function TicketInfoItemService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TicketInfoItemService)(); };
475
- static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TicketInfoItemService, factory: TicketInfoItemService.ɵfac, providedIn: 'root' });
634
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TicketInfoItemService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
635
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TicketInfoItemService, providedIn: 'root' });
476
636
  }
477
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TicketInfoItemService, [{
478
- type: Injectable,
479
- args: [{
480
- providedIn: 'root',
481
- }]
482
- }], () => [], null); })();
637
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TicketInfoItemService, decorators: [{
638
+ type: Injectable,
639
+ args: [{
640
+ providedIn: 'root',
641
+ }]
642
+ }], ctorParameters: () => [] });
483
643
 
484
644
  /*
485
645
  * Public API Surface of software-division-components
486
646
  */
487
647
 
488
648
  const NG_SD_COMPONENTS_CONFIG = new InjectionToken('NgSdComponentsConfig');
489
- function provideSdComponentsTheme(config) {
490
- return [{ provide: NG_SD_COMPONENTS_CONFIG, useValue: config }];
491
- }
649
+
650
+ const GenericTheme = definePreset(Aura, {
651
+ components: {
652
+ button: {
653
+ borderRadius: '9999px',
654
+ },
655
+ },
656
+ });
492
657
 
493
658
  class ThemeProviderDirective {
494
659
  configuration;
@@ -499,50 +664,64 @@ class ThemeProviderDirective {
499
664
  this.theme = this.configuration.theme;
500
665
  this.class = `theme-${this.theme}`;
501
666
  }
502
- static ɵfac = function ThemeProviderDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ThemeProviderDirective)(i0.ɵɵdirectiveInject(NG_SD_COMPONENTS_CONFIG)); };
503
- static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ThemeProviderDirective, selectors: [["", "themeProvider", ""]], hostVars: 2, hostBindings: function ThemeProviderDirective_HostBindings(rf, ctx) { if (rf & 2) {
504
- i0.ɵɵclassMap(ctx.class);
505
- } }, standalone: true });
667
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThemeProviderDirective, deps: [{ token: NG_SD_COMPONENTS_CONFIG }], target: i0.ɵɵFactoryTarget.Directive });
668
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ThemeProviderDirective, isStandalone: true, selector: "[themeProvider]", host: { properties: { "class": "this.class" } }, ngImport: i0 });
506
669
  }
507
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ThemeProviderDirective, [{
508
- type: Directive,
509
- args: [{
510
- standalone: true,
511
- selector: '[themeProvider]',
512
- }]
513
- }], () => [{ type: undefined, decorators: [{
514
- type: Inject,
515
- args: [NG_SD_COMPONENTS_CONFIG]
516
- }] }], { class: [{
517
- type: HostBinding,
518
- args: ['class']
519
- }] }); })();
670
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThemeProviderDirective, decorators: [{
671
+ type: Directive,
672
+ args: [{
673
+ standalone: true,
674
+ selector: '[themeProvider]',
675
+ }]
676
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
677
+ type: Inject,
678
+ args: [NG_SD_COMPONENTS_CONFIG]
679
+ }] }], propDecorators: { class: [{
680
+ type: HostBinding,
681
+ args: ['class']
682
+ }] } });
520
683
 
521
- function validateCssClass(value, componentName) {
522
- const regex = /^([a-zA-Z][a-zA-Z0-9-_]*)(\s[a-zA-Z][a-zA-Z0-9-_]*)*$/;
523
- if (!regex.test(value)) {
524
- throw new Error(`Invalid CSS class string passed as input to "styleClasses" input, found on ${componentName}.
525
- Please make sure your input is a valid CSS class or a list of whitespace-separated classes.
526
- The value provided was: ${value}`);
527
- }
528
- }
529
- function validateStylesForComponent(componentName) {
530
- return (value) => {
531
- validateCssClass(value, componentName);
532
- return value;
533
- };
684
+ /**
685
+ * Provides all necessary dependencies for the library:
686
+ * - PrimeNG them
687
+ * - Angular Pipes (`DatePipe`, `CurrencyPipe`)
688
+ * - Animations
689
+ * - CommonModule
690
+ */
691
+ function provideSdc(config) {
692
+ const preset = config?.theme === 'generic' ? GenericTheme : Aura;
693
+ // if config.theme is generic, pass a theme, otherwise, pass another theme
694
+ const providers = [
695
+ DatePipe,
696
+ CurrencyPipe,
697
+ { provide: NG_SD_COMPONENTS_CONFIG, useValue: config ?? 'generic' },
698
+ provideAnimationsAsync(),
699
+ providePrimeNG({
700
+ theme: {
701
+ preset,
702
+ options: {
703
+ cssLayer: {
704
+ name: 'primeng',
705
+ order: 'tailwind-utilities, tailwind-base, primeng, sdc-styles',
706
+ },
707
+ },
708
+ },
709
+ }),
710
+ ];
711
+ return [...providers];
534
712
  }
535
713
 
536
- const _c0 = (a0, a1) => [a0, a1];
537
714
  /**
538
715
  * A customizable button component built on PrimeNG's Button component.
539
716
  *
540
717
  * This component supports various configurations, such as tooltips, badge values,
541
718
  * and theme styles. It uses the `ThemeProviderDirective` to apply theming dynamically.
542
719
  *
543
- * @class ButtonComponent
720
+ * @since 1.0.0-alpha.1
721
+ * @updated 1.0.0-alpha.2
544
722
  */
545
723
  class ButtonComponent extends Button {
724
+ props = input();
546
725
  /**
547
726
  * Tooltip text for the button.
548
727
  */
@@ -550,7 +729,7 @@ class ButtonComponent extends Button {
550
729
  /**
551
730
  * Tooltip position relative to the button.
552
731
  */
553
- tooltipPos = input('bottom');
732
+ tooltipPos = input();
554
733
  /**
555
734
  * Value displayed as a badge on the button.
556
735
  */
@@ -589,9 +768,9 @@ class ButtonComponent extends Button {
589
768
  * @param event - The click event triggered by the user.
590
769
  */
591
770
  handleClick(event) {
771
+ this.onClick.emit(event);
592
772
  if (this.isDebounced || this.debounceTimeInMs() <= 0)
593
773
  return;
594
- this.onClick.emit(event);
595
774
  this.disabled = true;
596
775
  this.isDebounced = true;
597
776
  setTimeout(() => {
@@ -599,21 +778,13 @@ class ButtonComponent extends Button {
599
778
  this.isDebounced = false;
600
779
  }, this.debounceTimeInMs());
601
780
  }
602
- static ɵfac = function ButtonComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ButtonComponent)(); };
603
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ButtonComponent, selectors: [["sdc-button"]], inputs: { tooltip: [1, "tooltip"], tooltipPos: [1, "tooltipPos"], badgeValue: [1, "badgeValue"], debounceTimeInMs: [1, "debounceTimeInMs"], styleClasses: [1, "styleClasses"] }, standalone: true, features: [i0.ɵɵProvidersFeature([ButtonStyle]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 1, vars: 20, consts: [["pButton", "", "themeProvider", "", 3, "click", "blur", "text", "size", "type", "icon", "label", "plain", "fluid", "loading", "rounded", "pTooltip", "severity", "outlined", "ariaLabel", "autofocus", "loadingIcon", "tooltipPosition", "ngClass"]], template: function ButtonComponent_Template(rf, ctx) { if (rf & 1) {
604
- i0.ɵɵelementStart(0, "button", 0);
605
- i0.ɵɵlistener("click", function ButtonComponent_Template_button_click_0_listener($event) { return ctx.handleClick($event); })("blur", function ButtonComponent_Template_button_blur_0_listener($event) { return ctx.onBlur.emit($event); });
606
- i0.ɵɵelementEnd();
607
- } if (rf & 2) {
608
- let tmp_1_0;
609
- i0.ɵɵproperty("text", ctx.text)("size", (tmp_1_0 = ctx.size) !== null && tmp_1_0 !== undefined ? tmp_1_0 : null)("type", ctx.type)("icon", ctx.icon)("label", ctx.label)("plain", ctx.plain)("fluid", ctx.fluid)("loading", ctx.loading)("rounded", ctx.rounded)("pTooltip", ctx.tooltip())("severity", ctx.severity)("outlined", ctx.outlined)("ariaLabel", ctx.ariaLabel)("autofocus", ctx.autofocus)("loadingIcon", ctx.loadingIcon)("tooltipPosition", ctx.tooltipPos())("ngClass", i0.ɵɵpureFunction2(17, _c0, ctx.themeClass, ctx.styleClasses()));
610
- } }, dependencies: [CommonModule, i1$2.NgClass, ButtonModule, i1$1.ButtonDirective, TooltipModule, i3$1.Tooltip, RippleModule, ThemeProviderDirective], styles: ["[_ngcontent-%COMP%]:root{--p-button-primary-color: white !important;--p-button-primary-contrast-color: white !important;--p-button-primary-hover-color: white !important}[_ngcontent-%COMP%]:root .theme-generic[_ngcontent-%COMP%]{--p-button-border-radius: 9999px}"] });
781
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
782
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: ButtonComponent, isStandalone: true, selector: "sdc-button", inputs: { props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, tooltipPos: { classPropertyName: "tooltipPos", publicName: "tooltipPos", isSignal: true, isRequired: false, transformFunction: null }, badgeValue: { classPropertyName: "badgeValue", publicName: "badgeValue", isSignal: true, isRequired: false, transformFunction: null }, debounceTimeInMs: { classPropertyName: "debounceTimeInMs", publicName: "debounceTimeInMs", isSignal: true, isRequired: false, transformFunction: null }, styleClasses: { classPropertyName: "styleClasses", publicName: "styleClasses", isSignal: true, isRequired: false, transformFunction: null } }, providers: [ButtonStyle, Button, TooltipStyle], usesInheritance: true, ngImport: i0, template: "<button\n pButton\n themeProvider\n id=\"sdc-button\"\n [buttonProps]=\"props()\"\n [dt]=\"dt\"\n [ngClass]=\"[themeClass, styleClasses()]\"\n [text]=\"text\"\n [label]=\"label\"\n [icon]=\"icon\"\n [iconPos]=\"iconPos\"\n [type]=\"type\"\n [plain]=\"plain\"\n [fluid]=\"fluid\"\n [loading]=\"loading\"\n [rounded]=\"rounded\"\n [severity]=\"severity\"\n [outlined]=\"outlined\"\n [disabled]=\"disabled\"\n [size]=\"size ?? null\"\n [pTooltip]=\"tooltip?.()\"\n [autofocus]=\"autofocus\"\n [loadingIcon]=\"loadingIcon\"\n [tooltipPosition]=\"tooltipPos?.() ?? 'bottom'\"\n (click)=\"handleClick($event)\"\n (blur)=\"this.onBlur.emit($event)\">\n <ng-content></ng-content>\n</button>\n", styles: [":root{--p-button-primary-color: white !important;--p-button-primary-contrast-color: white !important;--p-button-primary-hover-color: white !important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i1$2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3$1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: ThemeProviderDirective, selector: "[themeProvider]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
611
783
  }
612
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ButtonComponent, [{
613
- type: Component,
614
- args: [{ standalone: true, selector: 'sdc-button', providers: [ButtonStyle], imports: [CommonModule, ButtonModule, TooltipModule, RippleModule, ThemeProviderDirective], template: "<button\n pButton\n themeProvider\n [text]=\"text\"\n [size]=\"size ?? null\"\n [type]=\"type\"\n [icon]=\"icon!\"\n [label]=\"label!\"\n [plain]=\"plain\"\n [fluid]=\"fluid\"\n [loading]=\"loading\"\n [rounded]=\"rounded\"\n [pTooltip]=\"tooltip()\"\n [severity]=\"severity\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [autofocus]=\"autofocus\"\n [loadingIcon]=\"loadingIcon\"\n [tooltipPosition]=\"tooltipPos()\"\n [ngClass]=\"[themeClass, styleClasses()]\"\n (click)=\"handleClick($event)\"\n (blur)=\"this.onBlur.emit($event)\"></button>\n", styles: [":root{--p-button-primary-color: white !important;--p-button-primary-contrast-color: white !important;--p-button-primary-hover-color: white !important}:root .theme-generic{--p-button-border-radius: 9999px}\n"] }]
615
- }], () => [], null); })();
616
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ButtonComponent, { className: "ButtonComponent", filePath: "generic/button/button.component.ts", lineNumber: 25 }); })();
784
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonComponent, decorators: [{
785
+ type: Component,
786
+ args: [{ standalone: true, selector: 'sdc-button', providers: [ButtonStyle, Button, TooltipStyle], imports: [CommonModule, ButtonModule, TooltipModule, RippleModule, ThemeProviderDirective], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<button\n pButton\n themeProvider\n id=\"sdc-button\"\n [buttonProps]=\"props()\"\n [dt]=\"dt\"\n [ngClass]=\"[themeClass, styleClasses()]\"\n [text]=\"text\"\n [label]=\"label\"\n [icon]=\"icon\"\n [iconPos]=\"iconPos\"\n [type]=\"type\"\n [plain]=\"plain\"\n [fluid]=\"fluid\"\n [loading]=\"loading\"\n [rounded]=\"rounded\"\n [severity]=\"severity\"\n [outlined]=\"outlined\"\n [disabled]=\"disabled\"\n [size]=\"size ?? null\"\n [pTooltip]=\"tooltip?.()\"\n [autofocus]=\"autofocus\"\n [loadingIcon]=\"loadingIcon\"\n [tooltipPosition]=\"tooltipPos?.() ?? 'bottom'\"\n (click)=\"handleClick($event)\"\n (blur)=\"this.onBlur.emit($event)\">\n <ng-content></ng-content>\n</button>\n", styles: [":root{--p-button-primary-color: white !important;--p-button-primary-contrast-color: white !important;--p-button-primary-hover-color: white !important}\n"] }]
787
+ }], ctorParameters: () => [] });
617
788
 
618
789
  /*
619
790
  * Public API Surface of software-division-components
@@ -623,33 +794,25 @@ class DrawerComponent extends Button {
623
794
  constructor() {
624
795
  super();
625
796
  }
626
- static ɵfac = function DrawerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DrawerComponent)(); };
627
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawerComponent, selectors: [["sdc-drawer"]], standalone: true, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 1, vars: 21, consts: [[3, "onClick", "onFocus", "onBlur", "label", "icon", "type", "loading", "iconPos", "disabled", "severity", "rounded", "raised", "link", "size", "badge", "plain", "text", "outlined", "ariaLabel", "styleClass", "badgeClass", "loadingIcon"]], template: function DrawerComponent_Template(rf, ctx) { if (rf & 1) {
628
- i0.ɵɵelementStart(0, "p-button", 0);
629
- i0.ɵɵlistener("onClick", function DrawerComponent_Template_p_button_onClick_0_listener($event) { return ctx.onClick.emit($event); })("onFocus", function DrawerComponent_Template_p_button_onFocus_0_listener($event) { return ctx.onFocus.emit($event); })("onBlur", function DrawerComponent_Template_p_button_onBlur_0_listener($event) { return ctx.onBlur.emit($event); });
630
- i0.ɵɵelementEnd();
631
- } if (rf & 2) {
632
- i0.ɵɵstyleMap(ctx.style);
633
- i0.ɵɵproperty("label", ctx.label)("icon", ctx.icon)("type", ctx.type)("loading", ctx.loading)("iconPos", ctx.iconPos)("disabled", ctx.disabled)("severity", ctx.severity)("rounded", ctx.rounded)("raised", ctx.raised)("link", ctx.link)("size", ctx.size)("badge", ctx.badge)("plain", ctx.plain)("text", ctx.text)("outlined", ctx.outlined)("ariaLabel", ctx.ariaLabel)("styleClass", ctx.styleClass)("badgeClass", ctx.badgeClass)("loadingIcon", ctx.loadingIcon);
634
- } }, dependencies: [ButtonModule, i1$1.Button], encapsulation: 2 });
797
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
798
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DrawerComponent, isStandalone: true, selector: "sdc-drawer", usesInheritance: true, ngImport: i0, template: "<p-button\n [label]=\"label\"\n [icon]=\"icon\"\n [type]=\"type\"\n [loading]=\"loading\"\n [iconPos]=\"iconPos\"\n [disabled]=\"disabled\"\n [severity]=\"severity\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [link]=\"link\"\n [size]=\"size\"\n [badge]=\"badge\"\n [plain]=\"plain\"\n [text]=\"text\"\n [style]=\"style\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [styleClass]=\"styleClass\"\n [badgeClass]=\"badgeClass\"\n [loadingIcon]=\"loadingIcon\"\n (onClick)=\"onClick.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\" />\n", dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }] });
635
799
  }
636
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrawerComponent, [{
637
- type: Component,
638
- args: [{ selector: 'sdc-drawer', standalone: true, imports: [ButtonModule], template: "<p-button\n [label]=\"label\"\n [icon]=\"icon\"\n [type]=\"type\"\n [loading]=\"loading\"\n [iconPos]=\"iconPos\"\n [disabled]=\"disabled\"\n [severity]=\"severity\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [link]=\"link\"\n [size]=\"size\"\n [badge]=\"badge\"\n [plain]=\"plain\"\n [text]=\"text\"\n [style]=\"style\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [styleClass]=\"styleClass\"\n [badgeClass]=\"badgeClass\"\n [loadingIcon]=\"loadingIcon\"\n (onClick)=\"onClick.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\" />\n" }]
639
- }], () => [], null); })();
640
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DrawerComponent, { className: "DrawerComponent", filePath: "generic/drawer/drawer.component.ts", lineNumber: 10 }); })();
800
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DrawerComponent, decorators: [{
801
+ type: Component,
802
+ args: [{ selector: 'sdc-drawer', standalone: true, imports: [ButtonModule], template: "<p-button\n [label]=\"label\"\n [icon]=\"icon\"\n [type]=\"type\"\n [loading]=\"loading\"\n [iconPos]=\"iconPos\"\n [disabled]=\"disabled\"\n [severity]=\"severity\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [link]=\"link\"\n [size]=\"size\"\n [badge]=\"badge\"\n [plain]=\"plain\"\n [text]=\"text\"\n [style]=\"style\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [styleClass]=\"styleClass\"\n [badgeClass]=\"badgeClass\"\n [loadingIcon]=\"loadingIcon\"\n (onClick)=\"onClick.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\" />\n" }]
803
+ }], ctorParameters: () => [] });
641
804
 
642
805
  class DrawerService {
643
806
  constructor() { }
644
- static ɵfac = function DrawerService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DrawerService)(); };
645
- static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: DrawerService, factory: DrawerService.ɵfac, providedIn: 'root' });
807
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DrawerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
808
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DrawerService, providedIn: 'root' });
646
809
  }
647
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrawerService, [{
648
- type: Injectable,
649
- args: [{
650
- providedIn: 'root',
651
- }]
652
- }], () => [], null); })();
810
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DrawerService, decorators: [{
811
+ type: Injectable,
812
+ args: [{
813
+ providedIn: 'root',
814
+ }]
815
+ }], ctorParameters: () => [] });
653
816
 
654
817
  /*
655
818
  * Public API Surface of software-division-components
@@ -659,41 +822,36 @@ class ModalComponent extends Button {
659
822
  constructor() {
660
823
  super();
661
824
  }
662
- static ɵfac = function ModalComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ModalComponent)(); };
663
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ModalComponent, selectors: [["sdc-drawer"]], standalone: true, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 1, vars: 21, consts: [[3, "onClick", "onFocus", "onBlur", "label", "icon", "type", "loading", "iconPos", "disabled", "severity", "rounded", "raised", "link", "size", "badge", "plain", "text", "outlined", "ariaLabel", "styleClass", "badgeClass", "loadingIcon"]], template: function ModalComponent_Template(rf, ctx) { if (rf & 1) {
664
- i0.ɵɵelementStart(0, "p-button", 0);
665
- i0.ɵɵlistener("onClick", function ModalComponent_Template_p_button_onClick_0_listener($event) { return ctx.onClick.emit($event); })("onFocus", function ModalComponent_Template_p_button_onFocus_0_listener($event) { return ctx.onFocus.emit($event); })("onBlur", function ModalComponent_Template_p_button_onBlur_0_listener($event) { return ctx.onBlur.emit($event); });
666
- i0.ɵɵelementEnd();
667
- } if (rf & 2) {
668
- i0.ɵɵstyleMap(ctx.style);
669
- i0.ɵɵproperty("label", ctx.label)("icon", ctx.icon)("type", ctx.type)("loading", ctx.loading)("iconPos", ctx.iconPos)("disabled", ctx.disabled)("severity", ctx.severity)("rounded", ctx.rounded)("raised", ctx.raised)("link", ctx.link)("size", ctx.size)("badge", ctx.badge)("plain", ctx.plain)("text", ctx.text)("outlined", ctx.outlined)("ariaLabel", ctx.ariaLabel)("styleClass", ctx.styleClass)("badgeClass", ctx.badgeClass)("loadingIcon", ctx.loadingIcon);
670
- } }, dependencies: [ButtonModule, i1$1.Button], encapsulation: 2 });
825
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
826
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ModalComponent, isStandalone: true, selector: "sdc-drawer", usesInheritance: true, ngImport: i0, template: "<p-button\n [label]=\"label\"\n [icon]=\"icon\"\n [type]=\"type\"\n [loading]=\"loading\"\n [iconPos]=\"iconPos\"\n [disabled]=\"disabled\"\n [severity]=\"severity\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [link]=\"link\"\n [size]=\"size\"\n [badge]=\"badge\"\n [plain]=\"plain\"\n [text]=\"text\"\n [style]=\"style\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [styleClass]=\"styleClass\"\n [badgeClass]=\"badgeClass\"\n [loadingIcon]=\"loadingIcon\"\n (onClick)=\"onClick.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\" />\n", dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }] });
671
827
  }
672
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ModalComponent, [{
673
- type: Component,
674
- args: [{ selector: 'sdc-drawer', standalone: true, imports: [ButtonModule], template: "<p-button\n [label]=\"label\"\n [icon]=\"icon\"\n [type]=\"type\"\n [loading]=\"loading\"\n [iconPos]=\"iconPos\"\n [disabled]=\"disabled\"\n [severity]=\"severity\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [link]=\"link\"\n [size]=\"size\"\n [badge]=\"badge\"\n [plain]=\"plain\"\n [text]=\"text\"\n [style]=\"style\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [styleClass]=\"styleClass\"\n [badgeClass]=\"badgeClass\"\n [loadingIcon]=\"loadingIcon\"\n (onClick)=\"onClick.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\" />\n" }]
675
- }], () => [], null); })();
676
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ModalComponent, { className: "ModalComponent", filePath: "generic/modal/modal.component.ts", lineNumber: 10 }); })();
828
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalComponent, decorators: [{
829
+ type: Component,
830
+ args: [{ selector: 'sdc-drawer', standalone: true, imports: [ButtonModule], template: "<p-button\n [label]=\"label\"\n [icon]=\"icon\"\n [type]=\"type\"\n [loading]=\"loading\"\n [iconPos]=\"iconPos\"\n [disabled]=\"disabled\"\n [severity]=\"severity\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [link]=\"link\"\n [size]=\"size\"\n [badge]=\"badge\"\n [plain]=\"plain\"\n [text]=\"text\"\n [style]=\"style\"\n [outlined]=\"outlined\"\n [ariaLabel]=\"ariaLabel\"\n [styleClass]=\"styleClass\"\n [badgeClass]=\"badgeClass\"\n [loadingIcon]=\"loadingIcon\"\n (onClick)=\"onClick.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onBlur)=\"onBlur.emit($event)\" />\n" }]
831
+ }], ctorParameters: () => [] });
677
832
 
678
833
  class ModalService {
679
834
  constructor() { }
680
- static ɵfac = function ModalService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ModalService)(); };
681
- static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ModalService, factory: ModalService.ɵfac, providedIn: 'root' });
835
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
836
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalService, providedIn: 'root' });
682
837
  }
683
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ModalService, [{
684
- type: Injectable,
685
- args: [{
686
- providedIn: 'root',
687
- }]
688
- }], () => [], null); })();
838
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalService, decorators: [{
839
+ type: Injectable,
840
+ args: [{
841
+ providedIn: 'root',
842
+ }]
843
+ }], ctorParameters: () => [] });
689
844
 
690
845
  /*
691
846
  * Public API Surface of software-division-components
692
847
  */
693
848
 
849
+ // NOTE: This will determine what is publicly available from within the library to application consumers
850
+ // Be careful with what you expose
851
+
694
852
  /**
695
853
  * Generated bundle index. Do not edit.
696
854
  */
697
855
 
698
- export { ButtonComponent, CartComponent, CartItemComponent, CartItemService, CartService, DrawerComponent, DrawerService, LegendComponent, LegendService, LoaderComponent, LoaderService, ModalComponent, ModalService, PopoverComponent, PopoverService, StepperComponent, StepperService, TableComponent, TableService, TicketInfoItemComponent, TicketInfoItemService, provideSdComponentsTheme, tableFactory };
856
+ export { ButtonComponent, CartComponent, CartItemComponent, CartItemService, CartService, DrawerComponent, DrawerService, LegendComponent, LegendService, LoaderComponent, LoaderService, ModalComponent, ModalService, NeighboursComponent, PopoverComponent, PopoverService, StepperComponent, StepperService, TableComponent, TableService, TicketInfoItemComponent, TicketInfoItemService, provideSdc };
699
857
  //# sourceMappingURL=3ddv-software-division-components.mjs.map