@arcgis/portal-components 5.2.0-next.21 → 5.2.0-next.23
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/dist/cdn/2CP32LP3.js +2 -0
- package/dist/cdn/4PKNGQ3Q.js +2 -0
- package/dist/cdn/{MH7KZ5G3.js → 7ZLHVPFN.js} +1 -1
- package/dist/cdn/EZZ66WTI.js +3 -0
- package/dist/cdn/{TSLW4FSA.js → GDYQWDWB.js} +1 -1
- package/dist/cdn/{V2EOXGK2.js → I234NUZ5.js} +1 -1
- package/dist/cdn/{EHRAFAEA.js → IANXXLKE.js} +1 -1
- package/dist/cdn/IVD6XJNI.js +2 -0
- package/dist/cdn/LCZTOHWB.js +2 -0
- package/dist/cdn/NWIIOJEG.js +2 -0
- package/dist/cdn/PZJAY7AM.js +2 -0
- package/dist/cdn/R2ULEQSR.js +2 -0
- package/dist/cdn/RFZCHE7J.js +2 -0
- package/dist/cdn/SY6RBNVT.js +2 -0
- package/dist/cdn/U3FVMN32.js +2 -0
- package/dist/cdn/{47NPIL2S.js → W7JNOIYK.js} +1 -1
- package/dist/cdn/XDMQ36GP.js +2 -0
- package/dist/cdn/XPYGLVPT.js +2 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.en.json +1 -0
- package/dist/cdn/index.js +1 -1
- package/dist/cdn/main.css +1 -1
- package/dist/chunks/dom.js +36 -0
- package/dist/chunks/functionalities.js +5 -4
- package/dist/chunks/ui.js +10 -0
- package/dist/components/arcgis-portal-browser/customElement.d.ts +85 -0
- package/dist/components/arcgis-portal-browser/customElement.js +210 -0
- package/dist/components/arcgis-portal-browser/index.d.ts +1 -0
- package/dist/components/arcgis-portal-browser/index.js +6 -0
- package/dist/components/arcgis-portal-browser/utils/store.d.ts +29 -0
- package/dist/components/arcgis-portal-browser/utils/types.d.ts +12 -0
- package/dist/components/arcgis-portal-browser-filter-status/customElement.d.ts +25 -0
- package/dist/components/arcgis-portal-browser-filter-status/customElement.js +55 -0
- package/dist/components/arcgis-portal-browser-filter-status/index.d.ts +1 -0
- package/dist/components/arcgis-portal-browser-filter-status/index.js +5 -0
- package/dist/components/arcgis-portal-group-card/customElement.js +2 -6
- package/dist/components/arcgis-portal-user-popup/customElement.js +90 -97
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/vscode.html-custom-data.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/index.d.ts +20 -0
- package/dist/loader.js +2 -0
- package/dist/types/group.d.ts +13 -13
- package/dist/types/item.d.ts +77 -2
- package/dist/types/lumina.d.ts +13 -0
- package/dist/types/preact.d.ts +15 -0
- package/dist/types/react.d.ts +17 -0
- package/dist/types/search.d.ts +27 -0
- package/dist/types/stencil.d.ts +13 -0
- package/package.json +4 -4
- package/dist/cdn/2RGMWFHB.js +0 -2
- package/dist/cdn/3KS5IDT2.js +0 -2
- package/dist/cdn/EETBNQU2.js +0 -2
- package/dist/cdn/KT7PE6UE.js +0 -2
- package/dist/cdn/KY7Q7DH3.js +0 -2
- package/dist/cdn/VXCB2YBR.js +0 -3
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
const
|
|
2
|
+
const t = (e) => {
|
|
3
3
|
throw new Error(`Unexpected value: ${e}`);
|
|
4
4
|
}, a = async (e) => {
|
|
5
|
-
await new Promise((
|
|
6
|
-
};
|
|
5
|
+
await new Promise((s) => setTimeout(s, e));
|
|
6
|
+
}, n = (e, s) => e.includes(s);
|
|
7
7
|
export {
|
|
8
|
-
|
|
8
|
+
t as a,
|
|
9
|
+
n as i,
|
|
9
10
|
a as t
|
|
10
11
|
};
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/// <reference path="../../index.d.ts" />
|
|
2
|
+
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
|
|
3
|
+
import type { SearchResultGroup } from "../../types/group.js";
|
|
4
|
+
import type { SearchResultItem } from "../../types/item.js";
|
|
5
|
+
import type { SearchResult } from "../../types/search.js";
|
|
6
|
+
import type { SearchResultUser } from "../../types/user.js";
|
|
7
|
+
import type { PortalBrowserStore } from "./utils/store.js";
|
|
8
|
+
import type { RangeFormatter } from "./utils/types.js";
|
|
9
|
+
import type { T9nMeta } from "@arcgis/lumina/controllers";
|
|
10
|
+
|
|
11
|
+
export abstract class ArcgisPortalBrowser extends LitElement {
|
|
12
|
+
/** @internal */
|
|
13
|
+
protected _messages: {
|
|
14
|
+
browser: {
|
|
15
|
+
refineContent: string;
|
|
16
|
+
close: string;
|
|
17
|
+
loading: string;
|
|
18
|
+
};
|
|
19
|
+
range: {
|
|
20
|
+
summary: string;
|
|
21
|
+
announcement: string;
|
|
22
|
+
};
|
|
23
|
+
filterStatus: {
|
|
24
|
+
filters: string;
|
|
25
|
+
additional: string;
|
|
26
|
+
clearAllFilters: string;
|
|
27
|
+
};
|
|
28
|
+
} & T9nMeta<{
|
|
29
|
+
browser: {
|
|
30
|
+
refineContent: string;
|
|
31
|
+
close: string;
|
|
32
|
+
loading: string;
|
|
33
|
+
};
|
|
34
|
+
range: {
|
|
35
|
+
summary: string;
|
|
36
|
+
announcement: string;
|
|
37
|
+
};
|
|
38
|
+
filterStatus: {
|
|
39
|
+
filters: string;
|
|
40
|
+
additional: string;
|
|
41
|
+
clearAllFilters: string;
|
|
42
|
+
};
|
|
43
|
+
}>;
|
|
44
|
+
/** @default false */
|
|
45
|
+
accessor alwaysShowContent: boolean;
|
|
46
|
+
/** @default false */
|
|
47
|
+
accessor alwaysShowPagination: boolean | undefined;
|
|
48
|
+
/** @default false */
|
|
49
|
+
accessor alwaysShowSelection: boolean;
|
|
50
|
+
/** @default "large" */
|
|
51
|
+
accessor formFactor: "large" | "small";
|
|
52
|
+
/**
|
|
53
|
+
* Height sizing strategy for the browser to use
|
|
54
|
+
* full height will be 100% the height of its parent and scroll internally
|
|
55
|
+
* auto height will grow with the contents of the browser
|
|
56
|
+
*
|
|
57
|
+
* @default "full"
|
|
58
|
+
*/
|
|
59
|
+
accessor height: "auto" | "full";
|
|
60
|
+
/** @default false */
|
|
61
|
+
accessor hideContentTop: boolean;
|
|
62
|
+
/** @default false */
|
|
63
|
+
accessor hideFilters: boolean | undefined;
|
|
64
|
+
/** @default false */
|
|
65
|
+
accessor hideTopBar: boolean | undefined;
|
|
66
|
+
/** @default false */
|
|
67
|
+
accessor loading: boolean;
|
|
68
|
+
/** @default false */
|
|
69
|
+
accessor panel: boolean;
|
|
70
|
+
/** @default false */
|
|
71
|
+
accessor preview: boolean;
|
|
72
|
+
accessor rangeFormatter: RangeFormatter | undefined;
|
|
73
|
+
accessor response: SearchResult<SearchResultGroup | SearchResultItem | SearchResultUser>;
|
|
74
|
+
/** @default "" */
|
|
75
|
+
accessor searchTerm: string;
|
|
76
|
+
accessor selected: SearchResultGroup[] | SearchResultItem[] | SearchResultUser[] | undefined;
|
|
77
|
+
/** @default false */
|
|
78
|
+
accessor showPreSearch: boolean | undefined;
|
|
79
|
+
accessor store: PortalBrowserStore;
|
|
80
|
+
scrollToTop(): Promise<void>;
|
|
81
|
+
readonly arcgisAriaUpdate: import("@arcgis/lumina").TargetedEvent<this, string>;
|
|
82
|
+
readonly "@eventTypes": {
|
|
83
|
+
arcgisAriaUpdate: ArcgisPortalBrowser["arcgisAriaUpdate"]["detail"];
|
|
84
|
+
};
|
|
85
|
+
}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import { c as x } from "../../chunks/runtime.js";
|
|
3
|
+
import { watch as a } from "@arcgis/core/core/reactiveUtils.js";
|
|
4
|
+
import * as h from "@arcgis/core/intl.js";
|
|
5
|
+
import { LitElement as b, createEvent as _, safeStyleMap as p, safeClassMap as o } from "@arcgis/lumina";
|
|
6
|
+
import { css as y, html as r } from "lit";
|
|
7
|
+
import { createRef as $, ref as F } from "lit/directives/ref.js";
|
|
8
|
+
import { u as S } from "../../chunks/useT9n.js";
|
|
9
|
+
import { c as w } from "../../chunks/dom.js";
|
|
10
|
+
import { i as k } from "../../chunks/functionalities.js";
|
|
11
|
+
import "../arcgis-portal-browser-filter-status/customElement.js";
|
|
12
|
+
import { createStore as P } from "@arcgis/lumina/controllers/accessor";
|
|
13
|
+
const B = y`:host{position:relative;display:flex;height:100%;flex-direction:column;overflow-y:auto;overflow-x:hidden;background-color:var(--calcite-color-background);--arcgis-browser-max-width: 100%;--arcgis-browser-pane-width: 18.75rem;--arcgis-browser-pane-z-index: 11}:host([height="auto"]){height:auto;min-height:100%;flex:1 1 100%}.wrapper{display:flex;height:100%;flex-direction:column;overflow:hidden}.wrapper--fixed{overflow:hidden}.wrapper--auto{flex:1 1 100%}.wrapper--full{transform:translate(0)}.panel{display:flex;height:100%;flex-direction:column;overflow:hidden}.panel--fixed{transform:translateZ(0)}.top-bar{position:sticky;top:0;right:0;left:0;z-index:20;flex-shrink:0;flex-grow:0;border-bottom:1px solid var(--calcite-color-border-3)}.scrolling{position:relative;display:flex;min-height:0px;width:100%;flex:1 1 0%;flex-direction:column}.scrolling--panel{overflow-y:scroll}@supports (scrollbar-gutter: stable){.scrolling--panel{scrollbar-gutter:stable;overflow-y:auto}}.scrolling--full{overflow:hidden}.preview-position{position:absolute;inset:0;margin-inline:auto;width:100%;max-width:var(--arcgis-browser-max-width)}.preview-position--with-top-bar{top:3rem}.preview-desktop{width:100%}.two-up{margin-left:auto;margin-right:auto;display:flex;width:100%;flex:1 1 auto;flex-direction:row;max-width:var(--arcgis-browser-max-width)}.two-up.small{margin-top:-1px}.two-up--fullscreen{height:100%;overflow:hidden}.content__start{margin-inline-end:.25rem;padding-inline:1rem}.content{position:relative;display:flex;min-width:0px;flex:1 1 0%;flex-direction:column;overflow:hidden}.content--full{overflow-y:scroll}@supports (scrollbar-gutter: stable){.content--full{scrollbar-gutter:stable;overflow-y:auto}}.content__top{position:relative;display:flex;height:1.5rem;flex-grow:0;align-items:center;justify-content:space-between;padding-top:1.25rem;padding-bottom:.75rem;font-size:1.125rem;color:var(--calcite-color-text-1);z-index:2}.content__top__end{margin-inline-start:auto;display:grid;gap:.5rem;grid-auto-flow:column}.actions,.filter-status{flex:1 1 0%}.content__view{margin-inline-end:.25rem;min-width:0px;flex:1 1 0%;padding-inline:var(--arcgis-browser-content-padding, 1rem)}.content__view--padded-bottom{padding-bottom:1rem}.content__view--no-filters{margin-inline-start:.25rem;padding-inline-start:var(--arcgis-browser-content-padding, 1rem)}.pane{pointer-events:none;visibility:hidden;display:flex;height:100%;background-color:var(--calcite-color-background);opacity:0;transition-duration:var(--calcite-internal-animation-timing-medium);transition-property:transform,visibility,opacity;border-left:1px solid var(--calcite-color-border-3);border-right:1px solid var(--calcite-color-border-3)}.pane--open{pointer-events:auto;visibility:visible;opacity:1;transform:translate(0);box-shadow:4px 0 16px #0000000f}.preview{width:0px;flex-shrink:0;flex-grow:0;position:absolute;top:0;bottom:0;inset-inline-start:0;transition-duration:var(--calcite-internal-animation-timing-medium);transition-property:width;z-index:var(--arcgis-browser-pane-z-index)}.preview--fixed{position:fixed}.preview--active{overflow:auto;width:var(--arcgis-browser-pane-width);box-shadow:#0000000f 4px 0 16px}.filter-panel,.preview-panel{position:relative;height:100%;background-color:var(--calcite-color-background)}.filter-panel__content{padding:.75rem 1rem 0}.filter-status--mobile{width:100%}.filter-status--active{display:block}.sheet{pointer-events:none;position:fixed;inset:0;z-index:110}.sheet--top-bar{top:3rem;overflow:hidden}.sheet__background{position:absolute;inset:0;opacity:0;transition:all var(--calcite-animation-timing) ease-in-out 0s,outline 0s,outline-offset 0s;background-color:#0003}.sheet__background--hidden{display:none}.sheet--active .sheet__background{opacity:1}.sheet--active{pointer-events:auto;opacity:1}.sheet__contents{position:absolute;inset:0;opacity:0;transition:all var(--calcite-animation-timing) ease-in-out 0s,outline 0s,outline-offset 0s;top:3rem;transform:translate3d(0,24px,0)}.sheet__contents--full{top:0;--tw-shadow: 0 2px 12px -4px rgba(0, 0, 0, .2), 0 2px 4px -2px rgba(0, 0, 0, .16);--tw-shadow-colored: 0 2px 12px -4px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);inset-inline-end:auto;width:var(--arcgis-browser-pane-width);border:1px solid var(--calcite-color-border-3);border-inline-start:none;transform:translate3d(-24px,0,0)}.sheet--active .sheet__contents{opacity:1;transform:translateZ(0)}.hide{display:none}.aria-hidden{height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;position:absolute;top:0;bottom:0;width:0px;inset-inline-end:0}.content__view--flex{display:flex;flex-direction:column}.cover{display:flex;flex:1 1 0%;align-items:flex-start;justify-content:center;overflow:auto;padding-bottom:1rem;padding-top:.25rem}.no-results{height:100%;width:100%;flex:1 1 0%;text-align:center;font-size:1.125rem;color:var(--calcite-color-text-2)}::slotted([slot="no-results"]){width:100%}::slotted([slot="no-content"]){width:100%}.results-wrapper{flex:1 1 0%}.results-wrapper--spaced{padding-top:1.5rem}.loader{margin-top:min(8rem,30vh);--calcite-loader-padding: 0}.filters{box-sizing:border-box;flex-grow:0;padding-inline:1.5rem 0;width:var(--arcgis-browser-pane-width)}.filters--sticky{position:sticky;top:0;height:100%}.filters__content{overflow-y:auto;height:100%;padding-top:1.5rem;box-sizing:border-box;scrollbar-gutter:stable}.filters--empty{display:none}.filters--active{opacity:1;transform:translateZ(0)}.filters__title{margin:0 0 1rem;padding:0 0 1rem;font-size:1.125rem;font-weight:500;color:var(--calcite-color-text-1);padding-inline-start:.75rem;border-bottom:1px solid var(--calcite-color-border-3)}.range{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;color:var(--calcite-color-text-1)}.container{display:flex;height:100%;width:100%;flex-direction:column;background-color:var(--calcite-color-background)}.container__header{display:flex;flex:0 1 auto;flex-direction:row;background-color:var(--calcite-color-foreground-1);border-bottom:1px solid var(--calcite-color-border-3)}.container__header__text{margin:0;flex:1 1 0%;padding:.875rem .75rem;font-size:1rem;font-weight:500;color:var(--calcite-color-text-2)}.container__content{flex:1 1 0%;overflow:auto}.container__footer{box-sizing:border-box;width:100%;flex:0 1 auto;background-color:var(--calcite-color-foreground-1);padding:.5rem}.small .filters{padding:0}.small .filters__content{padding-left:1rem;padding-right:1rem}.small .content__view{padding-inline:.5rem;margin-inline:0}.small .content__view--panel{padding-inline:0}.small .content__start{margin-inline:0;padding-inline:.5rem}@media screen and (max-width:640px){:host{--arcgis-browser-pane-width: 100%}}.scrim__find{margin-top:3.5rem;opacity:.6;transition-property:opacity;transition-duration:.15s;--calcite-scrim-background: rgba(0, 0, 0, .6)}`;
|
|
14
|
+
function C(d) {
|
|
15
|
+
const t = Math.max(d?.total ?? 0, 0), e = d?.results?.length ?? 0;
|
|
16
|
+
if (!t || !e)
|
|
17
|
+
return { start: 0, end: 0, total: t };
|
|
18
|
+
const i = Math.max(d?.start ?? 1, 1), s = Math.min(i + e - 1, t);
|
|
19
|
+
return { start: i, end: s, total: t };
|
|
20
|
+
}
|
|
21
|
+
const R = ["folder", "group", "contentType"], T = (d) => d.type === "item-browser", E = (d = {}) => P({
|
|
22
|
+
filters: {},
|
|
23
|
+
hiddenFilters: [],
|
|
24
|
+
...d
|
|
25
|
+
});
|
|
26
|
+
function W(d, t) {
|
|
27
|
+
const e = a(() => d.preview, t);
|
|
28
|
+
return () => e.remove();
|
|
29
|
+
}
|
|
30
|
+
const z = 49;
|
|
31
|
+
class U extends b {
|
|
32
|
+
constructor() {
|
|
33
|
+
super(...arguments), this._messages = S({ blocking: !0 }), this._previewContainer = $(), this.toggleScrim = (t) => {
|
|
34
|
+
this.scrimActive = t.detail;
|
|
35
|
+
}, this.checkFlowItem = () => {
|
|
36
|
+
this.flowItem = w(this.el, "calcite-flow-item");
|
|
37
|
+
}, this.handleResize = () => {
|
|
38
|
+
requestAnimationFrame(this.updatePreviewPosition);
|
|
39
|
+
}, this.updatePreviewPosition = () => {
|
|
40
|
+
if (this.formFactor === "small" || this.height !== "auto" || !this._previewContainer)
|
|
41
|
+
return;
|
|
42
|
+
this.checkFlowItem();
|
|
43
|
+
const t = this._previewContainer.value?.getBoundingClientRect();
|
|
44
|
+
if (!t)
|
|
45
|
+
return;
|
|
46
|
+
const { x: e, y: i, height: s, right: n, width: l } = t, m = s + i, c = window.innerWidth - document.body.offsetWidth, v = window.innerWidth < l || window.innerWidth < window.outerWidth && window.innerWidth <= l + c;
|
|
47
|
+
this.previewBoundingBox = {
|
|
48
|
+
top: Math.max(i, 0),
|
|
49
|
+
left: e,
|
|
50
|
+
right: v ? 0 : window.outerWidth - n - c,
|
|
51
|
+
bottom: m > window.innerHeight ? 0 : window.innerHeight - m
|
|
52
|
+
};
|
|
53
|
+
}, this.pageRangeText = "", this.noResults = !1, this.initialHide = !0, this.scrimActive = !1, this.panel = !1, this.preview = !1, this.loading = !1, this.hideContentTop = !1, this.alwaysShowSelection = !1, this.alwaysShowContent = !1, this.response = {
|
|
54
|
+
nextStart: -1,
|
|
55
|
+
num: 0,
|
|
56
|
+
results: [],
|
|
57
|
+
start: 1,
|
|
58
|
+
total: 0
|
|
59
|
+
}, this.store = E(), this.formFactor = "large", this.searchTerm = "", this.height = "full", this.arcgisAriaUpdate = _();
|
|
60
|
+
}
|
|
61
|
+
static {
|
|
62
|
+
this.properties = { pageRangeText: 16, noResults: 16, previewBoundingBox: 16, initialHide: 16, scrimActive: 16, flowItem: 16, panel: 5, preview: 5, loading: 5, hideContentTop: 5, hideTopBar: 5, selected: 0, alwaysShowSelection: 5, alwaysShowContent: 5, response: 0, store: 0, formFactor: 1, searchTerm: 1, height: 3, hideFilters: 5, showPreSearch: 5, rangeFormatter: 0, alwaysShowPagination: 5 };
|
|
63
|
+
}
|
|
64
|
+
static {
|
|
65
|
+
this.styles = B;
|
|
66
|
+
}
|
|
67
|
+
async scrollToTop() {
|
|
68
|
+
this.renderRoot.querySelector(".top-bar")?.scrollIntoView({ behavior: "smooth", block: "nearest" });
|
|
69
|
+
}
|
|
70
|
+
connectedCallback() {
|
|
71
|
+
super.connectedCallback(), window.addEventListener("scroll", this.handleResize), window.addEventListener("resize", this.handleResize), this.el.addEventListener("arcgisItemBrowserScrimToggle", this.toggleScrim), this.checkFlowItem(), this.attachStoreWatchers();
|
|
72
|
+
}
|
|
73
|
+
willUpdate(t) {
|
|
74
|
+
t.has("store") && this.attachStoreWatchers(), t.has("response") && this.updatePage(this.response);
|
|
75
|
+
}
|
|
76
|
+
firstUpdated() {
|
|
77
|
+
requestAnimationFrame(this.updatePreviewPosition);
|
|
78
|
+
}
|
|
79
|
+
disconnectedCallback() {
|
|
80
|
+
this.removePreviewWatcher?.(), this.removeStoreWatcher?.(), window.removeEventListener("resize", this.handleResize), window.removeEventListener("scroll", this.handleResize), this.el.removeEventListener("arcgisItemBrowserScrimToggle", this.toggleScrim), super.disconnectedCallback();
|
|
81
|
+
}
|
|
82
|
+
attachStoreWatchers() {
|
|
83
|
+
if (this.removePreviewWatcher?.(), this.removeStoreWatcher?.(), !this.store)
|
|
84
|
+
return;
|
|
85
|
+
this.removePreviewWatcher = W(this.store, this.updatePreviewPosition);
|
|
86
|
+
const t = [
|
|
87
|
+
a(() => this.store.type, () => this.requestUpdate()),
|
|
88
|
+
a(() => this.store.width, () => this.requestUpdate()),
|
|
89
|
+
a(() => this.store.height, () => this.requestUpdate()),
|
|
90
|
+
a(() => this.store.filtersEmpty, () => this.requestUpdate()),
|
|
91
|
+
a(() => this.store.topbarEmpty, () => this.requestUpdate()),
|
|
92
|
+
a(() => this.store.sortEmpty, () => this.requestUpdate()),
|
|
93
|
+
a(() => this.store.filtersExpanded, () => this.requestUpdate()),
|
|
94
|
+
a(() => this.store.panel, () => this.requestUpdate()),
|
|
95
|
+
a(() => this.store.preview, () => this.requestUpdate()),
|
|
96
|
+
a(() => this.store.searchTerm, () => this.requestUpdate()),
|
|
97
|
+
a(() => this.store.hiddenFilters, () => this.requestUpdate()),
|
|
98
|
+
a(() => this.store.filters, () => this.requestUpdate()),
|
|
99
|
+
a(() => this.store.recycleBin, () => this.requestUpdate())
|
|
100
|
+
];
|
|
101
|
+
this.removeStoreWatcher = () => {
|
|
102
|
+
t.forEach((e) => e.remove());
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
async updatePage(t) {
|
|
106
|
+
const [e, i] = await this.updatePageRange(t);
|
|
107
|
+
this.pageRangeText = e, this.arcgisAriaUpdate.emit(i), this.noResults = T(this.store) && this.store.recycleBin ? t.results.length === 0 : (t?.total ?? 0) === 0, this.initialHide = !1;
|
|
108
|
+
}
|
|
109
|
+
async updatePageRange(t) {
|
|
110
|
+
const { start: e, end: i, total: s } = C(t), n = h.formatNumber(e, { maximumFractionDigits: 0 }), l = h.formatNumber(i, { maximumFractionDigits: 0 }), c = `${h.formatNumber(s, { maximumFractionDigits: 0 })}${s >= 1e4 ? "+" : ""}`, v = h.formatNumber(t.results?.length ?? 0, { maximumFractionDigits: 0 }), g = h.formatNumber(Math.max(Math.ceil(e / Math.max(t.num || 1, 1)), 1), {
|
|
111
|
+
maximumFractionDigits: 0
|
|
112
|
+
});
|
|
113
|
+
if (this.rangeFormatter)
|
|
114
|
+
return await this.rangeFormatter({
|
|
115
|
+
start: n,
|
|
116
|
+
end: l,
|
|
117
|
+
total: c,
|
|
118
|
+
results: { items: v, page: g }
|
|
119
|
+
});
|
|
120
|
+
const u = (this._messages.range?.summary ?? "${start}-${end} of ${total}").replace("${start}", n).replace("${end}", l).replace("${total}", c), f = (this._messages.range?.announcement ?? "Showing ${start} to ${end} of ${total} results").replace("${start}", n).replace("${end}", l).replace("${total}", c);
|
|
121
|
+
return [u, f];
|
|
122
|
+
}
|
|
123
|
+
hasActiveFilter(t) {
|
|
124
|
+
return Object.values(t.filters).filter(({ id: e }) => !k(R, e)).some((e) => !!e.value || e.id === "collaborations");
|
|
125
|
+
}
|
|
126
|
+
removeFilter(t) {
|
|
127
|
+
const e = this.store.filters[t];
|
|
128
|
+
if (!e)
|
|
129
|
+
return;
|
|
130
|
+
const i = { ...e, value: void 0 };
|
|
131
|
+
"additionalParams" in e && (i.additionalParams = void 0);
|
|
132
|
+
const s = { ...this.store.filters, [t]: i };
|
|
133
|
+
this.store.filters = s;
|
|
134
|
+
}
|
|
135
|
+
clearFilters() {
|
|
136
|
+
const t = Object.entries(this.store.filters).reduce((e, [i, s]) => this.store.hiddenFilters?.includes(i) || s.id === "folder" || s.id === "group" || s.id === "contentType" ? (e[i] = s, e) : (e[i] = {
|
|
137
|
+
...s,
|
|
138
|
+
value: void 0,
|
|
139
|
+
..."additionalParams" in s ? { additionalParams: void 0 } : {}
|
|
140
|
+
}, e), {});
|
|
141
|
+
this.store.filters = t;
|
|
142
|
+
}
|
|
143
|
+
renderNoResults() {
|
|
144
|
+
const t = this.noResults && !this.loading && !this.showPreSearch, e = this.hasActiveFilter(this.store) || !!this.searchTerm;
|
|
145
|
+
return t ? r`<div class="cover"><div class="no-results">${e ? r`<slot name=no-results></slot>` : r`<slot name=no-content></slot>`}</div></div>` : null;
|
|
146
|
+
}
|
|
147
|
+
renderPopoverContents(t, e, i) {
|
|
148
|
+
const s = this.flowItem ? this.flowItem.offsetHeight : this.store.height, n = this.formFactor === "small" && this.hasActiveFilter(this.store) && !this.hideFilters;
|
|
149
|
+
return r`<div style=${p({
|
|
150
|
+
width: i ? "100%" : `${this.store.width || 0}px`,
|
|
151
|
+
height: i ? "100%" : `${s || 0}px`
|
|
152
|
+
})}><div class=${o({ hide: !e, "preview-panel": !0 })}><slot name=preview></slot></div><div class=${o({ hide: !t, "filter-panel": !0 })}><article class="container"><header class="container__header"><h2 class="container__header__text">${this._messages.browser?.refineContent}</h2><calcite-action .text=${this._messages.browser?.close} scale=m icon=x @click=${() => {
|
|
153
|
+
this.store.filtersExpanded = !1;
|
|
154
|
+
}}></calcite-action></header><div class="container__content"><div class="container__content__scroll"><slot name=filters-top></slot>${(this.store.panel || i) && r`<div class="filter-container__content"><slot name=sort></slot></div>` || ""}<slot name=filters></slot></div></div><div class=${o({ "filter-status--mobile": !0, container__footer: !0, hide: !n })}><arcgis-portal-browser-filter-status class="filter-status" .filters=${this.store.filters} .t9n=${this._messages.filterStatus} .hiddenFilterIds=${this.store.hiddenFilters || []} .componentWidth=${this.store.width || this.flowItem?.offsetWidth || window.innerWidth} .browserWidth=${window.innerWidth} @arcgisBrowserFilterClear=${() => this.clearFilters()} @arcgisBrowserFilterRemove=${(l) => this.removeFilter(l.detail)}></arcgis-portal-browser-filter-status></div></article></div></div>`;
|
|
155
|
+
}
|
|
156
|
+
renderFlow() {
|
|
157
|
+
const t = !!this.store.panel, e = !!this.store.filtersExpanded && (!this.store.filtersEmpty || !this.store.sortEmpty && t), i = !!this.store.preview, s = !this.store.panel && document.documentElement.clientWidth > (this.store.width || 0);
|
|
158
|
+
return r`<div class=${o({ panel: !0, "panel--fixed": s })}>${!this.hideTopBar && r`<div class=${o({ "top-bar": !0, "top-bar--small": this.formFactor === "small" })}><slot name=top-bar></slot></div>` || ""}<div class="scrolling scrolling--panel"><div class=${o({ "two-up": !0, [this.formFactor]: !0 })}><div class="content"><div><slot name=primary-filter></slot></div><div class="content__start"><slot name=content-start></slot></div>${this.loading && !this.alwaysShowContent && r`<div class="content__view content__view--flex"><div class="cover"><calcite-loader class="loader" label></calcite-loader></div></div>` || ""}${this.noResults && !this.loading && r`<div class="content__view content__view--flex"><div class="cover">${this.renderNoResults()}</div></div>` || ""}<div class=${o({
|
|
159
|
+
hide: this.loading || this.noResults,
|
|
160
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
161
|
+
content__view: !0,
|
|
162
|
+
"content__view--panel": !!this.store.panel,
|
|
163
|
+
"content__view--flex": !this.loading && !this.noResults
|
|
164
|
+
})}>${!this.store.panel && !this.hideContentTop && r`<div class="content__top"><span class=${o({ selection: !0, hide: !this.alwaysShowSelection })}><slot name=selection></slot></span>${!this.loading && r`<span class="range">${this.pageRangeText}</span>` || ""}<span class="actions"><slot name=actions></slot></span><div class="content__top__end"><slot name=view></slot>${!t && r`<slot name=sort></slot>` || ""}</div></div>` || ""}<div class="flow-content"><slot name=content></slot></div><slot name=pagination></slot><slot name=content-end></slot></div></div></div><slot name=scroll-end></slot></div>${!this.store.panel || window.innerWidth < (this.store.width || 0) * 2 ? r`<div class=${o({
|
|
165
|
+
sheet: !0,
|
|
166
|
+
"sheet--active": e || i,
|
|
167
|
+
"sheet--top-bar": s
|
|
168
|
+
})}><div class=${o({ sheet__background: !0, "sheet__background--hidden": s })}></div><div class=${o({ sheet__contents: !0, "sheet__contents--full": s })}>${this.renderPopoverContents(e, i, !0)}</div></div>` : r`<calcite-popover overlay-positioning=fixed .open=${i || e} label=filters .referenceElement=${this.flowItem || this.el} offset-skidding=0 offset-distance=0 trigger-disabled pointer-disabled .placement=${this.store.panel ? "trailing" : "auto"} @calcitePopoverOpen=${(n) => {
|
|
169
|
+
(!this.store.panel || window.innerWidth < (this.store.width || 0) * 2) && (n.currentTarget.style.transform = "none");
|
|
170
|
+
}} .focusTrapOptions=${{
|
|
171
|
+
setReturnFocus: (n) => {
|
|
172
|
+
if (!(n instanceof HTMLElement))
|
|
173
|
+
return n;
|
|
174
|
+
const l = w(n, "arcgis-portal-item-card, arcgis-portal-group-card");
|
|
175
|
+
return l?.restoreFocus ? (l.restoreFocus(), !1) : n;
|
|
176
|
+
}
|
|
177
|
+
}}>${this.renderPopoverContents(e, i)}</calcite-popover>`}</div>`;
|
|
178
|
+
}
|
|
179
|
+
render() {
|
|
180
|
+
const t = this.height === "auto", e = this.height === "full", i = `${(this.store.height || window.innerHeight) - z}px`, s = t ? {} : { maxHeight: i };
|
|
181
|
+
return this.formFactor === "small" ? this.renderFlow() : r`<div class=${o({
|
|
182
|
+
wrapper: !0,
|
|
183
|
+
"wrapper--fixed": !!this.store.filtersExpanded,
|
|
184
|
+
"wrapper--auto": t,
|
|
185
|
+
"wrapper--full": e
|
|
186
|
+
})}>${!this.hideTopBar && r`<div class="top-bar"><slot name=top-bar></slot></div>` || ""}<slot name=top-bar-end></slot><div class=${o({ "preview-position": !0, "preview-position--with-top-bar": !this.store.topbarEmpty })} ${F(this._previewContainer)}><div class=${o({ preview: !0, "preview--active": !!this.store.preview, "preview--fixed": t })} style=${p(t && this.previewBoundingBox ? {
|
|
187
|
+
top: `${this.previewBoundingBox.top || 0}px`,
|
|
188
|
+
...document.dir === "rtl" ? { right: `${this.previewBoundingBox.right || 0}px` } : { left: `${this.previewBoundingBox.left || 0}px` },
|
|
189
|
+
bottom: `${this.previewBoundingBox.bottom || 0}px`
|
|
190
|
+
} : {})}><div class=${o({ pane: !0, "pane--open": !!this.store.preview })}><div class="preview-desktop"><slot name=preview></slot></div></div></div></div><div class=${o({ scrolling: !0, "scrolling--full": !t || this.panel })}>${this.scrimActive && r`<calcite-scrim class="scrim__find"></calcite-scrim>` || ""}<div class=${o({ "two-up": !0, "two-up--fullscreen": e, [this.formFactor]: !0 })}><div class=${o({
|
|
191
|
+
filters: !0,
|
|
192
|
+
"filters--sticky": !t,
|
|
193
|
+
"filters--empty": this.store.filtersEmpty && !this.store.preview,
|
|
194
|
+
"filters--active": !!this.store.filtersExpanded
|
|
195
|
+
})} style=${p(e ? {} : s)}><div class="filters__content" style=${p(e ? {} : s)}><slot name=filters></slot></div></div><div class=${o({ content: !0, "content--full": e })}><div class="content__start"><slot name=content-start></slot></div><div class=${o({
|
|
196
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
197
|
+
content__view: !0,
|
|
198
|
+
"content__view--no-filters": this.store.filtersEmpty && !this.store.preview,
|
|
199
|
+
"content__view--flex": !0
|
|
200
|
+
})}>${!this.hideContentTop && r`<div class="content__top">${this.showPreSearch ? null : r`<div class="content__top__summary"><span class=${o({ selection: !0, hide: !this.alwaysShowSelection })}><slot name=selection></slot></span>${!this.loading && r`<span class="range">${this.pageRangeText}<slot name=range-end></slot></span>` || ""}</div>`}<span class="actions"><slot name=actions></slot></span><div class="content__top__end"><slot name=view></slot><slot name=sort></slot></div></div>` || ""}${this.loading && (!this.alwaysShowContent || this.initialHide) && r`<div class="cover"><calcite-loader class="loader" .label=${this._messages.browser?.loading ?? ""}></calcite-loader></div>` || ""}${this.renderNoResults()}${!this.loading && this.showPreSearch && r`<div class="cover"><div class="no-results"><slot name=pre-search></slot></div></div>` || ""}<div class=${o({
|
|
201
|
+
hide: !!this.showPreSearch || this.loading && !this.alwaysShowContent || !this.loading && this.noResults || this.initialHide,
|
|
202
|
+
"results-wrapper--spaced": this.hideContentTop,
|
|
203
|
+
"results-wrapper": !0
|
|
204
|
+
})}><slot name=content></slot></div><div class=${o({ hide: this.loading || this.noResults && !this.alwaysShowPagination })}><slot name=pagination></slot><slot name=content-end></slot></div></div></div></div><slot name=scroll-end></slot></div></div>`;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
x("arcgis-portal-browser", U);
|
|
208
|
+
export {
|
|
209
|
+
U as ArcgisPortalBrowser
|
|
210
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./customElement.js";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import "@esri/calcite-components/components/calcite-action";
|
|
2
|
+
import "../arcgis-portal-browser-filter-status/index.js";
|
|
3
|
+
import "@esri/calcite-components/components/calcite-loader";
|
|
4
|
+
import "@esri/calcite-components/components/calcite-popover";
|
|
5
|
+
import "@esri/calcite-components/components/calcite-scrim";
|
|
6
|
+
export * from "./customElement.js";
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type Accessor from "@arcgis/core/core/Accessor.js";
|
|
2
|
+
|
|
3
|
+
export type PortalBrowserFilterDetail = {
|
|
4
|
+
id: string;
|
|
5
|
+
label: string;
|
|
6
|
+
value: unknown;
|
|
7
|
+
additionalParams?: unknown;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export type PortalBrowserStore = ReturnType<typeof createPortalBrowserStore>;
|
|
11
|
+
|
|
12
|
+
/** @param initialState */
|
|
13
|
+
export function createPortalBrowserStore(initialState?: Partial<PortalBrowserState>): Accessor & PortalBrowserState;
|
|
14
|
+
|
|
15
|
+
export interface PortalBrowserState {
|
|
16
|
+
type?: "group-browser" | "item-browser" | "member-browser";
|
|
17
|
+
width?: number;
|
|
18
|
+
height?: number;
|
|
19
|
+
filtersEmpty?: boolean;
|
|
20
|
+
topbarEmpty?: boolean;
|
|
21
|
+
sortEmpty?: boolean;
|
|
22
|
+
filtersExpanded?: boolean;
|
|
23
|
+
panel?: boolean;
|
|
24
|
+
preview?: string;
|
|
25
|
+
searchTerm?: string;
|
|
26
|
+
hiddenFilters?: string[];
|
|
27
|
+
filters: Record<string, PortalBrowserFilterDetail>;
|
|
28
|
+
recycleBin?: boolean;
|
|
29
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/// <reference path="../../index.d.ts" />
|
|
2
|
+
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
|
|
3
|
+
import type { PortalBrowserFilterDetail } from "../arcgis-portal-browser/utils/store.js";
|
|
4
|
+
|
|
5
|
+
export abstract class ArcgisPortalBrowserFilterStatus extends LitElement {
|
|
6
|
+
/** Pass the width of the browser from state */
|
|
7
|
+
accessor browserWidth: number | undefined;
|
|
8
|
+
/** Pass the width of the component container */
|
|
9
|
+
accessor componentWidth: number | undefined;
|
|
10
|
+
accessor filters: Record<string, PortalBrowserFilterDetail>;
|
|
11
|
+
accessor hiddenFilterIds: string[];
|
|
12
|
+
accessor t9n: FilterStatusT9n;
|
|
13
|
+
readonly arcgisBrowserFilterClear: import("@arcgis/lumina").TargetedEvent<this, null>;
|
|
14
|
+
readonly arcgisBrowserFilterRemove: import("@arcgis/lumina").TargetedEvent<this, string>;
|
|
15
|
+
readonly "@eventTypes": {
|
|
16
|
+
arcgisBrowserFilterClear: ArcgisPortalBrowserFilterStatus["arcgisBrowserFilterClear"]["detail"];
|
|
17
|
+
arcgisBrowserFilterRemove: ArcgisPortalBrowserFilterStatus["arcgisBrowserFilterRemove"]["detail"];
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export type FilterStatusT9n = {
|
|
22
|
+
filters: string;
|
|
23
|
+
additional: string;
|
|
24
|
+
clearAllFilters: string;
|
|
25
|
+
};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import { c as h } from "../../chunks/runtime.js";
|
|
3
|
+
import { keyed as u } from "lit/directives/keyed.js";
|
|
4
|
+
import { LitElement as p, createEvent as c } from "@arcgis/lumina";
|
|
5
|
+
import { css as m, html as s } from "lit";
|
|
6
|
+
import { b } from "../../chunks/ui.js";
|
|
7
|
+
import { g as f } from "../../chunks/dom.js";
|
|
8
|
+
const w = m`:host{display:flex;align-items:center}.status-list{display:flex;align-items:center;max-width:100%}.status-chip{max-width:100%;--calcite-color-foreground-2: var(--calcite-color-foreground-1)}.chip-group{max-width:100%;min-width:0}.status-chip__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popover-content{max-width:28rem;padding:.75rem}.clear-button{margin-inline-start:.25rem}`;
|
|
9
|
+
class B extends p {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments), this.inBounds = [], this.outOfBounds = [], this.filters = {}, this.hiddenFilterIds = [], this.arcgisBrowserFilterClear = c(), this.arcgisBrowserFilterRemove = c();
|
|
12
|
+
}
|
|
13
|
+
static {
|
|
14
|
+
this.properties = { inBounds: 16, outOfBounds: 16, filters: 0, hiddenFilterIds: 0, t9n: 0, componentWidth: 9, browserWidth: 9 };
|
|
15
|
+
}
|
|
16
|
+
static {
|
|
17
|
+
this.styles = w;
|
|
18
|
+
}
|
|
19
|
+
connectedCallback() {
|
|
20
|
+
super.connectedCallback(), this.processValidFilters();
|
|
21
|
+
}
|
|
22
|
+
willUpdate(t) {
|
|
23
|
+
(t.has("filters") || t.has("hiddenFilterIds") || t.has("componentWidth") || t.has("browserWidth")) && this.processValidFilters();
|
|
24
|
+
}
|
|
25
|
+
isFilterValid(t) {
|
|
26
|
+
return this.hiddenFilterIds.includes(t.id) ? !1 : t.id === "collaborations" && "additionalParams" in t ? !!(t.additionalParams && t.label) : !!(t.value && t.label);
|
|
27
|
+
}
|
|
28
|
+
processValidFilters() {
|
|
29
|
+
const t = Object.values(this.filters).filter(this.isFilterValid.bind(this)), i = this.componentWidth ?? 0;
|
|
30
|
+
if ((this.browserWidth ?? window.innerWidth) < b.sm) {
|
|
31
|
+
this.inBounds = t, this.outOfBounds = [];
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const d = Math.max(i - 460, 0);
|
|
35
|
+
let r = 0;
|
|
36
|
+
const a = [], l = [];
|
|
37
|
+
t.forEach((o) => {
|
|
38
|
+
const n = f({ text: o.label ?? "" });
|
|
39
|
+
!i || r + n <= d ? (a.push(o), r += n) : l.push(o);
|
|
40
|
+
}), this.inBounds = a, this.outOfBounds = l;
|
|
41
|
+
}
|
|
42
|
+
renderChip(t) {
|
|
43
|
+
return u(t.id, s`<calcite-chip class="status-chip" scale=s .label=${t.label} .value=${t.id} closable appearance=outline @calciteChipClose=${() => {
|
|
44
|
+
this.arcgisBrowserFilterRemove.emit(t.id);
|
|
45
|
+
}}><span class="status-chip__label">${t.label}</span></calcite-chip>`);
|
|
46
|
+
}
|
|
47
|
+
render() {
|
|
48
|
+
const t = this.outOfBounds.length > 0, i = this.inBounds.length + this.outOfBounds.length;
|
|
49
|
+
return i ? s`<div class="status-list"><calcite-chip-group class="chip-group" .label=${this.t9n.filters} scale=s>${this.inBounds.map((e) => this.renderChip(e))}${t && s`<calcite-button id=popover-button round kind=neutral appearance=outline scale=s>+ ${this.outOfBounds.length}</calcite-button>` || ""}</calcite-chip-group>${t && s`<calcite-popover .label=${this.t9n.additional} reference-element=popover-button placement=bottom-end><div class="popover-content"><calcite-chip-group .label=${this.t9n.additional} scale=s>${this.outOfBounds.map((e) => this.renderChip(e))}</calcite-chip-group></div></calcite-popover>` || ""}${i > 1 && s`<calcite-button class="clear-button" scale=s appearance=transparent kind=brand @click=${() => this.arcgisBrowserFilterClear.emit(null)}>${this.t9n.clearAllFilters}</calcite-button>` || ""}</div>` : null;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
h("arcgis-portal-browser-filter-status", B);
|
|
53
|
+
export {
|
|
54
|
+
B as ArcgisPortalBrowserFilterStatus
|
|
55
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./customElement.js";
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import "@esri/calcite-components/components/calcite-chip";
|
|
2
|
+
import "@esri/calcite-components/components/calcite-chip-group";
|
|
3
|
+
import "@esri/calcite-components/components/calcite-button";
|
|
4
|
+
import "@esri/calcite-components/components/calcite-popover";
|
|
5
|
+
export * from "./customElement.js";
|
|
@@ -4,13 +4,9 @@ import { css as y, html as r } from "lit";
|
|
|
4
4
|
import { LitElement as C, createEvent as w, safeClassMap as g, nothing as l } from "@arcgis/lumina";
|
|
5
5
|
import { createRef as F, ref as $ } from "lit/directives/ref.js";
|
|
6
6
|
import { u as z } from "../../chunks/useT9n.js";
|
|
7
|
+
import { b as o } from "../../chunks/ui.js";
|
|
7
8
|
import { a as E } from "../../chunks/functionalities.js";
|
|
8
|
-
const
|
|
9
|
-
md: 840,
|
|
10
|
-
sm: 580,
|
|
11
|
-
xs: 480,
|
|
12
|
-
xxs: 360
|
|
13
|
-
}, B = y`:host{display:block;min-width:0}.group-card{position:relative;display:flex;height:100%;flex-direction:column;color:var(--calcite-color-text-1);opacity:0;box-shadow:none;transition-duration:.15s;outline-color:transparent;background-color:var(--calcite-color-foreground-1);transition-property:background-color,outline,outline-offset,opacity;border:1px solid var(--calcite-color-border-3);&:focus{z-index:10;outline:2px solid var(--calcite-color-brand);outline-offset:-2px}}.group-card--loaded{opacity:1}.group-card--selected{border-color:var(--calcite-color-brand)}.group-card--hoverable{cursor:pointer}.group-card--disabled{opacity:.5}.group-card__top{padding:1rem}.group-card__upper{flex:1 1 0%;background-color:var(--calcite-color-foreground-1);transition:all var(--calcite-animation-timing) ease-in-out 0s,outline 0s,outline-offset 0s}.group-card__upper:hover{background-color:var(--calcite-color-background)}.group-card__upper--compact{display:flex;align-items:center;padding:.5rem .75rem}.group-card__upper--link{color:var(--calcite-color-text-1);text-decoration-line:none;outline-color:transparent;&:focus{z-index:10;outline:2px solid var(--calcite-color-brand);outline-offset:2px}}.group-card__title__span{position:relative;display:inline;border-style:none;background-color:transparent;padding:0;transition:all var(--calcite-animation-timing) ease-in-out 0s,outline 0s,outline-offset 0s;background-image:linear-gradient(transparent,transparent);background-position-x:0%,100%;background-position-y:min(1.25em,100%);background-repeat:no-repeat,no-repeat;background-size:100% 1px,100% 1px}.group-card--previewed .group-card__title__span{background-image:linear-gradient(var(--calcite-color-text-3),var(--calcite-color-text-3))}.group-card__content{display:flex;min-width:0;flex:1 1 0%;flex-direction:column}.group-card__details{display:flex;flex-direction:row;flex-wrap:wrap}.group-card__details--stacked{flex-direction:column}.group-card__detail{font-size:.875rem;color:var(--calcite-color-text-2)}.group-card__detail__icon{margin-inline-end:.5rem}.group-card__footer{margin-top:auto;display:flex;align-items:center;background-color:var(--calcite-color-foreground-1);padding:.5rem 1rem;border-top:1px solid var(--calcite-color-border-3)}.group-card__footer__start{display:flex;min-width:0;flex:1 1 0%;flex-direction:row;align-items:center;overflow:hidden;margin-inline-end:.75rem}.group-card__profile-wrap{max-width:100%;padding:.25rem}.group-card__divider{display:flex;align-items:center;flex:0 0 auto}.group-card__divider:not([empty]):before{content:"";height:1.25rem;width:1px;background-color:var(--calcite-color-border-1);margin-inline:.75rem}.group-card__details--stacked .group-card__divider:before{display:none}.group-card__divider:first-child:before{display:none}.group-card-flex{display:flex}.group-card-flex-1{min-width:0;flex:1 1 0%}.screen-readers-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.group-card__input{margin-inline-end:1rem;margin-top:.125rem}.group-card__title{margin:0;overflow-wrap:break-word;padding:0;font-size:1rem;font-weight:500;line-height:1.375}.group-card__title--compact{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-inline-end:1rem}.group-card__summary{margin:.25rem 0;flex:1 1 0%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0;font-size:.875rem;line-height:1.25}.group-card__thumbnail{margin-inline-end:1rem}.group-card__thumbnail--compact{width:2.75rem;height:2.75rem}.group-card__badges{margin-top:.25rem}.group-card__owner{min-width:0}.group-card--xs,.group-card--xxs{.group-card__top{padding:.75rem}.group-card__title--padded{margin-bottom:.25rem}.group-card__footer{padding:.25rem .75rem}.group-card__detail{margin:.25rem 0;font-size:.75rem;line-height:1.35}.group-card__title{font-size:.875rem}}.group-card--xxs{.group-card__thumbnail{padding-inline-start:.75rem;width:4.25rem}}.group-card--xs{.group-card__thumbnail{padding-inline-start:.5rem;width:5rem}}`;
|
|
9
|
+
const B = y`:host{display:block;min-width:0}.group-card{position:relative;display:flex;height:100%;flex-direction:column;color:var(--calcite-color-text-1);opacity:0;box-shadow:none;transition-duration:.15s;outline-color:transparent;background-color:var(--calcite-color-foreground-1);transition-property:background-color,outline,outline-offset,opacity;border:1px solid var(--calcite-color-border-3);&:focus{z-index:10;outline:2px solid var(--calcite-color-brand);outline-offset:-2px}}.group-card--loaded{opacity:1}.group-card--selected{border-color:var(--calcite-color-brand)}.group-card--hoverable{cursor:pointer}.group-card--disabled{opacity:.5}.group-card__top{padding:1rem}.group-card__upper{flex:1 1 0%;background-color:var(--calcite-color-foreground-1);transition:all var(--calcite-animation-timing) ease-in-out 0s,outline 0s,outline-offset 0s}.group-card__upper:hover{background-color:var(--calcite-color-background)}.group-card__upper--compact{display:flex;align-items:center;padding:.5rem .75rem}.group-card__upper--link{color:var(--calcite-color-text-1);text-decoration-line:none;outline-color:transparent;&:focus{z-index:10;outline:2px solid var(--calcite-color-brand);outline-offset:2px}}.group-card__title__span{position:relative;display:inline;border-style:none;background-color:transparent;padding:0;transition:all var(--calcite-animation-timing) ease-in-out 0s,outline 0s,outline-offset 0s;background-image:linear-gradient(transparent,transparent);background-position-x:0%,100%;background-position-y:min(1.25em,100%);background-repeat:no-repeat,no-repeat;background-size:100% 1px,100% 1px}.group-card--previewed .group-card__title__span{background-image:linear-gradient(var(--calcite-color-text-3),var(--calcite-color-text-3))}.group-card__content{display:flex;min-width:0;flex:1 1 0%;flex-direction:column}.group-card__details{display:flex;flex-direction:row;flex-wrap:wrap}.group-card__details--stacked{flex-direction:column}.group-card__detail{font-size:.875rem;color:var(--calcite-color-text-2)}.group-card__detail__icon{margin-inline-end:.5rem}.group-card__footer{margin-top:auto;display:flex;align-items:center;background-color:var(--calcite-color-foreground-1);padding:.5rem 1rem;border-top:1px solid var(--calcite-color-border-3)}.group-card__footer__start{display:flex;min-width:0;flex:1 1 0%;flex-direction:row;align-items:center;overflow:hidden;margin-inline-end:.75rem}.group-card__profile-wrap{max-width:100%;padding:.25rem}.group-card__divider{display:flex;align-items:center;flex:0 0 auto}.group-card__divider:not([empty]):before{content:"";height:1.25rem;width:1px;background-color:var(--calcite-color-border-1);margin-inline:.75rem}.group-card__details--stacked .group-card__divider:before{display:none}.group-card__divider:first-child:before{display:none}.group-card-flex{display:flex}.group-card-flex-1{min-width:0;flex:1 1 0%}.screen-readers-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.group-card__input{margin-inline-end:1rem;margin-top:.125rem}.group-card__title{margin:0;overflow-wrap:break-word;padding:0;font-size:1rem;font-weight:500;line-height:1.375}.group-card__title--compact{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-inline-end:1rem}.group-card__summary{margin:.25rem 0;flex:1 1 0%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0;font-size:.875rem;line-height:1.25}.group-card__thumbnail{margin-inline-end:1rem}.group-card__thumbnail--compact{width:2.75rem;height:2.75rem}.group-card__badges{margin-top:.25rem}.group-card__owner{min-width:0}.group-card--xs,.group-card--xxs{.group-card__top{padding:.75rem}.group-card__title--padded{margin-bottom:.25rem}.group-card__footer{padding:.25rem .75rem}.group-card__detail{margin:.25rem 0;font-size:.75rem;line-height:1.35}.group-card__title{font-size:.875rem}}.group-card--xxs{.group-card__thumbnail{padding-inline-start:.75rem;width:4.25rem}}.group-card--xs{.group-card__thumbnail{padding-inline-start:.5rem;width:5rem}}`;
|
|
14
10
|
class D extends C {
|
|
15
11
|
constructor() {
|
|
16
12
|
super(...arguments), this.messages = z({ blocking: !0 }), this.sectionEl = F(), this.resizeObserver = null, this.handleCardClick = (e) => {
|