@rivet-health/design-system 28.2.5 → 28.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/navigation/views/view-menu/view-menu.component.mjs +2 -2
- package/esm2020/lib/navigation/views/views/views.component.mjs +3 -6
- package/esm2020/lib/overlay/callout/menu/menu.component.mjs +2 -2
- package/fesm2015/rivet-health-design-system.mjs +6 -9
- package/fesm2015/rivet-health-design-system.mjs.map +1 -1
- package/fesm2020/rivet-health-design-system.mjs +6 -9
- package/fesm2020/rivet-health-design-system.mjs.map +1 -1
- package/lib/navigation/views/views/views.component.d.ts +0 -1
- package/package.json +1 -1
|
@@ -14,10 +14,10 @@ export class ViewMenuComponent {
|
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
ViewMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ViewMenuComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
-
ViewMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ViewMenuComponent, selector: "riv-view-menu", inputs: { manager: "manager", view: "view", menuContext: "menuContext" }, queries: [{ propertyName: "triggerTemplate", first: true, predicate: ["menuTrigger"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"view\">\n <riv-menu\n #menu\n [preferredPosition]=\"'bottom-right'\"\n (click)=\"$event.stopPropagation()\"\n >\n <ng-container *ngIf=\"triggerTemplate\">\n <ng-template #trigger>\n <ng-container [ngTemplateOutlet]=\"triggerTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setEnabled',\n id: view.id,\n enabled: !view.enabled\n })\n \"\n [disabled]=\"view.system\"\n >\n {{ view.enabled ? 'Hide tab' : 'Show tab' }}\n </button>\n <riv-menu-divider></riv-menu-divider>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setEditingView',\n context: { id: view.id, autoRename: false, menuContext }\n })\n \"\n [disabled]=\"view.system\"\n >\n Edit view\n </button>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setEditingView',\n context: { id: view.id, autoRename: true, menuContext }\n })\n \"\n [disabled]=\"view.system\"\n >\n Rename view\n </button>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({ type: 'duplicateView', view, menuContext })\n \"\n >\n Duplicate view\n </button>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setDeletingView',\n context: { id: view.id, menuContext }\n })\n \"\n [disabled]=\"view.system\"\n >\n Delete view\n </button>\n <riv-menu-divider></riv-menu-divider>\n <button\n riv-menu-item\n (click)=\"manager?.actions?.next({ type: 'copyLinkToView', view })\"\n >\n Copy link to view\n </button>\n </riv-menu>\n\n <ng-container *ngIf=\"manager?.state | async; let state\">\n <ng-container *ngIf=\"state.editingViewContext; let editingViewContext\">\n <riv-edit-view\n *ngIf=\"\n editingViewContext.id === view.id &&\n editingViewContext.menuContext === menuContext\n \"\n [view]=\"view\"\n [userSource]=\"state.userSource\"\n [autoSelectName]=\"editingViewContext.autoRename\"\n [anchor]=\"el.nativeElement\"\n (save)=\"manager?.actions?.next({ type: 'updateView', view: $event })\"\n (delete)=\"manager?.actions?.next({ type: 'deleteView', view: $event })\"\n (close)=\"\n manager?.actions?.next({ type: 'setEditingView', context: null })\n \"\n ></riv-edit-view>\n </ng-container>\n\n <ng-container *ngIf=\"state.deletingViewContext; let deletingViewContext\">\n <riv-dialog\n *ngIf=\"\n deletingViewContext.id === view.id &&\n deletingViewContext.menuContext === menuContext\n \"\n [title]=\"'Delete view'\"\n (close)=\"\n manager?.actions?.next({ type: 'setDeletingView', context: null })\n \"\n >\n <div class=\"delete-dialog\">\n <div class=\"delete-title\">\n Are you sure you want to delete the following view?\n </div>\n <p>{{ view.title }}</p>\n </div>\n <footer class=\"delete-footer\">\n <button\n rivButton\n (click)=\"\n manager?.actions?.next({ type: 'setDeletingView', context: null })\n \"\n >\n Cancel\n </button>\n <button\n rivButton\n [variant]=\"'danger'\"\n (click)=\"\n manager?.actions?.next({\n type: 'deleteView',\n view\n })\n \"\n >\n Delete view\n </button>\n </footer>\n </riv-dialog>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [":host{display:inline-flex;
|
|
17
|
+
ViewMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ViewMenuComponent, selector: "riv-view-menu", inputs: { manager: "manager", view: "view", menuContext: "menuContext" }, queries: [{ propertyName: "triggerTemplate", first: true, predicate: ["menuTrigger"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"view\">\n <riv-menu\n #menu\n [preferredPosition]=\"'bottom-right'\"\n (click)=\"$event.stopPropagation()\"\n >\n <ng-container *ngIf=\"triggerTemplate\">\n <ng-template #trigger>\n <ng-container [ngTemplateOutlet]=\"triggerTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setEnabled',\n id: view.id,\n enabled: !view.enabled\n })\n \"\n [disabled]=\"view.system\"\n >\n {{ view.enabled ? 'Hide tab' : 'Show tab' }}\n </button>\n <riv-menu-divider></riv-menu-divider>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setEditingView',\n context: { id: view.id, autoRename: false, menuContext }\n })\n \"\n [disabled]=\"view.system\"\n >\n Edit view\n </button>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setEditingView',\n context: { id: view.id, autoRename: true, menuContext }\n })\n \"\n [disabled]=\"view.system\"\n >\n Rename view\n </button>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({ type: 'duplicateView', view, menuContext })\n \"\n >\n Duplicate view\n </button>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setDeletingView',\n context: { id: view.id, menuContext }\n })\n \"\n [disabled]=\"view.system\"\n >\n Delete view\n </button>\n <riv-menu-divider></riv-menu-divider>\n <button\n riv-menu-item\n (click)=\"manager?.actions?.next({ type: 'copyLinkToView', view })\"\n >\n Copy link to view\n </button>\n </riv-menu>\n\n <ng-container *ngIf=\"manager?.state | async; let state\">\n <ng-container *ngIf=\"state.editingViewContext; let editingViewContext\">\n <riv-edit-view\n *ngIf=\"\n editingViewContext.id === view.id &&\n editingViewContext.menuContext === menuContext\n \"\n [view]=\"view\"\n [userSource]=\"state.userSource\"\n [autoSelectName]=\"editingViewContext.autoRename\"\n [anchor]=\"el.nativeElement\"\n (save)=\"manager?.actions?.next({ type: 'updateView', view: $event })\"\n (delete)=\"manager?.actions?.next({ type: 'deleteView', view: $event })\"\n (close)=\"\n manager?.actions?.next({ type: 'setEditingView', context: null })\n \"\n ></riv-edit-view>\n </ng-container>\n\n <ng-container *ngIf=\"state.deletingViewContext; let deletingViewContext\">\n <riv-dialog\n *ngIf=\"\n deletingViewContext.id === view.id &&\n deletingViewContext.menuContext === menuContext\n \"\n [title]=\"'Delete view'\"\n (close)=\"\n manager?.actions?.next({ type: 'setDeletingView', context: null })\n \"\n >\n <div class=\"delete-dialog\">\n <div class=\"delete-title\">\n Are you sure you want to delete the following view?\n </div>\n <p>{{ view.title }}</p>\n </div>\n <footer class=\"delete-footer\">\n <button\n rivButton\n (click)=\"\n manager?.actions?.next({ type: 'setDeletingView', context: null })\n \"\n >\n Cancel\n </button>\n <button\n rivButton\n [variant]=\"'danger'\"\n (click)=\"\n manager?.actions?.next({\n type: 'deleteView',\n view\n })\n \"\n >\n Delete view\n </button>\n </footer>\n </riv-dialog>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [":host{display:inline-flex;align-items:stretch}riv-menu{width:100%;max-width:100%;height:100%;max-height:100%}.delete-dialog{padding:var(--size-xlarge);display:flex;flex-direction:column;gap:var(--size-large);width:calc(var(--base-grid-size) * 120);max-width:100%}.delete-title{font:var(--title-02)}.delete-footer{padding:var(--size-medium);display:flex;justify-content:space-between;gap:var(--size-medium)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ButtonComponent, selector: "[rivButton]", inputs: ["locked", "disabled", "loading", "full", "size", "variant", "icon", "iconPosition", "active"] }, { kind: "component", type: i3.DialogComponent, selector: "riv-dialog", inputs: ["title"], outputs: ["close"] }, { kind: "component", type: i4.EditViewComponent, selector: "riv-edit-view", inputs: ["anchor", "autoSelectName", "view", "userSource", "mode"], outputs: ["save", "delete", "close"] }, { kind: "component", type: i5.MenuComponent, selector: "riv-menu", inputs: ["preferredPosition"] }, { kind: "component", type: i6.MenuDividerComponent, selector: "riv-menu-divider" }, { kind: "component", type: i7.MenuItemComponent, selector: "[riv-menu-item]", inputs: ["locked", "disabled", "variant"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
18
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ViewMenuComponent, decorators: [{
|
|
19
19
|
type: Component,
|
|
20
|
-
args: [{ selector: 'riv-view-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"view\">\n <riv-menu\n #menu\n [preferredPosition]=\"'bottom-right'\"\n (click)=\"$event.stopPropagation()\"\n >\n <ng-container *ngIf=\"triggerTemplate\">\n <ng-template #trigger>\n <ng-container [ngTemplateOutlet]=\"triggerTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setEnabled',\n id: view.id,\n enabled: !view.enabled\n })\n \"\n [disabled]=\"view.system\"\n >\n {{ view.enabled ? 'Hide tab' : 'Show tab' }}\n </button>\n <riv-menu-divider></riv-menu-divider>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setEditingView',\n context: { id: view.id, autoRename: false, menuContext }\n })\n \"\n [disabled]=\"view.system\"\n >\n Edit view\n </button>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setEditingView',\n context: { id: view.id, autoRename: true, menuContext }\n })\n \"\n [disabled]=\"view.system\"\n >\n Rename view\n </button>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({ type: 'duplicateView', view, menuContext })\n \"\n >\n Duplicate view\n </button>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setDeletingView',\n context: { id: view.id, menuContext }\n })\n \"\n [disabled]=\"view.system\"\n >\n Delete view\n </button>\n <riv-menu-divider></riv-menu-divider>\n <button\n riv-menu-item\n (click)=\"manager?.actions?.next({ type: 'copyLinkToView', view })\"\n >\n Copy link to view\n </button>\n </riv-menu>\n\n <ng-container *ngIf=\"manager?.state | async; let state\">\n <ng-container *ngIf=\"state.editingViewContext; let editingViewContext\">\n <riv-edit-view\n *ngIf=\"\n editingViewContext.id === view.id &&\n editingViewContext.menuContext === menuContext\n \"\n [view]=\"view\"\n [userSource]=\"state.userSource\"\n [autoSelectName]=\"editingViewContext.autoRename\"\n [anchor]=\"el.nativeElement\"\n (save)=\"manager?.actions?.next({ type: 'updateView', view: $event })\"\n (delete)=\"manager?.actions?.next({ type: 'deleteView', view: $event })\"\n (close)=\"\n manager?.actions?.next({ type: 'setEditingView', context: null })\n \"\n ></riv-edit-view>\n </ng-container>\n\n <ng-container *ngIf=\"state.deletingViewContext; let deletingViewContext\">\n <riv-dialog\n *ngIf=\"\n deletingViewContext.id === view.id &&\n deletingViewContext.menuContext === menuContext\n \"\n [title]=\"'Delete view'\"\n (close)=\"\n manager?.actions?.next({ type: 'setDeletingView', context: null })\n \"\n >\n <div class=\"delete-dialog\">\n <div class=\"delete-title\">\n Are you sure you want to delete the following view?\n </div>\n <p>{{ view.title }}</p>\n </div>\n <footer class=\"delete-footer\">\n <button\n rivButton\n (click)=\"\n manager?.actions?.next({ type: 'setDeletingView', context: null })\n \"\n >\n Cancel\n </button>\n <button\n rivButton\n [variant]=\"'danger'\"\n (click)=\"\n manager?.actions?.next({\n type: 'deleteView',\n view\n })\n \"\n >\n Delete view\n </button>\n </footer>\n </riv-dialog>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [":host{display:inline-flex;
|
|
20
|
+
args: [{ selector: 'riv-view-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"view\">\n <riv-menu\n #menu\n [preferredPosition]=\"'bottom-right'\"\n (click)=\"$event.stopPropagation()\"\n >\n <ng-container *ngIf=\"triggerTemplate\">\n <ng-template #trigger>\n <ng-container [ngTemplateOutlet]=\"triggerTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setEnabled',\n id: view.id,\n enabled: !view.enabled\n })\n \"\n [disabled]=\"view.system\"\n >\n {{ view.enabled ? 'Hide tab' : 'Show tab' }}\n </button>\n <riv-menu-divider></riv-menu-divider>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setEditingView',\n context: { id: view.id, autoRename: false, menuContext }\n })\n \"\n [disabled]=\"view.system\"\n >\n Edit view\n </button>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setEditingView',\n context: { id: view.id, autoRename: true, menuContext }\n })\n \"\n [disabled]=\"view.system\"\n >\n Rename view\n </button>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({ type: 'duplicateView', view, menuContext })\n \"\n >\n Duplicate view\n </button>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setDeletingView',\n context: { id: view.id, menuContext }\n })\n \"\n [disabled]=\"view.system\"\n >\n Delete view\n </button>\n <riv-menu-divider></riv-menu-divider>\n <button\n riv-menu-item\n (click)=\"manager?.actions?.next({ type: 'copyLinkToView', view })\"\n >\n Copy link to view\n </button>\n </riv-menu>\n\n <ng-container *ngIf=\"manager?.state | async; let state\">\n <ng-container *ngIf=\"state.editingViewContext; let editingViewContext\">\n <riv-edit-view\n *ngIf=\"\n editingViewContext.id === view.id &&\n editingViewContext.menuContext === menuContext\n \"\n [view]=\"view\"\n [userSource]=\"state.userSource\"\n [autoSelectName]=\"editingViewContext.autoRename\"\n [anchor]=\"el.nativeElement\"\n (save)=\"manager?.actions?.next({ type: 'updateView', view: $event })\"\n (delete)=\"manager?.actions?.next({ type: 'deleteView', view: $event })\"\n (close)=\"\n manager?.actions?.next({ type: 'setEditingView', context: null })\n \"\n ></riv-edit-view>\n </ng-container>\n\n <ng-container *ngIf=\"state.deletingViewContext; let deletingViewContext\">\n <riv-dialog\n *ngIf=\"\n deletingViewContext.id === view.id &&\n deletingViewContext.menuContext === menuContext\n \"\n [title]=\"'Delete view'\"\n (close)=\"\n manager?.actions?.next({ type: 'setDeletingView', context: null })\n \"\n >\n <div class=\"delete-dialog\">\n <div class=\"delete-title\">\n Are you sure you want to delete the following view?\n </div>\n <p>{{ view.title }}</p>\n </div>\n <footer class=\"delete-footer\">\n <button\n rivButton\n (click)=\"\n manager?.actions?.next({ type: 'setDeletingView', context: null })\n \"\n >\n Cancel\n </button>\n <button\n rivButton\n [variant]=\"'danger'\"\n (click)=\"\n manager?.actions?.next({\n type: 'deleteView',\n view\n })\n \"\n >\n Delete view\n </button>\n </footer>\n </riv-dialog>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [":host{display:inline-flex;align-items:stretch}riv-menu{width:100%;max-width:100%;height:100%;max-height:100%}.delete-dialog{padding:var(--size-xlarge);display:flex;flex-direction:column;gap:var(--size-large);width:calc(var(--base-grid-size) * 120);max-width:100%}.delete-title{font:var(--title-02)}.delete-footer{padding:var(--size-medium);display:flex;justify-content:space-between;gap:var(--size-medium)}\n"] }]
|
|
21
21
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { manager: [{
|
|
22
22
|
type: Input
|
|
23
23
|
}], view: [{
|
|
@@ -50,10 +50,10 @@ export class ViewsComponent {
|
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
ViewsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ViewsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
-
ViewsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ViewsComponent, selector: "riv-views", inputs: { manager: "manager", sideSheetTopOffset: "sideSheetTopOffset" }, viewQueries: [{ propertyName: "overflowTrigger", first: true, predicate: ["overflowTrigger"], descendants: true, read: ElementRef }, { propertyName: "activeTab", first: true, predicate: ["activeTab"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n (rivClientSize)=\"\n manager?.actions?.next({ type: 'setContainerWidth', width: $event.width })\n \"\n class=\"container\"\n>\n <ng-container *ngIf=\"manager?.state | async; let s\">\n <ng-container\n *ngFor=\"let view of s.displayedViews; let i = index; trackBy: trackById\"\n >\n <ng-container *ngIf=\"view.active; else inactiveTab\">\n <div\n #activeTab\n class=\"tab active\"\n [class.dragging]=\"draggedTabIndex === i\"\n [class.dragged-over-left]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex > i\n \"\n [class.dragged-over-right]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex < i\n \"\n [attr.draggable]=\"i > 0\"\n [attr.droppable]=\"i > 0\"\n (dragstart)=\"dragStart(i)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i)\"\n (drop)=\"drop(i)\"\n >\n <riv-icon\n class=\"tab-reorder\"\n [class.hidden-class]=\"i === 0\"\n [name]=\"'Reorder'\"\n [size]=\"16\"\n ></riv-icon>\n <div class=\"menu-wrapper\" rivTruncate>\n <riv-view-menu\n [manager]=\"manager\"\n [view]=\"view\"\n [menuContext]=\"'tab'\"\n class=\"active-menu\"\n >\n <ng-template #menuTrigger>\n <button class=\"menu-trigger\" rivTruncate>\n {{ view.title }}\n </button>\n </ng-template>\n </riv-view-menu>\n </div>\n </div>\n </ng-container>\n <ng-template #inactiveTab>\n <button\n class=\"tab\"\n [class.dragging]=\"draggedTabIndex === i\"\n [class.dragged-over-left]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex > i\n \"\n [class.dragged-over-right]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex < i\n \"\n [attr.draggable]=\"i > 0\"\n [attr.droppable]=\"i > 0\"\n (dragstart)=\"dragStart(i)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i)\"\n (drop)=\"drop(i)\"\n (click)=\"\n manager?.actions?.next({ type: 'setActiveView', id: view.id })\n \"\n >\n <riv-icon\n class=\"tab-reorder\"\n [class.hidden-class]=\"i === 0\"\n [name]=\"'Reorder'\"\n [size]=\"16\"\n ></riv-icon>\n <span rivTruncate>\n {{ view.title }}\n </span>\n </button>\n </ng-template>\n </ng-container>\n <button\n *ngIf=\"s.allEnabledViews.length - s.displayedViews.length; let count\"\n class=\"tab overflow\"\n rivTruncate\n #overflowTrigger\n (click)=\"\n manager?.actions?.next({ type: 'setOverflowPickerOpen', open: true })\n \"\n >\n {{ count | rivNumber }} more\n </button>\n <ng-container *ngIf=\"s.overflow.pickerOpen\">\n <riv-callout\n *riv-overlay\n [anchor]=\"overflowTrigger?.nativeElement\"\n [isModal]=\"true\"\n [showCaret]=\"false\"\n [theme]=\"'light'\"\n [preferredPosition]=\"'bottom-left'\"\n (close)=\"\n manager?.actions?.next({ type: 'setOverflowPickerOpen', open: false })\n \"\n >\n <div class=\"overflow-callout\">\n <riv-search\n [value]=\"s.overflow.search\"\n (valueChange)=\"\n manager?.actions?.next({\n type: 'setOverflowSearchQuery',\n query: $event\n })\n \"\n ></riv-search>\n <div class=\"overflow-view-list\">\n <button\n *ngFor=\"let view of s.enabledViews; let i = index\"\n class=\"overflow-view\"\n [class.system]=\"view.system\"\n [class.dragging]=\"draggedTabIndex === i\"\n [class.dragged-over-top]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex > i\n \"\n [class.dragged-over-bottom]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex < i\n \"\n [attr.draggable]=\"i > 0\"\n [attr.droppable]=\"i > 0\"\n (dragstart)=\"dragStart(i)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i)\"\n (drop)=\"drop(i)\"\n (click)=\"\n manager?.actions?.next({ type: 'setActiveView', id: view.id });\n manager?.actions?.next({\n type: 'setOverflowPickerOpen',\n open: false\n })\n \"\n >\n <riv-icon\n *ngIf=\"i > 0\"\n class=\"overflow-reorder\"\n [name]=\"'Reorder'\"\n [size]=\"16\"\n ></riv-icon>\n <div class=\"overflow-title\" rivTruncate>\n <riv-highlight\n [indices]=\"view.titleHighlightIndices ?? []\"\n [text]=\"view.title\"\n ></riv-highlight>\n </div>\n <riv-view-menu\n [manager]=\"manager\"\n [view]=\"view\"\n [menuContext]=\"'overflow'\"\n ></riv-view-menu>\n </button>\n <riv-zero-state\n *ngIf=\"!s.enabledViews.length\"\n [message]=\"'No matching views.'\"\n ></riv-zero-state>\n </div>\n </div>\n </riv-callout>\n </ng-container>\n <div class=\"all-views-button-container\">\n <button\n rivButton\n [variant]=\"'ghost'\"\n [size]=\"'medium'\"\n (click)=\"showAllViews = true\"\n >\n All views\n </button>\n </div>\n </ng-container>\n</div>\n\n<riv-all-views-modal\n *ngIf=\"showAllViews\"\n [manager]=\"manager\"\n [topOffset]=\"sideSheetTopOffset\"\n (close)=\"showAllViews = false\"\n></riv-all-views-modal>\n\n<riv-toast *ngIf=\"showLinkCopiedToast | async\" (close)=\"toastClosed.next()\">\n Link to view copied to clipboard\n</riv-toast>\n", styles: [".container{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,calc(var(--base-grid-size) * 81));justify-content:start;border-bottom:var(--border-width) solid var(--border-light)}.tab{font:var(--input-medium);color:var(--type-light-low-contrast);background-color:var(--surface-light-1);border:var(--border-width) solid var(--border-light);border-bottom:none;border-top-left-radius:var(--border-radius-medium);border-top-right-radius:var(--border-radius-medium);padding:var(--size-small) var(--size-large) var(--size-small) 0;cursor:pointer;transition:background-color var(--medium-transition);display:flex;justify-content:flex-start;align-items:center;position:relative}.tab:hover{background-color:var(--surface-light-2)}.tab:active{background-color:var(--surface-light-3)}.tab:not(:first-child){margin-left:calc(var(--border-width) * -1)}.tab.active{color:var(--purp-80);background-color:var(--surface-light-0);border-bottom:var(--border-width) solid var(--surface-light-0);margin-bottom:calc(var(--border-width) * -1);z-index:1}.tab.active:active{border:var(--border-width) solid var(--purp-80)}.tab.dragging{cursor:grabbing}.tab.dragged-over-left:before,.tab.dragged-over-right:before{content:\"\";position:absolute;top:0;bottom:0;width:var(--size-xxsmall);background-color:var(--brand);box-shadow:0 0 var(--size-xxsmall) var(--brand)}.tab.dragged-over-left:before{left:0}.tab.dragged-over-right:before{right:0}.tab-reorder{color:var(--type-light-low-contrast);opacity:0;transition:opacity var(--short-transition);cursor:grab;margin:0 var(--size-xsmall)}.tab:hover .tab-reorder{opacity:1}.hidden-class{visibility:hidden}.menu-wrapper{display:inline-flex}.active-menu,.menu-trigger{color:var(--type-light-link-hover);max-width:100%;cursor:pointer;font:var(--input-medium)}.tab.overflow{padding-left:var(--size-large)}.all-views-button-container{padding:var(--size-xxsmall)}.overflow-callout{padding:var(--size-large);display:flex;flex-direction:column;gap:var(--size-medium);height:calc(var(--base-grid-size) * 120);max-height:50vh;width:calc(var(--base-grid-size) * 75);max-width:50vw}.overflow-view-list{display:flex;flex-direction:column;gap:var(--size-small);flex-grow:1;overflow-y:auto}.overflow-view{display:flex;align-items:center;gap:var(--size-small);cursor:pointer;border-radius:var(--border-radius-medium);transition:background-color var(--short-transition);position:relative}.overflow-view.system{padding-left:var(--size-small)}.overflow-view:hover{background-color:var(--surface-light-2)}.overflow-view.dragged-over-top:before,.overflow-view.dragged-over-bottom:before{content:\"\";position:absolute;left:0;right:0;height:var(--size-xxsmall);background-color:var(--brand);box-shadow:0 0 var(--size-xxsmall) var(--brand)}.overflow-view.dragged-over-top:before{top:0}.overflow-view.dragged-over-bottom:before{bottom:0}.overflow-reorder{color:var(--type-light-low-contrast);cursor:grab}.overflow-title{flex-grow:1;text-align:left}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AllViewsModalComponent, selector: "riv-all-views-modal", inputs: ["manager", "topOffset"], outputs: ["close"] }, { kind: "component", type: i3.ButtonComponent, selector: "[rivButton]", inputs: ["locked", "disabled", "loading", "full", "size", "variant", "icon", "iconPosition", "active"] }, { kind: "component", type: i4.CalloutComponent, selector: "riv-callout", inputs: ["anchor", "isModal", "preferredPosition", "allowedPositions", "fallbackDirection", "showCaret", "theme"], outputs: ["close"] }, { kind: "component", type: i5.HighlightComponent, selector: "riv-highlight", inputs: ["text", "indices"] }, { kind: "component", type: i6.IconComponent, selector: "riv-icon", inputs: ["name", "size", "customSize", "strokeWidth"] }, { kind: "directive", type: i7.OverlayDirective, selector: "[riv-overlay]" }, { kind: "component", type: i8.SearchComponent, selector: "riv-search", inputs: ["placeholder", "name", "labelTemplate"] }, { kind: "directive", type: i9.SizeDirective, selector: "[rivClientSize]", outputs: ["rivClientSize"] }, { kind: "component", type: i10.ToastComponent, selector: "riv-toast", inputs: ["variant", "icon"], outputs: ["close"] }, { kind: "component", type: i11.TruncateComponent, selector: "[rivTruncate]", inputs: ["maxTooltipWidth"] }, { kind: "component", type: i12.ViewMenuComponent, selector: "riv-view-menu", inputs: ["manager", "view", "menuContext"] }, { kind: "component", type: i13.ZeroStateComponent, selector: "riv-zero-state", inputs: ["message", "title", "icon"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i14.NumberPipe, name: "rivNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
53
|
+
ViewsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ViewsComponent, selector: "riv-views", inputs: { manager: "manager", sideSheetTopOffset: "sideSheetTopOffset" }, viewQueries: [{ propertyName: "overflowTrigger", first: true, predicate: ["overflowTrigger"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n (rivClientSize)=\"\n manager?.actions?.next({ type: 'setContainerWidth', width: $event.width })\n \"\n class=\"container\"\n>\n <ng-container *ngIf=\"manager?.state | async; let s\">\n <ng-container\n *ngFor=\"let view of s.displayedViews; let i = index; trackBy: trackById\"\n >\n <ng-container *ngIf=\"view.active; else inactiveTab\">\n <riv-view-menu\n [manager]=\"manager\"\n [view]=\"view\"\n [menuContext]=\"'tab'\"\n class=\"active-menu\"\n >\n <ng-template #menuTrigger>\n <div\n class=\"tab active\"\n [class.dragging]=\"draggedTabIndex === i\"\n [class.dragged-over-left]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex > i\n \"\n [class.dragged-over-right]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex < i\n \"\n [attr.draggable]=\"i > 0\"\n [attr.droppable]=\"i > 0\"\n (dragstart)=\"dragStart(i)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i)\"\n (drop)=\"drop(i)\"\n >\n <riv-icon\n class=\"tab-reorder\"\n [class.hidden-class]=\"i === 0\"\n [name]=\"'Reorder'\"\n [size]=\"16\"\n ></riv-icon>\n <div rivTruncate>\n {{ view.title }}\n </div>\n </div>\n </ng-template>\n </riv-view-menu>\n </ng-container>\n <ng-template #inactiveTab>\n <button\n class=\"tab\"\n [class.dragging]=\"draggedTabIndex === i\"\n [class.dragged-over-left]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex > i\n \"\n [class.dragged-over-right]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex < i\n \"\n [attr.draggable]=\"i > 0\"\n [attr.droppable]=\"i > 0\"\n (dragstart)=\"dragStart(i)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i)\"\n (drop)=\"drop(i)\"\n (click)=\"\n manager?.actions?.next({ type: 'setActiveView', id: view.id })\n \"\n >\n <riv-icon\n class=\"tab-reorder\"\n [class.hidden-class]=\"i === 0\"\n [name]=\"'Reorder'\"\n [size]=\"16\"\n ></riv-icon>\n <span rivTruncate>\n {{ view.title }}\n </span>\n </button>\n </ng-template>\n </ng-container>\n <button\n *ngIf=\"s.allEnabledViews.length - s.displayedViews.length; let count\"\n class=\"tab overflow\"\n rivTruncate\n #overflowTrigger\n (click)=\"\n manager?.actions?.next({ type: 'setOverflowPickerOpen', open: true })\n \"\n >\n {{ count | rivNumber }} more\n </button>\n <ng-container *ngIf=\"s.overflow.pickerOpen\">\n <riv-callout\n *riv-overlay\n [anchor]=\"overflowTrigger?.nativeElement\"\n [isModal]=\"true\"\n [showCaret]=\"false\"\n [theme]=\"'light'\"\n [preferredPosition]=\"'bottom-left'\"\n (close)=\"\n manager?.actions?.next({ type: 'setOverflowPickerOpen', open: false })\n \"\n >\n <div class=\"overflow-callout\">\n <riv-search\n [value]=\"s.overflow.search\"\n (valueChange)=\"\n manager?.actions?.next({\n type: 'setOverflowSearchQuery',\n query: $event\n })\n \"\n ></riv-search>\n <div class=\"overflow-view-list\">\n <button\n *ngFor=\"let view of s.enabledViews; let i = index\"\n class=\"overflow-view\"\n [class.system]=\"view.system\"\n [class.dragging]=\"draggedTabIndex === i\"\n [class.dragged-over-top]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex > i\n \"\n [class.dragged-over-bottom]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex < i\n \"\n [attr.draggable]=\"i > 0\"\n [attr.droppable]=\"i > 0\"\n (dragstart)=\"dragStart(i)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i)\"\n (drop)=\"drop(i)\"\n (click)=\"\n manager?.actions?.next({ type: 'setActiveView', id: view.id });\n manager?.actions?.next({\n type: 'setOverflowPickerOpen',\n open: false\n })\n \"\n >\n <riv-icon\n *ngIf=\"i > 0\"\n class=\"overflow-reorder\"\n [name]=\"'Reorder'\"\n [size]=\"16\"\n ></riv-icon>\n <div class=\"overflow-title\" rivTruncate>\n <riv-highlight\n [indices]=\"view.titleHighlightIndices ?? []\"\n [text]=\"view.title\"\n ></riv-highlight>\n </div>\n <riv-view-menu\n [manager]=\"manager\"\n [view]=\"view\"\n [menuContext]=\"'overflow'\"\n ></riv-view-menu>\n </button>\n <riv-zero-state\n *ngIf=\"!s.enabledViews.length\"\n [message]=\"'No matching views.'\"\n ></riv-zero-state>\n </div>\n </div>\n </riv-callout>\n </ng-container>\n <div class=\"all-views-button-container\">\n <button\n rivButton\n [variant]=\"'ghost'\"\n [size]=\"'medium'\"\n (click)=\"showAllViews = true\"\n >\n All views\n </button>\n </div>\n </ng-container>\n</div>\n\n<riv-all-views-modal\n *ngIf=\"showAllViews\"\n [manager]=\"manager\"\n [topOffset]=\"sideSheetTopOffset\"\n (close)=\"showAllViews = false\"\n></riv-all-views-modal>\n\n<riv-toast *ngIf=\"showLinkCopiedToast | async\" (close)=\"toastClosed.next()\">\n Link to view copied to clipboard\n</riv-toast>\n", styles: [".container{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,calc(var(--base-grid-size) * 81));justify-content:start;border-bottom:var(--border-width) solid var(--border-light)}.tab{font:var(--input-medium);color:var(--type-light-low-contrast);background-color:var(--surface-light-1);border:var(--border-width) solid var(--border-light);border-bottom:none;border-top-left-radius:var(--border-radius-medium);border-top-right-radius:var(--border-radius-medium);padding:var(--size-small) var(--size-large) var(--size-small) 0;cursor:pointer;transition:background-color var(--medium-transition);display:flex;justify-content:flex-start;align-items:center;position:relative}.tab:hover{background-color:var(--surface-light-2)}.tab:active{background-color:var(--surface-light-3)}.tab:not(:first-child),.active-menu{margin-left:calc(var(--border-width) * -1)}.tab.active{color:var(--purp-80);background-color:var(--surface-light-0);border-bottom:var(--border-width) solid var(--surface-light-0);margin-bottom:calc(var(--border-width) * -1);z-index:1;width:100%;max-width:100%;height:100%;max-height:100%}.tab.active:active{border:var(--border-width) solid var(--purp-80)}.tab.dragging{cursor:grabbing}.tab.dragged-over-left:before,.tab.dragged-over-right:before{content:\"\";position:absolute;top:0;bottom:0;width:var(--size-xxsmall);background-color:var(--brand);box-shadow:0 0 var(--size-xxsmall) var(--brand)}.tab.dragged-over-left:before{left:0}.tab.dragged-over-right:before{right:0}.tab-reorder{color:var(--type-light-low-contrast);opacity:0;transition:opacity var(--short-transition);cursor:grab;margin:0 var(--size-xsmall)}.tab:hover .tab-reorder{opacity:1}.hidden-class{visibility:hidden}.active-menu{display:inline-flex;color:var(--type-light-link-hover);--size: calc(100% + calc(var(--border-width)));width:var(--size);max-width:var(--size);height:var(--size);max-height:var(--size);cursor:pointer;font:var(--input-medium)}.tab.overflow{padding-left:var(--size-large)}.all-views-button-container{padding:var(--size-xxsmall)}.overflow-callout{padding:var(--size-large);display:flex;flex-direction:column;gap:var(--size-medium);height:calc(var(--base-grid-size) * 120);max-height:50vh;width:calc(var(--base-grid-size) * 75);max-width:50vw}.overflow-view-list{display:flex;flex-direction:column;gap:var(--size-small);flex-grow:1;overflow-y:auto}.overflow-view{display:flex;align-items:center;gap:var(--size-small);cursor:pointer;border-radius:var(--border-radius-medium);transition:background-color var(--short-transition);position:relative}.overflow-view.system{padding-left:var(--size-small)}.overflow-view:hover{background-color:var(--surface-light-2)}.overflow-view.dragged-over-top:before,.overflow-view.dragged-over-bottom:before{content:\"\";position:absolute;left:0;right:0;height:var(--size-xxsmall);background-color:var(--brand);box-shadow:0 0 var(--size-xxsmall) var(--brand)}.overflow-view.dragged-over-top:before{top:0}.overflow-view.dragged-over-bottom:before{bottom:0}.overflow-reorder{color:var(--type-light-low-contrast);cursor:grab}.overflow-title{flex-grow:1;text-align:left}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AllViewsModalComponent, selector: "riv-all-views-modal", inputs: ["manager", "topOffset"], outputs: ["close"] }, { kind: "component", type: i3.ButtonComponent, selector: "[rivButton]", inputs: ["locked", "disabled", "loading", "full", "size", "variant", "icon", "iconPosition", "active"] }, { kind: "component", type: i4.CalloutComponent, selector: "riv-callout", inputs: ["anchor", "isModal", "preferredPosition", "allowedPositions", "fallbackDirection", "showCaret", "theme"], outputs: ["close"] }, { kind: "component", type: i5.HighlightComponent, selector: "riv-highlight", inputs: ["text", "indices"] }, { kind: "component", type: i6.IconComponent, selector: "riv-icon", inputs: ["name", "size", "customSize", "strokeWidth"] }, { kind: "directive", type: i7.OverlayDirective, selector: "[riv-overlay]" }, { kind: "component", type: i8.SearchComponent, selector: "riv-search", inputs: ["placeholder", "name", "labelTemplate"] }, { kind: "directive", type: i9.SizeDirective, selector: "[rivClientSize]", outputs: ["rivClientSize"] }, { kind: "component", type: i10.ToastComponent, selector: "riv-toast", inputs: ["variant", "icon"], outputs: ["close"] }, { kind: "component", type: i11.TruncateComponent, selector: "[rivTruncate]", inputs: ["maxTooltipWidth"] }, { kind: "component", type: i12.ViewMenuComponent, selector: "riv-view-menu", inputs: ["manager", "view", "menuContext"] }, { kind: "component", type: i13.ZeroStateComponent, selector: "riv-zero-state", inputs: ["message", "title", "icon"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i14.NumberPipe, name: "rivNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
54
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ViewsComponent, decorators: [{
|
|
55
55
|
type: Component,
|
|
56
|
-
args: [{ selector: 'riv-views', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n (rivClientSize)=\"\n manager?.actions?.next({ type: 'setContainerWidth', width: $event.width })\n \"\n class=\"container\"\n>\n <ng-container *ngIf=\"manager?.state | async; let s\">\n <ng-container\n *ngFor=\"let view of s.displayedViews; let i = index; trackBy: trackById\"\n >\n <ng-container *ngIf=\"view.active; else inactiveTab\">\n <
|
|
56
|
+
args: [{ selector: 'riv-views', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n (rivClientSize)=\"\n manager?.actions?.next({ type: 'setContainerWidth', width: $event.width })\n \"\n class=\"container\"\n>\n <ng-container *ngIf=\"manager?.state | async; let s\">\n <ng-container\n *ngFor=\"let view of s.displayedViews; let i = index; trackBy: trackById\"\n >\n <ng-container *ngIf=\"view.active; else inactiveTab\">\n <riv-view-menu\n [manager]=\"manager\"\n [view]=\"view\"\n [menuContext]=\"'tab'\"\n class=\"active-menu\"\n >\n <ng-template #menuTrigger>\n <div\n class=\"tab active\"\n [class.dragging]=\"draggedTabIndex === i\"\n [class.dragged-over-left]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex > i\n \"\n [class.dragged-over-right]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex < i\n \"\n [attr.draggable]=\"i > 0\"\n [attr.droppable]=\"i > 0\"\n (dragstart)=\"dragStart(i)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i)\"\n (drop)=\"drop(i)\"\n >\n <riv-icon\n class=\"tab-reorder\"\n [class.hidden-class]=\"i === 0\"\n [name]=\"'Reorder'\"\n [size]=\"16\"\n ></riv-icon>\n <div rivTruncate>\n {{ view.title }}\n </div>\n </div>\n </ng-template>\n </riv-view-menu>\n </ng-container>\n <ng-template #inactiveTab>\n <button\n class=\"tab\"\n [class.dragging]=\"draggedTabIndex === i\"\n [class.dragged-over-left]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex > i\n \"\n [class.dragged-over-right]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex < i\n \"\n [attr.draggable]=\"i > 0\"\n [attr.droppable]=\"i > 0\"\n (dragstart)=\"dragStart(i)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i)\"\n (drop)=\"drop(i)\"\n (click)=\"\n manager?.actions?.next({ type: 'setActiveView', id: view.id })\n \"\n >\n <riv-icon\n class=\"tab-reorder\"\n [class.hidden-class]=\"i === 0\"\n [name]=\"'Reorder'\"\n [size]=\"16\"\n ></riv-icon>\n <span rivTruncate>\n {{ view.title }}\n </span>\n </button>\n </ng-template>\n </ng-container>\n <button\n *ngIf=\"s.allEnabledViews.length - s.displayedViews.length; let count\"\n class=\"tab overflow\"\n rivTruncate\n #overflowTrigger\n (click)=\"\n manager?.actions?.next({ type: 'setOverflowPickerOpen', open: true })\n \"\n >\n {{ count | rivNumber }} more\n </button>\n <ng-container *ngIf=\"s.overflow.pickerOpen\">\n <riv-callout\n *riv-overlay\n [anchor]=\"overflowTrigger?.nativeElement\"\n [isModal]=\"true\"\n [showCaret]=\"false\"\n [theme]=\"'light'\"\n [preferredPosition]=\"'bottom-left'\"\n (close)=\"\n manager?.actions?.next({ type: 'setOverflowPickerOpen', open: false })\n \"\n >\n <div class=\"overflow-callout\">\n <riv-search\n [value]=\"s.overflow.search\"\n (valueChange)=\"\n manager?.actions?.next({\n type: 'setOverflowSearchQuery',\n query: $event\n })\n \"\n ></riv-search>\n <div class=\"overflow-view-list\">\n <button\n *ngFor=\"let view of s.enabledViews; let i = index\"\n class=\"overflow-view\"\n [class.system]=\"view.system\"\n [class.dragging]=\"draggedTabIndex === i\"\n [class.dragged-over-top]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex > i\n \"\n [class.dragged-over-bottom]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex < i\n \"\n [attr.draggable]=\"i > 0\"\n [attr.droppable]=\"i > 0\"\n (dragstart)=\"dragStart(i)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i)\"\n (drop)=\"drop(i)\"\n (click)=\"\n manager?.actions?.next({ type: 'setActiveView', id: view.id });\n manager?.actions?.next({\n type: 'setOverflowPickerOpen',\n open: false\n })\n \"\n >\n <riv-icon\n *ngIf=\"i > 0\"\n class=\"overflow-reorder\"\n [name]=\"'Reorder'\"\n [size]=\"16\"\n ></riv-icon>\n <div class=\"overflow-title\" rivTruncate>\n <riv-highlight\n [indices]=\"view.titleHighlightIndices ?? []\"\n [text]=\"view.title\"\n ></riv-highlight>\n </div>\n <riv-view-menu\n [manager]=\"manager\"\n [view]=\"view\"\n [menuContext]=\"'overflow'\"\n ></riv-view-menu>\n </button>\n <riv-zero-state\n *ngIf=\"!s.enabledViews.length\"\n [message]=\"'No matching views.'\"\n ></riv-zero-state>\n </div>\n </div>\n </riv-callout>\n </ng-container>\n <div class=\"all-views-button-container\">\n <button\n rivButton\n [variant]=\"'ghost'\"\n [size]=\"'medium'\"\n (click)=\"showAllViews = true\"\n >\n All views\n </button>\n </div>\n </ng-container>\n</div>\n\n<riv-all-views-modal\n *ngIf=\"showAllViews\"\n [manager]=\"manager\"\n [topOffset]=\"sideSheetTopOffset\"\n (close)=\"showAllViews = false\"\n></riv-all-views-modal>\n\n<riv-toast *ngIf=\"showLinkCopiedToast | async\" (close)=\"toastClosed.next()\">\n Link to view copied to clipboard\n</riv-toast>\n", styles: [".container{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,calc(var(--base-grid-size) * 81));justify-content:start;border-bottom:var(--border-width) solid var(--border-light)}.tab{font:var(--input-medium);color:var(--type-light-low-contrast);background-color:var(--surface-light-1);border:var(--border-width) solid var(--border-light);border-bottom:none;border-top-left-radius:var(--border-radius-medium);border-top-right-radius:var(--border-radius-medium);padding:var(--size-small) var(--size-large) var(--size-small) 0;cursor:pointer;transition:background-color var(--medium-transition);display:flex;justify-content:flex-start;align-items:center;position:relative}.tab:hover{background-color:var(--surface-light-2)}.tab:active{background-color:var(--surface-light-3)}.tab:not(:first-child),.active-menu{margin-left:calc(var(--border-width) * -1)}.tab.active{color:var(--purp-80);background-color:var(--surface-light-0);border-bottom:var(--border-width) solid var(--surface-light-0);margin-bottom:calc(var(--border-width) * -1);z-index:1;width:100%;max-width:100%;height:100%;max-height:100%}.tab.active:active{border:var(--border-width) solid var(--purp-80)}.tab.dragging{cursor:grabbing}.tab.dragged-over-left:before,.tab.dragged-over-right:before{content:\"\";position:absolute;top:0;bottom:0;width:var(--size-xxsmall);background-color:var(--brand);box-shadow:0 0 var(--size-xxsmall) var(--brand)}.tab.dragged-over-left:before{left:0}.tab.dragged-over-right:before{right:0}.tab-reorder{color:var(--type-light-low-contrast);opacity:0;transition:opacity var(--short-transition);cursor:grab;margin:0 var(--size-xsmall)}.tab:hover .tab-reorder{opacity:1}.hidden-class{visibility:hidden}.active-menu{display:inline-flex;color:var(--type-light-link-hover);--size: calc(100% + calc(var(--border-width)));width:var(--size);max-width:var(--size);height:var(--size);max-height:var(--size);cursor:pointer;font:var(--input-medium)}.tab.overflow{padding-left:var(--size-large)}.all-views-button-container{padding:var(--size-xxsmall)}.overflow-callout{padding:var(--size-large);display:flex;flex-direction:column;gap:var(--size-medium);height:calc(var(--base-grid-size) * 120);max-height:50vh;width:calc(var(--base-grid-size) * 75);max-width:50vw}.overflow-view-list{display:flex;flex-direction:column;gap:var(--size-small);flex-grow:1;overflow-y:auto}.overflow-view{display:flex;align-items:center;gap:var(--size-small);cursor:pointer;border-radius:var(--border-radius-medium);transition:background-color var(--short-transition);position:relative}.overflow-view.system{padding-left:var(--size-small)}.overflow-view:hover{background-color:var(--surface-light-2)}.overflow-view.dragged-over-top:before,.overflow-view.dragged-over-bottom:before{content:\"\";position:absolute;left:0;right:0;height:var(--size-xxsmall);background-color:var(--brand);box-shadow:0 0 var(--size-xxsmall) var(--brand)}.overflow-view.dragged-over-top:before{top:0}.overflow-view.dragged-over-bottom:before{bottom:0}.overflow-reorder{color:var(--type-light-low-contrast);cursor:grab}.overflow-title{flex-grow:1;text-align:left}\n"] }]
|
|
57
57
|
}], propDecorators: { manager: [{
|
|
58
58
|
type: Input
|
|
59
59
|
}], sideSheetTopOffset: [{
|
|
@@ -61,8 +61,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
61
61
|
}], overflowTrigger: [{
|
|
62
62
|
type: ViewChild,
|
|
63
63
|
args: ['overflowTrigger', { read: ElementRef }]
|
|
64
|
-
}], activeTab: [{
|
|
65
|
-
type: ViewChild,
|
|
66
|
-
args: ['activeTab', { read: ElementRef }]
|
|
67
64
|
}] } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvbmF2aWdhdGlvbi92aWV3cy92aWV3cy92aWV3cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9uYXZpZ2F0aW9uL3ZpZXdzL3ZpZXdzL3ZpZXdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBR0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTL0QsTUFBTSxPQUFPLGNBQWM7SUFOM0I7UUFhRSx1QkFBa0IsR0FBVyxDQUFDLENBQUM7UUFReEIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFckMsb0JBQWUsR0FBa0IsSUFBSSxDQUFDO1FBQ3RDLHdCQUFtQixHQUFrQixJQUFJLENBQUM7UUF3QjFDLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVlsQyxjQUFTLEdBQTZDLENBQ3BELENBQVMsRUFDVCxDQUEwQixFQUMxQixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztLQUNYO0lBdENDLFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLElBQUksS0FBSyxHQUFHLENBQUM7WUFBRSxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUM5QyxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWE7UUFDcEIsSUFBSSxLQUFLLEdBQUcsQ0FBQztZQUFFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7O1lBQzNDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksQ0FBQyxLQUFhO1FBQ2hCLElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxJQUFJLEVBQUU7WUFDakMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUN6QixJQUFJLEVBQUUsaUJBQWlCO2dCQUN2QixvQkFBb0IsRUFBRSxJQUFJLENBQUMsZUFBZTtnQkFDMUMsZUFBZSxFQUFFLEtBQUs7YUFDdkIsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0lBQ2xDLENBQUM7SUFJRCxRQUFRO1FBQ04sSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FDOUIsSUFBSSxDQUFDLE9BQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUN4QixNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLENBQUMsRUFDL0MsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUNoQixFQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUN4QyxDQUFDO0lBQ0osQ0FBQzs7MkdBcERVLGNBQWM7K0ZBQWQsY0FBYywwTkFTYSxVQUFVLGlHQUdoQixVQUFVLDZCQzlCNUMsc2xOQTBNQTsyRkR4TGEsY0FBYztrQkFOMUIsU0FBUzsrQkFDRSxXQUFXLG1CQUdKLHVCQUF1QixDQUFDLE1BQU07OEJBTS9DLE9BQU87c0JBRE4sS0FBSztnQkFJTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFJbEQsU0FBUztzQkFEUixTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBUcmFja0J5RnVuY3Rpb24sXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgbWVyZ2UsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJpdlZpZXdzIH0gZnJvbSAnLi4vc3RhdGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyaXYtdmlld3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vdmlld3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi92aWV3cy5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBWaWV3c0NvbXBvbmVudDxVIGV4dGVuZHMgUml2Vmlld3MuVXNlciwgViBleHRlbmRzIFJpdlZpZXdzLlZpZXc8VT4+XG4gIGltcGxlbWVudHMgT25Jbml0XG57XG4gIEBJbnB1dCgpXG4gIG1hbmFnZXI/OiBSaXZWaWV3cy5NYW5hZ2VyPFUsIFY+O1xuXG4gIEBJbnB1dCgpXG4gIHNpZGVTaGVldFRvcE9mZnNldDogbnVtYmVyID0gMDtcblxuICBAVmlld0NoaWxkKCdvdmVyZmxvd1RyaWdnZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgb3ZlcmZsb3dUcmlnZ2VyPzogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCdhY3RpdmVUYWInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgYWN0aXZlVGFiPzogRWxlbWVudFJlZjtcblxuICBwdWJsaWMgc2hvd0FsbFZpZXdzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgZHJhZ2dlZFRhYkluZGV4OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgZHJhZ2dlZE92ZXJUYWJJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgZHJhZ1N0YXJ0KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoaW5kZXggPiAwKSB0aGlzLmRyYWdnZWRUYWJJbmRleCA9IGluZGV4O1xuICB9XG5cbiAgZHJhZ092ZXIoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChpbmRleCA+IDApIHRoaXMuZHJhZ2dlZE92ZXJUYWJJbmRleCA9IGluZGV4O1xuICAgIGVsc2UgdGhpcy5kcmFnZ2VkT3ZlclRhYkluZGV4ID0gbnVsbDtcbiAgfVxuXG4gIGRyb3AoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLmRyYWdnZWRUYWJJbmRleCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5tYW5hZ2VyPy5hY3Rpb25zLm5leHQoe1xuICAgICAgICB0eXBlOiAndmlld09yZGVyQ2hhbmdlJyxcbiAgICAgICAgcHJldmlvdXNFbmFibGVkSW5kZXg6IHRoaXMuZHJhZ2dlZFRhYkluZGV4LFxuICAgICAgICBuZXdFbmFibGVkSW5kZXg6IGluZGV4LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5kcmFnZ2VkVGFiSW5kZXggPSBudWxsO1xuICAgIHRoaXMuZHJhZ2dlZE92ZXJUYWJJbmRleCA9IG51bGw7XG4gIH1cblxuICB0b2FzdENsb3NlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHNob3dMaW5rQ29waWVkVG9hc3Q/OiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNob3dMaW5rQ29waWVkVG9hc3QgPSBtZXJnZShcbiAgICAgIHRoaXMubWFuYWdlciEuYWN0aW9ucy5waXBlKFxuICAgICAgICBmaWx0ZXIoKHsgdHlwZSB9KSA9PiB0eXBlID09PSAnY29weUxpbmtUb1ZpZXcnKSxcbiAgICAgICAgbWFwKCgpID0+IHRydWUpLFxuICAgICAgKSxcbiAgICAgIHRoaXMudG9hc3RDbG9zZWQucGlwZShtYXAoKCkgPT4gZmFsc2UpKSxcbiAgICApO1xuICB9XG5cbiAgdHJhY2tCeUlkOiBUcmFja0J5RnVuY3Rpb248Uml2Vmlld3MuRnVsbFZpZXc8VSwgVj4+ID0gKFxuICAgIF86IG51bWJlcixcbiAgICB2OiBSaXZWaWV3cy5GdWxsVmlldzxVLCBWPixcbiAgKSA9PiB2LmlkO1xufVxuIiwiPGRpdlxuICAocml2Q2xpZW50U2l6ZSk9XCJcbiAgICBtYW5hZ2VyPy5hY3Rpb25zPy5uZXh0KHsgdHlwZTogJ3NldENvbnRhaW5lcldpZHRoJywgd2lkdGg6ICRldmVudC53aWR0aCB9KVxuICBcIlxuICBjbGFzcz1cImNvbnRhaW5lclwiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJtYW5hZ2VyPy5zdGF0ZSB8IGFzeW5jOyBsZXQgc1wiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0Zvcj1cImxldCB2aWV3IG9mIHMuZGlzcGxheWVkVmlld3M7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlJZFwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInZpZXcuYWN0aXZlOyBlbHNlIGluYWN0aXZlVGFiXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAjYWN0aXZlVGFiXG4gICAgICAgICAgY2xhc3M9XCJ0YWIgYWN0aXZlXCJcbiAgICAgICAgICBbY2xhc3MuZHJhZ2dpbmddPVwiZHJhZ2dlZFRhYkluZGV4ID09PSBpXCJcbiAgICAgICAgICBbY2xhc3MuZHJhZ2dlZC1vdmVyLWxlZnRdPVwiXG4gICAgICAgICAgICBkcmFnZ2VkT3ZlclRhYkluZGV4ID09PSBpICYmXG4gICAgICAgICAgICBkcmFnZ2VkVGFiSW5kZXggIT09IG51bGwgJiZcbiAgICAgICAgICAgIGRyYWdnZWRUYWJJbmRleCA+IGlcbiAgICAgICAgICBcIlxuICAgICAgICAgIFtjbGFzcy5kcmFnZ2VkLW92ZXItcmlnaHRdPVwiXG4gICAgICAgICAgICBkcmFnZ2VkT3ZlclRhYkluZGV4ID09PSBpICYmXG4gICAgICAgICAgICBkcmFnZ2VkVGFiSW5kZXggIT09IG51bGwgJiZcbiAgICAgICAgICAgIGRyYWdnZWRUYWJJbmRleCA8IGlcbiAgICAgICAgICBcIlxuICAgICAgICAgIFthdHRyLmRyYWdnYWJsZV09XCJpID4gMFwiXG4gICAgICAgICAgW2F0dHIuZHJvcHBhYmxlXT1cImkgPiAwXCJcbiAgICAgICAgICAoZHJhZ3N0YXJ0KT1cImRyYWdTdGFydChpKVwiXG4gICAgICAgICAgKGRyYWdlbnRlcik9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gICAgICAgICAgKGRyYWdvdmVyKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpOyBkcmFnT3ZlcihpKVwiXG4gICAgICAgICAgKGRyb3ApPVwiZHJvcChpKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8cml2LWljb25cbiAgICAgICAgICAgIGNsYXNzPVwidGFiLXJlb3JkZXJcIlxuICAgICAgICAgICAgW2NsYXNzLmhpZGRlbi1jbGFzc109XCJpID09PSAwXCJcbiAgICAgICAgICAgIFtuYW1lXT1cIidSZW9yZGVyJ1wiXG4gICAgICAgICAgICBbc2l6ZV09XCIxNlwiXG4gICAgICAgICAgPjwvcml2LWljb24+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1lbnUtd3JhcHBlclwiIHJpdlRydW5jYXRlPlxuICAgICAgICAgICAgPHJpdi12aWV3LW1lbnVcbiAgICAgICAgICAgICAgW21hbmFnZXJdPVwibWFuYWdlclwiXG4gICAgICAgICAgICAgIFt2aWV3XT1cInZpZXdcIlxuICAgICAgICAgICAgICBbbWVudUNvbnRleHRdPVwiJ3RhYidcIlxuICAgICAgICAgICAgICBjbGFzcz1cImFjdGl2ZS1tZW51XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNtZW51VHJpZ2dlcj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWVudS10cmlnZ2VyXCIgcml2VHJ1bmNhdGU+XG4gICAgICAgICAgICAgICAgICB7eyB2aWV3LnRpdGxlIH19XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3Jpdi12aWV3LW1lbnU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2luYWN0aXZlVGFiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJ0YWJcIlxuICAgICAgICAgIFtjbGFzcy5kcmFnZ2luZ109XCJkcmFnZ2VkVGFiSW5kZXggPT09IGlcIlxuICAgICAgICAgIFtjbGFzcy5kcmFnZ2VkLW92ZXItbGVmdF09XCJcbiAgICAgICAgICAgIGRyYWdnZWRPdmVyVGFiSW5kZXggPT09IGkgJiZcbiAgICAgICAgICAgIGRyYWdnZWRUYWJJbmRleCAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgZHJhZ2dlZFRhYkluZGV4ID4gaVxuICAgICAgICAgIFwiXG4gICAgICAgICAgW2NsYXNzLmRyYWdnZWQtb3Zlci1yaWdodF09XCJcbiAgICAgICAgICAgIGRyYWdnZWRPdmVyVGFiSW5kZXggPT09IGkgJiZcbiAgICAgICAgICAgIGRyYWdnZWRUYWJJbmRleCAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgZHJhZ2dlZFRhYkluZGV4IDwgaVxuICAgICAgICAgIFwiXG4gICAgICAgICAgW2F0dHIuZHJhZ2dhYmxlXT1cImkgPiAwXCJcbiAgICAgICAgICBbYXR0ci5kcm9wcGFibGVdPVwiaSA+IDBcIlxuICAgICAgICAgIChkcmFnc3RhcnQpPVwiZHJhZ1N0YXJ0KGkpXCJcbiAgICAgICAgICAoZHJhZ2VudGVyKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgICAgICAgICAoZHJhZ292ZXIpPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IGRyYWdPdmVyKGkpXCJcbiAgICAgICAgICAoZHJvcCk9XCJkcm9wKGkpXCJcbiAgICAgICAgICAoY2xpY2spPVwiXG4gICAgICAgICAgICBtYW5hZ2VyPy5hY3Rpb25zPy5uZXh0KHsgdHlwZTogJ3NldEFjdGl2ZVZpZXcnLCBpZDogdmlldy5pZCB9KVxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8cml2LWljb25cbiAgICAgICAgICAgIGNsYXNzPVwidGFiLXJlb3JkZXJcIlxuICAgICAgICAgICAgW2NsYXNzLmhpZGRlbi1jbGFzc109XCJpID09PSAwXCJcbiAgICAgICAgICAgIFtuYW1lXT1cIidSZW9yZGVyJ1wiXG4gICAgICAgICAgICBbc2l6ZV09XCIxNlwiXG4gICAgICAgICAgPjwvcml2LWljb24+XG4gICAgICAgICAgPHNwYW4gcml2VHJ1bmNhdGU+XG4gICAgICAgICAgICB7eyB2aWV3LnRpdGxlIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCJzLmFsbEVuYWJsZWRWaWV3cy5sZW5ndGggLSBzLmRpc3BsYXllZFZpZXdzLmxlbmd0aDsgbGV0IGNvdW50XCJcbiAgICAgIGNsYXNzPVwidGFiIG92ZXJmbG93XCJcbiAgICAgIHJpdlRydW5jYXRlXG4gICAgICAjb3ZlcmZsb3dUcmlnZ2VyXG4gICAgICAoY2xpY2spPVwiXG4gICAgICAgIG1hbmFnZXI/LmFjdGlvbnM/Lm5leHQoeyB0eXBlOiAnc2V0T3ZlcmZsb3dQaWNrZXJPcGVuJywgb3BlbjogdHJ1ZSB9KVxuICAgICAgXCJcbiAgICA+XG4gICAgICB7eyBjb3VudCB8IHJpdk51bWJlciB9fSBtb3JlXG4gICAgPC9idXR0b24+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInMub3ZlcmZsb3cucGlja2VyT3BlblwiPlxuICAgICAgPHJpdi1jYWxsb3V0XG4gICAgICAgICpyaXYtb3ZlcmxheVxuICAgICAgICBbYW5jaG9yXT1cIm92ZXJmbG93VHJpZ2dlcj8ubmF0aXZlRWxlbWVudFwiXG4gICAgICAgIFtpc01vZGFsXT1cInRydWVcIlxuICAgICAgICBbc2hvd0NhcmV0XT1cImZhbHNlXCJcbiAgICAgICAgW3RoZW1lXT1cIidsaWdodCdcIlxuICAgICAgICBbcHJlZmVycmVkUG9zaXRpb25dPVwiJ2JvdHRvbS1sZWZ0J1wiXG4gICAgICAgIChjbG9zZSk9XCJcbiAgICAgICAgICBtYW5hZ2VyPy5hY3Rpb25zPy5uZXh0KHsgdHlwZTogJ3NldE92ZXJmbG93UGlja2VyT3BlbicsIG9wZW46IGZhbHNlIH0pXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJvdmVyZmxvdy1jYWxsb3V0XCI+XG4gICAgICAgICAgPHJpdi1zZWFyY2hcbiAgICAgICAgICAgIFt2YWx1ZV09XCJzLm92ZXJmbG93LnNlYXJjaFwiXG4gICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgIG1hbmFnZXI/LmFjdGlvbnM/Lm5leHQoe1xuICAgICAgICAgICAgICAgIHR5cGU6ICdzZXRPdmVyZmxvd1NlYXJjaFF1ZXJ5JyxcbiAgICAgICAgICAgICAgICBxdWVyeTogJGV2ZW50XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBcIlxuICAgICAgICAgID48L3Jpdi1zZWFyY2g+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJmbG93LXZpZXctbGlzdFwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgdmlldyBvZiBzLmVuYWJsZWRWaWV3czsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwib3ZlcmZsb3ctdmlld1wiXG4gICAgICAgICAgICAgIFtjbGFzcy5zeXN0ZW1dPVwidmlldy5zeXN0ZW1cIlxuICAgICAgICAgICAgICBbY2xhc3MuZHJhZ2dpbmddPVwiZHJhZ2dlZFRhYkluZGV4ID09PSBpXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmRyYWdnZWQtb3Zlci10b3BdPVwiXG4gICAgICAgICAgICAgICAgZHJhZ2dlZE92ZXJUYWJJbmRleCA9PT0gaSAmJlxuICAgICAgICAgICAgICAgIGRyYWdnZWRUYWJJbmRleCAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIGRyYWdnZWRUYWJJbmRleCA+IGlcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmRyYWdnZWQtb3Zlci1ib3R0b21dPVwiXG4gICAgICAgICAgICAgICAgZHJhZ2dlZE92ZXJUYWJJbmRleCA9PT0gaSAmJlxuICAgICAgICAgICAgICAgIGRyYWdnZWRUYWJJbmRleCAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIGRyYWdnZWRUYWJJbmRleCA8IGlcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgW2F0dHIuZHJhZ2dhYmxlXT1cImkgPiAwXCJcbiAgICAgICAgICAgICAgW2F0dHIuZHJvcHBhYmxlXT1cImkgPiAwXCJcbiAgICAgICAgICAgICAgKGRyYWdzdGFydCk9XCJkcmFnU3RhcnQoaSlcIlxuICAgICAgICAgICAgICAoZHJhZ2VudGVyKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgICAgICAgICAgICAgKGRyYWdvdmVyKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpOyBkcmFnT3ZlcihpKVwiXG4gICAgICAgICAgICAgIChkcm9wKT1cImRyb3AoaSlcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiXG4gICAgICAgICAgICAgICAgbWFuYWdlcj8uYWN0aW9ucz8ubmV4dCh7IHR5cGU6ICdzZXRBY3RpdmVWaWV3JywgaWQ6IHZpZXcuaWQgfSk7XG4gICAgICAgICAgICAgICAgbWFuYWdlcj8uYWN0aW9ucz8ubmV4dCh7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAnc2V0T3ZlcmZsb3dQaWNrZXJPcGVuJyxcbiAgICAgICAgICAgICAgICAgIG9wZW46IGZhbHNlXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHJpdi1pY29uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpID4gMFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJvdmVyZmxvdy1yZW9yZGVyXCJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCInUmVvcmRlcidcIlxuICAgICAgICAgICAgICAgIFtzaXplXT1cIjE2XCJcbiAgICAgICAgICAgICAgPjwvcml2LWljb24+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdmVyZmxvdy10aXRsZVwiIHJpdlRydW5jYXRlPlxuICAgICAgICAgICAgICAgIDxyaXYtaGlnaGxpZ2h0XG4gICAgICAgICAgICAgICAgICBbaW5kaWNlc109XCJ2aWV3LnRpdGxlSGlnaGxpZ2h0SW5kaWNlcyA/PyBbXVwiXG4gICAgICAgICAgICAgICAgICBbdGV4dF09XCJ2aWV3LnRpdGxlXCJcbiAgICAgICAgICAgICAgICA+PC9yaXYtaGlnaGxpZ2h0PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPHJpdi12aWV3LW1lbnVcbiAgICAgICAgICAgICAgICBbbWFuYWdlcl09XCJtYW5hZ2VyXCJcbiAgICAgICAgICAgICAgICBbdmlld109XCJ2aWV3XCJcbiAgICAgICAgICAgICAgICBbbWVudUNvbnRleHRdPVwiJ292ZXJmbG93J1wiXG4gICAgICAgICAgICAgID48L3Jpdi12aWV3LW1lbnU+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxyaXYtemVyby1zdGF0ZVxuICAgICAgICAgICAgICAqbmdJZj1cIiFzLmVuYWJsZWRWaWV3cy5sZW5ndGhcIlxuICAgICAgICAgICAgICBbbWVzc2FnZV09XCInTm8gbWF0Y2hpbmcgdmlld3MuJ1wiXG4gICAgICAgICAgICA+PC9yaXYtemVyby1zdGF0ZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3Jpdi1jYWxsb3V0PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxkaXYgY2xhc3M9XCJhbGwtdmlld3MtYnV0dG9uLWNvbnRhaW5lclwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICByaXZCdXR0b25cbiAgICAgICAgW3ZhcmlhbnRdPVwiJ2dob3N0J1wiXG4gICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcbiAgICAgICAgKGNsaWNrKT1cInNob3dBbGxWaWV3cyA9IHRydWVcIlxuICAgICAgPlxuICAgICAgICBBbGwgdmlld3NcbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48cml2LWFsbC12aWV3cy1tb2RhbFxuICAqbmdJZj1cInNob3dBbGxWaWV3c1wiXG4gIFttYW5hZ2VyXT1cIm1hbmFnZXJcIlxuICBbdG9wT2Zmc2V0XT1cInNpZGVTaGVldFRvcE9mZnNldFwiXG4gIChjbG9zZSk9XCJzaG93QWxsVmlld3MgPSBmYWxzZVwiXG4+PC9yaXYtYWxsLXZpZXdzLW1vZGFsPlxuXG48cml2LXRvYXN0ICpuZ0lmPVwic2hvd0xpbmtDb3BpZWRUb2FzdCB8IGFzeW5jXCIgKGNsb3NlKT1cInRvYXN0Q2xvc2VkLm5leHQoKVwiPlxuICBMaW5rIHRvIHZpZXcgY29waWVkIHRvIGNsaXBib2FyZFxuPC9yaXYtdG9hc3Q+XG4iXX0=
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvbmF2aWdhdGlvbi92aWV3cy92aWV3cy92aWV3cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9uYXZpZ2F0aW9uL3ZpZXdzL3ZpZXdzL3ZpZXdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBR0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTL0QsTUFBTSxPQUFPLGNBQWM7SUFOM0I7UUFhRSx1QkFBa0IsR0FBVyxDQUFDLENBQUM7UUFLeEIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFckMsb0JBQWUsR0FBa0IsSUFBSSxDQUFDO1FBQ3RDLHdCQUFtQixHQUFrQixJQUFJLENBQUM7UUF3QjFDLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVlsQyxjQUFTLEdBQTZDLENBQ3BELENBQVMsRUFDVCxDQUEwQixFQUMxQixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztLQUNYO0lBdENDLFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLElBQUksS0FBSyxHQUFHLENBQUM7WUFBRSxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUM5QyxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWE7UUFDcEIsSUFBSSxLQUFLLEdBQUcsQ0FBQztZQUFFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7O1lBQzNDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksQ0FBQyxLQUFhO1FBQ2hCLElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxJQUFJLEVBQUU7WUFDakMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUN6QixJQUFJLEVBQUUsaUJBQWlCO2dCQUN2QixvQkFBb0IsRUFBRSxJQUFJLENBQUMsZUFBZTtnQkFDMUMsZUFBZSxFQUFFLEtBQUs7YUFDdkIsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0lBQ2xDLENBQUM7SUFJRCxRQUFRO1FBQ04sSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FDOUIsSUFBSSxDQUFDLE9BQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUN4QixNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLENBQUMsRUFDL0MsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUNoQixFQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUN4QyxDQUFDO0lBQ0osQ0FBQzs7MkdBakRVLGNBQWM7K0ZBQWQsY0FBYywwTkFTYSxVQUFVLDZCQzNCbEQsK2hOQXVNQTsyRkRyTGEsY0FBYztrQkFOMUIsU0FBUzsrQkFDRSxXQUFXLG1CQUdKLHVCQUF1QixDQUFDLE1BQU07OEJBTS9DLE9BQU87c0JBRE4sS0FBSztnQkFJTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFRyYWNrQnlGdW5jdGlvbixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBtZXJnZSwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUml2Vmlld3MgfSBmcm9tICcuLi9zdGF0ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Jpdi12aWV3cycsXG4gIHRlbXBsYXRlVXJsOiAnLi92aWV3cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3ZpZXdzLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFZpZXdzQ29tcG9uZW50PFUgZXh0ZW5kcyBSaXZWaWV3cy5Vc2VyLCBWIGV4dGVuZHMgUml2Vmlld3MuVmlldzxVPj5cbiAgaW1wbGVtZW50cyBPbkluaXRcbntcbiAgQElucHV0KClcbiAgbWFuYWdlcj86IFJpdlZpZXdzLk1hbmFnZXI8VSwgVj47XG5cbiAgQElucHV0KClcbiAgc2lkZVNoZWV0VG9wT2Zmc2V0OiBudW1iZXIgPSAwO1xuXG4gIEBWaWV3Q2hpbGQoJ292ZXJmbG93VHJpZ2dlcicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBvdmVyZmxvd1RyaWdnZXI/OiBFbGVtZW50UmVmO1xuXG4gIHB1YmxpYyBzaG93QWxsVmlld3M6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBkcmFnZ2VkVGFiSW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBkcmFnZ2VkT3ZlclRhYkluZGV4OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBkcmFnU3RhcnQoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChpbmRleCA+IDApIHRoaXMuZHJhZ2dlZFRhYkluZGV4ID0gaW5kZXg7XG4gIH1cblxuICBkcmFnT3ZlcihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKGluZGV4ID4gMCkgdGhpcy5kcmFnZ2VkT3ZlclRhYkluZGV4ID0gaW5kZXg7XG4gICAgZWxzZSB0aGlzLmRyYWdnZWRPdmVyVGFiSW5kZXggPSBudWxsO1xuICB9XG5cbiAgZHJvcChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZHJhZ2dlZFRhYkluZGV4ICE9PSBudWxsKSB7XG4gICAgICB0aGlzLm1hbmFnZXI/LmFjdGlvbnMubmV4dCh7XG4gICAgICAgIHR5cGU6ICd2aWV3T3JkZXJDaGFuZ2UnLFxuICAgICAgICBwcmV2aW91c0VuYWJsZWRJbmRleDogdGhpcy5kcmFnZ2VkVGFiSW5kZXgsXG4gICAgICAgIG5ld0VuYWJsZWRJbmRleDogaW5kZXgsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLmRyYWdnZWRUYWJJbmRleCA9IG51bGw7XG4gICAgdGhpcy5kcmFnZ2VkT3ZlclRhYkluZGV4ID0gbnVsbDtcbiAgfVxuXG4gIHRvYXN0Q2xvc2VkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgc2hvd0xpbmtDb3BpZWRUb2FzdD86IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2hvd0xpbmtDb3BpZWRUb2FzdCA9IG1lcmdlKFxuICAgICAgdGhpcy5tYW5hZ2VyIS5hY3Rpb25zLnBpcGUoXG4gICAgICAgIGZpbHRlcigoeyB0eXBlIH0pID0+IHR5cGUgPT09ICdjb3B5TGlua1RvVmlldycpLFxuICAgICAgICBtYXAoKCkgPT4gdHJ1ZSksXG4gICAgICApLFxuICAgICAgdGhpcy50b2FzdENsb3NlZC5waXBlKG1hcCgoKSA9PiBmYWxzZSkpLFxuICAgICk7XG4gIH1cblxuICB0cmFja0J5SWQ6IFRyYWNrQnlGdW5jdGlvbjxSaXZWaWV3cy5GdWxsVmlldzxVLCBWPj4gPSAoXG4gICAgXzogbnVtYmVyLFxuICAgIHY6IFJpdlZpZXdzLkZ1bGxWaWV3PFUsIFY+LFxuICApID0+IHYuaWQ7XG59XG4iLCI8ZGl2XG4gIChyaXZDbGllbnRTaXplKT1cIlxuICAgIG1hbmFnZXI/LmFjdGlvbnM/Lm5leHQoeyB0eXBlOiAnc2V0Q29udGFpbmVyV2lkdGgnLCB3aWR0aDogJGV2ZW50LndpZHRoIH0pXG4gIFwiXG4gIGNsYXNzPVwiY29udGFpbmVyXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1hbmFnZXI/LnN0YXRlIHwgYXN5bmM7IGxldCBzXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nRm9yPVwibGV0IHZpZXcgb2Ygcy5kaXNwbGF5ZWRWaWV3czsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUlkXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidmlldy5hY3RpdmU7IGVsc2UgaW5hY3RpdmVUYWJcIj5cbiAgICAgICAgPHJpdi12aWV3LW1lbnVcbiAgICAgICAgICBbbWFuYWdlcl09XCJtYW5hZ2VyXCJcbiAgICAgICAgICBbdmlld109XCJ2aWV3XCJcbiAgICAgICAgICBbbWVudUNvbnRleHRdPVwiJ3RhYidcIlxuICAgICAgICAgIGNsYXNzPVwiYWN0aXZlLW1lbnVcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNtZW51VHJpZ2dlcj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWIgYWN0aXZlXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmRyYWdnaW5nXT1cImRyYWdnZWRUYWJJbmRleCA9PT0gaVwiXG4gICAgICAgICAgICAgIFtjbGFzcy5kcmFnZ2VkLW92ZXItbGVmdF09XCJcbiAgICAgICAgICAgICAgICBkcmFnZ2VkT3ZlclRhYkluZGV4ID09PSBpICYmXG4gICAgICAgICAgICAgICAgZHJhZ2dlZFRhYkluZGV4ICE9PSBudWxsICYmXG4gICAgICAgICAgICAgICAgZHJhZ2dlZFRhYkluZGV4ID4gaVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBbY2xhc3MuZHJhZ2dlZC1vdmVyLXJpZ2h0XT1cIlxuICAgICAgICAgICAgICAgIGRyYWdnZWRPdmVyVGFiSW5kZXggPT09IGkgJiZcbiAgICAgICAgICAgICAgICBkcmFnZ2VkVGFiSW5kZXggIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgICBkcmFnZ2VkVGFiSW5kZXggPCBpXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIFthdHRyLmRyYWdnYWJsZV09XCJpID4gMFwiXG4gICAgICAgICAgICAgIFthdHRyLmRyb3BwYWJsZV09XCJpID4gMFwiXG4gICAgICAgICAgICAgIChkcmFnc3RhcnQpPVwiZHJhZ1N0YXJ0KGkpXCJcbiAgICAgICAgICAgICAgKGRyYWdlbnRlcik9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gICAgICAgICAgICAgIChkcmFnb3Zlcik9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKTsgZHJhZ092ZXIoaSlcIlxuICAgICAgICAgICAgICAoZHJvcCk9XCJkcm9wKGkpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHJpdi1pY29uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWItcmVvcmRlclwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmhpZGRlbi1jbGFzc109XCJpID09PSAwXCJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCInUmVvcmRlcidcIlxuICAgICAgICAgICAgICAgIFtzaXplXT1cIjE2XCJcbiAgICAgICAgICAgICAgPjwvcml2LWljb24+XG4gICAgICAgICAgICAgIDxkaXYgcml2VHJ1bmNhdGU+XG4gICAgICAgICAgICAgICAge3sgdmlldy50aXRsZSB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvcml2LXZpZXctbWVudT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNpbmFjdGl2ZVRhYj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwidGFiXCJcbiAgICAgICAgICBbY2xhc3MuZHJhZ2dpbmddPVwiZHJhZ2dlZFRhYkluZGV4ID09PSBpXCJcbiAgICAgICAgICBbY2xhc3MuZHJhZ2dlZC1vdmVyLWxlZnRdPVwiXG4gICAgICAgICAgICBkcmFnZ2VkT3ZlclRhYkluZGV4ID09PSBpICYmXG4gICAgICAgICAgICBkcmFnZ2VkVGFiSW5kZXggIT09IG51bGwgJiZcbiAgICAgICAgICAgIGRyYWdnZWRUYWJJbmRleCA+IGlcbiAgICAgICAgICBcIlxuICAgICAgICAgIFtjbGFzcy5kcmFnZ2VkLW92ZXItcmlnaHRdPVwiXG4gICAgICAgICAgICBkcmFnZ2VkT3ZlclRhYkluZGV4ID09PSBpICYmXG4gICAgICAgICAgICBkcmFnZ2VkVGFiSW5kZXggIT09IG51bGwgJiZcbiAgICAgICAgICAgIGRyYWdnZWRUYWJJbmRleCA8IGlcbiAgICAgICAgICBcIlxuICAgICAgICAgIFthdHRyLmRyYWdnYWJsZV09XCJpID4gMFwiXG4gICAgICAgICAgW2F0dHIuZHJvcHBhYmxlXT1cImkgPiAwXCJcbiAgICAgICAgICAoZHJhZ3N0YXJ0KT1cImRyYWdTdGFydChpKVwiXG4gICAgICAgICAgKGRyYWdlbnRlcik9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gICAgICAgICAgKGRyYWdvdmVyKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpOyBkcmFnT3ZlcihpKVwiXG4gICAgICAgICAgKGRyb3ApPVwiZHJvcChpKVwiXG4gICAgICAgICAgKGNsaWNrKT1cIlxuICAgICAgICAgICAgbWFuYWdlcj8uYWN0aW9ucz8ubmV4dCh7IHR5cGU6ICdzZXRBY3RpdmVWaWV3JywgaWQ6IHZpZXcuaWQgfSlcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPHJpdi1pY29uXG4gICAgICAgICAgICBjbGFzcz1cInRhYi1yZW9yZGVyXCJcbiAgICAgICAgICAgIFtjbGFzcy5oaWRkZW4tY2xhc3NdPVwiaSA9PT0gMFwiXG4gICAgICAgICAgICBbbmFtZV09XCInUmVvcmRlcidcIlxuICAgICAgICAgICAgW3NpemVdPVwiMTZcIlxuICAgICAgICAgID48L3Jpdi1pY29uPlxuICAgICAgICAgIDxzcGFuIHJpdlRydW5jYXRlPlxuICAgICAgICAgICAge3sgdmlldy50aXRsZSB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxidXR0b25cbiAgICAgICpuZ0lmPVwicy5hbGxFbmFibGVkVmlld3MubGVuZ3RoIC0gcy5kaXNwbGF5ZWRWaWV3cy5sZW5ndGg7IGxldCBjb3VudFwiXG4gICAgICBjbGFzcz1cInRhYiBvdmVyZmxvd1wiXG4gICAgICByaXZUcnVuY2F0ZVxuICAgICAgI292ZXJmbG93VHJpZ2dlclxuICAgICAgKGNsaWNrKT1cIlxuICAgICAgICBtYW5hZ2VyPy5hY3Rpb25zPy5uZXh0KHsgdHlwZTogJ3NldE92ZXJmbG93UGlja2VyT3BlbicsIG9wZW46IHRydWUgfSlcbiAgICAgIFwiXG4gICAgPlxuICAgICAge3sgY291bnQgfCByaXZOdW1iZXIgfX0gbW9yZVxuICAgIDwvYnV0dG9uPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzLm92ZXJmbG93LnBpY2tlck9wZW5cIj5cbiAgICAgIDxyaXYtY2FsbG91dFxuICAgICAgICAqcml2LW92ZXJsYXlcbiAgICAgICAgW2FuY2hvcl09XCJvdmVyZmxvd1RyaWdnZXI/Lm5hdGl2ZUVsZW1lbnRcIlxuICAgICAgICBbaXNNb2RhbF09XCJ0cnVlXCJcbiAgICAgICAgW3Nob3dDYXJldF09XCJmYWxzZVwiXG4gICAgICAgIFt0aGVtZV09XCInbGlnaHQnXCJcbiAgICAgICAgW3ByZWZlcnJlZFBvc2l0aW9uXT1cIidib3R0b20tbGVmdCdcIlxuICAgICAgICAoY2xvc2UpPVwiXG4gICAgICAgICAgbWFuYWdlcj8uYWN0aW9ucz8ubmV4dCh7IHR5cGU6ICdzZXRPdmVyZmxvd1BpY2tlck9wZW4nLCBvcGVuOiBmYWxzZSB9KVxuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwib3ZlcmZsb3ctY2FsbG91dFwiPlxuICAgICAgICAgIDxyaXYtc2VhcmNoXG4gICAgICAgICAgICBbdmFsdWVdPVwicy5vdmVyZmxvdy5zZWFyY2hcIlxuICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICBtYW5hZ2VyPy5hY3Rpb25zPy5uZXh0KHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnc2V0T3ZlcmZsb3dTZWFyY2hRdWVyeScsXG4gICAgICAgICAgICAgICAgcXVlcnk6ICRldmVudFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+PC9yaXYtc2VhcmNoPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdmVyZmxvdy12aWV3LWxpc3RcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHZpZXcgb2Ygcy5lbmFibGVkVmlld3M7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm92ZXJmbG93LXZpZXdcIlxuICAgICAgICAgICAgICBbY2xhc3Muc3lzdGVtXT1cInZpZXcuc3lzdGVtXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmRyYWdnaW5nXT1cImRyYWdnZWRUYWJJbmRleCA9PT0gaVwiXG4gICAgICAgICAgICAgIFtjbGFzcy5kcmFnZ2VkLW92ZXItdG9wXT1cIlxuICAgICAgICAgICAgICAgIGRyYWdnZWRPdmVyVGFiSW5kZXggPT09IGkgJiZcbiAgICAgICAgICAgICAgICBkcmFnZ2VkVGFiSW5kZXggIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgICBkcmFnZ2VkVGFiSW5kZXggPiBpXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIFtjbGFzcy5kcmFnZ2VkLW92ZXItYm90dG9tXT1cIlxuICAgICAgICAgICAgICAgIGRyYWdnZWRPdmVyVGFiSW5kZXggPT09IGkgJiZcbiAgICAgICAgICAgICAgICBkcmFnZ2VkVGFiSW5kZXggIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgICBkcmFnZ2VkVGFiSW5kZXggPCBpXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIFthdHRyLmRyYWdnYWJsZV09XCJpID4gMFwiXG4gICAgICAgICAgICAgIFthdHRyLmRyb3BwYWJsZV09XCJpID4gMFwiXG4gICAgICAgICAgICAgIChkcmFnc3RhcnQpPVwiZHJhZ1N0YXJ0KGkpXCJcbiAgICAgICAgICAgICAgKGRyYWdlbnRlcik9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gICAgICAgICAgICAgIChkcmFnb3Zlcik9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKTsgZHJhZ092ZXIoaSlcIlxuICAgICAgICAgICAgICAoZHJvcCk9XCJkcm9wKGkpXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIlxuICAgICAgICAgICAgICAgIG1hbmFnZXI/LmFjdGlvbnM/Lm5leHQoeyB0eXBlOiAnc2V0QWN0aXZlVmlldycsIGlkOiB2aWV3LmlkIH0pO1xuICAgICAgICAgICAgICAgIG1hbmFnZXI/LmFjdGlvbnM/Lm5leHQoe1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ3NldE92ZXJmbG93UGlja2VyT3BlbicsXG4gICAgICAgICAgICAgICAgICBvcGVuOiBmYWxzZVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxyaXYtaWNvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaSA+IDBcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwib3ZlcmZsb3ctcmVvcmRlclwiXG4gICAgICAgICAgICAgICAgW25hbWVdPVwiJ1Jlb3JkZXInXCJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCIxNlwiXG4gICAgICAgICAgICAgID48L3Jpdi1pY29uPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwib3ZlcmZsb3ctdGl0bGVcIiByaXZUcnVuY2F0ZT5cbiAgICAgICAgICAgICAgICA8cml2LWhpZ2hsaWdodFxuICAgICAgICAgICAgICAgICAgW2luZGljZXNdPVwidmlldy50aXRsZUhpZ2hsaWdodEluZGljZXMgPz8gW11cIlxuICAgICAgICAgICAgICAgICAgW3RleHRdPVwidmlldy50aXRsZVwiXG4gICAgICAgICAgICAgICAgPjwvcml2LWhpZ2hsaWdodD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxyaXYtdmlldy1tZW51XG4gICAgICAgICAgICAgICAgW21hbmFnZXJdPVwibWFuYWdlclwiXG4gICAgICAgICAgICAgICAgW3ZpZXddPVwidmlld1wiXG4gICAgICAgICAgICAgICAgW21lbnVDb250ZXh0XT1cIidvdmVyZmxvdydcIlxuICAgICAgICAgICAgICA+PC9yaXYtdmlldy1tZW51PlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8cml2LXplcm8tc3RhdGVcbiAgICAgICAgICAgICAgKm5nSWY9XCIhcy5lbmFibGVkVmlld3MubGVuZ3RoXCJcbiAgICAgICAgICAgICAgW21lc3NhZ2VdPVwiJ05vIG1hdGNoaW5nIHZpZXdzLidcIlxuICAgICAgICAgICAgPjwvcml2LXplcm8tc3RhdGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9yaXYtY2FsbG91dD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2IGNsYXNzPVwiYWxsLXZpZXdzLWJ1dHRvbi1jb250YWluZXJcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgcml2QnV0dG9uXG4gICAgICAgIFt2YXJpYW50XT1cIidnaG9zdCdcIlxuICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXG4gICAgICAgIChjbGljayk9XCJzaG93QWxsVmlld3MgPSB0cnVlXCJcbiAgICAgID5cbiAgICAgICAgQWxsIHZpZXdzXG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPHJpdi1hbGwtdmlld3MtbW9kYWxcbiAgKm5nSWY9XCJzaG93QWxsVmlld3NcIlxuICBbbWFuYWdlcl09XCJtYW5hZ2VyXCJcbiAgW3RvcE9mZnNldF09XCJzaWRlU2hlZXRUb3BPZmZzZXRcIlxuICAoY2xvc2UpPVwic2hvd0FsbFZpZXdzID0gZmFsc2VcIlxuPjwvcml2LWFsbC12aWV3cy1tb2RhbD5cblxuPHJpdi10b2FzdCAqbmdJZj1cInNob3dMaW5rQ29waWVkVG9hc3QgfCBhc3luY1wiIChjbG9zZSk9XCJ0b2FzdENsb3NlZC5uZXh0KClcIj5cbiAgTGluayB0byB2aWV3IGNvcGllZCB0byBjbGlwYm9hcmRcbjwvcml2LXRvYXN0PlxuIl19
|
|
@@ -16,10 +16,10 @@ export class MenuComponent {
|
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
MenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
19
|
-
MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: MenuComponent, selector: "riv-menu", inputs: { preferredPosition: "preferredPosition" }, queries: [{ propertyName: "triggerTemplate", first: true, predicate: ["trigger"], descendants: true }], viewQueries: [{ propertyName: "customTriggerButton", first: true, predicate: ["customTriggerButton"], descendants: true, read: ElementRef }, { propertyName: "standardTriggerButton", first: true, predicate: ["standardTriggerButton"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-container *ngIf=\"triggerTemplate; else standardTrigger\">\n <button #customTriggerButton class=\"custom-trigger\" (click)=\"open.next(true)\">\n <ng-container\n *ngTemplateOutlet=\"triggerTemplate; context: { open: open | async }\"\n ></ng-container>\n </button>\n</ng-container>\n\n<ng-template #standardTrigger>\n <button\n #standardTriggerButton\n rivButton\n [variant]=\"'ghost'\"\n [size]=\"'xsmall'\"\n [icon]=\"'MoreVertical'\"\n (click)=\"open.next(true)\"\n ></button>\n</ng-template>\n\n<ng-container *ngIf=\"open | async\">\n <riv-callout\n *riv-overlay\n [anchor]=\"getTrigger()\"\n [showCaret]=\"false\"\n [preferredPosition]=\"preferredPosition\"\n [theme]=\"'light'\"\n (close)=\"open.next(false)\"\n >\n <div class=\"options\">\n <ng-content></ng-content>\n </div>\n </riv-callout>\n</ng-container>\n", styles: [":host{display:inline-flex;justify-content:center;align-items:center;cursor:pointer}.custom-trigger{width:100%;max-width:100
|
|
19
|
+
MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: MenuComponent, selector: "riv-menu", inputs: { preferredPosition: "preferredPosition" }, queries: [{ propertyName: "triggerTemplate", first: true, predicate: ["trigger"], descendants: true }], viewQueries: [{ propertyName: "customTriggerButton", first: true, predicate: ["customTriggerButton"], descendants: true, read: ElementRef }, { propertyName: "standardTriggerButton", first: true, predicate: ["standardTriggerButton"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-container *ngIf=\"triggerTemplate; else standardTrigger\">\n <button #customTriggerButton class=\"custom-trigger\" (click)=\"open.next(true)\">\n <ng-container\n *ngTemplateOutlet=\"triggerTemplate; context: { open: open | async }\"\n ></ng-container>\n </button>\n</ng-container>\n\n<ng-template #standardTrigger>\n <button\n #standardTriggerButton\n rivButton\n [variant]=\"'ghost'\"\n [size]=\"'xsmall'\"\n [icon]=\"'MoreVertical'\"\n (click)=\"open.next(true)\"\n ></button>\n</ng-template>\n\n<ng-container *ngIf=\"open | async\">\n <riv-callout\n *riv-overlay\n [anchor]=\"getTrigger()\"\n [showCaret]=\"false\"\n [preferredPosition]=\"preferredPosition\"\n [theme]=\"'light'\"\n (close)=\"open.next(false)\"\n >\n <div class=\"options\">\n <ng-content></ng-content>\n </div>\n </riv-callout>\n</ng-container>\n", styles: [":host{display:inline-flex;justify-content:center;align-items:center;cursor:pointer}.custom-trigger{width:100%;max-width:100%;height:100%;max-height:100%;display:inline-flex}.options{display:flex;flex-direction:column;align-items:stretch;gap:var(--size-small);padding:var(--size-large);min-width:calc(var(--base-grid-size) * 58)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ButtonComponent, selector: "[rivButton]", inputs: ["locked", "disabled", "loading", "full", "size", "variant", "icon", "iconPosition", "active"] }, { kind: "component", type: i3.CalloutComponent, selector: "riv-callout", inputs: ["anchor", "isModal", "preferredPosition", "allowedPositions", "fallbackDirection", "showCaret", "theme"], outputs: ["close"] }, { kind: "directive", type: i4.OverlayDirective, selector: "[riv-overlay]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
20
20
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MenuComponent, decorators: [{
|
|
21
21
|
type: Component,
|
|
22
|
-
args: [{ selector: 'riv-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"triggerTemplate; else standardTrigger\">\n <button #customTriggerButton class=\"custom-trigger\" (click)=\"open.next(true)\">\n <ng-container\n *ngTemplateOutlet=\"triggerTemplate; context: { open: open | async }\"\n ></ng-container>\n </button>\n</ng-container>\n\n<ng-template #standardTrigger>\n <button\n #standardTriggerButton\n rivButton\n [variant]=\"'ghost'\"\n [size]=\"'xsmall'\"\n [icon]=\"'MoreVertical'\"\n (click)=\"open.next(true)\"\n ></button>\n</ng-template>\n\n<ng-container *ngIf=\"open | async\">\n <riv-callout\n *riv-overlay\n [anchor]=\"getTrigger()\"\n [showCaret]=\"false\"\n [preferredPosition]=\"preferredPosition\"\n [theme]=\"'light'\"\n (close)=\"open.next(false)\"\n >\n <div class=\"options\">\n <ng-content></ng-content>\n </div>\n </riv-callout>\n</ng-container>\n", styles: [":host{display:inline-flex;justify-content:center;align-items:center;cursor:pointer}.custom-trigger{width:100%;max-width:100
|
|
22
|
+
args: [{ selector: 'riv-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"triggerTemplate; else standardTrigger\">\n <button #customTriggerButton class=\"custom-trigger\" (click)=\"open.next(true)\">\n <ng-container\n *ngTemplateOutlet=\"triggerTemplate; context: { open: open | async }\"\n ></ng-container>\n </button>\n</ng-container>\n\n<ng-template #standardTrigger>\n <button\n #standardTriggerButton\n rivButton\n [variant]=\"'ghost'\"\n [size]=\"'xsmall'\"\n [icon]=\"'MoreVertical'\"\n (click)=\"open.next(true)\"\n ></button>\n</ng-template>\n\n<ng-container *ngIf=\"open | async\">\n <riv-callout\n *riv-overlay\n [anchor]=\"getTrigger()\"\n [showCaret]=\"false\"\n [preferredPosition]=\"preferredPosition\"\n [theme]=\"'light'\"\n (close)=\"open.next(false)\"\n >\n <div class=\"options\">\n <ng-content></ng-content>\n </div>\n </riv-callout>\n</ng-container>\n", styles: [":host{display:inline-flex;justify-content:center;align-items:center;cursor:pointer}.custom-trigger{width:100%;max-width:100%;height:100%;max-height:100%;display:inline-flex}.options{display:flex;flex-direction:column;align-items:stretch;gap:var(--size-small);padding:var(--size-large);min-width:calc(var(--base-grid-size) * 58)}\n"] }]
|
|
23
23
|
}], propDecorators: { preferredPosition: [{
|
|
24
24
|
type: Input
|
|
25
25
|
}], triggerTemplate: [{
|
|
@@ -4085,10 +4085,10 @@ class MenuComponent {
|
|
|
4085
4085
|
}
|
|
4086
4086
|
}
|
|
4087
4087
|
MenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4088
|
-
MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: MenuComponent, selector: "riv-menu", inputs: { preferredPosition: "preferredPosition" }, queries: [{ propertyName: "triggerTemplate", first: true, predicate: ["trigger"], descendants: true }], viewQueries: [{ propertyName: "customTriggerButton", first: true, predicate: ["customTriggerButton"], descendants: true, read: ElementRef }, { propertyName: "standardTriggerButton", first: true, predicate: ["standardTriggerButton"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-container *ngIf=\"triggerTemplate; else standardTrigger\">\n <button #customTriggerButton class=\"custom-trigger\" (click)=\"open.next(true)\">\n <ng-container\n *ngTemplateOutlet=\"triggerTemplate; context: { open: open | async }\"\n ></ng-container>\n </button>\n</ng-container>\n\n<ng-template #standardTrigger>\n <button\n #standardTriggerButton\n rivButton\n [variant]=\"'ghost'\"\n [size]=\"'xsmall'\"\n [icon]=\"'MoreVertical'\"\n (click)=\"open.next(true)\"\n ></button>\n</ng-template>\n\n<ng-container *ngIf=\"open | async\">\n <riv-callout\n *riv-overlay\n [anchor]=\"getTrigger()\"\n [showCaret]=\"false\"\n [preferredPosition]=\"preferredPosition\"\n [theme]=\"'light'\"\n (close)=\"open.next(false)\"\n >\n <div class=\"options\">\n <ng-content></ng-content>\n </div>\n </riv-callout>\n</ng-container>\n", styles: [":host{display:inline-flex;justify-content:center;align-items:center;cursor:pointer}.custom-trigger{width:100%;max-width:100
|
|
4088
|
+
MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: MenuComponent, selector: "riv-menu", inputs: { preferredPosition: "preferredPosition" }, queries: [{ propertyName: "triggerTemplate", first: true, predicate: ["trigger"], descendants: true }], viewQueries: [{ propertyName: "customTriggerButton", first: true, predicate: ["customTriggerButton"], descendants: true, read: ElementRef }, { propertyName: "standardTriggerButton", first: true, predicate: ["standardTriggerButton"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-container *ngIf=\"triggerTemplate; else standardTrigger\">\n <button #customTriggerButton class=\"custom-trigger\" (click)=\"open.next(true)\">\n <ng-container\n *ngTemplateOutlet=\"triggerTemplate; context: { open: open | async }\"\n ></ng-container>\n </button>\n</ng-container>\n\n<ng-template #standardTrigger>\n <button\n #standardTriggerButton\n rivButton\n [variant]=\"'ghost'\"\n [size]=\"'xsmall'\"\n [icon]=\"'MoreVertical'\"\n (click)=\"open.next(true)\"\n ></button>\n</ng-template>\n\n<ng-container *ngIf=\"open | async\">\n <riv-callout\n *riv-overlay\n [anchor]=\"getTrigger()\"\n [showCaret]=\"false\"\n [preferredPosition]=\"preferredPosition\"\n [theme]=\"'light'\"\n (close)=\"open.next(false)\"\n >\n <div class=\"options\">\n <ng-content></ng-content>\n </div>\n </riv-callout>\n</ng-container>\n", styles: [":host{display:inline-flex;justify-content:center;align-items:center;cursor:pointer}.custom-trigger{width:100%;max-width:100%;height:100%;max-height:100%;display:inline-flex}.options{display:flex;flex-direction:column;align-items:stretch;gap:var(--size-small);padding:var(--size-large);min-width:calc(var(--base-grid-size) * 58)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "[rivButton]", inputs: ["locked", "disabled", "loading", "full", "size", "variant", "icon", "iconPosition", "active"] }, { kind: "component", type: CalloutComponent, selector: "riv-callout", inputs: ["anchor", "isModal", "preferredPosition", "allowedPositions", "fallbackDirection", "showCaret", "theme"], outputs: ["close"] }, { kind: "directive", type: OverlayDirective, selector: "[riv-overlay]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4089
4089
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MenuComponent, decorators: [{
|
|
4090
4090
|
type: Component,
|
|
4091
|
-
args: [{ selector: 'riv-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"triggerTemplate; else standardTrigger\">\n <button #customTriggerButton class=\"custom-trigger\" (click)=\"open.next(true)\">\n <ng-container\n *ngTemplateOutlet=\"triggerTemplate; context: { open: open | async }\"\n ></ng-container>\n </button>\n</ng-container>\n\n<ng-template #standardTrigger>\n <button\n #standardTriggerButton\n rivButton\n [variant]=\"'ghost'\"\n [size]=\"'xsmall'\"\n [icon]=\"'MoreVertical'\"\n (click)=\"open.next(true)\"\n ></button>\n</ng-template>\n\n<ng-container *ngIf=\"open | async\">\n <riv-callout\n *riv-overlay\n [anchor]=\"getTrigger()\"\n [showCaret]=\"false\"\n [preferredPosition]=\"preferredPosition\"\n [theme]=\"'light'\"\n (close)=\"open.next(false)\"\n >\n <div class=\"options\">\n <ng-content></ng-content>\n </div>\n </riv-callout>\n</ng-container>\n", styles: [":host{display:inline-flex;justify-content:center;align-items:center;cursor:pointer}.custom-trigger{width:100%;max-width:100
|
|
4091
|
+
args: [{ selector: 'riv-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"triggerTemplate; else standardTrigger\">\n <button #customTriggerButton class=\"custom-trigger\" (click)=\"open.next(true)\">\n <ng-container\n *ngTemplateOutlet=\"triggerTemplate; context: { open: open | async }\"\n ></ng-container>\n </button>\n</ng-container>\n\n<ng-template #standardTrigger>\n <button\n #standardTriggerButton\n rivButton\n [variant]=\"'ghost'\"\n [size]=\"'xsmall'\"\n [icon]=\"'MoreVertical'\"\n (click)=\"open.next(true)\"\n ></button>\n</ng-template>\n\n<ng-container *ngIf=\"open | async\">\n <riv-callout\n *riv-overlay\n [anchor]=\"getTrigger()\"\n [showCaret]=\"false\"\n [preferredPosition]=\"preferredPosition\"\n [theme]=\"'light'\"\n (close)=\"open.next(false)\"\n >\n <div class=\"options\">\n <ng-content></ng-content>\n </div>\n </riv-callout>\n</ng-container>\n", styles: [":host{display:inline-flex;justify-content:center;align-items:center;cursor:pointer}.custom-trigger{width:100%;max-width:100%;height:100%;max-height:100%;display:inline-flex}.options{display:flex;flex-direction:column;align-items:stretch;gap:var(--size-small);padding:var(--size-large);min-width:calc(var(--base-grid-size) * 58)}\n"] }]
|
|
4092
4092
|
}], propDecorators: { preferredPosition: [{
|
|
4093
4093
|
type: Input
|
|
4094
4094
|
}], triggerTemplate: [{
|
|
@@ -4184,10 +4184,10 @@ class ViewMenuComponent {
|
|
|
4184
4184
|
}
|
|
4185
4185
|
}
|
|
4186
4186
|
ViewMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ViewMenuComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
4187
|
-
ViewMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ViewMenuComponent, selector: "riv-view-menu", inputs: { manager: "manager", view: "view", menuContext: "menuContext" }, queries: [{ propertyName: "triggerTemplate", first: true, predicate: ["menuTrigger"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"view\">\n <riv-menu\n #menu\n [preferredPosition]=\"'bottom-right'\"\n (click)=\"$event.stopPropagation()\"\n >\n <ng-container *ngIf=\"triggerTemplate\">\n <ng-template #trigger>\n <ng-container [ngTemplateOutlet]=\"triggerTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setEnabled',\n id: view.id,\n enabled: !view.enabled\n })\n \"\n [disabled]=\"view.system\"\n >\n {{ view.enabled ? 'Hide tab' : 'Show tab' }}\n </button>\n <riv-menu-divider></riv-menu-divider>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setEditingView',\n context: { id: view.id, autoRename: false, menuContext }\n })\n \"\n [disabled]=\"view.system\"\n >\n Edit view\n </button>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setEditingView',\n context: { id: view.id, autoRename: true, menuContext }\n })\n \"\n [disabled]=\"view.system\"\n >\n Rename view\n </button>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({ type: 'duplicateView', view, menuContext })\n \"\n >\n Duplicate view\n </button>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setDeletingView',\n context: { id: view.id, menuContext }\n })\n \"\n [disabled]=\"view.system\"\n >\n Delete view\n </button>\n <riv-menu-divider></riv-menu-divider>\n <button\n riv-menu-item\n (click)=\"manager?.actions?.next({ type: 'copyLinkToView', view })\"\n >\n Copy link to view\n </button>\n </riv-menu>\n\n <ng-container *ngIf=\"manager?.state | async; let state\">\n <ng-container *ngIf=\"state.editingViewContext; let editingViewContext\">\n <riv-edit-view\n *ngIf=\"\n editingViewContext.id === view.id &&\n editingViewContext.menuContext === menuContext\n \"\n [view]=\"view\"\n [userSource]=\"state.userSource\"\n [autoSelectName]=\"editingViewContext.autoRename\"\n [anchor]=\"el.nativeElement\"\n (save)=\"manager?.actions?.next({ type: 'updateView', view: $event })\"\n (delete)=\"manager?.actions?.next({ type: 'deleteView', view: $event })\"\n (close)=\"\n manager?.actions?.next({ type: 'setEditingView', context: null })\n \"\n ></riv-edit-view>\n </ng-container>\n\n <ng-container *ngIf=\"state.deletingViewContext; let deletingViewContext\">\n <riv-dialog\n *ngIf=\"\n deletingViewContext.id === view.id &&\n deletingViewContext.menuContext === menuContext\n \"\n [title]=\"'Delete view'\"\n (close)=\"\n manager?.actions?.next({ type: 'setDeletingView', context: null })\n \"\n >\n <div class=\"delete-dialog\">\n <div class=\"delete-title\">\n Are you sure you want to delete the following view?\n </div>\n <p>{{ view.title }}</p>\n </div>\n <footer class=\"delete-footer\">\n <button\n rivButton\n (click)=\"\n manager?.actions?.next({ type: 'setDeletingView', context: null })\n \"\n >\n Cancel\n </button>\n <button\n rivButton\n [variant]=\"'danger'\"\n (click)=\"\n manager?.actions?.next({\n type: 'deleteView',\n view\n })\n \"\n >\n Delete view\n </button>\n </footer>\n </riv-dialog>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [":host{display:inline-flex;
|
|
4187
|
+
ViewMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ViewMenuComponent, selector: "riv-view-menu", inputs: { manager: "manager", view: "view", menuContext: "menuContext" }, queries: [{ propertyName: "triggerTemplate", first: true, predicate: ["menuTrigger"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"view\">\n <riv-menu\n #menu\n [preferredPosition]=\"'bottom-right'\"\n (click)=\"$event.stopPropagation()\"\n >\n <ng-container *ngIf=\"triggerTemplate\">\n <ng-template #trigger>\n <ng-container [ngTemplateOutlet]=\"triggerTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setEnabled',\n id: view.id,\n enabled: !view.enabled\n })\n \"\n [disabled]=\"view.system\"\n >\n {{ view.enabled ? 'Hide tab' : 'Show tab' }}\n </button>\n <riv-menu-divider></riv-menu-divider>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setEditingView',\n context: { id: view.id, autoRename: false, menuContext }\n })\n \"\n [disabled]=\"view.system\"\n >\n Edit view\n </button>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setEditingView',\n context: { id: view.id, autoRename: true, menuContext }\n })\n \"\n [disabled]=\"view.system\"\n >\n Rename view\n </button>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({ type: 'duplicateView', view, menuContext })\n \"\n >\n Duplicate view\n </button>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setDeletingView',\n context: { id: view.id, menuContext }\n })\n \"\n [disabled]=\"view.system\"\n >\n Delete view\n </button>\n <riv-menu-divider></riv-menu-divider>\n <button\n riv-menu-item\n (click)=\"manager?.actions?.next({ type: 'copyLinkToView', view })\"\n >\n Copy link to view\n </button>\n </riv-menu>\n\n <ng-container *ngIf=\"manager?.state | async; let state\">\n <ng-container *ngIf=\"state.editingViewContext; let editingViewContext\">\n <riv-edit-view\n *ngIf=\"\n editingViewContext.id === view.id &&\n editingViewContext.menuContext === menuContext\n \"\n [view]=\"view\"\n [userSource]=\"state.userSource\"\n [autoSelectName]=\"editingViewContext.autoRename\"\n [anchor]=\"el.nativeElement\"\n (save)=\"manager?.actions?.next({ type: 'updateView', view: $event })\"\n (delete)=\"manager?.actions?.next({ type: 'deleteView', view: $event })\"\n (close)=\"\n manager?.actions?.next({ type: 'setEditingView', context: null })\n \"\n ></riv-edit-view>\n </ng-container>\n\n <ng-container *ngIf=\"state.deletingViewContext; let deletingViewContext\">\n <riv-dialog\n *ngIf=\"\n deletingViewContext.id === view.id &&\n deletingViewContext.menuContext === menuContext\n \"\n [title]=\"'Delete view'\"\n (close)=\"\n manager?.actions?.next({ type: 'setDeletingView', context: null })\n \"\n >\n <div class=\"delete-dialog\">\n <div class=\"delete-title\">\n Are you sure you want to delete the following view?\n </div>\n <p>{{ view.title }}</p>\n </div>\n <footer class=\"delete-footer\">\n <button\n rivButton\n (click)=\"\n manager?.actions?.next({ type: 'setDeletingView', context: null })\n \"\n >\n Cancel\n </button>\n <button\n rivButton\n [variant]=\"'danger'\"\n (click)=\"\n manager?.actions?.next({\n type: 'deleteView',\n view\n })\n \"\n >\n Delete view\n </button>\n </footer>\n </riv-dialog>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [":host{display:inline-flex;align-items:stretch}riv-menu{width:100%;max-width:100%;height:100%;max-height:100%}.delete-dialog{padding:var(--size-xlarge);display:flex;flex-direction:column;gap:var(--size-large);width:calc(var(--base-grid-size) * 120);max-width:100%}.delete-title{font:var(--title-02)}.delete-footer{padding:var(--size-medium);display:flex;justify-content:space-between;gap:var(--size-medium)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "[rivButton]", inputs: ["locked", "disabled", "loading", "full", "size", "variant", "icon", "iconPosition", "active"] }, { kind: "component", type: DialogComponent, selector: "riv-dialog", inputs: ["title"], outputs: ["close"] }, { kind: "component", type: EditViewComponent, selector: "riv-edit-view", inputs: ["anchor", "autoSelectName", "view", "userSource", "mode"], outputs: ["save", "delete", "close"] }, { kind: "component", type: MenuComponent, selector: "riv-menu", inputs: ["preferredPosition"] }, { kind: "component", type: MenuDividerComponent, selector: "riv-menu-divider" }, { kind: "component", type: MenuItemComponent, selector: "[riv-menu-item]", inputs: ["locked", "disabled", "variant"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4188
4188
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ViewMenuComponent, decorators: [{
|
|
4189
4189
|
type: Component,
|
|
4190
|
-
args: [{ selector: 'riv-view-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"view\">\n <riv-menu\n #menu\n [preferredPosition]=\"'bottom-right'\"\n (click)=\"$event.stopPropagation()\"\n >\n <ng-container *ngIf=\"triggerTemplate\">\n <ng-template #trigger>\n <ng-container [ngTemplateOutlet]=\"triggerTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setEnabled',\n id: view.id,\n enabled: !view.enabled\n })\n \"\n [disabled]=\"view.system\"\n >\n {{ view.enabled ? 'Hide tab' : 'Show tab' }}\n </button>\n <riv-menu-divider></riv-menu-divider>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setEditingView',\n context: { id: view.id, autoRename: false, menuContext }\n })\n \"\n [disabled]=\"view.system\"\n >\n Edit view\n </button>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setEditingView',\n context: { id: view.id, autoRename: true, menuContext }\n })\n \"\n [disabled]=\"view.system\"\n >\n Rename view\n </button>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({ type: 'duplicateView', view, menuContext })\n \"\n >\n Duplicate view\n </button>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setDeletingView',\n context: { id: view.id, menuContext }\n })\n \"\n [disabled]=\"view.system\"\n >\n Delete view\n </button>\n <riv-menu-divider></riv-menu-divider>\n <button\n riv-menu-item\n (click)=\"manager?.actions?.next({ type: 'copyLinkToView', view })\"\n >\n Copy link to view\n </button>\n </riv-menu>\n\n <ng-container *ngIf=\"manager?.state | async; let state\">\n <ng-container *ngIf=\"state.editingViewContext; let editingViewContext\">\n <riv-edit-view\n *ngIf=\"\n editingViewContext.id === view.id &&\n editingViewContext.menuContext === menuContext\n \"\n [view]=\"view\"\n [userSource]=\"state.userSource\"\n [autoSelectName]=\"editingViewContext.autoRename\"\n [anchor]=\"el.nativeElement\"\n (save)=\"manager?.actions?.next({ type: 'updateView', view: $event })\"\n (delete)=\"manager?.actions?.next({ type: 'deleteView', view: $event })\"\n (close)=\"\n manager?.actions?.next({ type: 'setEditingView', context: null })\n \"\n ></riv-edit-view>\n </ng-container>\n\n <ng-container *ngIf=\"state.deletingViewContext; let deletingViewContext\">\n <riv-dialog\n *ngIf=\"\n deletingViewContext.id === view.id &&\n deletingViewContext.menuContext === menuContext\n \"\n [title]=\"'Delete view'\"\n (close)=\"\n manager?.actions?.next({ type: 'setDeletingView', context: null })\n \"\n >\n <div class=\"delete-dialog\">\n <div class=\"delete-title\">\n Are you sure you want to delete the following view?\n </div>\n <p>{{ view.title }}</p>\n </div>\n <footer class=\"delete-footer\">\n <button\n rivButton\n (click)=\"\n manager?.actions?.next({ type: 'setDeletingView', context: null })\n \"\n >\n Cancel\n </button>\n <button\n rivButton\n [variant]=\"'danger'\"\n (click)=\"\n manager?.actions?.next({\n type: 'deleteView',\n view\n })\n \"\n >\n Delete view\n </button>\n </footer>\n </riv-dialog>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [":host{display:inline-flex;
|
|
4190
|
+
args: [{ selector: 'riv-view-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"view\">\n <riv-menu\n #menu\n [preferredPosition]=\"'bottom-right'\"\n (click)=\"$event.stopPropagation()\"\n >\n <ng-container *ngIf=\"triggerTemplate\">\n <ng-template #trigger>\n <ng-container [ngTemplateOutlet]=\"triggerTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setEnabled',\n id: view.id,\n enabled: !view.enabled\n })\n \"\n [disabled]=\"view.system\"\n >\n {{ view.enabled ? 'Hide tab' : 'Show tab' }}\n </button>\n <riv-menu-divider></riv-menu-divider>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setEditingView',\n context: { id: view.id, autoRename: false, menuContext }\n })\n \"\n [disabled]=\"view.system\"\n >\n Edit view\n </button>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setEditingView',\n context: { id: view.id, autoRename: true, menuContext }\n })\n \"\n [disabled]=\"view.system\"\n >\n Rename view\n </button>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({ type: 'duplicateView', view, menuContext })\n \"\n >\n Duplicate view\n </button>\n <button\n riv-menu-item\n (click)=\"\n manager?.actions?.next({\n type: 'setDeletingView',\n context: { id: view.id, menuContext }\n })\n \"\n [disabled]=\"view.system\"\n >\n Delete view\n </button>\n <riv-menu-divider></riv-menu-divider>\n <button\n riv-menu-item\n (click)=\"manager?.actions?.next({ type: 'copyLinkToView', view })\"\n >\n Copy link to view\n </button>\n </riv-menu>\n\n <ng-container *ngIf=\"manager?.state | async; let state\">\n <ng-container *ngIf=\"state.editingViewContext; let editingViewContext\">\n <riv-edit-view\n *ngIf=\"\n editingViewContext.id === view.id &&\n editingViewContext.menuContext === menuContext\n \"\n [view]=\"view\"\n [userSource]=\"state.userSource\"\n [autoSelectName]=\"editingViewContext.autoRename\"\n [anchor]=\"el.nativeElement\"\n (save)=\"manager?.actions?.next({ type: 'updateView', view: $event })\"\n (delete)=\"manager?.actions?.next({ type: 'deleteView', view: $event })\"\n (close)=\"\n manager?.actions?.next({ type: 'setEditingView', context: null })\n \"\n ></riv-edit-view>\n </ng-container>\n\n <ng-container *ngIf=\"state.deletingViewContext; let deletingViewContext\">\n <riv-dialog\n *ngIf=\"\n deletingViewContext.id === view.id &&\n deletingViewContext.menuContext === menuContext\n \"\n [title]=\"'Delete view'\"\n (close)=\"\n manager?.actions?.next({ type: 'setDeletingView', context: null })\n \"\n >\n <div class=\"delete-dialog\">\n <div class=\"delete-title\">\n Are you sure you want to delete the following view?\n </div>\n <p>{{ view.title }}</p>\n </div>\n <footer class=\"delete-footer\">\n <button\n rivButton\n (click)=\"\n manager?.actions?.next({ type: 'setDeletingView', context: null })\n \"\n >\n Cancel\n </button>\n <button\n rivButton\n [variant]=\"'danger'\"\n (click)=\"\n manager?.actions?.next({\n type: 'deleteView',\n view\n })\n \"\n >\n Delete view\n </button>\n </footer>\n </riv-dialog>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [":host{display:inline-flex;align-items:stretch}riv-menu{width:100%;max-width:100%;height:100%;max-height:100%}.delete-dialog{padding:var(--size-xlarge);display:flex;flex-direction:column;gap:var(--size-large);width:calc(var(--base-grid-size) * 120);max-width:100%}.delete-title{font:var(--title-02)}.delete-footer{padding:var(--size-medium);display:flex;justify-content:space-between;gap:var(--size-medium)}\n"] }]
|
|
4191
4191
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { manager: [{
|
|
4192
4192
|
type: Input
|
|
4193
4193
|
}], view: [{
|
|
@@ -4303,10 +4303,10 @@ class ViewsComponent {
|
|
|
4303
4303
|
}
|
|
4304
4304
|
}
|
|
4305
4305
|
ViewsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ViewsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4306
|
-
ViewsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ViewsComponent, selector: "riv-views", inputs: { manager: "manager", sideSheetTopOffset: "sideSheetTopOffset" }, viewQueries: [{ propertyName: "overflowTrigger", first: true, predicate: ["overflowTrigger"], descendants: true, read: ElementRef }, { propertyName: "activeTab", first: true, predicate: ["activeTab"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n (rivClientSize)=\"\n manager?.actions?.next({ type: 'setContainerWidth', width: $event.width })\n \"\n class=\"container\"\n>\n <ng-container *ngIf=\"manager?.state | async; let s\">\n <ng-container\n *ngFor=\"let view of s.displayedViews; let i = index; trackBy: trackById\"\n >\n <ng-container *ngIf=\"view.active; else inactiveTab\">\n <div\n #activeTab\n class=\"tab active\"\n [class.dragging]=\"draggedTabIndex === i\"\n [class.dragged-over-left]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex > i\n \"\n [class.dragged-over-right]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex < i\n \"\n [attr.draggable]=\"i > 0\"\n [attr.droppable]=\"i > 0\"\n (dragstart)=\"dragStart(i)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i)\"\n (drop)=\"drop(i)\"\n >\n <riv-icon\n class=\"tab-reorder\"\n [class.hidden-class]=\"i === 0\"\n [name]=\"'Reorder'\"\n [size]=\"16\"\n ></riv-icon>\n <div class=\"menu-wrapper\" rivTruncate>\n <riv-view-menu\n [manager]=\"manager\"\n [view]=\"view\"\n [menuContext]=\"'tab'\"\n class=\"active-menu\"\n >\n <ng-template #menuTrigger>\n <button class=\"menu-trigger\" rivTruncate>\n {{ view.title }}\n </button>\n </ng-template>\n </riv-view-menu>\n </div>\n </div>\n </ng-container>\n <ng-template #inactiveTab>\n <button\n class=\"tab\"\n [class.dragging]=\"draggedTabIndex === i\"\n [class.dragged-over-left]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex > i\n \"\n [class.dragged-over-right]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex < i\n \"\n [attr.draggable]=\"i > 0\"\n [attr.droppable]=\"i > 0\"\n (dragstart)=\"dragStart(i)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i)\"\n (drop)=\"drop(i)\"\n (click)=\"\n manager?.actions?.next({ type: 'setActiveView', id: view.id })\n \"\n >\n <riv-icon\n class=\"tab-reorder\"\n [class.hidden-class]=\"i === 0\"\n [name]=\"'Reorder'\"\n [size]=\"16\"\n ></riv-icon>\n <span rivTruncate>\n {{ view.title }}\n </span>\n </button>\n </ng-template>\n </ng-container>\n <button\n *ngIf=\"s.allEnabledViews.length - s.displayedViews.length; let count\"\n class=\"tab overflow\"\n rivTruncate\n #overflowTrigger\n (click)=\"\n manager?.actions?.next({ type: 'setOverflowPickerOpen', open: true })\n \"\n >\n {{ count | rivNumber }} more\n </button>\n <ng-container *ngIf=\"s.overflow.pickerOpen\">\n <riv-callout\n *riv-overlay\n [anchor]=\"overflowTrigger?.nativeElement\"\n [isModal]=\"true\"\n [showCaret]=\"false\"\n [theme]=\"'light'\"\n [preferredPosition]=\"'bottom-left'\"\n (close)=\"\n manager?.actions?.next({ type: 'setOverflowPickerOpen', open: false })\n \"\n >\n <div class=\"overflow-callout\">\n <riv-search\n [value]=\"s.overflow.search\"\n (valueChange)=\"\n manager?.actions?.next({\n type: 'setOverflowSearchQuery',\n query: $event\n })\n \"\n ></riv-search>\n <div class=\"overflow-view-list\">\n <button\n *ngFor=\"let view of s.enabledViews; let i = index\"\n class=\"overflow-view\"\n [class.system]=\"view.system\"\n [class.dragging]=\"draggedTabIndex === i\"\n [class.dragged-over-top]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex > i\n \"\n [class.dragged-over-bottom]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex < i\n \"\n [attr.draggable]=\"i > 0\"\n [attr.droppable]=\"i > 0\"\n (dragstart)=\"dragStart(i)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i)\"\n (drop)=\"drop(i)\"\n (click)=\"\n manager?.actions?.next({ type: 'setActiveView', id: view.id });\n manager?.actions?.next({\n type: 'setOverflowPickerOpen',\n open: false\n })\n \"\n >\n <riv-icon\n *ngIf=\"i > 0\"\n class=\"overflow-reorder\"\n [name]=\"'Reorder'\"\n [size]=\"16\"\n ></riv-icon>\n <div class=\"overflow-title\" rivTruncate>\n <riv-highlight\n [indices]=\"view.titleHighlightIndices ?? []\"\n [text]=\"view.title\"\n ></riv-highlight>\n </div>\n <riv-view-menu\n [manager]=\"manager\"\n [view]=\"view\"\n [menuContext]=\"'overflow'\"\n ></riv-view-menu>\n </button>\n <riv-zero-state\n *ngIf=\"!s.enabledViews.length\"\n [message]=\"'No matching views.'\"\n ></riv-zero-state>\n </div>\n </div>\n </riv-callout>\n </ng-container>\n <div class=\"all-views-button-container\">\n <button\n rivButton\n [variant]=\"'ghost'\"\n [size]=\"'medium'\"\n (click)=\"showAllViews = true\"\n >\n All views\n </button>\n </div>\n </ng-container>\n</div>\n\n<riv-all-views-modal\n *ngIf=\"showAllViews\"\n [manager]=\"manager\"\n [topOffset]=\"sideSheetTopOffset\"\n (close)=\"showAllViews = false\"\n></riv-all-views-modal>\n\n<riv-toast *ngIf=\"showLinkCopiedToast | async\" (close)=\"toastClosed.next()\">\n Link to view copied to clipboard\n</riv-toast>\n", styles: [".container{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,calc(var(--base-grid-size) * 81));justify-content:start;border-bottom:var(--border-width) solid var(--border-light)}.tab{font:var(--input-medium);color:var(--type-light-low-contrast);background-color:var(--surface-light-1);border:var(--border-width) solid var(--border-light);border-bottom:none;border-top-left-radius:var(--border-radius-medium);border-top-right-radius:var(--border-radius-medium);padding:var(--size-small) var(--size-large) var(--size-small) 0;cursor:pointer;transition:background-color var(--medium-transition);display:flex;justify-content:flex-start;align-items:center;position:relative}.tab:hover{background-color:var(--surface-light-2)}.tab:active{background-color:var(--surface-light-3)}.tab:not(:first-child){margin-left:calc(var(--border-width) * -1)}.tab.active{color:var(--purp-80);background-color:var(--surface-light-0);border-bottom:var(--border-width) solid var(--surface-light-0);margin-bottom:calc(var(--border-width) * -1);z-index:1}.tab.active:active{border:var(--border-width) solid var(--purp-80)}.tab.dragging{cursor:grabbing}.tab.dragged-over-left:before,.tab.dragged-over-right:before{content:\"\";position:absolute;top:0;bottom:0;width:var(--size-xxsmall);background-color:var(--brand);box-shadow:0 0 var(--size-xxsmall) var(--brand)}.tab.dragged-over-left:before{left:0}.tab.dragged-over-right:before{right:0}.tab-reorder{color:var(--type-light-low-contrast);opacity:0;transition:opacity var(--short-transition);cursor:grab;margin:0 var(--size-xsmall)}.tab:hover .tab-reorder{opacity:1}.hidden-class{visibility:hidden}.menu-wrapper{display:inline-flex}.active-menu,.menu-trigger{color:var(--type-light-link-hover);max-width:100%;cursor:pointer;font:var(--input-medium)}.tab.overflow{padding-left:var(--size-large)}.all-views-button-container{padding:var(--size-xxsmall)}.overflow-callout{padding:var(--size-large);display:flex;flex-direction:column;gap:var(--size-medium);height:calc(var(--base-grid-size) * 120);max-height:50vh;width:calc(var(--base-grid-size) * 75);max-width:50vw}.overflow-view-list{display:flex;flex-direction:column;gap:var(--size-small);flex-grow:1;overflow-y:auto}.overflow-view{display:flex;align-items:center;gap:var(--size-small);cursor:pointer;border-radius:var(--border-radius-medium);transition:background-color var(--short-transition);position:relative}.overflow-view.system{padding-left:var(--size-small)}.overflow-view:hover{background-color:var(--surface-light-2)}.overflow-view.dragged-over-top:before,.overflow-view.dragged-over-bottom:before{content:\"\";position:absolute;left:0;right:0;height:var(--size-xxsmall);background-color:var(--brand);box-shadow:0 0 var(--size-xxsmall) var(--brand)}.overflow-view.dragged-over-top:before{top:0}.overflow-view.dragged-over-bottom:before{bottom:0}.overflow-reorder{color:var(--type-light-low-contrast);cursor:grab}.overflow-title{flex-grow:1;text-align:left}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AllViewsModalComponent, selector: "riv-all-views-modal", inputs: ["manager", "topOffset"], outputs: ["close"] }, { kind: "component", type: ButtonComponent, selector: "[rivButton]", inputs: ["locked", "disabled", "loading", "full", "size", "variant", "icon", "iconPosition", "active"] }, { kind: "component", type: CalloutComponent, selector: "riv-callout", inputs: ["anchor", "isModal", "preferredPosition", "allowedPositions", "fallbackDirection", "showCaret", "theme"], outputs: ["close"] }, { kind: "component", type: HighlightComponent, selector: "riv-highlight", inputs: ["text", "indices"] }, { kind: "component", type: IconComponent, selector: "riv-icon", inputs: ["name", "size", "customSize", "strokeWidth"] }, { kind: "directive", type: OverlayDirective, selector: "[riv-overlay]" }, { kind: "component", type: SearchComponent, selector: "riv-search", inputs: ["placeholder", "name", "labelTemplate"] }, { kind: "directive", type: SizeDirective, selector: "[rivClientSize]", outputs: ["rivClientSize"] }, { kind: "component", type: ToastComponent, selector: "riv-toast", inputs: ["variant", "icon"], outputs: ["close"] }, { kind: "component", type: TruncateComponent, selector: "[rivTruncate]", inputs: ["maxTooltipWidth"] }, { kind: "component", type: ViewMenuComponent, selector: "riv-view-menu", inputs: ["manager", "view", "menuContext"] }, { kind: "component", type: ZeroStateComponent, selector: "riv-zero-state", inputs: ["message", "title", "icon"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: NumberPipe, name: "rivNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4306
|
+
ViewsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ViewsComponent, selector: "riv-views", inputs: { manager: "manager", sideSheetTopOffset: "sideSheetTopOffset" }, viewQueries: [{ propertyName: "overflowTrigger", first: true, predicate: ["overflowTrigger"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n (rivClientSize)=\"\n manager?.actions?.next({ type: 'setContainerWidth', width: $event.width })\n \"\n class=\"container\"\n>\n <ng-container *ngIf=\"manager?.state | async; let s\">\n <ng-container\n *ngFor=\"let view of s.displayedViews; let i = index; trackBy: trackById\"\n >\n <ng-container *ngIf=\"view.active; else inactiveTab\">\n <riv-view-menu\n [manager]=\"manager\"\n [view]=\"view\"\n [menuContext]=\"'tab'\"\n class=\"active-menu\"\n >\n <ng-template #menuTrigger>\n <div\n class=\"tab active\"\n [class.dragging]=\"draggedTabIndex === i\"\n [class.dragged-over-left]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex > i\n \"\n [class.dragged-over-right]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex < i\n \"\n [attr.draggable]=\"i > 0\"\n [attr.droppable]=\"i > 0\"\n (dragstart)=\"dragStart(i)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i)\"\n (drop)=\"drop(i)\"\n >\n <riv-icon\n class=\"tab-reorder\"\n [class.hidden-class]=\"i === 0\"\n [name]=\"'Reorder'\"\n [size]=\"16\"\n ></riv-icon>\n <div rivTruncate>\n {{ view.title }}\n </div>\n </div>\n </ng-template>\n </riv-view-menu>\n </ng-container>\n <ng-template #inactiveTab>\n <button\n class=\"tab\"\n [class.dragging]=\"draggedTabIndex === i\"\n [class.dragged-over-left]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex > i\n \"\n [class.dragged-over-right]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex < i\n \"\n [attr.draggable]=\"i > 0\"\n [attr.droppable]=\"i > 0\"\n (dragstart)=\"dragStart(i)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i)\"\n (drop)=\"drop(i)\"\n (click)=\"\n manager?.actions?.next({ type: 'setActiveView', id: view.id })\n \"\n >\n <riv-icon\n class=\"tab-reorder\"\n [class.hidden-class]=\"i === 0\"\n [name]=\"'Reorder'\"\n [size]=\"16\"\n ></riv-icon>\n <span rivTruncate>\n {{ view.title }}\n </span>\n </button>\n </ng-template>\n </ng-container>\n <button\n *ngIf=\"s.allEnabledViews.length - s.displayedViews.length; let count\"\n class=\"tab overflow\"\n rivTruncate\n #overflowTrigger\n (click)=\"\n manager?.actions?.next({ type: 'setOverflowPickerOpen', open: true })\n \"\n >\n {{ count | rivNumber }} more\n </button>\n <ng-container *ngIf=\"s.overflow.pickerOpen\">\n <riv-callout\n *riv-overlay\n [anchor]=\"overflowTrigger?.nativeElement\"\n [isModal]=\"true\"\n [showCaret]=\"false\"\n [theme]=\"'light'\"\n [preferredPosition]=\"'bottom-left'\"\n (close)=\"\n manager?.actions?.next({ type: 'setOverflowPickerOpen', open: false })\n \"\n >\n <div class=\"overflow-callout\">\n <riv-search\n [value]=\"s.overflow.search\"\n (valueChange)=\"\n manager?.actions?.next({\n type: 'setOverflowSearchQuery',\n query: $event\n })\n \"\n ></riv-search>\n <div class=\"overflow-view-list\">\n <button\n *ngFor=\"let view of s.enabledViews; let i = index\"\n class=\"overflow-view\"\n [class.system]=\"view.system\"\n [class.dragging]=\"draggedTabIndex === i\"\n [class.dragged-over-top]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex > i\n \"\n [class.dragged-over-bottom]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex < i\n \"\n [attr.draggable]=\"i > 0\"\n [attr.droppable]=\"i > 0\"\n (dragstart)=\"dragStart(i)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i)\"\n (drop)=\"drop(i)\"\n (click)=\"\n manager?.actions?.next({ type: 'setActiveView', id: view.id });\n manager?.actions?.next({\n type: 'setOverflowPickerOpen',\n open: false\n })\n \"\n >\n <riv-icon\n *ngIf=\"i > 0\"\n class=\"overflow-reorder\"\n [name]=\"'Reorder'\"\n [size]=\"16\"\n ></riv-icon>\n <div class=\"overflow-title\" rivTruncate>\n <riv-highlight\n [indices]=\"view.titleHighlightIndices ?? []\"\n [text]=\"view.title\"\n ></riv-highlight>\n </div>\n <riv-view-menu\n [manager]=\"manager\"\n [view]=\"view\"\n [menuContext]=\"'overflow'\"\n ></riv-view-menu>\n </button>\n <riv-zero-state\n *ngIf=\"!s.enabledViews.length\"\n [message]=\"'No matching views.'\"\n ></riv-zero-state>\n </div>\n </div>\n </riv-callout>\n </ng-container>\n <div class=\"all-views-button-container\">\n <button\n rivButton\n [variant]=\"'ghost'\"\n [size]=\"'medium'\"\n (click)=\"showAllViews = true\"\n >\n All views\n </button>\n </div>\n </ng-container>\n</div>\n\n<riv-all-views-modal\n *ngIf=\"showAllViews\"\n [manager]=\"manager\"\n [topOffset]=\"sideSheetTopOffset\"\n (close)=\"showAllViews = false\"\n></riv-all-views-modal>\n\n<riv-toast *ngIf=\"showLinkCopiedToast | async\" (close)=\"toastClosed.next()\">\n Link to view copied to clipboard\n</riv-toast>\n", styles: [".container{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,calc(var(--base-grid-size) * 81));justify-content:start;border-bottom:var(--border-width) solid var(--border-light)}.tab{font:var(--input-medium);color:var(--type-light-low-contrast);background-color:var(--surface-light-1);border:var(--border-width) solid var(--border-light);border-bottom:none;border-top-left-radius:var(--border-radius-medium);border-top-right-radius:var(--border-radius-medium);padding:var(--size-small) var(--size-large) var(--size-small) 0;cursor:pointer;transition:background-color var(--medium-transition);display:flex;justify-content:flex-start;align-items:center;position:relative}.tab:hover{background-color:var(--surface-light-2)}.tab:active{background-color:var(--surface-light-3)}.tab:not(:first-child),.active-menu{margin-left:calc(var(--border-width) * -1)}.tab.active{color:var(--purp-80);background-color:var(--surface-light-0);border-bottom:var(--border-width) solid var(--surface-light-0);margin-bottom:calc(var(--border-width) * -1);z-index:1;width:100%;max-width:100%;height:100%;max-height:100%}.tab.active:active{border:var(--border-width) solid var(--purp-80)}.tab.dragging{cursor:grabbing}.tab.dragged-over-left:before,.tab.dragged-over-right:before{content:\"\";position:absolute;top:0;bottom:0;width:var(--size-xxsmall);background-color:var(--brand);box-shadow:0 0 var(--size-xxsmall) var(--brand)}.tab.dragged-over-left:before{left:0}.tab.dragged-over-right:before{right:0}.tab-reorder{color:var(--type-light-low-contrast);opacity:0;transition:opacity var(--short-transition);cursor:grab;margin:0 var(--size-xsmall)}.tab:hover .tab-reorder{opacity:1}.hidden-class{visibility:hidden}.active-menu{display:inline-flex;color:var(--type-light-link-hover);--size: calc(100% + calc(var(--border-width)));width:var(--size);max-width:var(--size);height:var(--size);max-height:var(--size);cursor:pointer;font:var(--input-medium)}.tab.overflow{padding-left:var(--size-large)}.all-views-button-container{padding:var(--size-xxsmall)}.overflow-callout{padding:var(--size-large);display:flex;flex-direction:column;gap:var(--size-medium);height:calc(var(--base-grid-size) * 120);max-height:50vh;width:calc(var(--base-grid-size) * 75);max-width:50vw}.overflow-view-list{display:flex;flex-direction:column;gap:var(--size-small);flex-grow:1;overflow-y:auto}.overflow-view{display:flex;align-items:center;gap:var(--size-small);cursor:pointer;border-radius:var(--border-radius-medium);transition:background-color var(--short-transition);position:relative}.overflow-view.system{padding-left:var(--size-small)}.overflow-view:hover{background-color:var(--surface-light-2)}.overflow-view.dragged-over-top:before,.overflow-view.dragged-over-bottom:before{content:\"\";position:absolute;left:0;right:0;height:var(--size-xxsmall);background-color:var(--brand);box-shadow:0 0 var(--size-xxsmall) var(--brand)}.overflow-view.dragged-over-top:before{top:0}.overflow-view.dragged-over-bottom:before{bottom:0}.overflow-reorder{color:var(--type-light-low-contrast);cursor:grab}.overflow-title{flex-grow:1;text-align:left}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AllViewsModalComponent, selector: "riv-all-views-modal", inputs: ["manager", "topOffset"], outputs: ["close"] }, { kind: "component", type: ButtonComponent, selector: "[rivButton]", inputs: ["locked", "disabled", "loading", "full", "size", "variant", "icon", "iconPosition", "active"] }, { kind: "component", type: CalloutComponent, selector: "riv-callout", inputs: ["anchor", "isModal", "preferredPosition", "allowedPositions", "fallbackDirection", "showCaret", "theme"], outputs: ["close"] }, { kind: "component", type: HighlightComponent, selector: "riv-highlight", inputs: ["text", "indices"] }, { kind: "component", type: IconComponent, selector: "riv-icon", inputs: ["name", "size", "customSize", "strokeWidth"] }, { kind: "directive", type: OverlayDirective, selector: "[riv-overlay]" }, { kind: "component", type: SearchComponent, selector: "riv-search", inputs: ["placeholder", "name", "labelTemplate"] }, { kind: "directive", type: SizeDirective, selector: "[rivClientSize]", outputs: ["rivClientSize"] }, { kind: "component", type: ToastComponent, selector: "riv-toast", inputs: ["variant", "icon"], outputs: ["close"] }, { kind: "component", type: TruncateComponent, selector: "[rivTruncate]", inputs: ["maxTooltipWidth"] }, { kind: "component", type: ViewMenuComponent, selector: "riv-view-menu", inputs: ["manager", "view", "menuContext"] }, { kind: "component", type: ZeroStateComponent, selector: "riv-zero-state", inputs: ["message", "title", "icon"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: NumberPipe, name: "rivNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4307
4307
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ViewsComponent, decorators: [{
|
|
4308
4308
|
type: Component,
|
|
4309
|
-
args: [{ selector: 'riv-views', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n (rivClientSize)=\"\n manager?.actions?.next({ type: 'setContainerWidth', width: $event.width })\n \"\n class=\"container\"\n>\n <ng-container *ngIf=\"manager?.state | async; let s\">\n <ng-container\n *ngFor=\"let view of s.displayedViews; let i = index; trackBy: trackById\"\n >\n <ng-container *ngIf=\"view.active; else inactiveTab\">\n <
|
|
4309
|
+
args: [{ selector: 'riv-views', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n (rivClientSize)=\"\n manager?.actions?.next({ type: 'setContainerWidth', width: $event.width })\n \"\n class=\"container\"\n>\n <ng-container *ngIf=\"manager?.state | async; let s\">\n <ng-container\n *ngFor=\"let view of s.displayedViews; let i = index; trackBy: trackById\"\n >\n <ng-container *ngIf=\"view.active; else inactiveTab\">\n <riv-view-menu\n [manager]=\"manager\"\n [view]=\"view\"\n [menuContext]=\"'tab'\"\n class=\"active-menu\"\n >\n <ng-template #menuTrigger>\n <div\n class=\"tab active\"\n [class.dragging]=\"draggedTabIndex === i\"\n [class.dragged-over-left]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex > i\n \"\n [class.dragged-over-right]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex < i\n \"\n [attr.draggable]=\"i > 0\"\n [attr.droppable]=\"i > 0\"\n (dragstart)=\"dragStart(i)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i)\"\n (drop)=\"drop(i)\"\n >\n <riv-icon\n class=\"tab-reorder\"\n [class.hidden-class]=\"i === 0\"\n [name]=\"'Reorder'\"\n [size]=\"16\"\n ></riv-icon>\n <div rivTruncate>\n {{ view.title }}\n </div>\n </div>\n </ng-template>\n </riv-view-menu>\n </ng-container>\n <ng-template #inactiveTab>\n <button\n class=\"tab\"\n [class.dragging]=\"draggedTabIndex === i\"\n [class.dragged-over-left]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex > i\n \"\n [class.dragged-over-right]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex < i\n \"\n [attr.draggable]=\"i > 0\"\n [attr.droppable]=\"i > 0\"\n (dragstart)=\"dragStart(i)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i)\"\n (drop)=\"drop(i)\"\n (click)=\"\n manager?.actions?.next({ type: 'setActiveView', id: view.id })\n \"\n >\n <riv-icon\n class=\"tab-reorder\"\n [class.hidden-class]=\"i === 0\"\n [name]=\"'Reorder'\"\n [size]=\"16\"\n ></riv-icon>\n <span rivTruncate>\n {{ view.title }}\n </span>\n </button>\n </ng-template>\n </ng-container>\n <button\n *ngIf=\"s.allEnabledViews.length - s.displayedViews.length; let count\"\n class=\"tab overflow\"\n rivTruncate\n #overflowTrigger\n (click)=\"\n manager?.actions?.next({ type: 'setOverflowPickerOpen', open: true })\n \"\n >\n {{ count | rivNumber }} more\n </button>\n <ng-container *ngIf=\"s.overflow.pickerOpen\">\n <riv-callout\n *riv-overlay\n [anchor]=\"overflowTrigger?.nativeElement\"\n [isModal]=\"true\"\n [showCaret]=\"false\"\n [theme]=\"'light'\"\n [preferredPosition]=\"'bottom-left'\"\n (close)=\"\n manager?.actions?.next({ type: 'setOverflowPickerOpen', open: false })\n \"\n >\n <div class=\"overflow-callout\">\n <riv-search\n [value]=\"s.overflow.search\"\n (valueChange)=\"\n manager?.actions?.next({\n type: 'setOverflowSearchQuery',\n query: $event\n })\n \"\n ></riv-search>\n <div class=\"overflow-view-list\">\n <button\n *ngFor=\"let view of s.enabledViews; let i = index\"\n class=\"overflow-view\"\n [class.system]=\"view.system\"\n [class.dragging]=\"draggedTabIndex === i\"\n [class.dragged-over-top]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex > i\n \"\n [class.dragged-over-bottom]=\"\n draggedOverTabIndex === i &&\n draggedTabIndex !== null &&\n draggedTabIndex < i\n \"\n [attr.draggable]=\"i > 0\"\n [attr.droppable]=\"i > 0\"\n (dragstart)=\"dragStart(i)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i)\"\n (drop)=\"drop(i)\"\n (click)=\"\n manager?.actions?.next({ type: 'setActiveView', id: view.id });\n manager?.actions?.next({\n type: 'setOverflowPickerOpen',\n open: false\n })\n \"\n >\n <riv-icon\n *ngIf=\"i > 0\"\n class=\"overflow-reorder\"\n [name]=\"'Reorder'\"\n [size]=\"16\"\n ></riv-icon>\n <div class=\"overflow-title\" rivTruncate>\n <riv-highlight\n [indices]=\"view.titleHighlightIndices ?? []\"\n [text]=\"view.title\"\n ></riv-highlight>\n </div>\n <riv-view-menu\n [manager]=\"manager\"\n [view]=\"view\"\n [menuContext]=\"'overflow'\"\n ></riv-view-menu>\n </button>\n <riv-zero-state\n *ngIf=\"!s.enabledViews.length\"\n [message]=\"'No matching views.'\"\n ></riv-zero-state>\n </div>\n </div>\n </riv-callout>\n </ng-container>\n <div class=\"all-views-button-container\">\n <button\n rivButton\n [variant]=\"'ghost'\"\n [size]=\"'medium'\"\n (click)=\"showAllViews = true\"\n >\n All views\n </button>\n </div>\n </ng-container>\n</div>\n\n<riv-all-views-modal\n *ngIf=\"showAllViews\"\n [manager]=\"manager\"\n [topOffset]=\"sideSheetTopOffset\"\n (close)=\"showAllViews = false\"\n></riv-all-views-modal>\n\n<riv-toast *ngIf=\"showLinkCopiedToast | async\" (close)=\"toastClosed.next()\">\n Link to view copied to clipboard\n</riv-toast>\n", styles: [".container{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,calc(var(--base-grid-size) * 81));justify-content:start;border-bottom:var(--border-width) solid var(--border-light)}.tab{font:var(--input-medium);color:var(--type-light-low-contrast);background-color:var(--surface-light-1);border:var(--border-width) solid var(--border-light);border-bottom:none;border-top-left-radius:var(--border-radius-medium);border-top-right-radius:var(--border-radius-medium);padding:var(--size-small) var(--size-large) var(--size-small) 0;cursor:pointer;transition:background-color var(--medium-transition);display:flex;justify-content:flex-start;align-items:center;position:relative}.tab:hover{background-color:var(--surface-light-2)}.tab:active{background-color:var(--surface-light-3)}.tab:not(:first-child),.active-menu{margin-left:calc(var(--border-width) * -1)}.tab.active{color:var(--purp-80);background-color:var(--surface-light-0);border-bottom:var(--border-width) solid var(--surface-light-0);margin-bottom:calc(var(--border-width) * -1);z-index:1;width:100%;max-width:100%;height:100%;max-height:100%}.tab.active:active{border:var(--border-width) solid var(--purp-80)}.tab.dragging{cursor:grabbing}.tab.dragged-over-left:before,.tab.dragged-over-right:before{content:\"\";position:absolute;top:0;bottom:0;width:var(--size-xxsmall);background-color:var(--brand);box-shadow:0 0 var(--size-xxsmall) var(--brand)}.tab.dragged-over-left:before{left:0}.tab.dragged-over-right:before{right:0}.tab-reorder{color:var(--type-light-low-contrast);opacity:0;transition:opacity var(--short-transition);cursor:grab;margin:0 var(--size-xsmall)}.tab:hover .tab-reorder{opacity:1}.hidden-class{visibility:hidden}.active-menu{display:inline-flex;color:var(--type-light-link-hover);--size: calc(100% + calc(var(--border-width)));width:var(--size);max-width:var(--size);height:var(--size);max-height:var(--size);cursor:pointer;font:var(--input-medium)}.tab.overflow{padding-left:var(--size-large)}.all-views-button-container{padding:var(--size-xxsmall)}.overflow-callout{padding:var(--size-large);display:flex;flex-direction:column;gap:var(--size-medium);height:calc(var(--base-grid-size) * 120);max-height:50vh;width:calc(var(--base-grid-size) * 75);max-width:50vw}.overflow-view-list{display:flex;flex-direction:column;gap:var(--size-small);flex-grow:1;overflow-y:auto}.overflow-view{display:flex;align-items:center;gap:var(--size-small);cursor:pointer;border-radius:var(--border-radius-medium);transition:background-color var(--short-transition);position:relative}.overflow-view.system{padding-left:var(--size-small)}.overflow-view:hover{background-color:var(--surface-light-2)}.overflow-view.dragged-over-top:before,.overflow-view.dragged-over-bottom:before{content:\"\";position:absolute;left:0;right:0;height:var(--size-xxsmall);background-color:var(--brand);box-shadow:0 0 var(--size-xxsmall) var(--brand)}.overflow-view.dragged-over-top:before{top:0}.overflow-view.dragged-over-bottom:before{bottom:0}.overflow-reorder{color:var(--type-light-low-contrast);cursor:grab}.overflow-title{flex-grow:1;text-align:left}\n"] }]
|
|
4310
4310
|
}], propDecorators: { manager: [{
|
|
4311
4311
|
type: Input
|
|
4312
4312
|
}], sideSheetTopOffset: [{
|
|
@@ -4314,9 +4314,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
4314
4314
|
}], overflowTrigger: [{
|
|
4315
4315
|
type: ViewChild,
|
|
4316
4316
|
args: ['overflowTrigger', { read: ElementRef }]
|
|
4317
|
-
}], activeTab: [{
|
|
4318
|
-
type: ViewChild,
|
|
4319
|
-
args: ['activeTab', { read: ElementRef }]
|
|
4320
4317
|
}] } });
|
|
4321
4318
|
|
|
4322
4319
|
class BadgeComponent {
|