@ng-vagabond-lab/ng-dsv 0.2.39 → 0.2.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/assets/global.scss +1 -0
  2. package/assets/style.scss +25 -2
  3. package/fesm2022/ng-vagabond-lab-ng-dsv-api.mjs +6 -6
  4. package/fesm2022/ng-vagabond-lab-ng-dsv-base-service.mjs +13 -13
  5. package/fesm2022/ng-vagabond-lab-ng-dsv-base-service.mjs.map +1 -1
  6. package/fesm2022/ng-vagabond-lab-ng-dsv-base.mjs +24 -24
  7. package/fesm2022/ng-vagabond-lab-ng-dsv-date.mjs +3 -3
  8. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-accordion.mjs +3 -3
  9. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-avatar.mjs +3 -3
  10. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-button.mjs +6 -6
  11. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-card.mjs +12 -12
  12. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-chip.mjs +3 -3
  13. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-color.mjs +6 -6
  14. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-container.mjs +3 -3
  15. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-file.mjs +43 -11
  16. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-file.mjs.map +1 -1
  17. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-form-reactive.mjs +24 -24
  18. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-form-signal.mjs +27 -27
  19. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-header.mjs +3 -3
  20. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-img.mjs +3 -3
  21. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-item.mjs +3 -3
  22. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-linear-progress.mjs +3 -3
  23. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-link-pipe.mjs +6 -6
  24. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-list.mjs +12 -12
  25. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-markdown.mjs +35 -0
  26. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-markdown.mjs.map +1 -0
  27. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-menu.mjs +12 -12
  28. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-modal.mjs +12 -12
  29. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-paginate.mjs +3 -3
  30. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-scroll.mjs +9 -9
  31. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-skeleton.mjs +3 -3
  32. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-tab.mjs +6 -6
  33. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-table.mjs +3 -3
  34. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-theme.mjs +10 -10
  35. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-theme.mjs.map +1 -1
  36. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-toast.mjs +6 -6
  37. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-tooltip.mjs +3 -3
  38. package/fesm2022/ng-vagabond-lab-ng-dsv-environment.mjs +3 -3
  39. package/fesm2022/ng-vagabond-lab-ng-dsv-i18n.mjs +3 -3
  40. package/fesm2022/ng-vagabond-lab-ng-dsv-module-admin.mjs +15 -15
  41. package/fesm2022/ng-vagabond-lab-ng-dsv-module-auth.mjs +9 -9
  42. package/fesm2022/ng-vagabond-lab-ng-dsv-module-contact.mjs +3 -3
  43. package/fesm2022/{ng-vagabond-lab-ng-dsv-module-news-news-form.container-CGfhZFgr.mjs → ng-vagabond-lab-ng-dsv-module-news-news-form.container-B89sqBxq.mjs} +8 -6
  44. package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-form.container-B89sqBxq.mjs.map +1 -0
  45. package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-form.container-DYj7fb2V.mjs +105 -0
  46. package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-form.container-DYj7fb2V.mjs.map +1 -0
  47. package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-list.container-BOocOeoi.mjs +176 -0
  48. package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-list.container-BOocOeoi.mjs.map +1 -0
  49. package/fesm2022/{ng-vagabond-lab-ng-dsv-module-news-news-list.container-CkUQEI5Q.mjs → ng-vagabond-lab-ng-dsv-module-news-news-list.container-dRUMZot2.mjs} +19 -10
  50. package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-list.container-dRUMZot2.mjs.map +1 -0
  51. package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-list.service-C4rdx_5c.mjs +38 -0
  52. package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-list.service-C4rdx_5c.mjs.map +1 -0
  53. package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-list.service-MB7ocRqE.mjs +38 -0
  54. package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-list.service-MB7ocRqE.mjs.map +1 -0
  55. package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news.container-BBDrX_yB.mjs +182 -0
  56. package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news.container-BBDrX_yB.mjs.map +1 -0
  57. package/fesm2022/{ng-vagabond-lab-ng-dsv-module-news-news.container-Ce60PdDH.mjs → ng-vagabond-lab-ng-dsv-module-news-news.container-Dv48TkBy.mjs} +16 -13
  58. package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news.container-Dv48TkBy.mjs.map +1 -0
  59. package/fesm2022/ng-vagabond-lab-ng-dsv-module-news.mjs +4 -4
  60. package/fesm2022/ng-vagabond-lab-ng-dsv-module-notification.mjs +15 -15
  61. package/fesm2022/ng-vagabond-lab-ng-dsv-platform.mjs +3 -3
  62. package/fesm2022/ng-vagabond-lab-ng-dsv-router.mjs +9 -9
  63. package/fesm2022/ng-vagabond-lab-ng-dsv-storage.mjs +7 -4
  64. package/fesm2022/ng-vagabond-lab-ng-dsv-storage.mjs.map +1 -1
  65. package/fesm2022/ng-vagabond-lab-ng-dsv-template.mjs +18 -18
  66. package/package.json +5 -1
  67. package/types/ng-vagabond-lab-ng-dsv-base-service.d.ts +1 -1
  68. package/types/ng-vagabond-lab-ng-dsv-base.d.ts +1 -1
  69. package/types/ng-vagabond-lab-ng-dsv-date.d.ts.map +1 -0
  70. package/types/ng-vagabond-lab-ng-dsv-ds-accordion.d.ts.map +1 -0
  71. package/types/ng-vagabond-lab-ng-dsv-ds-avatar.d.ts.map +1 -0
  72. package/types/ng-vagabond-lab-ng-dsv-ds-file.d.ts +12 -1
  73. package/types/ng-vagabond-lab-ng-dsv-ds-file.d.ts.map +1 -0
  74. package/types/ng-vagabond-lab-ng-dsv-ds-form-reactive.d.ts.map +1 -0
  75. package/types/ng-vagabond-lab-ng-dsv-ds-header.d.ts.map +1 -0
  76. package/types/ng-vagabond-lab-ng-dsv-ds-img.d.ts.map +1 -0
  77. package/types/ng-vagabond-lab-ng-dsv-ds-linear-progress.d.ts.map +1 -0
  78. package/types/ng-vagabond-lab-ng-dsv-ds-link-pipe.d.ts.map +1 -0
  79. package/types/ng-vagabond-lab-ng-dsv-ds-list.d.ts.map +1 -0
  80. package/types/ng-vagabond-lab-ng-dsv-ds-markdown.d.ts +12 -0
  81. package/types/ng-vagabond-lab-ng-dsv-ds-markdown.d.ts.map +1 -0
  82. package/types/ng-vagabond-lab-ng-dsv-ds-paginate.d.ts.map +1 -0
  83. package/types/ng-vagabond-lab-ng-dsv-ds-skeleton.d.ts.map +1 -0
  84. package/types/ng-vagabond-lab-ng-dsv-ds-tab.d.ts.map +1 -0
  85. package/types/ng-vagabond-lab-ng-dsv-ds-table.d.ts.map +1 -0
  86. package/types/ng-vagabond-lab-ng-dsv-ds-tooltip.d.ts.map +1 -0
  87. package/types/ng-vagabond-lab-ng-dsv-module-admin.d.ts.map +1 -0
  88. package/types/ng-vagabond-lab-ng-dsv-module-contact.d.ts.map +1 -0
  89. package/types/ng-vagabond-lab-ng-dsv-module-news.d.ts.map +1 -0
  90. package/types/ng-vagabond-lab-ng-dsv-module-notification.d.ts.map +1 -0
  91. package/types/ng-vagabond-lab-ng-dsv-template.d.ts.map +1 -0
  92. package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-form.container-CGfhZFgr.mjs.map +0 -1
  93. package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-list.container-CkUQEI5Q.mjs.map +0 -1
  94. package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-list.service-CVVSV7se.mjs +0 -65
  95. package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-list.service-CVVSV7se.mjs.map +0 -1
  96. package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news.container-Ce60PdDH.mjs.map +0 -1
@@ -53,10 +53,10 @@ class DsvBaseFormSignalInputComponent {
53
53
  }
54
54
  return '';
55
55
  }
56
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvBaseFormSignalInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
57
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.3", type: DsvBaseFormSignalInputComponent, isStandalone: true, inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, fieldName: { classPropertyName: "fieldName", publicName: "fieldName", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, withLabel: { classPropertyName: "withLabel", publicName: "withLabel", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, debug: { classPropertyName: "debug", publicName: "debug", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callbackSend: "callbackSend", callbackChange: "callbackChange" }, ngImport: i0 });
56
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvBaseFormSignalInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
57
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.4", type: DsvBaseFormSignalInputComponent, isStandalone: true, inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, fieldName: { classPropertyName: "fieldName", publicName: "fieldName", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, withLabel: { classPropertyName: "withLabel", publicName: "withLabel", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, debug: { classPropertyName: "debug", publicName: "debug", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callbackSend: "callbackSend", callbackChange: "callbackChange" }, ngImport: i0 });
58
58
  }
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvBaseFormSignalInputComponent, decorators: [{
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvBaseFormSignalInputComponent, decorators: [{
60
60
  type: Directive
61
61
  }], ctorParameters: () => [], propDecorators: { form: [{ type: i0.Input, args: [{ isSignal: true, alias: "form", required: true }] }], fieldName: [{ type: i0.Input, args: [{ isSignal: true, alias: "fieldName", required: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], withLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "withLabel", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], debug: [{ type: i0.Input, args: [{ isSignal: true, alias: "debug", required: false }] }], callbackSend: [{ type: i0.Output, args: ["callbackSend"] }], callbackChange: [{ type: i0.Output, args: ["callbackChange"] }] } });
62
62
 
@@ -76,10 +76,10 @@ class DsvFormSignalLabelComponent {
76
76
  this.isRequired.set(this.signal().required());
77
77
  });
78
78
  }
79
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvFormSignalLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
80
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: DsvFormSignalLabelComponent, isStandalone: true, selector: "dsv-form-signal-label", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, signal: { classPropertyName: "signal", publicName: "signal", isSignal: true, isRequired: true, transformFunction: null }, show: { classPropertyName: "show", publicName: "show", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (show()) {\n <label\n [for]=\"name()\"\n class=\"text\"\n [class.error]=\"signal().touched() && signal().errors().length! > 0\"\n >\n {{ label() }} {{ isRequired() ? '*' : '' }}\n </label>\n}\n", styles: [":host{margin-left:4px;height:100%;display:flex;align-content:center;opacity:.65;-webkit-user-select:none;user-select:none}:host label{display:flex;align-items:center;width:100%}:host:empty{display:none}\n"] });
79
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvFormSignalLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
80
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DsvFormSignalLabelComponent, isStandalone: true, selector: "dsv-form-signal-label", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, signal: { classPropertyName: "signal", publicName: "signal", isSignal: true, isRequired: true, transformFunction: null }, show: { classPropertyName: "show", publicName: "show", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (show()) {\n <label\n [for]=\"name()\"\n class=\"text\"\n [class.error]=\"signal().touched() && signal().errors().length! > 0\"\n >\n {{ label() }} {{ isRequired() ? '*' : '' }}\n </label>\n}\n", styles: [":host{margin-left:4px;height:100%;display:flex;align-content:center;opacity:.65;-webkit-user-select:none;user-select:none}:host label{display:flex;align-items:center;width:100%}:host:empty{display:none}\n"] });
81
81
  }
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvFormSignalLabelComponent, decorators: [{
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvFormSignalLabelComponent, decorators: [{
83
83
  type: Component,
84
84
  args: [{ selector: 'dsv-form-signal-label', template: "@if (show()) {\n <label\n [for]=\"name()\"\n class=\"text\"\n [class.error]=\"signal().touched() && signal().errors().length! > 0\"\n >\n {{ label() }} {{ isRequired() ? '*' : '' }}\n </label>\n}\n", styles: [":host{margin-left:4px;height:100%;display:flex;align-content:center;opacity:.65;-webkit-user-select:none;user-select:none}:host label{display:flex;align-items:center;width:100%}:host:empty{display:none}\n"] }]
85
85
  }], ctorParameters: () => [], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: true }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: true }] }], signal: [{ type: i0.Input, args: [{ isSignal: true, alias: "signal", required: true }] }], show: [{ type: i0.Input, args: [{ isSignal: true, alias: "show", required: false }] }] } });
@@ -88,10 +88,10 @@ class DsvFormSignalCheckboxComponent extends DsvBaseFormSignalInputComponent {
88
88
  getBooleanSignal() {
89
89
  return this.form()?.[this.fieldName()];
90
90
  }
91
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvFormSignalCheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
92
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: DsvFormSignalCheckboxComponent, isStandalone: true, selector: "dsv-form-signal-checkbox", usesInheritance: true, ngImport: i0, template: "<div>\n @if (getSignal()) {\n <dsv-form-signal-label\n [name]=\"fieldName()\"\n [label]=\"label() ?? fieldName()\"\n [signal]=\"getSignal()()\"\n [show]=\"withLabel()\"\n />\n <div>\n <input\n type=\"checkbox\"\n [id]=\"fieldName()\"\n class=\"form-control\"\n [class.error]=\"isError()\"\n [formField]=\"getBooleanSignal()\"\n (change)=\"doChange()\"\n />\n </div>\n }\n</div>\n", styles: [":host{--input-width: calc(100% - 12px) ;--input-max-width: auto;--input-opacity: 1;--input-flex-direction: column;--input-align-center: false;--input-justify-content: false;--input-gap: 0;--input-height: auto;--input-min-height: 90px;--input-max-height: 150px;width:100%}:host>div{display:flex;flex-direction:var(--input-flex-direction);gap:var(--input-gap);align-items:var(--input-align-center);justify-content:var(--input-justify-content);position:relative;gap:2px}:host>div .form-control{font-family:inherit;display:block;margin:0;padding:5px;width:var(--input-width);max-width:var(--input-max-width);font-size:1rem;line-height:1.5;color:var(--text);background-color:var(--background-card);background-clip:padding-box;border:1px solid var(--border);border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d;opacity:var(--input-opacity)}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;height:var(--input-height);min-height:var(--input-min-height);max-height:var(--input-max-height)}:host-context(body.dark) .form-control{color-scheme:dark}\n", ":host{display:flex;flex:1;width:100%;margin-bottom:10px!important}:host>div{align-items:center;flex-direction:row;flex:1}:host>div dsv-form-label,:host>div dsv-form-reactive-label,:host>div dsv-form-signal-label{margin-bottom:0!important;flex:1!important;cursor:pointer!important}:host>div input{accent-color:var(--primary);width:20px!important;height:20px!important;margin-right:5px!important}:host>div input[type=checkbox]:checked{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:2px solid var(--secondary);border-radius:3px;background-size:120%;background-color:var(--secondary);background-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center}\n"], dependencies: [{ kind: "directive", type: FormField, selector: "[formField]", inputs: ["formField"], exportAs: ["formField"] }, { kind: "component", type: DsvFormSignalLabelComponent, selector: "dsv-form-signal-label", inputs: ["label", "name", "signal", "show"] }] });
91
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvFormSignalCheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
92
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DsvFormSignalCheckboxComponent, isStandalone: true, selector: "dsv-form-signal-checkbox", usesInheritance: true, ngImport: i0, template: "<div>\n @if (getSignal()) {\n <dsv-form-signal-label\n [name]=\"fieldName()\"\n [label]=\"label() ?? fieldName()\"\n [signal]=\"getSignal()()\"\n [show]=\"withLabel()\"\n />\n <div>\n <input\n type=\"checkbox\"\n [id]=\"fieldName()\"\n class=\"form-control\"\n [class.error]=\"isError()\"\n [formField]=\"getBooleanSignal()\"\n (change)=\"doChange()\"\n />\n </div>\n }\n</div>\n", styles: [":host{--input-width: calc(100% - 12px) ;--input-max-width: auto;--input-opacity: 1;--input-flex-direction: column;--input-align-center: false;--input-justify-content: false;--input-gap: 0;--input-height: auto;--input-min-height: 90px;--input-max-height: 150px;width:100%}:host>div{display:flex;flex-direction:var(--input-flex-direction);gap:var(--input-gap);align-items:var(--input-align-center);justify-content:var(--input-justify-content);position:relative;gap:2px}:host>div .form-control{font-family:inherit;display:block;margin:0;padding:5px;width:var(--input-width);max-width:var(--input-max-width);font-size:1rem;line-height:1.5;color:var(--text);background-color:var(--background-card);background-clip:padding-box;border:1px solid var(--border);border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d;opacity:var(--input-opacity)}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;height:var(--input-height);min-height:var(--input-min-height);max-height:var(--input-max-height)}:host-context(body.dark) .form-control{color-scheme:dark}\n", ":host{display:flex;flex:1;width:100%;margin-bottom:10px!important}:host>div{align-items:center;flex-direction:row;flex:1}:host>div dsv-form-label,:host>div dsv-form-reactive-label,:host>div dsv-form-signal-label{margin-bottom:0!important;flex:1!important;cursor:pointer!important}:host>div input{accent-color:var(--primary);width:20px!important;height:20px!important;margin-right:5px!important}:host>div input[type=checkbox]:checked{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:2px solid var(--secondary);border-radius:3px;background-size:120%;background-color:var(--secondary);background-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center}\n"], dependencies: [{ kind: "directive", type: FormField, selector: "[formField]", inputs: ["formField"], exportAs: ["formField"] }, { kind: "component", type: DsvFormSignalLabelComponent, selector: "dsv-form-signal-label", inputs: ["label", "name", "signal", "show"] }] });
93
93
  }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvFormSignalCheckboxComponent, decorators: [{
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvFormSignalCheckboxComponent, decorators: [{
95
95
  type: Component,
96
96
  args: [{ selector: 'dsv-form-signal-checkbox', imports: [FormField, DsvFormSignalLabelComponent], template: "<div>\n @if (getSignal()) {\n <dsv-form-signal-label\n [name]=\"fieldName()\"\n [label]=\"label() ?? fieldName()\"\n [signal]=\"getSignal()()\"\n [show]=\"withLabel()\"\n />\n <div>\n <input\n type=\"checkbox\"\n [id]=\"fieldName()\"\n class=\"form-control\"\n [class.error]=\"isError()\"\n [formField]=\"getBooleanSignal()\"\n (change)=\"doChange()\"\n />\n </div>\n }\n</div>\n", styles: [":host{--input-width: calc(100% - 12px) ;--input-max-width: auto;--input-opacity: 1;--input-flex-direction: column;--input-align-center: false;--input-justify-content: false;--input-gap: 0;--input-height: auto;--input-min-height: 90px;--input-max-height: 150px;width:100%}:host>div{display:flex;flex-direction:var(--input-flex-direction);gap:var(--input-gap);align-items:var(--input-align-center);justify-content:var(--input-justify-content);position:relative;gap:2px}:host>div .form-control{font-family:inherit;display:block;margin:0;padding:5px;width:var(--input-width);max-width:var(--input-max-width);font-size:1rem;line-height:1.5;color:var(--text);background-color:var(--background-card);background-clip:padding-box;border:1px solid var(--border);border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d;opacity:var(--input-opacity)}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;height:var(--input-height);min-height:var(--input-min-height);max-height:var(--input-max-height)}:host-context(body.dark) .form-control{color-scheme:dark}\n", ":host{display:flex;flex:1;width:100%;margin-bottom:10px!important}:host>div{align-items:center;flex-direction:row;flex:1}:host>div dsv-form-label,:host>div dsv-form-reactive-label,:host>div dsv-form-signal-label{margin-bottom:0!important;flex:1!important;cursor:pointer!important}:host>div input{accent-color:var(--primary);width:20px!important;height:20px!important;margin-right:5px!important}:host>div input[type=checkbox]:checked{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:2px solid var(--secondary);border-radius:3px;background-size:120%;background-color:var(--secondary);background-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center}\n"] }]
97
97
  }] });
@@ -138,10 +138,10 @@ class FormSignalErrorComponent {
138
138
  this.error.set(errorMessage);
139
139
  });
140
140
  }
141
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: FormSignalErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
142
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: FormSignalErrorComponent, isStandalone: true, selector: "dsv-form-signal-error", inputs: { errors: { classPropertyName: "errors", publicName: "errors", isSignal: true, isRequired: true, transformFunction: null }, isTouched: { classPropertyName: "isTouched", publicName: "isTouched", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "text error" }, ngImport: i0, template: "@if (errors().length > 0 && isTouched()) {\n @if (error() !== '') {\n <div>{{ error() | translate }}</div>\n }\n}\n", styles: [":host:not(:empty){padding:10px 3px}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }] });
141
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: FormSignalErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
142
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: FormSignalErrorComponent, isStandalone: true, selector: "dsv-form-signal-error", inputs: { errors: { classPropertyName: "errors", publicName: "errors", isSignal: true, isRequired: true, transformFunction: null }, isTouched: { classPropertyName: "isTouched", publicName: "isTouched", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "text error" }, ngImport: i0, template: "@if (errors().length > 0 && isTouched()) {\n @if (error() !== '') {\n <div>{{ error() | translate }}</div>\n }\n}\n", styles: [":host:not(:empty){padding:10px 3px}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }] });
143
143
  }
144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: FormSignalErrorComponent, decorators: [{
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: FormSignalErrorComponent, decorators: [{
145
145
  type: Component,
146
146
  args: [{ selector: 'dsv-form-signal-error', imports: [TranslatePipe], host: {
147
147
  class: 'text error',
@@ -181,10 +181,10 @@ class DsvFormSignalComponent {
181
181
  }
182
182
  });
183
183
  }
184
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvFormSignalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
185
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: DsvFormSignalComponent, isStandalone: true, selector: "dsv-form-signal", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, urlBack: { classPropertyName: "urlBack", publicName: "urlBack", isSignal: true, isRequired: false, transformFunction: null }, textValid: { classPropertyName: "textValid", publicName: "textValid", isSignal: true, isRequired: false, transformFunction: null }, formValid: { classPropertyName: "formValid", publicName: "formValid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callbackBack: "callbackBack", callback: "callback" }, ngImport: i0, template: "<form (submit)=\"onSubmit($event)\" novalidate>\n <div class=\"form-scroll\">\n <ng-content></ng-content>\n </div>\n <div class=\"form-buttons\">\n @if (urlBack()) {\n <dsv-button color=\"default\" variant=\"outlined\" [routerLink]=\"urlBack()\" [prevent]=\"false\">{{\n 'RETOUR' | translate\n }}</dsv-button>\n }\n @if (isCallbackBack()) {\n <dsv-button color=\"default\" variant=\"outlined\" (callback)=\"callbackBack.emit()\">{{\n 'RETOUR' | translate\n }}</dsv-button>\n }\n @if (textValid() && textValid() !== '') {\n <dsv-button type=\"submit\" color=\"secondary\">{{ textValid()! | translate }}</dsv-button>\n }\n </div>\n</form>\n", styles: [":host{--form-flex-direction: column;--form-flex-wrap: nowrap;--form-flex-padding: 0;--form-max-height: auto;--form-overflow: auto;display:flex;width:100%;height:100%}:host form{flex-direction:column;display:flex;margin-top:0;unicode-bidi:isolate;max-height:var(--form-max-height)}:host form .form-scroll{overflow:var(--form-overflow);scrollbar-width:thin;display:flex;flex-direction:var(--form-flex-direction);flex-wrap:var(--form-flex-wrap);padding:var(--form-flex-padding);gap:10px}:host form .form-scroll>div{width:100%}:host .form-buttons:empty{display:none}:host .form-buttons{display:flex;justify-content:flex-end;gap:10px;padding-top:10px}\n"], dependencies: [{ 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: "pipe", type: TranslatePipe, name: "translate" }] });
184
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvFormSignalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
185
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DsvFormSignalComponent, isStandalone: true, selector: "dsv-form-signal", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, urlBack: { classPropertyName: "urlBack", publicName: "urlBack", isSignal: true, isRequired: false, transformFunction: null }, textValid: { classPropertyName: "textValid", publicName: "textValid", isSignal: true, isRequired: false, transformFunction: null }, formValid: { classPropertyName: "formValid", publicName: "formValid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callbackBack: "callbackBack", callback: "callback" }, ngImport: i0, template: "<form (submit)=\"onSubmit($event)\" novalidate>\n <div class=\"form-scroll\">\n <ng-content></ng-content>\n </div>\n <div class=\"form-buttons\">\n @if (urlBack()) {\n <dsv-button color=\"default\" variant=\"outlined\" [routerLink]=\"urlBack()\" [prevent]=\"false\">{{\n 'RETOUR' | translate\n }}</dsv-button>\n }\n @if (isCallbackBack()) {\n <dsv-button color=\"default\" variant=\"outlined\" (callback)=\"callbackBack.emit()\">{{\n 'RETOUR' | translate\n }}</dsv-button>\n }\n @if (textValid() && textValid() !== '') {\n <dsv-button type=\"submit\" color=\"secondary\">{{ textValid()! | translate }}</dsv-button>\n }\n </div>\n</form>\n", styles: [":host{--form-flex-direction: column;--form-flex-wrap: nowrap;--form-flex-padding: 0;--form-max-height: auto;--form-overflow: auto;display:flex;width:100%;height:100%}:host form{flex-direction:column;display:flex;margin-top:0;unicode-bidi:isolate;max-height:var(--form-max-height)}:host form .form-scroll{overflow:var(--form-overflow);scrollbar-width:thin;display:flex;flex-direction:var(--form-flex-direction);flex-wrap:var(--form-flex-wrap);padding:var(--form-flex-padding);gap:10px}:host form .form-scroll>div{width:100%}:host .form-buttons:empty{display:none}:host .form-buttons{display:flex;justify-content:flex-end;gap:10px;padding-top:10px}\n"], dependencies: [{ 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: "pipe", type: TranslatePipe, name: "translate" }] });
186
186
  }
187
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvFormSignalComponent, decorators: [{
187
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvFormSignalComponent, decorators: [{
188
188
  type: Component,
189
189
  args: [{ selector: 'dsv-form-signal', imports: [DsvButtonComponent, RouterLink, TranslatePipe], template: "<form (submit)=\"onSubmit($event)\" novalidate>\n <div class=\"form-scroll\">\n <ng-content></ng-content>\n </div>\n <div class=\"form-buttons\">\n @if (urlBack()) {\n <dsv-button color=\"default\" variant=\"outlined\" [routerLink]=\"urlBack()\" [prevent]=\"false\">{{\n 'RETOUR' | translate\n }}</dsv-button>\n }\n @if (isCallbackBack()) {\n <dsv-button color=\"default\" variant=\"outlined\" (callback)=\"callbackBack.emit()\">{{\n 'RETOUR' | translate\n }}</dsv-button>\n }\n @if (textValid() && textValid() !== '') {\n <dsv-button type=\"submit\" color=\"secondary\">{{ textValid()! | translate }}</dsv-button>\n }\n </div>\n</form>\n", styles: [":host{--form-flex-direction: column;--form-flex-wrap: nowrap;--form-flex-padding: 0;--form-max-height: auto;--form-overflow: auto;display:flex;width:100%;height:100%}:host form{flex-direction:column;display:flex;margin-top:0;unicode-bidi:isolate;max-height:var(--form-max-height)}:host form .form-scroll{overflow:var(--form-overflow);scrollbar-width:thin;display:flex;flex-direction:var(--form-flex-direction);flex-wrap:var(--form-flex-wrap);padding:var(--form-flex-padding);gap:10px}:host form .form-scroll>div{width:100%}:host .form-buttons:empty{display:none}:host .form-buttons{display:flex;justify-content:flex-end;gap:10px;padding-top:10px}\n"] }]
190
190
  }], propDecorators: { form: [{ type: i0.Input, args: [{ isSignal: true, alias: "form", required: true }] }], urlBack: [{ type: i0.Input, args: [{ isSignal: true, alias: "urlBack", required: false }] }], textValid: [{ type: i0.Input, args: [{ isSignal: true, alias: "textValid", required: false }] }], formValid: [{ type: i0.Input, args: [{ isSignal: true, alias: "formValid", required: false }] }], callbackBack: [{ type: i0.Output, args: ["callbackBack"] }], callback: [{ type: i0.Output, args: ["callback"] }] } });
@@ -196,19 +196,19 @@ class DsvFormSignalInputComponent extends DsvBaseFormSignalInputComponent {
196
196
  ...(ngDevMode ? [undefined, { debugName: "icon" }] : /* istanbul ignore next */ []));
197
197
  withError = input(true, /* @ts-ignore */
198
198
  ...(ngDevMode ? [{ debugName: "withError" }] : /* istanbul ignore next */ []));
199
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvFormSignalInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
200
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: DsvFormSignalInputComponent, isStandalone: true, selector: "dsv-form-signal-input", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, withError: { classPropertyName: "withError", publicName: "withError", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div>\n @if (getSignal()) {\n @if (withLabel()) {\n <dsv-form-signal-label\n [name]=\"fieldName()\"\n [label]=\"label() ?? fieldName()\"\n [signal]=\"getSignal()()\"\n />\n }\n @if (type() === 'textarea') {\n <textarea\n [id]=\"fieldName()\"\n [formField]=\"getSignal()\"\n [placeholder]=\"placeholder()\"\n class=\"form-control\"\n ></textarea>\n } @else {\n <input\n #input\n [type]=\"type()\"\n [id]=\"fieldName()\"\n class=\"form-control\"\n [class.error]=\"isError()\"\n [formField]=\"getSignal()\"\n [placeholder]=\"placeholder()\"\n [class.icon]=\"icon()\"\n (blur)=\"doOnSend()\"\n (change)=\"doChange()\"\n (keydown.enter)=\"doOnSend()\"\n />\n }\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n @if (withError()) {\n <dsv-form-signal-error [errors]=\"getSignal()().errors()\" [isTouched]=\"isTouched()\" />\n }\n }\n</div>\n", styles: [":host{--input-width: calc(100% - 12px) ;--input-max-width: auto;--input-opacity: 1;--input-flex-direction: column;--input-align-center: false;--input-justify-content: false;--input-gap: 0;--input-height: auto;--input-min-height: 90px;--input-max-height: 150px;width:100%}:host>div{display:flex;flex-direction:var(--input-flex-direction);gap:var(--input-gap);align-items:var(--input-align-center);justify-content:var(--input-justify-content);position:relative;gap:2px}:host>div .form-control{font-family:inherit;display:block;margin:0;padding:5px;width:var(--input-width);max-width:var(--input-max-width);font-size:1rem;line-height:1.5;color:var(--text);background-color:var(--background-card);background-clip:padding-box;border:1px solid var(--border);border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d;opacity:var(--input-opacity)}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;height:var(--input-height);min-height:var(--input-min-height);max-height:var(--input-max-height)}:host-context(body.dark) .form-control{color-scheme:dark}\n"], dependencies: [{ kind: "directive", type: FormField, selector: "[formField]", inputs: ["formField"], exportAs: ["formField"] }, { kind: "component", type: DsvFormSignalLabelComponent, selector: "dsv-form-signal-label", inputs: ["label", "name", "signal", "show"] }, { kind: "component", type: FormSignalErrorComponent, selector: "dsv-form-signal-error", inputs: ["errors", "isTouched"] }] });
199
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvFormSignalInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
200
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DsvFormSignalInputComponent, isStandalone: true, selector: "dsv-form-signal-input", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, withError: { classPropertyName: "withError", publicName: "withError", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div>\n @if (getSignal()) {\n @if (withLabel()) {\n <dsv-form-signal-label\n [name]=\"fieldName()\"\n [label]=\"label() ?? fieldName()\"\n [signal]=\"getSignal()()\"\n />\n }\n @if (type() === 'textarea') {\n <textarea\n [id]=\"fieldName()\"\n [formField]=\"getSignal()\"\n [placeholder]=\"placeholder()\"\n class=\"form-control\"\n ></textarea>\n } @else {\n <input\n #input\n [type]=\"type()\"\n [id]=\"fieldName()\"\n class=\"form-control\"\n [class.error]=\"isError()\"\n [formField]=\"getSignal()\"\n [placeholder]=\"placeholder()\"\n [class.icon]=\"icon()\"\n (blur)=\"doOnSend()\"\n (change)=\"doChange()\"\n (keydown.enter)=\"doOnSend()\"\n />\n }\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n @if (withError()) {\n <dsv-form-signal-error [errors]=\"getSignal()().errors()\" [isTouched]=\"isTouched()\" />\n }\n }\n</div>\n", styles: [":host{--input-width: calc(100% - 12px) ;--input-max-width: auto;--input-opacity: 1;--input-flex-direction: column;--input-align-center: false;--input-justify-content: false;--input-gap: 0;--input-height: auto;--input-min-height: 90px;--input-max-height: 150px;width:100%}:host>div{display:flex;flex-direction:var(--input-flex-direction);gap:var(--input-gap);align-items:var(--input-align-center);justify-content:var(--input-justify-content);position:relative;gap:2px}:host>div .form-control{font-family:inherit;display:block;margin:0;padding:5px;width:var(--input-width);max-width:var(--input-max-width);font-size:1rem;line-height:1.5;color:var(--text);background-color:var(--background-card);background-clip:padding-box;border:1px solid var(--border);border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d;opacity:var(--input-opacity)}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;height:var(--input-height);min-height:var(--input-min-height);max-height:var(--input-max-height)}:host-context(body.dark) .form-control{color-scheme:dark}\n"], dependencies: [{ kind: "directive", type: FormField, selector: "[formField]", inputs: ["formField"], exportAs: ["formField"] }, { kind: "component", type: DsvFormSignalLabelComponent, selector: "dsv-form-signal-label", inputs: ["label", "name", "signal", "show"] }, { kind: "component", type: FormSignalErrorComponent, selector: "dsv-form-signal-error", inputs: ["errors", "isTouched"] }] });
201
201
  }
202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvFormSignalInputComponent, decorators: [{
202
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvFormSignalInputComponent, decorators: [{
203
203
  type: Component,
204
204
  args: [{ selector: 'dsv-form-signal-input', imports: [FormField, DsvFormSignalLabelComponent, FormSignalErrorComponent], template: "<div>\n @if (getSignal()) {\n @if (withLabel()) {\n <dsv-form-signal-label\n [name]=\"fieldName()\"\n [label]=\"label() ?? fieldName()\"\n [signal]=\"getSignal()()\"\n />\n }\n @if (type() === 'textarea') {\n <textarea\n [id]=\"fieldName()\"\n [formField]=\"getSignal()\"\n [placeholder]=\"placeholder()\"\n class=\"form-control\"\n ></textarea>\n } @else {\n <input\n #input\n [type]=\"type()\"\n [id]=\"fieldName()\"\n class=\"form-control\"\n [class.error]=\"isError()\"\n [formField]=\"getSignal()\"\n [placeholder]=\"placeholder()\"\n [class.icon]=\"icon()\"\n (blur)=\"doOnSend()\"\n (change)=\"doChange()\"\n (keydown.enter)=\"doOnSend()\"\n />\n }\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n @if (withError()) {\n <dsv-form-signal-error [errors]=\"getSignal()().errors()\" [isTouched]=\"isTouched()\" />\n }\n }\n</div>\n", styles: [":host{--input-width: calc(100% - 12px) ;--input-max-width: auto;--input-opacity: 1;--input-flex-direction: column;--input-align-center: false;--input-justify-content: false;--input-gap: 0;--input-height: auto;--input-min-height: 90px;--input-max-height: 150px;width:100%}:host>div{display:flex;flex-direction:var(--input-flex-direction);gap:var(--input-gap);align-items:var(--input-align-center);justify-content:var(--input-justify-content);position:relative;gap:2px}:host>div .form-control{font-family:inherit;display:block;margin:0;padding:5px;width:var(--input-width);max-width:var(--input-max-width);font-size:1rem;line-height:1.5;color:var(--text);background-color:var(--background-card);background-clip:padding-box;border:1px solid var(--border);border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d;opacity:var(--input-opacity)}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;height:var(--input-height);min-height:var(--input-min-height);max-height:var(--input-max-height)}:host-context(body.dark) .form-control{color-scheme:dark}\n"] }]
205
205
  }], propDecorators: { type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], withError: [{ type: i0.Input, args: [{ isSignal: true, alias: "withError", required: false }] }] } });
206
206
 
207
207
  class DsvBaseFormSignalComponent {
208
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvBaseFormSignalComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
209
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: DsvBaseFormSignalComponent, isStandalone: true, ngImport: i0 });
208
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvBaseFormSignalComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
209
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.4", type: DsvBaseFormSignalComponent, isStandalone: true, ngImport: i0 });
210
210
  }
211
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvBaseFormSignalComponent, decorators: [{
211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvBaseFormSignalComponent, decorators: [{
212
212
  type: Directive
213
213
  }] });
214
214
 
@@ -226,10 +226,10 @@ class DsvFormSignalSearchbarComponent extends DsvBaseFormSignalComponent {
226
226
  onSend(value) {
227
227
  this.callbackSearch.emit(value);
228
228
  }
229
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvFormSignalSearchbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
230
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.3", type: DsvFormSignalSearchbarComponent, isStandalone: true, selector: "dsv-form-signal-searchbar", inputs: { search: { classPropertyName: "search", publicName: "search", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callbackSearch: "callbackSearch" }, usesInheritance: true, ngImport: i0, template: "<dsv-form-signal\n [form]=\"form\"\n textValid=\"\"\n>\n <dsv-form-signal-input\n [form]=\"form\"\n fieldName=\"search\"\n type=\"search\"\n [withLabel]=\"false\"\n (callbackChange)=\"onSend($event)\"\n (callbackSend)=\"onSend($event)\"\n icon=\"icon ri-search-line\"\n ></dsv-form-signal-input>\n</dsv-form-signal>\n", styles: [":host{display:flex;-webkit-user-select:none;user-select:none}:host dsv-form-reactive-input,:host dsv-form-signal-input{--input-width: 100% !important}\n"], dependencies: [{ 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"] }] });
229
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvFormSignalSearchbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
230
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: DsvFormSignalSearchbarComponent, isStandalone: true, selector: "dsv-form-signal-searchbar", inputs: { search: { classPropertyName: "search", publicName: "search", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callbackSearch: "callbackSearch" }, usesInheritance: true, ngImport: i0, template: "<dsv-form-signal\n [form]=\"form\"\n textValid=\"\"\n>\n <dsv-form-signal-input\n [form]=\"form\"\n fieldName=\"search\"\n type=\"search\"\n [withLabel]=\"false\"\n (callbackChange)=\"onSend($event)\"\n (callbackSend)=\"onSend($event)\"\n icon=\"icon ri-search-line\"\n ></dsv-form-signal-input>\n</dsv-form-signal>\n", styles: [":host{display:flex;-webkit-user-select:none;user-select:none}:host dsv-form-reactive-input,:host dsv-form-signal-input{--input-width: 100% !important}\n"], dependencies: [{ 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"] }] });
231
231
  }
232
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvFormSignalSearchbarComponent, decorators: [{
232
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvFormSignalSearchbarComponent, decorators: [{
233
233
  type: Component,
234
234
  args: [{ selector: 'dsv-form-signal-searchbar', imports: [DsvFormSignalComponent, DsvFormSignalInputComponent], template: "<dsv-form-signal\n [form]=\"form\"\n textValid=\"\"\n>\n <dsv-form-signal-input\n [form]=\"form\"\n fieldName=\"search\"\n type=\"search\"\n [withLabel]=\"false\"\n (callbackChange)=\"onSend($event)\"\n (callbackSend)=\"onSend($event)\"\n icon=\"icon ri-search-line\"\n ></dsv-form-signal-input>\n</dsv-form-signal>\n", styles: [":host{display:flex;-webkit-user-select:none;user-select:none}:host dsv-form-reactive-input,:host dsv-form-signal-input{--input-width: 100% !important}\n"] }]
235
235
  }], ctorParameters: () => [], propDecorators: { search: [{ type: i0.Input, args: [{ isSignal: true, alias: "search", required: false }] }], callbackSearch: [{ type: i0.Output, args: ["callbackSearch"] }] } });
@@ -239,10 +239,10 @@ class DsvFormSignalSelectComponent extends DsvBaseFormSignalInputComponent {
239
239
  ...(ngDevMode ? [{ debugName: "multiple" }] : /* istanbul ignore next */ []));
240
240
  list = input([], /* @ts-ignore */
241
241
  ...(ngDevMode ? [{ debugName: "list" }] : /* istanbul ignore next */ []));
242
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvFormSignalSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
243
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: DsvFormSignalSelectComponent, isStandalone: true, selector: "dsv-form-signal-select", inputs: { multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, list: { classPropertyName: "list", publicName: "list", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div>\n @if (getSignal()) {\n <dsv-form-signal-label\n [name]=\"fieldName()\"\n [label]=\"label() ?? fieldName()\"\n [signal]=\"getSignal()()\"\n [show]=\"withLabel()\"\n />\n <div class=\"flex-column\">\n <select\n [id]=\"fieldName()\"\n [formField]=\"getSignal()\"\n class=\"form-control\"\n (change)=\"doChange()\"\n [class.error]=\"isError()\"\n [multiple]=\"multiple()\"\n >\n @for (list of list(); track list.id) {\n <option\n [value]=\"list.id\"\n [selected]=\"list.id?.toString() === getSignal()().value().toString()\"\n >\n {{ list.name }}\n </option>\n }\n </select>\n <dsv-form-signal-error [errors]=\"getSignal()().errors()\" [isTouched]=\"isTouched()\" />\n </div>\n }\n</div>\n", styles: [":host{--input-width: calc(100% - 12px) ;--input-max-width: auto;--input-opacity: 1;--input-flex-direction: column;--input-align-center: false;--input-justify-content: false;--input-gap: 0;--input-height: auto;--input-min-height: 90px;--input-max-height: 150px;width:100%}:host>div{display:flex;flex-direction:var(--input-flex-direction);gap:var(--input-gap);align-items:var(--input-align-center);justify-content:var(--input-justify-content);position:relative;gap:2px}:host>div .form-control{font-family:inherit;display:block;margin:0;padding:5px;width:var(--input-width);max-width:var(--input-max-width);font-size:1rem;line-height:1.5;color:var(--text);background-color:var(--background-card);background-clip:padding-box;border:1px solid var(--border);border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d;opacity:var(--input-opacity)}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;height:var(--input-height);min-height:var(--input-min-height);max-height:var(--input-max-height)}:host-context(body.dark) .form-control{color-scheme:dark}\n", ":host{--select-width: calc(100% - 2px) ;--select-height: 32px;width:100%}:host>div .form-control{width:var(--select-width);height:var(--select-height)}:host>div .form-control[multiple]{height:auto}\n"], dependencies: [{ kind: "directive", type: FormField, selector: "[formField]", inputs: ["formField"], exportAs: ["formField"] }, { kind: "component", type: DsvFormSignalLabelComponent, selector: "dsv-form-signal-label", inputs: ["label", "name", "signal", "show"] }, { kind: "component", type: FormSignalErrorComponent, selector: "dsv-form-signal-error", inputs: ["errors", "isTouched"] }] });
242
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvFormSignalSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
243
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DsvFormSignalSelectComponent, isStandalone: true, selector: "dsv-form-signal-select", inputs: { multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, list: { classPropertyName: "list", publicName: "list", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div>\n @if (getSignal()) {\n <dsv-form-signal-label\n [name]=\"fieldName()\"\n [label]=\"label() ?? fieldName()\"\n [signal]=\"getSignal()()\"\n [show]=\"withLabel()\"\n />\n <div class=\"flex-column\">\n <select\n [id]=\"fieldName()\"\n [formField]=\"getSignal()\"\n class=\"form-control\"\n (change)=\"doChange()\"\n [class.error]=\"isError()\"\n [multiple]=\"multiple()\"\n >\n @for (list of list(); track list.id) {\n <option\n [value]=\"list.id\"\n [selected]=\"list.id?.toString() === getSignal()().value().toString()\"\n >\n {{ list.name }}\n </option>\n }\n </select>\n <dsv-form-signal-error [errors]=\"getSignal()().errors()\" [isTouched]=\"isTouched()\" />\n </div>\n }\n</div>\n", styles: [":host{--input-width: calc(100% - 12px) ;--input-max-width: auto;--input-opacity: 1;--input-flex-direction: column;--input-align-center: false;--input-justify-content: false;--input-gap: 0;--input-height: auto;--input-min-height: 90px;--input-max-height: 150px;width:100%}:host>div{display:flex;flex-direction:var(--input-flex-direction);gap:var(--input-gap);align-items:var(--input-align-center);justify-content:var(--input-justify-content);position:relative;gap:2px}:host>div .form-control{font-family:inherit;display:block;margin:0;padding:5px;width:var(--input-width);max-width:var(--input-max-width);font-size:1rem;line-height:1.5;color:var(--text);background-color:var(--background-card);background-clip:padding-box;border:1px solid var(--border);border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d;opacity:var(--input-opacity)}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;height:var(--input-height);min-height:var(--input-min-height);max-height:var(--input-max-height)}:host-context(body.dark) .form-control{color-scheme:dark}\n", ":host{--select-width: calc(100% - 2px) ;--select-height: 32px;width:100%}:host>div .form-control{width:var(--select-width);height:var(--select-height)}:host>div .form-control[multiple]{height:auto}\n"], dependencies: [{ kind: "directive", type: FormField, selector: "[formField]", inputs: ["formField"], exportAs: ["formField"] }, { kind: "component", type: DsvFormSignalLabelComponent, selector: "dsv-form-signal-label", inputs: ["label", "name", "signal", "show"] }, { kind: "component", type: FormSignalErrorComponent, selector: "dsv-form-signal-error", inputs: ["errors", "isTouched"] }] });
244
244
  }
245
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvFormSignalSelectComponent, decorators: [{
245
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvFormSignalSelectComponent, decorators: [{
246
246
  type: Component,
247
247
  args: [{ selector: 'dsv-form-signal-select', imports: [FormField, DsvFormSignalLabelComponent, FormSignalErrorComponent], template: "<div>\n @if (getSignal()) {\n <dsv-form-signal-label\n [name]=\"fieldName()\"\n [label]=\"label() ?? fieldName()\"\n [signal]=\"getSignal()()\"\n [show]=\"withLabel()\"\n />\n <div class=\"flex-column\">\n <select\n [id]=\"fieldName()\"\n [formField]=\"getSignal()\"\n class=\"form-control\"\n (change)=\"doChange()\"\n [class.error]=\"isError()\"\n [multiple]=\"multiple()\"\n >\n @for (list of list(); track list.id) {\n <option\n [value]=\"list.id\"\n [selected]=\"list.id?.toString() === getSignal()().value().toString()\"\n >\n {{ list.name }}\n </option>\n }\n </select>\n <dsv-form-signal-error [errors]=\"getSignal()().errors()\" [isTouched]=\"isTouched()\" />\n </div>\n }\n</div>\n", styles: [":host{--input-width: calc(100% - 12px) ;--input-max-width: auto;--input-opacity: 1;--input-flex-direction: column;--input-align-center: false;--input-justify-content: false;--input-gap: 0;--input-height: auto;--input-min-height: 90px;--input-max-height: 150px;width:100%}:host>div{display:flex;flex-direction:var(--input-flex-direction);gap:var(--input-gap);align-items:var(--input-align-center);justify-content:var(--input-justify-content);position:relative;gap:2px}:host>div .form-control{font-family:inherit;display:block;margin:0;padding:5px;width:var(--input-width);max-width:var(--input-max-width);font-size:1rem;line-height:1.5;color:var(--text);background-color:var(--background-card);background-clip:padding-box;border:1px solid var(--border);border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d;opacity:var(--input-opacity)}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;height:var(--input-height);min-height:var(--input-min-height);max-height:var(--input-max-height)}:host-context(body.dark) .form-control{color-scheme:dark}\n", ":host{--select-width: calc(100% - 2px) ;--select-height: 32px;width:100%}:host>div .form-control{width:var(--select-width);height:var(--select-height)}:host>div .form-control[multiple]{height:auto}\n"] }]
248
248
  }], propDecorators: { multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], list: [{ type: i0.Input, args: [{ isSignal: true, alias: "list", required: false }] }] } });
@@ -17,10 +17,10 @@ class DsvHeaderComponent {
17
17
  doToogleMenu() {
18
18
  this.menuService.toogleMenu();
19
19
  }
20
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: DsvHeaderComponent, isStandalone: true, selector: "dsv-header", inputs: { img: { classPropertyName: "img", publicName: "img", isSignal: true, isRequired: false, transformFunction: null }, titleText: { classPropertyName: "titleText", publicName: "titleText", isSignal: true, isRequired: false, transformFunction: null }, withMenu: { classPropertyName: "withMenu", publicName: "withMenu", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"header-title\">\n @if (withMenu()) {\n <dsv-menu-button />\n }\n <a href=\"/\" class=\"dsv-header-logo\" dsvLink>\n @if (img()) {\n <img src=\"{{ img() }}\" alt=\"logo\" />\n }\n <div>\n @for (titleText of titleTextParts(); track titleText; let index = $index) {\n <span class=\"title-{{ index }}\">{{ titleText }}</span>\n @if (index < titleTextParts().length - 1) {\n <span>&nbsp;</span>\n }\n }\n </div>\n </a>\n</div>\n<ng-content></ng-content>\n", styles: [":host{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;width:100%;min-height:48px;padding:0 7px 0 3px;box-sizing:border-box;background-color:var(--background-card);color:var(--text);transition:box-shadow .3s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--border)}:host .header-title{display:flex;gap:10px;align-items:center;flex:1}:host .dsv-header-logo{display:flex;justify-content:flex-start;align-items:center;font-size:1.3rem;gap:10px}:host .dsv-header-logo img{width:30px;height:30px;cursor:pointer}:host .dsv-header-logo span{font-weight:700;cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DsvMenuButtonComponent, selector: "dsv-menu-button" }, { kind: "directive", type: RouterInternalPipe, selector: "a[dsvLink]", outputs: ["dsvLink"] }] });
20
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DsvHeaderComponent, isStandalone: true, selector: "dsv-header", inputs: { img: { classPropertyName: "img", publicName: "img", isSignal: true, isRequired: false, transformFunction: null }, titleText: { classPropertyName: "titleText", publicName: "titleText", isSignal: true, isRequired: false, transformFunction: null }, withMenu: { classPropertyName: "withMenu", publicName: "withMenu", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"header-title\">\n @if (withMenu()) {\n <dsv-menu-button />\n }\n <a href=\"/\" class=\"dsv-header-logo\" dsvLink>\n @if (img()) {\n <img src=\"{{ img() }}\" alt=\"logo\" />\n }\n <div>\n @for (titleText of titleTextParts(); track titleText; let index = $index) {\n <span class=\"title-{{ index }}\">{{ titleText }}</span>\n @if (index < titleTextParts().length - 1) {\n <span>&nbsp;</span>\n }\n }\n </div>\n </a>\n</div>\n<ng-content></ng-content>\n", styles: [":host{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;width:100%;min-height:48px;padding:0 7px 0 3px;box-sizing:border-box;background-color:var(--background-card);color:var(--text);transition:box-shadow .3s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--border)}:host .header-title{display:flex;gap:10px;align-items:center;flex:1}:host .dsv-header-logo{display:flex;justify-content:flex-start;align-items:center;font-size:1.3rem;gap:10px}:host .dsv-header-logo img{width:30px;height:30px;cursor:pointer}:host .dsv-header-logo span{font-weight:700;cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DsvMenuButtonComponent, selector: "dsv-menu-button" }, { kind: "directive", type: RouterInternalPipe, selector: "a[dsvLink]", outputs: ["dsvLink"] }] });
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvHeaderComponent, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvHeaderComponent, decorators: [{
24
24
  type: Component,
25
25
  args: [{ selector: 'dsv-header', imports: [CommonModule, DsvMenuButtonComponent, RouterInternalPipe], template: "<div class=\"header-title\">\n @if (withMenu()) {\n <dsv-menu-button />\n }\n <a href=\"/\" class=\"dsv-header-logo\" dsvLink>\n @if (img()) {\n <img src=\"{{ img() }}\" alt=\"logo\" />\n }\n <div>\n @for (titleText of titleTextParts(); track titleText; let index = $index) {\n <span class=\"title-{{ index }}\">{{ titleText }}</span>\n @if (index < titleTextParts().length - 1) {\n <span>&nbsp;</span>\n }\n }\n </div>\n </a>\n</div>\n<ng-content></ng-content>\n", styles: [":host{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;width:100%;min-height:48px;padding:0 7px 0 3px;box-sizing:border-box;background-color:var(--background-card);color:var(--text);transition:box-shadow .3s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--border)}:host .header-title{display:flex;gap:10px;align-items:center;flex:1}:host .dsv-header-logo{display:flex;justify-content:flex-start;align-items:center;font-size:1.3rem;gap:10px}:host .dsv-header-logo img{width:30px;height:30px;cursor:pointer}:host .dsv-header-logo span{font-weight:700;cursor:pointer}\n"] }]
26
26
  }], propDecorators: { img: [{ type: i0.Input, args: [{ isSignal: true, alias: "img", required: false }] }], titleText: [{ type: i0.Input, args: [{ isSignal: true, alias: "titleText", required: false }] }], withMenu: [{ type: i0.Input, args: [{ isSignal: true, alias: "withMenu", required: false }] }] } });
@@ -25,10 +25,10 @@ class DsvImgComponent {
25
25
  onImageError() {
26
26
  this.error.set(true);
27
27
  }
28
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvImgComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: DsvImgComponent, isStandalone: true, selector: "dsv-img", inputs: { src: { classPropertyName: "src", publicName: "src", isSignal: true, isRequired: true, transformFunction: null }, alt: { classPropertyName: "alt", publicName: "alt", isSignal: true, isRequired: false, transformFunction: null }, empty: { classPropertyName: "empty", publicName: "empty", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (!load() || src() === '') {\n <dsv-skeleton>\n <svg\n [attr.viewBox]=\"'0 0 ' + width() + ' ' + height()\"\n xmlns=\"http://www.w3.org/2000/svg\"\n ></svg>\n </dsv-skeleton>\n}\n@if (src() !== '' && !error()) {\n <img\n [src]=\"src()\"\n [alt]=\"alt()\"\n (load)=\"doLoad()\"\n (error)=\"onImageError()\"\n [style.aspect-ratio]=\"aspectRatio()\"\n [class.hidden]=\"!load()\"\n />\n} @else if (error()) {\n <img\n [src]=\"empty()\"\n [alt]=\"alt()\"\n (load)=\"doLoad()\"\n [style.aspect-ratio]=\"aspectRatio()\"\n />\n}\n", styles: [":host{--img-width: 100%;--img-height: 100%;--img-border-radius: 0px;display:flex;flex-direction:column}:host img{background-color:var(--background-card-light);border-radius:var(--img-border-radius);width:var(--img-width);height:var(--img-height)}:host svg{background-color:var(--background-card);opacity:.5;margin:0;padding:0;border-radius:10px}\n"], dependencies: [{ kind: "component", type: DsvSekeletonComponent, selector: "dsv-skeleton" }] });
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvImgComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DsvImgComponent, isStandalone: true, selector: "dsv-img", inputs: { src: { classPropertyName: "src", publicName: "src", isSignal: true, isRequired: true, transformFunction: null }, alt: { classPropertyName: "alt", publicName: "alt", isSignal: true, isRequired: false, transformFunction: null }, empty: { classPropertyName: "empty", publicName: "empty", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (!load() || src() === '') {\n <dsv-skeleton>\n <svg\n [attr.viewBox]=\"'0 0 ' + width() + ' ' + height()\"\n xmlns=\"http://www.w3.org/2000/svg\"\n ></svg>\n </dsv-skeleton>\n}\n@if (src() !== '' && !error()) {\n <img\n [src]=\"src()\"\n [alt]=\"alt()\"\n (load)=\"doLoad()\"\n (error)=\"onImageError()\"\n [style.aspect-ratio]=\"aspectRatio()\"\n [class.hidden]=\"!load()\"\n />\n} @else if (error()) {\n <img\n [src]=\"empty()\"\n [alt]=\"alt()\"\n (load)=\"doLoad()\"\n [style.aspect-ratio]=\"aspectRatio()\"\n />\n}\n", styles: [":host{--img-width: 100%;--img-height: 100%;--img-border-radius: 0px;display:flex;flex-direction:column}:host img{background-color:var(--background-card-light);border-radius:var(--img-border-radius);width:var(--img-width);height:var(--img-height)}:host svg{background-color:var(--background-card);opacity:.5;margin:0;padding:0;border-radius:10px}\n"], dependencies: [{ kind: "component", type: DsvSekeletonComponent, selector: "dsv-skeleton" }] });
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvImgComponent, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvImgComponent, decorators: [{
32
32
  type: Component,
33
33
  args: [{ selector: 'dsv-img', imports: [DsvSekeletonComponent], template: "@if (!load() || src() === '') {\n <dsv-skeleton>\n <svg\n [attr.viewBox]=\"'0 0 ' + width() + ' ' + height()\"\n xmlns=\"http://www.w3.org/2000/svg\"\n ></svg>\n </dsv-skeleton>\n}\n@if (src() !== '' && !error()) {\n <img\n [src]=\"src()\"\n [alt]=\"alt()\"\n (load)=\"doLoad()\"\n (error)=\"onImageError()\"\n [style.aspect-ratio]=\"aspectRatio()\"\n [class.hidden]=\"!load()\"\n />\n} @else if (error()) {\n <img\n [src]=\"empty()\"\n [alt]=\"alt()\"\n (load)=\"doLoad()\"\n [style.aspect-ratio]=\"aspectRatio()\"\n />\n}\n", styles: [":host{--img-width: 100%;--img-height: 100%;--img-border-radius: 0px;display:flex;flex-direction:column}:host img{background-color:var(--background-card-light);border-radius:var(--img-border-radius);width:var(--img-width);height:var(--img-height)}:host svg{background-color:var(--background-card);opacity:.5;margin:0;padding:0;border-radius:10px}\n"] }]
34
34
  }], propDecorators: { src: [{ type: i0.Input, args: [{ isSignal: true, alias: "src", required: true }] }], alt: [{ type: i0.Input, args: [{ isSignal: true, alias: "alt", required: false }] }], empty: [{ type: i0.Input, args: [{ isSignal: true, alias: "empty", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }] } });
@@ -33,10 +33,10 @@ class DsvItemComponent {
33
33
  }
34
34
  this.isCallback() && this.callback.emit();
35
35
  }
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: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" }] });
36
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
37
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", 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
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvItemComponent, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvItemComponent, decorators: [{
40
40
  type: Component,
41
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"] }] } });
@@ -8,10 +8,10 @@ class LinearProgressComponent {
8
8
  ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
9
9
  indeterminate = input(true, /* @ts-ignore */
10
10
  ...(ngDevMode ? [{ debugName: "indeterminate" }] : /* istanbul ignore next */ []));
11
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: LinearProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: LinearProgressComponent, isStandalone: true, selector: "dsv-linear-progress", inputs: { load: { classPropertyName: "load", publicName: "load", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (load()) {\n <div class=\"progress-container\">\n <div\n class=\"progress-bar\"\n [style.width]=\"indeterminate() ? null : value + '%'\"\n [class.indeterminate]=\"indeterminate()\"\n ></div>\n </div>\n}\n", styles: [":host{position:absolute;width:100%;height:5px!important;height:0px}:host .progress-container{width:100%;height:3px;background-color:transparent;overflow:hidden;position:absolute;z-index:1}:host .progress-container .progress-bar{height:100%}:host .progress-container .indeterminate{width:100%;height:100%;background-color:var(--secondary);animation:indeterminateAnimation .5s infinite linear;transform-origin:0% 50%}@keyframes indeterminateAnimation{0%{transform:translate(0) scaleX(0)}40%{transform:translate(0) scaleX(.4)}to{transform:translate(100%) scaleX(.5)}}\n"] });
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LinearProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: LinearProgressComponent, isStandalone: true, selector: "dsv-linear-progress", inputs: { load: { classPropertyName: "load", publicName: "load", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (load()) {\n <div class=\"progress-container\">\n <div\n class=\"progress-bar\"\n [style.width]=\"indeterminate() ? null : value + '%'\"\n [class.indeterminate]=\"indeterminate()\"\n ></div>\n </div>\n}\n", styles: [":host{position:absolute;width:100%;height:5px!important;height:0px}:host .progress-container{width:100%;height:3px;background-color:transparent;overflow:hidden;position:absolute;z-index:1}:host .progress-container .progress-bar{height:100%}:host .progress-container .indeterminate{width:100%;height:100%;background-color:var(--secondary);animation:indeterminateAnimation .5s infinite linear;transform-origin:0% 50%}@keyframes indeterminateAnimation{0%{transform:translate(0) scaleX(0)}40%{transform:translate(0) scaleX(.4)}to{transform:translate(100%) scaleX(.5)}}\n"] });
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: LinearProgressComponent, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LinearProgressComponent, decorators: [{
15
15
  type: Component,
16
16
  args: [{ selector: 'dsv-linear-progress', template: "@if (load()) {\n <div class=\"progress-container\">\n <div\n class=\"progress-bar\"\n [style.width]=\"indeterminate() ? null : value + '%'\"\n [class.indeterminate]=\"indeterminate()\"\n ></div>\n </div>\n}\n", styles: [":host{position:absolute;width:100%;height:5px!important;height:0px}:host .progress-container{width:100%;height:3px;background-color:transparent;overflow:hidden;position:absolute;z-index:1}:host .progress-container .progress-bar{height:100%}:host .progress-container .indeterminate{width:100%;height:100%;background-color:var(--secondary);animation:indeterminateAnimation .5s infinite linear;transform-origin:0% 50%}@keyframes indeterminateAnimation{0%{transform:translate(0) scaleX(0)}40%{transform:translate(0) scaleX(.4)}to{transform:translate(100%) scaleX(.5)}}\n"] }]
17
17
  }], propDecorators: { load: [{ type: i0.Input, args: [{ isSignal: true, alias: "load", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], indeterminate: [{ type: i0.Input, args: [{ isSignal: true, alias: "indeterminate", required: false }] }] } });
@@ -12,10 +12,10 @@ class LinkClickablePipe {
12
12
  const html = value.replaceAll(URL_PATTERN, (url) => `<a class="text warning" href="${url}" target="_blank" rel="noopener noreferrer">${url}</a>`);
13
13
  return this.sanitizer.bypassSecurityTrustHtml(html); // NOSONAR: URLs extracted by URL_PATTERN
14
14
  }
15
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: LinkClickablePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
16
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.3", ngImport: i0, type: LinkClickablePipe, isStandalone: true, name: "clickableUrl" });
15
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LinkClickablePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
16
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: LinkClickablePipe, isStandalone: true, name: "clickableUrl" });
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: LinkClickablePipe, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LinkClickablePipe, decorators: [{
19
19
  type: Pipe,
20
20
  args: [{
21
21
  name: 'clickableUrl',
@@ -34,10 +34,10 @@ class LinkYoutubePipe {
34
34
  const url = `${YOUTUBE_EMBED_BASE}${key}`;
35
35
  return this.sanitizer.bypassSecurityTrustResourceUrl(url); // NOSONAR: URL validated by YOUTUBE_KEY_PATTERN
36
36
  }
37
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: LinkYoutubePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
38
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.3", ngImport: i0, type: LinkYoutubePipe, isStandalone: true, name: "youtubeUrl" });
37
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LinkYoutubePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
38
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: LinkYoutubePipe, isStandalone: true, name: "youtubeUrl" });
39
39
  }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: LinkYoutubePipe, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LinkYoutubePipe, decorators: [{
41
41
  type: Pipe,
42
42
  args: [{
43
43
  name: 'youtubeUrl',
@@ -15,10 +15,10 @@ class DsvListItemDragComponent {
15
15
  onTouchStart() {
16
16
  this.listDragService.touchDragging.set(true);
17
17
  }
18
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvListItemDragComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.3", type: DsvListItemDragComponent, isStandalone: true, selector: "dsv-list-item-drag", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<dsv-button\n class=\"drag-handle\"\n icon=\"ri-menu-line\"\n [variant]=\"variant()\"\n color=\"secondary\"\n (mousedown)=\"onHandleMouseDown($event)\"\n (touchstart)=\"onTouchStart()\"\n/>\n", styles: [":host .drag-handle{cursor:grab;transition:opacity .15s}:host .drag-handle:active{cursor:grabbing}\n"], dependencies: [{ kind: "component", type: DsvButtonComponent, selector: "dsv-button", inputs: ["libelle", "routerLink", "icon", "iconEnd", "disabled", "noHover", "type", "prevent"], outputs: ["callback"] }] });
18
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvListItemDragComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: DsvListItemDragComponent, isStandalone: true, selector: "dsv-list-item-drag", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<dsv-button\n class=\"drag-handle\"\n icon=\"ri-menu-line\"\n [variant]=\"variant()\"\n color=\"secondary\"\n (mousedown)=\"onHandleMouseDown($event)\"\n (touchstart)=\"onTouchStart()\"\n/>\n", styles: [":host .drag-handle{cursor:grab;transition:opacity .15s}:host .drag-handle:active{cursor:grabbing}\n"], dependencies: [{ kind: "component", type: DsvButtonComponent, selector: "dsv-button", inputs: ["libelle", "routerLink", "icon", "iconEnd", "disabled", "noHover", "type", "prevent"], outputs: ["callback"] }] });
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvListItemDragComponent, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvListItemDragComponent, decorators: [{
22
22
  type: Component,
23
23
  args: [{ selector: 'dsv-list-item-drag', imports: [DsvButtonComponent], template: "<dsv-button\n class=\"drag-handle\"\n icon=\"ri-menu-line\"\n [variant]=\"variant()\"\n color=\"secondary\"\n (mousedown)=\"onHandleMouseDown($event)\"\n (touchstart)=\"onTouchStart()\"\n/>\n", styles: [":host .drag-handle{cursor:grab;transition:opacity .15s}:host .drag-handle:active{cursor:grabbing}\n"] }]
24
24
  }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }] } });
@@ -28,10 +28,10 @@ class ListDragService {
28
28
  ...(ngDevMode ? [{ debugName: "dragSrcIndex" }] : /* istanbul ignore next */ []));
29
29
  touchDragging = signal(false, /* @ts-ignore */
30
30
  ...(ngDevMode ? [{ debugName: "touchDragging" }] : /* istanbul ignore next */ []));
31
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ListDragService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
32
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ListDragService, providedIn: 'root' });
31
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ListDragService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
32
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ListDragService, providedIn: 'root' });
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ListDragService, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ListDragService, decorators: [{
35
35
  type: Injectable,
36
36
  args: [{ providedIn: 'root' }]
37
37
  }] });
@@ -137,19 +137,19 @@ class DsvListItemComponent {
137
137
  this.listDragService.dragSrcIndex.set(null);
138
138
  this.listDragService.touchDragging.set(false);
139
139
  }
140
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
141
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.3", type: DsvListItemComponent, isStandalone: true, selector: "dsv-list-item", inputs: { index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { callbackOrder: "callbackOrder" }, viewQueries: [{ propertyName: "liRef", first: true, predicate: ["liRef"], descendants: true, isSignal: true }], ngImport: i0, template: "<li\n #liRef\n [attr.data-index]=\"index()\"\n [attr.draggable]=\"false\"\n [class.dragging]=\"listDragService.dragSrcIndex() === index()\"\n [class.drag-over]=\"listDragService.dragSrcIndex() === index()\"\n (dragover)=\"onDragOver($event)\"\n (drop)=\"onDrop(index(), $event)\"\n (dragstart)=\"onDragStart(index(), $event)\"\n (dragend)=\"onDragEnd()\"\n (touchstart)=\"onTouchStart($event)\"\n (touchmove)=\"onTouchMove($event)\"\n (touchend)=\"onTouchEnd($event)\"\n>\n <ng-content></ng-content>\n</li>\n", styles: [":host li{display:flex;align-items:center;gap:10px;padding:10px 15px;border:1px solid var(--border);border-radius:5px;transition:opacity .2s,border-color .2s;-webkit-user-select:none;user-select:none}:host li.dragging{opacity:.4}.ghost-drag{display:flex;align-items:center;gap:10px;padding:10px 15px;border:1px solid var(--border);border-radius:5px;opacity:.3;pointer-events:none;z-index:1;position:fixed;transform:scale(.98)}\n"] });
140
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
141
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.4", type: DsvListItemComponent, isStandalone: true, selector: "dsv-list-item", inputs: { index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { callbackOrder: "callbackOrder" }, viewQueries: [{ propertyName: "liRef", first: true, predicate: ["liRef"], descendants: true, isSignal: true }], ngImport: i0, template: "<li\n #liRef\n [attr.data-index]=\"index()\"\n [attr.draggable]=\"false\"\n [class.dragging]=\"listDragService.dragSrcIndex() === index()\"\n [class.drag-over]=\"listDragService.dragSrcIndex() === index()\"\n (dragover)=\"onDragOver($event)\"\n (drop)=\"onDrop(index(), $event)\"\n (dragstart)=\"onDragStart(index(), $event)\"\n (dragend)=\"onDragEnd()\"\n (touchstart)=\"onTouchStart($event)\"\n (touchmove)=\"onTouchMove($event)\"\n (touchend)=\"onTouchEnd($event)\"\n>\n <ng-content></ng-content>\n</li>\n", styles: [":host li{display:flex;align-items:center;gap:10px;padding:10px 15px;border:1px solid var(--border);border-radius:5px;transition:opacity .2s,border-color .2s;-webkit-user-select:none;user-select:none}:host li.dragging{opacity:.4}.ghost-drag{display:flex;align-items:center;gap:10px;padding:10px 15px;border:1px solid var(--border);border-radius:5px;opacity:.3;pointer-events:none;z-index:1;position:fixed;transform:scale(.98)}\n"] });
142
142
  }
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvListItemComponent, decorators: [{
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvListItemComponent, decorators: [{
144
144
  type: Component,
145
145
  args: [{ selector: 'dsv-list-item', imports: [], template: "<li\n #liRef\n [attr.data-index]=\"index()\"\n [attr.draggable]=\"false\"\n [class.dragging]=\"listDragService.dragSrcIndex() === index()\"\n [class.drag-over]=\"listDragService.dragSrcIndex() === index()\"\n (dragover)=\"onDragOver($event)\"\n (drop)=\"onDrop(index(), $event)\"\n (dragstart)=\"onDragStart(index(), $event)\"\n (dragend)=\"onDragEnd()\"\n (touchstart)=\"onTouchStart($event)\"\n (touchmove)=\"onTouchMove($event)\"\n (touchend)=\"onTouchEnd($event)\"\n>\n <ng-content></ng-content>\n</li>\n", styles: [":host li{display:flex;align-items:center;gap:10px;padding:10px 15px;border:1px solid var(--border);border-radius:5px;transition:opacity .2s,border-color .2s;-webkit-user-select:none;user-select:none}:host li.dragging{opacity:.4}.ghost-drag{display:flex;align-items:center;gap:10px;padding:10px 15px;border:1px solid var(--border);border-radius:5px;opacity:.3;pointer-events:none;z-index:1;position:fixed;transform:scale(.98)}\n"] }]
146
146
  }], propDecorators: { index: [{ type: i0.Input, args: [{ isSignal: true, alias: "index", required: true }] }], callbackOrder: [{ type: i0.Output, args: ["callbackOrder"] }], liRef: [{ type: i0.ViewChild, args: ['liRef', { isSignal: true }] }] } });
147
147
 
148
148
  class DsvListComponent {
149
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
150
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.3", type: DsvListComponent, isStandalone: true, selector: "dsv-list", ngImport: i0, template: "<ul>\n <ng-content></ng-content>\n</ul>\n", styles: [":host{width:100%;--ul-margin: 0;--ul-width: 100%}:host ul{list-style:none;padding:0;margin:var(--ul-margin);width:var(--ul-width);display:flex;flex-direction:column;gap:8px}\n"] });
149
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
150
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: DsvListComponent, isStandalone: true, selector: "dsv-list", ngImport: i0, template: "<ul>\n <ng-content></ng-content>\n</ul>\n", styles: [":host{width:100%;--ul-margin: 0;--ul-width: 100%}:host ul{list-style:none;padding:0;margin:var(--ul-margin);width:var(--ul-width);display:flex;flex-direction:column;gap:8px}\n"] });
151
151
  }
152
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvListComponent, decorators: [{
152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvListComponent, decorators: [{
153
153
  type: Component,
154
154
  args: [{ selector: 'dsv-list', imports: [], template: "<ul>\n <ng-content></ng-content>\n</ul>\n", styles: [":host{width:100%;--ul-margin: 0;--ul-width: 100%}:host ul{list-style:none;padding:0;margin:var(--ul-margin);width:var(--ul-width);display:flex;flex-direction:column;gap:8px}\n"] }]
155
155
  }] });
@@ -0,0 +1,35 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, input, Component } from '@angular/core';
3
+ import { RouterService } from '@ng-vagabond-lab/ng-dsv/router';
4
+ import { MarkdownComponent } from 'ngx-markdown';
5
+
6
+ class DsvMarkdownContainer {
7
+ routerService = inject(RouterService);
8
+ data = input('', /* @ts-ignore */
9
+ ...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
10
+ handleClick(event) {
11
+ const target = event.target;
12
+ const anchor = target.closest('a');
13
+ if (anchor) {
14
+ const href = anchor.getAttribute('href');
15
+ if (href?.startsWith('/')) {
16
+ event.preventDefault();
17
+ event.stopPropagation();
18
+ this.routerService.router.navigate([href]);
19
+ }
20
+ }
21
+ }
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvMarkdownContainer, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DsvMarkdownContainer, isStandalone: true, selector: "dsv-markdown-container", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (data()) {\n <markdown\n class=\"markdown\"\n [data]=\"data()\"\n (click)=\"handleClick($event)\"\n (keydown)=\"handleClick($event)\"\n />\n}\n", styles: [":host{display:flex}\n"], dependencies: [{ kind: "component", type: MarkdownComponent, selector: "markdown, [markdown]", inputs: ["data", "src", "disableSanitizer", "inline", "clipboard", "clipboardButtonComponent", "clipboardButtonTemplate", "emoji", "katex", "katexOptions", "mermaid", "mermaidOptions", "lineHighlight", "line", "lineOffset", "lineNumbers", "start", "commandLine", "filterOutput", "host", "prompt", "output", "user"], outputs: ["error", "load", "ready"] }] });
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvMarkdownContainer, decorators: [{
26
+ type: Component,
27
+ args: [{ selector: 'dsv-markdown-container', imports: [MarkdownComponent], template: "@if (data()) {\n <markdown\n class=\"markdown\"\n [data]=\"data()\"\n (click)=\"handleClick($event)\"\n (keydown)=\"handleClick($event)\"\n />\n}\n", styles: [":host{display:flex}\n"] }]
28
+ }], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }] } });
29
+
30
+ /**
31
+ * Generated bundle index. Do not edit.
32
+ */
33
+
34
+ export { DsvMarkdownContainer };
35
+ //# sourceMappingURL=ng-vagabond-lab-ng-dsv-ds-markdown.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-markdown.mjs","sources":["../../../projects/ng-dsv/ds/markdown/container/markdown.container.ts","../../../projects/ng-dsv/ds/markdown/container/markdown.container.html","../../../projects/ng-dsv/ds/markdown/ng-vagabond-lab-ng-dsv-ds-markdown.ts"],"sourcesContent":["import { Component, inject, input } from '@angular/core';\nimport { RouterService } from '@ng-vagabond-lab/ng-dsv/router';\nimport { MarkdownComponent } from 'ngx-markdown';\n\n@Component({\n selector: 'dsv-markdown-container',\n imports: [MarkdownComponent],\n templateUrl: './markdown.container.html',\n styleUrl: './markdown.container.scss',\n})\nexport class DsvMarkdownContainer {\n readonly routerService = inject(RouterService);\n\n readonly data = input<string | undefined>('');\n\n handleClick(event: MouseEvent | KeyboardEvent) {\n const target = event.target as HTMLElement;\n const anchor = target.closest('a');\n\n if (anchor) {\n const href = anchor.getAttribute('href');\n if (href?.startsWith('/')) {\n event.preventDefault();\n event.stopPropagation();\n this.routerService.router.navigate([href]);\n }\n }\n }\n}\n","@if (data()) {\n <markdown\n class=\"markdown\"\n [data]=\"data()\"\n (click)=\"handleClick($event)\"\n (keydown)=\"handleClick($event)\"\n />\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAUa,oBAAoB,CAAA;AACpB,IAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IAErC,IAAI,GAAG,KAAK,CAAqB,EAAE;6EAAC;AAE7C,IAAA,WAAW,CAAC,KAAiC,EAAA;AACzC,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;QAElC,IAAI,MAAM,EAAE;YACR,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;AACxC,YAAA,IAAI,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE;gBACvB,KAAK,CAAC,cAAc,EAAE;gBACtB,KAAK,CAAC,eAAe,EAAE;gBACvB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;YAC9C;QACJ;IACJ;uGAjBS,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,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,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVjC,uLAQA,EAAA,MAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDFc,iBAAiB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,0BAAA,EAAA,yBAAA,EAAA,OAAA,EAAA,OAAA,EAAA,cAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,MAAA,EAAA,YAAA,EAAA,aAAA,EAAA,OAAA,EAAA,aAAA,EAAA,cAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAIlB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;+BACI,wBAAwB,EAAA,OAAA,EACzB,CAAC,iBAAiB,CAAC,EAAA,QAAA,EAAA,uLAAA,EAAA,MAAA,EAAA,CAAA,uBAAA,CAAA,EAAA;;;AENhC;;AAEG;;;;"}
@@ -10,10 +10,10 @@ class DsvMenuButtonComponent {
10
10
  doToogleMenu() {
11
11
  this.menuService.toogleMenu();
12
12
  }
13
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvMenuButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.3", type: DsvMenuButtonComponent, isStandalone: true, selector: "dsv-menu-button", ngImport: i0, template: "<dsv-button\n class=\"dsv-menu-button\"\n icon=\"ri-menu-line\"\n color=\"inherit\"\n (callback)=\"doToogleMenu()\"\n [noHover]=\"true\"\n></dsv-button>\n", styles: [":host{display:flex}@media only screen and (min-width:1001px){:host{display:none!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DsvButtonComponent, selector: "dsv-button", inputs: ["libelle", "routerLink", "icon", "iconEnd", "disabled", "noHover", "type", "prevent"], outputs: ["callback"] }] });
13
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvMenuButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: DsvMenuButtonComponent, isStandalone: true, selector: "dsv-menu-button", ngImport: i0, template: "<dsv-button\n class=\"dsv-menu-button\"\n icon=\"ri-menu-line\"\n color=\"inherit\"\n (callback)=\"doToogleMenu()\"\n [noHover]=\"true\"\n></dsv-button>\n", styles: [":host{display:flex}@media only screen and (min-width:1001px){:host{display:none!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DsvButtonComponent, selector: "dsv-button", inputs: ["libelle", "routerLink", "icon", "iconEnd", "disabled", "noHover", "type", "prevent"], outputs: ["callback"] }] });
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvMenuButtonComponent, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvMenuButtonComponent, decorators: [{
17
17
  type: Component,
18
18
  args: [{ selector: 'dsv-menu-button', imports: [CommonModule, DsvButtonComponent], template: "<dsv-button\n class=\"dsv-menu-button\"\n icon=\"ri-menu-line\"\n color=\"inherit\"\n (callback)=\"doToogleMenu()\"\n [noHover]=\"true\"\n></dsv-button>\n", styles: [":host{display:flex}@media only screen and (min-width:1001px){:host{display:none!important}}\n"] }]
19
19
  }] });
@@ -63,10 +63,10 @@ class DsvMenuContextualComponent {
63
63
  toogleMenu() {
64
64
  this.visible.set(!this.visible());
65
65
  }
66
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvMenuContextualComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
67
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: DsvMenuContextualComponent, isStandalone: true, selector: "dsv-menu-contextual", inputs: { buttonClick: { classPropertyName: "buttonClick", publicName: "buttonClick", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callback: "callback", callbackClose: "callbackClose" }, host: { listeners: { "document:click": "onClick($event)", "document:contextmenu": "onContextMenu($event)" } }, ngImport: i0, template: "<ng-content></ng-content>\n<div\n class=\"context-menu\"\n [class.visible]=\"visible()\"\n>\n @if (options().length > 0) {\n <ul>\n @for (option of options(); track option.id) {\n @if (option.divider) {\n <hr />\n }\n <li\n [class]=\"'text ' + option.color\"\n (click)=\"onOptionClick($event, option.id)\"\n >\n @if (option.icon) {\n <i [class]=\"option.icon\"></i>\n }\n {{ option.text }}\n </li>\n }\n </ul>\n } @else {\n <ng-content select=\".contextual\" />\n }\n</div>\n", styles: [":host{position:relative;display:inline-block}.context-menu{position:absolute;background-color:var(--background-card);border:1px solid var(--border);box-shadow:2px 2px 10px #0000001a;z-index:1;margin-top:5px;opacity:0;max-height:0;overflow:hidden;transform:translateY(-10px);transition:max-height .3s ease,opacity .3s ease,visibility .3s ease,transform .3s ease}.context-menu.visible{max-height:1000px;opacity:1;transform:translateY(0)}.context-menu ul{list-style:none;margin:0;padding:0;white-space:nowrap}.context-menu ul>hr{margin:5px 0 3px;padding:0}.context-menu ul li{padding:8px 16px;cursor:pointer}.context-menu ul li>i{margin-right:5px}.context-menu ul li:hover{background-color:var(--background)}\n"] });
66
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvMenuContextualComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
67
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DsvMenuContextualComponent, isStandalone: true, selector: "dsv-menu-contextual", inputs: { buttonClick: { classPropertyName: "buttonClick", publicName: "buttonClick", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callback: "callback", callbackClose: "callbackClose" }, host: { listeners: { "document:click": "onClick($event)", "document:contextmenu": "onContextMenu($event)" } }, ngImport: i0, template: "<ng-content></ng-content>\n<div\n class=\"context-menu\"\n [class.visible]=\"visible()\"\n>\n @if (options().length > 0) {\n <ul>\n @for (option of options(); track option.id) {\n @if (option.divider) {\n <hr />\n }\n <li\n [class]=\"'text ' + option.color\"\n (click)=\"onOptionClick($event, option.id)\"\n >\n @if (option.icon) {\n <i [class]=\"option.icon\"></i>\n }\n {{ option.text }}\n </li>\n }\n </ul>\n } @else {\n <ng-content select=\".contextual\" />\n }\n</div>\n", styles: [":host{position:relative;display:inline-block}.context-menu{position:absolute;background-color:var(--background-card);border:1px solid var(--border);box-shadow:2px 2px 10px #0000001a;z-index:1;margin-top:5px;opacity:0;max-height:0;overflow:hidden;transform:translateY(-10px);transition:max-height .3s ease,opacity .3s ease,visibility .3s ease,transform .3s ease}.context-menu.visible{max-height:1000px;opacity:1;transform:translateY(0)}.context-menu ul{list-style:none;margin:0;padding:0;white-space:nowrap}.context-menu ul>hr{margin:5px 0 3px;padding:0}.context-menu ul li{padding:8px 16px;cursor:pointer}.context-menu ul li>i{margin-right:5px}.context-menu ul li:hover{background-color:var(--background)}\n"] });
68
68
  }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvMenuContextualComponent, decorators: [{
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvMenuContextualComponent, decorators: [{
70
70
  type: Component,
71
71
  args: [{ selector: 'dsv-menu-contextual', host: {
72
72
  '(document:click)': 'onClick($event)',
@@ -105,10 +105,10 @@ class DsvMenuComponent {
105
105
  this.menuService.toogleMenu();
106
106
  }
107
107
  }
108
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
109
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.3", type: DsvMenuComponent, isStandalone: true, selector: "dsv-menu", inputs: { showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "document:click": "onClickOutside($event)" } }, ngImport: i0, template: "<dsv-container>\n <ng-content></ng-content>\n</dsv-container>\n<div class=\"footer\">\n <ng-content select=\".footer\"></ng-content>\n</div>\n", styles: [":host{display:flex;flex-direction:column;overflow:auto;scrollbar-width:thin;background-color:var(--background-card);color:var(--text);width:240px;transform:translate(0)!important}:host.open{transform:translate(0)!important}:host .footer{display:flex;align-items:center;justify-content:center;padding:10px}@media only screen and (max-width:1000px){:host{position:fixed;height:-webkit-fill-available;z-index:11;transform:translate(-100%)!important;transition:transform .3s ease-in-out}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DsvContainerComponent, selector: "dsv-container", inputs: ["column"] }] });
108
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
109
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: DsvMenuComponent, isStandalone: true, selector: "dsv-menu", inputs: { showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "document:click": "onClickOutside($event)" } }, ngImport: i0, template: "<dsv-container>\n <ng-content></ng-content>\n</dsv-container>\n<div class=\"footer\">\n <ng-content select=\".footer\"></ng-content>\n</div>\n", styles: [":host{display:flex;flex-direction:column;overflow:auto;scrollbar-width:thin;background-color:var(--background-card);color:var(--text);width:240px;transform:translate(0)!important}:host.open{transform:translate(0)!important}:host .footer{display:flex;align-items:center;justify-content:center;padding:10px}@media only screen and (max-width:1000px){:host{position:fixed;height:-webkit-fill-available;z-index:11;transform:translate(-100%)!important;transition:transform .3s ease-in-out}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DsvContainerComponent, selector: "dsv-container", inputs: ["column"] }] });
110
110
  }
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: DsvMenuComponent, decorators: [{
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DsvMenuComponent, decorators: [{
112
112
  type: Component,
113
113
  args: [{ selector: 'dsv-menu', imports: [CommonModule, DsvContainerComponent], host: {
114
114
  '(document:click)': 'onClickOutside($event)',
@@ -124,10 +124,10 @@ class MenuService {
124
124
  closeMenu() {
125
125
  this.isMenuOpen.set(false);
126
126
  }
127
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: MenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
128
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: MenuService, providedIn: 'root' });
127
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: MenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
128
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: MenuService, providedIn: 'root' });
129
129
  }
130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: MenuService, decorators: [{
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: MenuService, decorators: [{
131
131
  type: Injectable,
132
132
  args: [{
133
133
  providedIn: 'root',