@arsedizioni/ars-utils 22.7.5 → 22.7.7

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 (67) hide show
  1. package/fesm2022/arsedizioni-ars-utils-clipper.common.mjs +18 -15
  2. package/fesm2022/arsedizioni-ars-utils-clipper.common.mjs.map +1 -1
  3. package/fesm2022/{arsedizioni-ars-utils-clipper.ui-document.component-BKjGXtXa.mjs → arsedizioni-ars-utils-clipper.ui-document.component-vI7C4i2r.mjs} +29 -14
  4. package/fesm2022/arsedizioni-ars-utils-clipper.ui-document.component-vI7C4i2r.mjs.map +1 -0
  5. package/fesm2022/arsedizioni-ars-utils-clipper.ui-document.component-xjm4mdUv.mjs +1593 -0
  6. package/fesm2022/arsedizioni-ars-utils-clipper.ui-document.component-xjm4mdUv.mjs.map +1 -0
  7. package/fesm2022/arsedizioni-ars-utils-clipper.ui-references.component-CBuJnNIf.mjs +806 -0
  8. package/fesm2022/arsedizioni-ars-utils-clipper.ui-references.component-CBuJnNIf.mjs.map +1 -0
  9. package/fesm2022/{arsedizioni-ars-utils-clipper.ui-references.component-CEA_wJTS.mjs → arsedizioni-ars-utils-clipper.ui-references.component-DYojmfsw.mjs} +4 -4
  10. package/fesm2022/{arsedizioni-ars-utils-clipper.ui-references.component-CEA_wJTS.mjs.map → arsedizioni-ars-utils-clipper.ui-references.component-DYojmfsw.mjs.map} +1 -1
  11. package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs +359 -77
  12. package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs.map +1 -1
  13. package/fesm2022/arsedizioni-ars-utils-core.date.mjs +6 -6
  14. package/fesm2022/arsedizioni-ars-utils-core.markdown.mjs +3 -3
  15. package/fesm2022/arsedizioni-ars-utils-core.mjs +48 -48
  16. package/fesm2022/arsedizioni-ars-utils-core.validators.mjs +42 -42
  17. package/fesm2022/arsedizioni-ars-utils-evolution.common.mjs +15 -15
  18. package/fesm2022/arsedizioni-ars-utils-support.common.mjs +9 -9
  19. package/fesm2022/arsedizioni-ars-utils-ui.controls.date.mjs +6 -6
  20. package/fesm2022/arsedizioni-ars-utils-ui.controls.mjs +9 -9
  21. package/fesm2022/arsedizioni-ars-utils-ui.controls.tree.mjs +3 -3
  22. package/fesm2022/arsedizioni-ars-utils-ui.dialogs.auth.mjs +18 -18
  23. package/fesm2022/arsedizioni-ars-utils-ui.dialogs.mjs +12 -12
  24. package/fesm2022/arsedizioni-ars-utils-ui.dialogs.prompt.mjs +9 -9
  25. package/fesm2022/arsedizioni-ars-utils-ui.dialogs.select.mjs +15 -15
  26. package/fesm2022/arsedizioni-ars-utils-ui.files.mjs +12 -12
  27. package/fesm2022/arsedizioni-ars-utils-ui.filters.mjs +3 -3
  28. package/fesm2022/arsedizioni-ars-utils-ui.help.mjs +9 -9
  29. package/fesm2022/arsedizioni-ars-utils-ui.mjs +61 -61
  30. package/fesm2022/arsedizioni-ars-utils-ui.navigation.mjs +3 -3
  31. package/fesm2022/arsedizioni-ars-utils-ui.notifications.mjs +6 -6
  32. package/fesm2022/arsedizioni-ars-utils-ui.oauth.mjs +6 -6
  33. package/fesm2022/arsedizioni-ars-utils-ui.paginator.mjs +3 -3
  34. package/fesm2022/arsedizioni-ars-utils-ui.shell.mjs +9 -9
  35. package/fesm2022/arsedizioni-ars-utils-ui.tinymce.mjs +9 -9
  36. package/package.json +1 -1
  37. package/types/arsedizioni-ars-utils-clipper.common.d.ts +34 -0
  38. package/types/arsedizioni-ars-utils-clipper.common.d.ts.map +1 -0
  39. package/types/arsedizioni-ars-utils-clipper.ui.d.ts +108 -3
  40. package/types/arsedizioni-ars-utils-clipper.ui.d.ts.map +1 -0
  41. package/types/arsedizioni-ars-utils-core.d.ts.map +1 -0
  42. package/types/arsedizioni-ars-utils-core.date.d.ts.map +1 -0
  43. package/types/arsedizioni-ars-utils-core.markdown.d.ts.map +1 -0
  44. package/types/arsedizioni-ars-utils-core.validators.d.ts.map +1 -0
  45. package/types/arsedizioni-ars-utils-evolution.common.d.ts.map +1 -0
  46. package/types/arsedizioni-ars-utils-support.common.d.ts.map +1 -0
  47. package/types/arsedizioni-ars-utils-ui.controls.d.ts +1 -1
  48. package/types/arsedizioni-ars-utils-ui.controls.d.ts.map +1 -0
  49. package/types/arsedizioni-ars-utils-ui.controls.date.d.ts.map +1 -0
  50. package/types/arsedizioni-ars-utils-ui.controls.tree.d.ts.map +1 -0
  51. package/types/arsedizioni-ars-utils-ui.d.ts.map +1 -0
  52. package/types/arsedizioni-ars-utils-ui.dialogs.auth.d.ts.map +1 -0
  53. package/types/arsedizioni-ars-utils-ui.dialogs.d.ts.map +1 -0
  54. package/types/arsedizioni-ars-utils-ui.dialogs.prompt.d.ts.map +1 -0
  55. package/types/arsedizioni-ars-utils-ui.dialogs.select.d.ts.map +1 -0
  56. package/types/arsedizioni-ars-utils-ui.files.d.ts.map +1 -0
  57. package/types/arsedizioni-ars-utils-ui.filters.d.ts.map +1 -0
  58. package/types/arsedizioni-ars-utils-ui.help.d.ts.map +1 -0
  59. package/types/arsedizioni-ars-utils-ui.navigation.d.ts +1 -1
  60. package/types/arsedizioni-ars-utils-ui.navigation.d.ts.map +1 -0
  61. package/types/arsedizioni-ars-utils-ui.notifications.d.ts.map +1 -0
  62. package/types/arsedizioni-ars-utils-ui.oauth.d.ts.map +1 -0
  63. package/types/arsedizioni-ars-utils-ui.paginator.d.ts.map +1 -0
  64. package/types/arsedizioni-ars-utils-ui.shell.d.ts.map +1 -0
  65. package/types/arsedizioni-ars-utils-ui.tinymce.d.ts.map +1 -0
  66. package/types/arsedizioni-ars-utils.d.ts.map +1 -0
  67. package/fesm2022/arsedizioni-ars-utils-clipper.ui-document.component-BKjGXtXa.mjs.map +0 -1
@@ -6,9 +6,9 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, Rend
6
6
  import { outputToObservable, takeUntilDestroyed, toObservable, toSignal } from "@angular/core/rxjs-interop";
7
7
  import { FormField, FormRoot, form, maxLength, min } from "@angular/forms/signals";
8
8
  import { SignalsUtils } from "@arsedizioni/ars-utils/core.validators";
9
- import * as i2$1 from "@angular/material/badge";
9
+ import * as i2$2 from "@angular/material/badge";
10
10
  import { MatBadge, MatBadgeModule } from "@angular/material/badge";
11
- import * as i2$3 from "@angular/material/button";
11
+ import * as i2$4 from "@angular/material/button";
12
12
  import { MatButtonModule } from "@angular/material/button";
13
13
  import { MatButtonToggleModule } from "@angular/material/button-toggle";
14
14
  import * as i1 from "@angular/material/checkbox";
@@ -22,13 +22,13 @@ import * as i4 from "@angular/material/divider";
22
22
  import { MatDividerModule } from "@angular/material/divider";
23
23
  import * as i6$1 from "@angular/material/expansion";
24
24
  import { MatExpansionModule } from "@angular/material/expansion";
25
- import * as i2$2 from "@angular/material/form-field";
25
+ import * as i2$3 from "@angular/material/form-field";
26
26
  import { MatFormFieldModule } from "@angular/material/form-field";
27
27
  import * as i3$2 from "@angular/material/icon";
28
28
  import { MatIconModule } from "@angular/material/icon";
29
29
  import * as i3 from "@angular/material/input";
30
30
  import { MatInputModule } from "@angular/material/input";
31
- import * as i2$4 from "@angular/material/menu";
31
+ import * as i2$5 from "@angular/material/menu";
32
32
  import { MatMenuModule } from "@angular/material/menu";
33
33
  import { MatPaginator } from "@angular/material/paginator";
34
34
  import * as i16 from "@angular/material/progress-bar";
@@ -42,7 +42,7 @@ import { MatSlideToggleModule } from "@angular/material/slide-toggle";
42
42
  import * as i5$1 from "@angular/material/tooltip";
43
43
  import { MatTooltipModule } from "@angular/material/tooltip";
44
44
  import { ClipperAuthors, ClipperChannel, ClipperDocumentChangeReasons, ClipperFacet, ClipperMessages, ClipperModel, ClipperModule, ClipperQueryDocumentFlags, ClipperQueryReferencesMode, ClipperRegions, ClipperSearchFacetsSnapshot, ClipperSearchParams, ClipperSearchResult, ClipperSearchUtils, ClipperSectorTypes, ClipperSectors, ClipperSelectionMode, ClipperService, ClipperSort, ClipperSources, ClipperUtils } from "@arsedizioni/ars-utils/clipper.common";
45
- import { BroadcastService, DateFormat, DateInterval, DtoUtils, FormatPipe, ScreenService, SelectableModel, SystemUtils, ThemeService } from "@arsedizioni/ars-utils/core";
45
+ import { BroadcastService, DateFormat, DateInterval, DtoUtils, FormatPipe, SafeHtmlPipe, ScreenService, SelectableModel, SystemUtils, ThemeService } from "@arsedizioni/ars-utils/core";
46
46
  import * as i1$1 from "@arsedizioni/ars-utils/ui";
47
47
  import { FlexLayoutModule } from "@arsedizioni/ars-utils/ui";
48
48
  import { ButtonSelectorComponent, ButtonToggleComponent, ChipsSelectorComponent } from "@arsedizioni/ars-utils/ui.controls";
@@ -54,8 +54,21 @@ import { DialogService } from "@arsedizioni/ars-utils/ui.dialogs";
54
54
  import { SendToDialogComponent } from "@arsedizioni/ars-utils/ui.dialogs.select";
55
55
  import saveAs from "file-saver";
56
56
  import { MAT_DIALOG_DATA, MatDialogActions, MatDialogClose, MatDialogContent, MatDialogRef, MatDialogTitle } from "@angular/material/dialog";
57
+ import * as i2$1 from "@angular/material/tabs";
58
+ import { MatTabsModule } from "@angular/material/tabs";
59
+ import { MarkdownUtils } from "@arsedizioni/ars-utils/core.markdown";
57
60
  import * as i2 from "@angular/material/list";
58
61
  import { MatListModule } from "@angular/material/list";
62
+ var __defProp = Object.defineProperty;
63
+ var __exportAll = (all, no_symbols) => {
64
+ let target = {};
65
+ for (var name in all) __defProp(target, name, {
66
+ get: all[name],
67
+ enumerable: true
68
+ });
69
+ if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
70
+ return target;
71
+ };
59
72
  var ClipperDocumentMenuComponent = class ClipperDocumentMenuComponent {
60
73
  constructor() {
61
74
  this.rsMenuTrigger = viewChild("rsMenuTrigger", ...ngDevMode ? [{ debugName: "rsMenuTrigger" }] : /* istanbul ignore next */ []);
@@ -95,7 +108,10 @@ var ClipperDocumentMenuComponent = class ClipperDocumentMenuComponent {
95
108
  this.canManageBag = computed(() => this.selectionSource() === "bag", ...ngDevMode ? [{ debugName: "canManageBag" }] : /* istanbul ignore next */ []);
96
109
  this.canOpen = computed(() => this.canOpenDocument() && this.hasSingleSelection(), ...ngDevMode ? [{ debugName: "canOpen" }] : /* istanbul ignore next */ []);
97
110
  this.canSendByEmail = computed(() => this.getMultipleSelection().length > 0, ...ngDevMode ? [{ debugName: "canSendByEmail" }] : /* istanbul ignore next */ []);
98
- this.canExportCalendar = computed(() => this.getMultipleSelection().every((n) => n.model === ClipperModel.Scadenze || n.model === ClipperModel.Segnalazioni) && !this.isReference(), ...ngDevMode ? [{ debugName: "canExportCalendar" }] : /* istanbul ignore next */ []);
111
+ this.canExportCalendar = computed(() => {
112
+ const items = this.getMultipleSelection();
113
+ return items.length > 0 && items.every((n) => n.model === ClipperModel.Scadenze || n.model === ClipperModel.Segnalazioni) && !this.isReference();
114
+ }, ...ngDevMode ? [{ debugName: "canExportCalendar" }] : /* istanbul ignore next */ []);
99
115
  this.canAddToWorkingDocuments = computed(() => {
100
116
  if (this.selectionSource() === "bag") return false;
101
117
  const items = this.getMultipleSelection();
@@ -107,11 +123,11 @@ var ClipperDocumentMenuComponent = class ClipperDocumentMenuComponent {
107
123
  }, ...ngDevMode ? [{ debugName: "canSaveAsPdf" }] : /* istanbul ignore next */ []);
108
124
  this.canSetAsRead = computed(() => {
109
125
  const items = this.getMultipleSelection();
110
- return this.isReadable() && (items.length > 1 || items.length === 1 && items[0].isRead !== true && ClipperUtils.isClipperModelReadable(this.isReadableModel() ?? items[0].model));
126
+ return this.isReadable() && (items.length > 1 || items.length === 1 && items[0].isRead !== true && ClipperUtils.isClipperModelReadable(this.isReadableModel() ?? items[0].model ?? ClipperModel.Unknown));
111
127
  }, ...ngDevMode ? [{ debugName: "canSetAsRead" }] : /* istanbul ignore next */ []);
112
128
  this.canSetAsUnread = computed(() => {
113
129
  const items = this.getMultipleSelection();
114
- return this.isReadable() && (items.length > 1 || items.length === 1 && items[0].isRead === true && ClipperUtils.isClipperModelReadable(this.isReadableModel() ?? items[0].model));
130
+ return this.isReadable() && (items.length > 1 || items.length === 1 && items[0].isRead === true && ClipperUtils.isClipperModelReadable(this.isReadableModel() ?? items[0].model ?? ClipperModel.Unknown));
115
131
  }, ...ngDevMode ? [{ debugName: "canSetAsUnread" }] : /* istanbul ignore next */ []);
116
132
  this.canAccessRS = computed(() => {
117
133
  const items = this.getMultipleSelection();
@@ -163,7 +179,7 @@ var ClipperDocumentMenuComponent = class ClipperDocumentMenuComponent {
163
179
  static {
164
180
  this.ɵfac = i0.ɵɵngDeclareFactory({
165
181
  minVersion: "12.0.0",
166
- version: "22.2.2",
182
+ version: "22.2.3",
167
183
  ngImport: i0,
168
184
  type: ClipperDocumentMenuComponent,
169
185
  deps: [],
@@ -173,7 +189,7 @@ var ClipperDocumentMenuComponent = class ClipperDocumentMenuComponent {
173
189
  static {
174
190
  this.ɵcmp = i0.ɵɵngDeclareComponent({
175
191
  minVersion: "17.0.0",
176
- version: "22.2.2",
192
+ version: "22.2.3",
177
193
  type: ClipperDocumentMenuComponent,
178
194
  isStandalone: true,
179
195
  selector: "clipper-document-menu",
@@ -294,7 +310,7 @@ var ClipperDocumentMenuComponent = class ClipperDocumentMenuComponent {
294
310
  }
295
311
  ],
296
312
  ngImport: i0,
297
- template: "@if (canDeselectAll()) {\r\n<button mat-menu-item (click)=\"parent().selection?.clear()\" [attr.aria-label]=\"'Deseleziona tutti'\"\r\n (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>clear</mat-icon>Deseleziona tutti\r\n</button>\r\n} @else if (canManageBag()) {\r\n<button mat-menu-item (click)=\"parent().openBag()\" [attr.aria-label]=\"'Gestisci documenti di lavoro'\"\r\n (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Gestisci documenti di lavoro\r\n</button>\r\n}\r\n@if (canOpen()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Apri documento'\" (mouseenter)=\"showSubMenu()\"\r\n (click)=\"open(getSingleSelection())\">\r\n <mat-icon></mat-icon>Apri\r\n</button>\r\n<button mat-menu-item [attr.aria-label]=\"'Apri documento in una nuova finestra'\" (mouseenter)=\"showSubMenu()\"\r\n (click)=\"open(getSingleSelection(), true)\">\r\n <mat-icon>open_in_new</mat-icon>Apri in una nuova finestra...\r\n</button>\r\n}\r\n@if (canAddToWorkingDocuments()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Aggiungi ai documenti di lavoro'\"\r\n (click)=\"parent().addItemsToBag(getMultipleSelection())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Aggiungi ai documenti di lavoro\r\n</button>\r\n}\r\n@if(canPrint()) {\r\n<button mat-menu-item (click)=\"parent().print()\" [attr.aria-label]=\"'Stampa documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>print</mat-icon>\r\n <div>Stampa</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+P</div>\r\n </div>\r\n</button>\r\n}\r\n@if(canFind()) {\r\n<button mat-menu-item (click)=\"parent().find()\" [attr.aria-label]=\"'Trova nel documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>find_in_page</mat-icon>\r\n <div>Trova nel documento</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+F</div>\r\n </div>\r\n</button>\r\n}\r\n@if (canSendByEmail()) {\r\n<button mat-menu-item (click)=\"parent().sendItemsTo(getMultipleSelection())\"\r\n [attr.aria-label]=\"'Invia documento per email'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>send</mat-icon>Invia per email\r\n</button>\r\n}\r\n@if (canSaveAsPdf()) {\r\n<button mat-menu-item (click)=\"parent().exportPdf(getSingleSelection())\" (mouseenter)=\"showSubMenu()\"\r\n [attr.aria-label]=\"'Salva documento in pdf'\">\r\n <mat-icon>save_alt</mat-icon>Salva in pdf\r\n</button>\r\n}\r\n@if(canOpen()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Genera un link permanente da utilizzare esternamente'\"\r\n (click)=\"parent().showLink(getSingleSelection())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>link</mat-icon>Link\r\n</button>\r\n<button mat-menu-item [attr.aria-label]=\"'Copia metadati negli appunti'\"\r\n (click)=\"parent().copyMetadataToClipboard(getSingleSelection())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>content_copy</mat-icon>Copia metadati\r\n</button>\r\n}\r\n@if (!isReference() && canOpen()) {\r\n<button mat-menu-item [matMenuTriggerFor]=\"linksMenu\" #linksMenuTrigger=\"matMenuTrigger\"\r\n (mouseenter)=\"showSubMenu(linksMenuTrigger)\" (mouseleave)=\"resetSubMenu(linksMenuTrigger)\">\r\n <mat-icon>compare_arrows</mat-icon>Collegamenti\r\n</button>\r\n<mat-menu #linksMenu=\"matMenu\">\r\n @if (!isReference() && canOpen()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti richiamati da questo'\"\r\n (click)=\"openReferences(getSingleSelection(), 1)\">\r\n Documenti richiamati\r\n </button>\r\n }\r\n @if (!isReference() && canOpen()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti che richiamano questo'\"\r\n (click)=\"openReferences(getSingleSelection(), 2)\">\r\n Documenti che richiamano\r\n </button>\r\n }\r\n @if (!isReference() && isLawInForce() && canOpen()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra giurisprudenza'\" (click)=\"openReferences(getSingleSelection(), 4)\">\r\n Juris\r\n </button>\r\n }\r\n @if (!isReference() && isLawInForce() && canOpen()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra modifiche normative'\"\r\n (click)=\"openReferences(getSingleSelection(), 3)\">\r\n Modifiche\r\n </button>\r\n }\r\n</mat-menu>\r\n}\r\n@if (canExportCalendar()) {\r\n@if(useSelections()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Importa in Oultook (iCalandar)'\" (click)=\"parent().exportResults(2)\">\r\n <mat-icon>mail_outline</mat-icon>Importa in Outlook (iCalendar)\r\n</button>\r\n} @else if (item()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Importa in Oultook (iCalandar)'\"\r\n (click)=\"parent().exportItems([item().documentId], null, 2)\">\r\n <mat-icon>mail_outline</mat-icon>Importa in Outlook (iCalendar)\r\n</button>\r\n}\r\n}\r\n@if (canSetAsUnread()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come da leggere'\" (click)=\"setRead(false)\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>outlined_flag</mat-icon>Segna come da leggere\r\n</button>\r\n}\r\n@if (canSetAsRead()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come già letto'\" (click)=\"setRead(true)\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>flag</mat-icon>Segna come già letto\r\n</button>\r\n}\r\n\r\n\r\n@if (isLawInForce() && canOpen()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Mostra report'\" (click)=\"parent().report(getSingleSelection())\"\r\n (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>assignment</mat-icon>Report\r\n</button>\r\n}\r\n\r\n@if (canUseAIAssistant() && hasSingleSelection()) {\r\n<mat-divider></mat-divider>\r\n<button mat-menu-item matTooltip=\"Assistente IA\" [attr.aria-label]=\"'Assistente IA'\"\r\n [matMenuTriggerFor]=\"aiAssistantMenu\" #aiAssistantMenuTrigger=\"matMenuTrigger\"\r\n (mouseenter)=\"showSubMenu(aiAssistantMenuTrigger)\" (mouseleave)=\"resetSubMenu(aiAssistantMenuTrigger)\">\r\n <mat-icon>borg</mat-icon>\r\n Assistente IA\r\n</button>\r\n<mat-menu #aiAssistantMenu=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Mi riguarda?'\" (click)=\"parent().AI_concernMe(getSingleSelection())\">\r\n Mi riguarda?\r\n </button>\r\n <button mat-menu-item [attr.aria-label]=\"'Di che si tratta?'\" (click)=\"parent().AI_explain(getSingleSelection())\">\r\n Di che si tratta?\r\n </button>\r\n @if (canUseAIEditor) {\r\n <button mat-menu-item [attr.aria-label]=\"'Genera commento tecnico'\"\r\n (click)=\"parent().AI_comment(getSingleSelection())\">\r\n Genera commento tecnico\r\n </button>\r\n <button mat-menu-item [attr.aria-label]=\"'Genera news'\" (click)=\"parent().AI_news(getSingleSelection())\">\r\n Genera news\r\n </button>\r\n }\r\n</mat-menu>\r\n}\r\n\r\n@if (canAccessRS()) {\r\n<mat-divider></mat-divider>\r\n<button mat-menu-item matTooltip=\"Registro & Scadenzario\" [attr.aria-label]=\"'Opzioni di Registro & Scadenzario'\"\r\n [matMenuTriggerFor]=\"rsMenu\" #rsMenuTrigger=\"matMenuTrigger\" (mouseenter)=\"showSubMenu(rsMenuTrigger)\"\r\n (mouseleave)=\"resetSubMenu(rsMenuTrigger)\">\r\n <mat-icon>alarm_on</mat-icon>\r\n Registro e scadenzario\r\n</button>\r\n<mat-menu #rsMenu=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova legge'\" (click)=\"parent().RS_newLaw(getMultipleSelection())\">\r\n Nuova legge\r\n </button>\r\n @if (hasSingleSelection()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova attività'\" (click)=\"parent().RS_newActivity(getSingleSelection())\">\r\n Nuova attività\r\n </button>\r\n }\r\n @if (hasSingleSelection()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Report utilizzo norma'\"\r\n (click)=\"parent().RS_usageReport(getSingleSelection())\">\r\n Report utilizzo norma\r\n </button>\r\n }\r\n</mat-menu>\r\n}",
313
+ template: "@if (canDeselectAll()) {\r\n<button mat-menu-item (click)=\"parent().selection?.clear()\" [attr.aria-label]=\"'Deseleziona tutti'\"\r\n (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>clear</mat-icon>Deseleziona tutti\r\n</button>\r\n} @else if (canManageBag()) {\r\n<button mat-menu-item (click)=\"parent().openBag()\" [attr.aria-label]=\"'Gestisci documenti di lavoro'\"\r\n (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Gestisci documenti di lavoro\r\n</button>\r\n}\r\n@if (canOpen()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Apri documento'\" (mouseenter)=\"showSubMenu()\"\r\n (click)=\"open(getSingleSelection())\">\r\n <mat-icon></mat-icon>Apri\r\n</button>\r\n}\r\n@if( this.hasSingleSelection()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Apri documento in una nuova finestra'\" (mouseenter)=\"showSubMenu()\"\r\n (click)=\"open(getSingleSelection(), true)\">\r\n <mat-icon>open_in_new</mat-icon>Apri in una nuova finestra...\r\n</button>\r\n}\r\n@if (canAddToWorkingDocuments()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Aggiungi ai documenti di lavoro'\"\r\n (click)=\"parent().addItemsToBag(getMultipleSelection())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Aggiungi ai documenti di lavoro\r\n</button>\r\n}\r\n@if(canPrint()) {\r\n<button mat-menu-item (click)=\"parent().print()\" [attr.aria-label]=\"'Stampa documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>print</mat-icon>\r\n <div>Stampa</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+P</div>\r\n </div>\r\n</button>\r\n}\r\n@if(canFind()) {\r\n<button mat-menu-item (click)=\"parent().find()\" [attr.aria-label]=\"'Trova nel documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>find_in_page</mat-icon>\r\n <div>Trova nel documento</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+F</div>\r\n </div>\r\n</button>\r\n}\r\n@if (canSendByEmail()) {\r\n<button mat-menu-item (click)=\"parent().sendItemsTo(getMultipleSelection())\"\r\n [attr.aria-label]=\"'Invia documento per email'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>send</mat-icon>Invia per email\r\n</button>\r\n}\r\n@if (canSaveAsPdf()) {\r\n<button mat-menu-item (click)=\"parent().exportPdf(getSingleSelection())\" (mouseenter)=\"showSubMenu()\"\r\n [attr.aria-label]=\"'Salva documento in pdf'\">\r\n <mat-icon>save_alt</mat-icon>Salva in pdf\r\n</button>\r\n}\r\n@if( this.hasSingleSelection()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Genera un link permanente da utilizzare esternamente'\"\r\n (click)=\"parent().showLink(getSingleSelection())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>link</mat-icon>Link\r\n</button>\r\n<button mat-menu-item [attr.aria-label]=\"'Copia metadati negli appunti'\"\r\n (click)=\"parent().copyMetadataToClipboard(getSingleSelection())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>content_copy</mat-icon>Copia metadati\r\n</button>\r\n}\r\n@if (!isReference() && this.hasSingleSelection()) {\r\n<button mat-menu-item [matMenuTriggerFor]=\"linksMenu\" #linksMenuTrigger=\"matMenuTrigger\"\r\n (mouseenter)=\"showSubMenu(linksMenuTrigger)\" (mouseleave)=\"resetSubMenu(linksMenuTrigger)\">\r\n <mat-icon>compare_arrows</mat-icon>Collegamenti\r\n</button>\r\n<mat-menu #linksMenu=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti richiamati da questo'\"\r\n (click)=\"openReferences(getSingleSelection(), 1)\">\r\n Documenti richiamati\r\n </button>\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti che richiamano questo'\"\r\n (click)=\"openReferences(getSingleSelection(), 2)\">\r\n Documenti che richiamano\r\n </button>\r\n @if (isLawInForce()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra giurisprudenza'\" (click)=\"openReferences(getSingleSelection(), 4)\">\r\n Juris\r\n </button>\r\n }\r\n @if (isLawInForce()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra modifiche normative'\"\r\n (click)=\"openReferences(getSingleSelection(), 3)\">\r\n Modifiche\r\n </button>\r\n }\r\n</mat-menu>\r\n}\r\n@if (canExportCalendar()) {\r\n@if(useSelections()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Importa in Oultook (iCalandar)'\" (click)=\"parent().exportResults(2)\">\r\n <mat-icon>mail_outline</mat-icon>Importa in Outlook (iCalendar)\r\n</button>\r\n} @else if (item()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Importa in Oultook (iCalandar)'\"\r\n (click)=\"parent().exportItems([item()?.documentId ?? ''], undefined, 2)\">\r\n <mat-icon>mail_outline</mat-icon>Importa in Outlook (iCalendar)\r\n</button>\r\n}\r\n}\r\n@if (canSetAsUnread()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come da leggere'\" (click)=\"setRead(false)\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>outlined_flag</mat-icon>Segna come da leggere\r\n</button>\r\n}\r\n@if (canSetAsRead()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come già letto'\" (click)=\"setRead(true)\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>flag</mat-icon>Segna come già letto\r\n</button>\r\n}\r\n\r\n\r\n@if (isLawInForce() && this.hasSingleSelection()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Mostra report'\" (click)=\"parent().report(getSingleSelection())\"\r\n (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>assignment</mat-icon>Report\r\n</button>\r\n}\r\n\r\n@if (canUseAIAssistant() && hasSingleSelection()) {\r\n<mat-divider></mat-divider>\r\n<button mat-menu-item matTooltip=\"Assistente IA\" [attr.aria-label]=\"'Assistente IA'\"\r\n [matMenuTriggerFor]=\"aiAssistantMenu\" #aiAssistantMenuTrigger=\"matMenuTrigger\"\r\n (mouseenter)=\"showSubMenu(aiAssistantMenuTrigger)\" (mouseleave)=\"resetSubMenu(aiAssistantMenuTrigger)\">\r\n <mat-icon>borg</mat-icon>\r\n Assistente IA\r\n</button>\r\n<mat-menu #aiAssistantMenu=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Mi riguarda?'\" (click)=\"parent().AI_concernMe(getSingleSelection())\">\r\n Mi riguarda?\r\n </button>\r\n <button mat-menu-item [attr.aria-label]=\"'Di che si tratta?'\" (click)=\"parent().AI_explain(getSingleSelection())\">\r\n Di che si tratta?\r\n </button>\r\n @if (canUseAIEditor) {\r\n <button mat-menu-item [attr.aria-label]=\"'Genera commento tecnico'\"\r\n (click)=\"parent().AI_comment(getSingleSelection())\">\r\n Genera commento tecnico\r\n </button>\r\n <button mat-menu-item [attr.aria-label]=\"'Genera news'\" (click)=\"parent().AI_news(getSingleSelection())\">\r\n Genera news\r\n </button>\r\n }\r\n</mat-menu>\r\n}\r\n\r\n@if (canAccessRS()) {\r\n<mat-divider></mat-divider>\r\n<button mat-menu-item matTooltip=\"Registro & Scadenzario\" [attr.aria-label]=\"'Opzioni di Registro & Scadenzario'\"\r\n [matMenuTriggerFor]=\"rsMenu\" #rsMenuTrigger=\"matMenuTrigger\" (mouseenter)=\"showSubMenu(rsMenuTrigger)\"\r\n (mouseleave)=\"resetSubMenu(rsMenuTrigger)\">\r\n <mat-icon>alarm_on</mat-icon>\r\n Registro e scadenzario\r\n</button>\r\n<mat-menu #rsMenu=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova legge'\" (click)=\"parent().RS_newLaw(getMultipleSelection())\">\r\n Nuova legge\r\n </button>\r\n @if (hasSingleSelection()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova attività'\" (click)=\"parent().RS_newActivity(getSingleSelection())\">\r\n Nuova attività\r\n </button>\r\n }\r\n @if (hasSingleSelection()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Report utilizzo norma'\"\r\n (click)=\"parent().RS_usageReport(getSingleSelection())\">\r\n Report utilizzo norma\r\n </button>\r\n }\r\n</mat-menu>\r\n}",
298
314
  styles: [""],
299
315
  dependencies: [
300
316
  {
@@ -413,7 +429,7 @@ var ClipperDocumentMenuComponent = class ClipperDocumentMenuComponent {
413
429
  },
414
430
  {
415
431
  kind: "component",
416
- type: i2$4.MatMenu,
432
+ type: i2$5.MatMenu,
417
433
  selector: "mat-menu",
418
434
  inputs: [
419
435
  "backdropClass",
@@ -432,7 +448,7 @@ var ClipperDocumentMenuComponent = class ClipperDocumentMenuComponent {
432
448
  },
433
449
  {
434
450
  kind: "component",
435
- type: i2$4.MatMenuItem,
451
+ type: i2$5.MatMenuItem,
436
452
  selector: "[mat-menu-item]",
437
453
  inputs: [
438
454
  "role",
@@ -444,7 +460,7 @@ var ClipperDocumentMenuComponent = class ClipperDocumentMenuComponent {
444
460
  },
445
461
  {
446
462
  kind: "directive",
447
- type: i2$4.MatMenuTrigger,
463
+ type: i2$5.MatMenuTrigger,
448
464
  selector: "[mat-menu-trigger-for], [matMenuTriggerFor]",
449
465
  inputs: [
450
466
  "mat-menu-trigger-for",
@@ -514,7 +530,7 @@ var ClipperDocumentMenuComponent = class ClipperDocumentMenuComponent {
514
530
  };
515
531
  i0.ɵɵngDeclareClassMetadata({
516
532
  minVersion: "12.0.0",
517
- version: "22.2.2",
533
+ version: "22.2.3",
518
534
  ngImport: i0,
519
535
  type: ClipperDocumentMenuComponent,
520
536
  decorators: [{
@@ -530,7 +546,7 @@ i0.ɵɵngDeclareClassMetadata({
530
546
  MatDividerModule,
531
547
  MatTooltipModule
532
548
  ],
533
- template: "@if (canDeselectAll()) {\r\n<button mat-menu-item (click)=\"parent().selection?.clear()\" [attr.aria-label]=\"'Deseleziona tutti'\"\r\n (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>clear</mat-icon>Deseleziona tutti\r\n</button>\r\n} @else if (canManageBag()) {\r\n<button mat-menu-item (click)=\"parent().openBag()\" [attr.aria-label]=\"'Gestisci documenti di lavoro'\"\r\n (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Gestisci documenti di lavoro\r\n</button>\r\n}\r\n@if (canOpen()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Apri documento'\" (mouseenter)=\"showSubMenu()\"\r\n (click)=\"open(getSingleSelection())\">\r\n <mat-icon></mat-icon>Apri\r\n</button>\r\n<button mat-menu-item [attr.aria-label]=\"'Apri documento in una nuova finestra'\" (mouseenter)=\"showSubMenu()\"\r\n (click)=\"open(getSingleSelection(), true)\">\r\n <mat-icon>open_in_new</mat-icon>Apri in una nuova finestra...\r\n</button>\r\n}\r\n@if (canAddToWorkingDocuments()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Aggiungi ai documenti di lavoro'\"\r\n (click)=\"parent().addItemsToBag(getMultipleSelection())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Aggiungi ai documenti di lavoro\r\n</button>\r\n}\r\n@if(canPrint()) {\r\n<button mat-menu-item (click)=\"parent().print()\" [attr.aria-label]=\"'Stampa documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>print</mat-icon>\r\n <div>Stampa</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+P</div>\r\n </div>\r\n</button>\r\n}\r\n@if(canFind()) {\r\n<button mat-menu-item (click)=\"parent().find()\" [attr.aria-label]=\"'Trova nel documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>find_in_page</mat-icon>\r\n <div>Trova nel documento</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+F</div>\r\n </div>\r\n</button>\r\n}\r\n@if (canSendByEmail()) {\r\n<button mat-menu-item (click)=\"parent().sendItemsTo(getMultipleSelection())\"\r\n [attr.aria-label]=\"'Invia documento per email'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>send</mat-icon>Invia per email\r\n</button>\r\n}\r\n@if (canSaveAsPdf()) {\r\n<button mat-menu-item (click)=\"parent().exportPdf(getSingleSelection())\" (mouseenter)=\"showSubMenu()\"\r\n [attr.aria-label]=\"'Salva documento in pdf'\">\r\n <mat-icon>save_alt</mat-icon>Salva in pdf\r\n</button>\r\n}\r\n@if(canOpen()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Genera un link permanente da utilizzare esternamente'\"\r\n (click)=\"parent().showLink(getSingleSelection())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>link</mat-icon>Link\r\n</button>\r\n<button mat-menu-item [attr.aria-label]=\"'Copia metadati negli appunti'\"\r\n (click)=\"parent().copyMetadataToClipboard(getSingleSelection())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>content_copy</mat-icon>Copia metadati\r\n</button>\r\n}\r\n@if (!isReference() && canOpen()) {\r\n<button mat-menu-item [matMenuTriggerFor]=\"linksMenu\" #linksMenuTrigger=\"matMenuTrigger\"\r\n (mouseenter)=\"showSubMenu(linksMenuTrigger)\" (mouseleave)=\"resetSubMenu(linksMenuTrigger)\">\r\n <mat-icon>compare_arrows</mat-icon>Collegamenti\r\n</button>\r\n<mat-menu #linksMenu=\"matMenu\">\r\n @if (!isReference() && canOpen()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti richiamati da questo'\"\r\n (click)=\"openReferences(getSingleSelection(), 1)\">\r\n Documenti richiamati\r\n </button>\r\n }\r\n @if (!isReference() && canOpen()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti che richiamano questo'\"\r\n (click)=\"openReferences(getSingleSelection(), 2)\">\r\n Documenti che richiamano\r\n </button>\r\n }\r\n @if (!isReference() && isLawInForce() && canOpen()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra giurisprudenza'\" (click)=\"openReferences(getSingleSelection(), 4)\">\r\n Juris\r\n </button>\r\n }\r\n @if (!isReference() && isLawInForce() && canOpen()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra modifiche normative'\"\r\n (click)=\"openReferences(getSingleSelection(), 3)\">\r\n Modifiche\r\n </button>\r\n }\r\n</mat-menu>\r\n}\r\n@if (canExportCalendar()) {\r\n@if(useSelections()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Importa in Oultook (iCalandar)'\" (click)=\"parent().exportResults(2)\">\r\n <mat-icon>mail_outline</mat-icon>Importa in Outlook (iCalendar)\r\n</button>\r\n} @else if (item()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Importa in Oultook (iCalandar)'\"\r\n (click)=\"parent().exportItems([item().documentId], null, 2)\">\r\n <mat-icon>mail_outline</mat-icon>Importa in Outlook (iCalendar)\r\n</button>\r\n}\r\n}\r\n@if (canSetAsUnread()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come da leggere'\" (click)=\"setRead(false)\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>outlined_flag</mat-icon>Segna come da leggere\r\n</button>\r\n}\r\n@if (canSetAsRead()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come già letto'\" (click)=\"setRead(true)\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>flag</mat-icon>Segna come già letto\r\n</button>\r\n}\r\n\r\n\r\n@if (isLawInForce() && canOpen()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Mostra report'\" (click)=\"parent().report(getSingleSelection())\"\r\n (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>assignment</mat-icon>Report\r\n</button>\r\n}\r\n\r\n@if (canUseAIAssistant() && hasSingleSelection()) {\r\n<mat-divider></mat-divider>\r\n<button mat-menu-item matTooltip=\"Assistente IA\" [attr.aria-label]=\"'Assistente IA'\"\r\n [matMenuTriggerFor]=\"aiAssistantMenu\" #aiAssistantMenuTrigger=\"matMenuTrigger\"\r\n (mouseenter)=\"showSubMenu(aiAssistantMenuTrigger)\" (mouseleave)=\"resetSubMenu(aiAssistantMenuTrigger)\">\r\n <mat-icon>borg</mat-icon>\r\n Assistente IA\r\n</button>\r\n<mat-menu #aiAssistantMenu=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Mi riguarda?'\" (click)=\"parent().AI_concernMe(getSingleSelection())\">\r\n Mi riguarda?\r\n </button>\r\n <button mat-menu-item [attr.aria-label]=\"'Di che si tratta?'\" (click)=\"parent().AI_explain(getSingleSelection())\">\r\n Di che si tratta?\r\n </button>\r\n @if (canUseAIEditor) {\r\n <button mat-menu-item [attr.aria-label]=\"'Genera commento tecnico'\"\r\n (click)=\"parent().AI_comment(getSingleSelection())\">\r\n Genera commento tecnico\r\n </button>\r\n <button mat-menu-item [attr.aria-label]=\"'Genera news'\" (click)=\"parent().AI_news(getSingleSelection())\">\r\n Genera news\r\n </button>\r\n }\r\n</mat-menu>\r\n}\r\n\r\n@if (canAccessRS()) {\r\n<mat-divider></mat-divider>\r\n<button mat-menu-item matTooltip=\"Registro & Scadenzario\" [attr.aria-label]=\"'Opzioni di Registro & Scadenzario'\"\r\n [matMenuTriggerFor]=\"rsMenu\" #rsMenuTrigger=\"matMenuTrigger\" (mouseenter)=\"showSubMenu(rsMenuTrigger)\"\r\n (mouseleave)=\"resetSubMenu(rsMenuTrigger)\">\r\n <mat-icon>alarm_on</mat-icon>\r\n Registro e scadenzario\r\n</button>\r\n<mat-menu #rsMenu=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova legge'\" (click)=\"parent().RS_newLaw(getMultipleSelection())\">\r\n Nuova legge\r\n </button>\r\n @if (hasSingleSelection()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova attività'\" (click)=\"parent().RS_newActivity(getSingleSelection())\">\r\n Nuova attività\r\n </button>\r\n }\r\n @if (hasSingleSelection()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Report utilizzo norma'\"\r\n (click)=\"parent().RS_usageReport(getSingleSelection())\">\r\n Report utilizzo norma\r\n </button>\r\n }\r\n</mat-menu>\r\n}"
549
+ template: "@if (canDeselectAll()) {\r\n<button mat-menu-item (click)=\"parent().selection?.clear()\" [attr.aria-label]=\"'Deseleziona tutti'\"\r\n (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>clear</mat-icon>Deseleziona tutti\r\n</button>\r\n} @else if (canManageBag()) {\r\n<button mat-menu-item (click)=\"parent().openBag()\" [attr.aria-label]=\"'Gestisci documenti di lavoro'\"\r\n (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Gestisci documenti di lavoro\r\n</button>\r\n}\r\n@if (canOpen()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Apri documento'\" (mouseenter)=\"showSubMenu()\"\r\n (click)=\"open(getSingleSelection())\">\r\n <mat-icon></mat-icon>Apri\r\n</button>\r\n}\r\n@if( this.hasSingleSelection()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Apri documento in una nuova finestra'\" (mouseenter)=\"showSubMenu()\"\r\n (click)=\"open(getSingleSelection(), true)\">\r\n <mat-icon>open_in_new</mat-icon>Apri in una nuova finestra...\r\n</button>\r\n}\r\n@if (canAddToWorkingDocuments()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Aggiungi ai documenti di lavoro'\"\r\n (click)=\"parent().addItemsToBag(getMultipleSelection())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Aggiungi ai documenti di lavoro\r\n</button>\r\n}\r\n@if(canPrint()) {\r\n<button mat-menu-item (click)=\"parent().print()\" [attr.aria-label]=\"'Stampa documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>print</mat-icon>\r\n <div>Stampa</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+P</div>\r\n </div>\r\n</button>\r\n}\r\n@if(canFind()) {\r\n<button mat-menu-item (click)=\"parent().find()\" [attr.aria-label]=\"'Trova nel documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>find_in_page</mat-icon>\r\n <div>Trova nel documento</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+F</div>\r\n </div>\r\n</button>\r\n}\r\n@if (canSendByEmail()) {\r\n<button mat-menu-item (click)=\"parent().sendItemsTo(getMultipleSelection())\"\r\n [attr.aria-label]=\"'Invia documento per email'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>send</mat-icon>Invia per email\r\n</button>\r\n}\r\n@if (canSaveAsPdf()) {\r\n<button mat-menu-item (click)=\"parent().exportPdf(getSingleSelection())\" (mouseenter)=\"showSubMenu()\"\r\n [attr.aria-label]=\"'Salva documento in pdf'\">\r\n <mat-icon>save_alt</mat-icon>Salva in pdf\r\n</button>\r\n}\r\n@if( this.hasSingleSelection()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Genera un link permanente da utilizzare esternamente'\"\r\n (click)=\"parent().showLink(getSingleSelection())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>link</mat-icon>Link\r\n</button>\r\n<button mat-menu-item [attr.aria-label]=\"'Copia metadati negli appunti'\"\r\n (click)=\"parent().copyMetadataToClipboard(getSingleSelection())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>content_copy</mat-icon>Copia metadati\r\n</button>\r\n}\r\n@if (!isReference() && this.hasSingleSelection()) {\r\n<button mat-menu-item [matMenuTriggerFor]=\"linksMenu\" #linksMenuTrigger=\"matMenuTrigger\"\r\n (mouseenter)=\"showSubMenu(linksMenuTrigger)\" (mouseleave)=\"resetSubMenu(linksMenuTrigger)\">\r\n <mat-icon>compare_arrows</mat-icon>Collegamenti\r\n</button>\r\n<mat-menu #linksMenu=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti richiamati da questo'\"\r\n (click)=\"openReferences(getSingleSelection(), 1)\">\r\n Documenti richiamati\r\n </button>\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti che richiamano questo'\"\r\n (click)=\"openReferences(getSingleSelection(), 2)\">\r\n Documenti che richiamano\r\n </button>\r\n @if (isLawInForce()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra giurisprudenza'\" (click)=\"openReferences(getSingleSelection(), 4)\">\r\n Juris\r\n </button>\r\n }\r\n @if (isLawInForce()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra modifiche normative'\"\r\n (click)=\"openReferences(getSingleSelection(), 3)\">\r\n Modifiche\r\n </button>\r\n }\r\n</mat-menu>\r\n}\r\n@if (canExportCalendar()) {\r\n@if(useSelections()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Importa in Oultook (iCalandar)'\" (click)=\"parent().exportResults(2)\">\r\n <mat-icon>mail_outline</mat-icon>Importa in Outlook (iCalendar)\r\n</button>\r\n} @else if (item()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Importa in Oultook (iCalandar)'\"\r\n (click)=\"parent().exportItems([item()?.documentId ?? ''], undefined, 2)\">\r\n <mat-icon>mail_outline</mat-icon>Importa in Outlook (iCalendar)\r\n</button>\r\n}\r\n}\r\n@if (canSetAsUnread()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come da leggere'\" (click)=\"setRead(false)\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>outlined_flag</mat-icon>Segna come da leggere\r\n</button>\r\n}\r\n@if (canSetAsRead()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come già letto'\" (click)=\"setRead(true)\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>flag</mat-icon>Segna come già letto\r\n</button>\r\n}\r\n\r\n\r\n@if (isLawInForce() && this.hasSingleSelection()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Mostra report'\" (click)=\"parent().report(getSingleSelection())\"\r\n (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>assignment</mat-icon>Report\r\n</button>\r\n}\r\n\r\n@if (canUseAIAssistant() && hasSingleSelection()) {\r\n<mat-divider></mat-divider>\r\n<button mat-menu-item matTooltip=\"Assistente IA\" [attr.aria-label]=\"'Assistente IA'\"\r\n [matMenuTriggerFor]=\"aiAssistantMenu\" #aiAssistantMenuTrigger=\"matMenuTrigger\"\r\n (mouseenter)=\"showSubMenu(aiAssistantMenuTrigger)\" (mouseleave)=\"resetSubMenu(aiAssistantMenuTrigger)\">\r\n <mat-icon>borg</mat-icon>\r\n Assistente IA\r\n</button>\r\n<mat-menu #aiAssistantMenu=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Mi riguarda?'\" (click)=\"parent().AI_concernMe(getSingleSelection())\">\r\n Mi riguarda?\r\n </button>\r\n <button mat-menu-item [attr.aria-label]=\"'Di che si tratta?'\" (click)=\"parent().AI_explain(getSingleSelection())\">\r\n Di che si tratta?\r\n </button>\r\n @if (canUseAIEditor) {\r\n <button mat-menu-item [attr.aria-label]=\"'Genera commento tecnico'\"\r\n (click)=\"parent().AI_comment(getSingleSelection())\">\r\n Genera commento tecnico\r\n </button>\r\n <button mat-menu-item [attr.aria-label]=\"'Genera news'\" (click)=\"parent().AI_news(getSingleSelection())\">\r\n Genera news\r\n </button>\r\n }\r\n</mat-menu>\r\n}\r\n\r\n@if (canAccessRS()) {\r\n<mat-divider></mat-divider>\r\n<button mat-menu-item matTooltip=\"Registro & Scadenzario\" [attr.aria-label]=\"'Opzioni di Registro & Scadenzario'\"\r\n [matMenuTriggerFor]=\"rsMenu\" #rsMenuTrigger=\"matMenuTrigger\" (mouseenter)=\"showSubMenu(rsMenuTrigger)\"\r\n (mouseleave)=\"resetSubMenu(rsMenuTrigger)\">\r\n <mat-icon>alarm_on</mat-icon>\r\n Registro e scadenzario\r\n</button>\r\n<mat-menu #rsMenu=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova legge'\" (click)=\"parent().RS_newLaw(getMultipleSelection())\">\r\n Nuova legge\r\n </button>\r\n @if (hasSingleSelection()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova attività'\" (click)=\"parent().RS_newActivity(getSingleSelection())\">\r\n Nuova attività\r\n </button>\r\n }\r\n @if (hasSingleSelection()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Report utilizzo norma'\"\r\n (click)=\"parent().RS_usageReport(getSingleSelection())\">\r\n Report utilizzo norma\r\n </button>\r\n }\r\n</mat-menu>\r\n}"
534
550
  }]
535
551
  }],
536
552
  propDecorators: {
@@ -777,7 +793,7 @@ var ClipperSearchFacetsComponent = class ClipperSearchFacetsComponent {
777
793
  static {
778
794
  this.ɵfac = i0.ɵɵngDeclareFactory({
779
795
  minVersion: "12.0.0",
780
- version: "22.2.2",
796
+ version: "22.2.3",
781
797
  ngImport: i0,
782
798
  type: ClipperSearchFacetsComponent,
783
799
  deps: [],
@@ -787,7 +803,7 @@ var ClipperSearchFacetsComponent = class ClipperSearchFacetsComponent {
787
803
  static {
788
804
  this.ɵcmp = i0.ɵɵngDeclareComponent({
789
805
  minVersion: "17.0.0",
790
- version: "22.2.2",
806
+ version: "22.2.3",
791
807
  type: ClipperSearchFacetsComponent,
792
808
  isStandalone: true,
793
809
  selector: "clipper-search-facets",
@@ -1068,7 +1084,7 @@ var ClipperSearchFacetsComponent = class ClipperSearchFacetsComponent {
1068
1084
  };
1069
1085
  i0.ɵɵngDeclareClassMetadata({
1070
1086
  minVersion: "12.0.0",
1071
- version: "22.2.2",
1087
+ version: "22.2.3",
1072
1088
  ngImport: i0,
1073
1089
  type: ClipperSearchFacetsComponent,
1074
1090
  decorators: [{
@@ -1233,7 +1249,7 @@ var ClipperDocumentManager = class ClipperDocumentManager {
1233
1249
  }
1234
1250
  openReferences(documentId, mode = ClipperQueryReferencesMode.ReferencesIn) {
1235
1251
  if (!documentId) return;
1236
- import("./arsedizioni-ars-utils-clipper.ui-references.component-CEA_wJTS.mjs").then(({ ClipperReferencesComponent }) => {
1252
+ import("./arsedizioni-ars-utils-clipper.ui-references.component-DYojmfsw.mjs").then(({ ClipperReferencesComponent }) => {
1237
1253
  this.dialogService.open(ClipperReferencesComponent, {
1238
1254
  ariaLabel: "riferimenti legati al documento",
1239
1255
  autoFocus: "dialog",
@@ -1339,7 +1355,7 @@ var ClipperDocumentManager = class ClipperDocumentManager {
1339
1355
  static {
1340
1356
  this.ɵfac = i0.ɵɵngDeclareFactory({
1341
1357
  minVersion: "12.0.0",
1342
- version: "22.2.2",
1358
+ version: "22.2.3",
1343
1359
  ngImport: i0,
1344
1360
  type: ClipperDocumentManager,
1345
1361
  deps: [],
@@ -1349,7 +1365,7 @@ var ClipperDocumentManager = class ClipperDocumentManager {
1349
1365
  static {
1350
1366
  this.ɵcmp = i0.ɵɵngDeclareComponent({
1351
1367
  minVersion: "14.0.0",
1352
- version: "22.2.2",
1368
+ version: "22.2.3",
1353
1369
  type: ClipperDocumentManager,
1354
1370
  isStandalone: true,
1355
1371
  selector: "ng-component",
@@ -1363,7 +1379,7 @@ var ClipperDocumentManager = class ClipperDocumentManager {
1363
1379
  };
1364
1380
  i0.ɵɵngDeclareClassMetadata({
1365
1381
  minVersion: "12.0.0",
1366
- version: "22.2.2",
1382
+ version: "22.2.3",
1367
1383
  ngImport: i0,
1368
1384
  type: ClipperDocumentManager,
1369
1385
  decorators: [{
@@ -1393,7 +1409,7 @@ var ClipperDocumentViewerService = class ClipperDocumentViewerService {
1393
1409
  this.dialogService.error("Documento non valido.");
1394
1410
  return;
1395
1411
  }
1396
- import("./arsedizioni-ars-utils-clipper.ui-document.component-BKjGXtXa.mjs").then(({ ClipperDocumentComponent }) => {
1412
+ import("./arsedizioni-ars-utils-clipper.ui-document.component-vI7C4i2r.mjs").then(({ ClipperDocumentComponent }) => {
1397
1413
  const ref = this.dialogService.open(ClipperDocumentComponent, {
1398
1414
  ariaLabel: "documento",
1399
1415
  autoFocus: "dialog",
@@ -1424,7 +1440,7 @@ var ClipperDocumentViewerService = class ClipperDocumentViewerService {
1424
1440
  static {
1425
1441
  this.ɵfac = i0.ɵɵngDeclareFactory({
1426
1442
  minVersion: "12.0.0",
1427
- version: "22.2.2",
1443
+ version: "22.2.3",
1428
1444
  ngImport: i0,
1429
1445
  type: ClipperDocumentViewerService,
1430
1446
  deps: [],
@@ -1434,7 +1450,7 @@ var ClipperDocumentViewerService = class ClipperDocumentViewerService {
1434
1450
  static {
1435
1451
  this.ɵprov = i0.ɵɵngDeclareService({
1436
1452
  minVersion: "22.0.0",
1437
- version: "22.2.2",
1453
+ version: "22.2.3",
1438
1454
  ngImport: i0,
1439
1455
  type: ClipperDocumentViewerService
1440
1456
  });
@@ -1442,7 +1458,7 @@ var ClipperDocumentViewerService = class ClipperDocumentViewerService {
1442
1458
  };
1443
1459
  i0.ɵɵngDeclareClassMetadata({
1444
1460
  minVersion: "12.0.0",
1445
- version: "22.2.2",
1461
+ version: "22.2.3",
1446
1462
  ngImport: i0,
1447
1463
  type: ClipperDocumentViewerService,
1448
1464
  decorators: [{ type: Service }]
@@ -1804,7 +1820,7 @@ var ClipperSearchResultManager = class ClipperSearchResultManager extends Clippe
1804
1820
  static {
1805
1821
  this.ɵfac = i0.ɵɵngDeclareFactory({
1806
1822
  minVersion: "12.0.0",
1807
- version: "22.2.2",
1823
+ version: "22.2.3",
1808
1824
  ngImport: i0,
1809
1825
  type: ClipperSearchResultManager,
1810
1826
  deps: null,
@@ -1814,7 +1830,7 @@ var ClipperSearchResultManager = class ClipperSearchResultManager extends Clippe
1814
1830
  static {
1815
1831
  this.ɵcmp = i0.ɵɵngDeclareComponent({
1816
1832
  minVersion: "17.2.0",
1817
- version: "22.2.2",
1833
+ version: "22.2.3",
1818
1834
  type: ClipperSearchResultManager,
1819
1835
  isStandalone: true,
1820
1836
  selector: "ng-component",
@@ -1851,7 +1867,7 @@ var ClipperSearchResultManager = class ClipperSearchResultManager extends Clippe
1851
1867
  };
1852
1868
  i0.ɵɵngDeclareClassMetadata({
1853
1869
  minVersion: "12.0.0",
1854
- version: "22.2.2",
1870
+ version: "22.2.3",
1855
1871
  ngImport: i0,
1856
1872
  type: ClipperSearchResultManager,
1857
1873
  decorators: [{
@@ -1881,7 +1897,7 @@ var ClipperSearchFreeTextHelpComponent = class ClipperSearchFreeTextHelpComponen
1881
1897
  static {
1882
1898
  this.ɵfac = i0.ɵɵngDeclareFactory({
1883
1899
  minVersion: "12.0.0",
1884
- version: "22.2.2",
1900
+ version: "22.2.3",
1885
1901
  ngImport: i0,
1886
1902
  type: ClipperSearchFreeTextHelpComponent,
1887
1903
  deps: [],
@@ -1891,7 +1907,7 @@ var ClipperSearchFreeTextHelpComponent = class ClipperSearchFreeTextHelpComponen
1891
1907
  static {
1892
1908
  this.ɵcmp = i0.ɵɵngDeclareComponent({
1893
1909
  minVersion: "14.0.0",
1894
- version: "22.2.2",
1910
+ version: "22.2.3",
1895
1911
  type: ClipperSearchFreeTextHelpComponent,
1896
1912
  isStandalone: true,
1897
1913
  selector: "ng-component",
@@ -2013,7 +2029,7 @@ var ClipperSearchFreeTextHelpComponent = class ClipperSearchFreeTextHelpComponen
2013
2029
  },
2014
2030
  {
2015
2031
  kind: "component",
2016
- type: i2$3.MatButton,
2032
+ type: i2$4.MatButton,
2017
2033
  selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ",
2018
2034
  inputs: ["matButton"],
2019
2035
  exportAs: ["matButton", "matAnchor"]
@@ -2037,7 +2053,7 @@ var ClipperSearchFreeTextHelpComponent = class ClipperSearchFreeTextHelpComponen
2037
2053
  };
2038
2054
  i0.ɵɵngDeclareClassMetadata({
2039
2055
  minVersion: "12.0.0",
2040
- version: "22.2.2",
2056
+ version: "22.2.3",
2041
2057
  ngImport: i0,
2042
2058
  type: ClipperSearchFreeTextHelpComponent,
2043
2059
  decorators: [{
@@ -2125,7 +2141,7 @@ var ClipperSearchFreeTextQueryBuilderComponent = class ClipperSearchFreeTextQuer
2125
2141
  static {
2126
2142
  this.ɵfac = i0.ɵɵngDeclareFactory({
2127
2143
  minVersion: "12.0.0",
2128
- version: "22.2.2",
2144
+ version: "22.2.3",
2129
2145
  ngImport: i0,
2130
2146
  type: ClipperSearchFreeTextQueryBuilderComponent,
2131
2147
  deps: [],
@@ -2135,7 +2151,7 @@ var ClipperSearchFreeTextQueryBuilderComponent = class ClipperSearchFreeTextQuer
2135
2151
  static {
2136
2152
  this.ɵcmp = i0.ɵɵngDeclareComponent({
2137
2153
  minVersion: "17.0.0",
2138
- version: "22.2.2",
2154
+ version: "22.2.3",
2139
2155
  type: ClipperSearchFreeTextQueryBuilderComponent,
2140
2156
  isStandalone: true,
2141
2157
  selector: "ng-component",
@@ -2286,7 +2302,7 @@ var ClipperSearchFreeTextQueryBuilderComponent = class ClipperSearchFreeTextQuer
2286
2302
  },
2287
2303
  {
2288
2304
  kind: "component",
2289
- type: i2$2.MatFormField,
2305
+ type: i2$3.MatFormField,
2290
2306
  selector: "mat-form-field",
2291
2307
  inputs: [
2292
2308
  "hideRequiredMarker",
@@ -2300,18 +2316,18 @@ var ClipperSearchFreeTextQueryBuilderComponent = class ClipperSearchFreeTextQuer
2300
2316
  },
2301
2317
  {
2302
2318
  kind: "directive",
2303
- type: i2$2.MatLabel,
2319
+ type: i2$3.MatLabel,
2304
2320
  selector: "mat-label"
2305
2321
  },
2306
2322
  {
2307
2323
  kind: "directive",
2308
- type: i2$2.MatHint,
2324
+ type: i2$3.MatHint,
2309
2325
  selector: "mat-hint",
2310
2326
  inputs: ["align", "id"]
2311
2327
  },
2312
2328
  {
2313
2329
  kind: "directive",
2314
- type: i2$2.MatSuffix,
2330
+ type: i2$3.MatSuffix,
2315
2331
  selector: "[matSuffix], [matIconSuffix], [matTextSuffix]",
2316
2332
  inputs: ["matTextSuffix"]
2317
2333
  },
@@ -2344,14 +2360,14 @@ var ClipperSearchFreeTextQueryBuilderComponent = class ClipperSearchFreeTextQuer
2344
2360
  },
2345
2361
  {
2346
2362
  kind: "component",
2347
- type: i2$3.MatButton,
2363
+ type: i2$4.MatButton,
2348
2364
  selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ",
2349
2365
  inputs: ["matButton"],
2350
2366
  exportAs: ["matButton", "matAnchor"]
2351
2367
  },
2352
2368
  {
2353
2369
  kind: "component",
2354
- type: i2$3.MatIconButton,
2370
+ type: i2$4.MatIconButton,
2355
2371
  selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]",
2356
2372
  exportAs: ["matButton", "matAnchor"]
2357
2373
  },
@@ -2397,7 +2413,7 @@ var ClipperSearchFreeTextQueryBuilderComponent = class ClipperSearchFreeTextQuer
2397
2413
  };
2398
2414
  i0.ɵɵngDeclareClassMetadata({
2399
2415
  minVersion: "12.0.0",
2400
- version: "22.2.2",
2416
+ version: "22.2.3",
2401
2417
  ngImport: i0,
2402
2418
  type: ClipperSearchFreeTextQueryBuilderComponent,
2403
2419
  decorators: [{
@@ -2487,7 +2503,7 @@ var ClipperSearchResultItemComponent = class ClipperSearchResultItemComponent {
2487
2503
  static {
2488
2504
  this.ɵfac = i0.ɵɵngDeclareFactory({
2489
2505
  minVersion: "12.0.0",
2490
- version: "22.2.2",
2506
+ version: "22.2.3",
2491
2507
  ngImport: i0,
2492
2508
  type: ClipperSearchResultItemComponent,
2493
2509
  deps: [],
@@ -2497,7 +2513,7 @@ var ClipperSearchResultItemComponent = class ClipperSearchResultItemComponent {
2497
2513
  static {
2498
2514
  this.ɵcmp = i0.ɵɵngDeclareComponent({
2499
2515
  minVersion: "17.0.0",
2500
- version: "22.2.2",
2516
+ version: "22.2.3",
2501
2517
  type: ClipperSearchResultItemComponent,
2502
2518
  isStandalone: true,
2503
2519
  selector: "clipper-search-result-item",
@@ -2629,7 +2645,7 @@ var ClipperSearchResultItemComponent = class ClipperSearchResultItemComponent {
2629
2645
  },
2630
2646
  {
2631
2647
  kind: "component",
2632
- type: i2$3.MatIconButton,
2648
+ type: i2$4.MatIconButton,
2633
2649
  selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]",
2634
2650
  exportAs: ["matButton", "matAnchor"]
2635
2651
  },
@@ -2676,7 +2692,7 @@ var ClipperSearchResultItemComponent = class ClipperSearchResultItemComponent {
2676
2692
  },
2677
2693
  {
2678
2694
  kind: "directive",
2679
- type: i2$4.MatMenuTrigger,
2695
+ type: i2$5.MatMenuTrigger,
2680
2696
  selector: "[mat-menu-trigger-for], [matMenuTriggerFor]",
2681
2697
  inputs: [
2682
2698
  "mat-menu-trigger-for",
@@ -2694,7 +2710,7 @@ var ClipperSearchResultItemComponent = class ClipperSearchResultItemComponent {
2694
2710
  },
2695
2711
  {
2696
2712
  kind: "directive",
2697
- type: i2$4.MatContextMenuTrigger,
2713
+ type: i2$5.MatContextMenuTrigger,
2698
2714
  selector: "[matContextMenuTriggerFor]",
2699
2715
  inputs: [
2700
2716
  "matContextMenuTriggerFor",
@@ -2883,7 +2899,7 @@ var ClipperSearchResultItemComponent = class ClipperSearchResultItemComponent {
2883
2899
  };
2884
2900
  i0.ɵɵngDeclareClassMetadata({
2885
2901
  minVersion: "12.0.0",
2886
- version: "22.2.2",
2902
+ version: "22.2.3",
2887
2903
  ngImport: i0,
2888
2904
  type: ClipperSearchResultItemComponent,
2889
2905
  decorators: [{
@@ -3951,7 +3967,7 @@ var ClipperBrowserComponent = class ClipperBrowserComponent extends ClipperSearc
3951
3967
  static {
3952
3968
  this.ɵfac = i0.ɵɵngDeclareFactory({
3953
3969
  minVersion: "12.0.0",
3954
- version: "22.2.2",
3970
+ version: "22.2.3",
3955
3971
  ngImport: i0,
3956
3972
  type: ClipperBrowserComponent,
3957
3973
  deps: [],
@@ -3961,7 +3977,7 @@ var ClipperBrowserComponent = class ClipperBrowserComponent extends ClipperSearc
3961
3977
  static {
3962
3978
  this.ɵcmp = i0.ɵɵngDeclareComponent({
3963
3979
  minVersion: "17.0.0",
3964
- version: "22.2.2",
3980
+ version: "22.2.3",
3965
3981
  type: ClipperBrowserComponent,
3966
3982
  isStandalone: true,
3967
3983
  selector: "clipper-browser",
@@ -4281,14 +4297,14 @@ var ClipperBrowserComponent = class ClipperBrowserComponent extends ClipperSearc
4281
4297
  },
4282
4298
  {
4283
4299
  kind: "component",
4284
- type: i2$3.MatButton,
4300
+ type: i2$4.MatButton,
4285
4301
  selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ",
4286
4302
  inputs: ["matButton"],
4287
4303
  exportAs: ["matButton", "matAnchor"]
4288
4304
  },
4289
4305
  {
4290
4306
  kind: "component",
4291
- type: i2$3.MatIconButton,
4307
+ type: i2$4.MatIconButton,
4292
4308
  selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]",
4293
4309
  exportAs: ["matButton", "matAnchor"]
4294
4310
  },
@@ -4409,7 +4425,7 @@ var ClipperBrowserComponent = class ClipperBrowserComponent extends ClipperSearc
4409
4425
  },
4410
4426
  {
4411
4427
  kind: "component",
4412
- type: i2$4.MatMenu,
4428
+ type: i2$5.MatMenu,
4413
4429
  selector: "mat-menu",
4414
4430
  inputs: [
4415
4431
  "backdropClass",
@@ -4428,7 +4444,7 @@ var ClipperBrowserComponent = class ClipperBrowserComponent extends ClipperSearc
4428
4444
  },
4429
4445
  {
4430
4446
  kind: "component",
4431
- type: i2$4.MatMenuItem,
4447
+ type: i2$5.MatMenuItem,
4432
4448
  selector: "[mat-menu-item]",
4433
4449
  inputs: [
4434
4450
  "role",
@@ -4440,12 +4456,12 @@ var ClipperBrowserComponent = class ClipperBrowserComponent extends ClipperSearc
4440
4456
  },
4441
4457
  {
4442
4458
  kind: "directive",
4443
- type: i2$4.MatMenuContent,
4459
+ type: i2$5.MatMenuContent,
4444
4460
  selector: "ng-template[matMenuContent]"
4445
4461
  },
4446
4462
  {
4447
4463
  kind: "directive",
4448
- type: i2$4.MatMenuTrigger,
4464
+ type: i2$5.MatMenuTrigger,
4449
4465
  selector: "[mat-menu-trigger-for], [matMenuTriggerFor]",
4450
4466
  inputs: [
4451
4467
  "mat-menu-trigger-for",
@@ -4467,7 +4483,7 @@ var ClipperBrowserComponent = class ClipperBrowserComponent extends ClipperSearc
4467
4483
  },
4468
4484
  {
4469
4485
  kind: "component",
4470
- type: i2$2.MatFormField,
4486
+ type: i2$3.MatFormField,
4471
4487
  selector: "mat-form-field",
4472
4488
  inputs: [
4473
4489
  "hideRequiredMarker",
@@ -4481,18 +4497,18 @@ var ClipperBrowserComponent = class ClipperBrowserComponent extends ClipperSearc
4481
4497
  },
4482
4498
  {
4483
4499
  kind: "directive",
4484
- type: i2$2.MatLabel,
4500
+ type: i2$3.MatLabel,
4485
4501
  selector: "mat-label"
4486
4502
  },
4487
4503
  {
4488
4504
  kind: "directive",
4489
- type: i2$2.MatError,
4505
+ type: i2$3.MatError,
4490
4506
  selector: "mat-error, [matError]",
4491
4507
  inputs: ["id"]
4492
4508
  },
4493
4509
  {
4494
4510
  kind: "directive",
4495
- type: i2$2.MatSuffix,
4511
+ type: i2$3.MatSuffix,
4496
4512
  selector: "[matSuffix], [matIconSuffix], [matTextSuffix]",
4497
4513
  inputs: ["matTextSuffix"]
4498
4514
  },
@@ -4872,7 +4888,7 @@ var ClipperBrowserComponent = class ClipperBrowserComponent extends ClipperSearc
4872
4888
  };
4873
4889
  i0.ɵɵngDeclareClassMetadata({
4874
4890
  minVersion: "12.0.0",
4875
- version: "22.2.2",
4891
+ version: "22.2.3",
4876
4892
  ngImport: i0,
4877
4893
  type: ClipperBrowserComponent,
4878
4894
  decorators: [{
@@ -5043,7 +5059,7 @@ var ClipperBrowserDialogComponent = class ClipperBrowserDialogComponent {
5043
5059
  static {
5044
5060
  this.ɵfac = i0.ɵɵngDeclareFactory({
5045
5061
  minVersion: "12.0.0",
5046
- version: "22.2.2",
5062
+ version: "22.2.3",
5047
5063
  ngImport: i0,
5048
5064
  type: ClipperBrowserDialogComponent,
5049
5065
  deps: [],
@@ -5053,7 +5069,7 @@ var ClipperBrowserDialogComponent = class ClipperBrowserDialogComponent {
5053
5069
  static {
5054
5070
  this.ɵcmp = i0.ɵɵngDeclareComponent({
5055
5071
  minVersion: "17.0.0",
5056
- version: "22.2.2",
5072
+ version: "22.2.3",
5057
5073
  type: ClipperBrowserDialogComponent,
5058
5074
  isStandalone: true,
5059
5075
  selector: "ng-component",
@@ -5092,14 +5108,14 @@ var ClipperBrowserDialogComponent = class ClipperBrowserDialogComponent {
5092
5108
  },
5093
5109
  {
5094
5110
  kind: "component",
5095
- type: i2$3.MatButton,
5111
+ type: i2$4.MatButton,
5096
5112
  selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ",
5097
5113
  inputs: ["matButton"],
5098
5114
  exportAs: ["matButton", "matAnchor"]
5099
5115
  },
5100
5116
  {
5101
5117
  kind: "component",
5102
- type: i2$3.MatIconButton,
5118
+ type: i2$4.MatIconButton,
5103
5119
  selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]",
5104
5120
  exportAs: ["matButton", "matAnchor"]
5105
5121
  },
@@ -5109,7 +5125,7 @@ var ClipperBrowserDialogComponent = class ClipperBrowserDialogComponent {
5109
5125
  },
5110
5126
  {
5111
5127
  kind: "directive",
5112
- type: i2$1.MatBadge,
5128
+ type: i2$2.MatBadge,
5113
5129
  selector: "[matBadge]",
5114
5130
  inputs: [
5115
5131
  "matBadgeColor",
@@ -5324,7 +5340,7 @@ var ClipperBrowserDialogComponent = class ClipperBrowserDialogComponent {
5324
5340
  };
5325
5341
  i0.ɵɵngDeclareClassMetadata({
5326
5342
  minVersion: "12.0.0",
5327
- version: "22.2.2",
5343
+ version: "22.2.3",
5328
5344
  ngImport: i0,
5329
5345
  type: ClipperBrowserDialogComponent,
5330
5346
  decorators: [{
@@ -5352,6 +5368,272 @@ i0.ɵɵngDeclareClassMetadata({
5352
5368
  args: ["clipperBrowser", { isSignal: true }]
5353
5369
  }] }
5354
5370
  });
5371
+ var document_analysis_component_exports = /* @__PURE__ */ __exportAll({ ClipperDocumentAnalysisComponent: () => ClipperDocumentAnalysisComponent });
5372
+ var ClipperDocumentAnalysisComponent = class ClipperDocumentAnalysisComponent {
5373
+ static {
5374
+ this.USEFUL_INFORMATION_CUTOFF = new Date(2027, 4, 1);
5375
+ }
5376
+ static {
5377
+ this.USEFUL_INFORMATION_CUTOFF_TEXT = "1° maggio 2027";
5378
+ }
5379
+ static {
5380
+ this.NOT_ENTITLED = "Il tuo abbonamento non consente di visualizzare i commenti alle norme.";
5381
+ }
5382
+ constructor() {
5383
+ this.clipperService = inject(ClipperService);
5384
+ this.dialogService = inject(DialogService);
5385
+ this.destroyRef = inject(DestroyRef);
5386
+ this.dialogData = inject(MAT_DIALOG_DATA);
5387
+ this.analysis = signal(void 0, ...ngDevMode ? [{ debugName: "analysis" }] : /* istanbul ignore next */ []);
5388
+ this.commentHtml = signal(void 0, ...ngDevMode ? [{ debugName: "commentHtml" }] : /* istanbul ignore next */ []);
5389
+ this.commentMessage = signal(void 0, ...ngDevMode ? [{ debugName: "commentMessage" }] : /* istanbul ignore next */ []);
5390
+ this.aboutHtml = computed(() => ClipperDocumentAnalysisComponent.toHtml(this.analysis()?.whatIsAllAbout)?.replace(/<(h[23])((?![^>]*class=)[^>]*)>([^<]*Applicabilit[^<]*entrate in vigore future[^<]*)<\/\1>(\s*)<table(?![^>]*class=)/i, "<$1$2 class=\"info-title\">$3</$1>$4<table class=\"future-dates\""), ...ngDevMode ? [{ debugName: "aboutHtml" }] : /* istanbul ignore next */ []);
5391
+ this.changedHtml = computed(() => ClipperDocumentAnalysisComponent.toHtml(this.analysis()?.whatIsChanged)?.replace(/<(h[23])((?![^>]*class=)[^>]*)>([^<]*Adempimenti nuovi e modificati[^<]*)<\/\1>(\s*)<table(?![^>]*class=)/i, "<$1$2 class=\"info-title\">$3</$1>$4<table class=\"obligations\""), ...ngDevMode ? [{ debugName: "changedHtml" }] : /* istanbul ignore next */ []);
5392
+ this.interestingHtml = computed(() => ClipperDocumentAnalysisComponent.toHtml(this.analysis()?.wouldBeInterestingIf), ...ngDevMode ? [{ debugName: "interestingHtml" }] : /* istanbul ignore next */ []);
5393
+ this.canReadComments = computed(() => this.analysis() ? this.analysis().canReadComments === true : !!this.commentHtml(), ...ngDevMode ? [{ debugName: "canReadComments" }] : /* istanbul ignore next */ []);
5394
+ this.restricted = /* @__PURE__ */ new Date() >= ClipperDocumentAnalysisComponent.USEFUL_INFORMATION_CUTOFF;
5395
+ this.notice = this.restricted ? `Dal ${ClipperDocumentAnalysisComponent.USEFUL_INFORMATION_CUTOFF_TEXT} le informazioni sono disponibili solo per chi ha accesso ai commenti.` : `Dal ${ClipperDocumentAnalysisComponent.USEFUL_INFORMATION_CUTOFF_TEXT} le seguenti informazioni saranno disponibili solo per chi ha accesso ai commenti.`;
5396
+ this.firstTab = this.dialogData.hasComment ? "Commento" : "Sintesi";
5397
+ this.commentOnly = this.dialogData.commentOnly === true;
5398
+ this.dialogTab = signal(1, ...ngDevMode ? [{ debugName: "dialogTab" }] : /* istanbul ignore next */ []);
5399
+ this.fetch();
5400
+ }
5401
+ fetch() {
5402
+ this.dialogService.busy("Caricamento in corso...");
5403
+ if (this.commentOnly) {
5404
+ this.fetchComment();
5405
+ return;
5406
+ }
5407
+ this.clipperService.documents.analysis(this.dialogData.documentId).pipe(takeUntilDestroyed(this.destroyRef)).subscribe({
5408
+ next: (r) => {
5409
+ if (r.success && r.value) {
5410
+ this.analysis.set(r.value);
5411
+ this.dialogService.clearBusy();
5412
+ } else this.fetchComment();
5413
+ },
5414
+ error: () => this.fetchComment()
5415
+ });
5416
+ }
5417
+ fetchComment() {
5418
+ this.clipperService.documents.comment(this.dialogData.documentId).pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.dialogService.clearBusy())).subscribe({
5419
+ next: (r) => {
5420
+ if (!r.success) this.commentMessage.set(r.message === ClipperDocumentAnalysisComponent.NOT_ENTITLED ? "Il commento non è disponibile per questa licenza." : r.message || "Commento non disponibile.");
5421
+ else if (r.value && r.value.length > 1) this.commentHtml.set(r.value.replace(/<\/p><br>\r\n/g, "</p>\r\n"));
5422
+ else this.commentMessage.set("Commento non più disponibile o in fase di revisione.");
5423
+ },
5424
+ error: () => this.commentMessage.set("Commento non disponibile.")
5425
+ });
5426
+ }
5427
+ static toHtml(text) {
5428
+ return text && text.trim().length > 0 ? MarkdownUtils.toHtml(text) : void 0;
5429
+ }
5430
+ static {
5431
+ this.ɵfac = i0.ɵɵngDeclareFactory({
5432
+ minVersion: "12.0.0",
5433
+ version: "22.2.3",
5434
+ ngImport: i0,
5435
+ type: ClipperDocumentAnalysisComponent,
5436
+ deps: [],
5437
+ target: i0.ɵɵFactoryTarget.Component
5438
+ });
5439
+ }
5440
+ static {
5441
+ this.ɵcmp = i0.ɵɵngDeclareComponent({
5442
+ minVersion: "17.0.0",
5443
+ version: "22.2.3",
5444
+ type: ClipperDocumentAnalysisComponent,
5445
+ isStandalone: true,
5446
+ selector: "ng-component",
5447
+ host: { attributes: { "Bind": SystemUtils.generateUUID() } },
5448
+ ngImport: i0,
5449
+ template: "<!-- The comment alone (commentOnly): no tabs, only the editors' comment. -->\r\n@if (commentOnly) {\r\n<div mat-dialog-title> Commento</div>\r\n} @else {\r\n<div mat-dialog-title> {{ firstTab }} e informazioni utili</div>\r\n<nav mat-tab-nav-bar mat-stretch-tabs [tabPanel]=\"tabPanel\">\r\n <a mat-tab-link (click)=\"dialogTab.set(1)\" [active]=\"dialogTab() === 1\">{{ firstTab }}</a>\r\n <a mat-tab-link (click)=\"dialogTab.set(2)\" [active]=\"dialogTab() === 2\">Cosa cambia</a>\r\n <a mat-tab-link (click)=\"dialogTab.set(3)\" [active]=\"dialogTab() === 3\">Sarebbe\r\n interessante<br> se l'azienda...</a>\r\n</nav>\r\n<mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>\r\n}\r\n<mat-dialog-content>\r\n <!-- Commento: the analysis for the readers of the editorial comments, the editorial comment itself when the\r\n document has no analysis. The server sends no text to anybody else, and the tab says why. -->\r\n <div [hidden]=\"dialogTab() !== 1\">\r\n <!-- The first tab is reserved to the readers of the comments, «Commento» and «Sintesi» alike. -->\r\n @if (analysis() && !canReadComments()) {\r\n <div class=\"message-container\">\r\n <div class=\"message\">{{ firstTab === 'Commento' ? 'Il commento' : 'La sintesi' }} non è disponibile per questa licenza.</div>\r\n </div>\r\n } @else if (aboutHtml()) {\r\n <div class=\"analysis-text\" [innerHTML]=\"aboutHtml() | safeHtml\"></div>\r\n } @else if (commentHtml()) {\r\n <div class=\"analysis-text\" [innerHTML]=\"commentHtml() | safeHtml\"></div>\r\n } @else if (commentMessage()) {\r\n <div class=\"message-container\">\r\n <div class=\"message\">{{ commentMessage() }}</div>\r\n </div>\r\n } @else {\r\n <div class=\"message-container\">\r\n <div class=\"message\">Nessuna informazione disponibile.</div>\r\n </div>\r\n }\r\n </div>\r\n <!-- Cosa cambia: for everybody until the cut-off day, with the notice above the text - and only above a\r\n text; reserved to the readers of the comments from then on. -->\r\n <div [hidden]=\"dialogTab() !== 2\">\r\n @if (restricted && analysis() && !canReadComments()) {\r\n <div class=\"message-container\">\r\n <div class=\"message\">Le informazioni non sono disponibili per questa licenza.</div>\r\n </div>\r\n } @else if (changedHtml()) {\r\n <div class=\"notice small secondary italic\">{{ notice }}</div>\r\n <div class=\"analysis-text changes\" [innerHTML]=\"changedHtml() | safeHtml\"></div>\r\n } @else {\r\n <div class=\"message-container\">\r\n <div class=\"message\">Nessuna informazione disponibile.</div>\r\n </div>\r\n }\r\n </div>\r\n <!-- Sarebbe interessante se l'azienda: the same rule, without the notice. -->\r\n <div [hidden]=\"dialogTab() !== 3\">\r\n @if (restricted && analysis() && !canReadComments()) {\r\n <div class=\"message-container\">\r\n <div class=\"message\">Le informazioni non sono disponibili per questa licenza.</div>\r\n </div>\r\n } @else if (interestingHtml()) {\r\n <div class=\"analysis-text\" [innerHTML]=\"interestingHtml() | safeHtml\"></div>\r\n } @else {\r\n <div class=\"message-container\">\r\n <div class=\"message\">Nessuna informazione disponibile.</div>\r\n </div>\r\n }\r\n </div>\r\n</mat-dialog-content>\r\n<div mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxFill>\r\n <button mat-stroked-button [mat-dialog-close]=\"true\">Chiudi</button>\r\n </div>\r\n</div>\r\n",
5450
+ styles: ["@charset \"UTF-8\";.analysis-title{font-size:large;line-height:1.3}.analysis-subtitle{margin-top:4px;line-height:1.4}.notice{padding-top:16px;line-height:1.4}:host ::ng-deep .analysis-text{padding-top:16px;overflow-wrap:anywhere;line-height:1.5}:host ::ng-deep .analysis-text p{margin:0 0 .8em}:host ::ng-deep .analysis-text ul,:host ::ng-deep .analysis-text ol{margin:.2em 0 .8em;padding-left:1.4em}:host ::ng-deep .analysis-text h1,:host ::ng-deep .analysis-text h2,:host ::ng-deep .analysis-text h3,:host ::ng-deep .analysis-text h4{font-size:medium;font-weight:700;margin:16px 0 6px}:host ::ng-deep .analysis-text a{color:var(--ars-color-link);font-weight:600;text-decoration:underline}:host ::ng-deep .analysis-text table{width:100%;border-collapse:collapse;border:1px solid var(--ars-color-divider);margin:6px 0 12px}:host ::ng-deep .analysis-text th,:host ::ng-deep .analysis-text td{border:1px solid var(--ars-color-divider);padding:4px 8px;vertical-align:top;text-align:left}:host ::ng-deep .analysis-text th{font-weight:700}:host ::ng-deep .analysis-text .info-title{font-size:medium;font-weight:700;margin:12px 0 4px}:host ::ng-deep .analysis-text table.future-dates{display:block;width:100%;border:0;border-top:1px solid var(--ars-color-divider);border-left:1px solid var(--ars-color-divider)}:host ::ng-deep .analysis-text table.future-dates thead,:host ::ng-deep .analysis-text table.future-dates tbody{display:block}:host ::ng-deep .analysis-text table.future-dates tr{display:grid;grid-template-columns:100px 5fr 3fr 2fr}:host ::ng-deep .analysis-text table.future-dates th,:host ::ng-deep .analysis-text table.future-dates td{min-width:0;overflow-wrap:anywhere;border:0;border-right:1px solid var(--ars-color-divider);border-bottom:1px solid var(--ars-color-divider)}:host ::ng-deep .analysis-text.changes table{table-layout:fixed}:host ::ng-deep .analysis-text.changes th,:host ::ng-deep .analysis-text.changes td{overflow-wrap:anywhere}:host ::ng-deep .analysis-text.changes tr>:nth-child(1),:host ::ng-deep .analysis-text.changes tr>:nth-child(2){width:25%}:host ::ng-deep .analysis-text.changes tr>:nth-child(3){width:50%}:host ::ng-deep .analysis-text.changes table.obligations tr>:nth-child(1),:host ::ng-deep .analysis-text.changes table.obligations tr>:nth-child(2){width:30%}:host ::ng-deep .analysis-text.changes table.obligations tr>:nth-child(3){width:40%}\n"],
5451
+ dependencies: [
5452
+ {
5453
+ kind: "ngmodule",
5454
+ type: FlexLayoutModule
5455
+ },
5456
+ {
5457
+ kind: "directive",
5458
+ type: i1$1.FxLayoutDirective,
5459
+ selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg] ",
5460
+ inputs: [
5461
+ "fxLayout",
5462
+ "fxLayout.xs",
5463
+ "fxLayout.sm",
5464
+ "fxLayout.md",
5465
+ "fxLayout.lg",
5466
+ "fxLayout.xl",
5467
+ "fxLayout.lt-sm",
5468
+ "fxLayout.lt-md",
5469
+ "fxLayout.lt-lg",
5470
+ "fxLayout.lt-xl",
5471
+ "fxLayout.gt-xs",
5472
+ "fxLayout.gt-sm",
5473
+ "fxLayout.gt-md",
5474
+ "fxLayout.gt-lg"
5475
+ ]
5476
+ },
5477
+ {
5478
+ kind: "directive",
5479
+ type: i1$1.FxLayoutAlignDirective,
5480
+ selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg] ",
5481
+ inputs: [
5482
+ "fxLayoutAlign",
5483
+ "fxLayoutAlign.xs",
5484
+ "fxLayoutAlign.sm",
5485
+ "fxLayoutAlign.md",
5486
+ "fxLayoutAlign.lg",
5487
+ "fxLayoutAlign.xl",
5488
+ "fxLayoutAlign.lt-sm",
5489
+ "fxLayoutAlign.lt-md",
5490
+ "fxLayoutAlign.lt-lg",
5491
+ "fxLayoutAlign.lt-xl",
5492
+ "fxLayoutAlign.gt-xs",
5493
+ "fxLayoutAlign.gt-sm",
5494
+ "fxLayoutAlign.gt-md",
5495
+ "fxLayoutAlign.gt-lg"
5496
+ ]
5497
+ },
5498
+ {
5499
+ kind: "directive",
5500
+ type: i1$1.FxFlexFillDirective,
5501
+ selector: " [fxFlexFill], [fxFill], [fxFlexFill.xs], [fxFlexFill.sm], [fxFlexFill.md], [fxFlexFill.lg], [fxFlexFill.xl], [fxFlexFill.lt-sm], [fxFlexFill.lt-md], [fxFlexFill.lt-lg], [fxFlexFill.lt-xl], [fxFlexFill.gt-xs], [fxFlexFill.gt-sm], [fxFlexFill.gt-md], [fxFlexFill.gt-lg] ",
5502
+ inputs: [
5503
+ "fxFlexFill",
5504
+ "fxFill",
5505
+ "fxFlexFill.xs",
5506
+ "fxFlexFill.sm",
5507
+ "fxFlexFill.md",
5508
+ "fxFlexFill.lg",
5509
+ "fxFlexFill.xl",
5510
+ "fxFlexFill.lt-sm",
5511
+ "fxFlexFill.lt-md",
5512
+ "fxFlexFill.lt-lg",
5513
+ "fxFlexFill.lt-xl",
5514
+ "fxFlexFill.gt-xs",
5515
+ "fxFlexFill.gt-sm",
5516
+ "fxFlexFill.gt-md",
5517
+ "fxFlexFill.gt-lg"
5518
+ ]
5519
+ },
5520
+ {
5521
+ kind: "directive",
5522
+ type: MatDialogTitle,
5523
+ selector: "[mat-dialog-title], [matDialogTitle]",
5524
+ inputs: ["id"],
5525
+ exportAs: ["matDialogTitle"]
5526
+ },
5527
+ {
5528
+ kind: "directive",
5529
+ type: MatDialogContent,
5530
+ selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]"
5531
+ },
5532
+ {
5533
+ kind: "directive",
5534
+ type: MatDialogActions,
5535
+ selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]",
5536
+ inputs: ["align"]
5537
+ },
5538
+ {
5539
+ kind: "directive",
5540
+ type: MatDialogClose,
5541
+ selector: "[mat-dialog-close], [matDialogClose]",
5542
+ inputs: [
5543
+ "aria-label",
5544
+ "type",
5545
+ "mat-dialog-close",
5546
+ "matDialogClose"
5547
+ ],
5548
+ exportAs: ["matDialogClose"]
5549
+ },
5550
+ {
5551
+ kind: "ngmodule",
5552
+ type: MatTabsModule
5553
+ },
5554
+ {
5555
+ kind: "component",
5556
+ type: i2$1.MatTabNav,
5557
+ selector: "[mat-tab-nav-bar]",
5558
+ inputs: [
5559
+ "fitInkBarToContent",
5560
+ "mat-stretch-tabs",
5561
+ "animationDuration",
5562
+ "backgroundColor",
5563
+ "disableRipple",
5564
+ "color",
5565
+ "tabPanel"
5566
+ ],
5567
+ exportAs: ["matTabNavBar", "matTabNav"]
5568
+ },
5569
+ {
5570
+ kind: "component",
5571
+ type: i2$1.MatTabNavPanel,
5572
+ selector: "mat-tab-nav-panel",
5573
+ inputs: ["id"],
5574
+ exportAs: ["matTabNavPanel"]
5575
+ },
5576
+ {
5577
+ kind: "component",
5578
+ type: i2$1.MatTabLink,
5579
+ selector: "[mat-tab-link], [matTabLink]",
5580
+ inputs: [
5581
+ "active",
5582
+ "disabled",
5583
+ "disableRipple",
5584
+ "tabIndex",
5585
+ "id"
5586
+ ],
5587
+ exportAs: ["matTabLink"]
5588
+ },
5589
+ {
5590
+ kind: "ngmodule",
5591
+ type: MatButtonModule
5592
+ },
5593
+ {
5594
+ kind: "component",
5595
+ type: i2$4.MatButton,
5596
+ selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ",
5597
+ inputs: ["matButton"],
5598
+ exportAs: ["matButton", "matAnchor"]
5599
+ },
5600
+ {
5601
+ kind: "pipe",
5602
+ type: SafeHtmlPipe,
5603
+ name: "safeHtml"
5604
+ }
5605
+ ],
5606
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
5607
+ });
5608
+ }
5609
+ };
5610
+ i0.ɵɵngDeclareClassMetadata({
5611
+ minVersion: "12.0.0",
5612
+ version: "22.2.3",
5613
+ ngImport: i0,
5614
+ type: ClipperDocumentAnalysisComponent,
5615
+ decorators: [{
5616
+ type: Component,
5617
+ args: [{
5618
+ host: { "Bind": SystemUtils.generateUUID() },
5619
+ changeDetection: ChangeDetectionStrategy.OnPush,
5620
+ standalone: true,
5621
+ imports: [
5622
+ FlexLayoutModule,
5623
+ MatDialogTitle,
5624
+ MatDialogContent,
5625
+ MatDialogActions,
5626
+ MatDialogClose,
5627
+ MatTabsModule,
5628
+ MatButtonModule,
5629
+ SafeHtmlPipe
5630
+ ],
5631
+ template: "<!-- The comment alone (commentOnly): no tabs, only the editors' comment. -->\r\n@if (commentOnly) {\r\n<div mat-dialog-title> Commento</div>\r\n} @else {\r\n<div mat-dialog-title> {{ firstTab }} e informazioni utili</div>\r\n<nav mat-tab-nav-bar mat-stretch-tabs [tabPanel]=\"tabPanel\">\r\n <a mat-tab-link (click)=\"dialogTab.set(1)\" [active]=\"dialogTab() === 1\">{{ firstTab }}</a>\r\n <a mat-tab-link (click)=\"dialogTab.set(2)\" [active]=\"dialogTab() === 2\">Cosa cambia</a>\r\n <a mat-tab-link (click)=\"dialogTab.set(3)\" [active]=\"dialogTab() === 3\">Sarebbe\r\n interessante<br> se l'azienda...</a>\r\n</nav>\r\n<mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>\r\n}\r\n<mat-dialog-content>\r\n <!-- Commento: the analysis for the readers of the editorial comments, the editorial comment itself when the\r\n document has no analysis. The server sends no text to anybody else, and the tab says why. -->\r\n <div [hidden]=\"dialogTab() !== 1\">\r\n <!-- The first tab is reserved to the readers of the comments, «Commento» and «Sintesi» alike. -->\r\n @if (analysis() && !canReadComments()) {\r\n <div class=\"message-container\">\r\n <div class=\"message\">{{ firstTab === 'Commento' ? 'Il commento' : 'La sintesi' }} non è disponibile per questa licenza.</div>\r\n </div>\r\n } @else if (aboutHtml()) {\r\n <div class=\"analysis-text\" [innerHTML]=\"aboutHtml() | safeHtml\"></div>\r\n } @else if (commentHtml()) {\r\n <div class=\"analysis-text\" [innerHTML]=\"commentHtml() | safeHtml\"></div>\r\n } @else if (commentMessage()) {\r\n <div class=\"message-container\">\r\n <div class=\"message\">{{ commentMessage() }}</div>\r\n </div>\r\n } @else {\r\n <div class=\"message-container\">\r\n <div class=\"message\">Nessuna informazione disponibile.</div>\r\n </div>\r\n }\r\n </div>\r\n <!-- Cosa cambia: for everybody until the cut-off day, with the notice above the text - and only above a\r\n text; reserved to the readers of the comments from then on. -->\r\n <div [hidden]=\"dialogTab() !== 2\">\r\n @if (restricted && analysis() && !canReadComments()) {\r\n <div class=\"message-container\">\r\n <div class=\"message\">Le informazioni non sono disponibili per questa licenza.</div>\r\n </div>\r\n } @else if (changedHtml()) {\r\n <div class=\"notice small secondary italic\">{{ notice }}</div>\r\n <div class=\"analysis-text changes\" [innerHTML]=\"changedHtml() | safeHtml\"></div>\r\n } @else {\r\n <div class=\"message-container\">\r\n <div class=\"message\">Nessuna informazione disponibile.</div>\r\n </div>\r\n }\r\n </div>\r\n <!-- Sarebbe interessante se l'azienda: the same rule, without the notice. -->\r\n <div [hidden]=\"dialogTab() !== 3\">\r\n @if (restricted && analysis() && !canReadComments()) {\r\n <div class=\"message-container\">\r\n <div class=\"message\">Le informazioni non sono disponibili per questa licenza.</div>\r\n </div>\r\n } @else if (interestingHtml()) {\r\n <div class=\"analysis-text\" [innerHTML]=\"interestingHtml() | safeHtml\"></div>\r\n } @else {\r\n <div class=\"message-container\">\r\n <div class=\"message\">Nessuna informazione disponibile.</div>\r\n </div>\r\n }\r\n </div>\r\n</mat-dialog-content>\r\n<div mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxFill>\r\n <button mat-stroked-button [mat-dialog-close]=\"true\">Chiudi</button>\r\n </div>\r\n</div>\r\n",
5632
+ styles: ["@charset \"UTF-8\";.analysis-title{font-size:large;line-height:1.3}.analysis-subtitle{margin-top:4px;line-height:1.4}.notice{padding-top:16px;line-height:1.4}:host ::ng-deep .analysis-text{padding-top:16px;overflow-wrap:anywhere;line-height:1.5}:host ::ng-deep .analysis-text p{margin:0 0 .8em}:host ::ng-deep .analysis-text ul,:host ::ng-deep .analysis-text ol{margin:.2em 0 .8em;padding-left:1.4em}:host ::ng-deep .analysis-text h1,:host ::ng-deep .analysis-text h2,:host ::ng-deep .analysis-text h3,:host ::ng-deep .analysis-text h4{font-size:medium;font-weight:700;margin:16px 0 6px}:host ::ng-deep .analysis-text a{color:var(--ars-color-link);font-weight:600;text-decoration:underline}:host ::ng-deep .analysis-text table{width:100%;border-collapse:collapse;border:1px solid var(--ars-color-divider);margin:6px 0 12px}:host ::ng-deep .analysis-text th,:host ::ng-deep .analysis-text td{border:1px solid var(--ars-color-divider);padding:4px 8px;vertical-align:top;text-align:left}:host ::ng-deep .analysis-text th{font-weight:700}:host ::ng-deep .analysis-text .info-title{font-size:medium;font-weight:700;margin:12px 0 4px}:host ::ng-deep .analysis-text table.future-dates{display:block;width:100%;border:0;border-top:1px solid var(--ars-color-divider);border-left:1px solid var(--ars-color-divider)}:host ::ng-deep .analysis-text table.future-dates thead,:host ::ng-deep .analysis-text table.future-dates tbody{display:block}:host ::ng-deep .analysis-text table.future-dates tr{display:grid;grid-template-columns:100px 5fr 3fr 2fr}:host ::ng-deep .analysis-text table.future-dates th,:host ::ng-deep .analysis-text table.future-dates td{min-width:0;overflow-wrap:anywhere;border:0;border-right:1px solid var(--ars-color-divider);border-bottom:1px solid var(--ars-color-divider)}:host ::ng-deep .analysis-text.changes table{table-layout:fixed}:host ::ng-deep .analysis-text.changes th,:host ::ng-deep .analysis-text.changes td{overflow-wrap:anywhere}:host ::ng-deep .analysis-text.changes tr>:nth-child(1),:host ::ng-deep .analysis-text.changes tr>:nth-child(2){width:25%}:host ::ng-deep .analysis-text.changes tr>:nth-child(3){width:50%}:host ::ng-deep .analysis-text.changes table.obligations tr>:nth-child(1),:host ::ng-deep .analysis-text.changes table.obligations tr>:nth-child(2){width:30%}:host ::ng-deep .analysis-text.changes table.obligations tr>:nth-child(3){width:40%}\n"]
5633
+ }]
5634
+ }],
5635
+ ctorParameters: () => []
5636
+ });
5355
5637
  var ClipperDocumentIndexComponent = class ClipperDocumentIndexComponent {
5356
5638
  constructor() {
5357
5639
  this.selection = viewChild.required("selection", ...ngDevMode ? [{ debugName: "selection" }] : /* istanbul ignore next */ []);
@@ -5397,7 +5679,7 @@ var ClipperDocumentIndexComponent = class ClipperDocumentIndexComponent {
5397
5679
  static {
5398
5680
  this.ɵfac = i0.ɵɵngDeclareFactory({
5399
5681
  minVersion: "12.0.0",
5400
- version: "22.2.2",
5682
+ version: "22.2.3",
5401
5683
  ngImport: i0,
5402
5684
  type: ClipperDocumentIndexComponent,
5403
5685
  deps: [],
@@ -5407,7 +5689,7 @@ var ClipperDocumentIndexComponent = class ClipperDocumentIndexComponent {
5407
5689
  static {
5408
5690
  this.ɵcmp = i0.ɵɵngDeclareComponent({
5409
5691
  minVersion: "17.0.0",
5410
- version: "22.2.2",
5692
+ version: "22.2.3",
5411
5693
  type: ClipperDocumentIndexComponent,
5412
5694
  isStandalone: true,
5413
5695
  selector: "ng-component",
@@ -5609,7 +5891,7 @@ var ClipperDocumentIndexComponent = class ClipperDocumentIndexComponent {
5609
5891
  },
5610
5892
  {
5611
5893
  kind: "component",
5612
- type: i2$3.MatButton,
5894
+ type: i2$4.MatButton,
5613
5895
  selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ",
5614
5896
  inputs: ["matButton"],
5615
5897
  exportAs: ["matButton", "matAnchor"]
@@ -5633,7 +5915,7 @@ var ClipperDocumentIndexComponent = class ClipperDocumentIndexComponent {
5633
5915
  };
5634
5916
  i0.ɵɵngDeclareClassMetadata({
5635
5917
  minVersion: "12.0.0",
5636
- version: "22.2.2",
5918
+ version: "22.2.3",
5637
5919
  ngImport: i0,
5638
5920
  type: ClipperDocumentIndexComponent,
5639
5921
  decorators: [{
@@ -5740,7 +6022,7 @@ var ClipperSearchCalendarComponent = class ClipperSearchCalendarComponent {
5740
6022
  static {
5741
6023
  this.ɵfac = i0.ɵɵngDeclareFactory({
5742
6024
  minVersion: "12.0.0",
5743
- version: "22.2.2",
6025
+ version: "22.2.3",
5744
6026
  ngImport: i0,
5745
6027
  type: ClipperSearchCalendarComponent,
5746
6028
  deps: [],
@@ -5750,7 +6032,7 @@ var ClipperSearchCalendarComponent = class ClipperSearchCalendarComponent {
5750
6032
  static {
5751
6033
  this.ɵcmp = i0.ɵɵngDeclareComponent({
5752
6034
  minVersion: "17.0.0",
5753
- version: "22.2.2",
6035
+ version: "22.2.3",
5754
6036
  type: ClipperSearchCalendarComponent,
5755
6037
  isStandalone: true,
5756
6038
  selector: "clipper-search-calendar",
@@ -5889,7 +6171,7 @@ var ClipperSearchCalendarComponent = class ClipperSearchCalendarComponent {
5889
6171
  },
5890
6172
  {
5891
6173
  kind: "component",
5892
- type: i2$3.MatButton,
6174
+ type: i2$4.MatButton,
5893
6175
  selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ",
5894
6176
  inputs: ["matButton"],
5895
6177
  exportAs: ["matButton", "matAnchor"]
@@ -5965,7 +6247,7 @@ var ClipperSearchCalendarComponent = class ClipperSearchCalendarComponent {
5965
6247
  };
5966
6248
  i0.ɵɵngDeclareClassMetadata({
5967
6249
  minVersion: "12.0.0",
5968
- version: "22.2.2",
6250
+ version: "22.2.3",
5969
6251
  ngImport: i0,
5970
6252
  type: ClipperSearchCalendarComponent,
5971
6253
  decorators: [{
@@ -6007,6 +6289,6 @@ i0.ɵɵngDeclareClassMetadata({
6007
6289
  }]
6008
6290
  }
6009
6291
  });
6010
- export { ClipperBrowserComponent, ClipperBrowserDialogComponent, ClipperDocumentIndexComponent, ClipperDocumentManager, ClipperDocumentMenuComponent, ClipperDocumentViewerService, ClipperDocumentsUtils, ClipperSearchCalendarComponent, ClipperSearchFacetsComponent, ClipperSearchFreeTextHelpComponent, ClipperSearchFreeTextQueryBuilderComponent, ClipperSearchResultItemComponent, ClipperSearchResultItemDisplayMode, ClipperSearchResultManager };
6292
+ export { ClipperBrowserComponent, ClipperBrowserDialogComponent, ClipperDocumentAnalysisComponent, ClipperDocumentIndexComponent, ClipperDocumentManager, ClipperDocumentMenuComponent, ClipperDocumentViewerService, ClipperDocumentsUtils, ClipperSearchCalendarComponent, ClipperSearchFacetsComponent, ClipperSearchFreeTextHelpComponent, ClipperSearchFreeTextQueryBuilderComponent, ClipperSearchResultItemComponent, ClipperSearchResultItemDisplayMode, ClipperSearchResultManager, document_analysis_component_exports as t };
6011
6293
 
6012
6294
  //# sourceMappingURL=arsedizioni-ars-utils-clipper.ui.mjs.map