@rivet-health/design-system 33.0.0 → 33.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/navigation/views/state.mjs +4 -4
- package/esm2020/lib/navigation/views/views/views.component.mjs +22 -7
- package/fesm2015/rivet-health-design-system.mjs +18 -5
- package/fesm2015/rivet-health-design-system.mjs.map +1 -1
- package/fesm2020/rivet-health-design-system.mjs +18 -5
- package/fesm2020/rivet-health-design-system.mjs.map +1 -1
- package/lib/navigation/views/views/views.component.d.ts +3 -0
- package/package.json +1 -1
|
@@ -5099,11 +5099,11 @@ var RivViews;
|
|
|
5099
5099
|
function getPermissionDescription(permission) {
|
|
5100
5100
|
switch (permission) {
|
|
5101
5101
|
case 'private':
|
|
5102
|
-
return 'Only
|
|
5102
|
+
return 'Private - Only available to you';
|
|
5103
5103
|
case 'shared':
|
|
5104
|
-
return 'Only visible to those with access';
|
|
5104
|
+
return 'Shared - Only visible to those with access';
|
|
5105
5105
|
case 'public':
|
|
5106
|
-
return 'Visible to everyone';
|
|
5106
|
+
return 'Public - Visible to everyone';
|
|
5107
5107
|
}
|
|
5108
5108
|
}
|
|
5109
5109
|
RivViews.getPermissionDescription = getPermissionDescription;
|
|
@@ -5609,12 +5609,25 @@ class ViewsComponent {
|
|
|
5609
5609
|
ngOnInit() {
|
|
5610
5610
|
this.showLinkCopiedToast = merge(this.manager.actions.pipe(filter(({ type }) => type === 'copyLinkToView'), map(() => true)), this.toastClosed.pipe(map(() => false)));
|
|
5611
5611
|
}
|
|
5612
|
+
getPermissionIcon(permission) {
|
|
5613
|
+
switch (permission) {
|
|
5614
|
+
case 'private':
|
|
5615
|
+
return 'Lock';
|
|
5616
|
+
case 'shared':
|
|
5617
|
+
return 'UserCheck';
|
|
5618
|
+
case 'public':
|
|
5619
|
+
return 'Users';
|
|
5620
|
+
}
|
|
5621
|
+
}
|
|
5622
|
+
getPermissionDescription(permission) {
|
|
5623
|
+
return RivViews.getPermissionDescription(permission);
|
|
5624
|
+
}
|
|
5612
5625
|
}
|
|
5613
5626
|
ViewsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ViewsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5614
|
-
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]=\"!view.system\"\n [attr.droppable]=\"!view.system\"\n (dragstart)=\"dragStart(i, view.title, view.system)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i, view.system)\"\n (drop)=\"drop(i, false)\"\n >\n <riv-icon\n class=\"tab-reorder\"\n [class.hidden-class]=\"view.system\"\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]=\"!view.system\"\n [attr.droppable]=\"!view.system\"\n (dragstart)=\"dragStart(i, view.title, view.system)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i, view.system)\"\n (drop)=\"drop(i, false)\"\n (click)=\"\n manager?.actions?.next({\n type: 'setActiveView',\n id: view.id,\n source: 'tab'\n })\n \"\n >\n <riv-icon\n class=\"tab-reorder\"\n [class.hidden-class]=\"view.system\"\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]=\"!view.system\"\n [attr.droppable]=\"!view.system\"\n (dragstart)=\"dragStart(i, view.title, view.system)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i, view.system)\"\n (drop)=\"drop(i, true)\"\n (click)=\"\n manager?.actions?.next({\n type: 'setActiveView',\n id: view.id,\n source: 'overflow'\n });\n manager?.actions?.next({\n type: 'setOverflowPickerOpen',\n open: false\n })\n \"\n >\n <riv-icon\n *ngIf=\"!view.system\"\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", "current"] }, { 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 });
|
|
5627
|
+
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]=\"!view.system\"\n [attr.droppable]=\"!view.system\"\n (dragstart)=\"dragStart(i, view.title, view.system)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i, view.system)\"\n (drop)=\"drop(i, false)\"\n >\n <riv-icon\n class=\"tab-reorder\"\n [class.hidden-class]=\"view.system\"\n [name]=\"'Reorder'\"\n [size]=\"16\"\n ></riv-icon>\n <div rivTruncate>\n {{ view.title }}\n </div>\n <riv-icon\n class=\"permission-icon\"\n [name]=\"getPermissionIcon(view.permission)\"\n [size]=\"12\"\n [rivTooltip]=\"getPermissionDescription(view.permission)\"\n ></riv-icon>\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]=\"!view.system\"\n [attr.droppable]=\"!view.system\"\n (dragstart)=\"dragStart(i, view.title, view.system)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i, view.system)\"\n (drop)=\"drop(i, false)\"\n (click)=\"\n manager?.actions?.next({\n type: 'setActiveView',\n id: view.id,\n source: 'tab'\n })\n \"\n >\n <riv-icon\n class=\"tab-reorder\"\n [class.hidden-class]=\"view.system\"\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]=\"!view.system\"\n [attr.droppable]=\"!view.system\"\n (dragstart)=\"dragStart(i, view.title, view.system)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i, view.system)\"\n (drop)=\"drop(i, true)\"\n (click)=\"\n manager?.actions?.next({\n type: 'setActiveView',\n id: view.id,\n source: 'overflow'\n });\n manager?.actions?.next({\n type: 'setOverflowPickerOpen',\n open: false\n })\n \"\n >\n <riv-icon\n *ngIf=\"!view.system\"\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}.permission-icon{color:var(--type-light-low-contrast);margin-left:var(--size-xsmall);flex-shrink:0}.tab.active .permission-icon{color:var(--purp-80)}\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", "current"] }, { 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: "directive", type: TooltipDirective, selector: "[rivTooltip]", inputs: ["rivTooltip", "rivTooltipTheme", "rivTooltipMaxWidth", "rivTooltipPreferredPosition", "rivTooltipCloseDelay", "rivTooltipOpenDelay"] }, { 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 });
|
|
5615
5628
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ViewsComponent, decorators: [{
|
|
5616
5629
|
type: Component,
|
|
5617
|
-
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]=\"!view.system\"\n [attr.droppable]=\"!view.system\"\n (dragstart)=\"dragStart(i, view.title, view.system)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i, view.system)\"\n (drop)=\"drop(i, false)\"\n >\n <riv-icon\n class=\"tab-reorder\"\n [class.hidden-class]=\"view.system\"\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]=\"!view.system\"\n [attr.droppable]=\"!view.system\"\n (dragstart)=\"dragStart(i, view.title, view.system)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i, view.system)\"\n (drop)=\"drop(i, false)\"\n (click)=\"\n manager?.actions?.next({\n type: 'setActiveView',\n id: view.id,\n source: 'tab'\n })\n \"\n >\n <riv-icon\n class=\"tab-reorder\"\n [class.hidden-class]=\"view.system\"\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]=\"!view.system\"\n [attr.droppable]=\"!view.system\"\n (dragstart)=\"dragStart(i, view.title, view.system)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i, view.system)\"\n (drop)=\"drop(i, true)\"\n (click)=\"\n manager?.actions?.next({\n type: 'setActiveView',\n id: view.id,\n source: 'overflow'\n });\n manager?.actions?.next({\n type: 'setOverflowPickerOpen',\n open: false\n })\n \"\n >\n <riv-icon\n *ngIf=\"!view.system\"\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"] }]
|
|
5630
|
+
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]=\"!view.system\"\n [attr.droppable]=\"!view.system\"\n (dragstart)=\"dragStart(i, view.title, view.system)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i, view.system)\"\n (drop)=\"drop(i, false)\"\n >\n <riv-icon\n class=\"tab-reorder\"\n [class.hidden-class]=\"view.system\"\n [name]=\"'Reorder'\"\n [size]=\"16\"\n ></riv-icon>\n <div rivTruncate>\n {{ view.title }}\n </div>\n <riv-icon\n class=\"permission-icon\"\n [name]=\"getPermissionIcon(view.permission)\"\n [size]=\"12\"\n [rivTooltip]=\"getPermissionDescription(view.permission)\"\n ></riv-icon>\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]=\"!view.system\"\n [attr.droppable]=\"!view.system\"\n (dragstart)=\"dragStart(i, view.title, view.system)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i, view.system)\"\n (drop)=\"drop(i, false)\"\n (click)=\"\n manager?.actions?.next({\n type: 'setActiveView',\n id: view.id,\n source: 'tab'\n })\n \"\n >\n <riv-icon\n class=\"tab-reorder\"\n [class.hidden-class]=\"view.system\"\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]=\"!view.system\"\n [attr.droppable]=\"!view.system\"\n (dragstart)=\"dragStart(i, view.title, view.system)\"\n (dragenter)=\"$event.preventDefault()\"\n (dragover)=\"$event.preventDefault(); dragOver(i, view.system)\"\n (drop)=\"drop(i, true)\"\n (click)=\"\n manager?.actions?.next({\n type: 'setActiveView',\n id: view.id,\n source: 'overflow'\n });\n manager?.actions?.next({\n type: 'setOverflowPickerOpen',\n open: false\n })\n \"\n >\n <riv-icon\n *ngIf=\"!view.system\"\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}.permission-icon{color:var(--type-light-low-contrast);margin-left:var(--size-xsmall);flex-shrink:0}.tab.active .permission-icon{color:var(--purp-80)}\n"] }]
|
|
5618
5631
|
}], propDecorators: { manager: [{
|
|
5619
5632
|
type: Input
|
|
5620
5633
|
}], sideSheetTopOffset: [{
|