@ng-vagabond-lab/ng-dsv 0.2.33 → 0.2.35
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/fesm2022/ng-vagabond-lab-ng-dsv-ds-accordion.mjs +2 -2
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-accordion.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-button.mjs +2 -2
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-button.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-chip.mjs +2 -2
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-item.mjs +2 -2
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-item.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-modal.mjs +6 -6
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-modal.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-form.container-CGfhZFgr.mjs +62 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-form.container-CGfhZFgr.mjs.map +1 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-list.container-CkUQEI5Q.mjs +52 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-list.container-CkUQEI5Q.mjs.map +1 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-list.service-CVVSV7se.mjs +65 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-list.service-CVVSV7se.mjs.map +1 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news.container-Ce60PdDH.mjs +113 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news.container-Ce60PdDH.mjs.map +1 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news.mjs +31 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news.mjs.map +1 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-notification.mjs +177 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-notification.mjs.map +1 -0
- package/package.json +9 -1
- package/types/ng-vagabond-lab-ng-dsv-module-news.d.ts +5 -0
- package/types/ng-vagabond-lab-ng-dsv-module-notification.d.ts +79 -0
|
@@ -29,13 +29,13 @@ class DsvAccordionComponent {
|
|
|
29
29
|
this.isOpen.update((tootle) => !tootle);
|
|
30
30
|
}
|
|
31
31
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.3", type: DsvAccordionComponent, isStandalone: true, selector: "dsv-accordion", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, titleText: { classPropertyName: "titleText", publicName: "titleText", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "id": "uuid()" } }, ngImport: i0, template: "<a class=\"dsv-accordion-header\" [class.disabled]=\"!hasContent()\" (click)=\"doToogle()\">\n <div>\n {{ titleText() | translate }}\n <ng-content select=\".dsv-accordion-header\"></ng-content>\n </div>\n <i\n [class]=\"isOpen() ? 'ri-arrow-up-s-line' : 'ri-arrow-down-s-line'\"\n [class.disabled]=\"!hasContent()\"\n ></i>\n</a>\n<div class=\"dsv-accordion-text\" [class.open]=\"isOpen() === true\">\n <div class=\"dsv-accordion-inner\">\n <ng-content #accordionContent></ng-content>\n </div>\n</div>\n", styles: [":host{--accordion-header-padding: 5px;--accordion-text-display: flex;--accordion-text-padding: 0px 10px;--accordion-text-width: calc(100% - 20px) ;margin:10px;padding:10px;width:calc(100% - 40px);background-color:var(--background-card);position:relative;border-radius:0}:host .dsv-accordion-header{display:flex;font-weight:700;cursor:pointer;padding:var(--accordion-header-padding);position:relative}:host .dsv-accordion-header i{position:absolute;right:10px}:host .dsv-accordion-header i.disabled{color:var(--subtitle);display:none}:host .dsv-accordion-header.disabled{cursor:default;pointer-events:none}:host .dsv-accordion-text{display:grid;padding:var(--accordion-text-padding);width:var(--accordion-text-width);overflow:hidden;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .25s ease-out,opacity .25s ease-out}:host .dsv-accordion-text.open{grid-template-rows:1fr;opacity:1}:host .dsv-accordion-text:empty{display:none}:host .dsv-accordion-text .dsv-accordion-inner{overflow:hidden;display:var(--accordion-text-display)}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
|
32
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.3", type: DsvAccordionComponent, isStandalone: true, selector: "dsv-accordion", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, titleText: { classPropertyName: "titleText", publicName: "titleText", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "id": "uuid()" } }, ngImport: i0, template: "<a class=\"dsv-accordion-header\" [class.disabled]=\"!hasContent()\" (click)=\"doToogle()\">\n <div>\n {{ titleText() | translate }}\n <ng-content select=\".dsv-accordion-header\"></ng-content>\n </div>\n <i\n [class]=\"isOpen() ? 'ri-arrow-up-s-line' : 'ri-arrow-down-s-line'\"\n [class.disabled]=\"!hasContent()\"\n ></i>\n</a>\n<div class=\"dsv-accordion-text\" [class.open]=\"isOpen() === true\">\n <div class=\"dsv-accordion-inner\">\n <ng-content #accordionContent></ng-content>\n </div>\n</div>\n", styles: [":host{--accordion-header-padding: 5px;--accordion-header-size: 1rem;--accordion-text-display: flex;--accordion-text-padding: 0px 10px;--accordion-text-width: calc(100% - 20px) ;margin:10px;padding:10px;width:calc(100% - 40px);background-color:var(--background-card);position:relative;border-radius:0}:host .dsv-accordion-header{display:flex;font-weight:700;cursor:pointer;padding:var(--accordion-header-padding);position:relative;font-size:var(--accordion-header-size)}:host .dsv-accordion-header i{position:absolute;right:10px}:host .dsv-accordion-header i.disabled{color:var(--subtitle);display:none}:host .dsv-accordion-header.disabled{cursor:default;pointer-events:none}:host .dsv-accordion-text{display:grid;padding:var(--accordion-text-padding);width:var(--accordion-text-width);overflow:hidden;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .25s ease-out,opacity .25s ease-out}:host .dsv-accordion-text.open{grid-template-rows:1fr;opacity:1}:host .dsv-accordion-text:empty{display:none}:host .dsv-accordion-text .dsv-accordion-inner{overflow:hidden;display:var(--accordion-text-display)}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
|
33
33
|
}
|
|
34
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvAccordionComponent, decorators: [{
|
|
35
35
|
type: Component,
|
|
36
36
|
args: [{ selector: 'dsv-accordion', imports: [TranslatePipe], host: {
|
|
37
37
|
'[id]': 'uuid()',
|
|
38
|
-
}, template: "<a class=\"dsv-accordion-header\" [class.disabled]=\"!hasContent()\" (click)=\"doToogle()\">\n <div>\n {{ titleText() | translate }}\n <ng-content select=\".dsv-accordion-header\"></ng-content>\n </div>\n <i\n [class]=\"isOpen() ? 'ri-arrow-up-s-line' : 'ri-arrow-down-s-line'\"\n [class.disabled]=\"!hasContent()\"\n ></i>\n</a>\n<div class=\"dsv-accordion-text\" [class.open]=\"isOpen() === true\">\n <div class=\"dsv-accordion-inner\">\n <ng-content #accordionContent></ng-content>\n </div>\n</div>\n", styles: [":host{--accordion-header-padding: 5px;--accordion-text-display: flex;--accordion-text-padding: 0px 10px;--accordion-text-width: calc(100% - 20px) ;margin:10px;padding:10px;width:calc(100% - 40px);background-color:var(--background-card);position:relative;border-radius:0}:host .dsv-accordion-header{display:flex;font-weight:700;cursor:pointer;padding:var(--accordion-header-padding);position:relative}:host .dsv-accordion-header i{position:absolute;right:10px}:host .dsv-accordion-header i.disabled{color:var(--subtitle);display:none}:host .dsv-accordion-header.disabled{cursor:default;pointer-events:none}:host .dsv-accordion-text{display:grid;padding:var(--accordion-text-padding);width:var(--accordion-text-width);overflow:hidden;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .25s ease-out,opacity .25s ease-out}:host .dsv-accordion-text.open{grid-template-rows:1fr;opacity:1}:host .dsv-accordion-text:empty{display:none}:host .dsv-accordion-text .dsv-accordion-inner{overflow:hidden;display:var(--accordion-text-display)}\n"] }]
|
|
38
|
+
}, template: "<a class=\"dsv-accordion-header\" [class.disabled]=\"!hasContent()\" (click)=\"doToogle()\">\n <div>\n {{ titleText() | translate }}\n <ng-content select=\".dsv-accordion-header\"></ng-content>\n </div>\n <i\n [class]=\"isOpen() ? 'ri-arrow-up-s-line' : 'ri-arrow-down-s-line'\"\n [class.disabled]=\"!hasContent()\"\n ></i>\n</a>\n<div class=\"dsv-accordion-text\" [class.open]=\"isOpen() === true\">\n <div class=\"dsv-accordion-inner\">\n <ng-content #accordionContent></ng-content>\n </div>\n</div>\n", styles: [":host{--accordion-header-padding: 5px;--accordion-header-size: 1rem;--accordion-text-display: flex;--accordion-text-padding: 0px 10px;--accordion-text-width: calc(100% - 20px) ;margin:10px;padding:10px;width:calc(100% - 40px);background-color:var(--background-card);position:relative;border-radius:0}:host .dsv-accordion-header{display:flex;font-weight:700;cursor:pointer;padding:var(--accordion-header-padding);position:relative;font-size:var(--accordion-header-size)}:host .dsv-accordion-header i{position:absolute;right:10px}:host .dsv-accordion-header i.disabled{color:var(--subtitle);display:none}:host .dsv-accordion-header.disabled{cursor:default;pointer-events:none}:host .dsv-accordion-text{display:grid;padding:var(--accordion-text-padding);width:var(--accordion-text-width);overflow:hidden;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .25s ease-out,opacity .25s ease-out}:host .dsv-accordion-text.open{grid-template-rows:1fr;opacity:1}:host .dsv-accordion-text:empty{display:none}:host .dsv-accordion-text .dsv-accordion-inner{overflow:hidden;display:var(--accordion-text-display)}\n"] }]
|
|
39
39
|
}], ctorParameters: () => [], propDecorators: { open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], titleText: [{ type: i0.Input, args: [{ isSignal: true, alias: "titleText", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }] } });
|
|
40
40
|
|
|
41
41
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-accordion.mjs","sources":["../../../projects/ng-dsv/ds/accordion/component/accordion.component.ts","../../../projects/ng-dsv/ds/accordion/component/accordion.component.html","../../../projects/ng-dsv/ds/accordion/ng-vagabond-lab-ng-dsv-ds-accordion.ts"],"sourcesContent":["import { afterNextRender, Component, effect, input, signal } from '@angular/core';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'dsv-accordion',\n imports: [TranslatePipe],\n templateUrl: './accordion.component.html',\n styleUrls: ['./accordion.component.scss'],\n host: {\n '[id]': 'uuid()',\n },\n})\nexport class DsvAccordionComponent {\n readonly open = input<boolean>(false);\n readonly titleText = input<string>('');\n readonly color = input<string>('');\n\n readonly uuid = signal<string>('accordion-' + crypto.randomUUID());\n readonly isOpen = signal<boolean>(this.open());\n readonly hasContent = signal<boolean>(false);\n\n constructor() {\n afterNextRender(() => {\n const contentEl = document.querySelector(\n `[id=\"${this.uuid()}\"] > *:not([class*=\"dsv-accordion-header\"])`,\n );\n const isEmpty = contentEl?.childNodes.length === 0 || contentEl?.textContent?.trim() === '';\n this.hasContent.set(!isEmpty);\n });\n\n effect(() => {\n this.isOpen.set(this.open());\n });\n }\n\n doToogle(): void {\n this.isOpen.update((tootle) => !tootle);\n }\n}\n","<a class=\"dsv-accordion-header\" [class.disabled]=\"!hasContent()\" (click)=\"doToogle()\">\n <div>\n {{ titleText() | translate }}\n <ng-content select=\".dsv-accordion-header\"></ng-content>\n </div>\n <i\n [class]=\"isOpen() ? 'ri-arrow-up-s-line' : 'ri-arrow-down-s-line'\"\n [class.disabled]=\"!hasContent()\"\n ></i>\n</a>\n<div class=\"dsv-accordion-text\" [class.open]=\"isOpen() === true\">\n <div class=\"dsv-accordion-inner\">\n <ng-content #accordionContent></ng-content>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAYa,qBAAqB,CAAA;IACrB,IAAI,GAAG,KAAK,CAAU,KAAK;6EAAC;IAC5B,SAAS,GAAG,KAAK,CAAS,EAAE;kFAAC;IAC7B,KAAK,GAAG,KAAK,CAAS,EAAE;8EAAC;IAEzB,IAAI,GAAG,MAAM,CAAS,YAAY,GAAG,MAAM,CAAC,UAAU,EAAE;6EAAC;AACzD,IAAA,MAAM,GAAG,MAAM,CAAU,IAAI,CAAC,IAAI,EAAE;+EAAC;IACrC,UAAU,GAAG,MAAM,CAAU,KAAK;mFAAC;AAE5C,IAAA,WAAA,GAAA;QACI,eAAe,CAAC,MAAK;AACjB,YAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CACpC,CAAA,KAAA,EAAQ,IAAI,CAAC,IAAI,EAAE,CAAA,2CAAA,CAA6C,CACnE;AACD,YAAA,MAAM,OAAO,GAAG,SAAS,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;YAC3F,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;AACjC,QAAA,CAAC,CAAC;QAEF,MAAM,CAAC,MAAK;YACR,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AAChC,QAAA,CAAC,CAAC;IACN;IAEA,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC;IAC3C;uGAzBS,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZlC,8iBAeA,EAAA,MAAA,EAAA,CAAA,
|
|
1
|
+
{"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-accordion.mjs","sources":["../../../projects/ng-dsv/ds/accordion/component/accordion.component.ts","../../../projects/ng-dsv/ds/accordion/component/accordion.component.html","../../../projects/ng-dsv/ds/accordion/ng-vagabond-lab-ng-dsv-ds-accordion.ts"],"sourcesContent":["import { afterNextRender, Component, effect, input, signal } from '@angular/core';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'dsv-accordion',\n imports: [TranslatePipe],\n templateUrl: './accordion.component.html',\n styleUrls: ['./accordion.component.scss'],\n host: {\n '[id]': 'uuid()',\n },\n})\nexport class DsvAccordionComponent {\n readonly open = input<boolean>(false);\n readonly titleText = input<string>('');\n readonly color = input<string>('');\n\n readonly uuid = signal<string>('accordion-' + crypto.randomUUID());\n readonly isOpen = signal<boolean>(this.open());\n readonly hasContent = signal<boolean>(false);\n\n constructor() {\n afterNextRender(() => {\n const contentEl = document.querySelector(\n `[id=\"${this.uuid()}\"] > *:not([class*=\"dsv-accordion-header\"])`,\n );\n const isEmpty = contentEl?.childNodes.length === 0 || contentEl?.textContent?.trim() === '';\n this.hasContent.set(!isEmpty);\n });\n\n effect(() => {\n this.isOpen.set(this.open());\n });\n }\n\n doToogle(): void {\n this.isOpen.update((tootle) => !tootle);\n }\n}\n","<a class=\"dsv-accordion-header\" [class.disabled]=\"!hasContent()\" (click)=\"doToogle()\">\n <div>\n {{ titleText() | translate }}\n <ng-content select=\".dsv-accordion-header\"></ng-content>\n </div>\n <i\n [class]=\"isOpen() ? 'ri-arrow-up-s-line' : 'ri-arrow-down-s-line'\"\n [class.disabled]=\"!hasContent()\"\n ></i>\n</a>\n<div class=\"dsv-accordion-text\" [class.open]=\"isOpen() === true\">\n <div class=\"dsv-accordion-inner\">\n <ng-content #accordionContent></ng-content>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAYa,qBAAqB,CAAA;IACrB,IAAI,GAAG,KAAK,CAAU,KAAK;6EAAC;IAC5B,SAAS,GAAG,KAAK,CAAS,EAAE;kFAAC;IAC7B,KAAK,GAAG,KAAK,CAAS,EAAE;8EAAC;IAEzB,IAAI,GAAG,MAAM,CAAS,YAAY,GAAG,MAAM,CAAC,UAAU,EAAE;6EAAC;AACzD,IAAA,MAAM,GAAG,MAAM,CAAU,IAAI,CAAC,IAAI,EAAE;+EAAC;IACrC,UAAU,GAAG,MAAM,CAAU,KAAK;mFAAC;AAE5C,IAAA,WAAA,GAAA;QACI,eAAe,CAAC,MAAK;AACjB,YAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CACpC,CAAA,KAAA,EAAQ,IAAI,CAAC,IAAI,EAAE,CAAA,2CAAA,CAA6C,CACnE;AACD,YAAA,MAAM,OAAO,GAAG,SAAS,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;YAC3F,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;AACjC,QAAA,CAAC,CAAC;QAEF,MAAM,CAAC,MAAK;YACR,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AAChC,QAAA,CAAC,CAAC;IACN;IAEA,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC;IAC3C;uGAzBS,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZlC,8iBAeA,EAAA,MAAA,EAAA,CAAA,0lCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EDVc,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA;;2FAOd,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBATjC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAAA,OAAA,EAChB,CAAC,aAAa,CAAC,EAAA,IAAA,EAGlB;AACF,wBAAA,MAAM,EAAE,QAAQ;AACnB,qBAAA,EAAA,QAAA,EAAA,8iBAAA,EAAA,MAAA,EAAA,CAAA,0lCAAA,CAAA,EAAA;;;AEVL;;AAEG;;;;"}
|
|
@@ -95,11 +95,11 @@ class DsvButtonComponent extends DsvBaseColorComponent {
|
|
|
95
95
|
!this.disabled() && this.callback.emit();
|
|
96
96
|
}
|
|
97
97
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
98
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: DsvButtonComponent, isStandalone: true, selector: "dsv-button", inputs: { libelle: { classPropertyName: "libelle", publicName: "libelle", isSignal: true, isRequired: false, transformFunction: null }, routerLink: { classPropertyName: "routerLink", publicName: "routerLink", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconEnd: { classPropertyName: "iconEnd", publicName: "iconEnd", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, noHover: { classPropertyName: "noHover", publicName: "noHover", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, prevent: { classPropertyName: "prevent", publicName: "prevent", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callback: "callback" }, usesInheritance: true, ngImport: i0, template: "@if (show()) {\n <button\n [class]=\"classes()\"\n [type]=\"type()\"\n [disabled]=\"disabled()\"\n (click)=\"doClick($event)\"\n buttonRipple\n >\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n @if (libelle()) {\n <span>\n {{ libelle() | translate }}\n </span>\n }\n <span>\n <ng-content></ng-content>\n </span>\n @if (iconEnd()) {\n <i [class]=\"iconEnd()\"></i>\n }\n </button>\n}\n", styles: [":host{--button-border-radius: 4px;--button-disabled-background: rgb(200, 200, 200);--button-disabled-color: rgba(0, 0, 0);--button-width: auto;--button-min-width: 10px;--button-min-height: 28px;--button-margin: 0px;--button-padding: 2px 4px;--button-font-size: 1rem;--button-icon-size: 1.4rem;--button-line-height: 1.5rem;--button-font-weight: 550;position:relative}:host button.dsv-button{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;box-sizing:border-box;vertical-align:middle;flex-direction:row;gap:5px;align-items:center;justify-content:center;font-weight:var(--button-font-weight);font-size:var(--button-font-size);letter-spacing:.02857em;text-transform:uppercase;outline:0px;margin:var(--button-margin);padding:var(--button-padding);min-width:var(--button-min-width);min-height:var(--button-min-height);width:var(--button-width);line-height:var(--button-line-height);text-decoration:none;border-width:0px;border-radius:var(--button-border-radius);transition:background-color .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),border-color .25s cubic-bezier(.4,0,.2,1)}:host button.dsv-button i{font-size:var(--button-icon-size)!important}:host button.dsv-button>span:not(.ripple):empty{display:none}:host button.dsv-button:has(span:not(:empty)){padding:3px 10px}:host button.dsv-button:has(span:not(:empty)) i{font-size:var(--button-font-size)!important}:host button.dsv-button:not(:disabled):not(.no-hover):hover{transform:scale(1);opacity:1.2}:host button.dsv-button:not(:disabled):not(.no-hover):hover:not(.text){box-shadow:#0003 0 2px 4px -1px,#00000024 0 4px 5px,#0000001f 0 1px 10px}:host button.dsv-button:not(:disabled):active{transform:scale(1);opacity:.8}:host button.dsv-button:disabled{cursor:auto;background:var(--button-disabled-background);color:var(--button-disabled-color)}\n"], dependencies: [{ kind: "directive", type: ButtonRippleDirective, selector: "[buttonRipple]", inputs: ["rippleColor", "rippleDuration"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
|
98
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: DsvButtonComponent, isStandalone: true, selector: "dsv-button", inputs: { libelle: { classPropertyName: "libelle", publicName: "libelle", isSignal: true, isRequired: false, transformFunction: null }, routerLink: { classPropertyName: "routerLink", publicName: "routerLink", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconEnd: { classPropertyName: "iconEnd", publicName: "iconEnd", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, noHover: { classPropertyName: "noHover", publicName: "noHover", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, prevent: { classPropertyName: "prevent", publicName: "prevent", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callback: "callback" }, usesInheritance: true, ngImport: i0, template: "@if (show()) {\n <button\n [class]=\"classes()\"\n [type]=\"type()\"\n [disabled]=\"disabled()\"\n (click)=\"doClick($event)\"\n buttonRipple\n >\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n @if (libelle()) {\n <span>\n {{ libelle() | translate }}\n </span>\n }\n <span>\n <ng-content></ng-content>\n </span>\n @if (iconEnd()) {\n <i [class]=\"iconEnd()\"></i>\n }\n </button>\n}\n", styles: [":host{--button-border-radius: 4px;--button-disabled-background: rgb(200, 200, 200);--button-disabled-color: rgba(0, 0, 0);--button-width: auto;--button-min-width: 10px;--button-min-height: 28px;--button-margin: 0px;--button-padding: 2px 4px;--button-font-size: 1rem;--button-icon-size: 1.4rem;--button-line-height: 1.5rem;--button-font-weight: 550;position:relative}:host button.dsv-button{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;box-sizing:border-box;vertical-align:middle;flex-direction:row;gap:5px;align-items:center;justify-content:center;font-weight:var(--button-font-weight);font-size:var(--button-font-size);letter-spacing:.02857em;text-transform:uppercase;outline:0px;margin:var(--button-margin);padding:var(--button-padding);min-width:var(--button-min-width);min-height:var(--button-min-height);width:var(--button-width);line-height:var(--button-line-height);text-decoration:none;border-width:0px;border-radius:var(--button-border-radius);transition:background-color .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),border-color .25s cubic-bezier(.4,0,.2,1)}:host button.dsv-button i{font-size:var(--button-icon-size)!important}:host button.dsv-button>span{width:100%}:host button.dsv-button>span:not(.ripple):empty{display:none}:host button.dsv-button:has(span:not(:empty)){padding:3px 10px}:host button.dsv-button:has(span:not(:empty)) i{font-size:var(--button-font-size)!important}:host button.dsv-button:not(:disabled):not(.no-hover):hover{transform:scale(1);opacity:1.2}:host button.dsv-button:not(:disabled):not(.no-hover):hover:not(.text){box-shadow:#0003 0 2px 4px -1px,#00000024 0 4px 5px,#0000001f 0 1px 10px}:host button.dsv-button:not(:disabled):active{transform:scale(1);opacity:.8}:host button.dsv-button:disabled{cursor:auto;background:var(--button-disabled-background);color:var(--button-disabled-color)}\n"], dependencies: [{ kind: "directive", type: ButtonRippleDirective, selector: "[buttonRipple]", inputs: ["rippleColor", "rippleDuration"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
|
99
99
|
}
|
|
100
100
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvButtonComponent, decorators: [{
|
|
101
101
|
type: Component,
|
|
102
|
-
args: [{ selector: 'dsv-button', imports: [TranslatePipe, ButtonRippleDirective], template: "@if (show()) {\n <button\n [class]=\"classes()\"\n [type]=\"type()\"\n [disabled]=\"disabled()\"\n (click)=\"doClick($event)\"\n buttonRipple\n >\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n @if (libelle()) {\n <span>\n {{ libelle() | translate }}\n </span>\n }\n <span>\n <ng-content></ng-content>\n </span>\n @if (iconEnd()) {\n <i [class]=\"iconEnd()\"></i>\n }\n </button>\n}\n", styles: [":host{--button-border-radius: 4px;--button-disabled-background: rgb(200, 200, 200);--button-disabled-color: rgba(0, 0, 0);--button-width: auto;--button-min-width: 10px;--button-min-height: 28px;--button-margin: 0px;--button-padding: 2px 4px;--button-font-size: 1rem;--button-icon-size: 1.4rem;--button-line-height: 1.5rem;--button-font-weight: 550;position:relative}:host button.dsv-button{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;box-sizing:border-box;vertical-align:middle;flex-direction:row;gap:5px;align-items:center;justify-content:center;font-weight:var(--button-font-weight);font-size:var(--button-font-size);letter-spacing:.02857em;text-transform:uppercase;outline:0px;margin:var(--button-margin);padding:var(--button-padding);min-width:var(--button-min-width);min-height:var(--button-min-height);width:var(--button-width);line-height:var(--button-line-height);text-decoration:none;border-width:0px;border-radius:var(--button-border-radius);transition:background-color .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),border-color .25s cubic-bezier(.4,0,.2,1)}:host button.dsv-button i{font-size:var(--button-icon-size)!important}:host button.dsv-button>span:not(.ripple):empty{display:none}:host button.dsv-button:has(span:not(:empty)){padding:3px 10px}:host button.dsv-button:has(span:not(:empty)) i{font-size:var(--button-font-size)!important}:host button.dsv-button:not(:disabled):not(.no-hover):hover{transform:scale(1);opacity:1.2}:host button.dsv-button:not(:disabled):not(.no-hover):hover:not(.text){box-shadow:#0003 0 2px 4px -1px,#00000024 0 4px 5px,#0000001f 0 1px 10px}:host button.dsv-button:not(:disabled):active{transform:scale(1);opacity:.8}:host button.dsv-button:disabled{cursor:auto;background:var(--button-disabled-background);color:var(--button-disabled-color)}\n"] }]
|
|
102
|
+
args: [{ selector: 'dsv-button', imports: [TranslatePipe, ButtonRippleDirective], template: "@if (show()) {\n <button\n [class]=\"classes()\"\n [type]=\"type()\"\n [disabled]=\"disabled()\"\n (click)=\"doClick($event)\"\n buttonRipple\n >\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n @if (libelle()) {\n <span>\n {{ libelle() | translate }}\n </span>\n }\n <span>\n <ng-content></ng-content>\n </span>\n @if (iconEnd()) {\n <i [class]=\"iconEnd()\"></i>\n }\n </button>\n}\n", styles: [":host{--button-border-radius: 4px;--button-disabled-background: rgb(200, 200, 200);--button-disabled-color: rgba(0, 0, 0);--button-width: auto;--button-min-width: 10px;--button-min-height: 28px;--button-margin: 0px;--button-padding: 2px 4px;--button-font-size: 1rem;--button-icon-size: 1.4rem;--button-line-height: 1.5rem;--button-font-weight: 550;position:relative}:host button.dsv-button{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;box-sizing:border-box;vertical-align:middle;flex-direction:row;gap:5px;align-items:center;justify-content:center;font-weight:var(--button-font-weight);font-size:var(--button-font-size);letter-spacing:.02857em;text-transform:uppercase;outline:0px;margin:var(--button-margin);padding:var(--button-padding);min-width:var(--button-min-width);min-height:var(--button-min-height);width:var(--button-width);line-height:var(--button-line-height);text-decoration:none;border-width:0px;border-radius:var(--button-border-radius);transition:background-color .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),border-color .25s cubic-bezier(.4,0,.2,1)}:host button.dsv-button i{font-size:var(--button-icon-size)!important}:host button.dsv-button>span{width:100%}:host button.dsv-button>span:not(.ripple):empty{display:none}:host button.dsv-button:has(span:not(:empty)){padding:3px 10px}:host button.dsv-button:has(span:not(:empty)) i{font-size:var(--button-font-size)!important}:host button.dsv-button:not(:disabled):not(.no-hover):hover{transform:scale(1);opacity:1.2}:host button.dsv-button:not(:disabled):not(.no-hover):hover:not(.text){box-shadow:#0003 0 2px 4px -1px,#00000024 0 4px 5px,#0000001f 0 1px 10px}:host button.dsv-button:not(:disabled):active{transform:scale(1);opacity:.8}:host button.dsv-button:disabled{cursor:auto;background:var(--button-disabled-background);color:var(--button-disabled-color)}\n"] }]
|
|
103
103
|
}], ctorParameters: () => [], propDecorators: { libelle: [{ type: i0.Input, args: [{ isSignal: true, alias: "libelle", required: false }] }], routerLink: [{ type: i0.Input, args: [{ isSignal: true, alias: "routerLink", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], iconEnd: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconEnd", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], noHover: [{ type: i0.Input, args: [{ isSignal: true, alias: "noHover", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], prevent: [{ type: i0.Input, args: [{ isSignal: true, alias: "prevent", required: false }] }], callback: [{ type: i0.Output, args: ["callback"] }] } });
|
|
104
104
|
|
|
105
105
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-button.mjs","sources":["../../../projects/ng-dsv/ds/button/directive/button-riddle.directive.ts","../../../projects/ng-dsv/ds/button/component/button.component.ts","../../../projects/ng-dsv/ds/button/component/button.component.html","../../../projects/ng-dsv/ds/button/ng-vagabond-lab-ng-dsv-ds-button.ts"],"sourcesContent":["import { Directive, ElementRef, inject, input, Renderer2 } from '@angular/core';\nimport { PlatformService } from '@ng-vagabond-lab/ng-dsv/platform';\n\n@Directive({\n selector: '[buttonRipple]',\n host: {\n '(click)': 'onClick($event)',\n },\n})\nexport class ButtonRippleDirective {\n readonly element = inject(ElementRef<HTMLElement>);\n readonly renderer = inject(Renderer2);\n readonly platformService = inject(PlatformService);\n\n readonly rippleColor = input<string>('rgba(255, 255, 255, 0.35');\n readonly rippleDuration = input<number>(550);\n\n constructor() {\n if (!this.platformService.isPlatformBrowser()) {\n return;\n }\n\n const host = this.element.nativeElement;\n\n const position = getComputedStyle(host).position;\n if (position === 'static') {\n this.renderer.setStyle(host, 'position', 'relative');\n }\n this.renderer.setStyle(host, 'overflow', 'hidden');\n }\n\n onClick(event: MouseEvent): void {\n const host = this.element.nativeElement;\n const rect = host.getBoundingClientRect();\n\n const size = Math.max(rect.width, rect.height);\n const x = event.clientX - rect.left - size / 2;\n const y = event.clientY - rect.top - size / 2;\n\n const circle = this.renderer.createElement('span') as HTMLElement;\n circle.classList.add('ripple');\n\n this.renderer.setStyle(circle, 'position', 'absolute');\n this.renderer.setStyle(circle, 'width', `${size}px`);\n this.renderer.setStyle(circle, 'height', `${size}px`);\n this.renderer.setStyle(circle, 'left', `${x}px`);\n this.renderer.setStyle(circle, 'top', `${y}px`);\n this.renderer.setStyle(circle, 'border-radius', '50%');\n this.renderer.setStyle(circle, 'background', this.rippleColor());\n this.renderer.setStyle(circle, 'transform', 'scale(0)');\n this.renderer.setStyle(circle, 'pointer-events', 'none');\n this.renderer.setStyle(circle, 'animation', `ripple ${this.rippleDuration()}ms linear`);\n\n this.renderer.appendChild(host, circle);\n\n circle.addEventListener('animationend', () => {\n this.renderer.removeChild(host, circle);\n });\n }\n}\n","import { Component, effect, input, output } from '@angular/core';\nimport { DsvBaseColorComponent } from '@ng-vagabond-lab/ng-dsv/ds/color';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { ButtonRippleDirective } from '../directive/button-riddle.directive';\n\n@Component({\n selector: 'dsv-button',\n imports: [TranslatePipe, ButtonRippleDirective],\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n})\nexport class DsvButtonComponent extends DsvBaseColorComponent {\n readonly libelle = input<string>('');\n readonly routerLink = input<string | undefined>(undefined);\n readonly icon = input<string>('');\n readonly iconEnd = input<string>('');\n readonly disabled = input<boolean>(false);\n readonly noHover = input<boolean>(false);\n readonly type = input<string>('button');\n readonly prevent = input<boolean>(true);\n\n readonly callback = output<void>();\n\n constructor() {\n super();\n effect(() => {\n const classes: string[] = [];\n this.icon() && classes.push('icon');\n this.libelle() !== '' && classes.push('padding');\n this.noHover() && classes.push('no-hover');\n\n this.setClasses('dsv-button', classes);\n });\n }\n\n doClick(event: Event): void {\n if (this.prevent() && !this.routerLink() && this.type() !== 'submit') {\n event.stopPropagation();\n event.preventDefault();\n }\n !this.disabled() && this.callback.emit();\n }\n}\n","@if (show()) {\n <button\n [class]=\"classes()\"\n [type]=\"type()\"\n [disabled]=\"disabled()\"\n (click)=\"doClick($event)\"\n buttonRipple\n >\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n @if (libelle()) {\n <span>\n {{ libelle() | translate }}\n </span>\n }\n <span>\n <ng-content></ng-content>\n </span>\n @if (iconEnd()) {\n <i [class]=\"iconEnd()\"></i>\n }\n </button>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MASa,qBAAqB,CAAA;AACrB,IAAA,OAAO,GAAG,MAAM,EAAC,UAAuB,EAAC;AACzC,IAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAC5B,IAAA,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;IAEzC,WAAW,GAAG,KAAK,CAAS,0BAA0B;oFAAC;IACvD,cAAc,GAAG,KAAK,CAAS,GAAG;uFAAC;AAE5C,IAAA,WAAA,GAAA;QACI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,EAAE;YAC3C;QACJ;AAEA,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa;QAEvC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,QAAQ;AAChD,QAAA,IAAI,QAAQ,KAAK,QAAQ,EAAE;YACvB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC;QACxD;QACA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC;IACtD;AAEA,IAAA,OAAO,CAAC,KAAiB,EAAA;AACrB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa;AACvC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,EAAE;AAEzC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;AAC9C,QAAA,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC;AAC9C,QAAA,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC;QAE7C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAgB;AACjE,QAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;QAE9B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC;AACtD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,CAAA,EAAG,IAAI,CAAA,EAAA,CAAI,CAAC;AACpD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAA,EAAG,IAAI,CAAA,EAAA,CAAI,CAAC;AACrD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAA,EAAG,CAAC,CAAA,EAAA,CAAI,CAAC;AAChD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,CAAA,EAAG,CAAC,CAAA,EAAA,CAAI,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC;AACtD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,CAAC;AACxD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA,OAAA,EAAU,IAAI,CAAC,cAAc,EAAE,CAAA,SAAA,CAAW,CAAC;QAEvF,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC;AAEvC,QAAA,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,MAAK;YACzC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC;AAC3C,QAAA,CAAC,CAAC;IACN;uGAjDS,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,IAAI,EAAE;AACF,wBAAA,SAAS,EAAE,iBAAiB;AAC/B,qBAAA;AACJ,iBAAA;;;ACGK,MAAO,kBAAmB,SAAQ,qBAAqB,CAAA;IAChD,OAAO,GAAG,KAAK,CAAS,EAAE;gFAAC;IAC3B,UAAU,GAAG,KAAK,CAAqB,SAAS;mFAAC;IACjD,IAAI,GAAG,KAAK,CAAS,EAAE;6EAAC;IACxB,OAAO,GAAG,KAAK,CAAS,EAAE;gFAAC;IAC3B,QAAQ,GAAG,KAAK,CAAU,KAAK;iFAAC;IAChC,OAAO,GAAG,KAAK,CAAU,KAAK;gFAAC;IAC/B,IAAI,GAAG,KAAK,CAAS,QAAQ;6EAAC;IAC9B,OAAO,GAAG,KAAK,CAAU,IAAI;gFAAC;IAE9B,QAAQ,GAAG,MAAM,EAAQ;AAElC,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;QACP,MAAM,CAAC,MAAK;YACR,MAAM,OAAO,GAAa,EAAE;YAC5B,IAAI,CAAC,IAAI,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AACnC,YAAA,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;YAChD,IAAI,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;AAE1C,YAAA,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC;AAC1C,QAAA,CAAC,CAAC;IACN;AAEA,IAAA,OAAO,CAAC,KAAY,EAAA;AAChB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,QAAQ,EAAE;YAClE,KAAK,CAAC,eAAe,EAAE;YACvB,KAAK,CAAC,cAAc,EAAE;QAC1B;QACA,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;IAC5C;uGA9BS,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECX/B,gjBAwBA,EAAA,MAAA,EAAA,CAAA,40DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDjB6B,qBAAqB,iGAApC,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA;;2FAId,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAAA,OAAA,EACb,CAAC,aAAa,EAAE,qBAAqB,CAAC,EAAA,QAAA,EAAA,gjBAAA,EAAA,MAAA,EAAA,CAAA,40DAAA,CAAA,EAAA;;;AEPnD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-button.mjs","sources":["../../../projects/ng-dsv/ds/button/directive/button-riddle.directive.ts","../../../projects/ng-dsv/ds/button/component/button.component.ts","../../../projects/ng-dsv/ds/button/component/button.component.html","../../../projects/ng-dsv/ds/button/ng-vagabond-lab-ng-dsv-ds-button.ts"],"sourcesContent":["import { Directive, ElementRef, inject, input, Renderer2 } from '@angular/core';\nimport { PlatformService } from '@ng-vagabond-lab/ng-dsv/platform';\n\n@Directive({\n selector: '[buttonRipple]',\n host: {\n '(click)': 'onClick($event)',\n },\n})\nexport class ButtonRippleDirective {\n readonly element = inject(ElementRef<HTMLElement>);\n readonly renderer = inject(Renderer2);\n readonly platformService = inject(PlatformService);\n\n readonly rippleColor = input<string>('rgba(255, 255, 255, 0.35');\n readonly rippleDuration = input<number>(550);\n\n constructor() {\n if (!this.platformService.isPlatformBrowser()) {\n return;\n }\n\n const host = this.element.nativeElement;\n\n const position = getComputedStyle(host).position;\n if (position === 'static') {\n this.renderer.setStyle(host, 'position', 'relative');\n }\n this.renderer.setStyle(host, 'overflow', 'hidden');\n }\n\n onClick(event: MouseEvent): void {\n const host = this.element.nativeElement;\n const rect = host.getBoundingClientRect();\n\n const size = Math.max(rect.width, rect.height);\n const x = event.clientX - rect.left - size / 2;\n const y = event.clientY - rect.top - size / 2;\n\n const circle = this.renderer.createElement('span') as HTMLElement;\n circle.classList.add('ripple');\n\n this.renderer.setStyle(circle, 'position', 'absolute');\n this.renderer.setStyle(circle, 'width', `${size}px`);\n this.renderer.setStyle(circle, 'height', `${size}px`);\n this.renderer.setStyle(circle, 'left', `${x}px`);\n this.renderer.setStyle(circle, 'top', `${y}px`);\n this.renderer.setStyle(circle, 'border-radius', '50%');\n this.renderer.setStyle(circle, 'background', this.rippleColor());\n this.renderer.setStyle(circle, 'transform', 'scale(0)');\n this.renderer.setStyle(circle, 'pointer-events', 'none');\n this.renderer.setStyle(circle, 'animation', `ripple ${this.rippleDuration()}ms linear`);\n\n this.renderer.appendChild(host, circle);\n\n circle.addEventListener('animationend', () => {\n this.renderer.removeChild(host, circle);\n });\n }\n}\n","import { Component, effect, input, output } from '@angular/core';\nimport { DsvBaseColorComponent } from '@ng-vagabond-lab/ng-dsv/ds/color';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { ButtonRippleDirective } from '../directive/button-riddle.directive';\n\n@Component({\n selector: 'dsv-button',\n imports: [TranslatePipe, ButtonRippleDirective],\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n})\nexport class DsvButtonComponent extends DsvBaseColorComponent {\n readonly libelle = input<string>('');\n readonly routerLink = input<string | undefined>(undefined);\n readonly icon = input<string>('');\n readonly iconEnd = input<string>('');\n readonly disabled = input<boolean>(false);\n readonly noHover = input<boolean>(false);\n readonly type = input<string>('button');\n readonly prevent = input<boolean>(true);\n\n readonly callback = output<void>();\n\n constructor() {\n super();\n effect(() => {\n const classes: string[] = [];\n this.icon() && classes.push('icon');\n this.libelle() !== '' && classes.push('padding');\n this.noHover() && classes.push('no-hover');\n\n this.setClasses('dsv-button', classes);\n });\n }\n\n doClick(event: Event): void {\n if (this.prevent() && !this.routerLink() && this.type() !== 'submit') {\n event.stopPropagation();\n event.preventDefault();\n }\n !this.disabled() && this.callback.emit();\n }\n}\n","@if (show()) {\n <button\n [class]=\"classes()\"\n [type]=\"type()\"\n [disabled]=\"disabled()\"\n (click)=\"doClick($event)\"\n buttonRipple\n >\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n @if (libelle()) {\n <span>\n {{ libelle() | translate }}\n </span>\n }\n <span>\n <ng-content></ng-content>\n </span>\n @if (iconEnd()) {\n <i [class]=\"iconEnd()\"></i>\n }\n </button>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -24,13 +24,13 @@ class DsvChipComponent extends DsvBaseColorComponent {
|
|
|
24
24
|
this.delete.emit();
|
|
25
25
|
}
|
|
26
26
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: DsvChipComponent, isStandalone: true, selector: "dsv-chip", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { delete: "delete" }, host: { properties: { "class": "classes()" } }, usesInheritance: true, ngImport: i0, template: "<span>\n {{ text() | translate }}\n <ng-content />\n</span>\n@if (isDelete()) {\n <dsv-button icon=\"ri-delete-bin-line\" variant=\"text\" color=\"inherit\" (callback)=\"doDelete()\" />\n}\n", styles: [":host{-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;padding:6px 15px;border-radius:15px;font-size:1rem;font-weight:
|
|
27
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: DsvChipComponent, isStandalone: true, selector: "dsv-chip", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { delete: "delete" }, host: { properties: { "class": "classes()" } }, usesInheritance: true, ngImport: i0, template: "<span>\n {{ text() | translate }}\n <ng-content />\n</span>\n@if (isDelete()) {\n <dsv-button icon=\"ri-delete-bin-line\" variant=\"text\" color=\"inherit\" (callback)=\"doDelete()\" />\n}\n", styles: [":host{-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;padding:6px 15px;border-radius:15px;font-size:1rem;font-weight:600}:host.with-delete{padding:0 5px 0 20px}:host:empty{display:none}\n"], dependencies: [{ kind: "component", type: DsvButtonComponent, selector: "dsv-button", inputs: ["libelle", "routerLink", "icon", "iconEnd", "disabled", "noHover", "type", "prevent"], outputs: ["callback"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
|
28
28
|
}
|
|
29
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvChipComponent, decorators: [{
|
|
30
30
|
type: Component,
|
|
31
31
|
args: [{ selector: 'dsv-chip', imports: [DsvButtonComponent, TranslatePipe], host: {
|
|
32
32
|
'[class]': 'classes()',
|
|
33
|
-
}, template: "<span>\n {{ text() | translate }}\n <ng-content />\n</span>\n@if (isDelete()) {\n <dsv-button icon=\"ri-delete-bin-line\" variant=\"text\" color=\"inherit\" (callback)=\"doDelete()\" />\n}\n", styles: [":host{-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;padding:6px 15px;border-radius:15px;font-size:1rem;font-weight:
|
|
33
|
+
}, template: "<span>\n {{ text() | translate }}\n <ng-content />\n</span>\n@if (isDelete()) {\n <dsv-button icon=\"ri-delete-bin-line\" variant=\"text\" color=\"inherit\" (callback)=\"doDelete()\" />\n}\n", styles: [":host{-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;padding:6px 15px;border-radius:15px;font-size:1rem;font-weight:600}:host.with-delete{padding:0 5px 0 20px}:host:empty{display:none}\n"] }]
|
|
34
34
|
}], ctorParameters: () => [], propDecorators: { text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }], delete: [{ type: i0.Output, args: ["delete"] }] } });
|
|
35
35
|
|
|
36
36
|
/**
|
|
@@ -34,11 +34,11 @@ class DsvItemComponent {
|
|
|
34
34
|
this.isCallback() && this.callback.emit();
|
|
35
35
|
}
|
|
36
36
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: DsvItemComponent, isStandalone: true, selector: "dsv-item", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, nb: { classPropertyName: "nb", publicName: "nb", isSignal: true, isRequired: false, transformFunction: null }, url: { classPropertyName: "url", publicName: "url", isSignal: true, isRequired: false, transformFunction: null }, small: { classPropertyName: "small", publicName: "small", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callback: "callback" }, ngImport: i0, template: "<a [href]=\"this.url() ?? '#'\" class=\"text\" (click)=\"doClick($event)\" [class.small]=\"small()\">\n <span>\n @if (icon()) {\n <i class=\"ri-{{ icon() }}-line\"></i>\n }\n {{ text() | translate }}\n </span>\n @if (nb() >= 0) {\n <dsv-chip color=\"secondary\">{{ nb() }}</dsv-chip>\n }\n</a>\n<ng-content></ng-content>\n", styles: [":host{--a-margin: 5px 10px;--a-padding: 10px;--a-color: inherit;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}:host a{margin:var(--a-margin);padding:var(--a-padding);color:var(--a-color);display:flex;justify-content:space-between;cursor:pointer}:host a span{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host a dsv-chip{font-size:.8rem;padding:3px 7px;min-width:10px}:host a:hover{background-color:#d9d9d9}:host i{margin-right:10px}:host .text{font-size:1rem;font-weight:700}:host .text.small{margin-left:20px}:host.active .small{--a-color: #6e6e6e}:host:not(.active) .small{--a-color: #aeaeae}:host-context(body.dark) a:hover{background-color:#313131!important}:host-context(body.dark) a dsv-chip{color:var(--text)!important}:host-context(body.dark).active .small{--a-color: #aeaeae}:host-context(body.dark):not(.active) .small{--a-color: #6e6e6e}\n"], dependencies: [{ kind: "component", type: DsvChipComponent, selector: "dsv-chip", inputs: ["text"], outputs: ["delete"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
|
37
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: DsvItemComponent, isStandalone: true, selector: "dsv-item", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, nb: { classPropertyName: "nb", publicName: "nb", isSignal: true, isRequired: false, transformFunction: null }, url: { classPropertyName: "url", publicName: "url", isSignal: true, isRequired: false, transformFunction: null }, small: { classPropertyName: "small", publicName: "small", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callback: "callback" }, ngImport: i0, template: "<a [href]=\"this.url() ?? '#'\" class=\"text\" (click)=\"doClick($event)\" [class.small]=\"small()\">\n <span>\n @if (icon()) {\n <i class=\"ri-{{ icon() }}-line\"></i>\n }\n {{ text() | translate }}\n </span>\n @if (nb() >= 0) {\n <dsv-chip color=\"secondary\">{{ nb() }}</dsv-chip>\n }\n</a>\n<ng-content></ng-content>\n", styles: [":host{--a-margin: 5px 10px;--a-padding: 10px;--a-color: inherit;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}:host a{margin:var(--a-margin);padding:var(--a-padding);color:var(--a-color);display:flex;justify-content:space-between;cursor:pointer}:host a span{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host a dsv-chip{font-size:.8rem;padding:3px 7px;min-width:10px}:host a:hover{background-color:#d9d9d9}:host i{margin-right:10px}:host .text{font-size:1rem;font-weight:700}:host .text.small{margin-left:20px}:host.active .small{--a-color: #6e6e6e}:host:not(.active) .small{--a-color: #aeaeae}:host:not(.active) .small dsv-chip{opacity:.5}:host-context(body.dark) a:hover{background-color:#313131!important}:host-context(body.dark) a dsv-chip{color:var(--button-text)!important}:host-context(body.dark).active .small{--a-color: #aeaeae}:host-context(body.dark):not(.active) .small{--a-color: #6e6e6e}\n"], dependencies: [{ kind: "component", type: DsvChipComponent, selector: "dsv-chip", inputs: ["text"], outputs: ["delete"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
|
38
38
|
}
|
|
39
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvItemComponent, decorators: [{
|
|
40
40
|
type: Component,
|
|
41
|
-
args: [{ selector: 'dsv-item', imports: [DsvChipComponent, TranslatePipe], template: "<a [href]=\"this.url() ?? '#'\" class=\"text\" (click)=\"doClick($event)\" [class.small]=\"small()\">\n <span>\n @if (icon()) {\n <i class=\"ri-{{ icon() }}-line\"></i>\n }\n {{ text() | translate }}\n </span>\n @if (nb() >= 0) {\n <dsv-chip color=\"secondary\">{{ nb() }}</dsv-chip>\n }\n</a>\n<ng-content></ng-content>\n", styles: [":host{--a-margin: 5px 10px;--a-padding: 10px;--a-color: inherit;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}:host a{margin:var(--a-margin);padding:var(--a-padding);color:var(--a-color);display:flex;justify-content:space-between;cursor:pointer}:host a span{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host a dsv-chip{font-size:.8rem;padding:3px 7px;min-width:10px}:host a:hover{background-color:#d9d9d9}:host i{margin-right:10px}:host .text{font-size:1rem;font-weight:700}:host .text.small{margin-left:20px}:host.active .small{--a-color: #6e6e6e}:host:not(.active) .small{--a-color: #aeaeae}:host-context(body.dark) a:hover{background-color:#313131!important}:host-context(body.dark) a dsv-chip{color:var(--text)!important}:host-context(body.dark).active .small{--a-color: #aeaeae}:host-context(body.dark):not(.active) .small{--a-color: #6e6e6e}\n"] }]
|
|
41
|
+
args: [{ selector: 'dsv-item', imports: [DsvChipComponent, TranslatePipe], template: "<a [href]=\"this.url() ?? '#'\" class=\"text\" (click)=\"doClick($event)\" [class.small]=\"small()\">\n <span>\n @if (icon()) {\n <i class=\"ri-{{ icon() }}-line\"></i>\n }\n {{ text() | translate }}\n </span>\n @if (nb() >= 0) {\n <dsv-chip color=\"secondary\">{{ nb() }}</dsv-chip>\n }\n</a>\n<ng-content></ng-content>\n", styles: [":host{--a-margin: 5px 10px;--a-padding: 10px;--a-color: inherit;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}:host a{margin:var(--a-margin);padding:var(--a-padding);color:var(--a-color);display:flex;justify-content:space-between;cursor:pointer}:host a span{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host a dsv-chip{font-size:.8rem;padding:3px 7px;min-width:10px}:host a:hover{background-color:#d9d9d9}:host i{margin-right:10px}:host .text{font-size:1rem;font-weight:700}:host .text.small{margin-left:20px}:host.active .small{--a-color: #6e6e6e}:host:not(.active) .small{--a-color: #aeaeae}:host:not(.active) .small dsv-chip{opacity:.5}:host-context(body.dark) a:hover{background-color:#313131!important}:host-context(body.dark) a dsv-chip{color:var(--button-text)!important}:host-context(body.dark).active .small{--a-color: #aeaeae}:host-context(body.dark):not(.active) .small{--a-color: #6e6e6e}\n"] }]
|
|
42
42
|
}], ctorParameters: () => [], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }], nb: [{ type: i0.Input, args: [{ isSignal: true, alias: "nb", required: false }] }], url: [{ type: i0.Input, args: [{ isSignal: true, alias: "url", required: false }] }], small: [{ type: i0.Input, args: [{ isSignal: true, alias: "small", required: false }] }], callback: [{ type: i0.Output, args: ["callback"] }] } });
|
|
43
43
|
|
|
44
44
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-item.mjs","sources":["../../../projects/ng-dsv/ds/item/component/item.component.ts","../../../projects/ng-dsv/ds/item/component/item.component.html","../../../projects/ng-dsv/ds/item/ng-vagabond-lab-ng-dsv-ds-item.ts"],"sourcesContent":["import { Component, effect, inject, input, output, signal } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { isCallback } from '@ng-vagabond-lab/ng-dsv/base';\nimport { DsvChipComponent } from '@ng-vagabond-lab/ng-dsv/ds/chip';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'dsv-item',\n imports: [DsvChipComponent, TranslatePipe],\n templateUrl: './item.component.html',\n styleUrls: ['./item.component.scss'],\n})\nexport class DsvItemComponent {\n readonly router = inject(Router);\n\n readonly icon = input<string>('');\n readonly text = input<string>('');\n readonly nb = input<number>(-1);\n readonly url = input<string>();\n readonly small = input<boolean>(false);\n\n readonly callback = output<void>();\n\n readonly isCallback = signal<boolean>(false);\n\n constructor() {\n effect(() => {\n this.isCallback.set(isCallback(this.callback));\n });\n }\n\n doClick(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n if (this.url()) {\n this.router.navigate([this.url()]);\n }\n this.isCallback() && this.callback.emit();\n }\n}\n","<a [href]=\"this.url() ?? '#'\" class=\"text\" (click)=\"doClick($event)\" [class.small]=\"small()\">\n <span>\n @if (icon()) {\n <i class=\"ri-{{ icon() }}-line\"></i>\n }\n {{ text() | translate }}\n </span>\n @if (nb() >= 0) {\n <dsv-chip color=\"secondary\">{{ nb() }}</dsv-chip>\n }\n</a>\n<ng-content></ng-content>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;MAYa,gBAAgB,CAAA;AAChB,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAEvB,IAAI,GAAG,KAAK,CAAS,EAAE;6EAAC;IACxB,IAAI,GAAG,KAAK,CAAS,EAAE;6EAAC;AACxB,IAAA,EAAE,GAAG,KAAK,CAAS,CAAC,CAAC;2EAAC;AACtB,IAAA,GAAG,GAAG,KAAK;uFAAU;IACrB,KAAK,GAAG,KAAK,CAAU,KAAK;8EAAC;IAE7B,QAAQ,GAAG,MAAM,EAAQ;IAEzB,UAAU,GAAG,MAAM,CAAU,KAAK;mFAAC;AAE5C,IAAA,WAAA,GAAA;QACI,MAAM,CAAC,MAAK;AACR,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAClD,QAAA,CAAC,CAAC;IACN;AAEA,IAAA,OAAO,CAAC,KAAY,EAAA;QAChB,KAAK,CAAC,eAAe,EAAE;QACvB,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE;AACZ,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACtC;QACA,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;IAC7C;uGA1BS,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZ7B,uXAYA,EAAA,MAAA,EAAA,CAAA,
|
|
1
|
+
{"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-item.mjs","sources":["../../../projects/ng-dsv/ds/item/component/item.component.ts","../../../projects/ng-dsv/ds/item/component/item.component.html","../../../projects/ng-dsv/ds/item/ng-vagabond-lab-ng-dsv-ds-item.ts"],"sourcesContent":["import { Component, effect, inject, input, output, signal } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { isCallback } from '@ng-vagabond-lab/ng-dsv/base';\nimport { DsvChipComponent } from '@ng-vagabond-lab/ng-dsv/ds/chip';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'dsv-item',\n imports: [DsvChipComponent, TranslatePipe],\n templateUrl: './item.component.html',\n styleUrls: ['./item.component.scss'],\n})\nexport class DsvItemComponent {\n readonly router = inject(Router);\n\n readonly icon = input<string>('');\n readonly text = input<string>('');\n readonly nb = input<number>(-1);\n readonly url = input<string>();\n readonly small = input<boolean>(false);\n\n readonly callback = output<void>();\n\n readonly isCallback = signal<boolean>(false);\n\n constructor() {\n effect(() => {\n this.isCallback.set(isCallback(this.callback));\n });\n }\n\n doClick(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n if (this.url()) {\n this.router.navigate([this.url()]);\n }\n this.isCallback() && this.callback.emit();\n }\n}\n","<a [href]=\"this.url() ?? '#'\" class=\"text\" (click)=\"doClick($event)\" [class.small]=\"small()\">\n <span>\n @if (icon()) {\n <i class=\"ri-{{ icon() }}-line\"></i>\n }\n {{ text() | translate }}\n </span>\n @if (nb() >= 0) {\n <dsv-chip color=\"secondary\">{{ nb() }}</dsv-chip>\n }\n</a>\n<ng-content></ng-content>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -60,13 +60,13 @@ class DsvModalComponent {
|
|
|
60
60
|
this.modalService.close(this.id());
|
|
61
61
|
}
|
|
62
62
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
63
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.3", type: DsvModalComponent, isStandalone: true, selector: "dsv-modal", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: true, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, titleText: { classPropertyName: "titleText", publicName: "titleText", isSignal: true, isRequired: true, transformFunction: null }, canEchap: { classPropertyName: "canEchap", publicName: "canEchap", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "document:keydown.escape": "onEscapeKey()" } }, ngImport: i0, template: "<div\n class=\"modal-overlay\"\n [class.open]=\"isOpen()\"\n></div>\n<div\n [class]=\"'modal ' + class()\"\n [class.open]=\"isOpen()\"\n>\n <div class=\"modal-header\">\n <b>{{ titleText() }}</b>\n <dsv-button\n (callback)=\"close()\"\n variant=\"text\"\n color=\"inherit\"\n >\n X\n </dsv-button>\n </div>\n <div class=\"modal-content\">\n <ng-content></ng-content>\n </div>\n <div class=\"modal-footer-wrapper\">\n <ng-content select=\".modal-footer\"></ng-content>\n </div>\n</div>\n", styles: [":host{--modal-top: 35%;--modal-left: 25%;--modal-width: 50%;--modal-height: auto;--modal-min-height: 150px;--modal-max-height: 50vh;--modal-overlay-z-index: 100;--modal-z-index: 101;--modal-content-padding: 25px 10px 20px;--modal-overflow: auto;position:absolute}:host .modal-overlay{position:fixed;z-index:-1;opacity:0;background-color:oklab(0% none none / .8);width:100%;height:100%;top:0;right:0}:host .modal-overlay.open{z-index:var(--modal-overlay-z-index);opacity:1}:host .modal{position:fixed;z-index:-1;opacity:0;top:var(--modal-top);left:var(--modal-left);width:var(--modal-width);height:var(--modal-height);min-height:var(--modal-min-height);background:var(--background);display:flex;flex-direction:column}:host .modal.open{z-index:var(--modal-z-index);opacity:1}:host .modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:10px;background:var(--background-header);border-bottom:1px outset var(--border)}:host .modal .modal-content{flex:1;overflow:var(--modal-overflow);scrollbar-width:thin;padding:var(--modal-content-padding);background:var(--background-card);max-height:var(--modal-max-height);position:relative}:host .modal .modal-footer-wrapper:not(:empty){padding:10px;background:var(--background-card)}@media screen and (min-width:1000px){:host{--modal-left: calc(25% + 120px) !important}}@media screen and (max-width:750px){:host{--modal-width: calc(100% - 16px) !important;--modal-left: 8px !important}}\n"], dependencies: [{ kind: "component", type: DsvButtonComponent, selector: "dsv-button", inputs: ["libelle", "routerLink", "icon", "iconEnd", "disabled", "noHover", "type", "prevent"], outputs: ["callback"] }] });
|
|
63
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.3", type: DsvModalComponent, isStandalone: true, selector: "dsv-modal", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: true, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, titleText: { classPropertyName: "titleText", publicName: "titleText", isSignal: true, isRequired: true, transformFunction: null }, canEchap: { classPropertyName: "canEchap", publicName: "canEchap", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "document:keydown.escape": "onEscapeKey()" } }, ngImport: i0, template: "<div\n class=\"modal-overlay\"\n [class.open]=\"isOpen()\"\n></div>\n<div\n [class]=\"'modal ' + class()\"\n [class.open]=\"isOpen()\"\n>\n <div class=\"modal-header\">\n <b>{{ titleText() }}</b>\n <dsv-button\n (callback)=\"close()\"\n variant=\"text\"\n color=\"inherit\"\n >\n X\n </dsv-button>\n </div>\n <div class=\"modal-content\">\n <ng-content></ng-content>\n </div>\n <div class=\"modal-footer-wrapper\">\n <ng-content select=\".modal-footer\"></ng-content>\n </div>\n</div>\n", styles: [":host{--modal-top: 35%;--modal-left: 25%;--modal-width: 50%;--modal-height: auto;--modal-min-height: 150px;--modal-max-height: 50vh;--modal-overlay-z-index: 100;--modal-z-index: 101;--modal-content-padding: 25px 10px 20px;--modal-overflow: auto;position:absolute}:host .modal-overlay{position:fixed;z-index:-1;opacity:0;background-color:oklab(0% none none / .8);width:100%;height:100%;top:0;right:0}:host .modal-overlay.open{z-index:var(--modal-overlay-z-index);opacity:1}:host .modal{position:fixed;z-index:-1;opacity:0;top:var(--modal-top);left:var(--modal-left);width:var(--modal-width);height:var(--modal-height);min-height:var(--modal-min-height);background:var(--background);display:flex;flex-direction:column}:host .modal.open{z-index:var(--modal-z-index);opacity:1}:host .modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:10px;background:var(--background-header);border-bottom:1px outset var(--border)}:host .modal .modal-header b{font-size:1.15rem}:host .modal .modal-content{flex:1;overflow:var(--modal-overflow);scrollbar-width:thin;padding:var(--modal-content-padding);background:var(--background-card);max-height:var(--modal-max-height);position:relative}:host .modal .modal-footer-wrapper:not(:empty){padding:10px;background:var(--background-card)}@media screen and (min-width:1000px){:host{--modal-left: calc(25% + 120px) !important}}@media screen and (max-width:750px){:host{--modal-width: calc(100% - 16px) !important;--modal-left: 8px !important}}\n"], dependencies: [{ kind: "component", type: DsvButtonComponent, selector: "dsv-button", inputs: ["libelle", "routerLink", "icon", "iconEnd", "disabled", "noHover", "type", "prevent"], outputs: ["callback"] }] });
|
|
64
64
|
}
|
|
65
65
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvModalComponent, decorators: [{
|
|
66
66
|
type: Component,
|
|
67
67
|
args: [{ selector: 'dsv-modal', imports: [DsvButtonComponent], host: {
|
|
68
68
|
'(document:keydown.escape)': 'onEscapeKey()',
|
|
69
|
-
}, template: "<div\n class=\"modal-overlay\"\n [class.open]=\"isOpen()\"\n></div>\n<div\n [class]=\"'modal ' + class()\"\n [class.open]=\"isOpen()\"\n>\n <div class=\"modal-header\">\n <b>{{ titleText() }}</b>\n <dsv-button\n (callback)=\"close()\"\n variant=\"text\"\n color=\"inherit\"\n >\n X\n </dsv-button>\n </div>\n <div class=\"modal-content\">\n <ng-content></ng-content>\n </div>\n <div class=\"modal-footer-wrapper\">\n <ng-content select=\".modal-footer\"></ng-content>\n </div>\n</div>\n", styles: [":host{--modal-top: 35%;--modal-left: 25%;--modal-width: 50%;--modal-height: auto;--modal-min-height: 150px;--modal-max-height: 50vh;--modal-overlay-z-index: 100;--modal-z-index: 101;--modal-content-padding: 25px 10px 20px;--modal-overflow: auto;position:absolute}:host .modal-overlay{position:fixed;z-index:-1;opacity:0;background-color:oklab(0% none none / .8);width:100%;height:100%;top:0;right:0}:host .modal-overlay.open{z-index:var(--modal-overlay-z-index);opacity:1}:host .modal{position:fixed;z-index:-1;opacity:0;top:var(--modal-top);left:var(--modal-left);width:var(--modal-width);height:var(--modal-height);min-height:var(--modal-min-height);background:var(--background);display:flex;flex-direction:column}:host .modal.open{z-index:var(--modal-z-index);opacity:1}:host .modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:10px;background:var(--background-header);border-bottom:1px outset var(--border)}:host .modal .modal-content{flex:1;overflow:var(--modal-overflow);scrollbar-width:thin;padding:var(--modal-content-padding);background:var(--background-card);max-height:var(--modal-max-height);position:relative}:host .modal .modal-footer-wrapper:not(:empty){padding:10px;background:var(--background-card)}@media screen and (min-width:1000px){:host{--modal-left: calc(25% + 120px) !important}}@media screen and (max-width:750px){:host{--modal-width: calc(100% - 16px) !important;--modal-left: 8px !important}}\n"] }]
|
|
69
|
+
}, template: "<div\n class=\"modal-overlay\"\n [class.open]=\"isOpen()\"\n></div>\n<div\n [class]=\"'modal ' + class()\"\n [class.open]=\"isOpen()\"\n>\n <div class=\"modal-header\">\n <b>{{ titleText() }}</b>\n <dsv-button\n (callback)=\"close()\"\n variant=\"text\"\n color=\"inherit\"\n >\n X\n </dsv-button>\n </div>\n <div class=\"modal-content\">\n <ng-content></ng-content>\n </div>\n <div class=\"modal-footer-wrapper\">\n <ng-content select=\".modal-footer\"></ng-content>\n </div>\n</div>\n", styles: [":host{--modal-top: 35%;--modal-left: 25%;--modal-width: 50%;--modal-height: auto;--modal-min-height: 150px;--modal-max-height: 50vh;--modal-overlay-z-index: 100;--modal-z-index: 101;--modal-content-padding: 25px 10px 20px;--modal-overflow: auto;position:absolute}:host .modal-overlay{position:fixed;z-index:-1;opacity:0;background-color:oklab(0% none none / .8);width:100%;height:100%;top:0;right:0}:host .modal-overlay.open{z-index:var(--modal-overlay-z-index);opacity:1}:host .modal{position:fixed;z-index:-1;opacity:0;top:var(--modal-top);left:var(--modal-left);width:var(--modal-width);height:var(--modal-height);min-height:var(--modal-min-height);background:var(--background);display:flex;flex-direction:column}:host .modal.open{z-index:var(--modal-z-index);opacity:1}:host .modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:10px;background:var(--background-header);border-bottom:1px outset var(--border)}:host .modal .modal-header b{font-size:1.15rem}:host .modal .modal-content{flex:1;overflow:var(--modal-overflow);scrollbar-width:thin;padding:var(--modal-content-padding);background:var(--background-card);max-height:var(--modal-max-height);position:relative}:host .modal .modal-footer-wrapper:not(:empty){padding:10px;background:var(--background-card)}@media screen and (min-width:1000px){:host{--modal-left: calc(25% + 120px) !important}}@media screen and (max-width:750px){:host{--modal-width: calc(100% - 16px) !important;--modal-left: 8px !important}}\n"] }]
|
|
70
70
|
}], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: true }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], titleText: [{ type: i0.Input, args: [{ isSignal: true, alias: "titleText", required: true }] }], canEchap: [{ type: i0.Input, args: [{ isSignal: true, alias: "canEchap", required: false }] }] } });
|
|
71
71
|
|
|
72
72
|
class DsvModalAlertComponent {
|
|
@@ -97,11 +97,11 @@ class DsvModalAlertComponent {
|
|
|
97
97
|
this.modalService.close(this.id());
|
|
98
98
|
}
|
|
99
99
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvModalAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
100
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: DsvModalAlertComponent, isStandalone: true, selector: "dsv-modal-alert", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: true, transformFunction: null }, titleText: { classPropertyName: "titleText", publicName: "titleText", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, button: { classPropertyName: "button", publicName: "button", isSignal: true, isRequired: false, transformFunction: null }, buttonClose: { classPropertyName: "buttonClose", publicName: "buttonClose", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callback: "callback" }, ngImport: i0, template: "<dsv-modal [id]=\"id()\" [titleText]=\"titleText()\">\n {{ text() }}\n <div class=\"modal-footer\">\n @if (buttonClose()) {\n <dsv-button (callback)=\"doClickClose()\" color=\"
|
|
100
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: DsvModalAlertComponent, isStandalone: true, selector: "dsv-modal-alert", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: true, transformFunction: null }, titleText: { classPropertyName: "titleText", publicName: "titleText", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, button: { classPropertyName: "button", publicName: "button", isSignal: true, isRequired: false, transformFunction: null }, buttonClose: { classPropertyName: "buttonClose", publicName: "buttonClose", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callback: "callback" }, ngImport: i0, template: "<dsv-modal [id]=\"id()\" [titleText]=\"titleText()\">\n {{ text() }}\n <div class=\"modal-footer\">\n @if (buttonClose()) {\n <dsv-button (callback)=\"doClickClose()\" color=\"secondary\" variant=\"outlined\">\n {{ buttonClose()! | translate }}\n </dsv-button>\n }\n <dsv-button (callback)=\"doClick()\" color=\"secondary\">\n {{ button() | translate }}\n </dsv-button>\n </div>\n</dsv-modal>\n", styles: [":host{position:absolute}:host .modal-footer{display:flex;gap:.5rem;justify-content:flex-end}:host dsv-modal{--modal-overlay-z-index: 110 !important;--modal-z-index: 111 !important}\n"], dependencies: [{ kind: "component", type: DsvModalComponent, selector: "dsv-modal", inputs: ["id", "class", "titleText", "canEchap"] }, { kind: "component", type: DsvButtonComponent, selector: "dsv-button", inputs: ["libelle", "routerLink", "icon", "iconEnd", "disabled", "noHover", "type", "prevent"], outputs: ["callback"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
|
101
101
|
}
|
|
102
102
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvModalAlertComponent, decorators: [{
|
|
103
103
|
type: Component,
|
|
104
|
-
args: [{ selector: 'dsv-modal-alert', imports: [DsvModalComponent, DsvButtonComponent, TranslatePipe], template: "<dsv-modal [id]=\"id()\" [titleText]=\"titleText()\">\n {{ text() }}\n <div class=\"modal-footer\">\n @if (buttonClose()) {\n <dsv-button (callback)=\"doClickClose()\" color=\"
|
|
104
|
+
args: [{ selector: 'dsv-modal-alert', imports: [DsvModalComponent, DsvButtonComponent, TranslatePipe], template: "<dsv-modal [id]=\"id()\" [titleText]=\"titleText()\">\n {{ text() }}\n <div class=\"modal-footer\">\n @if (buttonClose()) {\n <dsv-button (callback)=\"doClickClose()\" color=\"secondary\" variant=\"outlined\">\n {{ buttonClose()! | translate }}\n </dsv-button>\n }\n <dsv-button (callback)=\"doClick()\" color=\"secondary\">\n {{ button() | translate }}\n </dsv-button>\n </div>\n</dsv-modal>\n", styles: [":host{position:absolute}:host .modal-footer{display:flex;gap:.5rem;justify-content:flex-end}:host dsv-modal{--modal-overlay-z-index: 110 !important;--modal-z-index: 111 !important}\n"] }]
|
|
105
105
|
}], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: true }] }], titleText: [{ type: i0.Input, args: [{ isSignal: true, alias: "titleText", required: false }] }], text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }], button: [{ type: i0.Input, args: [{ isSignal: true, alias: "button", required: false }] }], buttonClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "buttonClose", required: false }] }], callback: [{ type: i0.Output, args: ["callback"] }] } });
|
|
106
106
|
|
|
107
107
|
class DsvModalButtonComponent {
|
|
@@ -122,11 +122,11 @@ class DsvModalButtonComponent {
|
|
|
122
122
|
this.modalService.toggle(this.modalName());
|
|
123
123
|
}
|
|
124
124
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvModalButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
125
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.3", type: DsvModalButtonComponent, isStandalone: true, selector: "dsv-modal-button", inputs: { modalName: { classPropertyName: "modalName", publicName: "modalName", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callback: "callback" }, ngImport: i0, template: "<dsv-button\n [color]=\"color()\"\n [libelle]=\"text()\"\n [icon]=\"icon()\"\n [variant]=\"variant()\"\n (callback)=\"doToogle()\"\n/>\n<ng-content></ng-content>\n", styles: [":host{--button-border-radius: 4px;--button-disabled-background: rgb(200, 200, 200);--button-disabled-color: rgba(0, 0, 0);--button-width: auto;--button-min-width: 10px;--button-min-height: 28px;--button-margin: 0px;--button-padding: 2px 4px;--button-font-size: 1rem;--button-icon-size: 1.4rem;--button-line-height: 1.5rem;--button-font-weight: 550;position:relative}:host button.dsv-button{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;box-sizing:border-box;vertical-align:middle;flex-direction:row;gap:5px;align-items:center;justify-content:center;font-weight:var(--button-font-weight);font-size:var(--button-font-size);letter-spacing:.02857em;text-transform:uppercase;outline:0px;margin:var(--button-margin);padding:var(--button-padding);min-width:var(--button-min-width);min-height:var(--button-min-height);width:var(--button-width);line-height:var(--button-line-height);text-decoration:none;border-width:0px;border-radius:var(--button-border-radius);transition:background-color .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),border-color .25s cubic-bezier(.4,0,.2,1)}:host button.dsv-button i{font-size:var(--button-icon-size)!important}:host button.dsv-button>span:not(.ripple):empty{display:none}:host button.dsv-button:has(span:not(:empty)){padding:3px 10px}:host button.dsv-button:has(span:not(:empty)) i{font-size:var(--button-font-size)!important}:host button.dsv-button:not(:disabled):not(.no-hover):hover{transform:scale(1);opacity:1.2}:host button.dsv-button:not(:disabled):not(.no-hover):hover:not(.text){box-shadow:#0003 0 2px 4px -1px,#00000024 0 4px 5px,#0000001f 0 1px 10px}:host button.dsv-button:not(:disabled):active{transform:scale(1);opacity:.8}:host button.dsv-button:disabled{cursor:auto;background:var(--button-disabled-background);color:var(--button-disabled-color)}\n", ":host{--button-modal-border-radius: 4px;--button-modal-disabled-background: rgb(200, 200, 200);--button-modal-disabled-color: rgba(0, 0, 0);--button-modal-width: auto;--button-modal-min-width: 10px;--button-modal-min-height: 28px;--button-modal-margin: 0px;--button-modal-padding: 2px 4px;--button-modal-font-size: 1rem;--button-modal-icon-size: 1.4rem;--button-modal-line-height: 1.5rem;--button-modal-font-weight: 550}:host dsv-button{--button-border-radius: var(--button-modal-border-radius);--button-disabled-background: var(--button-modal-disabled-background);--button-disabled-color: var(--button-modal-disabled-color);--button-width: var(--button-modal-width);--button-min-width: var(--button-modal-min-width);--button-min-height: var(--button-modal-min-height);--button-margin: var(--button-modal-margin);--button-padding: var(--button-modal-padding);--button-font-size: var(--button-modal-font-size);--button-icon-size: var(--button-modal-icon-size);--button-line-height: var(--button-modal-line-height);--button-font-weight: var(--button-modal-font-weight)}\n"], dependencies: [{ kind: "component", type: DsvButtonComponent, selector: "dsv-button", inputs: ["libelle", "routerLink", "icon", "iconEnd", "disabled", "noHover", "type", "prevent"], outputs: ["callback"] }] });
|
|
125
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.3", type: DsvModalButtonComponent, isStandalone: true, selector: "dsv-modal-button", inputs: { modalName: { classPropertyName: "modalName", publicName: "modalName", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callback: "callback" }, ngImport: i0, template: "<dsv-button\n [color]=\"color()\"\n [libelle]=\"text()\"\n [icon]=\"icon()\"\n [variant]=\"variant()\"\n (callback)=\"doToogle()\"\n/>\n<ng-content></ng-content>\n", styles: [":host{--button-border-radius: 4px;--button-disabled-background: rgb(200, 200, 200);--button-disabled-color: rgba(0, 0, 0);--button-width: auto;--button-min-width: 10px;--button-min-height: 28px;--button-margin: 0px;--button-padding: 2px 4px;--button-font-size: 1rem;--button-icon-size: 1.4rem;--button-line-height: 1.5rem;--button-font-weight: 550;position:relative}:host button.dsv-button{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;box-sizing:border-box;vertical-align:middle;flex-direction:row;gap:5px;align-items:center;justify-content:center;font-weight:var(--button-font-weight);font-size:var(--button-font-size);letter-spacing:.02857em;text-transform:uppercase;outline:0px;margin:var(--button-margin);padding:var(--button-padding);min-width:var(--button-min-width);min-height:var(--button-min-height);width:var(--button-width);line-height:var(--button-line-height);text-decoration:none;border-width:0px;border-radius:var(--button-border-radius);transition:background-color .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),border-color .25s cubic-bezier(.4,0,.2,1)}:host button.dsv-button i{font-size:var(--button-icon-size)!important}:host button.dsv-button>span{width:100%}:host button.dsv-button>span:not(.ripple):empty{display:none}:host button.dsv-button:has(span:not(:empty)){padding:3px 10px}:host button.dsv-button:has(span:not(:empty)) i{font-size:var(--button-font-size)!important}:host button.dsv-button:not(:disabled):not(.no-hover):hover{transform:scale(1);opacity:1.2}:host button.dsv-button:not(:disabled):not(.no-hover):hover:not(.text){box-shadow:#0003 0 2px 4px -1px,#00000024 0 4px 5px,#0000001f 0 1px 10px}:host button.dsv-button:not(:disabled):active{transform:scale(1);opacity:.8}:host button.dsv-button:disabled{cursor:auto;background:var(--button-disabled-background);color:var(--button-disabled-color)}\n", ":host{--button-modal-border-radius: 4px;--button-modal-disabled-background: rgb(200, 200, 200);--button-modal-disabled-color: rgba(0, 0, 0);--button-modal-width: auto;--button-modal-min-width: 10px;--button-modal-min-height: 28px;--button-modal-margin: 0px;--button-modal-padding: 2px 4px;--button-modal-font-size: 1rem;--button-modal-icon-size: 1.4rem;--button-modal-line-height: 1.5rem;--button-modal-font-weight: 550}:host dsv-button{--button-border-radius: var(--button-modal-border-radius);--button-disabled-background: var(--button-modal-disabled-background);--button-disabled-color: var(--button-modal-disabled-color);--button-width: var(--button-modal-width);--button-min-width: var(--button-modal-min-width);--button-min-height: var(--button-modal-min-height);--button-margin: var(--button-modal-margin);--button-padding: var(--button-modal-padding);--button-font-size: var(--button-modal-font-size);--button-icon-size: var(--button-modal-icon-size);--button-line-height: var(--button-modal-line-height);--button-font-weight: var(--button-modal-font-weight)}\n"], dependencies: [{ kind: "component", type: DsvButtonComponent, selector: "dsv-button", inputs: ["libelle", "routerLink", "icon", "iconEnd", "disabled", "noHover", "type", "prevent"], outputs: ["callback"] }] });
|
|
126
126
|
}
|
|
127
127
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvModalButtonComponent, decorators: [{
|
|
128
128
|
type: Component,
|
|
129
|
-
args: [{ selector: 'dsv-modal-button', imports: [DsvButtonComponent], template: "<dsv-button\n [color]=\"color()\"\n [libelle]=\"text()\"\n [icon]=\"icon()\"\n [variant]=\"variant()\"\n (callback)=\"doToogle()\"\n/>\n<ng-content></ng-content>\n", styles: [":host{--button-border-radius: 4px;--button-disabled-background: rgb(200, 200, 200);--button-disabled-color: rgba(0, 0, 0);--button-width: auto;--button-min-width: 10px;--button-min-height: 28px;--button-margin: 0px;--button-padding: 2px 4px;--button-font-size: 1rem;--button-icon-size: 1.4rem;--button-line-height: 1.5rem;--button-font-weight: 550;position:relative}:host button.dsv-button{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;box-sizing:border-box;vertical-align:middle;flex-direction:row;gap:5px;align-items:center;justify-content:center;font-weight:var(--button-font-weight);font-size:var(--button-font-size);letter-spacing:.02857em;text-transform:uppercase;outline:0px;margin:var(--button-margin);padding:var(--button-padding);min-width:var(--button-min-width);min-height:var(--button-min-height);width:var(--button-width);line-height:var(--button-line-height);text-decoration:none;border-width:0px;border-radius:var(--button-border-radius);transition:background-color .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),border-color .25s cubic-bezier(.4,0,.2,1)}:host button.dsv-button i{font-size:var(--button-icon-size)!important}:host button.dsv-button>span:not(.ripple):empty{display:none}:host button.dsv-button:has(span:not(:empty)){padding:3px 10px}:host button.dsv-button:has(span:not(:empty)) i{font-size:var(--button-font-size)!important}:host button.dsv-button:not(:disabled):not(.no-hover):hover{transform:scale(1);opacity:1.2}:host button.dsv-button:not(:disabled):not(.no-hover):hover:not(.text){box-shadow:#0003 0 2px 4px -1px,#00000024 0 4px 5px,#0000001f 0 1px 10px}:host button.dsv-button:not(:disabled):active{transform:scale(1);opacity:.8}:host button.dsv-button:disabled{cursor:auto;background:var(--button-disabled-background);color:var(--button-disabled-color)}\n", ":host{--button-modal-border-radius: 4px;--button-modal-disabled-background: rgb(200, 200, 200);--button-modal-disabled-color: rgba(0, 0, 0);--button-modal-width: auto;--button-modal-min-width: 10px;--button-modal-min-height: 28px;--button-modal-margin: 0px;--button-modal-padding: 2px 4px;--button-modal-font-size: 1rem;--button-modal-icon-size: 1.4rem;--button-modal-line-height: 1.5rem;--button-modal-font-weight: 550}:host dsv-button{--button-border-radius: var(--button-modal-border-radius);--button-disabled-background: var(--button-modal-disabled-background);--button-disabled-color: var(--button-modal-disabled-color);--button-width: var(--button-modal-width);--button-min-width: var(--button-modal-min-width);--button-min-height: var(--button-modal-min-height);--button-margin: var(--button-modal-margin);--button-padding: var(--button-modal-padding);--button-font-size: var(--button-modal-font-size);--button-icon-size: var(--button-modal-icon-size);--button-line-height: var(--button-modal-line-height);--button-font-weight: var(--button-modal-font-weight)}\n"] }]
|
|
129
|
+
args: [{ selector: 'dsv-modal-button', imports: [DsvButtonComponent], template: "<dsv-button\n [color]=\"color()\"\n [libelle]=\"text()\"\n [icon]=\"icon()\"\n [variant]=\"variant()\"\n (callback)=\"doToogle()\"\n/>\n<ng-content></ng-content>\n", styles: [":host{--button-border-radius: 4px;--button-disabled-background: rgb(200, 200, 200);--button-disabled-color: rgba(0, 0, 0);--button-width: auto;--button-min-width: 10px;--button-min-height: 28px;--button-margin: 0px;--button-padding: 2px 4px;--button-font-size: 1rem;--button-icon-size: 1.4rem;--button-line-height: 1.5rem;--button-font-weight: 550;position:relative}:host button.dsv-button{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;box-sizing:border-box;vertical-align:middle;flex-direction:row;gap:5px;align-items:center;justify-content:center;font-weight:var(--button-font-weight);font-size:var(--button-font-size);letter-spacing:.02857em;text-transform:uppercase;outline:0px;margin:var(--button-margin);padding:var(--button-padding);min-width:var(--button-min-width);min-height:var(--button-min-height);width:var(--button-width);line-height:var(--button-line-height);text-decoration:none;border-width:0px;border-radius:var(--button-border-radius);transition:background-color .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),border-color .25s cubic-bezier(.4,0,.2,1)}:host button.dsv-button i{font-size:var(--button-icon-size)!important}:host button.dsv-button>span{width:100%}:host button.dsv-button>span:not(.ripple):empty{display:none}:host button.dsv-button:has(span:not(:empty)){padding:3px 10px}:host button.dsv-button:has(span:not(:empty)) i{font-size:var(--button-font-size)!important}:host button.dsv-button:not(:disabled):not(.no-hover):hover{transform:scale(1);opacity:1.2}:host button.dsv-button:not(:disabled):not(.no-hover):hover:not(.text){box-shadow:#0003 0 2px 4px -1px,#00000024 0 4px 5px,#0000001f 0 1px 10px}:host button.dsv-button:not(:disabled):active{transform:scale(1);opacity:.8}:host button.dsv-button:disabled{cursor:auto;background:var(--button-disabled-background);color:var(--button-disabled-color)}\n", ":host{--button-modal-border-radius: 4px;--button-modal-disabled-background: rgb(200, 200, 200);--button-modal-disabled-color: rgba(0, 0, 0);--button-modal-width: auto;--button-modal-min-width: 10px;--button-modal-min-height: 28px;--button-modal-margin: 0px;--button-modal-padding: 2px 4px;--button-modal-font-size: 1rem;--button-modal-icon-size: 1.4rem;--button-modal-line-height: 1.5rem;--button-modal-font-weight: 550}:host dsv-button{--button-border-radius: var(--button-modal-border-radius);--button-disabled-background: var(--button-modal-disabled-background);--button-disabled-color: var(--button-modal-disabled-color);--button-width: var(--button-modal-width);--button-min-width: var(--button-modal-min-width);--button-min-height: var(--button-modal-min-height);--button-margin: var(--button-modal-margin);--button-padding: var(--button-modal-padding);--button-font-size: var(--button-modal-font-size);--button-icon-size: var(--button-modal-icon-size);--button-line-height: var(--button-modal-line-height);--button-font-weight: var(--button-modal-font-weight)}\n"] }]
|
|
130
130
|
}], propDecorators: { modalName: [{ type: i0.Input, args: [{ isSignal: true, alias: "modalName", required: true }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], callback: [{ type: i0.Output, args: ["callback"] }] } });
|
|
131
131
|
|
|
132
132
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-modal.mjs","sources":["../../../projects/ng-dsv/ds/modal/service/modal.service.ts","../../../projects/ng-dsv/ds/modal/component/modal.component.ts","../../../projects/ng-dsv/ds/modal/component/modal.component.html","../../../projects/ng-dsv/ds/modal/component/alert/modal-alert.component.ts","../../../projects/ng-dsv/ds/modal/component/alert/modal-alert.component.html","../../../projects/ng-dsv/ds/modal/component/button/modal-button.component.ts","../../../projects/ng-dsv/ds/modal/component/button/modal-button.component.html","../../../projects/ng-dsv/ds/modal/ng-vagabond-lab-ng-dsv-ds-modal.ts"],"sourcesContent":["import { Injectable, signal } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class ModalService {\n private readonly states = signal<Map<string, boolean>>(new Map());\n\n getSignal(id: string): boolean {\n return this.states().get(id) ?? false;\n }\n\n open(id: string): void {\n this.states.update((map) => new Map(map).set(id, true));\n }\n\n close(id: string): void {\n this.states.update((map) => new Map(map).set(id, false));\n }\n\n toggle(id: string): void {\n this.states.update((map) => new Map(map).set(id, !map.get(id)));\n }\n\n closeAll(): void {\n this.states.set(new Map());\n }\n}\n","import { Component, effect, inject, input, signal } from '@angular/core';\nimport { DsvButtonComponent } from '@ng-vagabond-lab/ng-dsv/ds/button';\nimport { MenuService } from '@ng-vagabond-lab/ng-dsv/ds/menu';\nimport { ModalService } from '../service/modal.service';\n\n@Component({\n selector: 'dsv-modal',\n imports: [DsvButtonComponent],\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss'],\n host: {\n '(document:keydown.escape)': 'onEscapeKey()',\n },\n})\nexport class DsvModalComponent {\n readonly modalService = inject(ModalService);\n readonly menuService = inject(MenuService);\n\n readonly id = input.required<string>();\n readonly class = input<string>('');\n readonly titleText = input.required<string>();\n readonly canEchap = input<boolean>(true);\n\n readonly isOpen = signal<boolean>(false);\n\n constructor() {\n effect(() => {\n this.isOpen.set(this.modalService.getSignal(this.id()) ?? false);\n if (this.isOpen()) {\n this.menuService.isMenuOpen.set(false);\n }\n });\n }\n\n onEscapeKey(): void {\n if (this.isOpen() && this.canEchap()) {\n this.close();\n }\n }\n\n close(): void {\n this.modalService.close(this.id());\n }\n}\n","<div\n class=\"modal-overlay\"\n [class.open]=\"isOpen()\"\n></div>\n<div\n [class]=\"'modal ' + class()\"\n [class.open]=\"isOpen()\"\n>\n <div class=\"modal-header\">\n <b>{{ titleText() }}</b>\n <dsv-button\n (callback)=\"close()\"\n variant=\"text\"\n color=\"inherit\"\n >\n X\n </dsv-button>\n </div>\n <div class=\"modal-content\">\n <ng-content></ng-content>\n </div>\n <div class=\"modal-footer-wrapper\">\n <ng-content select=\".modal-footer\"></ng-content>\n </div>\n</div>\n","import { Component, effect, inject, input, output, signal } from '@angular/core';\nimport { DsvButtonComponent } from '@ng-vagabond-lab/ng-dsv/ds/button';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { ModalService } from '../../service/modal.service';\nimport { DsvModalComponent } from '../modal.component';\n\n@Component({\n selector: 'dsv-modal-alert',\n imports: [DsvModalComponent, DsvButtonComponent, TranslatePipe],\n templateUrl: './modal-alert.component.html',\n styleUrls: ['./modal-alert.component.scss'],\n})\nexport class DsvModalAlertComponent {\n readonly id = input.required<string>();\n readonly titleText = input<string>('title');\n readonly text = input<string>('text');\n readonly button = input<string>('button');\n readonly buttonClose = input<string>();\n readonly callback = output<void>();\n\n readonly isOpen = signal<boolean>(false);\n\n readonly modalService = inject(ModalService);\n\n constructor() {\n effect(() => {\n this.isOpen.set(this.modalService.getSignal(this.id() ?? false));\n });\n }\n\n doClick(): void {\n this.modalService.toggle(this.id());\n this.callback.emit();\n }\n\n doClickClose(): void {\n this.modalService.close(this.id());\n }\n}\n","<dsv-modal [id]=\"id()\" [titleText]=\"titleText()\">\n {{ text() }}\n <div class=\"modal-footer\">\n @if (buttonClose()) {\n <dsv-button (callback)=\"doClickClose()\" color=\"error\">\n {{ buttonClose()! | translate }}\n </dsv-button>\n }\n <dsv-button (callback)=\"doClick()\" color=\"secondary\">\n {{ button() | translate }}\n </dsv-button>\n </div>\n</dsv-modal>\n","import { Component, inject, input, output } from '@angular/core';\nimport { DsvButtonComponent } from '@ng-vagabond-lab/ng-dsv/ds/button';\nimport { ButtonVariantType, ColorType } from '@ng-vagabond-lab/ng-dsv/type';\nimport { ModalService } from '../../service/modal.service';\n\n@Component({\n selector: 'dsv-modal-button',\n imports: [DsvButtonComponent],\n templateUrl: './modal-button.component.html',\n styleUrls: ['../../../button/component/button.component.scss', './modal-button.component.scss'],\n})\nexport class DsvModalButtonComponent {\n readonly modalService = inject(ModalService);\n\n readonly modalName = input.required<string>();\n readonly icon = input<string>('');\n readonly variant = input<ButtonVariantType>('contained');\n readonly text = input<string>('');\n readonly color = input<ColorType>('primary');\n\n readonly callback = output<void>();\n\n doToogle(): void {\n this.callback.emit();\n this.modalService.toggle(this.modalName());\n }\n}\n","<dsv-button\n [color]=\"color()\"\n [libelle]=\"text()\"\n [icon]=\"icon()\"\n [variant]=\"variant()\"\n (callback)=\"doToogle()\"\n/>\n<ng-content></ng-content>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-modal.mjs","sources":["../../../projects/ng-dsv/ds/modal/service/modal.service.ts","../../../projects/ng-dsv/ds/modal/component/modal.component.ts","../../../projects/ng-dsv/ds/modal/component/modal.component.html","../../../projects/ng-dsv/ds/modal/component/alert/modal-alert.component.ts","../../../projects/ng-dsv/ds/modal/component/alert/modal-alert.component.html","../../../projects/ng-dsv/ds/modal/component/button/modal-button.component.ts","../../../projects/ng-dsv/ds/modal/component/button/modal-button.component.html","../../../projects/ng-dsv/ds/modal/ng-vagabond-lab-ng-dsv-ds-modal.ts"],"sourcesContent":["import { Injectable, signal } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class ModalService {\n private readonly states = signal<Map<string, boolean>>(new Map());\n\n getSignal(id: string): boolean {\n return this.states().get(id) ?? false;\n }\n\n open(id: string): void {\n this.states.update((map) => new Map(map).set(id, true));\n }\n\n close(id: string): void {\n this.states.update((map) => new Map(map).set(id, false));\n }\n\n toggle(id: string): void {\n this.states.update((map) => new Map(map).set(id, !map.get(id)));\n }\n\n closeAll(): void {\n this.states.set(new Map());\n }\n}\n","import { Component, effect, inject, input, signal } from '@angular/core';\nimport { DsvButtonComponent } from '@ng-vagabond-lab/ng-dsv/ds/button';\nimport { MenuService } from '@ng-vagabond-lab/ng-dsv/ds/menu';\nimport { ModalService } from '../service/modal.service';\n\n@Component({\n selector: 'dsv-modal',\n imports: [DsvButtonComponent],\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss'],\n host: {\n '(document:keydown.escape)': 'onEscapeKey()',\n },\n})\nexport class DsvModalComponent {\n readonly modalService = inject(ModalService);\n readonly menuService = inject(MenuService);\n\n readonly id = input.required<string>();\n readonly class = input<string>('');\n readonly titleText = input.required<string>();\n readonly canEchap = input<boolean>(true);\n\n readonly isOpen = signal<boolean>(false);\n\n constructor() {\n effect(() => {\n this.isOpen.set(this.modalService.getSignal(this.id()) ?? false);\n if (this.isOpen()) {\n this.menuService.isMenuOpen.set(false);\n }\n });\n }\n\n onEscapeKey(): void {\n if (this.isOpen() && this.canEchap()) {\n this.close();\n }\n }\n\n close(): void {\n this.modalService.close(this.id());\n }\n}\n","<div\n class=\"modal-overlay\"\n [class.open]=\"isOpen()\"\n></div>\n<div\n [class]=\"'modal ' + class()\"\n [class.open]=\"isOpen()\"\n>\n <div class=\"modal-header\">\n <b>{{ titleText() }}</b>\n <dsv-button\n (callback)=\"close()\"\n variant=\"text\"\n color=\"inherit\"\n >\n X\n </dsv-button>\n </div>\n <div class=\"modal-content\">\n <ng-content></ng-content>\n </div>\n <div class=\"modal-footer-wrapper\">\n <ng-content select=\".modal-footer\"></ng-content>\n </div>\n</div>\n","import { Component, effect, inject, input, output, signal } from '@angular/core';\nimport { DsvButtonComponent } from '@ng-vagabond-lab/ng-dsv/ds/button';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { ModalService } from '../../service/modal.service';\nimport { DsvModalComponent } from '../modal.component';\n\n@Component({\n selector: 'dsv-modal-alert',\n imports: [DsvModalComponent, DsvButtonComponent, TranslatePipe],\n templateUrl: './modal-alert.component.html',\n styleUrls: ['./modal-alert.component.scss'],\n})\nexport class DsvModalAlertComponent {\n readonly id = input.required<string>();\n readonly titleText = input<string>('title');\n readonly text = input<string>('text');\n readonly button = input<string>('button');\n readonly buttonClose = input<string>();\n readonly callback = output<void>();\n\n readonly isOpen = signal<boolean>(false);\n\n readonly modalService = inject(ModalService);\n\n constructor() {\n effect(() => {\n this.isOpen.set(this.modalService.getSignal(this.id() ?? false));\n });\n }\n\n doClick(): void {\n this.modalService.toggle(this.id());\n this.callback.emit();\n }\n\n doClickClose(): void {\n this.modalService.close(this.id());\n }\n}\n","<dsv-modal [id]=\"id()\" [titleText]=\"titleText()\">\n {{ text() }}\n <div class=\"modal-footer\">\n @if (buttonClose()) {\n <dsv-button (callback)=\"doClickClose()\" color=\"secondary\" variant=\"outlined\">\n {{ buttonClose()! | translate }}\n </dsv-button>\n }\n <dsv-button (callback)=\"doClick()\" color=\"secondary\">\n {{ button() | translate }}\n </dsv-button>\n </div>\n</dsv-modal>\n","import { Component, inject, input, output } from '@angular/core';\nimport { DsvButtonComponent } from '@ng-vagabond-lab/ng-dsv/ds/button';\nimport { ButtonVariantType, ColorType } from '@ng-vagabond-lab/ng-dsv/type';\nimport { ModalService } from '../../service/modal.service';\n\n@Component({\n selector: 'dsv-modal-button',\n imports: [DsvButtonComponent],\n templateUrl: './modal-button.component.html',\n styleUrls: ['../../../button/component/button.component.scss', './modal-button.component.scss'],\n})\nexport class DsvModalButtonComponent {\n readonly modalService = inject(ModalService);\n\n readonly modalName = input.required<string>();\n readonly icon = input<string>('');\n readonly variant = input<ButtonVariantType>('contained');\n readonly text = input<string>('');\n readonly color = input<ColorType>('primary');\n\n readonly callback = output<void>();\n\n doToogle(): void {\n this.callback.emit();\n this.modalService.toggle(this.modalName());\n }\n}\n","<dsv-button\n [color]=\"color()\"\n [libelle]=\"text()\"\n [icon]=\"icon()\"\n [variant]=\"variant()\"\n (callback)=\"doToogle()\"\n/>\n<ng-content></ng-content>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { signal, effect, Component } from '@angular/core';
|
|
3
|
+
import { form, required, validate } from '@angular/forms/signals';
|
|
4
|
+
import { RouterLink } from '@angular/router';
|
|
5
|
+
import { DsvButtonComponent } from '@ng-vagabond-lab/ng-dsv/ds/button';
|
|
6
|
+
import { DsvCardComponent, DsvCardHeaderComponent } from '@ng-vagabond-lab/ng-dsv/ds/card';
|
|
7
|
+
import { requiredTrim, DsvFormSignalComponent, DsvFormSignalInputComponent, DsvFormSignalCheckboxComponent } from '@ng-vagabond-lab/ng-dsv/ds/form/signal';
|
|
8
|
+
import { NewsContainer } from './ng-vagabond-lab-ng-dsv-module-news-news.container-Ce60PdDH.mjs';
|
|
9
|
+
|
|
10
|
+
class NewsFormContainer extends NewsContainer {
|
|
11
|
+
newsForm = form(signal(this.news()), (path) => {
|
|
12
|
+
required(path.title);
|
|
13
|
+
required(path.resume);
|
|
14
|
+
required(path.description);
|
|
15
|
+
validate(path.title, requiredTrim);
|
|
16
|
+
validate(path.resume, requiredTrim);
|
|
17
|
+
validate(path.description, requiredTrim);
|
|
18
|
+
});
|
|
19
|
+
constructor() {
|
|
20
|
+
super();
|
|
21
|
+
effect(() => {
|
|
22
|
+
if (this.news()) {
|
|
23
|
+
this.newsForm().reset(this.news());
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
this.newsForm().reset({
|
|
27
|
+
title: '',
|
|
28
|
+
image: '',
|
|
29
|
+
tags: '',
|
|
30
|
+
resume: '',
|
|
31
|
+
description: '',
|
|
32
|
+
user: this.authService.userConnected(),
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
doSubmit() {
|
|
38
|
+
if (this.newsForm().valid()) {
|
|
39
|
+
this.newsService.createOrUpdate(this.newsForm().value(), (data) => {
|
|
40
|
+
this.routerService.router.navigate(['news', data.id]);
|
|
41
|
+
document.getElementById('main-scroll')?.scrollTo(0, 0);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: NewsFormContainer, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.3", type: NewsFormContainer, isStandalone: true, selector: "app-news-form", usesInheritance: true, ngImport: i0, template: "<dsv-card>\n <dsv-card-header>\n <dsv-button\n class=\"round\"\n icon=\"ri-arrow-left-s-line\"\n color=\"inherit\"\n [routerLink]=\"news()?.id ? '/news/' + news()?.id : '/news'\"\n />\n <h1>{{ news()?.id ? 'Modifier' : 'Cr\u00E9er' }} une news</h1>\n </dsv-card-header>\n <dsv-form-signal [form]=\"newsForm\" (callback)=\"doSubmit()\" (callbackBack)=\"routerService.goBack()\">\n <dsv-form-signal-input [form]=\"newsForm\" fieldName=\"title\" />\n <dsv-form-signal-input [form]=\"newsForm\" fieldName=\"image\" />\n <dsv-form-signal-input [form]=\"newsForm\" fieldName=\"tags\" />\n <dsv-form-signal-input [form]=\"newsForm\" fieldName=\"resume\" type=\"textarea\" class=\"resume\" />\n <dsv-form-signal-input [form]=\"newsForm\" fieldName=\"description\" type=\"textarea\" />\n <dsv-form-signal-checkbox [form]=\"newsForm\" fieldName=\"active\" />\n </dsv-form-signal>\n</dsv-card>\n", styles: [":host dsv-card-header{display:flex;flex-direction:row;align-items:center;gap:5px}:host dsv-card-header dsv-button.round{--button-border-radius: 50%}:host dsv-form-signal-input{--input-height: 300px;--input-max-height: 300px}:host dsv-form-signal-input.resume{--input-height: 160px}\n"], dependencies: [{ kind: "component", type: DsvCardComponent, selector: "dsv-card", inputs: ["border"] }, { kind: "component", type: DsvFormSignalComponent, selector: "dsv-form-signal", inputs: ["form", "urlBack", "textValid", "formValid"], outputs: ["callbackBack", "callback"] }, { kind: "component", type: DsvFormSignalInputComponent, selector: "dsv-form-signal-input", inputs: ["type", "icon", "withError"] }, { kind: "component", type: DsvCardHeaderComponent, selector: "dsv-card-header" }, { kind: "component", type: DsvButtonComponent, selector: "dsv-button", inputs: ["libelle", "routerLink", "icon", "iconEnd", "disabled", "noHover", "type", "prevent"], outputs: ["callback"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "browserUrl", "routerLink"] }, { kind: "component", type: DsvFormSignalCheckboxComponent, selector: "dsv-form-signal-checkbox" }] });
|
|
47
|
+
}
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: NewsFormContainer, decorators: [{
|
|
49
|
+
type: Component,
|
|
50
|
+
args: [{ selector: 'app-news-form', imports: [
|
|
51
|
+
DsvCardComponent,
|
|
52
|
+
DsvFormSignalComponent,
|
|
53
|
+
DsvFormSignalInputComponent,
|
|
54
|
+
DsvCardHeaderComponent,
|
|
55
|
+
DsvButtonComponent,
|
|
56
|
+
RouterLink,
|
|
57
|
+
DsvFormSignalCheckboxComponent,
|
|
58
|
+
], template: "<dsv-card>\n <dsv-card-header>\n <dsv-button\n class=\"round\"\n icon=\"ri-arrow-left-s-line\"\n color=\"inherit\"\n [routerLink]=\"news()?.id ? '/news/' + news()?.id : '/news'\"\n />\n <h1>{{ news()?.id ? 'Modifier' : 'Cr\u00E9er' }} une news</h1>\n </dsv-card-header>\n <dsv-form-signal [form]=\"newsForm\" (callback)=\"doSubmit()\" (callbackBack)=\"routerService.goBack()\">\n <dsv-form-signal-input [form]=\"newsForm\" fieldName=\"title\" />\n <dsv-form-signal-input [form]=\"newsForm\" fieldName=\"image\" />\n <dsv-form-signal-input [form]=\"newsForm\" fieldName=\"tags\" />\n <dsv-form-signal-input [form]=\"newsForm\" fieldName=\"resume\" type=\"textarea\" class=\"resume\" />\n <dsv-form-signal-input [form]=\"newsForm\" fieldName=\"description\" type=\"textarea\" />\n <dsv-form-signal-checkbox [form]=\"newsForm\" fieldName=\"active\" />\n </dsv-form-signal>\n</dsv-card>\n", styles: [":host dsv-card-header{display:flex;flex-direction:row;align-items:center;gap:5px}:host dsv-card-header dsv-button.round{--button-border-radius: 50%}:host dsv-form-signal-input{--input-height: 300px;--input-max-height: 300px}:host dsv-form-signal-input.resume{--input-height: 160px}\n"] }]
|
|
59
|
+
}], ctorParameters: () => [] });
|
|
60
|
+
|
|
61
|
+
export { NewsFormContainer };
|
|
62
|
+
//# sourceMappingURL=ng-vagabond-lab-ng-dsv-module-news-news-form.container-CGfhZFgr.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ng-vagabond-lab-ng-dsv-module-news-news-form.container-CGfhZFgr.mjs","sources":["../../../projects/ng-dsv/module/news/container/form/news-form.container.ts","../../../projects/ng-dsv/module/news/container/form/news-form.container.html"],"sourcesContent":["import { Component, effect, signal } from '@angular/core';\nimport { form, required, validate } from '@angular/forms/signals';\nimport { RouterLink } from '@angular/router';\nimport { DsvButtonComponent } from '@ng-vagabond-lab/ng-dsv/ds/button';\nimport { DsvCardComponent, DsvCardHeaderComponent } from '@ng-vagabond-lab/ng-dsv/ds/card';\nimport {\n DsvFormSignalCheckboxComponent,\n DsvFormSignalComponent,\n DsvFormSignalInputComponent,\n requiredTrim,\n} from '@ng-vagabond-lab/ng-dsv/ds/form/signal';\nimport { NewsDto } from '../../dto/news.dto';\nimport { NewsContainer } from '../news.container';\n\n@Component({\n selector: 'app-news-form',\n imports: [\n DsvCardComponent,\n DsvFormSignalComponent,\n DsvFormSignalInputComponent,\n DsvCardHeaderComponent,\n DsvButtonComponent,\n RouterLink,\n DsvFormSignalCheckboxComponent,\n ],\n templateUrl: './news-form.container.html',\n styleUrl: './news-form.container.scss',\n})\nexport class NewsFormContainer extends NewsContainer {\n readonly newsForm = form(signal<NewsDto>(this.news()!), (path) => {\n required(path.title);\n required(path.resume);\n required(path.description);\n validate(path.title, requiredTrim);\n validate(path.resume, requiredTrim);\n validate(path.description, requiredTrim);\n });\n\n constructor() {\n super();\n effect(() => {\n if (this.news()) {\n this.newsForm().reset(this.news());\n } else {\n this.newsForm().reset({\n title: '',\n image: '',\n tags: '',\n resume: '',\n description: '',\n user: this.authService.userConnected()!,\n } as NewsDto);\n }\n });\n }\n\n doSubmit() {\n if (this.newsForm().valid()) {\n this.newsService.createOrUpdate(this.newsForm().value(), (data: NewsDto) => {\n this.routerService.router.navigate(['news', data.id]);\n document.getElementById('main-scroll')?.scrollTo(0, 0);\n });\n }\n }\n}\n","<dsv-card>\n <dsv-card-header>\n <dsv-button\n class=\"round\"\n icon=\"ri-arrow-left-s-line\"\n color=\"inherit\"\n [routerLink]=\"news()?.id ? '/news/' + news()?.id : '/news'\"\n />\n <h1>{{ news()?.id ? 'Modifier' : 'Créer' }} une news</h1>\n </dsv-card-header>\n <dsv-form-signal [form]=\"newsForm\" (callback)=\"doSubmit()\" (callbackBack)=\"routerService.goBack()\">\n <dsv-form-signal-input [form]=\"newsForm\" fieldName=\"title\" />\n <dsv-form-signal-input [form]=\"newsForm\" fieldName=\"image\" />\n <dsv-form-signal-input [form]=\"newsForm\" fieldName=\"tags\" />\n <dsv-form-signal-input [form]=\"newsForm\" fieldName=\"resume\" type=\"textarea\" class=\"resume\" />\n <dsv-form-signal-input [form]=\"newsForm\" fieldName=\"description\" type=\"textarea\" />\n <dsv-form-signal-checkbox [form]=\"newsForm\" fieldName=\"active\" />\n </dsv-form-signal>\n</dsv-card>\n"],"names":[],"mappings":"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"}
|