@lluc_llull/ui-lib 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/esm2022/lib/components/core/index.mjs +2 -0
  2. package/esm2022/lib/components/core/top-slider/index.mjs +3 -0
  3. package/esm2022/lib/components/core/top-slider/top-slider.component.mjs +12 -0
  4. package/esm2022/lib/components/core/top-slider/top-slider.interface.mjs +2 -0
  5. package/esm2022/lib/interfaces/index.mjs +3 -0
  6. package/esm2022/lib/interfaces/page-config.interface.mjs +2 -0
  7. package/esm2022/lib/interfaces/site-config.interface.mjs +2 -0
  8. package/esm2022/lib/services/index.mjs +2 -0
  9. package/esm2022/lib/services/mapper/component-mappers/index.mjs +7 -0
  10. package/esm2022/lib/services/mapper/component-mappers/top-slider.mapper.mjs +4 -0
  11. package/esm2022/lib/services/mapper/component-mappers/types.mjs +2 -0
  12. package/esm2022/lib/services/mapper/index.mjs +3 -0
  13. package/esm2022/lib/services/mapper/mapper.service.mjs +45 -0
  14. package/esm2022/public-api.mjs +5 -5
  15. package/fesm2022/lluc_llull-ui-lib.mjs +61 -21
  16. package/fesm2022/lluc_llull-ui-lib.mjs.map +1 -1
  17. package/lib/components/core/index.d.ts +1 -0
  18. package/lib/components/core/top-slider/index.d.ts +2 -0
  19. package/lib/components/core/top-slider/top-slider.component.d.ts +5 -0
  20. package/lib/components/core/top-slider/top-slider.interface.d.ts +2 -0
  21. package/lib/interfaces/index.d.ts +2 -0
  22. package/lib/interfaces/page-config.interface.d.ts +18 -0
  23. package/lib/interfaces/site-config.interface.d.ts +21 -0
  24. package/lib/services/index.d.ts +1 -0
  25. package/lib/services/mapper/component-mappers/index.d.ts +1 -0
  26. package/lib/services/mapper/component-mappers/top-slider.mapper.d.ts +2 -0
  27. package/lib/services/mapper/component-mappers/types.d.ts +1 -0
  28. package/lib/services/mapper/index.d.ts +2 -0
  29. package/lib/services/mapper/mapper.service.d.ts +8 -0
  30. package/package.json +1 -1
  31. package/public-api.d.ts +3 -1
  32. package/esm2022/lib/ui-lib.component.mjs +0 -19
  33. package/lib/ui-lib.component.d.ts +0 -5
@@ -0,0 +1,2 @@
1
+ export * from './top-slider';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RvcC1zbGlkZXInO1xuIl19
@@ -0,0 +1,3 @@
1
+ export * from './top-slider.interface';
2
+ export * from './top-slider.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvdG9wLXNsaWRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RvcC1zbGlkZXIuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdG9wLXNsaWRlci5jb21wb25lbnQnO1xuXG4iXX0=
@@ -0,0 +1,12 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export class TopSliderComponent {
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TopSliderComponent, isStandalone: true, selector: "lib-top-slider", ngImport: i0, template: "<p>top-slider works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopSliderComponent, decorators: [{
9
+ type: Component,
10
+ args: [{ selector: 'lib-top-slider', standalone: true, imports: [CommonModule], template: "<p>top-slider works!</p>\n" }]
11
+ }] });
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wLXNsaWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvdG9wLXNsaWRlci90b3Atc2xpZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY29yZS90b3Atc2xpZGVyL3RvcC1zbGlkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUzFDLE1BQU0sT0FBTyxrQkFBa0I7K0dBQWxCLGtCQUFrQjttR0FBbEIsa0JBQWtCLDBFQ1YvQiw0QkFDQSx5RERLWSxZQUFZOzs0RkFJWCxrQkFBa0I7a0JBUDlCLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItdG9wLXNsaWRlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9wLXNsaWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi90b3Atc2xpZGVyLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBUb3BTbGlkZXJDb21wb25lbnQge1xuXG59XG4iLCI8cD50b3Atc2xpZGVyIHdvcmtzITwvcD5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wLXNsaWRlci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvdG9wLXNsaWRlci90b3Atc2xpZGVyLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUb3BTbGlkZXJJIHtcblxufVxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './page-config.interface';
2
+ export * from './site-config.interface';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcGFnZS1jb25maWcuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2l0ZS1jb25maWcuaW50ZXJmYWNlJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1jb25maWcuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktbGliL3NyYy9saWIvaW50ZXJmYWNlcy9wYWdlLWNvbmZpZy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQm9keUNvbXBvbmVudDxUPiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIG9yZGVyPzogbnVtYmVyO1xuICAgIHByb3BzOiBUO1xufVxuZXhwb3J0IGludGVyZmFjZSBQYWdlQ29tcG9uZW50IHtcbiAgICBpZDogbnVtYmVyO1xuICAgIHBhZ2VfaWQ6IG51bWJlcjtcbiAgICBjb21wb25lbnRfaWQ6IG51bWJlcjtcbiAgICBvcmRlcjogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VDb21wb25lbnRUcmFuc2xhdGlvbiB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBwYWdlX2NvbXBvbmVudF9pZDogbnVtYmVyO1xuICAgIGxhbmdfaWQ6IG51bWJlcjtcbiAgICBwcm9wczogYW55O1xuICAgIHBhZ2VfY29tcG9uZW50PzogUGFnZUNvbXBvbmVudDtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZS1jb25maWcuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktbGliL3NyYy9saWIvaW50ZXJmYWNlcy9zaXRlLWNvbmZpZy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgR2VuZXJhbENvbmZpZ1Jlc3BvbnNlIHtcbiAgICBpZDogbnVtYmVyO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBmYXZpY29uczogc3RyaW5nIHwgbnVsbDtcbiAgICBsYW5ndWFnZXM6IHtcbiAgICAgICAgaWQ6IG51bWJlcjtcbiAgICAgICAgY29kZTogc3RyaW5nO1xuICAgIH1bXTtcbiAgICBsb2dvczogc3RyaW5nIHwgbnVsbDtcbiAgICBwYWdlczogUGFnZVtdO1xuICAgIHRoZW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZSB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdGVtcGxhdGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYW5ndWFnZSB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBjb2RlOiBzdHJpbmc7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './mapper';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWFwcGVyJztcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ import { mapTopSlider } from './top-slider.mapper';
2
+ // importa más mappers aquí...
3
+ export const componentMappers = {
4
+ 'top-slider': mapTopSlider,
5
+ // añade los demás
6
+ };
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9zZXJ2aWNlcy9tYXBwZXIvY29tcG9uZW50LW1hcHBlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELDhCQUE4QjtBQUU5QixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBd0M7SUFDakUsWUFBWSxFQUFFLFlBQVk7SUFDMUIsa0JBQWtCO0NBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtYXBUb3BTbGlkZXIgfSBmcm9tICcuL3RvcC1zbGlkZXIubWFwcGVyJztcbi8vIGltcG9ydGEgbcOhcyBtYXBwZXJzIGFxdcOtLi4uXG5cbmV4cG9ydCBjb25zdCBjb21wb25lbnRNYXBwZXJzOiBSZWNvcmQ8c3RyaW5nLCAocHJvcHM6IGFueSkgPT4gYW55PiA9IHtcbiAgICAndG9wLXNsaWRlcic6IG1hcFRvcFNsaWRlcixcbiAgICAvLyBhw7FhZGUgbG9zIGRlbcOhc1xufTtcbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export const mapTopSlider = (props) => ({
2
+ // slides: props.slides ?? [],
3
+ });
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wLXNsaWRlci5tYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9zZXJ2aWNlcy9tYXBwZXIvY29tcG9uZW50LW1hcHBlcnMvdG9wLXNsaWRlci5tYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFzQixDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN2RCw4QkFBOEI7Q0FDakMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50TWFwcGVyRm4gfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IG1hcFRvcFNsaWRlcjogQ29tcG9uZW50TWFwcGVyRm4gPSAocHJvcHMpID0+ICh7XG4gICAgLy8gc2xpZGVzOiBwcm9wcy5zbGlkZXMgPz8gW10sXG59KTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9zZXJ2aWNlcy9tYXBwZXIvY29tcG9uZW50LW1hcHBlcnMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIENvbXBvbmVudE1hcHBlckZuPFQgPSBhbnk+ID0gKHByb3BzOiBhbnkpID0+IFQ7XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './mapper.service';
2
+ export * from './component-mappers';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9zZXJ2aWNlcy9tYXBwZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tYXBwZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudC1tYXBwZXJzJztcbiJdfQ==
@@ -0,0 +1,45 @@
1
+ import { inject, Injectable, PLATFORM_ID } from '@angular/core';
2
+ import { componentMappers } from './component-mappers';
3
+ import * as i0 from "@angular/core";
4
+ export class MapperService {
5
+ constructor() {
6
+ this.platformId = inject(PLATFORM_ID);
7
+ }
8
+ mapComponents(body) {
9
+ if (!body || body.length === 0) {
10
+ return [];
11
+ }
12
+ return body
13
+ .filter((component) => component && component.name && component.props)
14
+ .map((component) => {
15
+ const name = component.name.toLowerCase();
16
+ const mapper = componentMappers[name];
17
+ const mapped = {
18
+ name,
19
+ order: component.order,
20
+ props: {},
21
+ };
22
+ if (mapper) {
23
+ try {
24
+ mapped.props = mapper(component.props);
25
+ }
26
+ catch (e) {
27
+ console.error(`Error mapping props for component "${name}"`, e);
28
+ }
29
+ }
30
+ else {
31
+ console.warn(`No mapper found for component "${name}"`);
32
+ }
33
+ return mapped;
34
+ });
35
+ }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MapperService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
37
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MapperService, providedIn: 'root' }); }
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MapperService, decorators: [{
40
+ type: Injectable,
41
+ args: [{
42
+ providedIn: 'root',
43
+ }]
44
+ }] });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1saWIvc3JjL2xpYi9zZXJ2aWNlcy9tYXBwZXIvbWFwcGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUt2RCxNQUFNLE9BQU8sYUFBYTtJQUgxQjtRQUlZLGVBQVUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7S0FxQzVDO0lBbkNHLGFBQWEsQ0FBSSxJQUFXO1FBQ3hCLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM3QixPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFFRCxPQUFPLElBQUk7YUFDTixNQUFNLENBQ0gsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUMsSUFBSSxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQ2hFO2FBQ0EsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDZixNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzFDLE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXRDLE1BQU0sTUFBTSxHQUFxQjtnQkFDN0IsSUFBSTtnQkFDSixLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUs7Z0JBQ3RCLEtBQUssRUFBRSxFQUFPO2FBQ2pCLENBQUM7WUFFRixJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNULElBQUksQ0FBQztvQkFDRCxNQUFNLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFNLENBQUM7Z0JBQ2hELENBQUM7Z0JBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztvQkFDVCxPQUFPLENBQUMsS0FBSyxDQUNULHNDQUFzQyxJQUFJLEdBQUcsRUFDN0MsQ0FBQyxDQUNKLENBQUM7Z0JBQ04sQ0FBQztZQUNMLENBQUM7aUJBQU0sQ0FBQztnQkFDSixPQUFPLENBQUMsSUFBSSxDQUFDLGtDQUFrQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBQzVELENBQUM7WUFFRCxPQUFPLE1BQU0sQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7K0dBckNRLGFBQWE7bUhBQWIsYUFBYSxjQUZWLE1BQU07OzRGQUVULGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9keUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcGFnZS1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IGNvbXBvbmVudE1hcHBlcnMgfSBmcm9tICcuL2NvbXBvbmVudC1tYXBwZXJzJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTWFwcGVyU2VydmljZSB7XG4gICAgcHJpdmF0ZSBwbGF0Zm9ybUlkID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcblxuICAgIG1hcENvbXBvbmVudHM8VD4oYm9keTogYW55W10pOiBCb2R5Q29tcG9uZW50PFQ+W10ge1xuICAgICAgICBpZiAoIWJvZHkgfHwgYm9keS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBib2R5XG4gICAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgICAgIChjb21wb25lbnQpID0+IGNvbXBvbmVudCAmJiBjb21wb25lbnQubmFtZSAmJiBjb21wb25lbnQucHJvcHNcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5tYXAoKGNvbXBvbmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBjb21wb25lbnQubmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hcHBlciA9IGNvbXBvbmVudE1hcHBlcnNbbmFtZV07XG5cbiAgICAgICAgICAgICAgICBjb25zdCBtYXBwZWQ6IEJvZHlDb21wb25lbnQ8VD4gPSB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiBjb21wb25lbnQub3JkZXIsXG4gICAgICAgICAgICAgICAgICAgIHByb3BzOiB7fSBhcyBULFxuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICBpZiAobWFwcGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXBwZWQucHJvcHMgPSBtYXBwZXIoY29tcG9uZW50LnByb3BzKSBhcyBUO1xuICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBFcnJvciBtYXBwaW5nIHByb3BzIGZvciBjb21wb25lbnQgXCIke25hbWV9XCJgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYE5vIG1hcHBlciBmb3VuZCBmb3IgY29tcG9uZW50IFwiJHtuYW1lfVwiYCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIG1hcHBlZDtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -2,15 +2,15 @@
2
2
  * Public API Surface of ui-lib
3
3
  */
4
4
  /* COMPONENTS */
5
- // export * from './lib/components/core/index';
5
+ export * from './lib/components/core/index';
6
6
  // export * from './lib/components/shared/index';
7
7
  // /* SERVICES */
8
- // export * from './lib/services';
8
+ export * from './lib/services';
9
9
  // /* INTERFACES */
10
- // export * from './lib/interfaces/index';
10
+ export * from './lib/interfaces/index';
11
11
  // /* UTILS */
12
12
  // export * from './lib/utils';
13
13
  // /* ENUMS */
14
14
  // export * from './lib/Enum';
15
- export * from './lib/ui-lib.component';
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3VpLWxpYi9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGlCQUFpQjtBQUNqQiwrQ0FBK0M7QUFDL0MsaURBQWlEO0FBRWpELHFCQUFxQjtBQUNyQixrQ0FBa0M7QUFFbEMsdUJBQXVCO0FBQ3ZCLDBDQUEwQztBQUUxQyxrQkFBa0I7QUFDbEIsK0JBQStCO0FBRS9CLGtCQUFrQjtBQUNsQiw4QkFBOEI7QUFFOUIsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgdWktbGliXG4gKi9cblxuLyogQ09NUE9ORU5UUyAgKi9cbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS9pbmRleCc7XG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NoYXJlZC9pbmRleCc7XG5cbi8vIC8qICAgU0VSVklDRVMgICAqL1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMnO1xuXG4vLyAvKiAgIElOVEVSRkFDRVMgICAqL1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9pbmRleCc7XG5cbi8vIC8qICAgVVRJTFMgICAqL1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMnO1xuXG4vLyAvKiAgIEVOVU1TICAgKi9cbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL0VudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1saWIuY29tcG9uZW50JztcbiJdfQ==
15
+ // export * from './lib/ui-lib.component';
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3VpLWxpYi9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGlCQUFpQjtBQUNqQixjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGlEQUFpRDtBQUVqRCxxQkFBcUI7QUFDckIsY0FBYyxnQkFBZ0IsQ0FBQztBQUUvQix1QkFBdUI7QUFDdkIsY0FBYyx3QkFBd0IsQ0FBQztBQUV2QyxrQkFBa0I7QUFDbEIsK0JBQStCO0FBRS9CLGtCQUFrQjtBQUNsQiw4QkFBOEI7QUFFOUIsMENBQTBDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB1aS1saWJcbiAqL1xuXG4vKiBDT01QT05FTlRTICAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL2luZGV4Jztcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2hhcmVkL2luZGV4JztcblxuLy8gLyogICBTRVJWSUNFUyAgICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcyc7XG5cbi8vIC8qICAgSU5URVJGQUNFUyAgICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2luZGV4JztcblxuLy8gLyogICBVVElMUyAgICovXG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi91dGlscyc7XG5cbi8vIC8qICAgRU5VTVMgICAqL1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvRW51bSc7XG5cbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWxpYi5jb21wb25lbnQnO1xuIl19
@@ -1,41 +1,81 @@
1
+ import { CommonModule } from '@angular/common';
1
2
  import * as i0 from '@angular/core';
2
- import { Component } from '@angular/core';
3
+ import { Component, inject, PLATFORM_ID, Injectable } from '@angular/core';
3
4
 
4
- class UiLibComponent {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UiLibComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: UiLibComponent, isStandalone: true, selector: "lib-ui-lib", ngImport: i0, template: `
7
- <p>
8
- ui-lib works!
9
- </p>
10
- `, isInline: true, styles: [""] }); }
5
+ class TopSliderComponent {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TopSliderComponent, isStandalone: true, selector: "lib-top-slider", ngImport: i0, template: "<p>top-slider works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
11
8
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UiLibComponent, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopSliderComponent, decorators: [{
13
10
  type: Component,
14
- args: [{ selector: 'lib-ui-lib', standalone: true, imports: [], template: `
15
- <p>
16
- ui-lib works!
17
- </p>
18
- ` }]
11
+ args: [{ selector: 'lib-top-slider', standalone: true, imports: [CommonModule], template: "<p>top-slider works!</p>\n" }]
12
+ }] });
13
+
14
+ const mapTopSlider = (props) => ({
15
+ // slides: props.slides ?? [],
16
+ });
17
+
18
+ // importa más mappers aquí...
19
+ const componentMappers = {
20
+ 'top-slider': mapTopSlider,
21
+ // añade los demás
22
+ };
23
+
24
+ class MapperService {
25
+ constructor() {
26
+ this.platformId = inject(PLATFORM_ID);
27
+ }
28
+ mapComponents(body) {
29
+ if (!body || body.length === 0) {
30
+ return [];
31
+ }
32
+ return body
33
+ .filter((component) => component && component.name && component.props)
34
+ .map((component) => {
35
+ const name = component.name.toLowerCase();
36
+ const mapper = componentMappers[name];
37
+ const mapped = {
38
+ name,
39
+ order: component.order,
40
+ props: {},
41
+ };
42
+ if (mapper) {
43
+ try {
44
+ mapped.props = mapper(component.props);
45
+ }
46
+ catch (e) {
47
+ console.error(`Error mapping props for component "${name}"`, e);
48
+ }
49
+ }
50
+ else {
51
+ console.warn(`No mapper found for component "${name}"`);
52
+ }
53
+ return mapped;
54
+ });
55
+ }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MapperService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
57
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MapperService, providedIn: 'root' }); }
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MapperService, decorators: [{
60
+ type: Injectable,
61
+ args: [{
62
+ providedIn: 'root',
63
+ }]
19
64
  }] });
20
65
 
21
66
  /*
22
67
  * Public API Surface of ui-lib
23
68
  */
24
69
  /* COMPONENTS */
25
- // export * from './lib/components/core/index';
26
- // export * from './lib/components/shared/index';
27
- // /* SERVICES */
28
- // export * from './lib/services';
29
- // /* INTERFACES */
30
- // export * from './lib/interfaces/index';
31
70
  // /* UTILS */
32
71
  // export * from './lib/utils';
33
72
  // /* ENUMS */
34
73
  // export * from './lib/Enum';
74
+ // export * from './lib/ui-lib.component';
35
75
 
36
76
  /**
37
77
  * Generated bundle index. Do not edit.
38
78
  */
39
79
 
40
- export { UiLibComponent };
80
+ export { MapperService, TopSliderComponent, componentMappers };
41
81
  //# sourceMappingURL=lluc_llull-ui-lib.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"lluc_llull-ui-lib.mjs","sources":["../../../projects/ui-lib/src/lib/ui-lib.component.ts","../../../projects/ui-lib/src/public-api.ts","../../../projects/ui-lib/src/lluc_llull-ui-lib.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-ui-lib',\n standalone: true,\n imports: [],\n template: `\n <p>\n ui-lib works!\n </p>\n `,\n styles: ``\n})\nexport class UiLibComponent {\n\n}\n","/*\n * Public API Surface of ui-lib\n */\n\n/* COMPONENTS */\n// export * from './lib/components/core/index';\n// export * from './lib/components/shared/index';\n\n// /* SERVICES */\n// export * from './lib/services';\n\n// /* INTERFACES */\n// export * from './lib/interfaces/index';\n\n// /* UTILS */\n// export * from './lib/utils';\n\n// /* ENUMS */\n// export * from './lib/Enum';\n\nexport * from './lib/ui-lib.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAaa,cAAc,CAAA;+GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAPf;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGU,cAAc,EAAA,UAAA,EAAA,CAAA;kBAX1B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAAA,UAAA,EACV,IAAI,EAAA,OAAA,EACP,EAAE,EAAA,QAAA,EACD;;;;AAIT,EAAA,CAAA,EAAA;;;ACVH;;AAEG;AAEH;AACA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AACA;;AClBA;;AAEG;;;;"}
1
+ {"version":3,"file":"lluc_llull-ui-lib.mjs","sources":["../../../projects/ui-lib/src/lib/components/core/top-slider/top-slider.component.ts","../../../projects/ui-lib/src/lib/components/core/top-slider/top-slider.component.html","../../../projects/ui-lib/src/lib/services/mapper/component-mappers/top-slider.mapper.ts","../../../projects/ui-lib/src/lib/services/mapper/component-mappers/index.ts","../../../projects/ui-lib/src/lib/services/mapper/mapper.service.ts","../../../projects/ui-lib/src/public-api.ts","../../../projects/ui-lib/src/lluc_llull-ui-lib.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-top-slider',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './top-slider.component.html',\n styleUrl: './top-slider.component.scss'\n})\nexport class TopSliderComponent {\n\n}\n","<p>top-slider works!</p>\n","import { ComponentMapperFn } from './types';\n\nexport const mapTopSlider: ComponentMapperFn = (props) => ({\n // slides: props.slides ?? [],\n});\n","import { mapTopSlider } from './top-slider.mapper';\n// importa más mappers aquí...\n\nexport const componentMappers: Record<string, (props: any) => any> = {\n 'top-slider': mapTopSlider,\n // añade los demás\n};\n","import { inject, Injectable, PLATFORM_ID } from '@angular/core';\nimport { BodyComponent } from '../../interfaces/page-config.interface';\nimport { componentMappers } from './component-mappers';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MapperService {\n private platformId = inject(PLATFORM_ID);\n\n mapComponents<T>(body: any[]): BodyComponent<T>[] {\n if (!body || body.length === 0) {\n return [];\n }\n\n return body\n .filter(\n (component) => component && component.name && component.props\n )\n .map((component) => {\n const name = component.name.toLowerCase();\n const mapper = componentMappers[name];\n\n const mapped: BodyComponent<T> = {\n name,\n order: component.order,\n props: {} as T,\n };\n\n if (mapper) {\n try {\n mapped.props = mapper(component.props) as T;\n } catch (e) {\n console.error(\n `Error mapping props for component \"${name}\"`,\n e\n );\n }\n } else {\n console.warn(`No mapper found for component \"${name}\"`);\n }\n\n return mapped;\n });\n }\n}\n","/*\n * Public API Surface of ui-lib\n */\n\n/* COMPONENTS */\nexport * from './lib/components/core/index';\n// export * from './lib/components/shared/index';\n\n// /* SERVICES */\nexport * from './lib/services';\n\n// /* INTERFACES */\nexport * from './lib/interfaces/index';\n\n// /* UTILS */\n// export * from './lib/utils';\n\n// /* ENUMS */\n// export * from './lib/Enum';\n\n// export * from './lib/ui-lib.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAUa,kBAAkB,CAAA;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV/B,4BACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDKY,YAAY,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAAA,UAAA,EACd,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,4BAAA,EAAA;;;AEJlB,MAAM,YAAY,GAAsB,CAAC,KAAK,MAAM;AACvD;AACH,CAAA,CAAC;;ACHF;AAEO,MAAM,gBAAgB,GAAwC;AACjE,IAAA,YAAY,EAAE,YAAY;;;;MCGjB,aAAa,CAAA;AAH1B,IAAA,WAAA,GAAA;AAIY,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AAqC3C,IAAA;AAnCG,IAAA,aAAa,CAAI,IAAW,EAAA;QACxB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,YAAA,OAAO,EAAE;QACb;AAEA,QAAA,OAAO;AACF,aAAA,MAAM,CACH,CAAC,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,KAAK;AAEhE,aAAA,GAAG,CAAC,CAAC,SAAS,KAAI;YACf,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE;AACzC,YAAA,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC;AAErC,YAAA,MAAM,MAAM,GAAqB;gBAC7B,IAAI;gBACJ,KAAK,EAAE,SAAS,CAAC,KAAK;AACtB,gBAAA,KAAK,EAAE,EAAO;aACjB;YAED,IAAI,MAAM,EAAE;AACR,gBAAA,IAAI;oBACA,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAM;gBAC/C;gBAAE,OAAO,CAAC,EAAE;oBACR,OAAO,CAAC,KAAK,CACT,CAAA,mCAAA,EAAsC,IAAI,CAAA,CAAA,CAAG,EAC7C,CAAC,CACJ;gBACL;YACJ;iBAAO;AACH,gBAAA,OAAO,CAAC,IAAI,CAAC,kCAAkC,IAAI,CAAA,CAAA,CAAG,CAAC;YAC3D;AAEA,YAAA,OAAO,MAAM;AACjB,QAAA,CAAC,CAAC;IACV;+GArCS,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFV,MAAM,EAAA,CAAA,CAAA;;4FAET,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;;ACND;;AAEG;AAEH;AAUA;AACA;AAEA;AACA;AAEA;;ACpBA;;AAEG;;;;"}
@@ -0,0 +1 @@
1
+ export * from './top-slider';
@@ -0,0 +1,2 @@
1
+ export * from './top-slider.interface';
2
+ export * from './top-slider.component';
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class TopSliderComponent {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<TopSliderComponent, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<TopSliderComponent, "lib-top-slider", never, {}, {}, never, never, true, never>;
5
+ }
@@ -0,0 +1,2 @@
1
+ export interface TopSliderI {
2
+ }
@@ -0,0 +1,2 @@
1
+ export * from './page-config.interface';
2
+ export * from './site-config.interface';
@@ -0,0 +1,18 @@
1
+ export interface BodyComponent<T> {
2
+ name: string;
3
+ order?: number;
4
+ props: T;
5
+ }
6
+ export interface PageComponent {
7
+ id: number;
8
+ page_id: number;
9
+ component_id: number;
10
+ order: number;
11
+ }
12
+ export interface PageComponentTranslation {
13
+ id: number;
14
+ page_component_id: number;
15
+ lang_id: number;
16
+ props: any;
17
+ page_component?: PageComponent;
18
+ }
@@ -0,0 +1,21 @@
1
+ export interface GeneralConfigResponse {
2
+ id: number;
3
+ name: string;
4
+ favicons: string | null;
5
+ languages: {
6
+ id: number;
7
+ code: string;
8
+ }[];
9
+ logos: string | null;
10
+ pages: Page[];
11
+ theme: string;
12
+ }
13
+ export interface Page {
14
+ id: number;
15
+ name: string;
16
+ template: string;
17
+ }
18
+ export interface Language {
19
+ id: number;
20
+ code: string;
21
+ }
@@ -0,0 +1 @@
1
+ export * from './mapper';
@@ -0,0 +1 @@
1
+ export declare const componentMappers: Record<string, (props: any) => any>;
@@ -0,0 +1,2 @@
1
+ import { ComponentMapperFn } from './types';
2
+ export declare const mapTopSlider: ComponentMapperFn;
@@ -0,0 +1 @@
1
+ export type ComponentMapperFn<T = any> = (props: any) => T;
@@ -0,0 +1,2 @@
1
+ export * from './mapper.service';
2
+ export * from './component-mappers';
@@ -0,0 +1,8 @@
1
+ import { BodyComponent } from '../../interfaces/page-config.interface';
2
+ import * as i0 from "@angular/core";
3
+ export declare class MapperService {
4
+ private platformId;
5
+ mapComponents<T>(body: any[]): BodyComponent<T>[];
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<MapperService, never>;
7
+ static ɵprov: i0.ɵɵInjectableDeclaration<MapperService>;
8
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lluc_llull/ui-lib",
3
- "version": "0.0.1",
3
+ "version": "0.1.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.3.0",
6
6
  "@angular/core": "^17.3.0"
package/public-api.d.ts CHANGED
@@ -1 +1,3 @@
1
- export * from './lib/ui-lib.component';
1
+ export * from './lib/components/core/index';
2
+ export * from './lib/services';
3
+ export * from './lib/interfaces/index';
@@ -1,19 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class UiLibComponent {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UiLibComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: UiLibComponent, isStandalone: true, selector: "lib-ui-lib", ngImport: i0, template: `
6
- <p>
7
- ui-lib works!
8
- </p>
9
- `, isInline: true, styles: [""] }); }
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UiLibComponent, decorators: [{
12
- type: Component,
13
- args: [{ selector: 'lib-ui-lib', standalone: true, imports: [], template: `
14
- <p>
15
- ui-lib works!
16
- </p>
17
- ` }]
18
- }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktbGliLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWxpYi9zcmMvbGliL3VpLWxpYi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFhMUMsTUFBTSxPQUFPLGNBQWM7K0dBQWQsY0FBYzttR0FBZCxjQUFjLHNFQVBmOzs7O0dBSVQ7OzRGQUdVLGNBQWM7a0JBWDFCLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksV0FDUCxFQUFFLFlBQ0Q7Ozs7R0FJVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItdWktbGliJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW10sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHA+XG4gICAgICB1aS1saWIgd29ya3MhXG4gICAgPC9wPlxuICBgLFxuICBzdHlsZXM6IGBgXG59KVxuZXhwb3J0IGNsYXNzIFVpTGliQ29tcG9uZW50IHtcblxufVxuIl19
@@ -1,5 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class UiLibComponent {
3
- static ɵfac: i0.ɵɵFactoryDeclaration<UiLibComponent, never>;
4
- static ɵcmp: i0.ɵɵComponentDeclaration<UiLibComponent, "lib-ui-lib", never, {}, {}, never, never, true, never>;
5
- }