solid-panes 5.0.0-0 → 5.0.0-1
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/RDFXMLPane.d.ts.map +1 -1
- package/dist/RDFXMLPane2.cjs.js +1 -2
- package/dist/RDFXMLPane2.cjs.js.map +1 -1
- package/dist/RDFXMLPane2.esm.js +15 -42
- package/dist/RDFXMLPane2.esm.js.map +1 -1
- package/dist/_virtual/~icons/lucide/folder.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/folder.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/{trash-2.esm.js → folder.esm.js} +4 -4
- package/dist/_virtual/~icons/lucide/folder.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/user-round-cog.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/user-round-cog.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/user-round-cog.esm.js +11 -0
- package/dist/_virtual/~icons/lucide/user-round-cog.esm.js.map +1 -0
- package/dist/components/editor-card/EditorCard.cjs.js +6 -0
- package/dist/components/editor-card/EditorCard.cjs.js.map +1 -0
- package/dist/components/editor-card/EditorCard.d.ts +16 -0
- package/dist/components/editor-card/EditorCard.d.ts.map +1 -0
- package/dist/components/editor-card/EditorCard.esm.js +268 -0
- package/dist/components/editor-card/EditorCard.esm.js.map +1 -0
- package/dist/components/editor-card/EditorCard.styles.cjs.js +2 -0
- package/dist/components/editor-card/EditorCard.styles.cjs.js.map +1 -0
- package/dist/components/editor-card/EditorCard.styles.esm.js +7 -0
- package/dist/components/editor-card/EditorCard.styles.esm.js.map +1 -0
- package/dist/components/editor-card/index.cjs.js +1 -0
- package/dist/components/editor-card/index.d.ts +4 -0
- package/dist/components/editor-card/index.d.ts.map +1 -0
- package/dist/components/editor-card/index.esm.js +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.cjs.js +2 -2
- package/dist/components/file-explorer-header/FileExplorerHeader.cjs.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeader.d.ts +1 -2
- package/dist/components/file-explorer-header/FileExplorerHeader.d.ts.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeader.esm.js +16 -16
- package/dist/components/file-explorer-header/FileExplorerHeader.esm.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeader.styles.cjs.js +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeader.styles.cjs.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeader.styles.esm.js +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeader.styles.esm.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.cjs.js +24 -14
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.cjs.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.d.ts +7 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.d.ts.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.esm.js +94 -66
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.esm.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.cjs.js +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.cjs.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.esm.js +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.esm.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.cjs.js +22 -7
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.cjs.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.d.ts +3 -2
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.d.ts.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.esm.js +90 -65
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.esm.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.cjs.js +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.cjs.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.esm.js +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.esm.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerProvider.cjs.js +4 -4
- package/dist/components/file-explorer-header/FileExplorerProvider.cjs.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerProvider.d.ts +1 -1
- package/dist/components/file-explorer-header/FileExplorerProvider.d.ts.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerProvider.esm.js +17 -16
- package/dist/components/file-explorer-header/FileExplorerProvider.esm.js.map +1 -1
- package/dist/components/file-explorer-header/index.cjs.js +1 -0
- package/dist/components/file-explorer-header/index.d.ts +3 -0
- package/dist/components/file-explorer-header/index.d.ts.map +1 -0
- package/dist/components/file-explorer-header/index.esm.js +2 -0
- package/dist/components/file-explorer-header/types.d.ts +8 -0
- package/dist/components/file-explorer-header/types.d.ts.map +1 -1
- package/dist/components/header/Header.cjs.js +1 -1
- package/dist/components/header/Header.esm.js +4 -4
- package/dist/components/header/Header.styles.cjs.js +1 -1
- package/dist/components/header/Header.styles.cjs.js.map +1 -1
- package/dist/components/header/Header.styles.esm.js +1 -1
- package/dist/components/header/Header.styles.esm.js.map +1 -1
- package/dist/components/navbar/Navbar.cjs.js +2 -2
- package/dist/components/navbar/Navbar.esm.js +5 -5
- package/dist/components/resource-actions-menu/ResourceActionsMenu.cjs.js +23 -9
- package/dist/components/resource-actions-menu/ResourceActionsMenu.cjs.js.map +1 -1
- package/dist/components/resource-actions-menu/ResourceActionsMenu.d.ts +7 -4
- package/dist/components/resource-actions-menu/ResourceActionsMenu.d.ts.map +1 -1
- package/dist/components/resource-actions-menu/ResourceActionsMenu.esm.js +146 -84
- package/dist/components/resource-actions-menu/ResourceActionsMenu.esm.js.map +1 -1
- package/dist/components/resource-actions-menu/ResourceActionsMenu.styles.cjs.js +2 -0
- package/dist/components/resource-actions-menu/ResourceActionsMenu.styles.cjs.js.map +1 -0
- package/dist/components/resource-actions-menu/ResourceActionsMenu.styles.esm.js +7 -0
- package/dist/components/resource-actions-menu/ResourceActionsMenu.styles.esm.js.map +1 -0
- package/dist/dataContentPane2.cjs.js +1 -1
- package/dist/dataContentPane2.esm.js +1 -1
- package/dist/defaultPane2.cjs.js +1 -1
- package/dist/defaultPane2.cjs.js.map +1 -1
- package/dist/defaultPane2.esm.js +2 -2
- package/dist/defaultPane2.esm.js.map +1 -1
- package/dist/home/homePane.cjs.js +1 -1
- package/dist/home/homePane.cjs.js.map +1 -1
- package/dist/home/homePane.esm.js +1 -1
- package/dist/home/homePane.esm.js.map +1 -1
- package/dist/humanReadablePane.d.ts +1 -1
- package/dist/humanReadablePane.d.ts.map +1 -1
- package/dist/humanReadablePane2.cjs.js +1 -1
- package/dist/humanReadablePane2.cjs.js.map +1 -1
- package/dist/humanReadablePane2.esm.js +2 -2
- package/dist/humanReadablePane2.esm.js.map +1 -1
- package/dist/imagePane2.cjs.js +1 -1
- package/dist/imagePane2.cjs.js.map +1 -1
- package/dist/imagePane2.esm.js +1 -1
- package/dist/imagePane2.esm.js.map +1 -1
- package/dist/internal/internalPane2.cjs.js +1 -1
- package/dist/internal/internalPane2.cjs.js.map +1 -1
- package/dist/internal/internalPane2.esm.js +2 -2
- package/dist/internal/internalPane2.esm.js.map +1 -1
- package/dist/n3Pane.d.ts.map +1 -1
- package/dist/n3Pane2.cjs.js +1 -2
- package/dist/n3Pane2.cjs.js.map +1 -1
- package/dist/n3Pane2.esm.js +10 -34
- package/dist/n3Pane2.esm.js.map +1 -1
- package/dist/outline/manager2.cjs.js +1 -1
- package/dist/outline/manager2.cjs.js.map +1 -1
- package/dist/outline/manager2.esm.js +8 -11
- package/dist/outline/manager2.esm.js.map +1 -1
- package/dist/outline/queryByExample.cjs.js +1 -1
- package/dist/outline/queryByExample.cjs.js.map +1 -1
- package/dist/outline/queryByExample.esm.js +4 -4
- package/dist/outline/queryByExample.esm.js.map +1 -1
- package/dist/outline/userInput.cjs.js +1 -1
- package/dist/outline/userInput.cjs.js.map +1 -1
- package/dist/outline/userInput.esm.js +2 -2
- package/dist/outline/userInput.esm.js.map +1 -1
- package/dist/pad/padPane2.cjs.js +1 -1
- package/dist/pad/padPane2.cjs.js.map +1 -1
- package/dist/pad/padPane2.esm.js +3 -3
- package/dist/pad/padPane2.esm.js.map +1 -1
- package/dist/playlist/playlistPane.cjs.js +1 -1
- package/dist/playlist/playlistPane.cjs.js.map +1 -1
- package/dist/playlist/playlistPane.esm.js +1 -1
- package/dist/playlist/playlistPane.esm.js.map +1 -1
- package/dist/sharing/sharingPane.cjs.js +1 -1
- package/dist/sharing/sharingPane.cjs.js.map +1 -1
- package/dist/sharing/sharingPane.esm.js +1 -1
- package/dist/sharing/sharingPane.esm.js.map +1 -1
- package/dist/social/socialPane2.cjs.js +2 -2
- package/dist/social/socialPane2.cjs.js.map +1 -1
- package/dist/social/socialPane2.esm.js +3 -3
- package/dist/social/socialPane2.esm.js.map +1 -1
- package/dist/social/triage.cjs.js +1 -1
- package/dist/social/triage.cjs.js.map +1 -1
- package/dist/social/triage.esm.js +1 -1
- package/dist/social/triage.esm.js.map +1 -1
- package/dist/transaction/period.cjs.js +1 -1
- package/dist/transaction/period.cjs.js.map +1 -1
- package/dist/transaction/period.esm.js +1 -1
- package/dist/transaction/period.esm.js.map +1 -1
- package/dist/utils/podUtils.cjs.js +1 -1
- package/dist/utils/podUtils.cjs.js.map +1 -1
- package/dist/utils/podUtils.d.ts +6 -1
- package/dist/utils/podUtils.d.ts.map +1 -1
- package/dist/utils/podUtils.esm.js +93 -22
- package/dist/utils/podUtils.esm.js.map +1 -1
- package/dist/versionInfo.cjs.js +1 -1
- package/dist/versionInfo.cjs.js.map +1 -1
- package/dist/versionInfo.esm.js +3 -3
- package/dist/versionInfo.esm.js.map +1 -1
- package/package.json +5 -5
- package/dist/_virtual/~icons/lucide/trash-2.cjs.js +0 -2
- package/dist/_virtual/~icons/lucide/trash-2.cjs.js.map +0 -1
- package/dist/_virtual/~icons/lucide/trash-2.esm.js.map +0 -1
- package/dist/components/file-explorer-header/helper.cjs.js +0 -2
- package/dist/components/file-explorer-header/helper.cjs.js.map +0 -1
- package/dist/components/file-explorer-header/helper.d.ts +0 -15
- package/dist/components/file-explorer-header/helper.d.ts.map +0 -1
- package/dist/components/file-explorer-header/helper.esm.js +0 -64
- package/dist/components/file-explorer-header/helper.esm.js.map +0 -1
- package/dist/components/resource-actions-menu/DeleteResourceDialog.cjs.js +0 -16
- package/dist/components/resource-actions-menu/DeleteResourceDialog.cjs.js.map +0 -1
- package/dist/components/resource-actions-menu/DeleteResourceDialog.esm.js +0 -215
- package/dist/components/resource-actions-menu/DeleteResourceDialog.esm.js.map +0 -1
|
@@ -1,39 +1,40 @@
|
|
|
1
|
-
import "../../
|
|
1
|
+
import { isContainerSubject as e } from "../../utils/podUtils.esm.js";
|
|
2
2
|
import "../../_virtual/~icons/lucide/pencil.esm.js";
|
|
3
|
-
import
|
|
3
|
+
import "../../_virtual/~icons/lucide/user-round-cog.esm.js";
|
|
4
|
+
import t from "./FileExplorerHeaderControls.styles.esm.js";
|
|
4
5
|
import "../resource-actions-menu/ResourceActionsMenu.esm.js";
|
|
5
|
-
import { WebComponent as
|
|
6
|
-
import {
|
|
7
|
-
import { consume as
|
|
8
|
-
import {
|
|
6
|
+
import { WebComponent as n, fileExplorerContext as r } from "solid-ui";
|
|
7
|
+
import { customElement as i, property as a, state as o } from "lit/decorators.js";
|
|
8
|
+
import { consume as s } from "@lit/context";
|
|
9
|
+
import { html as c, nothing as l } from "lit";
|
|
9
10
|
import "solid-ui/components/button";
|
|
10
11
|
//#region src/components/file-explorer-header/FileExplorerHeaderControls.ts
|
|
11
|
-
var
|
|
12
|
-
function
|
|
13
|
-
|
|
12
|
+
var u, d, f, p, m, h, g, _, v, y, b, x, S, C, w, T, E, D, O;
|
|
13
|
+
function k(e, t, n) {
|
|
14
|
+
A(e, t), t.set(e, n);
|
|
14
15
|
}
|
|
15
|
-
function
|
|
16
|
+
function A(e, t) {
|
|
16
17
|
if (t.has(e)) throw TypeError("Cannot initialize the same private elements twice on an object");
|
|
17
18
|
}
|
|
18
|
-
function
|
|
19
|
-
return e.set(
|
|
19
|
+
function j(e, t, n) {
|
|
20
|
+
return e.set(N(e, t), n), n;
|
|
20
21
|
}
|
|
21
|
-
function
|
|
22
|
-
return e.get(
|
|
22
|
+
function M(e, t) {
|
|
23
|
+
return e.get(N(e, t));
|
|
23
24
|
}
|
|
24
|
-
function
|
|
25
|
+
function N(e, t, n) {
|
|
25
26
|
if (typeof e == "function" ? e === t : e.has(t)) return arguments.length < 3 ? t : n;
|
|
26
27
|
throw TypeError("Private element is not present on this object");
|
|
27
28
|
}
|
|
28
|
-
function
|
|
29
|
-
return (t =
|
|
29
|
+
function P(e, t, n) {
|
|
30
|
+
return (t = I(t)) in e ? Object.defineProperty(e, t, {
|
|
30
31
|
value: n,
|
|
31
32
|
enumerable: !0,
|
|
32
33
|
configurable: !0,
|
|
33
34
|
writable: !0
|
|
34
35
|
}) : e[t] = n, e;
|
|
35
36
|
}
|
|
36
|
-
function
|
|
37
|
+
function F(e, t, n, r, i, a) {
|
|
37
38
|
function o(e, t, n) {
|
|
38
39
|
return function(r, i) {
|
|
39
40
|
return n && n(r), e[t].call(r, i);
|
|
@@ -56,13 +57,13 @@ function A(e, t, n, r, i, a) {
|
|
|
56
57
|
n || Array.isArray(_) || (_ = [_]);
|
|
57
58
|
var b = {}, x = [], S = i === 3 ? "get" : i === 4 || p ? "set" : "value";
|
|
58
59
|
d ? (f || p ? b = {
|
|
59
|
-
get:
|
|
60
|
+
get: R(function() {
|
|
60
61
|
return v(this);
|
|
61
62
|
}, r, "get"),
|
|
62
63
|
set: function(e) {
|
|
63
64
|
t[4](this, e);
|
|
64
65
|
}
|
|
65
|
-
} : b[S] = v, f ||
|
|
66
|
+
} : b[S] = v, f || R(b[S], r, i === 2 ? "" : S)) : f || (b = Object.getOwnPropertyDescriptor(e, r));
|
|
66
67
|
}
|
|
67
68
|
for (var C = e, w = _.length - 1; w >= 0; w -= n ? 2 : 1) {
|
|
68
69
|
var T = _[w], E = n ? _[w - 1] : void 0, D = {}, O = {
|
|
@@ -122,7 +123,7 @@ function A(e, t, n, r, i, a) {
|
|
|
122
123
|
if (arguments.length >= 6) var d = a[Symbol.metadata || Symbol.for("Symbol.metadata")];
|
|
123
124
|
var f = Object.create(d ?? null), p = function(e, t, n, r) {
|
|
124
125
|
var i, a, o = [], c = function(t) {
|
|
125
|
-
return
|
|
126
|
+
return z(t) === e;
|
|
126
127
|
}, u = /* @__PURE__ */ new Map();
|
|
127
128
|
function d(e) {
|
|
128
129
|
e && o.push(s.bind(null, e));
|
|
@@ -136,7 +137,7 @@ function A(e, t, n, r, i, a) {
|
|
|
136
137
|
if (!0 === x || x === 3 && m !== 4 || x === 4 && m !== 3) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h);
|
|
137
138
|
u.set(b, !(m > 2) || m);
|
|
138
139
|
}
|
|
139
|
-
l(v ? e : e.prototype, p, _, g ? "#" + h :
|
|
140
|
+
l(v ? e : e.prototype, p, _, g ? "#" + h : I(h), m, r, v ? a ||= [] : i ||= [], o, v, g, y, m === 1, v && g ? c : n);
|
|
140
141
|
}
|
|
141
142
|
}
|
|
142
143
|
return d(i), d(a), o;
|
|
@@ -149,11 +150,11 @@ function A(e, t, n, r, i, a) {
|
|
|
149
150
|
}
|
|
150
151
|
};
|
|
151
152
|
}
|
|
152
|
-
function
|
|
153
|
-
var t =
|
|
153
|
+
function I(e) {
|
|
154
|
+
var t = L(e, "string");
|
|
154
155
|
return typeof t == "symbol" ? t : t + "";
|
|
155
156
|
}
|
|
156
|
-
function
|
|
157
|
+
function L(e, t) {
|
|
157
158
|
if (typeof e != "object" || !e) return e;
|
|
158
159
|
var n = e[Symbol.toPrimitive];
|
|
159
160
|
if (n !== void 0) {
|
|
@@ -163,7 +164,7 @@ function M(e, t) {
|
|
|
163
164
|
}
|
|
164
165
|
return (t === "string" ? String : Number)(e);
|
|
165
166
|
}
|
|
166
|
-
function
|
|
167
|
+
function R(e, t, n) {
|
|
167
168
|
typeof t == "symbol" && (t = (t = t.description) ? "[" + t + "]" : "");
|
|
168
169
|
try {
|
|
169
170
|
Object.defineProperty(e, "name", {
|
|
@@ -173,94 +174,121 @@ function N(e, t, n) {
|
|
|
173
174
|
} catch {}
|
|
174
175
|
return e;
|
|
175
176
|
}
|
|
176
|
-
function
|
|
177
|
+
function z(e) {
|
|
177
178
|
if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (e === null ? "null" : typeof e));
|
|
178
179
|
return e;
|
|
179
180
|
}
|
|
180
|
-
function
|
|
181
|
+
function B(e) {
|
|
181
182
|
return e;
|
|
182
183
|
}
|
|
183
|
-
|
|
184
|
-
var
|
|
185
|
-
new (
|
|
186
|
-
context:
|
|
184
|
+
v = [i("file-explorer-header-controls")];
|
|
185
|
+
var V;
|
|
186
|
+
new (D = (f = /*#__PURE__*/ new WeakMap(), p = /*#__PURE__*/ new WeakMap(), m = /*#__PURE__*/ new WeakMap(), h = /*#__PURE__*/ new WeakMap(), O = (y = s({
|
|
187
|
+
context: r,
|
|
187
188
|
subscribe: !0
|
|
188
|
-
}),
|
|
189
|
+
}), x = a({ attribute: !1 }), C = a({ type: Boolean }), T = o(), "mobileMediaQuery"), d = class extends n {
|
|
189
190
|
constructor(...e) {
|
|
190
|
-
super(...e),
|
|
191
|
+
super(...e), P(this, O, void g(this)), P(this, "mobileQuery", "(max-width: 600px)"), P(this, "handleMobileMediaChange", (e) => {
|
|
192
|
+
this.isMobile = e.matches;
|
|
193
|
+
}), k(this, f, b(this, void 0)), k(this, p, S(this, [])), k(this, m, w(this, !1)), k(this, h, E(this, typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(max-width: 600px)").matches));
|
|
191
194
|
}
|
|
192
|
-
get
|
|
193
|
-
return
|
|
195
|
+
get fileExplorerContext() {
|
|
196
|
+
return M(f, this);
|
|
194
197
|
}
|
|
195
198
|
set fileExplorerContext(e) {
|
|
196
|
-
|
|
199
|
+
j(f, this, e);
|
|
197
200
|
}
|
|
198
201
|
get menuItems() {
|
|
199
|
-
return
|
|
202
|
+
return M(p, this);
|
|
200
203
|
}
|
|
201
204
|
set menuItems(e) {
|
|
202
|
-
|
|
205
|
+
j(p, this, e);
|
|
203
206
|
}
|
|
204
207
|
get canEdit() {
|
|
205
|
-
return
|
|
208
|
+
return M(m, this);
|
|
206
209
|
}
|
|
207
210
|
set canEdit(e) {
|
|
208
|
-
|
|
211
|
+
j(m, this, e);
|
|
209
212
|
}
|
|
210
|
-
|
|
211
|
-
this
|
|
213
|
+
get isMobile() {
|
|
214
|
+
return M(h, this);
|
|
215
|
+
}
|
|
216
|
+
set isMobile(e) {
|
|
217
|
+
j(h, this, e);
|
|
218
|
+
}
|
|
219
|
+
connectedCallback() {
|
|
220
|
+
super.connectedCallback(), !(typeof window > "u" || typeof window.matchMedia != "function") && (this.mobileMediaQuery = window.matchMedia(this.mobileQuery), this.isMobile = this.mobileMediaQuery.matches, this.mobileMediaQuery.addEventListener("change", this.handleMobileMediaChange));
|
|
221
|
+
}
|
|
222
|
+
disconnectedCallback() {
|
|
223
|
+
this.mobileMediaQuery?.removeEventListener("change", this.handleMobileMediaChange), this.mobileMediaQuery = void 0, super.disconnectedCallback();
|
|
212
224
|
}
|
|
213
225
|
getEditTooltip() {
|
|
214
|
-
return this.
|
|
226
|
+
return this.canEdit ? "Edit" : "No Access";
|
|
215
227
|
}
|
|
216
228
|
renderDirtyIndicator() {
|
|
217
|
-
return this.fileExplorerContext.edit?.isDirty ?
|
|
229
|
+
return this.fileExplorerContext.edit?.isDirty ? c`<span class="dirtyIndicator" title="This file has unsaved changes">Unsaved</span>` : l;
|
|
218
230
|
}
|
|
219
231
|
render() {
|
|
220
|
-
|
|
232
|
+
let t = e(this.fileExplorerContext.store, this.fileExplorerContext.subjectUri), n = this.fileExplorerContext.paneSupportsEditing;
|
|
233
|
+
return c`
|
|
221
234
|
<div>
|
|
222
235
|
${this.renderDirtyIndicator()}
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
236
|
+
${!t && !this.isMobile ? c`
|
|
237
|
+
<solid-ui-button class="file-explorer-header-action-button" variant="ghost" title="Manage Access" @click=${this.fileExplorerContext.handleAccessClick}>
|
|
238
|
+
<icon-lucide-user-round-cog slot="icon"></icon-lucide-user-round-cog>
|
|
239
|
+
</solid-ui-button>
|
|
240
|
+
${n ? c`
|
|
241
|
+
<solid-ui-button
|
|
242
|
+
class="file-explorer-header-action-button"
|
|
243
|
+
variant="ghost"
|
|
244
|
+
title=${this.getEditTooltip()}
|
|
245
|
+
?disabled=${!this.canEdit}
|
|
246
|
+
@click=${this.fileExplorerContext.edit?.onEdit}
|
|
247
|
+
>
|
|
248
|
+
<icon-lucide-pencil slot="icon"></icon-lucide-pencil>
|
|
249
|
+
</solid-ui-button>
|
|
250
|
+
` : l}
|
|
251
|
+
` : l}
|
|
234
252
|
<resource-actions-menu
|
|
235
|
-
.store=${this.fileExplorerContext
|
|
253
|
+
.store=${this.fileExplorerContext.store}
|
|
254
|
+
.handleAccessClick=${this.fileExplorerContext.handleAccessClick}
|
|
255
|
+
.handleEditingClick=${this.fileExplorerContext.edit?.onEdit}
|
|
256
|
+
.paneSupportsEditing=${this.fileExplorerContext.paneSupportsEditing}
|
|
257
|
+
.canEdit=${this.canEdit}
|
|
236
258
|
.subjectUri=${this.fileExplorerContext?.subjectUri}
|
|
237
259
|
.menuItems=${this.menuItems}
|
|
260
|
+
.isMobile=${this.isMobile}
|
|
238
261
|
></resource-actions-menu>
|
|
239
262
|
</div>
|
|
240
263
|
`;
|
|
241
264
|
}
|
|
242
|
-
}, {e: [
|
|
265
|
+
}, {e: [b, S, w, E, g], c: [V, _]} = F(d, [
|
|
243
266
|
[
|
|
244
|
-
|
|
267
|
+
y,
|
|
245
268
|
1,
|
|
246
269
|
"fileExplorerContext"
|
|
247
270
|
],
|
|
248
271
|
[
|
|
249
|
-
|
|
272
|
+
x,
|
|
250
273
|
1,
|
|
251
274
|
"menuItems"
|
|
252
275
|
],
|
|
253
276
|
[
|
|
254
|
-
|
|
277
|
+
C,
|
|
255
278
|
1,
|
|
256
279
|
"canEdit"
|
|
280
|
+
],
|
|
281
|
+
[
|
|
282
|
+
T,
|
|
283
|
+
1,
|
|
284
|
+
"isMobile"
|
|
257
285
|
]
|
|
258
|
-
],
|
|
286
|
+
], v, 0, void 0, n), d), u = class extends B {
|
|
259
287
|
constructor() {
|
|
260
|
-
super(
|
|
288
|
+
super(V), P(this, "styles", t), _();
|
|
261
289
|
}
|
|
262
|
-
},
|
|
290
|
+
}, P(u, D, void 0), u)();
|
|
263
291
|
//#endregion
|
|
264
|
-
export {
|
|
292
|
+
export { V as default };
|
|
265
293
|
|
|
266
294
|
//# sourceMappingURL=FileExplorerHeaderControls.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileExplorerHeaderControls.esm.js","names":["WebComponent","customElement","property","consume","html","nothing","styles","fileExplorerContext","_classDecs","_FileExplorerHeaderCo","_FileExplorerHeaderCo2","_A","WeakMap","_B","_C","_ref","_fileExplorerContextDecs","context","subscribe","_menuItemsDecs","attribute","_canEditDecs","type","Boolean","_FileExplorerHeaderControls","FileExplorerHeaderControls","constructor","args","
|
|
1
|
+
{"version":3,"file":"FileExplorerHeaderControls.esm.js","names":["WebComponent","customElement","property","state","consume","html","nothing","styles","fileExplorerContext","isContainerSubject","_classDecs","_FileExplorerHeaderCo","_FileExplorerHeaderCo2","_A","WeakMap","_B","_C","_D","_ref","_fileExplorerContextDecs","context","subscribe","_menuItemsDecs","attribute","_canEditDecs","type","Boolean","_isMobileDecs","_FileExplorerHeaderControls","FileExplorerHeaderControls","constructor","args","_defineProperty","_initProto","event","isMobile","matches","_classPrivateFieldInitSpec","_init_fileExplorerContext","undefined","_init_menuItems","_init_canEdit","_init_isMobile","window","matchMedia","_classPrivateFieldGet","v","_classPrivateFieldSet","menuItems","canEdit","connectedCallback","mobileMediaQuery","mobileQuery","addEventListener","handleMobileMediaChange","disconnectedCallback","removeEventListener","getEditTooltip","renderDirtyIndicator","edit","isDirty","render","isContainerResource","store","subjectUri","supportsEditing","paneSupportsEditing","handleAccessClick","onEdit","e","c","_initClass","_applyDecs","_Class","_identity","default"],"sources":["../../../src/components/file-explorer-header/FileExplorerHeaderControls.ts"],"sourcesContent":["import { WebComponent } from 'solid-ui'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { consume } from '@lit/context'\nimport { html, nothing } from 'lit'\nimport 'solid-ui/components/button'\nimport '~icons/lucide/user-round-cog'\nimport '~icons/lucide/pencil'\nimport styles from './FileExplorerHeaderControls.styles.css'\nimport '../resource-actions-menu/ResourceActionsMenu'\nimport { fileExplorerContext, type FileExplorerContext } from 'solid-ui'\nimport { isContainerSubject } from '../../utils/podUtils'\n\n@customElement('file-explorer-header-controls')\nexport default class FileExplorerHeaderControls extends WebComponent {\n static styles = styles\n\n private mobileMediaQuery: MediaQueryList | undefined\n private readonly mobileQuery = '(max-width: 600px)'\n private readonly handleMobileMediaChange = (event: MediaQueryListEvent) => {\n this.isMobile = event.matches\n }\n\n @consume({ context: fileExplorerContext, subscribe: true })\n accessor fileExplorerContext: FileExplorerContext = undefined as unknown as FileExplorerContext\n\n @property({ attribute: false })\n accessor menuItems: Array<{ label: string, action: (event: Event) => void, icon?: HTMLElement }> = []\n\n @property({ type: Boolean })\n accessor canEdit: boolean = false\n\n @state()\n accessor isMobile = typeof window !== 'undefined' && typeof window.matchMedia === 'function'\n ? window.matchMedia('(max-width: 600px)').matches\n : false\n\n connectedCallback () {\n super.connectedCallback()\n\n if (typeof window === 'undefined' || typeof window.matchMedia !== 'function') {\n return\n }\n\n this.mobileMediaQuery = window.matchMedia(this.mobileQuery)\n this.isMobile = this.mobileMediaQuery.matches\n this.mobileMediaQuery.addEventListener('change', this.handleMobileMediaChange)\n }\n\n disconnectedCallback () {\n this.mobileMediaQuery?.removeEventListener('change', this.handleMobileMediaChange)\n this.mobileMediaQuery = undefined\n super.disconnectedCallback()\n }\n\n // TODO: Add broken then use this function to set tooltip and disable edit button\n /* private setEditable() {\n const sourcePaneState = this.sourceContext?.sourcePaneState\n const { canEdit } = this.sourceContext?.headerMetadata ?? { canEdit: false }\n const subject = this.sourceContext?.subject\n if (!sourcePaneState || !canEdit || sourcePaneState.broken || (subject && subject.endsWith('/'))) return\n\n this.sourceContext?.setEditing?.()\n } */\n\n private getEditTooltip () {\n if (!this.canEdit) return 'No Access'\n return 'Edit'\n }\n\n private renderDirtyIndicator () {\n if (!this.fileExplorerContext.edit?.isDirty) return nothing\n\n return html`<span class=\"dirtyIndicator\" title=\"This file has unsaved changes\">Unsaved</span>`\n }\n\n render () {\n const isContainerResource = isContainerSubject(this.fileExplorerContext.store, this.fileExplorerContext.subjectUri)\n const supportsEditing = this.fileExplorerContext.paneSupportsEditing\n\n return html`\n <div>\n ${this.renderDirtyIndicator()}\n ${!isContainerResource && !this.isMobile\n ? html`\n <solid-ui-button class=\"file-explorer-header-action-button\" variant=\"ghost\" title=\"Manage Access\" @click=${this.fileExplorerContext.handleAccessClick}>\n <icon-lucide-user-round-cog slot=\"icon\"></icon-lucide-user-round-cog>\n </solid-ui-button>\n ${supportsEditing\n ? html`\n <solid-ui-button\n class=\"file-explorer-header-action-button\"\n variant=\"ghost\"\n title=${this.getEditTooltip()}\n ?disabled=${!this.canEdit}\n @click=${this.fileExplorerContext.edit?.onEdit}\n >\n <icon-lucide-pencil slot=\"icon\"></icon-lucide-pencil>\n </solid-ui-button>\n `\n : nothing}\n `\n : nothing}\n <resource-actions-menu\n .store=${this.fileExplorerContext.store}\n .handleAccessClick=${this.fileExplorerContext.handleAccessClick}\n .handleEditingClick=${this.fileExplorerContext.edit?.onEdit}\n .paneSupportsEditing=${this.fileExplorerContext.paneSupportsEditing}\n .canEdit=${this.canEdit}\n .subjectUri=${this.fileExplorerContext?.subjectUri}\n .menuItems=${this.menuItems}\n .isMobile=${this.isMobile}\n ></resource-actions-menu>\n </div>\n `\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=require("lit").css`:host{flex:0 auto;min-width:0}:host div{text-align:right;flex:none;justify-content:flex-end;align-items:center;gap:6px;display:flex}:host div>*{flex:0 auto}:host .dirtyIndicator{color:#92400e;white-space:nowrap;background:#fffbeb;border:1px solid #f59e0b;border-radius:999px;align-items:center;padding:4px 8px;font-size:.72rem;font-weight:600;line-height:1;display:inline-flex}@media (width<=900px){:host div{padding-right:3px}}@media (width<=600px){:host div{justify-content:flex-start;gap:5px}}`;exports.default=e;
|
|
1
|
+
var e=require("lit").css`:host{flex:0 auto;min-width:0}:host div{text-align:right;flex:none;justify-content:flex-end;align-items:center;gap:6px;display:flex}:host div>*{flex:0 auto}:host .file-explorer-header-action-button{width:var(--solid-ui-clickable-area,42px);height:var(--solid-ui-clickable-area,42px);padding:0}:host .dirtyIndicator{color:#92400e;white-space:nowrap;background:#fffbeb;border:1px solid #f59e0b;border-radius:999px;align-items:center;padding:4px 8px;font-size:.72rem;font-weight:600;line-height:1;display:inline-flex}:host icon-lucide-user-round-cog,:host icon-lucide-pencil{width:16px;height:16px}@media (width<=900px){:host div{padding-right:3px}}@media (width<=600px){:host div{justify-content:flex-start;gap:5px}:host .file-explorer-header-action-button{display:none}:host icon-lucide-ellipsis-vertical{aspect-ratio:1;flex-shrink:0;width:15.36px;height:15.36px}}`;exports.default=e;
|
|
2
2
|
//# sourceMappingURL=FileExplorerHeaderControls.styles.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileExplorerHeaderControls.styles.cjs.js","names":[],"sources":["../../../src/components/file-explorer-header/FileExplorerHeaderControls.styles.css"],"sourcesContent":[":host {\n flex: 0 1 auto;\n min-width: 0;\n\n div {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: 6px;\n flex: 0 0 auto;\n text-align: right;\n }\n\n /* generative ai */\n div > * {\n flex: 0 1 auto;\n }\n\n /* TODO: look into what colors to use this is just to show */\n .dirtyIndicator {\n display: inline-flex;\n align-items: center;\n border: 1px solid #F59E0B;\n color: #92400E;\n background: #FFFBEB;\n border-radius: 999px;\n font-size: 0.72rem;\n font-weight: 600;\n line-height: 1;\n padding: 4px 8px;\n white-space: nowrap;\n }\n\n @media (max-width: 900px) {\n div {\n padding-right: 3px;\n }\n }\n\n @media (max-width: 600px) {\n div {\n justify-content: flex-start;\n gap: 5px;\n }\n }\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"FileExplorerHeaderControls.styles.cjs.js","names":[],"sources":["../../../src/components/file-explorer-header/FileExplorerHeaderControls.styles.css"],"sourcesContent":[":host {\n flex: 0 1 auto;\n min-width: 0;\n\n div {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: 6px;\n flex: 0 0 auto;\n text-align: right;\n }\n\n /* generative ai */\n div > * {\n flex: 0 1 auto;\n }\n\n .file-explorer-header-action-button {\n width: var(--solid-ui-clickable-area, 42px);\n height: var(--solid-ui-clickable-area, 42px);\n padding: 0;\n }\n\n /* TODO: look into what colors to use this is just to show */\n .dirtyIndicator {\n display: inline-flex;\n align-items: center;\n border: 1px solid #F59E0B;\n color: #92400E;\n background: #FFFBEB;\n border-radius: 999px;\n font-size: 0.72rem;\n font-weight: 600;\n line-height: 1;\n padding: 4px 8px;\n white-space: nowrap;\n }\n\n icon-lucide-user-round-cog,\n icon-lucide-pencil {\n width: 16px;\n height: 16px;\n }\n\n @media (max-width: 900px) {\n div {\n padding-right: 3px;\n }\n }\n\n @media (max-width: 600px) {\n div {\n justify-content: flex-start;\n gap: 5px;\n }\n\n .file-explorer-header-action-button {\n display: none;\n }\n\n icon-lucide-ellipsis-vertical {\n width: 15.36px;\n height: 15.36px;\n flex-shrink: 0;\n aspect-ratio: 1 / 1;\n }\n }\n}\n"],"mappings":""}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { css as e } from "lit";
|
|
2
2
|
//#region src/components/file-explorer-header/FileExplorerHeaderControls.styles.css
|
|
3
|
-
var t = e`:host{flex:0 auto;min-width:0}:host div{text-align:right;flex:none;justify-content:flex-end;align-items:center;gap:6px;display:flex}:host div>*{flex:0 auto}:host .dirtyIndicator{color:#92400e;white-space:nowrap;background:#fffbeb;border:1px solid #f59e0b;border-radius:999px;align-items:center;padding:4px 8px;font-size:.72rem;font-weight:600;line-height:1;display:inline-flex}@media (width<=900px){:host div{padding-right:3px}}@media (width<=600px){:host div{justify-content:flex-start;gap:5px}}`;
|
|
3
|
+
var t = e`:host{flex:0 auto;min-width:0}:host div{text-align:right;flex:none;justify-content:flex-end;align-items:center;gap:6px;display:flex}:host div>*{flex:0 auto}:host .file-explorer-header-action-button{width:var(--solid-ui-clickable-area,42px);height:var(--solid-ui-clickable-area,42px);padding:0}:host .dirtyIndicator{color:#92400e;white-space:nowrap;background:#fffbeb;border:1px solid #f59e0b;border-radius:999px;align-items:center;padding:4px 8px;font-size:.72rem;font-weight:600;line-height:1;display:inline-flex}:host icon-lucide-user-round-cog,:host icon-lucide-pencil{width:16px;height:16px}@media (width<=900px){:host div{padding-right:3px}}@media (width<=600px){:host div{justify-content:flex-start;gap:5px}:host .file-explorer-header-action-button{display:none}:host icon-lucide-ellipsis-vertical{aspect-ratio:1;flex-shrink:0;width:15.36px;height:15.36px}}`;
|
|
4
4
|
//#endregion
|
|
5
5
|
export { t as default };
|
|
6
6
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileExplorerHeaderControls.styles.esm.js","names":[],"sources":["../../../src/components/file-explorer-header/FileExplorerHeaderControls.styles.css"],"sourcesContent":[":host {\n flex: 0 1 auto;\n min-width: 0;\n\n div {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: 6px;\n flex: 0 0 auto;\n text-align: right;\n }\n\n /* generative ai */\n div > * {\n flex: 0 1 auto;\n }\n\n /* TODO: look into what colors to use this is just to show */\n .dirtyIndicator {\n display: inline-flex;\n align-items: center;\n border: 1px solid #F59E0B;\n color: #92400E;\n background: #FFFBEB;\n border-radius: 999px;\n font-size: 0.72rem;\n font-weight: 600;\n line-height: 1;\n padding: 4px 8px;\n white-space: nowrap;\n }\n\n @media (max-width: 900px) {\n div {\n padding-right: 3px;\n }\n }\n\n @media (max-width: 600px) {\n div {\n justify-content: flex-start;\n gap: 5px;\n }\n }\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"FileExplorerHeaderControls.styles.esm.js","names":[],"sources":["../../../src/components/file-explorer-header/FileExplorerHeaderControls.styles.css"],"sourcesContent":[":host {\n flex: 0 1 auto;\n min-width: 0;\n\n div {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: 6px;\n flex: 0 0 auto;\n text-align: right;\n }\n\n /* generative ai */\n div > * {\n flex: 0 1 auto;\n }\n\n .file-explorer-header-action-button {\n width: var(--solid-ui-clickable-area, 42px);\n height: var(--solid-ui-clickable-area, 42px);\n padding: 0;\n }\n\n /* TODO: look into what colors to use this is just to show */\n .dirtyIndicator {\n display: inline-flex;\n align-items: center;\n border: 1px solid #F59E0B;\n color: #92400E;\n background: #FFFBEB;\n border-radius: 999px;\n font-size: 0.72rem;\n font-weight: 600;\n line-height: 1;\n padding: 4px 8px;\n white-space: nowrap;\n }\n\n icon-lucide-user-round-cog,\n icon-lucide-pencil {\n width: 16px;\n height: 16px;\n }\n\n @media (max-width: 900px) {\n div {\n padding-right: 3px;\n }\n }\n\n @media (max-width: 600px) {\n div {\n justify-content: flex-start;\n gap: 5px;\n }\n\n .file-explorer-header-action-button {\n display: none;\n }\n\n icon-lucide-ellipsis-vertical {\n width: 15.36px;\n height: 15.36px;\n flex-shrink: 0;\n aspect-ratio: 1 / 1;\n }\n }\n}\n"],"mappings":""}
|
|
@@ -1,4 +1,21 @@
|
|
|
1
|
-
require("../../_virtual/~icons/lucide/globe.cjs.js"),require("../../_virtual/~icons/lucide/lock-keyhole.cjs.js"),require("../../_virtual/~icons/lucide/arrow-left.cjs.js");const
|
|
1
|
+
const e=require("../../utils/podUtils.cjs.js");require("../../_virtual/~icons/lucide/globe.cjs.js"),require("../../_virtual/~icons/lucide/lock-keyhole.cjs.js"),require("../../_virtual/~icons/lucide/arrow-left.cjs.js"),require("../../_virtual/~icons/lucide/folder.cjs.js");const t=require("./FileExplorerHeaderSummary.styles.cjs.js");let n=require("solid-ui"),r=require("rdflib"),i=require("lit/decorators.js"),a=require("@lit/context"),o=require("lit");require("solid-ui/components/button");var s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k,A,j;function M(e,t,n){N(e,t),t.set(e,n)}function N(e,t){if(t.has(e))throw TypeError(`Cannot initialize the same private elements twice on an object`)}function P(e,t,n){return e.set(I(e,t),n),n}function F(e,t){return e.get(I(e,t))}function I(e,t,n){if(typeof e==`function`?e===t:e.has(t))return arguments.length<3?t:n;throw TypeError(`Private element is not present on this object`)}function L(e,t,n){return(t=z(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function R(e,t,n,r,i,a){function o(e,t,n){return function(r,i){return n&&n(r),e[t].call(r,i)}}function s(e,t){for(var n=0;n<e.length;n++)e[n].call(t);return t}function c(e,t,n,r){if(typeof e!=`function`&&(r||e!==void 0))throw TypeError(t+` must `+(n||`be`)+` a function`+(r?``:` or undefined`));return e}function l(e,t,n,r,i,a,s,l,u,d,f,p,m){function h(e){if(!m(e))throw TypeError(`Attempted to access private element on non-instance`)}var g,_=t[0],v=t[3],y=!l;if(!y){n||Array.isArray(_)||(_=[_]);var b={},x=[],S=i===3?`get`:i===4||p?`set`:`value`;d?(f||p?b={get:V(function(){return v(this)},r,`get`),set:function(e){t[4](this,e)}}:b[S]=v,f||V(b[S],r,i===2?``:S)):f||(b=Object.getOwnPropertyDescriptor(e,r))}for(var C=e,w=_.length-1;w>=0;w-=n?2:1){var T=_[w],E=n?_[w-1]:void 0,D={},O={kind:[`field`,`accessor`,`method`,`getter`,`setter`,`class`][i],name:r,metadata:a,addInitializer:function(e,t){if(e.v)throw Error(`attempted to call addInitializer after decoration was finished`);c(t,`An initializer`,`be`,!0),s.push(t)}.bind(null,D)};try{if(y)(g=c(T.call(E,C,O),`class decorators`,`return`))&&(C=g);else{var k,A;O.static=u,O.private=d,d?i===2?k=function(e){return h(e),b.value}:(i<4&&(k=o(b,`get`,h)),i!==3&&(A=o(b,`set`,h))):(k=function(e){return e[r]},(i<2||i===4)&&(A=function(e,t){e[r]=t}));var j=O.access={has:d?m.bind():function(e){return r in e}};if(k&&(j.get=k),A&&(j.set=A),C=T.call(E,p?{get:b.get,set:b.set}:b[S],O),p){if(typeof C==`object`&&C)(g=c(C.get,`accessor.get`))&&(b.get=g),(g=c(C.set,`accessor.set`))&&(b.set=g),(g=c(C.init,`accessor.init`))&&x.push(g);else if(C!==void 0)throw TypeError(`accessor decorators must return an object with get, set, or init properties or void 0`)}else c(C,(f?`field`:`method`)+` decorators`,`return`)&&(f?x.push(C):b[S]=C)}}finally{D.v=!0}}return(f||p)&&l.push(function(e,t){for(var n=x.length-1;n>=0;n--)t=x[n].call(e,t);return t}),f||y||(d?p?l.push(o(b,`get`),o(b,`set`)):l.push(i===2?b[S]:o.call.bind(b[S])):Object.defineProperty(e,r,b)),C}function u(e,t){return Object.defineProperty(e,Symbol.metadata||Symbol.for(`Symbol.metadata`),{configurable:!0,enumerable:!0,value:t})}if(arguments.length>=6)var d=a[Symbol.metadata||Symbol.for(`Symbol.metadata`)];var f=Object.create(d??null),p=function(e,t,n,r){var i,a,o=[],c=function(t){return H(t)===e},u=new Map;function d(e){e&&o.push(s.bind(null,e))}for(var f=0;f<t.length;f++){var p=t[f];if(Array.isArray(p)){var m=p[1],h=p[2],g=p.length>3,_=16&m,v=!!(8&m),y=(m&=7)==0,b=h+`/`+v;if(!y&&!g){var x=u.get(b);if(!0===x||x===3&&m!==4||x===4&&m!==3)throw Error(`Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: `+h);u.set(b,!(m>2)||m)}l(v?e:e.prototype,p,_,g?`#`+h:z(h),m,r,v?a||=[]:i||=[],o,v,g,y,m===1,v&&g?c:n)}}return d(i),d(a),o}(e,t,i,f);return n.length||u(e,f),{e:p,get c(){var t=[];return n.length&&[u(l(e,[n],r,e.name,5,f,t),f),s.bind(null,t,e)]}}}function z(e){var t=B(e,`string`);return typeof t==`symbol`?t:t+``}function B(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function V(e,t,n){typeof t==`symbol`&&(t=(t=t.description)?`[`+t+`]`:``);try{Object.defineProperty(e,"name",{configurable:!0,value:n?n+` `+t:t})}catch{}return e}function H(e){if(Object(e)!==e)throw TypeError(`right-hand side of 'in' should be an object, got `+(e===null?`null`:typeof e));return e}function U(e){return e}_=[(0,i.customElement)(`file-explorer-header-summary`)];var W;new(A=(l=new WeakMap,u=new WeakMap,d=new WeakMap,f=new WeakMap,p=new WeakMap,m=new WeakMap,j=(v=(0,a.consume)({context:n.fileExplorerContext,subscribe:!0}),b=(0,i.property)({attribute:!1}),S=(0,i.property)({attribute:!1}),w=(0,i.property)({attribute:!1}),E=(0,i.state)(),O=(0,i.query)(`h1`),`_draggableSubjectUri`),c=class extends n.WebComponent{constructor(...e){super(...e),L(this,j,void h(this)),L(this,`_resolvedPaneIconFor`,void 0),M(this,l,y(this,void 0)),M(this,u,x(this)),M(this,d,C(this)),M(this,f,T(this,{modified:void 0,isPublic:!1})),M(this,p,D(this,void 0)),M(this,m,k(this,null))}get fileExplorerContext(){return F(l,this)}set fileExplorerContext(e){P(l,this,e)}get paneIcon(){return F(u,this)}set paneIcon(e){P(u,this,e)}get onBackClick(){return F(d,this)}set onBackClick(e){P(d,this,e)}get responseMetadata(){return F(f,this)}set responseMetadata(e){P(f,this,e)}get resolvedPaneIcon(){return F(p,this)}set resolvedPaneIcon(e){P(p,this,e)}get titleHeading(){return F(m,this)}set titleHeading(e){P(m,this,e)}formatModifiedDate(e){if(!e)return``;let t=new Date(e);if(Number.isNaN(t.getTime()))return e;let n=new Intl.DateTimeFormat(`en-GB`,{day:`2-digit`,month:`short`,year:`numeric`,hour:`2-digit`,minute:`2-digit`,hour12:!0}).formatToParts(t),r=e=>n.find(t=>t.type===e)?.value??``;return`${r(`day`)} ${r(`month`)}, ${r(`year`)} at ${r(`hour`)}:${r(`minute`)} ${r(`dayPeriod`).toUpperCase()}`}updated(){this.paneIcon!==void 0&&this._resolvedPaneIconFor!==this.paneIcon&&(this._resolvedPaneIconFor=this.paneIcon,this.resolvePaneIcon()),this.titleHeading&&this.fileExplorerContext?.subjectUri&&this._draggableSubjectUri!==this.fileExplorerContext.subjectUri&&(n.widgets.makeDraggable(this.titleHeading,(0,r.sym)(this.fileExplorerContext.subjectUri)),this._draggableSubjectUri=this.fileExplorerContext.subjectUri)}async resolvePaneIcon(){try{if(this.paneIcon==null){this.resolvedPaneIcon=void 0;return}let e=await this.paneIcon;this.resolvedPaneIcon=e??void 0}catch(e){this.resolvedPaneIcon=void 0,console.warn(`file-explorer-header-summary: failed to resolve pane icon`,e)}}renderContainerResourceHeader(t,n){let r=e.getContainerItemCount(this.fileExplorerContext?.store,this.fileExplorerContext?.subjectUri)??0;return o.html`
|
|
2
|
+
<div class="container-info">
|
|
3
|
+
<h1>
|
|
4
|
+
<span>${t}</span>
|
|
5
|
+
</h1>
|
|
6
|
+
<p>
|
|
7
|
+
${r} items
|
|
8
|
+
${n?o.html`<span class="public"><icon-lucide-globe></icon-lucide-globe></span>`:o.html`<span class="private"><icon-lucide-lock-keyhole></icon-lucide-lock-keyhole></span>`}
|
|
9
|
+
</p>
|
|
10
|
+
</div>
|
|
11
|
+
`}renderResourceHeader(e,t){let n=this.formatModifiedDate(this.responseMetadata.modified);return o.html`
|
|
12
|
+
<div class="resource-info">
|
|
13
|
+
<h1>
|
|
14
|
+
<span>${e}</span>
|
|
15
|
+
</h1>
|
|
16
|
+
<p><span class="resource-date">${n}</span> ${t?o.html`<span class="public"><icon-lucide-globe></icon-lucide-globe> Public</span>`:o.html`<span class="private"><icon-lucide-lock-keyhole></icon-lucide-lock-keyhole> Private</span>`}</p>
|
|
17
|
+
</div>
|
|
18
|
+
`}render(){let t=this.fileExplorerContext?.subjectUri?(0,r.sym)(this.fileExplorerContext.subjectUri):void 0,i=t?n.utils.label(t):``,a=this.responseMetadata.isPublic,s=e.isContainerSubject(this.fileExplorerContext?.store,this.fileExplorerContext?.subjectUri);return o.html`
|
|
2
19
|
<div class="file-explorer-header-summary">
|
|
3
20
|
<solid-ui-button
|
|
4
21
|
variant="ghost"
|
|
@@ -8,12 +25,10 @@ require("../../_virtual/~icons/lucide/globe.cjs.js"),require("../../_virtual/~ic
|
|
|
8
25
|
<icon-lucide-arrow-left></icon-lucide-arrow-left>
|
|
9
26
|
</solid-ui-button>
|
|
10
27
|
<span class="pane-icon">
|
|
11
|
-
${this.resolvedPaneIcon?
|
|
28
|
+
${this.resolvedPaneIcon?o.html`<img src=${this.resolvedPaneIcon} alt="" />`:``}
|
|
12
29
|
</span>
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
<p>${a} ${o?r.html`<span class="public"><icon-lucide-globe></icon-lucide-globe> Public</span>`:r.html`<span class="private"><icon-lucide-lock-keyhole></icon-lucide-lock-keyhole> Private</span>`}</p>
|
|
16
|
-
</div>
|
|
30
|
+
${s?this.renderContainerResourceHeader(i,a):this.renderResourceHeader(i,a)}
|
|
31
|
+
</div>
|
|
17
32
|
</div>
|
|
18
|
-
`}},{e:[
|
|
33
|
+
`}},{e:[y,x,C,T,D,k,h],c:[W,g]}=R(c,[[v,1,`fileExplorerContext`],[b,1,`paneIcon`],[S,1,`onBackClick`],[w,1,`responseMetadata`],[E,1,`resolvedPaneIcon`],[O,1,`titleHeading`]],_,0,void 0,n.WebComponent),c),s=class extends U{constructor(){super(W),L(this,`styles`,t.default),g()}},L(s,A,void 0),s),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return W}});
|
|
19
34
|
//# sourceMappingURL=FileExplorerHeaderSummary.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileExplorerHeaderSummary.cjs.js","names":["sym","widgets","utils","WebComponent","fileExplorerContext","customElement","property","query","state","html","consume","styles","_classDecs","_FileExplorerHeaderSu","_FileExplorerHeaderSu2","_A","WeakMap","_B","_C","_D","_E","_F","_ref","_fileExplorerContextDecs","context","subscribe","_paneIconDecs","attribute","_onBackClickDecs","_responseMetadataDecs","_resolvedPaneIconDecs","_titleHeadingDecs","_FileExplorerHeaderSummary","FileExplorerHeaderSummary","constructor","args","_defineProperty","_initProto","_classPrivateFieldInitSpec","_init_fileExplorerContext","undefined","_init_paneIcon","_init_onBackClick","_init_responseMetadata","modified","isPublic","_init_resolvedPaneIcon","_init_titleHeading","_classPrivateFieldGet","v","_classPrivateFieldSet","paneIcon","onBackClick","responseMetadata","resolvedPaneIcon","titleHeading","formatModifiedDate","date","Date","Number","isNaN","getTime","parts","Intl","DateTimeFormat","day","month","year","hour","minute","hour12","formatToParts","getPart","type","find","part","value","dayPeriod","toUpperCase","updated","_resolvedPaneIconFor","resolvePaneIcon","subjectUri","_draggableSubjectUri","makeDraggable","icon","error","console","warn","render","subject","label","e","c","_initClass","_applyDecs","_Class","_identity","default"],"sources":["../../../src/components/file-explorer-header/FileExplorerHeaderSummary.ts"],"sourcesContent":["import { sym } from 'rdflib'\nimport { widgets, utils, WebComponent, fileExplorerContext, type FileExplorerContext } from 'solid-ui'\nimport 'solid-ui/components/button'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { html } from 'lit'\nimport { consume } from '@lit/context'\nimport { PaneIcon } from './types'\nimport '~icons/lucide/globe'\nimport '~icons/lucide/lock-keyhole'\nimport '~icons/lucide/arrow-left'\nimport styles from './FileExplorerHeaderSummary.styles.css'\nimport { type FileExplorerResourceMetadata } from './helper'\n\n@customElement('file-explorer-header-summary')\nexport default class FileExplorerHeaderSummary extends WebComponent {\n static styles = styles\n\n private _draggableSubjectUri: string | undefined\n private _resolvedPaneIconFor: PaneIcon | undefined\n\n @consume({ context: fileExplorerContext, subscribe: true })\n accessor fileExplorerContext: FileExplorerContext = undefined as unknown as FileExplorerContext\n\n @property({ attribute: false })\n accessor paneIcon: PaneIcon | undefined\n\n @property({ attribute: false })\n accessor onBackClick: (() => void) | undefined\n\n @property({ attribute: false })\n accessor responseMetadata: Pick<FileExplorerResourceMetadata, 'modified' | 'isPublic'> = {\n modified: undefined,\n isPublic: false\n }\n\n @state()\n accessor resolvedPaneIcon: string | undefined = undefined\n\n @query('h1')\n private accessor titleHeading: HTMLHeadingElement | null = null\n\n private formatModifiedDate (modified: string | undefined) {\n if (!modified) return ''\n\n const date = new Date(modified)\n if (Number.isNaN(date.getTime())) return modified\n\n const parts = new Intl.DateTimeFormat('en-GB', {\n day: '2-digit',\n month: 'short',\n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n hour12: true\n }).formatToParts(date)\n\n const getPart = (type: Intl.DateTimeFormatPartTypes) => parts.find(part => part.type === type)?.value ?? ''\n const day = getPart('day')\n const month = getPart('month')\n const year = getPart('year')\n const hour = getPart('hour')\n const minute = getPart('minute')\n const dayPeriod = getPart('dayPeriod').toUpperCase()\n\n return `${day} ${month}, ${year} at ${hour}:${minute} ${dayPeriod}`\n }\n\n protected updated () {\n if (this.paneIcon !== undefined && this._resolvedPaneIconFor !== this.paneIcon) {\n this._resolvedPaneIconFor = this.paneIcon\n this.resolvePaneIcon()\n }\n\n if (!this.titleHeading || !this.fileExplorerContext?.subjectUri || this._draggableSubjectUri === this.fileExplorerContext.subjectUri) return\n\n widgets.makeDraggable(this.titleHeading, sym(this.fileExplorerContext.subjectUri)) // doing it this way for now, just to keep the same functionality\n this._draggableSubjectUri = this.fileExplorerContext.subjectUri\n }\n\n // Needed because humanReadable pane can return a promise for an icon.\n private async resolvePaneIcon () {\n try {\n if (this.paneIcon == null) {\n this.resolvedPaneIcon = undefined\n return\n }\n\n const icon = await this.paneIcon\n this.resolvedPaneIcon = icon ?? undefined\n } catch (error) {\n this.resolvedPaneIcon = undefined\n console.warn('file-explorer-header-summary: failed to resolve pane icon', error)\n }\n }\n\n render () {\n const subject = this.fileExplorerContext?.subjectUri ? sym(this.fileExplorerContext.subjectUri) : undefined\n const label = subject ? utils.label(subject) : ''\n const modified = this.formatModifiedDate(this.responseMetadata.modified)\n const isPublic = this.responseMetadata.isPublic\n\n return html`\n <div class=\"file-explorer-header-summary\">\n <solid-ui-button\n variant=\"ghost\"\n @click=${this.onBackClick}\n title=\"Back\"\n >\n <icon-lucide-arrow-left></icon-lucide-arrow-left>\n </solid-ui-button>\n <span class=\"pane-icon\">\n ${this.resolvedPaneIcon ? html`<img src=${this.resolvedPaneIcon} alt=\"\" />` : ''}\n </span>\n <div>\n <h1>${label}</h1>\n <p>${modified} ${isPublic ? html`<span class=\"public\"><icon-lucide-globe></icon-lucide-globe> Public</span>` : html`<span class=\"private\"><icon-lucide-lock-keyhole></icon-lucide-lock-keyhole> Private</span>`}</p>\n </div>\n </div>\n `\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileExplorerHeaderSummary.cjs.js","names":["sym","widgets","utils","WebComponent","fileExplorerContext","customElement","property","query","state","html","consume","styles","getContainerItemCount","isContainerSubject","_classDecs","_FileExplorerHeaderSu","_FileExplorerHeaderSu2","_A","WeakMap","_B","_C","_D","_E","_F","_ref","_fileExplorerContextDecs","context","subscribe","_paneIconDecs","attribute","_onBackClickDecs","_responseMetadataDecs","_resolvedPaneIconDecs","_titleHeadingDecs","_FileExplorerHeaderSummary","FileExplorerHeaderSummary","constructor","args","_defineProperty","_initProto","_classPrivateFieldInitSpec","_init_fileExplorerContext","undefined","_init_paneIcon","_init_onBackClick","_init_responseMetadata","modified","isPublic","_init_resolvedPaneIcon","_init_titleHeading","_classPrivateFieldGet","v","_classPrivateFieldSet","paneIcon","onBackClick","responseMetadata","resolvedPaneIcon","titleHeading","formatModifiedDate","date","Date","Number","isNaN","getTime","parts","Intl","DateTimeFormat","day","month","year","hour","minute","hour12","formatToParts","getPart","type","find","part","value","dayPeriod","toUpperCase","updated","_resolvedPaneIconFor","resolvePaneIcon","subjectUri","_draggableSubjectUri","makeDraggable","icon","error","console","warn","renderContainerResourceHeader","label","itemCount","store","renderResourceHeader","render","subject","isContainerResource","e","c","_initClass","_applyDecs","_Class","_identity","default"],"sources":["../../../src/components/file-explorer-header/FileExplorerHeaderSummary.ts"],"sourcesContent":["import { sym } from 'rdflib'\nimport { widgets, utils, WebComponent, fileExplorerContext, type FileExplorerContext } from 'solid-ui'\nimport 'solid-ui/components/button'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { html } from 'lit'\nimport { consume } from '@lit/context'\nimport { PaneIcon } from './types'\nimport '~icons/lucide/globe'\nimport '~icons/lucide/lock-keyhole'\nimport '~icons/lucide/arrow-left'\nimport '~icons/lucide/folder'\nimport styles from './FileExplorerHeaderSummary.styles.css'\nimport { getContainerItemCount, isContainerSubject } from '../../utils/podUtils'\nimport type { FileExplorerResourceMetadata } from './types'\n\n@customElement('file-explorer-header-summary')\nexport default class FileExplorerHeaderSummary extends WebComponent {\n static styles = styles\n\n private _draggableSubjectUri: string | undefined\n private _resolvedPaneIconFor: PaneIcon | undefined\n\n @consume({ context: fileExplorerContext, subscribe: true })\n accessor fileExplorerContext: FileExplorerContext = undefined as unknown as FileExplorerContext\n\n @property({ attribute: false })\n accessor paneIcon: PaneIcon | undefined\n\n @property({ attribute: false })\n accessor onBackClick: (() => void) | undefined\n\n @property({ attribute: false })\n accessor responseMetadata: Pick<FileExplorerResourceMetadata, 'modified' | 'isPublic'> = {\n modified: undefined,\n isPublic: false\n }\n\n @state()\n accessor resolvedPaneIcon: string | undefined = undefined\n\n @query('h1')\n private accessor titleHeading: HTMLHeadingElement | null = null\n\n private formatModifiedDate (modified: string | undefined) {\n if (!modified) return ''\n\n const date = new Date(modified)\n if (Number.isNaN(date.getTime())) return modified\n\n const parts = new Intl.DateTimeFormat('en-GB', {\n day: '2-digit',\n month: 'short',\n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n hour12: true\n }).formatToParts(date)\n\n const getPart = (type: Intl.DateTimeFormatPartTypes) => parts.find(part => part.type === type)?.value ?? ''\n const day = getPart('day')\n const month = getPart('month')\n const year = getPart('year')\n const hour = getPart('hour')\n const minute = getPart('minute')\n const dayPeriod = getPart('dayPeriod').toUpperCase()\n\n return `${day} ${month}, ${year} at ${hour}:${minute} ${dayPeriod}`\n }\n\n protected updated () {\n if (this.paneIcon !== undefined && this._resolvedPaneIconFor !== this.paneIcon) {\n this._resolvedPaneIconFor = this.paneIcon\n this.resolvePaneIcon()\n }\n\n if (!this.titleHeading || !this.fileExplorerContext?.subjectUri || this._draggableSubjectUri === this.fileExplorerContext.subjectUri) return\n\n widgets.makeDraggable(this.titleHeading, sym(this.fileExplorerContext.subjectUri)) // doing it this way for now, just to keep the same functionality\n this._draggableSubjectUri = this.fileExplorerContext.subjectUri\n }\n\n // Needed because humanReadable pane can return a promise for an icon.\n private async resolvePaneIcon () {\n try {\n if (this.paneIcon == null) {\n this.resolvedPaneIcon = undefined\n return\n }\n\n const icon = await this.paneIcon\n this.resolvedPaneIcon = icon ?? undefined\n } catch (error) {\n this.resolvedPaneIcon = undefined\n console.warn('file-explorer-header-summary: failed to resolve pane icon', error)\n }\n }\n\n private renderContainerResourceHeader (label: string, isPublic: boolean) {\n const itemCount = getContainerItemCount(this.fileExplorerContext?.store, this.fileExplorerContext?.subjectUri) ?? 0\n return html`\n <div class=\"container-info\">\n <h1>\n <span>${label}</span>\n </h1>\n <p>\n ${itemCount} items\n ${isPublic\n ? html`<span class=\"public\"><icon-lucide-globe></icon-lucide-globe></span>`\n : html`<span class=\"private\"><icon-lucide-lock-keyhole></icon-lucide-lock-keyhole></span>`}\n </p>\n </div>\n `\n }\n\n private renderResourceHeader (label: string, isPublic: boolean) {\n const modified = this.formatModifiedDate(this.responseMetadata.modified)\n\n return html`\n <div class=\"resource-info\">\n <h1>\n <span>${label}</span>\n </h1>\n <p><span class=\"resource-date\">${modified}</span> ${isPublic ? html`<span class=\"public\"><icon-lucide-globe></icon-lucide-globe> Public</span>` : html`<span class=\"private\"><icon-lucide-lock-keyhole></icon-lucide-lock-keyhole> Private</span>`}</p>\n </div>\n `\n }\n\n render () {\n const subject = this.fileExplorerContext?.subjectUri ? sym(this.fileExplorerContext.subjectUri) : undefined\n const label = subject ? utils.label(subject) : ''\n const isPublic = this.responseMetadata.isPublic\n const isContainerResource = isContainerSubject(this.fileExplorerContext?.store, this.fileExplorerContext?.subjectUri)\n\n return html`\n <div class=\"file-explorer-header-summary\">\n <solid-ui-button\n variant=\"ghost\"\n @click=${this.onBackClick}\n title=\"Back\"\n >\n <icon-lucide-arrow-left></icon-lucide-arrow-left>\n </solid-ui-button>\n <span class=\"pane-icon\">\n ${this.resolvedPaneIcon ? html`<img src=${this.resolvedPaneIcon} alt=\"\" />` : ''}\n </span>\n ${isContainerResource ? this.renderContainerResourceHeader(label, isPublic) : this.renderResourceHeader(label, isPublic)}\n </div>\n </div>\n `\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { WebComponent, FileExplorerContext } from 'solid-ui';
|
|
2
|
-
import { PaneIcon } from './types';
|
|
3
|
-
import { FileExplorerResourceMetadata } from './helper';
|
|
2
|
+
import { PaneIcon, FileExplorerResourceMetadata } from './types';
|
|
4
3
|
export default class FileExplorerHeaderSummary extends WebComponent {
|
|
5
4
|
static styles: any;
|
|
6
5
|
private _draggableSubjectUri;
|
|
@@ -14,6 +13,8 @@ export default class FileExplorerHeaderSummary extends WebComponent {
|
|
|
14
13
|
private formatModifiedDate;
|
|
15
14
|
protected updated(): void;
|
|
16
15
|
private resolvePaneIcon;
|
|
16
|
+
private renderContainerResourceHeader;
|
|
17
|
+
private renderResourceHeader;
|
|
17
18
|
render(): import('lit-html').TemplateResult<1>;
|
|
18
19
|
}
|
|
19
20
|
//# sourceMappingURL=FileExplorerHeaderSummary.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileExplorerHeaderSummary.d.ts","sourceRoot":"","sources":["../../../src/components/file-explorer-header/FileExplorerHeaderSummary.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,YAAY,EAAuB,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAA;AACtG,OAAO,4BAA4B,CAAA;AAInC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,qBAAqB,CAAA;AAC5B,OAAO,4BAA4B,CAAA;AACnC,OAAO,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"FileExplorerHeaderSummary.d.ts","sourceRoot":"","sources":["../../../src/components/file-explorer-header/FileExplorerHeaderSummary.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,YAAY,EAAuB,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAA;AACtG,OAAO,4BAA4B,CAAA;AAInC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,qBAAqB,CAAA;AAC5B,OAAO,4BAA4B,CAAA;AACnC,OAAO,0BAA0B,CAAA;AACjC,OAAO,sBAAsB,CAAA;AAG7B,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAA;AAG3D,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,YAAY;IACjE,MAAM,CAAC,MAAM,MAAS;IAEtB,OAAO,CAAC,oBAAoB,CAAoB;IAChD,OAAO,CAAC,oBAAoB,CAAsB;IAGlD,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAA8C;IAG/F,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAA;IAGvC,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAA;IAG9C,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,4BAA4B,EAAE,UAAU,GAAG,UAAU,CAAC,CAGrF;IAGD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAY;IAGzD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAE/D,OAAO,CAAC,kBAAkB;IA0B1B,SAAS,CAAC,OAAO;YAaH,eAAe;IAe7B,OAAO,CAAC,6BAA6B;IAiBrC,OAAO,CAAC,oBAAoB;IAa5B,MAAM;CAuBP"}
|