@3ddv/software-division-components 1.0.0-alpha.3.37 → 1.0.0-alpha.3.38
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.
- package/dvm/neighbours/neighbours.component.d.ts +8 -1
- package/dvm/neighbours/neighbours.component.d.ts.map +1 -1
- package/esm2022/dvm/neighbours/neighbours.component.mjs +33 -24
- package/fesm2022/3ddv-software-division-components.mjs +32 -23
- package/fesm2022/3ddv-software-division-components.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DirectionObjectKeys, NeighboursStyleClasses } from './types';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
/**
|
|
4
|
-
* Component used to
|
|
4
|
+
* Component used to navigate between neighbouring sections.
|
|
5
5
|
*
|
|
6
6
|
* It determines the next and previous available sections based on predefined mappings
|
|
7
7
|
* and emits navigation events when users attempt to move between them.
|
|
@@ -110,6 +110,13 @@ export declare class NeighboursComponent {
|
|
|
110
110
|
* @param [currentSection] - The current section ID (optional).
|
|
111
111
|
* @throws If navigation is restricted and sectionsAvailability is not provided.
|
|
112
112
|
*/
|
|
113
|
+
private findAndSetAvailableSection;
|
|
114
|
+
/**
|
|
115
|
+
* Sets the previous or next section values to the passed value
|
|
116
|
+
*
|
|
117
|
+
* @param type - The navigation direction.
|
|
118
|
+
* @param value - Value to set to either previous or next available section
|
|
119
|
+
*/
|
|
113
120
|
private setAvailableSection;
|
|
114
121
|
static ɵfac: i0.ɵɵFactoryDeclaration<NeighboursComponent, never>;
|
|
115
122
|
static ɵcmp: i0.ɵɵComponentDeclaration<NeighboursComponent, "sdc-neighbours", never, { "currentSection": { "alias": "currentSection"; "required": true; "isSignal": true; }; "sectionsMmcToTdc": { "alias": "sectionsMmcToTdc"; "required": true; "isSignal": true; }; "sectionsTdcToMmc": { "alias": "sectionsTdcToMmc"; "required": true; "isSignal": true; }; "neigboursData": { "alias": "neigboursData"; "required": true; "isSignal": true; }; "nextIcon": { "alias": "nextIcon"; "required": false; "isSignal": true; }; "previousIcon": { "alias": "previousIcon"; "required": false; "isSignal": true; }; "onlyNavigateToAvailable": { "alias": "onlyNavigateToAvailable"; "required": false; "isSignal": true; }; "sectionsAvailability": { "alias": "sectionsAvailability"; "required": false; "isSignal": true; }; "styleClasses": { "alias": "styleClasses"; "required": false; "isSignal": true; }; }, { "sectionToNavigate": "sectionToNavigate"; }, never, never, true, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"neighbours.component.d.ts","sourceRoot":"","sources":["../../../projects/software-division-components/src/dvm/neighbours/neighbours.component.ts"],"names":[],"mappings":"AAIA,OAAO,EAAa,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;;AACjF;;;;;;;;GAQG;AACH,qBAQa,mBAAmB;IAC9B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,eAAe;;;;;;;;;;;;;;MAAoB;IAEtD;;OAEG;IACI,cAAc,8CAA4B;IAEjD;;OAEG;IACI,gBAAgB,8DAA8C;IAErE;;OAEG;IACI,gBAAgB,8DAA8C;IAErE;;OAEG;IACI,aAAa,2FAA2E;IAE/F;;OAEG;IACI,QAAQ,8CAAqB;IAEpC;;OAEG;IACI,YAAY,8CAAqB;IAExC;;;;OAIG;IACI,uBAAuB,2DAAoB;IAElD;;;OAGG;IACI,oBAAoB,2DAAkC;IAE7D;;OAEG;IACI,YAAY,mGAKjB;IAEF;;OAEG;IACI,iBAAiB,mDAAoB;IAE5C;;OAEG;IACH,SAAS,CAAC,0BAA0B,wDAA+B;IAEnE;;OAEG;IACH,SAAS,CAAC,sBAAsB,wDAA+B;IAE/D;;OAEG;IACH,OAAO,CAAC,kBAAkB,CAAmB;IAE7C;;OAEG;IACH,OAAO,CAAC,cAAc,CAG6B;IAEnD;;OAEG;IACH,OAAO,CAAC,UAAU,CAGP;;IAYX;;;;OAIG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAUpC;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;
|
|
1
|
+
{"version":3,"file":"neighbours.component.d.ts","sourceRoot":"","sources":["../../../projects/software-division-components/src/dvm/neighbours/neighbours.component.ts"],"names":[],"mappings":"AAIA,OAAO,EAAa,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;;AACjF;;;;;;;;GAQG;AACH,qBAQa,mBAAmB;IAC9B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,eAAe;;;;;;;;;;;;;;MAAoB;IAEtD;;OAEG;IACI,cAAc,8CAA4B;IAEjD;;OAEG;IACI,gBAAgB,8DAA8C;IAErE;;OAEG;IACI,gBAAgB,8DAA8C;IAErE;;OAEG;IACI,aAAa,2FAA2E;IAE/F;;OAEG;IACI,QAAQ,8CAAqB;IAEpC;;OAEG;IACI,YAAY,8CAAqB;IAExC;;;;OAIG;IACI,uBAAuB,2DAAoB;IAElD;;;OAGG;IACI,oBAAoB,2DAAkC;IAE7D;;OAEG;IACI,YAAY,mGAKjB;IAEF;;OAEG;IACI,iBAAiB,mDAAoB;IAE5C;;OAEG;IACH,SAAS,CAAC,0BAA0B,wDAA+B;IAEnE;;OAEG;IACH,SAAS,CAAC,sBAAsB,wDAA+B;IAE/D;;OAEG;IACH,OAAO,CAAC,kBAAkB,CAAmB;IAE7C;;OAEG;IACH,OAAO,CAAC,cAAc,CAG6B;IAEnD;;OAEG;IACH,OAAO,CAAC,UAAU,CAGP;;IAYX;;;;OAIG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAUpC;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IAyClC;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;yCA1LhB,mBAAmB;2CAAnB,mBAAmB;CAkM/B"}
|
|
@@ -4,7 +4,7 @@ import { ButtonComponent } from '../../public-api';
|
|
|
4
4
|
import { sideButtonTokens } from './styles/side-button.tokens';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
/**
|
|
7
|
-
* Component used to
|
|
7
|
+
* Component used to navigate between neighbouring sections.
|
|
8
8
|
*
|
|
9
9
|
* It determines the next and previous available sections based on predefined mappings
|
|
10
10
|
* and emits navigation events when users attempt to move between them.
|
|
@@ -90,8 +90,8 @@ export class NeighboursComponent {
|
|
|
90
90
|
};
|
|
91
91
|
constructor() {
|
|
92
92
|
effect(() => {
|
|
93
|
-
this.
|
|
94
|
-
this.
|
|
93
|
+
this.findAndSetAvailableSection('prev', this.currentSection());
|
|
94
|
+
this.findAndSetAvailableSection('next', this.currentSection());
|
|
95
95
|
}, { allowSignalWrites: true });
|
|
96
96
|
}
|
|
97
97
|
/**
|
|
@@ -125,42 +125,51 @@ export class NeighboursComponent {
|
|
|
125
125
|
* @param [currentSection] - The current section ID (optional).
|
|
126
126
|
* @throws If navigation is restricted and sectionsAvailability is not provided.
|
|
127
127
|
*/
|
|
128
|
-
|
|
129
|
-
|
|
128
|
+
findAndSetAvailableSection(type, currentSection) {
|
|
129
|
+
// Get the equivalent of MMC ID since the neighbours data contains MMC ID
|
|
130
130
|
const currentSectionMmcId = this.sectionsTdcToMmc()[currentSection ?? this.currentSection()];
|
|
131
|
+
// Object that contains the neighbours of the current section
|
|
131
132
|
const neighborObject = this.neigboursData()[currentSectionMmcId];
|
|
132
|
-
|
|
133
|
+
// Get the neighbours from the neighbours object according to neighbour key
|
|
134
|
+
const neighborObjectKey = this.neighboursKeys[type];
|
|
135
|
+
const neighborSectionMmcId = neighborObject[neighborObjectKey];
|
|
136
|
+
// Get back the translation of the neighbour to TDC ID
|
|
133
137
|
const neighborSectionTdcId = this.sectionsMmcToTdc()[neighborSectionMmcId];
|
|
134
138
|
if (neighborSectionTdcId) {
|
|
139
|
+
// If we only navigate to available sections, check for availablibility.
|
|
135
140
|
if (this.onlyNavigateToAvailable()) {
|
|
136
141
|
if (this.sectionsAvailability()) {
|
|
137
142
|
const hasAvailability = !!this.sectionsAvailability()[neighborSectionTdcId];
|
|
143
|
+
// Set the section to null and stop the recursion if no availability.
|
|
138
144
|
if (!hasAvailability) {
|
|
139
|
-
return;
|
|
145
|
+
return this.setAvailableSection(type, null);
|
|
140
146
|
}
|
|
141
147
|
}
|
|
142
148
|
else {
|
|
143
149
|
throw new Error('To only navigate to available sections, it is required to pass the sections availability parameter.');
|
|
144
150
|
}
|
|
145
151
|
}
|
|
146
|
-
|
|
147
|
-
this.previousAvailableSectionId.set(neighborSectionTdcId);
|
|
148
|
-
}
|
|
149
|
-
if (type === 'next') {
|
|
150
|
-
this.nextAvailableSectionId.set(neighborSectionTdcId);
|
|
151
|
-
}
|
|
152
|
-
return;
|
|
152
|
+
return this.setAvailableSection(type, neighborSectionTdcId);
|
|
153
153
|
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
154
|
+
// If no section was found or the value of the section was None, set to null and stop the recursion
|
|
155
|
+
if (!neighborSectionMmcId || neighborSectionMmcId === this.NO_NEIGHBOUR_VALUE) {
|
|
156
|
+
return this.setAvailableSection(type, null);
|
|
157
|
+
}
|
|
158
|
+
return this.findAndSetAvailableSection(type, neighborSectionTdcId);
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Sets the previous or next section values to the passed value
|
|
162
|
+
*
|
|
163
|
+
* @param type - The navigation direction.
|
|
164
|
+
* @param value - Value to set to either previous or next available section
|
|
165
|
+
*/
|
|
166
|
+
setAvailableSection(type, value) {
|
|
167
|
+
if (type === 'prev') {
|
|
168
|
+
this.previousAvailableSectionId.set(value);
|
|
169
|
+
}
|
|
170
|
+
if (type === 'next') {
|
|
171
|
+
this.nextAvailableSectionId.set(value);
|
|
162
172
|
}
|
|
163
|
-
return this.setAvailableSection(type, neighborSectionTdcId);
|
|
164
173
|
}
|
|
165
174
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NeighboursComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
166
175
|
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--gap\">\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--gap{display:flex;column-gap:.5em}.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 });
|
|
@@ -169,4 +178,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
169
178
|
type: Component,
|
|
170
179
|
args: [{ standalone: true, selector: 'sdc-neighbours', imports: [ButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div id=\"sdc-neighbours\" class=\"wrapper__neighbours--gap\">\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--gap{display:flex;column-gap:.5em}.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"] }]
|
|
171
180
|
}], ctorParameters: () => [] });
|
|
172
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVpZ2hib3Vycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0d2FyZS1kaXZpc2lvbi1jb21wb25lbnRzL3NyYy9kdm0vbmVpZ2hib3Vycy9uZWlnaGJvdXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnR3YXJlLWRpdmlzaW9uLWNvbXBvbmVudHMvc3JjL2R2bS9uZWlnaGJvdXJzL25laWdoYm91cnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUUvRDs7Ozs7Ozs7R0FRRztBQVNILE1BQU0sT0FBTyxtQkFBbUI7SUFDOUI7O09BRUc7SUFDZ0IsZUFBZSxHQUFHLGdCQUFnQixDQUFDO0lBRXREOztPQUVHO0lBQ0ksY0FBYyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztJQUVqRDs7T0FFRztJQUNJLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxRQUFRLENBQXlCLEVBQUUsQ0FBQyxDQUFDO0lBRXJFOztPQUVHO0lBQ0ksZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBeUIsRUFBRSxDQUFDLENBQUM7SUFFckU7O09BRUc7SUFDSSxhQUFhLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBc0QsRUFBRSxDQUFDLENBQUM7SUFFL0Y7O09BRUc7SUFDSSxRQUFRLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBRXBDOztP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cG9uZW50LCBlZmZlY3QsIGlucHV0LCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdmFsaWRhdGVTdHlsZXNGb3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wcml2YXRlLWV4cG9ydHMnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcHVibGljLWFwaSc7XG5pbXBvcnQgeyBzaWRlQnV0dG9uVG9rZW5zIH0gZnJvbSAnLi9zdHlsZXMvc2lkZS1idXR0b24udG9rZW5zJztcbmltcG9ydCB7IERpcmVjdGlvbiwgRGlyZWN0aW9uT2JqZWN0S2V5cywgTmVpZ2hib3Vyc1N0eWxlQ2xhc3NlcyB9IGZyb20gJy4vdHlwZXMnO1xuLyoqXG4gKiBDb21wb25lbnQgdXNlZCB0byBuYXZpZ2F0aW5nIGJldHdlZW4gbmVpZ2hib3Jpbmcgc2VjdGlvbnMuXG4gKlxuICogSXQgZGV0ZXJtaW5lcyB0aGUgbmV4dCBhbmQgcHJldmlvdXMgYXZhaWxhYmxlIHNlY3Rpb25zIGJhc2VkIG9uIHByZWRlZmluZWQgbWFwcGluZ3NcbiAqIGFuZCBlbWl0cyBuYXZpZ2F0aW9uIGV2ZW50cyB3aGVuIHVzZXJzIGF0dGVtcHQgdG8gbW92ZSBiZXR3ZWVuIHRoZW0uXG4gKlxuICogQHNpbmNlIDEuMC4wLWFscGhhLjJcbiAqIEB1cGRhdGVkIDEuMC4wLWFscGhhLjJcbiAqL1xuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc2RjLW5laWdoYm91cnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vbmVpZ2hib3Vycy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9zdHlsZXMvbmVpZ2hib3Vycy5jb21wb25lbnQuY3NzJyxcbiAgaW1wb3J0czogW0J1dHRvbkNvbXBvbmVudF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOZWlnaGJvdXJzQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFByZWRlZmluZWQgc3R5bGVzIGZvciB0aGUgc2lkZSBidXR0b24uXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2lkZUJ1dHRvblN0eWxlID0gc2lkZUJ1dHRvblRva2VucztcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgc2VjdGlvbiBpZGVudGlmaWVyLlxuICAgKi9cbiAgcHVibGljIGN1cnJlbnRTZWN0aW9uID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBNYXBwaW5nIG9mIE1NQyBzZWN0aW9uIElEcyB0byBUREMgc2VjdGlvbiBJRHMuXG4gICAqL1xuICBwdWJsaWMgc2VjdGlvbnNNbWNUb1RkYyA9IGlucHV0LnJlcXVpcmVkPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+KHt9KTtcblxuICAvKipcbiAgICogTWFwcGluZyBvZiBUREMgc2VjdGlvbiBJRHMgdG8gTU1DIHNlY3Rpb24gSURzLlxuICAgKi9cbiAgcHVibGljIHNlY3Rpb25zVGRjVG9NbWMgPSBpbnB1dC5yZXF1aXJlZDxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+Pih7fSk7XG5cbiAgLyoqXG4gICAqIERhdGEgc3RydWN0dXJlIGRlZmluaW5nIG5laWdoYm9yaW5nIHJlbGF0aW9uc2hpcHMgYmV0d2VlbiBzZWN0aW9ucy5cbiAgICovXG4gIHB1YmxpYyBuZWlnYm91cnNEYXRhID0gaW5wdXQucmVxdWlyZWQ8UmVjb3JkPHN0cmluZywgUmVjb3JkPERpcmVjdGlvbk9iamVjdEtleXMsIHN0cmluZz4+Pih7fSk7XG5cbiAgLyoqXG4gICAqIEljb24gZm9yIHRoZSBuZXh0IG5hdmlnYXRpb24gYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIG5leHRJY29uID0gaW5wdXQ8c3RyaW5nPignJyk7XG5cbiAgLyoqXG4gICAqIEljb24gZm9yIHRoZSBwcmV2aW91cyBuYXZpZ2F0aW9uIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBwcmV2aW91c0ljb24gPSBpbnB1dDxzdHJpbmc+KCcnKTtcblxuICAvKipcbiAgICogRmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgbmF2aWdhdGlvbiBpcyByZXN0cmljdGVkIHRvIGF2YWlsYWJsZSBzZWN0aW9ucyBvbmx5LlxuICAgKiBUaGlzIHJlcXVpcmVzIHRoZSBzZWN0aW9uc0F2YWlsYWJpbGl0eSBpbnB1dCB0byBiZSBwYXNzZWQsIG90aGVyd2lzZSB0aGUgaW5pdGlhbGl6YXRpb24gb2ZcbiAgICogdGhlIGNvbXBvbmVudCB3aWxsIGZhaWwuXG4gICAqL1xuICBwdWJsaWMgb25seU5hdmlnYXRlVG9BdmFpbGFibGUgPSBpbnB1dDxib29sZWFuPigpO1xuXG4gIC8qKlxuICAgKiBPYmplY3QgZGVmaW5pbmcgdGhlIGF2YWlsYWJpbGl0eSBvZiBzZWN0aW9ucy4gUmVxdWlyZWQgaWYgeW91IGFyZSB3YW50aW5nIHRvIGFsbG93IG5hdmlnYXRpb25cbiAgICogdG8gYXZhaWxhYmxlIHNlY3Rpb25zIG9ubHkuXG4gICAqL1xuICBwdWJsaWMgc2VjdGlvbnNBdmFpbGFiaWxpdHkgPSBpbnB1dDxSZWNvcmQ8c3RyaW5nLCBhbnk+Pih7fSk7XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBzdHlsaW5nIGNsYXNzZXMgZm9yIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgc3R5bGVDbGFzc2VzID0gaW5wdXQoXG4gICAgeyBtaWRkbGVEaXZDbGFzczogJycsIHNpZGVCdXR0b25zQ2xhc3M6ICcnIH0sXG4gICAge1xuICAgICAgdHJhbnNmb3JtOiB2YWxpZGF0ZVN0eWxlc0ZvckNvbXBvbmVudDxOZWlnaGJvdXJzU3R5bGVDbGFzc2VzPih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpLFxuICAgIH1cbiAgKTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlciBmb3Igc2VjdGlvbiBuYXZpZ2F0aW9uLlxuICAgKi9cbiAgcHVibGljIHNlY3Rpb25Ub05hdmlnYXRlID0gb3V0cHV0PHN0cmluZz4oKTtcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBwcmV2aW91cyBhdmFpbGFibGUgc2VjdGlvbi5cbiAgICovXG4gIHByb3RlY3RlZCBwcmV2aW91c0F2YWlsYWJsZVNlY3Rpb25JZCA9IHNpZ25hbDxzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBuZXh0IGF2YWlsYWJsZSBzZWN0aW9uLlxuICAgKi9cbiAgcHJvdGVjdGVkIG5leHRBdmFpbGFibGVTZWN0aW9uSWQgPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgLyoqXG4gICAqIENvbnN0YW50IHJlcHJlc2VudGluZyB0aGUgYWJzZW5jZSBvZiBhIG5laWdoYm9yaW5nIHNlY3Rpb24uXG4gICAqL1xuICBwcml2YXRlIE5PX05FSUdIQk9VUl9WQUxVRSA9ICdub25lJyBhcyBjb25zdDtcblxuICAvKipcbiAgICogS2V5IG1hcHBpbmdzIGZvciBuZWlnaGJvcmluZyBzZWN0aW9ucy5cbiAgICovXG4gIHByaXZhdGUgbmVpZ2hib3Vyc0tleXMgPSB7XG4gICAgcHJldjogJ2wnLFxuICAgIG5leHQ6ICdyJyxcbiAgfSBzYXRpc2ZpZXMgUmVjb3JkPERpcmVjdGlvbiwgRGlyZWN0aW9uT2JqZWN0S2V5cz47XG5cbiAgLyoqXG4gICAqIEtleSBtYXBwaW5ncyBmb3IgbmF2aWdhdGlvbiBkaXJlY3Rpb25zLlxuICAgKi9cbiAgcHJpdmF0ZSBrZXlNYXBwaW5nID0ge1xuICAgIHByZXY6ICdwcmV2aW91cycsXG4gICAgbmV4dDogJ25leHQnLFxuICB9IGFzIGNvbnN0O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5zZXRBdmFpbGFibGVTZWN0aW9uKCdwcmV2JywgdGhpcy5jdXJyZW50U2VjdGlvbigpKTtcbiAgICAgICAgdGhpcy5zZXRBdmFpbGFibGVTZWN0aW9uKCduZXh0JywgdGhpcy5jdXJyZW50U2VjdGlvbigpKTtcbiAgICAgIH0sXG4gICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgbmF2aWdhdGlvbiBidXR0b24gY2xpY2tzLiBFbWl0cyB0aGUgbmV3IHNlY3Rpb24gaWRlbnRpZmljYXRvciB0byBuYXZpZ2F0ZSB0by5cbiAgICogQHBhcmFtICBnb1RvIC0gVGhlIGRpcmVjdGlvbiB0byBuYXZpZ2F0ZS5cbiAgICogQHRocm93cyAgSWYgdGhlcmUgaXMgbm8gdmFsaWQgc2VjdGlvbiB0byBuYXZpZ2F0ZSB0by5cbiAgICovXG4gIHB1YmxpYyBvbkNsaWNrKGdvVG86ICdwcmV2JyB8ICduZXh0Jykge1xuICAgIGNvbnN0IHRkY0lkID0gdGhpcy5nZXRUZGNJZEZyb21EaXJlY3Rpb24oZ29Ubyk7XG5cbiAgICBpZiAoIXRkY0lkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZXJlIGlzIG5vIHZhbGlkICR7dGhpcy5rZXlNYXBwaW5nW2dvVG9dfSBzZWN0aW9uIHRvIG5hdmlnYXRlLmApO1xuICAgIH1cblxuICAgIHRoaXMuc2VjdGlvblRvTmF2aWdhdGUuZW1pdCh0ZGNJZCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBUREMgc2VjdGlvbiBJRCBiYXNlZCBvbiB0aGUgbmF2aWdhdGlvbiBkaXJlY3Rpb24uXG4gICAqIEBwYXJhbSAgZGlyZWN0aW9uIC0gVGhlIG5hdmlnYXRpb24gZGlyZWN0aW9uLlxuICAgKiBAcmV0dXJucyAgVGhlIHNlY3Rpb24gSUQgdG8gbmF2aWdhdGUgdG8sIG9yIG51bGwgaWYgdW5hdmFpbGFibGUuXG4gICAqL1xuICBwcml2YXRlIGdldFRkY0lkRnJvbURpcmVjdGlvbihkaXJlY3Rpb246IERpcmVjdGlvbikge1xuICAgIGlmIChkaXJlY3Rpb24gPT09ICdwcmV2Jykge1xuICAgICAgcmV0dXJuIHRoaXMucHJldmlvdXNBdmFpbGFibGVTZWN0aW9uSWQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMubmV4dEF2YWlsYWJsZVNlY3Rpb25JZCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGFuZCBzZXRzIHRoZSBhdmFpbGFibGUgc2VjdGlvbiBmb3IgbmF2aWdhdGlvbiBpbiB0aGUgc3BlY2lmaWVkIGRpcmVjdGlvbi5cbiAgICogQHBhcmFtIHR5cGUgLSBUaGUgbmF2aWdhdGlvbiBkaXJlY3Rpb24uXG4gICAqIEBwYXJhbSBbY3VycmVudFNlY3Rpb25dIC0gVGhlIGN1cnJlbnQgc2VjdGlvbiBJRCAob3B0aW9uYWwpLlxuICAgKiBAdGhyb3dzIElmIG5hdmlnYXRpb24gaXMgcmVzdHJpY3RlZCBhbmQgc2VjdGlvbnNBdmFpbGFiaWxpdHkgaXMgbm90IHByb3ZpZGVkLlxuICAgKi9cbiAgcHJpdmF0ZSBzZXRBdmFpbGFibGVTZWN0aW9uKHR5cGU6ICdwcmV2JyB8ICduZXh0JywgY3VycmVudFNlY3Rpb24/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBuZWlnaGJvcktleSA9IHRoaXMubmVpZ2hib3Vyc0tleXNbdHlwZV07XG4gICAgY29uc3QgY3VycmVudFNlY3Rpb25NbWNJZCA9IHRoaXMuc2VjdGlvbnNUZGNUb01tYygpW2N1cnJlbnRTZWN0aW9uID8/IHRoaXMuY3VycmVudFNlY3Rpb24oKV07XG4gICAgY29uc3QgbmVpZ2hib3JPYmplY3QgPSB0aGlzLm5laWdib3Vyc0RhdGEoKVtjdXJyZW50U2VjdGlvbk1tY0lkXTtcblxuICAgIGNvbnN0IG5laWdoYm9yU2VjdGlvbk1tY0lkID0gbmVpZ2hib3JPYmplY3RbbmVpZ2hib3JLZXldO1xuICAgIGNvbnN0IG5laWdoYm9yU2VjdGlvblRkY0lkID0gdGhpcy5zZWN0aW9uc01tY1RvVGRjKClbbmVpZ2hib3JTZWN0aW9uTW1jSWRdO1xuXG4gICAgaWYgKG5laWdoYm9yU2VjdGlvblRkY0lkKSB7XG4gICAgICBpZiAodGhpcy5vbmx5TmF2aWdhdGVUb0F2YWlsYWJsZSgpKSB7XG4gICAgICAgIGlmICh0aGlzLnNlY3Rpb25zQXZhaWxhYmlsaXR5KCkpIHtcbiAgICAgICAgICBjb25zdCBoYXNBdmFpbGFiaWxpdHkgPSAhIXRoaXMuc2VjdGlvbnNBdmFpbGFiaWxpdHkoKVtuZWlnaGJvclNlY3Rpb25UZGNJZF07XG4gICAgICAgICAgaWYgKCFoYXNBdmFpbGFiaWxpdHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgJ1RvIG9ubHkgbmF2aWdhdGUgdG8gYXZhaWxhYmxlIHNlY3Rpb25zLCBpdCBpcyByZXF1aXJlZCB0byBwYXNzIHRoZSBzZWN0aW9ucyBhdmFpbGFiaWxpdHkgcGFyYW1ldGVyLidcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlID09PSAncHJldicpIHtcbiAgICAgICAgdGhpcy5wcmV2aW91c0F2YWlsYWJsZVNlY3Rpb25JZC5zZXQobmVpZ2hib3JTZWN0aW9uVGRjSWQpO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGUgPT09ICduZXh0Jykge1xuICAgICAgICB0aGlzLm5leHRBdmFpbGFibGVTZWN0aW9uSWQuc2V0KG5laWdoYm9yU2VjdGlvblRkY0lkKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAobmVpZ2hib3JTZWN0aW9uTW1jSWQgPT09IHRoaXMuTk9fTkVJR0hCT1VSX1ZBTFVFKSB7XG4gICAgICBpZiAodHlwZSA9PT0gJ3ByZXYnKSB7XG4gICAgICAgIHRoaXMucHJldmlvdXNBdmFpbGFibGVTZWN0aW9uSWQuc2V0KG51bGwpO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGUgPT09ICduZXh0Jykge1xuICAgICAgICB0aGlzLm5leHRBdmFpbGFibGVTZWN0aW9uSWQuc2V0KG51bGwpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnNldEF2YWlsYWJsZVNlY3Rpb24odHlwZSwgbmVpZ2hib3JTZWN0aW9uVGRjSWQpO1xuICB9XG59XG4iLCI8ZGl2IGlkPVwic2RjLW5laWdoYm91cnNcIiBjbGFzcz1cIndyYXBwZXJfX25laWdoYm91cnMtLWdhcFwiPlxuICBAaWYgKHByZXZpb3VzQXZhaWxhYmxlU2VjdGlvbklkKCkpIHtcbiAgICA8c2RjLWJ1dHRvblxuICAgICAgaWNvblBvcz1cImxlZnRcIlxuICAgICAgW3N0eWxlQ2xhc3Nlc109XCJzdHlsZUNsYXNzZXMoKT8uc2lkZUJ1dHRvbnNDbGFzc1wiXG4gICAgICBbZHRdPVwic2lkZUJ1dHRvblN0eWxlXCJcbiAgICAgIGxhYmVsPVwiUHJldmlvdXMgc2VjdGlvblwiXG4gICAgICBbaWNvbl09XCJwcmV2aW91c0ljb24oKVwiXG4gICAgICAob25DbGljayk9XCJvbkNsaWNrKCdwcmV2JylcIiAvPlxuICB9XG5cbiAgPGRpdiBpZD1cInNkYy1uZWlnaGJvdXJzLXNlY3Rpb24taW5mb1wiIGNsYXNzPVwibmVpZ2hib3Vyc19fc2VjdGlvbi0taW5mb1wiIFtjbGFzc109XCJzdHlsZUNsYXNzZXMoKS5taWRkbGVEaXZDbGFzc1wiPlxuICAgIDxzcGFuPlNlY3Rpb248L3NwYW4+IDxzcGFuIGNsYXNzPVwiY29udGVudF9fc2VjdGlvbi0tYm9sZFwiPnt7IGN1cnJlbnRTZWN0aW9uKCkgfX08L3NwYW4+XG4gIDwvZGl2PlxuXG4gIEBpZiAobmV4dEF2YWlsYWJsZVNlY3Rpb25JZCgpKSB7XG4gICAgPHNkYy1idXR0b25cbiAgICAgIFtkdF09XCJzaWRlQnV0dG9uU3R5bGVcIlxuICAgICAgW3N0eWxlQ2xhc3Nlc109XCJzdHlsZUNsYXNzZXMoKT8uc2lkZUJ1dHRvbnNDbGFzc1wiXG4gICAgICBpY29uUG9zPVwicmlnaHRcIlxuICAgICAgbGFiZWw9XCJOZXh0IHNlY3Rpb25cIlxuICAgICAgW2ljb25dPVwibmV4dEljb24oKVwiXG4gICAgICAob25DbGljayk9XCJvbkNsaWNrKCduZXh0JylcIiAvPlxuICB9XG48L2Rpdj5cbiJdfQ==
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVpZ2hib3Vycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0d2FyZS1kaXZpc2lvbi1jb21wb25lbnRzL3NyYy9kdm0vbmVpZ2hib3Vycy9uZWlnaGJvdXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnR3YXJlLWRpdmlzaW9uLWNvbXBvbmVudHMvc3JjL2R2bS9uZWlnaGJvdXJzL25laWdoYm91cnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUUvRDs7Ozs7Ozs7R0FRRztBQVNILE1BQU0sT0FBTyxtQkFBbUI7SUFDOUI7O09BRUc7SUFDZ0IsZUFBZSxHQUFHLGdCQUFnQixDQUFDO0lBRXREOztPQUVHO0lBQ0ksY0FBYyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztJQUVqRDs7T0FFRztJQUNJLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxRQUFRLENBQXlCLEVBQUUsQ0FBQyxDQUFDO0lBRXJFOztPQUVHO0lBQ0ksZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBeUIsRUFBRSxDQUFDLENBQUM7SUFFckU7O09BRUc7SUFDSSxhQUFhLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBc0QsRUFBRSxDQUFDLENBQUM7SUFFL0Y7O09BRUc7SUFDSSxRQUFRLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBRXBDOztP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LFNBQVM7aUNBQ0ksSUFBSSxZQUNOLGdCQUFnQixXQUdqQixDQUFDLGVBQWUsQ0FBQyxtQkFDVCx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZWZmZWN0LCBpbnB1dCwgb3V0cHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHZhbGlkYXRlU3R5bGVzRm9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcHJpdmF0ZS1leHBvcnRzJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgc2lkZUJ1dHRvblRva2VucyB9IGZyb20gJy4vc3R5bGVzL3NpZGUtYnV0dG9uLnRva2Vucyc7XG5pbXBvcnQgeyBEaXJlY3Rpb24sIERpcmVjdGlvbk9iamVjdEtleXMsIE5laWdoYm91cnNTdHlsZUNsYXNzZXMgfSBmcm9tICcuL3R5cGVzJztcbi8qKlxuICogQ29tcG9uZW50IHVzZWQgdG8gbmF2aWdhdGUgYmV0d2VlbiBuZWlnaGJvdXJpbmcgc2VjdGlvbnMuXG4gKlxuICogSXQgZGV0ZXJtaW5lcyB0aGUgbmV4dCBhbmQgcHJldmlvdXMgYXZhaWxhYmxlIHNlY3Rpb25zIGJhc2VkIG9uIHByZWRlZmluZWQgbWFwcGluZ3NcbiAqIGFuZCBlbWl0cyBuYXZpZ2F0aW9uIGV2ZW50cyB3aGVuIHVzZXJzIGF0dGVtcHQgdG8gbW92ZSBiZXR3ZWVuIHRoZW0uXG4gKlxuICogQHNpbmNlIDEuMC4wLWFscGhhLjJcbiAqIEB1cGRhdGVkIDEuMC4wLWFscGhhLjJcbiAqL1xuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc2RjLW5laWdoYm91cnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vbmVpZ2hib3Vycy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9zdHlsZXMvbmVpZ2hib3Vycy5jb21wb25lbnQuY3NzJyxcbiAgaW1wb3J0czogW0J1dHRvbkNvbXBvbmVudF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOZWlnaGJvdXJzQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFByZWRlZmluZWQgc3R5bGVzIGZvciB0aGUgc2lkZSBidXR0b24uXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2lkZUJ1dHRvblN0eWxlID0gc2lkZUJ1dHRvblRva2VucztcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgc2VjdGlvbiBpZGVudGlmaWVyLlxuICAgKi9cbiAgcHVibGljIGN1cnJlbnRTZWN0aW9uID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBNYXBwaW5nIG9mIE1NQyBzZWN0aW9uIElEcyB0byBUREMgc2VjdGlvbiBJRHMuXG4gICAqL1xuICBwdWJsaWMgc2VjdGlvbnNNbWNUb1RkYyA9IGlucHV0LnJlcXVpcmVkPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+KHt9KTtcblxuICAvKipcbiAgICogTWFwcGluZyBvZiBUREMgc2VjdGlvbiBJRHMgdG8gTU1DIHNlY3Rpb24gSURzLlxuICAgKi9cbiAgcHVibGljIHNlY3Rpb25zVGRjVG9NbWMgPSBpbnB1dC5yZXF1aXJlZDxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+Pih7fSk7XG5cbiAgLyoqXG4gICAqIERhdGEgc3RydWN0dXJlIGRlZmluaW5nIG5laWdoYm9yaW5nIHJlbGF0aW9uc2hpcHMgYmV0d2VlbiBzZWN0aW9ucy5cbiAgICovXG4gIHB1YmxpYyBuZWlnYm91cnNEYXRhID0gaW5wdXQucmVxdWlyZWQ8UmVjb3JkPHN0cmluZywgUmVjb3JkPERpcmVjdGlvbk9iamVjdEtleXMsIHN0cmluZz4+Pih7fSk7XG5cbiAgLyoqXG4gICAqIEljb24gZm9yIHRoZSBuZXh0IG5hdmlnYXRpb24gYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIG5leHRJY29uID0gaW5wdXQ8c3RyaW5nPignJyk7XG5cbiAgLyoqXG4gICAqIEljb24gZm9yIHRoZSBwcmV2aW91cyBuYXZpZ2F0aW9uIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBwcmV2aW91c0ljb24gPSBpbnB1dDxzdHJpbmc+KCcnKTtcblxuICAvKipcbiAgICogRmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgbmF2aWdhdGlvbiBpcyByZXN0cmljdGVkIHRvIGF2YWlsYWJsZSBzZWN0aW9ucyBvbmx5LlxuICAgKiBUaGlzIHJlcXVpcmVzIHRoZSBzZWN0aW9uc0F2YWlsYWJpbGl0eSBpbnB1dCB0byBiZSBwYXNzZWQsIG90aGVyd2lzZSB0aGUgaW5pdGlhbGl6YXRpb24gb2ZcbiAgICogdGhlIGNvbXBvbmVudCB3aWxsIGZhaWwuXG4gICAqL1xuICBwdWJsaWMgb25seU5hdmlnYXRlVG9BdmFpbGFibGUgPSBpbnB1dDxib29sZWFuPigpO1xuXG4gIC8qKlxuICAgKiBPYmplY3QgZGVmaW5pbmcgdGhlIGF2YWlsYWJpbGl0eSBvZiBzZWN0aW9ucy4gUmVxdWlyZWQgaWYgeW91IGFyZSB3YW50aW5nIHRvIGFsbG93IG5hdmlnYXRpb25cbiAgICogdG8gYXZhaWxhYmxlIHNlY3Rpb25zIG9ubHkuXG4gICAqL1xuICBwdWJsaWMgc2VjdGlvbnNBdmFpbGFiaWxpdHkgPSBpbnB1dDxSZWNvcmQ8c3RyaW5nLCBhbnk+Pih7fSk7XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBzdHlsaW5nIGNsYXNzZXMgZm9yIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgc3R5bGVDbGFzc2VzID0gaW5wdXQoXG4gICAgeyBtaWRkbGVEaXZDbGFzczogJycsIHNpZGVCdXR0b25zQ2xhc3M6ICcnIH0sXG4gICAge1xuICAgICAgdHJhbnNmb3JtOiB2YWxpZGF0ZVN0eWxlc0ZvckNvbXBvbmVudDxOZWlnaGJvdXJzU3R5bGVDbGFzc2VzPih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpLFxuICAgIH1cbiAgKTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlciBmb3Igc2VjdGlvbiBuYXZpZ2F0aW9uLlxuICAgKi9cbiAgcHVibGljIHNlY3Rpb25Ub05hdmlnYXRlID0gb3V0cHV0PHN0cmluZz4oKTtcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBwcmV2aW91cyBhdmFpbGFibGUgc2VjdGlvbi5cbiAgICovXG4gIHByb3RlY3RlZCBwcmV2aW91c0F2YWlsYWJsZVNlY3Rpb25JZCA9IHNpZ25hbDxzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBuZXh0IGF2YWlsYWJsZSBzZWN0aW9uLlxuICAgKi9cbiAgcHJvdGVjdGVkIG5leHRBdmFpbGFibGVTZWN0aW9uSWQgPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgLyoqXG4gICAqIENvbnN0YW50IHJlcHJlc2VudGluZyB0aGUgYWJzZW5jZSBvZiBhIG5laWdoYm9yaW5nIHNlY3Rpb24uXG4gICAqL1xuICBwcml2YXRlIE5PX05FSUdIQk9VUl9WQUxVRSA9ICdub25lJyBhcyBjb25zdDtcblxuICAvKipcbiAgICogS2V5IG1hcHBpbmdzIGZvciBuZWlnaGJvcmluZyBzZWN0aW9ucy5cbiAgICovXG4gIHByaXZhdGUgbmVpZ2hib3Vyc0tleXMgPSB7XG4gICAgcHJldjogJ2wnLFxuICAgIG5leHQ6ICdyJyxcbiAgfSBzYXRpc2ZpZXMgUmVjb3JkPERpcmVjdGlvbiwgRGlyZWN0aW9uT2JqZWN0S2V5cz47XG5cbiAgLyoqXG4gICAqIEtleSBtYXBwaW5ncyBmb3IgbmF2aWdhdGlvbiBkaXJlY3Rpb25zLlxuICAgKi9cbiAgcHJpdmF0ZSBrZXlNYXBwaW5nID0ge1xuICAgIHByZXY6ICdwcmV2aW91cycsXG4gICAgbmV4dDogJ25leHQnLFxuICB9IGFzIGNvbnN0O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5maW5kQW5kU2V0QXZhaWxhYmxlU2VjdGlvbigncHJldicsIHRoaXMuY3VycmVudFNlY3Rpb24oKSk7XG4gICAgICAgIHRoaXMuZmluZEFuZFNldEF2YWlsYWJsZVNlY3Rpb24oJ25leHQnLCB0aGlzLmN1cnJlbnRTZWN0aW9uKCkpO1xuICAgICAgfSxcbiAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlcyBuYXZpZ2F0aW9uIGJ1dHRvbiBjbGlja3MuIEVtaXRzIHRoZSBuZXcgc2VjdGlvbiBpZGVudGlmaWNhdG9yIHRvIG5hdmlnYXRlIHRvLlxuICAgKiBAcGFyYW0gIGdvVG8gLSBUaGUgZGlyZWN0aW9uIHRvIG5hdmlnYXRlLlxuICAgKiBAdGhyb3dzICBJZiB0aGVyZSBpcyBubyB2YWxpZCBzZWN0aW9uIHRvIG5hdmlnYXRlIHRvLlxuICAgKi9cbiAgcHVibGljIG9uQ2xpY2soZ29UbzogJ3ByZXYnIHwgJ25leHQnKSB7XG4gICAgY29uc3QgdGRjSWQgPSB0aGlzLmdldFRkY0lkRnJvbURpcmVjdGlvbihnb1RvKTtcblxuICAgIGlmICghdGRjSWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlcmUgaXMgbm8gdmFsaWQgJHt0aGlzLmtleU1hcHBpbmdbZ29Ub119IHNlY3Rpb24gdG8gbmF2aWdhdGUuYCk7XG4gICAgfVxuXG4gICAgdGhpcy5zZWN0aW9uVG9OYXZpZ2F0ZS5lbWl0KHRkY0lkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIFREQyBzZWN0aW9uIElEIGJhc2VkIG9uIHRoZSBuYXZpZ2F0aW9uIGRpcmVjdGlvbi5cbiAgICogQHBhcmFtICBkaXJlY3Rpb24gLSBUaGUgbmF2aWdhdGlvbiBkaXJlY3Rpb24uXG4gICAqIEByZXR1cm5zICBUaGUgc2VjdGlvbiBJRCB0byBuYXZpZ2F0ZSB0bywgb3IgbnVsbCBpZiB1bmF2YWlsYWJsZS5cbiAgICovXG4gIHByaXZhdGUgZ2V0VGRjSWRGcm9tRGlyZWN0aW9uKGRpcmVjdGlvbjogRGlyZWN0aW9uKSB7XG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gJ3ByZXYnKSB7XG4gICAgICByZXR1cm4gdGhpcy5wcmV2aW91c0F2YWlsYWJsZVNlY3Rpb25JZCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5uZXh0QXZhaWxhYmxlU2VjdGlvbklkKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgYW5kIHNldHMgdGhlIGF2YWlsYWJsZSBzZWN0aW9uIGZvciBuYXZpZ2F0aW9uIGluIHRoZSBzcGVjaWZpZWQgZGlyZWN0aW9uLlxuICAgKiBAcGFyYW0gdHlwZSAtIFRoZSBuYXZpZ2F0aW9uIGRpcmVjdGlvbi5cbiAgICogQHBhcmFtIFtjdXJyZW50U2VjdGlvbl0gLSBUaGUgY3VycmVudCBzZWN0aW9uIElEIChvcHRpb25hbCkuXG4gICAqIEB0aHJvd3MgSWYgbmF2aWdhdGlvbiBpcyByZXN0cmljdGVkIGFuZCBzZWN0aW9uc0F2YWlsYWJpbGl0eSBpcyBub3QgcHJvdmlkZWQuXG4gICAqL1xuICBwcml2YXRlIGZpbmRBbmRTZXRBdmFpbGFibGVTZWN0aW9uKHR5cGU6IERpcmVjdGlvbiwgY3VycmVudFNlY3Rpb24/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAvLyBHZXQgdGhlIGVxdWl2YWxlbnQgb2YgTU1DIElEIHNpbmNlIHRoZSBuZWlnaGJvdXJzIGRhdGEgY29udGFpbnMgTU1DIElEXG4gICAgY29uc3QgY3VycmVudFNlY3Rpb25NbWNJZCA9IHRoaXMuc2VjdGlvbnNUZGNUb01tYygpW2N1cnJlbnRTZWN0aW9uID8/IHRoaXMuY3VycmVudFNlY3Rpb24oKV07XG5cbiAgICAvLyBPYmplY3QgdGhhdCBjb250YWlucyB0aGUgbmVpZ2hib3VycyBvZiB0aGUgY3VycmVudCBzZWN0aW9uXG4gICAgY29uc3QgbmVpZ2hib3JPYmplY3QgPSB0aGlzLm5laWdib3Vyc0RhdGEoKVtjdXJyZW50U2VjdGlvbk1tY0lkXTtcblxuICAgIC8vIEdldCB0aGUgbmVpZ2hib3VycyBmcm9tIHRoZSBuZWlnaGJvdXJzIG9iamVjdCBhY2NvcmRpbmcgdG8gbmVpZ2hib3VyIGtleVxuICAgIGNvbnN0IG5laWdoYm9yT2JqZWN0S2V5ID0gdGhpcy5uZWlnaGJvdXJzS2V5c1t0eXBlXTtcbiAgICBjb25zdCBuZWlnaGJvclNlY3Rpb25NbWNJZCA9IG5laWdoYm9yT2JqZWN0W25laWdoYm9yT2JqZWN0S2V5XTtcblxuICAgIC8vIEdldCBiYWNrIHRoZSB0cmFuc2xhdGlvbiBvZiB0aGUgbmVpZ2hib3VyIHRvIFREQyBJRFxuICAgIGNvbnN0IG5laWdoYm9yU2VjdGlvblRkY0lkID0gdGhpcy5zZWN0aW9uc01tY1RvVGRjKClbbmVpZ2hib3JTZWN0aW9uTW1jSWRdO1xuXG4gICAgaWYgKG5laWdoYm9yU2VjdGlvblRkY0lkKSB7XG4gICAgICAvLyBJZiB3ZSBvbmx5IG5hdmlnYXRlIHRvIGF2YWlsYWJsZSBzZWN0aW9ucywgY2hlY2sgZm9yIGF2YWlsYWJsaWJpbGl0eS5cbiAgICAgIGlmICh0aGlzLm9ubHlOYXZpZ2F0ZVRvQXZhaWxhYmxlKCkpIHtcbiAgICAgICAgaWYgKHRoaXMuc2VjdGlvbnNBdmFpbGFiaWxpdHkoKSkge1xuICAgICAgICAgIGNvbnN0IGhhc0F2YWlsYWJpbGl0eSA9ICEhdGhpcy5zZWN0aW9uc0F2YWlsYWJpbGl0eSgpW25laWdoYm9yU2VjdGlvblRkY0lkXTtcbiAgICAgICAgICAvLyBTZXQgdGhlIHNlY3Rpb24gdG8gbnVsbCBhbmQgc3RvcCB0aGUgcmVjdXJzaW9uIGlmIG5vIGF2YWlsYWJpbGl0eS5cbiAgICAgICAgICBpZiAoIWhhc0F2YWlsYWJpbGl0eSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0QXZhaWxhYmxlU2VjdGlvbih0eXBlLCBudWxsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgJ1RvIG9ubHkgbmF2aWdhdGUgdG8gYXZhaWxhYmxlIHNlY3Rpb25zLCBpdCBpcyByZXF1aXJlZCB0byBwYXNzIHRoZSBzZWN0aW9ucyBhdmFpbGFiaWxpdHkgcGFyYW1ldGVyLidcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aGlzLnNldEF2YWlsYWJsZVNlY3Rpb24odHlwZSwgbmVpZ2hib3JTZWN0aW9uVGRjSWQpO1xuICAgIH1cblxuICAgIC8vIElmIG5vIHNlY3Rpb24gd2FzIGZvdW5kIG9yIHRoZSB2YWx1ZSBvZiB0aGUgc2VjdGlvbiB3YXMgTm9uZSwgc2V0IHRvIG51bGwgYW5kIHN0b3AgdGhlIHJlY3Vyc2lvblxuICAgIGlmICghbmVpZ2hib3JTZWN0aW9uTW1jSWQgfHwgbmVpZ2hib3JTZWN0aW9uTW1jSWQgPT09IHRoaXMuTk9fTkVJR0hCT1VSX1ZBTFVFKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZXRBdmFpbGFibGVTZWN0aW9uKHR5cGUsIG51bGwpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmZpbmRBbmRTZXRBdmFpbGFibGVTZWN0aW9uKHR5cGUsIG5laWdoYm9yU2VjdGlvblRkY0lkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwcmV2aW91cyBvciBuZXh0IHNlY3Rpb24gdmFsdWVzIHRvIHRoZSBwYXNzZWQgdmFsdWVcbiAgICpcbiAgICogQHBhcmFtIHR5cGUgLSBUaGUgbmF2aWdhdGlvbiBkaXJlY3Rpb24uXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFZhbHVlIHRvIHNldCB0byBlaXRoZXIgcHJldmlvdXMgb3IgbmV4dCBhdmFpbGFibGUgc2VjdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBzZXRBdmFpbGFibGVTZWN0aW9uKHR5cGU6IERpcmVjdGlvbiwgdmFsdWU6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAodHlwZSA9PT0gJ3ByZXYnKSB7XG4gICAgICB0aGlzLnByZXZpb3VzQXZhaWxhYmxlU2VjdGlvbklkLnNldCh2YWx1ZSk7XG4gICAgfVxuICAgIGlmICh0eXBlID09PSAnbmV4dCcpIHtcbiAgICAgIHRoaXMubmV4dEF2YWlsYWJsZVNlY3Rpb25JZC5zZXQodmFsdWUpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBpZD1cInNkYy1uZWlnaGJvdXJzXCIgY2xhc3M9XCJ3cmFwcGVyX19uZWlnaGJvdXJzLS1nYXBcIj5cbiAgQGlmIChwcmV2aW91c0F2YWlsYWJsZVNlY3Rpb25JZCgpKSB7XG4gICAgPHNkYy1idXR0b25cbiAgICAgIGljb25Qb3M9XCJsZWZ0XCJcbiAgICAgIFtzdHlsZUNsYXNzZXNdPVwic3R5bGVDbGFzc2VzKCk/LnNpZGVCdXR0b25zQ2xhc3NcIlxuICAgICAgW2R0XT1cInNpZGVCdXR0b25TdHlsZVwiXG4gICAgICBsYWJlbD1cIlByZXZpb3VzIHNlY3Rpb25cIlxuICAgICAgW2ljb25dPVwicHJldmlvdXNJY29uKClcIlxuICAgICAgKG9uQ2xpY2spPVwib25DbGljaygncHJldicpXCIgLz5cbiAgfVxuXG4gIDxkaXYgaWQ9XCJzZGMtbmVpZ2hib3Vycy1zZWN0aW9uLWluZm9cIiBjbGFzcz1cIm5laWdoYm91cnNfX3NlY3Rpb24tLWluZm9cIiBbY2xhc3NdPVwic3R5bGVDbGFzc2VzKCkubWlkZGxlRGl2Q2xhc3NcIj5cbiAgICA8c3Bhbj5TZWN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz1cImNvbnRlbnRfX3NlY3Rpb24tLWJvbGRcIj57eyBjdXJyZW50U2VjdGlvbigpIH19PC9zcGFuPlxuICA8L2Rpdj5cblxuICBAaWYgKG5leHRBdmFpbGFibGVTZWN0aW9uSWQoKSkge1xuICAgIDxzZGMtYnV0dG9uXG4gICAgICBbZHRdPVwic2lkZUJ1dHRvblN0eWxlXCJcbiAgICAgIFtzdHlsZUNsYXNzZXNdPVwic3R5bGVDbGFzc2VzKCk/LnNpZGVCdXR0b25zQ2xhc3NcIlxuICAgICAgaWNvblBvcz1cInJpZ2h0XCJcbiAgICAgIGxhYmVsPVwiTmV4dCBzZWN0aW9uXCJcbiAgICAgIFtpY29uXT1cIm5leHRJY29uKClcIlxuICAgICAgKG9uQ2xpY2spPVwib25DbGljaygnbmV4dCcpXCIgLz5cbiAgfVxuPC9kaXY+XG4iXX0=
|
|
@@ -384,7 +384,7 @@ const sideButtonTokens = {
|
|
|
384
384
|
};
|
|
385
385
|
|
|
386
386
|
/**
|
|
387
|
-
* Component used to
|
|
387
|
+
* Component used to navigate between neighbouring sections.
|
|
388
388
|
*
|
|
389
389
|
* It determines the next and previous available sections based on predefined mappings
|
|
390
390
|
* and emits navigation events when users attempt to move between them.
|
|
@@ -470,8 +470,8 @@ class NeighboursComponent {
|
|
|
470
470
|
};
|
|
471
471
|
constructor() {
|
|
472
472
|
effect(() => {
|
|
473
|
-
this.
|
|
474
|
-
this.
|
|
473
|
+
this.findAndSetAvailableSection('prev', this.currentSection());
|
|
474
|
+
this.findAndSetAvailableSection('next', this.currentSection());
|
|
475
475
|
}, { allowSignalWrites: true });
|
|
476
476
|
}
|
|
477
477
|
/**
|
|
@@ -505,42 +505,51 @@ class NeighboursComponent {
|
|
|
505
505
|
* @param [currentSection] - The current section ID (optional).
|
|
506
506
|
* @throws If navigation is restricted and sectionsAvailability is not provided.
|
|
507
507
|
*/
|
|
508
|
-
|
|
509
|
-
|
|
508
|
+
findAndSetAvailableSection(type, currentSection) {
|
|
509
|
+
// Get the equivalent of MMC ID since the neighbours data contains MMC ID
|
|
510
510
|
const currentSectionMmcId = this.sectionsTdcToMmc()[currentSection ?? this.currentSection()];
|
|
511
|
+
// Object that contains the neighbours of the current section
|
|
511
512
|
const neighborObject = this.neigboursData()[currentSectionMmcId];
|
|
512
|
-
|
|
513
|
+
// Get the neighbours from the neighbours object according to neighbour key
|
|
514
|
+
const neighborObjectKey = this.neighboursKeys[type];
|
|
515
|
+
const neighborSectionMmcId = neighborObject[neighborObjectKey];
|
|
516
|
+
// Get back the translation of the neighbour to TDC ID
|
|
513
517
|
const neighborSectionTdcId = this.sectionsMmcToTdc()[neighborSectionMmcId];
|
|
514
518
|
if (neighborSectionTdcId) {
|
|
519
|
+
// If we only navigate to available sections, check for availablibility.
|
|
515
520
|
if (this.onlyNavigateToAvailable()) {
|
|
516
521
|
if (this.sectionsAvailability()) {
|
|
517
522
|
const hasAvailability = !!this.sectionsAvailability()[neighborSectionTdcId];
|
|
523
|
+
// Set the section to null and stop the recursion if no availability.
|
|
518
524
|
if (!hasAvailability) {
|
|
519
|
-
return;
|
|
525
|
+
return this.setAvailableSection(type, null);
|
|
520
526
|
}
|
|
521
527
|
}
|
|
522
528
|
else {
|
|
523
529
|
throw new Error('To only navigate to available sections, it is required to pass the sections availability parameter.');
|
|
524
530
|
}
|
|
525
531
|
}
|
|
526
|
-
|
|
527
|
-
this.previousAvailableSectionId.set(neighborSectionTdcId);
|
|
528
|
-
}
|
|
529
|
-
if (type === 'next') {
|
|
530
|
-
this.nextAvailableSectionId.set(neighborSectionTdcId);
|
|
531
|
-
}
|
|
532
|
-
return;
|
|
532
|
+
return this.setAvailableSection(type, neighborSectionTdcId);
|
|
533
533
|
}
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
534
|
+
// If no section was found or the value of the section was None, set to null and stop the recursion
|
|
535
|
+
if (!neighborSectionMmcId || neighborSectionMmcId === this.NO_NEIGHBOUR_VALUE) {
|
|
536
|
+
return this.setAvailableSection(type, null);
|
|
537
|
+
}
|
|
538
|
+
return this.findAndSetAvailableSection(type, neighborSectionTdcId);
|
|
539
|
+
}
|
|
540
|
+
/**
|
|
541
|
+
* Sets the previous or next section values to the passed value
|
|
542
|
+
*
|
|
543
|
+
* @param type - The navigation direction.
|
|
544
|
+
* @param value - Value to set to either previous or next available section
|
|
545
|
+
*/
|
|
546
|
+
setAvailableSection(type, value) {
|
|
547
|
+
if (type === 'prev') {
|
|
548
|
+
this.previousAvailableSectionId.set(value);
|
|
549
|
+
}
|
|
550
|
+
if (type === 'next') {
|
|
551
|
+
this.nextAvailableSectionId.set(value);
|
|
542
552
|
}
|
|
543
|
-
return this.setAvailableSection(type, neighborSectionTdcId);
|
|
544
553
|
}
|
|
545
554
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NeighboursComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
546
555
|
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--gap\">\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--gap{display:flex;column-gap:.5em}.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 });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"3ddv-software-division-components.mjs","sources":["../../projects/software-division-components/src/utils/validate-styles-for-component.ts","../../projects/software-division-components/src/shared/format-value.pipe.ts","../../projects/software-division-components/src/backoffice/table/components/body-row/body-row.component.ts","../../projects/software-division-components/src/backoffice/table/components/body-row/body-row.component.html","../../projects/software-division-components/src/backoffice/table/components/header-row/header-row.component.ts","../../projects/software-division-components/src/backoffice/table/components/header-row/header-row.component.html","../../projects/software-division-components/src/backoffice/table/directives/table.directive.ts","../../projects/software-division-components/src/backoffice/table/table.component.ts","../../projects/software-division-components/src/backoffice/table/table.component.html","../../projects/software-division-components/src/backoffice/table/table.service.ts","../../projects/software-division-components/src/dvm/cart/cart.component.ts","../../projects/software-division-components/src/dvm/cart/cart.component.html","../../projects/software-division-components/src/dvm/cart/cart.service.ts","../../projects/software-division-components/src/dvm/cart/public-api.ts","../../projects/software-division-components/src/dvm/cart-item/cart-item.component.ts","../../projects/software-division-components/src/dvm/cart-item/cart-item.component.html","../../projects/software-division-components/src/dvm/cart-item/cart-item.service.ts","../../projects/software-division-components/src/dvm/cart-item/public-api.ts","../../projects/software-division-components/src/dvm/legend/legend.component.ts","../../projects/software-division-components/src/dvm/legend/legend.component.html","../../projects/software-division-components/src/dvm/legend/legend.service.ts","../../projects/software-division-components/src/dvm/legend/public-api.ts","../../projects/software-division-components/src/dvm/loader/loader.component.ts","../../projects/software-division-components/src/dvm/loader/loader.component.html","../../projects/software-division-components/src/dvm/loader/loader.service.ts","../../projects/software-division-components/src/dvm/loader/public-api.ts","../../projects/software-division-components/src/dvm/neighbours/styles/side-button.tokens.ts","../../projects/software-division-components/src/dvm/neighbours/neighbours.component.ts","../../projects/software-division-components/src/dvm/neighbours/neighbours.component.html","../../projects/software-division-components/src/dvm/popover/popover.component.ts","../../projects/software-division-components/src/dvm/popover/popover.component.html","../../projects/software-division-components/src/dvm/popover/popover.service.ts","../../projects/software-division-components/src/dvm/popover/public-api.ts","../../projects/software-division-components/src/dvm/stepper/stepper.component.ts","../../projects/software-division-components/src/dvm/stepper/stepper.component.html","../../projects/software-division-components/src/dvm/stepper/stepper.service.ts","../../projects/software-division-components/src/dvm/stepper/public-api.ts","../../projects/software-division-components/src/dvm/ticket-info-item/ticket-info-item.component.ts","../../projects/software-division-components/src/dvm/ticket-info-item/ticket-info-item.component.html","../../projects/software-division-components/src/dvm/ticket-info-item/ticket-info-item.service.ts","../../projects/software-division-components/src/dvm/ticket-info-item/public-api.ts","../../projects/software-division-components/src/shared/lib-provider/config-token.ts","../../projects/software-division-components/src/shared/theme-provider/generic-theme.ts","../../projects/software-division-components/src/shared/theme-provider/theme-provider.directive.ts","../../projects/software-division-components/src/shared/lib-provider/provide-sdc.ts","../../projects/software-division-components/src/generic/button/button.component.ts","../../projects/software-division-components/src/generic/button/button.component.html","../../projects/software-division-components/src/generic/button/public-api.ts","../../projects/software-division-components/src/generic/drawer/drawer.component.ts","../../projects/software-division-components/src/generic/drawer/drawer.component.html","../../projects/software-division-components/src/generic/drawer/drawer.service.ts","../../projects/software-division-components/src/generic/drawer/public-api.ts","../../projects/software-division-components/src/generic/modal/modal.component.ts","../../projects/software-division-components/src/generic/modal/modal.component.html","../../projects/software-division-components/src/generic/modal/modal.service.ts","../../projects/software-division-components/src/generic/modal/public-api.ts","../../projects/software-division-components/src/public-api.ts","../../projects/software-division-components/src/3ddv-software-division-components.ts"],"sourcesContent":["function validateCssClass(value: string, componentName?: string): asserts value is string {\n const regex = /^([a-zA-Z][a-zA-Z0-9-_]*)(\\s[a-zA-Z][a-zA-Z0-9-_]*)*$/;\n const isValidCssClass = regex.test(value);\n\n if (!isValidCssClass) {\n throw new Error(\n `Invalid CSS class string passed as input to \"styleClasses\" input, found on ${componentName}.\n Please make sure your input is a valid CSS class or a list of whitespace-separated classes.\n The value provided was: ${value}`\n );\n }\n}\n\nexport function validateStylesForComponent<T extends Record<string, string> | string>(\n componentName: string\n): (styles: T) => T {\n return (styles: T): T => {\n // Styles will be an empty string if they are not defined\n if (styles === '') {\n return styles;\n }\n\n if (typeof styles === 'string') {\n // Some components just have to style one element,\n // so a string input is sufficient\n validateCssClass(styles, componentName);\n } else {\n // While others require an object ot be able to style\n // different parts of the component, which requires an object\n // to target different parts of the components with different classes\n const stylesValues = Object.values(styles);\n for (const styleValue of stylesValues) {\n validateCssClass(styleValue, componentName);\n }\n }\n\n return styles;\n };\n}\n","import { CurrencyPipe, DatePipe } from '@angular/common';\nimport { inject, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n pure: true,\n standalone: true,\n name: 'formatValue',\n})\nexport class FormatValuePipe implements PipeTransform {\n private currencyPipe = inject(CurrencyPipe);\n private datePipe = inject(DatePipe);\n\n public transform(value: string, pipe: any): string {\n switch (pipe) {\n case 'currency':\n return this.currencyPipe.transform(value) ?? '';\n case 'date':\n return this.datePipe.transform(value) ?? '';\n default:\n return value ?? '';\n }\n }\n}\n","import { Component, input } from '@angular/core';\nimport { FormatValuePipe } from '../../../../shared/format-value.pipe';\nimport { ObjectColumnData } from '../../types';\n\n@Component({\n standalone: true,\n selector: '[app-body-row]',\n templateUrl: './body-row.component.html',\n styleUrls: ['./body-row.component.css'],\n imports: [FormatValuePipe],\n})\nexport class BodyRowComponent {\n public rows = input.required<Record<string, any>>();\n public columns = input.required<ObjectColumnData[]>();\n}\n","@for (col of columns(); track col.field) {\n <td>\n {{ rows()[col.field] | formatValue: col?.options?.pipe }}\n </td>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { TableModule } from 'primeng/table';\nimport { ObjectColumnData } from '../../types';\n\n@Component({\n standalone: true,\n selector: '[app-header-row]',\n templateUrl: './header-row.component.html',\n styleUrls: ['./header-row.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: `\n host: {\n display: contents;\n }\n `,\n imports: [TableModule, CommonModule],\n})\nexport class HeaderRowComponent {\n public columns = input.required<ObjectColumnData[]>();\n public reorderableColumns = input.required<boolean>();\n public resizableColumns = input.required<boolean>();\n public resizableAndReorderable = computed(() => this.resizableColumns() && this.reorderableColumns());\n}\n","@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","import { Directive, Host, Optional } from '@angular/core';\nimport { Table } from 'primeng/table';\nimport { TableComponent } from '../table.component';\n\n@Directive({\n standalone: true,\n selector: 'p-table',\n})\nexport class TableDirective {\n constructor(\n private primeTable: Table,\n @Host() @Optional() sdcTable: TableComponent\n ) {\n console.log('DELETE: ', sdcTable);\n\n if (!sdcTable) return;\n\n // ------------------------------\n // 1) Assign TableComponent’s\n // inputs to the PrimeNG Table\n // ------------------------------\n this.primeTable.style = sdcTable.style;\n this.primeTable.value = sdcTable.value;\n this.primeTable.dataKey = sdcTable.dataKey;\n this.primeTable.rows = sdcTable.rows;\n this.primeTable.sortMode = sdcTable.sortMode;\n this.primeTable.sortField = sdcTable.sortField;\n this.primeTable.sortOrder = sdcTable.sortOrder;\n this.primeTable.size = sdcTable.size;\n this.primeTable.rowHover = sdcTable.rowHover ?? true;\n this.primeTable.scrollable = sdcTable.scrollable;\n this.primeTable.scrollHeight = sdcTable.scrollHeight;\n this.primeTable.scrollDirection = sdcTable.scrollDirection;\n this.primeTable.showGridlines = sdcTable.showGridlines;\n this.primeTable.resizableColumns = sdcTable.resizableColumns;\n this.primeTable.reorderableColumns = sdcTable.reorderableColumns;\n this.primeTable.columnResizeMode = sdcTable.columnResizeMode;\n this.primeTable.rowsPerPageOptions = sdcTable.rowsPerPageOptions;\n this.primeTable.selection = sdcTable.selection;\n this.primeTable.editMode = sdcTable.editMode;\n this.primeTable.frozenValue = sdcTable.frozenValue;\n this.primeTable.frozenColumns = sdcTable.frozenColumns;\n this.primeTable.selectionMode = sdcTable.selectionMode;\n this.primeTable.contextMenuSelection = sdcTable.contextMenuSelection;\n this.primeTable.contextMenuSelectionMode = sdcTable.contextMenuSelectionMode;\n this.primeTable.paginatorDropdownScrollHeight = sdcTable.paginatorDropdownScrollHeight;\n this.primeTable.paginatorDropdownAppendTo = sdcTable.paginatorDropdownAppendTo;\n this.primeTable.currentPageReportTemplate = sdcTable.currentPageReportTemplate;\n this.primeTable.showCurrentPageReport = sdcTable.showCurrentPageReport;\n this.primeTable.showJumpToPageDropdown = sdcTable.showJumpToPageDropdown;\n this.primeTable.showJumpToPageInput = sdcTable.showJumpToPageInput;\n this.primeTable.showFirstLastIcon = sdcTable.showFirstLastIcon;\n this.primeTable.showPageLinks = sdcTable.showPageLinks;\n this.primeTable.defaultSortOrder = sdcTable.defaultSortOrder;\n this.primeTable.resetPageOnSort = sdcTable.resetPageOnSort;\n this.primeTable.selectionPageOnly = sdcTable.selectionPageOnly;\n this.primeTable.lazy = sdcTable.lazy;\n this.primeTable.lazyLoadOnInit = sdcTable.lazyLoadOnInit;\n this.primeTable.compareSelectionBy = sdcTable.compareSelectionBy;\n this.primeTable.filters = sdcTable.filters;\n this.primeTable.globalFilterFields = sdcTable.globalFilterFields;\n this.primeTable.filterDelay = sdcTable.filterDelay;\n this.primeTable.filterLocale = sdcTable.filterLocale;\n this.primeTable.expandedRowKeys = sdcTable.expandedRowKeys;\n this.primeTable.editingRowKeys = sdcTable.editingRowKeys;\n this.primeTable.rowExpandMode = sdcTable.rowExpandMode;\n this.primeTable.frozenWidth = sdcTable.frozenWidth;\n this.primeTable.rowGroupMode = sdcTable.rowGroupMode;\n this.primeTable.rowTrackBy = sdcTable.rowTrackBy;\n this.primeTable.rowSelectable = sdcTable.rowSelectable;\n this.primeTable.customSort = sdcTable.customSort;\n this.primeTable.showInitialSortBadge = sdcTable.showInitialSortBadge;\n this.primeTable.autoLayout = sdcTable.autoLayout;\n this.primeTable.exportFunction = sdcTable.exportFunction;\n this.primeTable.exportHeader = sdcTable.exportHeader;\n this.primeTable.stateKey = sdcTable.stateKey;\n this.primeTable.stateStorage = sdcTable.stateStorage;\n this.primeTable.groupRowsBy = sdcTable.groupRowsBy;\n this.primeTable.groupRowsByOrder = sdcTable.groupRowsByOrder;\n this.primeTable.responsiveLayout = sdcTable.responsiveLayout;\n this.primeTable.breakpoint = sdcTable.breakpoint;\n this.primeTable.paginatorLocale = sdcTable.paginatorLocale;\n this.primeTable.first = sdcTable.first;\n this.primeTable.totalRecords = sdcTable.totalRecords;\n this.primeTable.multiSortMeta = sdcTable.multiSortMeta;\n this.primeTable.selectAll = sdcTable.selectAll;\n this.primeTable.loading = sdcTable.loading;\n this.primeTable.loadingIcon = sdcTable.loadingIcon;\n this.primeTable.showLoader = sdcTable.showLoader;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, OnInit } from '@angular/core';\nimport { MenuItem } from 'primeng/api';\nimport { ButtonModule } from 'primeng/button';\nimport { ContextMenuModule } from 'primeng/contextmenu';\nimport { PaginatorModule } from 'primeng/paginator';\nimport { Table, TableModule, TableService } from 'primeng/table';\nimport { validateStylesForComponent } from '../../utils/public-api';\nimport { BodyRowComponent } from './components/body-row/body-row.component';\nimport { HeaderRowComponent } from './components/header-row/header-row.component';\nimport { TableDirective } from './directives/table.directive';\nimport { ObjectColumnData } from './types';\n\n/**\n * A customizable table component built on PrimeNG's Table.\n *\n * This component extends the PrimeNG Table by introducing additional configurations and styling\n * capabilities. It supports defining column data, enabling sorting, exporting data, and integrating\n * context menu options for enhanced user interactions. Additionally, the component allows for dynamic\n * styling through custom CSS classes and leverages Angular's standalone component pattern with OnPush\n * change detection for performance optimization.\n *\n * @since 1.0.0-alpha.2\n * @updated 1.0.0-alpha.2\n */\n@Component({\n standalone: true,\n selector: 'sdc-table',\n templateUrl: './table.component.html',\n styleUrl: './table.component.css',\n imports: [\n CommonModule,\n TableModule,\n ContextMenuModule,\n ButtonModule,\n PaginatorModule,\n HeaderRowComponent,\n BodyRowComponent,\n TableDirective,\n ],\n providers: [TableService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TableComponent extends Table implements OnInit {\n public props = input<typeof Table>();\n /**\n * Single string or whitespace-separated string of additional style classes for the button.\n * Only accepts valid whitespace-separated class names.\n */\n public styleClasses = input('', { transform: validateStylesForComponent(this.constructor.name) });\n public columnData = input.required<ObjectColumnData[]>();\n public sortable = input<boolean>();\n public export = input<boolean>();\n public exportButtonLabel = input<string>('Export');\n public contextMenuOptions = input<MenuItem[]>();\n public projectedElementIdArray = input<string[]>();\n\n protected selectedRow: (typeof this.value)[number];\n\n protected cb(event: any) {}\n}\n","<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 [paginator]=\"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 <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","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TableService {\n\nconstructor() { }\n\n}\n","import { Component } from '@angular/core';\nimport { Button, ButtonModule } from 'primeng/button';\n\n@Component({\n selector: 'sdc-cart',\n standalone: true,\n imports: [ButtonModule],\n templateUrl: './cart.component.html',\n})\nexport class CartComponent extends Button {\n constructor() {\n super();\n }\n}\n","<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","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CartService {\n constructor() {}\n}\n","/*\n * Public API Surface of software-division-components\n */\n\nexport * from './cart.component';\nexport * from './cart.service';\n","import { Component } from '@angular/core';\nimport { Button, ButtonModule } from 'primeng/button';\n\n@Component({\n selector: 'sdc-cart-item',\n standalone: true,\n imports: [ButtonModule],\n templateUrl: './cart-item.component.html',\n})\nexport class CartItemComponent extends Button {\n constructor() {\n super();\n }\n}\n","<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","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CartItemService {\n constructor() {}\n}\n","/*\n * Public API Surface of software-division-components\n */\n\nexport * from './cart-item.component';\nexport * from './cart-item.service';\n","import { Component } from '@angular/core';\nimport { Button, ButtonModule } from 'primeng/button';\n\n@Component({\n selector: 'sdc-legend',\n standalone: true,\n imports: [ButtonModule],\n templateUrl: './legend.component.html',\n})\nexport class LegendComponent extends Button {\n constructor() {\n super();\n }\n}\n","<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","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LegendService {\n constructor() {}\n}\n","/*\n * Public API Surface of software-division-components\n */\n\nexport * from './legend.component';\nexport * from './legend.service';\n","import { Component } from '@angular/core';\nimport { Button, ButtonModule } from 'primeng/button';\n\n@Component({\n selector: 'sdc-loader',\n standalone: true,\n imports: [ButtonModule],\n templateUrl: './loader.component.html',\n})\nexport class LoaderComponent extends Button {\n constructor() {\n super();\n }\n}\n","<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","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoaderService {\n constructor() {}\n}\n","/*\n * Public API Surface of software-division-components\n */\n\nexport * from './loader.component';\nexport * from './loader.service';\n","import { ButtonDesignTokens } from '@primeng/themes/types/button';\n\n// TODO: this requires adaptation to the new design\nexport const sideButtonTokens = {\n root: {\n primary: {\n // Text\n color: '',\n borderColor: '{zinc.50}',\n hoverColor: '',\n activeColor: '',\n // Background\n background: '{zinc.50}',\n hoverBackground: '{zinc.50}',\n activeBackground: '{zinc.50}',\n // Border\n activeBorderColor: '{zinc.50}',\n hoverBorderColor: '{zinc.50}',\n },\n },\n} satisfies ButtonDesignTokens;\n","import { ChangeDetectionStrategy, Component, effect, input, output, signal } from '@angular/core';\nimport { validateStylesForComponent } from '../../private-exports';\nimport { ButtonComponent } from '../../public-api';\nimport { sideButtonTokens } from './styles/side-button.tokens';\nimport { Direction, DirectionObjectKeys, NeighboursStyleClasses } from './types';\n/**\n * Component used to navigating between neighboring sections.\n *\n * It determines the next and previous available sections based on predefined mappings\n * and emits navigation events when users attempt to move between them.\n *\n * @since 1.0.0-alpha.2\n * @updated 1.0.0-alpha.2\n */\n@Component({\n standalone: true,\n selector: 'sdc-neighbours',\n templateUrl: './neighbours.component.html',\n styleUrl: './styles/neighbours.component.css',\n imports: [ButtonComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NeighboursComponent {\n /**\n * Predefined styles for the side button.\n */\n protected readonly sideButtonStyle = sideButtonTokens;\n\n /**\n * The current section identifier.\n */\n public currentSection = input.required<string>();\n\n /**\n * Mapping of MMC section IDs to TDC section IDs.\n */\n public sectionsMmcToTdc = input.required<Record<string, string>>({});\n\n /**\n * Mapping of TDC section IDs to MMC section IDs.\n */\n public sectionsTdcToMmc = input.required<Record<string, string>>({});\n\n /**\n * Data structure defining neighboring relationships between sections.\n */\n public neigboursData = input.required<Record<string, Record<DirectionObjectKeys, string>>>({});\n\n /**\n * Icon for the next navigation button.\n */\n public nextIcon = input<string>('');\n\n /**\n * Icon for the previous navigation button.\n */\n public previousIcon = input<string>('');\n\n /**\n * Flag indicating whether navigation is restricted to available sections only.\n * This requires the sectionsAvailability input to be passed, otherwise the initialization of\n * the component will fail.\n */\n public onlyNavigateToAvailable = input<boolean>();\n\n /**\n * Object defining the availability of sections. Required if you are wanting to allow navigation\n * to available sections only.\n */\n public sectionsAvailability = input<Record<string, any>>({});\n\n /**\n * Custom styling classes for the component.\n */\n public styleClasses = input(\n { middleDivClass: '', sideButtonsClass: '' },\n {\n transform: validateStylesForComponent<NeighboursStyleClasses>(this.constructor.name),\n }\n );\n\n /**\n * Event emitter for section navigation.\n */\n public sectionToNavigate = output<string>();\n\n /**\n * The ID of the previous available section.\n */\n protected previousAvailableSectionId = signal<string | null>(null);\n\n /**\n * The ID of the next available section.\n */\n protected nextAvailableSectionId = signal<string | null>(null);\n\n /**\n * Constant representing the absence of a neighboring section.\n */\n private NO_NEIGHBOUR_VALUE = 'none' as const;\n\n /**\n * Key mappings for neighboring sections.\n */\n private neighboursKeys = {\n prev: 'l',\n next: 'r',\n } satisfies Record<Direction, DirectionObjectKeys>;\n\n /**\n * Key mappings for navigation directions.\n */\n private keyMapping = {\n prev: 'previous',\n next: 'next',\n } as const;\n\n constructor() {\n effect(\n () => {\n this.setAvailableSection('prev', this.currentSection());\n this.setAvailableSection('next', this.currentSection());\n },\n { allowSignalWrites: true }\n );\n }\n\n /**\n * Handles navigation button clicks. Emits the new section identificator to navigate to.\n * @param goTo - The direction to navigate.\n * @throws If there is no valid section to navigate to.\n */\n public onClick(goTo: 'prev' | 'next') {\n const tdcId = this.getTdcIdFromDirection(goTo);\n\n if (!tdcId) {\n throw new Error(`There is no valid ${this.keyMapping[goTo]} section to navigate.`);\n }\n\n this.sectionToNavigate.emit(tdcId);\n }\n\n /**\n * Retrieves the TDC section ID based on the navigation direction.\n * @param direction - The navigation direction.\n * @returns The section ID to navigate to, or null if unavailable.\n */\n private getTdcIdFromDirection(direction: Direction) {\n if (direction === 'prev') {\n return this.previousAvailableSectionId();\n } else {\n return this.nextAvailableSectionId();\n }\n }\n\n /**\n * Determines and sets the available section for navigation in the specified direction.\n * @param type - The navigation direction.\n * @param [currentSection] - The current section ID (optional).\n * @throws If navigation is restricted and sectionsAvailability is not provided.\n */\n private setAvailableSection(type: 'prev' | 'next', currentSection?: string): void {\n const neighborKey = this.neighboursKeys[type];\n const currentSectionMmcId = this.sectionsTdcToMmc()[currentSection ?? this.currentSection()];\n const neighborObject = this.neigboursData()[currentSectionMmcId];\n\n const neighborSectionMmcId = neighborObject[neighborKey];\n const neighborSectionTdcId = this.sectionsMmcToTdc()[neighborSectionMmcId];\n\n if (neighborSectionTdcId) {\n if (this.onlyNavigateToAvailable()) {\n if (this.sectionsAvailability()) {\n const hasAvailability = !!this.sectionsAvailability()[neighborSectionTdcId];\n if (!hasAvailability) {\n return;\n }\n } else {\n throw new Error(\n 'To only navigate to available sections, it is required to pass the sections availability parameter.'\n );\n }\n }\n\n if (type === 'prev') {\n this.previousAvailableSectionId.set(neighborSectionTdcId);\n }\n if (type === 'next') {\n this.nextAvailableSectionId.set(neighborSectionTdcId);\n }\n return;\n }\n\n if (neighborSectionMmcId === this.NO_NEIGHBOUR_VALUE) {\n if (type === 'prev') {\n this.previousAvailableSectionId.set(null);\n }\n if (type === 'next') {\n this.nextAvailableSectionId.set(null);\n }\n return;\n }\n\n return this.setAvailableSection(type, neighborSectionTdcId);\n }\n}\n","<div id=\"sdc-neighbours\" class=\"wrapper__neighbours--gap\">\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","import { Component } from '@angular/core';\nimport { Button, ButtonModule } from 'primeng/button';\n\n@Component({\n selector: 'sdc-popover',\n standalone: true,\n imports: [ButtonModule],\n templateUrl: './popover.component.html',\n})\nexport class PopoverComponent extends Button {\n constructor() {\n super();\n }\n}\n","<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","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PopoverService {\n constructor() {}\n}\n","/*\n * Public API Surface of software-division-components\n */\n\nexport * from './popover.component';\nexport * from './popover.service';\n","import { Component } from '@angular/core';\nimport { Button, ButtonModule } from 'primeng/button';\n\n@Component({\n selector: 'sdc-stepper',\n standalone: true,\n imports: [ButtonModule],\n templateUrl: './stepper.component.html',\n})\nexport class StepperComponent extends Button {\n constructor() {\n super();\n }\n}\n","<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","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StepperService {\n constructor() {}\n}\n","/*\n * Public API Surface of software-division-components\n */\n\nexport * from './stepper.component';\nexport * from './stepper.service';\n","import { Component } from '@angular/core';\nimport { Button, ButtonModule } from 'primeng/button';\n\n@Component({\n selector: 'sdc-ticket-info-item',\n standalone: true,\n imports: [ButtonModule],\n templateUrl: './ticket-info-item.component.html',\n})\nexport class TicketInfoItemComponent extends Button {\n constructor() {\n super();\n }\n}\n","<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","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TicketInfoItemService {\n constructor() {}\n}\n","/*\n * Public API Surface of software-division-components\n */\n\nexport * from './ticket-info-item.component';\nexport * from './ticket-info-item.service';\n","import { InjectionToken } from '@angular/core';\nimport { NgSdComponentsConfig } from '../types';\n\nexport const NG_SD_COMPONENTS_CONFIG = new InjectionToken<NgSdComponentsConfig>('NgSdComponentsConfig');\n","import { definePreset } from '@primeng/themes';\nimport Aura from '@primeng/themes/aura';\n\nexport const GenericTheme = definePreset(Aura, {\n components: {\n button: {\n borderRadius: '9999px',\n },\n },\n});\n","import { Directive, HostBinding, Inject } from '@angular/core';\nimport { NG_SD_COMPONENTS_CONFIG } from '../lib-provider/config-token';\nimport { NgSdComponentsConfig } from '../types';\n\n@Directive({\n standalone: true,\n selector: '[themeProvider]',\n})\nexport class ThemeProviderDirective {\n @HostBinding('class') class: string = '';\n theme: string = '';\n\n constructor(@Inject(NG_SD_COMPONENTS_CONFIG) private configuration: NgSdComponentsConfig) {\n this.theme = this.configuration.theme;\n this.class = `theme-${this.theme}`;\n }\n}\n","import { CurrencyPipe, DatePipe } from '@angular/common';\nimport { Provider } from '@angular/core';\nimport { provideAnimationsAsync } from '@angular/platform-browser/animations/async';\nimport { providePrimeNG } from 'primeng/config';\nimport { NgSdComponentsConfig } from '../types';\nimport { NG_SD_COMPONENTS_CONFIG } from './config-token';\n\nimport Aura from '@primeng/themes/aura';\nimport { GenericTheme } from '../theme-provider';\n/**\n * Provides all necessary dependencies for the library:\n * - PrimeNG them\n * - Angular Pipes (`DatePipe`, `CurrencyPipe`)\n * - Animations\n * - CommonModule\n */\nexport function provideSdc(config: NgSdComponentsConfig): Provider[] {\n const preset = config.theme === 'generic' ? GenericTheme : Aura;\n // if config.theme is generic, pass a theme, otherwise, pass another theme\n const providers = [\n DatePipe,\n CurrencyPipe,\n { provide: NG_SD_COMPONENTS_CONFIG, useValue: config ?? 'generic' },\n provideAnimationsAsync() as unknown as Provider,\n providePrimeNG({\n theme: {\n preset,\n options: {\n cssLayer: {\n name: 'primeng',\n order: 'tailwind-utilities, tailwind-base, primeng, sdc-styles',\n },\n },\n },\n }) as unknown as Provider,\n ];\n\n return [...providers];\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\nimport { Button, ButtonModule, ButtonProps, ButtonStyle } from 'primeng/button';\nimport { RippleModule } from 'primeng/ripple';\nimport { TooltipModule, TooltipStyle } from 'primeng/tooltip';\nimport { ThemeProviderDirective } from '../../shared';\nimport { validateStylesForComponent } from '../../utils/validate-styles-for-component';\nimport { ValidTooltipPositions } from './types';\n/**\n * A customizable button component built on PrimeNG's Button component.\n *\n * This component supports various configurations, such as tooltips, badge values,\n * and theme styles. It uses the `ThemeProviderDirective` to apply theming dynamically.\n *\n * @since 1.0.0-alpha.1\n * @updated 1.0.0-alpha.2\n */\n@Component({\n standalone: true,\n selector: 'sdc-button',\n styleUrls: ['./button.component.css'],\n templateUrl: './button.component.html',\n providers: [ButtonStyle, Button, TooltipStyle],\n imports: [CommonModule, ButtonModule, TooltipModule, RippleModule, ThemeProviderDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.Emulated,\n})\nexport class ButtonComponent extends Button {\n public props = input<ButtonProps>();\n\n /**\n * Tooltip text for the button.\n */\n public tooltip = input<string>('');\n\n /**\n * Tooltip position relative to the button.\n */\n public tooltipPos = input<ValidTooltipPositions>();\n\n /**\n * Value displayed as a badge on the button.\n */\n public badgeValue = input<string>('');\n\n /**\n * Value displayed as a badge on the button.\n */\n public debounceTimeInMs = input<number>(0);\n\n /**\n * Single string or whitespace-separated string of additional style classes for the button.\n * Only accepts valid whitespace-separated class names.\n */\n public styleClasses = input('', { transform: validateStylesForComponent(this.constructor.name) });\n\n /**\n * Tracks whether the button is in a debounced state.\n */\n private isDebounced = false;\n\n /**\n * The current theme applied to the button. This is set by the `ThemeProviderDirective`.\n */\n protected theme: string = '';\n\n /**\n * CSS class based on the theme. This is dynamically generated.\n */\n protected themeClass: string = '';\n\n constructor() {\n super();\n }\n\n /**\n * Handles the click event for the button with debounce logic.\n *\n * This method prevents multiple rapid clicks by disabling the button\n * for the specified debounce time. If `debounceTime` is set to 0,\n * the button remains interactive without debounce behavior.\n *\n * @param event - The click event triggered by the user.\n */\n public handleClick(event: MouseEvent): void {\n this.onClick.emit(event);\n\n if (this.isDebounced || this.debounceTimeInMs() <= 0) return;\n\n this.disabled = true;\n this.isDebounced = true;\n\n setTimeout(() => {\n this.disabled = false;\n this.isDebounced = false;\n }, this.debounceTimeInMs());\n }\n}\n","<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 [type]=\"type\"\n [plain]=\"plain\"\n [fluid]=\"fluid\"\n [loading]=\"loading\"\n [rounded]=\"rounded\"\n [severity]=\"severity\"\n [outlined]=\"outlined\"\n [size]=\"size ?? null\"\n [pTooltip]=\"tooltip()\"\n [autofocus]=\"autofocus\"\n [loadingIcon]=\"loadingIcon\"\n [tooltipPosition]=\"tooltipPos()\"\n (click)=\"handleClick($event)\"\n (blur)=\"this.onBlur.emit($event)\">\n <ng-content></ng-content>\n</button>\n","/*\n * Public API Surface of software-division-components\n */\n\nexport * from './button.component';\n","import { Component } from '@angular/core';\nimport { Button, ButtonModule } from 'primeng/button';\n\n@Component({\n selector: 'sdc-drawer',\n standalone: true,\n imports: [ButtonModule],\n templateUrl: './drawer.component.html',\n})\nexport class DrawerComponent extends Button {\n constructor() {\n super();\n }\n}\n","<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","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DrawerService {\n constructor() {}\n}\n","/*\n * Public API Surface of software-division-components\n */\n\nexport * from './drawer.component';\nexport * from './drawer.service';\n","import { Component } from '@angular/core';\nimport { Button, ButtonModule } from 'primeng/button';\n\n@Component({\n selector: 'sdc-drawer',\n standalone: true,\n imports: [ButtonModule],\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent extends Button {\n constructor() {\n super();\n }\n}\n","<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","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalService {\n constructor() {}\n}\n","/*\n * Public API Surface of software-division-components\n */\n\nexport * from './modal.component';\nexport * from './modal.service';\n","// NOTE: This will determine what is publicly available from within the library to application consumers\n// Be careful with what you expose\n\nexport * from './backoffice';\nexport * from './dvm';\nexport * from './generic';\nexport { provideSdc } from './shared/lib-provider';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.TableComponent","TableService","i1","i2","i3"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"3ddv-software-division-components.mjs","sources":["../../projects/software-division-components/src/utils/validate-styles-for-component.ts","../../projects/software-division-components/src/shared/format-value.pipe.ts","../../projects/software-division-components/src/backoffice/table/components/body-row/body-row.component.ts","../../projects/software-division-components/src/backoffice/table/components/body-row/body-row.component.html","../../projects/software-division-components/src/backoffice/table/components/header-row/header-row.component.ts","../../projects/software-division-components/src/backoffice/table/components/header-row/header-row.component.html","../../projects/software-division-components/src/backoffice/table/directives/table.directive.ts","../../projects/software-division-components/src/backoffice/table/table.component.ts","../../projects/software-division-components/src/backoffice/table/table.component.html","../../projects/software-division-components/src/backoffice/table/table.service.ts","../../projects/software-division-components/src/dvm/cart/cart.component.ts","../../projects/software-division-components/src/dvm/cart/cart.component.html","../../projects/software-division-components/src/dvm/cart/cart.service.ts","../../projects/software-division-components/src/dvm/cart/public-api.ts","../../projects/software-division-components/src/dvm/cart-item/cart-item.component.ts","../../projects/software-division-components/src/dvm/cart-item/cart-item.component.html","../../projects/software-division-components/src/dvm/cart-item/cart-item.service.ts","../../projects/software-division-components/src/dvm/cart-item/public-api.ts","../../projects/software-division-components/src/dvm/legend/legend.component.ts","../../projects/software-division-components/src/dvm/legend/legend.component.html","../../projects/software-division-components/src/dvm/legend/legend.service.ts","../../projects/software-division-components/src/dvm/legend/public-api.ts","../../projects/software-division-components/src/dvm/loader/loader.component.ts","../../projects/software-division-components/src/dvm/loader/loader.component.html","../../projects/software-division-components/src/dvm/loader/loader.service.ts","../../projects/software-division-components/src/dvm/loader/public-api.ts","../../projects/software-division-components/src/dvm/neighbours/styles/side-button.tokens.ts","../../projects/software-division-components/src/dvm/neighbours/neighbours.component.ts","../../projects/software-division-components/src/dvm/neighbours/neighbours.component.html","../../projects/software-division-components/src/dvm/popover/popover.component.ts","../../projects/software-division-components/src/dvm/popover/popover.component.html","../../projects/software-division-components/src/dvm/popover/popover.service.ts","../../projects/software-division-components/src/dvm/popover/public-api.ts","../../projects/software-division-components/src/dvm/stepper/stepper.component.ts","../../projects/software-division-components/src/dvm/stepper/stepper.component.html","../../projects/software-division-components/src/dvm/stepper/stepper.service.ts","../../projects/software-division-components/src/dvm/stepper/public-api.ts","../../projects/software-division-components/src/dvm/ticket-info-item/ticket-info-item.component.ts","../../projects/software-division-components/src/dvm/ticket-info-item/ticket-info-item.component.html","../../projects/software-division-components/src/dvm/ticket-info-item/ticket-info-item.service.ts","../../projects/software-division-components/src/dvm/ticket-info-item/public-api.ts","../../projects/software-division-components/src/shared/lib-provider/config-token.ts","../../projects/software-division-components/src/shared/theme-provider/generic-theme.ts","../../projects/software-division-components/src/shared/theme-provider/theme-provider.directive.ts","../../projects/software-division-components/src/shared/lib-provider/provide-sdc.ts","../../projects/software-division-components/src/generic/button/button.component.ts","../../projects/software-division-components/src/generic/button/button.component.html","../../projects/software-division-components/src/generic/button/public-api.ts","../../projects/software-division-components/src/generic/drawer/drawer.component.ts","../../projects/software-division-components/src/generic/drawer/drawer.component.html","../../projects/software-division-components/src/generic/drawer/drawer.service.ts","../../projects/software-division-components/src/generic/drawer/public-api.ts","../../projects/software-division-components/src/generic/modal/modal.component.ts","../../projects/software-division-components/src/generic/modal/modal.component.html","../../projects/software-division-components/src/generic/modal/modal.service.ts","../../projects/software-division-components/src/generic/modal/public-api.ts","../../projects/software-division-components/src/public-api.ts","../../projects/software-division-components/src/3ddv-software-division-components.ts"],"sourcesContent":["function validateCssClass(value: string, componentName?: string): asserts value is string {\n const regex = /^([a-zA-Z][a-zA-Z0-9-_]*)(\\s[a-zA-Z][a-zA-Z0-9-_]*)*$/;\n const isValidCssClass = regex.test(value);\n\n if (!isValidCssClass) {\n throw new Error(\n `Invalid CSS class string passed as input to \"styleClasses\" input, found on ${componentName}.\n Please make sure your input is a valid CSS class or a list of whitespace-separated classes.\n The value provided was: ${value}`\n );\n }\n}\n\nexport function validateStylesForComponent<T extends Record<string, string> | string>(\n componentName: string\n): (styles: T) => T {\n return (styles: T): T => {\n // Styles will be an empty string if they are not defined\n if (styles === '') {\n return styles;\n }\n\n if (typeof styles === 'string') {\n // Some components just have to style one element,\n // so a string input is sufficient\n validateCssClass(styles, componentName);\n } else {\n // While others require an object ot be able to style\n // different parts of the component, which requires an object\n // to target different parts of the components with different classes\n const stylesValues = Object.values(styles);\n for (const styleValue of stylesValues) {\n validateCssClass(styleValue, componentName);\n }\n }\n\n return styles;\n };\n}\n","import { CurrencyPipe, DatePipe } from '@angular/common';\nimport { inject, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n pure: true,\n standalone: true,\n name: 'formatValue',\n})\nexport class FormatValuePipe implements PipeTransform {\n private currencyPipe = inject(CurrencyPipe);\n private datePipe = inject(DatePipe);\n\n public transform(value: string, pipe: any): string {\n switch (pipe) {\n case 'currency':\n return this.currencyPipe.transform(value) ?? '';\n case 'date':\n return this.datePipe.transform(value) ?? '';\n default:\n return value ?? '';\n }\n }\n}\n","import { Component, input } from '@angular/core';\nimport { FormatValuePipe } from '../../../../shared/format-value.pipe';\nimport { ObjectColumnData } from '../../types';\n\n@Component({\n standalone: true,\n selector: '[app-body-row]',\n templateUrl: './body-row.component.html',\n styleUrls: ['./body-row.component.css'],\n imports: [FormatValuePipe],\n})\nexport class BodyRowComponent {\n public rows = input.required<Record<string, any>>();\n public columns = input.required<ObjectColumnData[]>();\n}\n","@for (col of columns(); track col.field) {\n <td>\n {{ rows()[col.field] | formatValue: col?.options?.pipe }}\n </td>\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { TableModule } from 'primeng/table';\nimport { ObjectColumnData } from '../../types';\n\n@Component({\n standalone: true,\n selector: '[app-header-row]',\n templateUrl: './header-row.component.html',\n styleUrls: ['./header-row.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: `\n host: {\n display: contents;\n }\n `,\n imports: [TableModule, CommonModule],\n})\nexport class HeaderRowComponent {\n public columns = input.required<ObjectColumnData[]>();\n public reorderableColumns = input.required<boolean>();\n public resizableColumns = input.required<boolean>();\n public resizableAndReorderable = computed(() => this.resizableColumns() && this.reorderableColumns());\n}\n","@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","import { Directive, Host, Optional } from '@angular/core';\nimport { Table } from 'primeng/table';\nimport { TableComponent } from '../table.component';\n\n@Directive({\n standalone: true,\n selector: 'p-table',\n})\nexport class TableDirective {\n constructor(\n private primeTable: Table,\n @Host() @Optional() sdcTable: TableComponent\n ) {\n console.log('DELETE: ', sdcTable);\n\n if (!sdcTable) return;\n\n // ------------------------------\n // 1) Assign TableComponent’s\n // inputs to the PrimeNG Table\n // ------------------------------\n this.primeTable.style = sdcTable.style;\n this.primeTable.value = sdcTable.value;\n this.primeTable.dataKey = sdcTable.dataKey;\n this.primeTable.rows = sdcTable.rows;\n this.primeTable.sortMode = sdcTable.sortMode;\n this.primeTable.sortField = sdcTable.sortField;\n this.primeTable.sortOrder = sdcTable.sortOrder;\n this.primeTable.size = sdcTable.size;\n this.primeTable.rowHover = sdcTable.rowHover ?? true;\n this.primeTable.scrollable = sdcTable.scrollable;\n this.primeTable.scrollHeight = sdcTable.scrollHeight;\n this.primeTable.scrollDirection = sdcTable.scrollDirection;\n this.primeTable.showGridlines = sdcTable.showGridlines;\n this.primeTable.resizableColumns = sdcTable.resizableColumns;\n this.primeTable.reorderableColumns = sdcTable.reorderableColumns;\n this.primeTable.columnResizeMode = sdcTable.columnResizeMode;\n this.primeTable.rowsPerPageOptions = sdcTable.rowsPerPageOptions;\n this.primeTable.selection = sdcTable.selection;\n this.primeTable.editMode = sdcTable.editMode;\n this.primeTable.frozenValue = sdcTable.frozenValue;\n this.primeTable.frozenColumns = sdcTable.frozenColumns;\n this.primeTable.selectionMode = sdcTable.selectionMode;\n this.primeTable.contextMenuSelection = sdcTable.contextMenuSelection;\n this.primeTable.contextMenuSelectionMode = sdcTable.contextMenuSelectionMode;\n this.primeTable.paginatorDropdownScrollHeight = sdcTable.paginatorDropdownScrollHeight;\n this.primeTable.paginatorDropdownAppendTo = sdcTable.paginatorDropdownAppendTo;\n this.primeTable.currentPageReportTemplate = sdcTable.currentPageReportTemplate;\n this.primeTable.showCurrentPageReport = sdcTable.showCurrentPageReport;\n this.primeTable.showJumpToPageDropdown = sdcTable.showJumpToPageDropdown;\n this.primeTable.showJumpToPageInput = sdcTable.showJumpToPageInput;\n this.primeTable.showFirstLastIcon = sdcTable.showFirstLastIcon;\n this.primeTable.showPageLinks = sdcTable.showPageLinks;\n this.primeTable.defaultSortOrder = sdcTable.defaultSortOrder;\n this.primeTable.resetPageOnSort = sdcTable.resetPageOnSort;\n this.primeTable.selectionPageOnly = sdcTable.selectionPageOnly;\n this.primeTable.lazy = sdcTable.lazy;\n this.primeTable.lazyLoadOnInit = sdcTable.lazyLoadOnInit;\n this.primeTable.compareSelectionBy = sdcTable.compareSelectionBy;\n this.primeTable.filters = sdcTable.filters;\n this.primeTable.globalFilterFields = sdcTable.globalFilterFields;\n this.primeTable.filterDelay = sdcTable.filterDelay;\n this.primeTable.filterLocale = sdcTable.filterLocale;\n this.primeTable.expandedRowKeys = sdcTable.expandedRowKeys;\n this.primeTable.editingRowKeys = sdcTable.editingRowKeys;\n this.primeTable.rowExpandMode = sdcTable.rowExpandMode;\n this.primeTable.frozenWidth = sdcTable.frozenWidth;\n this.primeTable.rowGroupMode = sdcTable.rowGroupMode;\n this.primeTable.rowTrackBy = sdcTable.rowTrackBy;\n this.primeTable.rowSelectable = sdcTable.rowSelectable;\n this.primeTable.customSort = sdcTable.customSort;\n this.primeTable.showInitialSortBadge = sdcTable.showInitialSortBadge;\n this.primeTable.autoLayout = sdcTable.autoLayout;\n this.primeTable.exportFunction = sdcTable.exportFunction;\n this.primeTable.exportHeader = sdcTable.exportHeader;\n this.primeTable.stateKey = sdcTable.stateKey;\n this.primeTable.stateStorage = sdcTable.stateStorage;\n this.primeTable.groupRowsBy = sdcTable.groupRowsBy;\n this.primeTable.groupRowsByOrder = sdcTable.groupRowsByOrder;\n this.primeTable.responsiveLayout = sdcTable.responsiveLayout;\n this.primeTable.breakpoint = sdcTable.breakpoint;\n this.primeTable.paginatorLocale = sdcTable.paginatorLocale;\n this.primeTable.first = sdcTable.first;\n this.primeTable.totalRecords = sdcTable.totalRecords;\n this.primeTable.multiSortMeta = sdcTable.multiSortMeta;\n this.primeTable.selectAll = sdcTable.selectAll;\n this.primeTable.loading = sdcTable.loading;\n this.primeTable.loadingIcon = sdcTable.loadingIcon;\n this.primeTable.showLoader = sdcTable.showLoader;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, OnInit } from '@angular/core';\nimport { MenuItem } from 'primeng/api';\nimport { ButtonModule } from 'primeng/button';\nimport { ContextMenuModule } from 'primeng/contextmenu';\nimport { PaginatorModule } from 'primeng/paginator';\nimport { Table, TableModule, TableService } from 'primeng/table';\nimport { validateStylesForComponent } from '../../utils/public-api';\nimport { BodyRowComponent } from './components/body-row/body-row.component';\nimport { HeaderRowComponent } from './components/header-row/header-row.component';\nimport { TableDirective } from './directives/table.directive';\nimport { ObjectColumnData } from './types';\n\n/**\n * A customizable table component built on PrimeNG's Table.\n *\n * This component extends the PrimeNG Table by introducing additional configurations and styling\n * capabilities. It supports defining column data, enabling sorting, exporting data, and integrating\n * context menu options for enhanced user interactions. Additionally, the component allows for dynamic\n * styling through custom CSS classes and leverages Angular's standalone component pattern with OnPush\n * change detection for performance optimization.\n *\n * @since 1.0.0-alpha.2\n * @updated 1.0.0-alpha.2\n */\n@Component({\n standalone: true,\n selector: 'sdc-table',\n templateUrl: './table.component.html',\n styleUrl: './table.component.css',\n imports: [\n CommonModule,\n TableModule,\n ContextMenuModule,\n ButtonModule,\n PaginatorModule,\n HeaderRowComponent,\n BodyRowComponent,\n TableDirective,\n ],\n providers: [TableService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TableComponent extends Table implements OnInit {\n public props = input<typeof Table>();\n /**\n * Single string or whitespace-separated string of additional style classes for the button.\n * Only accepts valid whitespace-separated class names.\n */\n public styleClasses = input('', { transform: validateStylesForComponent(this.constructor.name) });\n public columnData = input.required<ObjectColumnData[]>();\n public sortable = input<boolean>();\n public export = input<boolean>();\n public exportButtonLabel = input<string>('Export');\n public contextMenuOptions = input<MenuItem[]>();\n public projectedElementIdArray = input<string[]>();\n\n protected selectedRow: (typeof this.value)[number];\n\n protected cb(event: any) {}\n}\n","<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 [paginator]=\"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 <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","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TableService {\n\nconstructor() { }\n\n}\n","import { Component } from '@angular/core';\nimport { Button, ButtonModule } from 'primeng/button';\n\n@Component({\n selector: 'sdc-cart',\n standalone: true,\n imports: [ButtonModule],\n templateUrl: './cart.component.html',\n})\nexport class CartComponent extends Button {\n constructor() {\n super();\n }\n}\n","<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","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CartService {\n constructor() {}\n}\n","/*\n * Public API Surface of software-division-components\n */\n\nexport * from './cart.component';\nexport * from './cart.service';\n","import { Component } from '@angular/core';\nimport { Button, ButtonModule } from 'primeng/button';\n\n@Component({\n selector: 'sdc-cart-item',\n standalone: true,\n imports: [ButtonModule],\n templateUrl: './cart-item.component.html',\n})\nexport class CartItemComponent extends Button {\n constructor() {\n super();\n }\n}\n","<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","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CartItemService {\n constructor() {}\n}\n","/*\n * Public API Surface of software-division-components\n */\n\nexport * from './cart-item.component';\nexport * from './cart-item.service';\n","import { Component } from '@angular/core';\nimport { Button, ButtonModule } from 'primeng/button';\n\n@Component({\n selector: 'sdc-legend',\n standalone: true,\n imports: [ButtonModule],\n templateUrl: './legend.component.html',\n})\nexport class LegendComponent extends Button {\n constructor() {\n super();\n }\n}\n","<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","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LegendService {\n constructor() {}\n}\n","/*\n * Public API Surface of software-division-components\n */\n\nexport * from './legend.component';\nexport * from './legend.service';\n","import { Component } from '@angular/core';\nimport { Button, ButtonModule } from 'primeng/button';\n\n@Component({\n selector: 'sdc-loader',\n standalone: true,\n imports: [ButtonModule],\n templateUrl: './loader.component.html',\n})\nexport class LoaderComponent extends Button {\n constructor() {\n super();\n }\n}\n","<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","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoaderService {\n constructor() {}\n}\n","/*\n * Public API Surface of software-division-components\n */\n\nexport * from './loader.component';\nexport * from './loader.service';\n","import { ButtonDesignTokens } from '@primeng/themes/types/button';\n\n// TODO: this requires adaptation to the new design\nexport const sideButtonTokens = {\n root: {\n primary: {\n // Text\n color: '',\n borderColor: '{zinc.50}',\n hoverColor: '',\n activeColor: '',\n // Background\n background: '{zinc.50}',\n hoverBackground: '{zinc.50}',\n activeBackground: '{zinc.50}',\n // Border\n activeBorderColor: '{zinc.50}',\n hoverBorderColor: '{zinc.50}',\n },\n },\n} satisfies ButtonDesignTokens;\n","import { ChangeDetectionStrategy, Component, effect, input, output, signal } from '@angular/core';\nimport { validateStylesForComponent } from '../../private-exports';\nimport { ButtonComponent } from '../../public-api';\nimport { sideButtonTokens } from './styles/side-button.tokens';\nimport { Direction, DirectionObjectKeys, NeighboursStyleClasses } from './types';\n/**\n * Component used to navigate between neighbouring sections.\n *\n * It determines the next and previous available sections based on predefined mappings\n * and emits navigation events when users attempt to move between them.\n *\n * @since 1.0.0-alpha.2\n * @updated 1.0.0-alpha.2\n */\n@Component({\n standalone: true,\n selector: 'sdc-neighbours',\n templateUrl: './neighbours.component.html',\n styleUrl: './styles/neighbours.component.css',\n imports: [ButtonComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NeighboursComponent {\n /**\n * Predefined styles for the side button.\n */\n protected readonly sideButtonStyle = sideButtonTokens;\n\n /**\n * The current section identifier.\n */\n public currentSection = input.required<string>();\n\n /**\n * Mapping of MMC section IDs to TDC section IDs.\n */\n public sectionsMmcToTdc = input.required<Record<string, string>>({});\n\n /**\n * Mapping of TDC section IDs to MMC section IDs.\n */\n public sectionsTdcToMmc = input.required<Record<string, string>>({});\n\n /**\n * Data structure defining neighboring relationships between sections.\n */\n public neigboursData = input.required<Record<string, Record<DirectionObjectKeys, string>>>({});\n\n /**\n * Icon for the next navigation button.\n */\n public nextIcon = input<string>('');\n\n /**\n * Icon for the previous navigation button.\n */\n public previousIcon = input<string>('');\n\n /**\n * Flag indicating whether navigation is restricted to available sections only.\n * This requires the sectionsAvailability input to be passed, otherwise the initialization of\n * the component will fail.\n */\n public onlyNavigateToAvailable = input<boolean>();\n\n /**\n * Object defining the availability of sections. Required if you are wanting to allow navigation\n * to available sections only.\n */\n public sectionsAvailability = input<Record<string, any>>({});\n\n /**\n * Custom styling classes for the component.\n */\n public styleClasses = input(\n { middleDivClass: '', sideButtonsClass: '' },\n {\n transform: validateStylesForComponent<NeighboursStyleClasses>(this.constructor.name),\n }\n );\n\n /**\n * Event emitter for section navigation.\n */\n public sectionToNavigate = output<string>();\n\n /**\n * The ID of the previous available section.\n */\n protected previousAvailableSectionId = signal<string | null>(null);\n\n /**\n * The ID of the next available section.\n */\n protected nextAvailableSectionId = signal<string | null>(null);\n\n /**\n * Constant representing the absence of a neighboring section.\n */\n private NO_NEIGHBOUR_VALUE = 'none' as const;\n\n /**\n * Key mappings for neighboring sections.\n */\n private neighboursKeys = {\n prev: 'l',\n next: 'r',\n } satisfies Record<Direction, DirectionObjectKeys>;\n\n /**\n * Key mappings for navigation directions.\n */\n private keyMapping = {\n prev: 'previous',\n next: 'next',\n } as const;\n\n constructor() {\n effect(\n () => {\n this.findAndSetAvailableSection('prev', this.currentSection());\n this.findAndSetAvailableSection('next', this.currentSection());\n },\n { allowSignalWrites: true }\n );\n }\n\n /**\n * Handles navigation button clicks. Emits the new section identificator to navigate to.\n * @param goTo - The direction to navigate.\n * @throws If there is no valid section to navigate to.\n */\n public onClick(goTo: 'prev' | 'next') {\n const tdcId = this.getTdcIdFromDirection(goTo);\n\n if (!tdcId) {\n throw new Error(`There is no valid ${this.keyMapping[goTo]} section to navigate.`);\n }\n\n this.sectionToNavigate.emit(tdcId);\n }\n\n /**\n * Retrieves the TDC section ID based on the navigation direction.\n * @param direction - The navigation direction.\n * @returns The section ID to navigate to, or null if unavailable.\n */\n private getTdcIdFromDirection(direction: Direction) {\n if (direction === 'prev') {\n return this.previousAvailableSectionId();\n } else {\n return this.nextAvailableSectionId();\n }\n }\n\n /**\n * Determines and sets the available section for navigation in the specified direction.\n * @param type - The navigation direction.\n * @param [currentSection] - The current section ID (optional).\n * @throws If navigation is restricted and sectionsAvailability is not provided.\n */\n private findAndSetAvailableSection(type: Direction, currentSection?: string): void {\n // Get the equivalent of MMC ID since the neighbours data contains MMC ID\n const currentSectionMmcId = this.sectionsTdcToMmc()[currentSection ?? this.currentSection()];\n\n // Object that contains the neighbours of the current section\n const neighborObject = this.neigboursData()[currentSectionMmcId];\n\n // Get the neighbours from the neighbours object according to neighbour key\n const neighborObjectKey = this.neighboursKeys[type];\n const neighborSectionMmcId = neighborObject[neighborObjectKey];\n\n // Get back the translation of the neighbour to TDC ID\n const neighborSectionTdcId = this.sectionsMmcToTdc()[neighborSectionMmcId];\n\n if (neighborSectionTdcId) {\n // If we only navigate to available sections, check for availablibility.\n if (this.onlyNavigateToAvailable()) {\n if (this.sectionsAvailability()) {\n const hasAvailability = !!this.sectionsAvailability()[neighborSectionTdcId];\n // Set the section to null and stop the recursion if no availability.\n if (!hasAvailability) {\n return this.setAvailableSection(type, null);\n }\n } else {\n throw new Error(\n 'To only navigate to available sections, it is required to pass the sections availability parameter.'\n );\n }\n }\n\n return this.setAvailableSection(type, neighborSectionTdcId);\n }\n\n // If no section was found or the value of the section was None, set to null and stop the recursion\n if (!neighborSectionMmcId || neighborSectionMmcId === this.NO_NEIGHBOUR_VALUE) {\n return this.setAvailableSection(type, null);\n }\n\n return this.findAndSetAvailableSection(type, neighborSectionTdcId);\n }\n\n /**\n * Sets the previous or next section values to the passed value\n *\n * @param type - The navigation direction.\n * @param value - Value to set to either previous or next available section\n */\n private setAvailableSection(type: Direction, value: string | null): void {\n if (type === 'prev') {\n this.previousAvailableSectionId.set(value);\n }\n if (type === 'next') {\n this.nextAvailableSectionId.set(value);\n }\n }\n}\n","<div id=\"sdc-neighbours\" class=\"wrapper__neighbours--gap\">\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","import { Component } from '@angular/core';\nimport { Button, ButtonModule } from 'primeng/button';\n\n@Component({\n selector: 'sdc-popover',\n standalone: true,\n imports: [ButtonModule],\n templateUrl: './popover.component.html',\n})\nexport class PopoverComponent extends Button {\n constructor() {\n super();\n }\n}\n","<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","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PopoverService {\n constructor() {}\n}\n","/*\n * Public API Surface of software-division-components\n */\n\nexport * from './popover.component';\nexport * from './popover.service';\n","import { Component } from '@angular/core';\nimport { Button, ButtonModule } from 'primeng/button';\n\n@Component({\n selector: 'sdc-stepper',\n standalone: true,\n imports: [ButtonModule],\n templateUrl: './stepper.component.html',\n})\nexport class StepperComponent extends Button {\n constructor() {\n super();\n }\n}\n","<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","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StepperService {\n constructor() {}\n}\n","/*\n * Public API Surface of software-division-components\n */\n\nexport * from './stepper.component';\nexport * from './stepper.service';\n","import { Component } from '@angular/core';\nimport { Button, ButtonModule } from 'primeng/button';\n\n@Component({\n selector: 'sdc-ticket-info-item',\n standalone: true,\n imports: [ButtonModule],\n templateUrl: './ticket-info-item.component.html',\n})\nexport class TicketInfoItemComponent extends Button {\n constructor() {\n super();\n }\n}\n","<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","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TicketInfoItemService {\n constructor() {}\n}\n","/*\n * Public API Surface of software-division-components\n */\n\nexport * from './ticket-info-item.component';\nexport * from './ticket-info-item.service';\n","import { InjectionToken } from '@angular/core';\nimport { NgSdComponentsConfig } from '../types';\n\nexport const NG_SD_COMPONENTS_CONFIG = new InjectionToken<NgSdComponentsConfig>('NgSdComponentsConfig');\n","import { definePreset } from '@primeng/themes';\nimport Aura from '@primeng/themes/aura';\n\nexport const GenericTheme = definePreset(Aura, {\n components: {\n button: {\n borderRadius: '9999px',\n },\n },\n});\n","import { Directive, HostBinding, Inject } from '@angular/core';\nimport { NG_SD_COMPONENTS_CONFIG } from '../lib-provider/config-token';\nimport { NgSdComponentsConfig } from '../types';\n\n@Directive({\n standalone: true,\n selector: '[themeProvider]',\n})\nexport class ThemeProviderDirective {\n @HostBinding('class') class: string = '';\n theme: string = '';\n\n constructor(@Inject(NG_SD_COMPONENTS_CONFIG) private configuration: NgSdComponentsConfig) {\n this.theme = this.configuration.theme;\n this.class = `theme-${this.theme}`;\n }\n}\n","import { CurrencyPipe, DatePipe } from '@angular/common';\nimport { Provider } from '@angular/core';\nimport { provideAnimationsAsync } from '@angular/platform-browser/animations/async';\nimport { providePrimeNG } from 'primeng/config';\nimport { NgSdComponentsConfig } from '../types';\nimport { NG_SD_COMPONENTS_CONFIG } from './config-token';\n\nimport Aura from '@primeng/themes/aura';\nimport { GenericTheme } from '../theme-provider';\n/**\n * Provides all necessary dependencies for the library:\n * - PrimeNG them\n * - Angular Pipes (`DatePipe`, `CurrencyPipe`)\n * - Animations\n * - CommonModule\n */\nexport function provideSdc(config: NgSdComponentsConfig): Provider[] {\n const preset = config.theme === 'generic' ? GenericTheme : Aura;\n // if config.theme is generic, pass a theme, otherwise, pass another theme\n const providers = [\n DatePipe,\n CurrencyPipe,\n { provide: NG_SD_COMPONENTS_CONFIG, useValue: config ?? 'generic' },\n provideAnimationsAsync() as unknown as Provider,\n providePrimeNG({\n theme: {\n preset,\n options: {\n cssLayer: {\n name: 'primeng',\n order: 'tailwind-utilities, tailwind-base, primeng, sdc-styles',\n },\n },\n },\n }) as unknown as Provider,\n ];\n\n return [...providers];\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\nimport { Button, ButtonModule, ButtonProps, ButtonStyle } from 'primeng/button';\nimport { RippleModule } from 'primeng/ripple';\nimport { TooltipModule, TooltipStyle } from 'primeng/tooltip';\nimport { ThemeProviderDirective } from '../../shared';\nimport { validateStylesForComponent } from '../../utils/validate-styles-for-component';\nimport { ValidTooltipPositions } from './types';\n/**\n * A customizable button component built on PrimeNG's Button component.\n *\n * This component supports various configurations, such as tooltips, badge values,\n * and theme styles. It uses the `ThemeProviderDirective` to apply theming dynamically.\n *\n * @since 1.0.0-alpha.1\n * @updated 1.0.0-alpha.2\n */\n@Component({\n standalone: true,\n selector: 'sdc-button',\n styleUrls: ['./button.component.css'],\n templateUrl: './button.component.html',\n providers: [ButtonStyle, Button, TooltipStyle],\n imports: [CommonModule, ButtonModule, TooltipModule, RippleModule, ThemeProviderDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.Emulated,\n})\nexport class ButtonComponent extends Button {\n public props = input<ButtonProps>();\n\n /**\n * Tooltip text for the button.\n */\n public tooltip = input<string>('');\n\n /**\n * Tooltip position relative to the button.\n */\n public tooltipPos = input<ValidTooltipPositions>();\n\n /**\n * Value displayed as a badge on the button.\n */\n public badgeValue = input<string>('');\n\n /**\n * Value displayed as a badge on the button.\n */\n public debounceTimeInMs = input<number>(0);\n\n /**\n * Single string or whitespace-separated string of additional style classes for the button.\n * Only accepts valid whitespace-separated class names.\n */\n public styleClasses = input('', { transform: validateStylesForComponent(this.constructor.name) });\n\n /**\n * Tracks whether the button is in a debounced state.\n */\n private isDebounced = false;\n\n /**\n * The current theme applied to the button. This is set by the `ThemeProviderDirective`.\n */\n protected theme: string = '';\n\n /**\n * CSS class based on the theme. This is dynamically generated.\n */\n protected themeClass: string = '';\n\n constructor() {\n super();\n }\n\n /**\n * Handles the click event for the button with debounce logic.\n *\n * This method prevents multiple rapid clicks by disabling the button\n * for the specified debounce time. If `debounceTime` is set to 0,\n * the button remains interactive without debounce behavior.\n *\n * @param event - The click event triggered by the user.\n */\n public handleClick(event: MouseEvent): void {\n this.onClick.emit(event);\n\n if (this.isDebounced || this.debounceTimeInMs() <= 0) return;\n\n this.disabled = true;\n this.isDebounced = true;\n\n setTimeout(() => {\n this.disabled = false;\n this.isDebounced = false;\n }, this.debounceTimeInMs());\n }\n}\n","<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 [type]=\"type\"\n [plain]=\"plain\"\n [fluid]=\"fluid\"\n [loading]=\"loading\"\n [rounded]=\"rounded\"\n [severity]=\"severity\"\n [outlined]=\"outlined\"\n [size]=\"size ?? null\"\n [pTooltip]=\"tooltip()\"\n [autofocus]=\"autofocus\"\n [loadingIcon]=\"loadingIcon\"\n [tooltipPosition]=\"tooltipPos()\"\n (click)=\"handleClick($event)\"\n (blur)=\"this.onBlur.emit($event)\">\n <ng-content></ng-content>\n</button>\n","/*\n * Public API Surface of software-division-components\n */\n\nexport * from './button.component';\n","import { Component } from '@angular/core';\nimport { Button, ButtonModule } from 'primeng/button';\n\n@Component({\n selector: 'sdc-drawer',\n standalone: true,\n imports: [ButtonModule],\n templateUrl: './drawer.component.html',\n})\nexport class DrawerComponent extends Button {\n constructor() {\n super();\n }\n}\n","<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","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DrawerService {\n constructor() {}\n}\n","/*\n * Public API Surface of software-division-components\n */\n\nexport * from './drawer.component';\nexport * from './drawer.service';\n","import { Component } from '@angular/core';\nimport { Button, ButtonModule } from 'primeng/button';\n\n@Component({\n selector: 'sdc-drawer',\n standalone: true,\n imports: [ButtonModule],\n templateUrl: './modal.component.html',\n})\nexport class ModalComponent extends Button {\n constructor() {\n super();\n }\n}\n","<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","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalService {\n constructor() {}\n}\n","/*\n * Public API Surface of software-division-components\n */\n\nexport * from './modal.component';\nexport * from './modal.service';\n","// NOTE: This will determine what is publicly available from within the library to application consumers\n// Be careful with what you expose\n\nexport * from './backoffice';\nexport * from './dvm';\nexport * from './generic';\nexport { provideSdc } from './shared/lib-provider';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.TableComponent","TableService","i1","i2","i3"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@3ddv/software-division-components",
|
|
3
|
-
"version": "1.0.0-alpha.3.
|
|
3
|
+
"version": "1.0.0-alpha.3.38",
|
|
4
4
|
"main": "./esm2022/3ddv-software-division-components.mjs",
|
|
5
5
|
"module": "./esm2022/3ddv-software-division-components.mjs",
|
|
6
6
|
"typings": "./index.d.ts",
|