@scaleflex/asset-picker 0.2.4 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/settings.local.json +38 -22
- package/dist/{asset-picker-Z_6-Ac0_.js → asset-picker-Cc1NFvo6.js} +696 -589
- package/dist/{asset-picker-D4Tqus2q.cjs → asset-picker-D62afrSd.cjs} +290 -197
- package/dist/components/filters/ap-filter-color.d.ts.map +1 -1
- package/dist/components/filters/ap-filter-image.d.ts.map +1 -1
- package/dist/components/filters/ap-filter-labels.d.ts.map +1 -1
- package/dist/components/filters/ap-filter-metadata.d.ts.map +1 -1
- package/dist/components/filters/ap-filter-product-ref.d.ts.map +1 -1
- package/dist/components/filters/ap-filter-tags.d.ts.map +1 -1
- package/dist/components/filters/shared/filter-styles.d.ts.map +1 -1
- package/dist/components/header/ap-header.d.ts.map +1 -1
- package/dist/components/navigation/ap-breadcrumb.d.ts.map +1 -1
- package/dist/components/preview/ap-preview-panel.d.ts.map +1 -1
- package/dist/components/selection/ap-selection-bar.d.ts.map +1 -1
- package/dist/components/shared/ap-badge.d.ts.map +1 -1
- package/dist/components/shared/ap-checkbox.d.ts.map +1 -1
- package/dist/components/shared/ap-dropdown.d.ts.map +1 -1
- package/dist/components/shared/ap-icon.d.ts.map +1 -1
- package/dist/components/shared/ap-radio-group.d.ts.map +1 -1
- package/dist/components/views/ap-asset-card.d.ts.map +1 -1
- package/dist/components/views/ap-asset-row.d.ts.map +1 -1
- package/dist/components/views/ap-folder-card.d.ts.map +1 -1
- package/dist/components/views/ap-folder-row.d.ts.map +1 -1
- package/dist/controllers/marquee.controller.d.ts +1 -0
- package/dist/controllers/marquee.controller.d.ts.map +1 -1
- package/dist/define.cjs +1 -1
- package/dist/define.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/types/asset.types.d.ts +1 -0
- package/dist/types/asset.types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { css as $, LitElement as
|
|
2
|
-
import { property as h, query as Se, customElement as
|
|
1
|
+
import { css as $, LitElement as S, html as n, nothing as f, svg as ce } from "lit";
|
|
2
|
+
import { property as h, query as Se, customElement as C, state as y } from "lit/decorators.js";
|
|
3
3
|
class Ma {
|
|
4
4
|
constructor(e) {
|
|
5
5
|
this.listeners = /* @__PURE__ */ new Set(), this._notifying = !1, this._pendingState = null, this.state = e;
|
|
@@ -160,7 +160,7 @@ class Ia {
|
|
|
160
160
|
const Gt = 5, Te = 40, Yt = 15;
|
|
161
161
|
class Da {
|
|
162
162
|
constructor(e, a) {
|
|
163
|
-
this.startX = 0, this.startY = 0, this.startClientX = 0, this.startClientY = 0, this.preMarqueeSelection = /* @__PURE__ */ new Map(), this._dragging = !1, this._scrollRAF = null, this._lastMouseEvent = null, this.isActive = !1, this.rect = { x: 0, y: 0, width: 0, height: 0 }, this.handleMouseDown = (s) => this.onMouseDown(s), this.handleMouseMove = (s) => this.onMouseMove(s), this.handleMouseUp = () => this.onMouseUp(), this.host = e, this.store = a, e.addController(this);
|
|
163
|
+
this.startX = 0, this.startY = 0, this.startClientX = 0, this.startClientY = 0, this.preMarqueeSelection = /* @__PURE__ */ new Map(), this._dragging = !1, this._scrollRAF = null, this._lastMouseEvent = null, this.isActive = !1, this.rect = { x: 0, y: 0, width: 0, height: 0 }, this.handleMouseDown = (s) => this.onMouseDown(s), this.handleMouseMove = (s) => this.onMouseMove(s), this.handleMouseUp = () => this.onMouseUp(), this.preventSelect = (s) => s.preventDefault(), this.host = e, this.store = a, e.addController(this);
|
|
164
164
|
}
|
|
165
165
|
hostConnected() {
|
|
166
166
|
}
|
|
@@ -171,7 +171,7 @@ class Da {
|
|
|
171
171
|
this.detach(), this.container = e, e.addEventListener("mousedown", this.handleMouseDown);
|
|
172
172
|
}
|
|
173
173
|
detach() {
|
|
174
|
-
this.container && this.container.removeEventListener("mousedown", this.handleMouseDown), document.removeEventListener("mousemove", this.handleMouseMove), document.removeEventListener("mouseup", this.handleMouseUp), this.stopAutoScroll(), this._lastMouseEvent = null;
|
|
174
|
+
this.container && this.container.removeEventListener("mousedown", this.handleMouseDown), document.removeEventListener("mousemove", this.handleMouseMove), document.removeEventListener("mouseup", this.handleMouseUp), document.removeEventListener("selectstart", this.preventSelect), this.stopAutoScroll(), this._lastMouseEvent = null;
|
|
175
175
|
}
|
|
176
176
|
isInteractiveTarget(e) {
|
|
177
177
|
return e.composedPath().some((s) => {
|
|
@@ -187,11 +187,12 @@ class Da {
|
|
|
187
187
|
this.startX = e.clientX - a.left + this.container.scrollLeft, this.startY = e.clientY - a.top + this.container.scrollTop, this.startClientX = e.clientX, this.startClientY = e.clientY, this._dragging = !1, this.isActive = !1, document.addEventListener("mousemove", this.handleMouseMove), document.addEventListener("mouseup", this.handleMouseUp);
|
|
188
188
|
}
|
|
189
189
|
onMouseMove(e) {
|
|
190
|
+
var a;
|
|
190
191
|
if (this.container) {
|
|
191
192
|
if (!this._dragging) {
|
|
192
|
-
const
|
|
193
|
-
if (
|
|
194
|
-
this._dragging = !0, this.isActive = !0, this.preMarqueeSelection = new Map(this.store.getState().selectedAssets);
|
|
193
|
+
const s = Math.abs(e.clientX - this.startClientX), i = Math.abs(e.clientY - this.startClientY);
|
|
194
|
+
if (s < Gt && i < Gt) return;
|
|
195
|
+
this._dragging = !0, this.isActive = !0, document.addEventListener("selectstart", this.preventSelect), (a = window.getSelection()) == null || a.removeAllRanges(), this.preMarqueeSelection = new Map(this.store.getState().selectedAssets);
|
|
195
196
|
}
|
|
196
197
|
this._lastMouseEvent = e, this.updateMarqueeRect(e), this.startAutoScroll(e);
|
|
197
198
|
}
|
|
@@ -221,7 +222,7 @@ class Da {
|
|
|
221
222
|
this._scrollRAF && (cancelAnimationFrame(this._scrollRAF), this._scrollRAF = null);
|
|
222
223
|
}
|
|
223
224
|
onMouseUp() {
|
|
224
|
-
document.removeEventListener("mousemove", this.handleMouseMove), document.removeEventListener("mouseup", this.handleMouseUp), this.stopAutoScroll(), this._lastMouseEvent = null, this._dragging && (this.isActive = !1, this._dragging = !1, this.rect = { x: 0, y: 0, width: 0, height: 0 }, this.host.requestUpdate());
|
|
225
|
+
document.removeEventListener("mousemove", this.handleMouseMove), document.removeEventListener("mouseup", this.handleMouseUp), document.removeEventListener("selectstart", this.preventSelect), this.stopAutoScroll(), this._lastMouseEvent = null, this._dragging && (this.isActive = !1, this._dragging = !1, this.rect = { x: 0, y: 0, width: 0, height: 0 }, this.host.requestUpdate());
|
|
225
226
|
}
|
|
226
227
|
queryCards() {
|
|
227
228
|
for (const e of Array.from(this.container.children))
|
|
@@ -379,10 +380,10 @@ async function ja(t, e) {
|
|
|
379
380
|
{ folders: e }
|
|
380
381
|
)).folders || {};
|
|
381
382
|
}
|
|
382
|
-
async function
|
|
383
|
+
async function Ua(t) {
|
|
383
384
|
return await t.request("/labels");
|
|
384
385
|
}
|
|
385
|
-
async function
|
|
386
|
+
async function Ba(t) {
|
|
386
387
|
return ((await t.request("/tags")).tags || []).map((s) => ({
|
|
387
388
|
...s,
|
|
388
389
|
label: s.names.en || Object.values(s.names)[0] || ""
|
|
@@ -407,7 +408,7 @@ const m = {
|
|
|
407
408
|
PRODUCT_REF: "product_ref",
|
|
408
409
|
FACES: "faces",
|
|
409
410
|
COLOR: "color"
|
|
410
|
-
},
|
|
411
|
+
}, B = {
|
|
411
412
|
STATUS: "approval_status",
|
|
412
413
|
APPROVER: "task_approver",
|
|
413
414
|
REQUESTOR: "task_requester",
|
|
@@ -455,7 +456,7 @@ const m = {
|
|
|
455
456
|
Object.fromEntries(
|
|
456
457
|
Object.entries(mt).map(([t, e]) => [e, t])
|
|
457
458
|
);
|
|
458
|
-
const ra = Object.values(mt),
|
|
459
|
+
const ra = Object.values(mt), Ue = {
|
|
459
460
|
PRESET: "preset",
|
|
460
461
|
AFTER: "after",
|
|
461
462
|
BEFORE: "before",
|
|
@@ -597,7 +598,7 @@ const ra = Object.values(mt), Be = {
|
|
|
597
598
|
{ label: "Is", value: w.IS_EXACT },
|
|
598
599
|
{ label: "Contains", value: w.IS },
|
|
599
600
|
{ label: "Does not contain", value: w.IS_NOT }
|
|
600
|
-
],
|
|
601
|
+
], Et = [
|
|
601
602
|
{ label: "Is", value: w.IS },
|
|
602
603
|
{ label: "Greater than", value: w.GREATER_THAN_OR_EQUAL },
|
|
603
604
|
{ label: "Is not", value: w.IS_NOT },
|
|
@@ -617,7 +618,7 @@ const ra = Object.values(mt), Be = {
|
|
|
617
618
|
], ye = [
|
|
618
619
|
{ label: "Empty", value: K },
|
|
619
620
|
{ label: "Not empty", value: G }
|
|
620
|
-
],
|
|
621
|
+
], Ft = [
|
|
621
622
|
...ye,
|
|
622
623
|
{ label: "Specific", value: be }
|
|
623
624
|
], ss = [
|
|
@@ -655,7 +656,7 @@ const ra = Object.values(mt), Be = {
|
|
|
655
656
|
[x.INTEGER_LIST]: "attachment"
|
|
656
657
|
};
|
|
657
658
|
async function rs(t) {
|
|
658
|
-
var b,
|
|
659
|
+
var b, k;
|
|
659
660
|
const e = await t.request("/settings"), a = e.settings ?? e, s = (a == null ? void 0 : a.metadata) ?? e.metadata, r = ((s == null ? void 0 : s.model) ?? [])[Ha], o = s == null ? void 0 : s.store, c = ((o == null ? void 0 : o.regional_variants_groups) ?? []).map((_) => ({
|
|
660
661
|
uuid: _.uuid,
|
|
661
662
|
label: _.label ?? _.name ?? "",
|
|
@@ -667,13 +668,13 @@ async function rs(t) {
|
|
|
667
668
|
})).filter((_) => _.variants.length > 1), p = {};
|
|
668
669
|
for (const _ of c)
|
|
669
670
|
p[_.uuid] = ((b = _.variants[0]) == null ? void 0 : b.api_value) ?? "";
|
|
670
|
-
const u = (a == null ? void 0 : a.project_branding) ?? ((
|
|
671
|
+
const u = (a == null ? void 0 : a.project_branding) ?? ((k = e.settings) == null ? void 0 : k.project_branding), v = u == null ? void 0 : u.brandColor;
|
|
671
672
|
if (!r) return { fields: [], regionalVariantGroups: c, regionalFilters: p, brandColor: v };
|
|
672
673
|
const d = r.groups ?? [], g = [];
|
|
673
674
|
for (const _ of d) {
|
|
674
675
|
const A = _.name || "Root fields";
|
|
675
676
|
for (const F of _.fields ?? []) {
|
|
676
|
-
const
|
|
677
|
+
const P = F.possible_values, H = P == null ? void 0 : P.map((T) => ({
|
|
677
678
|
api_value: T.api_value ?? T.value ?? "",
|
|
678
679
|
internal_unique_value: T.internal_unique_value ?? T.api_value ?? "",
|
|
679
680
|
label: T.label ?? T.name ?? T.api_value ?? ""
|
|
@@ -799,7 +800,7 @@ function ds(t, e) {
|
|
|
799
800
|
}
|
|
800
801
|
function ua(t, e) {
|
|
801
802
|
const a = e.field || "created";
|
|
802
|
-
if (e.kind ===
|
|
803
|
+
if (e.kind === Ue.PRESET && e.preset) {
|
|
803
804
|
if (e.preset === Wt.EMPTY)
|
|
804
805
|
return [`${a}:"empty"`];
|
|
805
806
|
if (e.preset === Wt.NOT_EMPTY)
|
|
@@ -807,11 +808,11 @@ function ua(t, e) {
|
|
|
807
808
|
const s = ha(e.preset);
|
|
808
809
|
return s ? s.to === null ? [`${a}>"${s.from}"`] : [`${a}:"${s.from}..${s.to}"`] : [];
|
|
809
810
|
}
|
|
810
|
-
if (e.kind ===
|
|
811
|
+
if (e.kind === Ue.AFTER && e.from)
|
|
811
812
|
return [`${a}:>"${e.from}"`];
|
|
812
|
-
if (e.kind ===
|
|
813
|
+
if (e.kind === Ue.BEFORE && e.to)
|
|
813
814
|
return [`${a}:<"${e.to}"`];
|
|
814
|
-
if (e.kind ===
|
|
815
|
+
if (e.kind === Ue.BETWEEN) {
|
|
815
816
|
if (e.from && e.to)
|
|
816
817
|
return [`${a}:"${e.from}..${e.to}"`];
|
|
817
818
|
if (e.from && !e.to)
|
|
@@ -819,7 +820,7 @@ function ua(t, e) {
|
|
|
819
820
|
if (!e.from && e.to)
|
|
820
821
|
return [`${a}:<"${e.to}"`];
|
|
821
822
|
}
|
|
822
|
-
return e.kind ===
|
|
823
|
+
return e.kind === Ue.SPECIFIC && e.from ? [`${a}:"${e.from}"`] : [];
|
|
823
824
|
}
|
|
824
825
|
function ps(t, e, a) {
|
|
825
826
|
return e.length === 0 ? [] : [`${t}:"${e.join(a)}"`];
|
|
@@ -899,9 +900,9 @@ function ta(t) {
|
|
|
899
900
|
const _s = /* @__PURE__ */ new Set([
|
|
900
901
|
m.DATE,
|
|
901
902
|
m.LICENSE_EXPIRY,
|
|
902
|
-
|
|
903
|
+
B.DUE_DATE
|
|
903
904
|
]);
|
|
904
|
-
function
|
|
905
|
+
function Be(t) {
|
|
905
906
|
if (!t) return {};
|
|
906
907
|
const e = {};
|
|
907
908
|
for (const [a, s] of Object.entries(t))
|
|
@@ -980,14 +981,14 @@ function Cs(t) {
|
|
|
980
981
|
} catch {
|
|
981
982
|
}
|
|
982
983
|
}
|
|
983
|
-
function
|
|
984
|
+
function Es() {
|
|
984
985
|
try {
|
|
985
986
|
return localStorage.getItem(ma);
|
|
986
987
|
} catch {
|
|
987
988
|
return null;
|
|
988
989
|
}
|
|
989
990
|
}
|
|
990
|
-
function
|
|
991
|
+
function Fs(t) {
|
|
991
992
|
try {
|
|
992
993
|
localStorage.setItem(ba, t);
|
|
993
994
|
} catch {
|
|
@@ -1009,9 +1010,9 @@ function At(t) {
|
|
|
1009
1010
|
return t <= 0.04045 ? t / 12.92 : Math.pow((t + 0.055) / 1.055, 2.4);
|
|
1010
1011
|
}
|
|
1011
1012
|
function Ms(t, e, a) {
|
|
1012
|
-
const s = At(t), i = At(e), r = At(a), o = 0.4122214708 * s + 0.5363325363 * i + 0.0514459929 * r, l = 0.2119034982 * s + 0.6806995451 * i + 0.1073969566 * r, c = 0.0883024619 * s + 0.2817188376 * i + 0.6299787005 * r, p = Math.cbrt(o), u = Math.cbrt(l), v = Math.cbrt(c), d = 0.2104542553 * p + 0.793617785 * u - 0.0040720468 * v, g = 1.9779984951 * p - 2.428592205 * u + 0.4505937099 * v, b = 0.0259040371 * p + 0.7827717662 * u - 0.808675766 * v,
|
|
1013
|
+
const s = At(t), i = At(e), r = At(a), o = 0.4122214708 * s + 0.5363325363 * i + 0.0514459929 * r, l = 0.2119034982 * s + 0.6806995451 * i + 0.1073969566 * r, c = 0.0883024619 * s + 0.2817188376 * i + 0.6299787005 * r, p = Math.cbrt(o), u = Math.cbrt(l), v = Math.cbrt(c), d = 0.2104542553 * p + 0.793617785 * u - 0.0040720468 * v, g = 1.9779984951 * p - 2.428592205 * u + 0.4505937099 * v, b = 0.0259040371 * p + 0.7827717662 * u - 0.808675766 * v, k = Math.sqrt(g * g + b * b);
|
|
1013
1014
|
let _ = Math.atan2(b, g) * (180 / Math.PI);
|
|
1014
|
-
return _ < 0 && (_ += 360), [d,
|
|
1015
|
+
return _ < 0 && (_ += 360), [d, k, _];
|
|
1015
1016
|
}
|
|
1016
1017
|
function Os(t) {
|
|
1017
1018
|
return t > 0.7;
|
|
@@ -1056,7 +1057,7 @@ var Ds = Object.defineProperty, zs = Object.getOwnPropertyDescriptor, zt = (t, e
|
|
|
1056
1057
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
1057
1058
|
return s && i && Ds(e, a, i), i;
|
|
1058
1059
|
};
|
|
1059
|
-
let qe = class extends
|
|
1060
|
+
let qe = class extends S {
|
|
1060
1061
|
constructor() {
|
|
1061
1062
|
super(...arguments), this.open = !1;
|
|
1062
1063
|
}
|
|
@@ -1184,7 +1185,7 @@ zt([
|
|
|
1184
1185
|
Se("dialog")
|
|
1185
1186
|
], qe.prototype, "dialog", 2);
|
|
1186
1187
|
qe = zt([
|
|
1187
|
-
|
|
1188
|
+
C("ap-modal")
|
|
1188
1189
|
], qe);
|
|
1189
1190
|
function Rs(t, e) {
|
|
1190
1191
|
let a;
|
|
@@ -1203,7 +1204,7 @@ var Ns = Object.defineProperty, js = Object.getOwnPropertyDescriptor, bt = (t, e
|
|
|
1203
1204
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
1204
1205
|
return s && i && Ns(e, a, i), i;
|
|
1205
1206
|
};
|
|
1206
|
-
let Pe = class extends
|
|
1207
|
+
let Pe = class extends S {
|
|
1207
1208
|
constructor() {
|
|
1208
1209
|
super(...arguments), this.groups = [], this.selectedFilters = {}, this._open = !1, this._handleOutsideClick = (t) => {
|
|
1209
1210
|
this._open && !t.composedPath().includes(this) && (this._open = !1);
|
|
@@ -1357,18 +1358,18 @@ bt([
|
|
|
1357
1358
|
y()
|
|
1358
1359
|
], Pe.prototype, "_open", 2);
|
|
1359
1360
|
Pe = bt([
|
|
1360
|
-
|
|
1361
|
+
C("ap-regional-settings")
|
|
1361
1362
|
], Pe);
|
|
1362
|
-
var
|
|
1363
|
-
for (var i = s > 1 ? void 0 : s ?
|
|
1363
|
+
var Us = Object.defineProperty, Bs = Object.getOwnPropertyDescriptor, re = (t, e, a, s) => {
|
|
1364
|
+
for (var i = s > 1 ? void 0 : s ? Bs(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
1364
1365
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
1365
|
-
return s && i &&
|
|
1366
|
+
return s && i && Us(e, a, i), i;
|
|
1366
1367
|
};
|
|
1367
1368
|
const Vs = [
|
|
1368
1369
|
{ value: "assets", label: "Assets", icon: "gallery-vertical-end" },
|
|
1369
1370
|
{ value: "folders", label: "Folders", icon: "folder-open" }
|
|
1370
1371
|
];
|
|
1371
|
-
let W = class extends
|
|
1372
|
+
let W = class extends S {
|
|
1372
1373
|
constructor() {
|
|
1373
1374
|
super(...arguments), this.activeTab = "assets", this.tabs = ["assets", "folders"], this.viewMode = "grid", this.searchQuery = "", this.regionalGroups = [], this.regionalFilters = {}, this.hideClose = !1, this._localSearch = "", this._debouncedSearch = Rs((t) => {
|
|
1374
1375
|
(t.length === 0 || t.length >= 3) && this.dispatchEvent(new CustomEvent("search-change", { detail: { value: t }, bubbles: !0, composed: !0 }));
|
|
@@ -1418,7 +1419,7 @@ let W = class extends k {
|
|
|
1418
1419
|
<ap-icon class="search-icon" name="search" .size=${16}></ap-icon>
|
|
1419
1420
|
<input
|
|
1420
1421
|
type="text"
|
|
1421
|
-
placeholder="Search assets
|
|
1422
|
+
placeholder="Search assets"
|
|
1422
1423
|
.value=${this.searchQuery}
|
|
1423
1424
|
@input=${this._handleInput}
|
|
1424
1425
|
/>
|
|
@@ -1490,6 +1491,9 @@ W.styles = [ie, $`
|
|
|
1490
1491
|
background: var(--ap-background, oklch(1 0 0));
|
|
1491
1492
|
outline: none;
|
|
1492
1493
|
}
|
|
1494
|
+
input:hover {
|
|
1495
|
+
border-color: var(--ap-secondary-foreground-50, oklch(53.03% 0.039 249.89 / 0.5));
|
|
1496
|
+
}
|
|
1493
1497
|
input:focus {
|
|
1494
1498
|
border-color: var(--ap-ring, oklch(0.578 0.198 268.129 / 0.7));
|
|
1495
1499
|
box-shadow: 0 0 0 2px var(--ap-primary-10, oklch(0.578 0.198 268.129 / 0.1));
|
|
@@ -1499,6 +1503,7 @@ W.styles = [ie, $`
|
|
|
1499
1503
|
}
|
|
1500
1504
|
input::placeholder {
|
|
1501
1505
|
color: var(--ap-muted-foreground, oklch(0.685 0.033 249.82));
|
|
1506
|
+
font-weight: 400;
|
|
1502
1507
|
}
|
|
1503
1508
|
.clear-btn {
|
|
1504
1509
|
position: absolute;
|
|
@@ -1585,14 +1590,14 @@ re([
|
|
|
1585
1590
|
y()
|
|
1586
1591
|
], W.prototype, "_localSearch", 2);
|
|
1587
1592
|
W = re([
|
|
1588
|
-
|
|
1593
|
+
C("ap-header")
|
|
1589
1594
|
], W);
|
|
1590
1595
|
var qs = Object.defineProperty, Hs = Object.getOwnPropertyDescriptor, _a = (t, e, a, s) => {
|
|
1591
1596
|
for (var i = s > 1 ? void 0 : s ? Hs(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
1592
1597
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
1593
1598
|
return s && i && qs(e, a, i), i;
|
|
1594
1599
|
};
|
|
1595
|
-
let nt = class extends
|
|
1600
|
+
let nt = class extends S {
|
|
1596
1601
|
constructor() {
|
|
1597
1602
|
super(...arguments), this.items = [];
|
|
1598
1603
|
}
|
|
@@ -1616,7 +1621,7 @@ let nt = class extends k {
|
|
|
1616
1621
|
nt.styles = $`
|
|
1617
1622
|
:host {
|
|
1618
1623
|
display: block;
|
|
1619
|
-
padding:
|
|
1624
|
+
padding: 4px 20px 12px;
|
|
1620
1625
|
}
|
|
1621
1626
|
.breadcrumb {
|
|
1622
1627
|
display: flex;
|
|
@@ -1634,6 +1639,9 @@ nt.styles = $`
|
|
|
1634
1639
|
font-family: var(--ap-font-family, system-ui, sans-serif);
|
|
1635
1640
|
font-size: var(--ap-font-size-sm, 0.875rem);
|
|
1636
1641
|
}
|
|
1642
|
+
button:first-child {
|
|
1643
|
+
margin-left: -6px;
|
|
1644
|
+
}
|
|
1637
1645
|
button:hover {
|
|
1638
1646
|
background: var(--ap-muted, oklch(0.974 0.006 239.819));
|
|
1639
1647
|
color: var(--ap-foreground, oklch(0.37 0.022 248.413));
|
|
@@ -1651,14 +1659,14 @@ _a([
|
|
|
1651
1659
|
h({ type: Array })
|
|
1652
1660
|
], nt.prototype, "items", 2);
|
|
1653
1661
|
nt = _a([
|
|
1654
|
-
|
|
1662
|
+
C("ap-breadcrumb")
|
|
1655
1663
|
], nt);
|
|
1656
1664
|
var Ks = Object.defineProperty, Gs = Object.getOwnPropertyDescriptor, Rt = (t, e, a, s) => {
|
|
1657
1665
|
for (var i = s > 1 ? void 0 : s ? Gs(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
1658
1666
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
1659
1667
|
return s && i && Ks(e, a, i), i;
|
|
1660
1668
|
};
|
|
1661
|
-
let He = class extends
|
|
1669
|
+
let He = class extends S {
|
|
1662
1670
|
constructor() {
|
|
1663
1671
|
super(...arguments), this.title = "", this.open = !1;
|
|
1664
1672
|
}
|
|
@@ -1704,14 +1712,14 @@ Rt([
|
|
|
1704
1712
|
h({ type: Boolean })
|
|
1705
1713
|
], He.prototype, "open", 2);
|
|
1706
1714
|
He = Rt([
|
|
1707
|
-
|
|
1715
|
+
C("ap-filter-popover")
|
|
1708
1716
|
], He);
|
|
1709
1717
|
var Ys = Object.defineProperty, Xs = Object.getOwnPropertyDescriptor, ya = (t, e, a, s) => {
|
|
1710
1718
|
for (var i = s > 1 ? void 0 : s ? Xs(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
1711
1719
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
1712
1720
|
return s && i && Ys(e, a, i), i;
|
|
1713
1721
|
};
|
|
1714
|
-
let lt = class extends
|
|
1722
|
+
let lt = class extends S {
|
|
1715
1723
|
constructor() {
|
|
1716
1724
|
super(...arguments), this.selected = [];
|
|
1717
1725
|
}
|
|
@@ -1803,7 +1811,7 @@ ya([
|
|
|
1803
1811
|
h({ type: Array })
|
|
1804
1812
|
], lt.prototype, "selected", 2);
|
|
1805
1813
|
lt = ya([
|
|
1806
|
-
|
|
1814
|
+
C("ap-filter-type")
|
|
1807
1815
|
], lt);
|
|
1808
1816
|
const oe = $`
|
|
1809
1817
|
:host {
|
|
@@ -1922,6 +1930,7 @@ const oe = $`
|
|
|
1922
1930
|
}
|
|
1923
1931
|
.filter-input::placeholder {
|
|
1924
1932
|
color: var(--ap-muted-foreground, oklch(0.685 0.033 249.82));
|
|
1933
|
+
font-weight: 400;
|
|
1925
1934
|
}
|
|
1926
1935
|
|
|
1927
1936
|
/* ── Date input: Lucide calendar icon ── */
|
|
@@ -1942,10 +1951,6 @@ const oe = $`
|
|
|
1942
1951
|
background-size: 16px 16px;
|
|
1943
1952
|
padding-right: 32px;
|
|
1944
1953
|
}
|
|
1945
|
-
.input-label:has(+ .filter-input[type="date"]) {
|
|
1946
|
-
font-weight: 400;
|
|
1947
|
-
color: var(--ap-secondary-foreground, oklch(53.03% 0.039 249.89));
|
|
1948
|
-
}
|
|
1949
1954
|
|
|
1950
1955
|
textarea.filter-input {
|
|
1951
1956
|
min-height: 60px;
|
|
@@ -1955,9 +1960,9 @@ const oe = $`
|
|
|
1955
1960
|
/* ── Input label ── */
|
|
1956
1961
|
.input-label {
|
|
1957
1962
|
display: block;
|
|
1958
|
-
font-size:
|
|
1959
|
-
font-weight:
|
|
1960
|
-
color: var(--ap-foreground, oklch(
|
|
1963
|
+
font-size: 0.75rem;
|
|
1964
|
+
font-weight: 400;
|
|
1965
|
+
color: var(--ap-secondary-foreground, oklch(53.03% 0.039 249.89));
|
|
1961
1966
|
margin-bottom: 4px;
|
|
1962
1967
|
}
|
|
1963
1968
|
.input-label[aria-disabled="true"] {
|
|
@@ -2031,9 +2036,17 @@ const oe = $`
|
|
|
2031
2036
|
background: var(--ap-card, oklch(1 0 0));
|
|
2032
2037
|
margin: -10px -8px 10px;
|
|
2033
2038
|
}
|
|
2039
|
+
.search-wrapper .search-icon {
|
|
2040
|
+
position: absolute;
|
|
2041
|
+
left: 10px;
|
|
2042
|
+
top: 50%;
|
|
2043
|
+
transform: translateY(-50%);
|
|
2044
|
+
color: var(--ap-muted-foreground, oklch(0.685 0.033 249.82));
|
|
2045
|
+
pointer-events: none;
|
|
2046
|
+
}
|
|
2034
2047
|
.search-input {
|
|
2035
2048
|
width: 100%;
|
|
2036
|
-
padding: 8px 32px 8px
|
|
2049
|
+
padding: 8px 32px 8px 32px;
|
|
2037
2050
|
border: none;
|
|
2038
2051
|
border-bottom: 1px solid var(--ap-border, oklch(92.86% 0.009 247.92));
|
|
2039
2052
|
border-radius: 0;
|
|
@@ -2045,6 +2058,7 @@ const oe = $`
|
|
|
2045
2058
|
}
|
|
2046
2059
|
.search-input::placeholder {
|
|
2047
2060
|
color: var(--ap-muted-foreground, oklch(0.685 0.033 249.82));
|
|
2061
|
+
font-weight: 400;
|
|
2048
2062
|
}
|
|
2049
2063
|
.search-clear {
|
|
2050
2064
|
position: absolute;
|
|
@@ -2091,7 +2105,7 @@ var Ws = Object.defineProperty, Qs = Object.getOwnPropertyDescriptor, Ce = (t, e
|
|
|
2091
2105
|
function Tt(t) {
|
|
2092
2106
|
return t.toISOString().split("T")[0];
|
|
2093
2107
|
}
|
|
2094
|
-
let te = class extends
|
|
2108
|
+
let te = class extends S {
|
|
2095
2109
|
constructor() {
|
|
2096
2110
|
super(...arguments), this.filterKey = m.DATE, this.field = "created", this.kind = null, this.preset = "", this.from = "", this.to = "";
|
|
2097
2111
|
}
|
|
@@ -2287,14 +2301,14 @@ Ce([
|
|
|
2287
2301
|
h()
|
|
2288
2302
|
], te.prototype, "to", 2);
|
|
2289
2303
|
te = Ce([
|
|
2290
|
-
|
|
2304
|
+
C("ap-filter-date")
|
|
2291
2305
|
], te);
|
|
2292
2306
|
var Zs = Object.defineProperty, Js = Object.getOwnPropertyDescriptor, ze = (t, e, a, s) => {
|
|
2293
2307
|
for (var i = s > 1 ? void 0 : s ? Js(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
2294
2308
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
2295
2309
|
return s && i && Zs(e, a, i), i;
|
|
2296
2310
|
};
|
|
2297
|
-
let de = class extends
|
|
2311
|
+
let de = class extends S {
|
|
2298
2312
|
constructor() {
|
|
2299
2313
|
super(...arguments), this.tags = [], this.selected = [], this.filterKey = m.TAGS, this._search = "";
|
|
2300
2314
|
}
|
|
@@ -2386,10 +2400,11 @@ let de = class extends k {
|
|
|
2386
2400
|
return n`
|
|
2387
2401
|
<div class="filter-content">
|
|
2388
2402
|
<div class="filter-header">
|
|
2403
|
+
<ap-icon class="search-icon" name="search" .size=${14}></ap-icon>
|
|
2389
2404
|
<input
|
|
2390
2405
|
class="tag-search"
|
|
2391
2406
|
type="text"
|
|
2392
|
-
placeholder="Search tags
|
|
2407
|
+
placeholder="Search tags"
|
|
2393
2408
|
.value=${this._search}
|
|
2394
2409
|
@input=${this._onSearchInput}
|
|
2395
2410
|
/>
|
|
@@ -2545,9 +2560,18 @@ de.styles = [ie, oe, $`
|
|
|
2545
2560
|
margin: -10px -8px 10px;
|
|
2546
2561
|
}
|
|
2547
2562
|
|
|
2563
|
+
.filter-header .search-icon {
|
|
2564
|
+
position: absolute;
|
|
2565
|
+
left: 10px;
|
|
2566
|
+
top: 50%;
|
|
2567
|
+
transform: translateY(-50%);
|
|
2568
|
+
color: var(--ap-muted-foreground, oklch(0.685 0.033 249.82));
|
|
2569
|
+
pointer-events: none;
|
|
2570
|
+
}
|
|
2571
|
+
|
|
2548
2572
|
.tag-search {
|
|
2549
2573
|
width: 100%;
|
|
2550
|
-
padding: 8px
|
|
2574
|
+
padding: 8px 32px 8px 32px;
|
|
2551
2575
|
border: none;
|
|
2552
2576
|
border-bottom: 1px solid var(--ap-border, oklch(92.86% 0.009 247.92));
|
|
2553
2577
|
font-size: var(--ap-font-size-sm, 0.875rem);
|
|
@@ -2559,6 +2583,7 @@ de.styles = [ie, oe, $`
|
|
|
2559
2583
|
|
|
2560
2584
|
.tag-search::placeholder {
|
|
2561
2585
|
color: var(--ap-muted-foreground, oklch(0.685 0.033 249.82));
|
|
2586
|
+
font-weight: 400;
|
|
2562
2587
|
}
|
|
2563
2588
|
|
|
2564
2589
|
.search-clear {
|
|
@@ -2587,14 +2612,14 @@ ze([
|
|
|
2587
2612
|
y()
|
|
2588
2613
|
], de.prototype, "_search", 2);
|
|
2589
2614
|
de = ze([
|
|
2590
|
-
|
|
2615
|
+
C("ap-filter-tags")
|
|
2591
2616
|
], de);
|
|
2592
2617
|
var ei = Object.defineProperty, ti = Object.getOwnPropertyDescriptor, Qe = (t, e, a, s) => {
|
|
2593
2618
|
for (var i = s > 1 ? void 0 : s ? ti(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
2594
2619
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
2595
2620
|
return s && i && ei(e, a, i), i;
|
|
2596
2621
|
};
|
|
2597
|
-
let we = class extends
|
|
2622
|
+
let we = class extends S {
|
|
2598
2623
|
constructor() {
|
|
2599
2624
|
super(...arguments), this.labels = [], this.selected = [], this._search = "";
|
|
2600
2625
|
}
|
|
@@ -2687,10 +2712,11 @@ let we = class extends k {
|
|
|
2687
2712
|
<div class="filter-content">
|
|
2688
2713
|
<!-- Search input -->
|
|
2689
2714
|
<div class="search-wrapper">
|
|
2715
|
+
<ap-icon class="search-icon" name="search" .size=${14}></ap-icon>
|
|
2690
2716
|
<input
|
|
2691
2717
|
class="search-input"
|
|
2692
2718
|
type="text"
|
|
2693
|
-
placeholder="Search labels
|
|
2719
|
+
placeholder="Search labels"
|
|
2694
2720
|
.value=${this._search}
|
|
2695
2721
|
@input=${this._onSearchInput}
|
|
2696
2722
|
/>
|
|
@@ -2812,7 +2838,7 @@ Qe([
|
|
|
2812
2838
|
y()
|
|
2813
2839
|
], we.prototype, "_search", 2);
|
|
2814
2840
|
we = Qe([
|
|
2815
|
-
|
|
2841
|
+
C("ap-filter-labels")
|
|
2816
2842
|
], we);
|
|
2817
2843
|
var ai = Object.defineProperty, si = Object.getOwnPropertyDescriptor, Re = (t, e, a, s) => {
|
|
2818
2844
|
for (var i = s > 1 ? void 0 : s ? si(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
@@ -2828,7 +2854,7 @@ function ii(t) {
|
|
|
2828
2854
|
coverage: e[3] || it
|
|
2829
2855
|
};
|
|
2830
2856
|
}
|
|
2831
|
-
let pe = class extends
|
|
2857
|
+
let pe = class extends S {
|
|
2832
2858
|
constructor() {
|
|
2833
2859
|
super(...arguments), this.values = [], this._colors = [], this._advanced = !1, this._showPalette = !1, this._initialized = !1;
|
|
2834
2860
|
}
|
|
@@ -3053,8 +3079,8 @@ pe.styles = [ie, oe, $`
|
|
|
3053
3079
|
/* ── Palette ── */
|
|
3054
3080
|
.palette {
|
|
3055
3081
|
display: grid;
|
|
3056
|
-
grid-template-columns: repeat(
|
|
3057
|
-
gap:
|
|
3082
|
+
grid-template-columns: repeat(8, 1fr);
|
|
3083
|
+
gap: 12px;
|
|
3058
3084
|
justify-items: center;
|
|
3059
3085
|
}
|
|
3060
3086
|
|
|
@@ -3202,16 +3228,21 @@ pe.styles = [ie, oe, $`
|
|
|
3202
3228
|
display: grid;
|
|
3203
3229
|
grid-template-columns: 1.4fr 1fr 1fr auto;
|
|
3204
3230
|
align-items: end;
|
|
3205
|
-
gap:
|
|
3231
|
+
gap: 8px;
|
|
3206
3232
|
}
|
|
3207
3233
|
|
|
3208
3234
|
.adv-field {
|
|
3209
3235
|
display: flex;
|
|
3210
3236
|
flex-direction: column;
|
|
3211
|
-
gap:
|
|
3237
|
+
gap: 6px;
|
|
3212
3238
|
min-width: 0;
|
|
3213
3239
|
}
|
|
3214
3240
|
|
|
3241
|
+
.adv-field ap-dropdown {
|
|
3242
|
+
display: block;
|
|
3243
|
+
width: 100%;
|
|
3244
|
+
}
|
|
3245
|
+
|
|
3215
3246
|
.adv-field-label {
|
|
3216
3247
|
font-size: 0.6875rem;
|
|
3217
3248
|
color: var(--ap-muted-foreground, oklch(0.685 0.033 249.82));
|
|
@@ -3268,20 +3299,18 @@ pe.styles = [ie, oe, $`
|
|
|
3268
3299
|
display: inline-flex;
|
|
3269
3300
|
align-items: center;
|
|
3270
3301
|
gap: 4px;
|
|
3271
|
-
padding: 6px
|
|
3272
|
-
border:
|
|
3273
|
-
border-radius: var(--ap-radius-sm, 6px);
|
|
3302
|
+
padding: 6px 0;
|
|
3303
|
+
border: none;
|
|
3274
3304
|
background: none;
|
|
3275
3305
|
font-size: var(--ap-font-size-sm, 0.875rem);
|
|
3276
3306
|
font-family: inherit;
|
|
3277
|
-
color: var(--ap-
|
|
3307
|
+
color: var(--ap-primary, oklch(0.578 0.198 268.129));
|
|
3278
3308
|
cursor: pointer;
|
|
3279
|
-
transition:
|
|
3309
|
+
transition: opacity 150ms;
|
|
3280
3310
|
}
|
|
3281
3311
|
|
|
3282
3312
|
.add-color-btn:hover {
|
|
3283
|
-
|
|
3284
|
-
color: var(--ap-primary, oklch(0.578 0.198 268.129));
|
|
3313
|
+
opacity: 0.8;
|
|
3285
3314
|
}
|
|
3286
3315
|
`];
|
|
3287
3316
|
Re([
|
|
@@ -3300,9 +3329,9 @@ Re([
|
|
|
3300
3329
|
y()
|
|
3301
3330
|
], pe.prototype, "_initialized", 2);
|
|
3302
3331
|
pe = Re([
|
|
3303
|
-
|
|
3332
|
+
C("ap-filter-color")
|
|
3304
3333
|
], pe);
|
|
3305
|
-
var ri = Object.defineProperty, oi = Object.getOwnPropertyDescriptor,
|
|
3334
|
+
var ri = Object.defineProperty, oi = Object.getOwnPropertyDescriptor, Ee = (t, e, a, s) => {
|
|
3306
3335
|
for (var i = s > 1 ? void 0 : s ? oi(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
3307
3336
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
3308
3337
|
return s && i && ri(e, a, i), i;
|
|
@@ -3316,7 +3345,7 @@ const ni = {
|
|
|
3316
3345
|
{ value: "MB", label: "MB" },
|
|
3317
3346
|
{ value: "GB", label: "GB" }
|
|
3318
3347
|
];
|
|
3319
|
-
let ae = class extends
|
|
3348
|
+
let ae = class extends S {
|
|
3320
3349
|
constructor() {
|
|
3321
3350
|
super(...arguments), this.min = 0, this.max = 0, this._minVal = "", this._maxVal = "", this._unit = "MB", this._initialized = !1;
|
|
3322
3351
|
}
|
|
@@ -3444,26 +3473,26 @@ ae.styles = [
|
|
|
3444
3473
|
}
|
|
3445
3474
|
`
|
|
3446
3475
|
];
|
|
3447
|
-
|
|
3476
|
+
Ee([
|
|
3448
3477
|
h({ type: Number })
|
|
3449
3478
|
], ae.prototype, "min", 2);
|
|
3450
|
-
|
|
3479
|
+
Ee([
|
|
3451
3480
|
h({ type: Number })
|
|
3452
3481
|
], ae.prototype, "max", 2);
|
|
3453
|
-
|
|
3482
|
+
Ee([
|
|
3454
3483
|
y()
|
|
3455
3484
|
], ae.prototype, "_minVal", 2);
|
|
3456
|
-
|
|
3485
|
+
Ee([
|
|
3457
3486
|
y()
|
|
3458
3487
|
], ae.prototype, "_maxVal", 2);
|
|
3459
|
-
|
|
3488
|
+
Ee([
|
|
3460
3489
|
y()
|
|
3461
3490
|
], ae.prototype, "_unit", 2);
|
|
3462
|
-
|
|
3491
|
+
Ee([
|
|
3463
3492
|
y()
|
|
3464
3493
|
], ae.prototype, "_initialized", 2);
|
|
3465
|
-
ae =
|
|
3466
|
-
|
|
3494
|
+
ae = Ee([
|
|
3495
|
+
C("ap-filter-size")
|
|
3467
3496
|
], ae);
|
|
3468
3497
|
var ci = Object.defineProperty, di = Object.getOwnPropertyDescriptor, _t = (t, e, a, s) => {
|
|
3469
3498
|
for (var i = s > 1 ? void 0 : s ? di(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
@@ -3502,7 +3531,7 @@ const pi = ce`
|
|
|
3502
3531
|
square: ui,
|
|
3503
3532
|
panorama: gi
|
|
3504
3533
|
};
|
|
3505
|
-
let Le = class extends
|
|
3534
|
+
let Le = class extends S {
|
|
3506
3535
|
constructor() {
|
|
3507
3536
|
super(...arguments), this.selectedResolution = [], this.selectedOrientation = [], this.selectedFaces = [];
|
|
3508
3537
|
}
|
|
@@ -3615,6 +3644,9 @@ Le.styles = [oe, $`
|
|
|
3615
3644
|
flex-direction: column;
|
|
3616
3645
|
gap: 12px;
|
|
3617
3646
|
}
|
|
3647
|
+
.options-vertical ap-checkbox {
|
|
3648
|
+
--ap-checkbox-gap: 12px;
|
|
3649
|
+
}
|
|
3618
3650
|
.orientation-label {
|
|
3619
3651
|
display: inline-flex;
|
|
3620
3652
|
align-items: center;
|
|
@@ -3634,17 +3666,17 @@ _t([
|
|
|
3634
3666
|
h({ type: Array })
|
|
3635
3667
|
], Le.prototype, "selectedFaces", 2);
|
|
3636
3668
|
Le = _t([
|
|
3637
|
-
|
|
3669
|
+
C("ap-filter-image")
|
|
3638
3670
|
], Le);
|
|
3639
|
-
var vi = Object.defineProperty, mi = Object.getOwnPropertyDescriptor,
|
|
3671
|
+
var vi = Object.defineProperty, mi = Object.getOwnPropertyDescriptor, I = (t, e, a, s) => {
|
|
3640
3672
|
for (var i = s > 1 ? void 0 : s ? mi(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
3641
3673
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
3642
3674
|
return s && i && vi(e, a, i), i;
|
|
3643
3675
|
};
|
|
3644
|
-
function
|
|
3676
|
+
function E(t) {
|
|
3645
3677
|
return `${mt[t.type] || ""}${t.key}`;
|
|
3646
3678
|
}
|
|
3647
|
-
let
|
|
3679
|
+
let L = class extends S {
|
|
3648
3680
|
constructor() {
|
|
3649
3681
|
super(...arguments), this.fields = [], this.appliedFilters = {}, this.visibleFields = [], this.mode = "full", this.activeFieldKey = "", this.pinnedFields = [], this.appliedMetadata = {}, this._showFieldSelection = !1, this._fieldSearch = "", this._collapsedFields = /* @__PURE__ */ new Set(), this._tagInputs = {}, this._tagSuggestions = {}, this._tagLoading = {}, this._datePresets = {}, this._dateFroms = {}, this._dateTos = {}, this._specificModeFields = /* @__PURE__ */ new Set(), this._selectSearches = {}, this._tagDebounceTimers = {};
|
|
3650
3682
|
}
|
|
@@ -3665,7 +3697,7 @@ let P = class extends k {
|
|
|
3665
3697
|
return this.visibleFields.length >= at;
|
|
3666
3698
|
}
|
|
3667
3699
|
_getField(t) {
|
|
3668
|
-
return this.fields.find((e) =>
|
|
3700
|
+
return this.fields.find((e) => E(e) === t);
|
|
3669
3701
|
}
|
|
3670
3702
|
_getUIType(t) {
|
|
3671
3703
|
return is[t.type];
|
|
@@ -3684,7 +3716,7 @@ let P = class extends k {
|
|
|
3684
3716
|
}
|
|
3685
3717
|
// ── Event dispatchers ────────────────────────────────────────────
|
|
3686
3718
|
_emitFilterChange(t, e, a) {
|
|
3687
|
-
const s =
|
|
3719
|
+
const s = E(t);
|
|
3688
3720
|
this.dispatchEvent(
|
|
3689
3721
|
new CustomEvent("metadata-filter-change", {
|
|
3690
3722
|
detail: {
|
|
@@ -3699,7 +3731,7 @@ let P = class extends k {
|
|
|
3699
3731
|
);
|
|
3700
3732
|
}
|
|
3701
3733
|
_emitFieldToggle(t, e) {
|
|
3702
|
-
const a =
|
|
3734
|
+
const a = E(t);
|
|
3703
3735
|
this.dispatchEvent(
|
|
3704
3736
|
new CustomEvent("metadata-field-toggle", {
|
|
3705
3737
|
detail: { fieldKey: a, visible: e },
|
|
@@ -3709,7 +3741,7 @@ let P = class extends k {
|
|
|
3709
3741
|
);
|
|
3710
3742
|
}
|
|
3711
3743
|
_emitFieldSelect(t) {
|
|
3712
|
-
const e =
|
|
3744
|
+
const e = E(t);
|
|
3713
3745
|
!this.visibleFields.includes(e) && this._atFieldLimit || (this.visibleFields.includes(e) || this._emitFieldToggle(t, !0), this.dispatchEvent(
|
|
3714
3746
|
new CustomEvent("metadata-field-select", {
|
|
3715
3747
|
detail: { fieldKey: e },
|
|
@@ -3736,7 +3768,7 @@ let P = class extends k {
|
|
|
3736
3768
|
}
|
|
3737
3769
|
_addField(t) {
|
|
3738
3770
|
if (this._atFieldLimit) return;
|
|
3739
|
-
const e =
|
|
3771
|
+
const e = E(t);
|
|
3740
3772
|
this.visibleFields.includes(e) || this._emitFieldToggle(t, !0);
|
|
3741
3773
|
}
|
|
3742
3774
|
_removeField(t) {
|
|
@@ -3748,12 +3780,12 @@ let P = class extends k {
|
|
|
3748
3780
|
}
|
|
3749
3781
|
// ── Operator change (via radio group) ─────────────────────────────
|
|
3750
3782
|
_onOperatorChange(t, e) {
|
|
3751
|
-
const s = this._getApplied(
|
|
3783
|
+
const s = this._getApplied(E(t)).values || [];
|
|
3752
3784
|
this._emitFilterChange(t, e, s);
|
|
3753
3785
|
}
|
|
3754
3786
|
// ── Content mode change ─────────────────────────────────────────
|
|
3755
3787
|
_onContentModeChange(t, e) {
|
|
3756
|
-
const a =
|
|
3788
|
+
const a = E(t);
|
|
3757
3789
|
if (e === be) {
|
|
3758
3790
|
const s = new Set(this._specificModeFields);
|
|
3759
3791
|
s.add(a), this._specificModeFields = s;
|
|
@@ -3769,7 +3801,7 @@ let P = class extends k {
|
|
|
3769
3801
|
}
|
|
3770
3802
|
// ── Clear field filter ──────────────────────────────────────────
|
|
3771
3803
|
_clearFieldFilter(t) {
|
|
3772
|
-
const e =
|
|
3804
|
+
const e = E(t);
|
|
3773
3805
|
if (this._specificModeFields.has(e)) {
|
|
3774
3806
|
const d = new Set(this._specificModeFields);
|
|
3775
3807
|
d.delete(e), this._specificModeFields = d;
|
|
@@ -3787,12 +3819,12 @@ let P = class extends k {
|
|
|
3787
3819
|
}
|
|
3788
3820
|
// ── Text filter ──────────────────────────────────────────────────
|
|
3789
3821
|
_onTextInput(t, e) {
|
|
3790
|
-
const a = e.target.value, i = this._getApplied(
|
|
3822
|
+
const a = e.target.value, i = this._getApplied(E(t)).operator || St[0].value;
|
|
3791
3823
|
this._emitFilterChange(t, i, a ? [a] : []);
|
|
3792
3824
|
}
|
|
3793
3825
|
// ── Number filter ────────────────────────────────────────────────
|
|
3794
3826
|
_onNumberInput(t, e, a) {
|
|
3795
|
-
const s = e.target.value, i =
|
|
3827
|
+
const s = e.target.value, i = E(t), r = this._getApplied(i), o = r.operator || Et[0].value, l = [...r.values || []];
|
|
3796
3828
|
a === 0 ? l[0] = s : l[1] = s;
|
|
3797
3829
|
const c = l.filter((p) => p !== "" && p !== void 0);
|
|
3798
3830
|
if (c.length > 0) {
|
|
@@ -3806,22 +3838,22 @@ let P = class extends k {
|
|
|
3806
3838
|
// ── Boolean filter ───────────────────────────────────────────────
|
|
3807
3839
|
_onBooleanSelect(t, e) {
|
|
3808
3840
|
var i;
|
|
3809
|
-
const a = this._getApplied(
|
|
3841
|
+
const a = this._getApplied(E(t));
|
|
3810
3842
|
((i = a.values) == null ? void 0 : i[0]) === e ? this._emitFilterChange(t, void 0, []) : this._emitFilterChange(t, a.operator, [e]);
|
|
3811
3843
|
}
|
|
3812
3844
|
// ── Select-one filter ────────────────────────────────────────────
|
|
3813
3845
|
_onSelectOneToggle(t, e) {
|
|
3814
|
-
const a =
|
|
3846
|
+
const a = E(t), s = this._getApplied(a), i = s.operator || ee[0].value, r = s.values || [];
|
|
3815
3847
|
r.length === 1 && r[0] === e ? this._emitFilterChange(t, i, []) : this._emitFilterChange(t, i, [e]);
|
|
3816
3848
|
}
|
|
3817
3849
|
// ── Multi-select filter ──────────────────────────────────────────
|
|
3818
3850
|
_onMultiSelectToggle(t, e) {
|
|
3819
|
-
const a =
|
|
3851
|
+
const a = E(t), s = this._getApplied(a), i = s.operator || Ct[0].value, r = s.values || [], o = r.includes(e) ? r.filter((l) => l !== e) : [...r, e];
|
|
3820
3852
|
this._emitFilterChange(t, i, o);
|
|
3821
3853
|
}
|
|
3822
3854
|
// ── Tags filter ──────────────────────────────────────────────────
|
|
3823
3855
|
_onTagKeydown(t, e) {
|
|
3824
|
-
const a =
|
|
3856
|
+
const a = E(t);
|
|
3825
3857
|
(e.key === "Enter" || e.key === ",") && (e.preventDefault(), this._commitTagInput(t, a));
|
|
3826
3858
|
}
|
|
3827
3859
|
_onTagInput(t, e, a) {
|
|
@@ -3834,7 +3866,7 @@ let P = class extends k {
|
|
|
3834
3866
|
this._tagInputs = { ...this._tagInputs, [e]: s }, this._fetchTagSuggestions(t, e, s.trim());
|
|
3835
3867
|
}
|
|
3836
3868
|
_selectTagSuggestion(t, e) {
|
|
3837
|
-
const a =
|
|
3869
|
+
const a = E(t), s = this._getApplied(a), i = s.operator || ee[0].value, r = s.values || [];
|
|
3838
3870
|
r.includes(e) || this._emitFilterChange(t, i, [...r, e]), this._tagInputs = { ...this._tagInputs, [a]: "" }, this._tagSuggestions = { ...this._tagSuggestions, [a]: [] };
|
|
3839
3871
|
}
|
|
3840
3872
|
_fetchTagSuggestions(t, e, a) {
|
|
@@ -3867,7 +3899,7 @@ let P = class extends k {
|
|
|
3867
3899
|
r.includes(a) || this._emitFilterChange(t, i, [...r, a]), this._tagInputs = { ...this._tagInputs, [e]: "" }, this._tagSuggestions = { ...this._tagSuggestions, [e]: [] };
|
|
3868
3900
|
}
|
|
3869
3901
|
_removeTag(t, e) {
|
|
3870
|
-
const a =
|
|
3902
|
+
const a = E(t), s = this._getApplied(a), i = s.operator || ee[0].value, r = s.values || [];
|
|
3871
3903
|
this._emitFilterChange(
|
|
3872
3904
|
t,
|
|
3873
3905
|
i,
|
|
@@ -3875,12 +3907,12 @@ let P = class extends k {
|
|
|
3875
3907
|
);
|
|
3876
3908
|
}
|
|
3877
3909
|
_onTagOperatorChange(t, e) {
|
|
3878
|
-
const a =
|
|
3910
|
+
const a = E(t), i = this._getApplied(a).values || [];
|
|
3879
3911
|
this._emitFilterChange(t, e, i);
|
|
3880
3912
|
}
|
|
3881
3913
|
// ── Date filter ──────────────────────────────────────────────────
|
|
3882
3914
|
_onDatePreset(t, e) {
|
|
3883
|
-
const a =
|
|
3915
|
+
const a = E(t);
|
|
3884
3916
|
if (this._datePresets = { ...this._datePresets, [a]: e }, ["before", "after", "between"].includes(e)) {
|
|
3885
3917
|
this._dateFroms = { ...this._dateFroms, [a]: "" }, this._dateTos = { ...this._dateTos, [a]: "" };
|
|
3886
3918
|
return;
|
|
@@ -3918,7 +3950,7 @@ let P = class extends k {
|
|
|
3918
3950
|
i && r && (this._dateFroms = { ...this._dateFroms, [a]: i }, this._dateTos = { ...this._dateTos, [a]: r }, this._emitFilterChange(t, "..", [i, r]));
|
|
3919
3951
|
}
|
|
3920
3952
|
_onDateInput(t, e, a) {
|
|
3921
|
-
const s = a.target.value, i =
|
|
3953
|
+
const s = a.target.value, i = E(t), r = this._datePresets[i] || "", o = s ? (/* @__PURE__ */ new Date(s + "T00:00:00")).toISOString() : "";
|
|
3922
3954
|
e === "from" ? this._dateFroms = { ...this._dateFroms, [i]: o } : this._dateTos = { ...this._dateTos, [i]: o };
|
|
3923
3955
|
let l = this._dateFroms[i] || "", c = this._dateTos[i] || "";
|
|
3924
3956
|
r === "after" && l && (c = (/* @__PURE__ */ new Date()).toISOString(), this._dateTos = { ...this._dateTos, [i]: c }), r === "before" && c && (l = (/* @__PURE__ */ new Date(0)).toISOString(), this._dateFroms = { ...this._dateFroms, [i]: l }), l && c && this._emitFilterChange(t, "..", [l, c]);
|
|
@@ -3926,7 +3958,7 @@ let P = class extends k {
|
|
|
3926
3958
|
// ── Geo filter ───────────────────────────────────────────────────
|
|
3927
3959
|
_onGeoLocationInput(t, e) {
|
|
3928
3960
|
var v;
|
|
3929
|
-
const a = e.target.value.trim(), s =
|
|
3961
|
+
const a = e.target.value.trim(), s = E(t), i = (v = this.shadowRoot) == null ? void 0 : v.querySelector(
|
|
3930
3962
|
`[data-geo-radius="${s}"]`
|
|
3931
3963
|
), r = (i == null ? void 0 : i.value) || "";
|
|
3932
3964
|
if (!a) {
|
|
@@ -3942,7 +3974,7 @@ let P = class extends k {
|
|
|
3942
3974
|
}
|
|
3943
3975
|
_onGeoRadiusInput(t, e) {
|
|
3944
3976
|
var c;
|
|
3945
|
-
const a = e.target.value, s =
|
|
3977
|
+
const a = e.target.value, s = E(t), i = this._getApplied(s);
|
|
3946
3978
|
if (!((c = i.values) != null && c[0])) return;
|
|
3947
3979
|
const r = i.values[0], [o] = r.split("..");
|
|
3948
3980
|
let l = o;
|
|
@@ -3951,7 +3983,7 @@ let P = class extends k {
|
|
|
3951
3983
|
// ── Empty/non-empty option click ─────────────────────────────────
|
|
3952
3984
|
_onEmptyOption(t, e) {
|
|
3953
3985
|
var i;
|
|
3954
|
-
const a = this._getApplied(
|
|
3986
|
+
const a = this._getApplied(E(t));
|
|
3955
3987
|
((i = a.values) == null ? void 0 : i[0]) === e ? this._emitFilterChange(t, a.operator, []) : this._emitFilterChange(t, a.operator, [e]);
|
|
3956
3988
|
}
|
|
3957
3989
|
// ── Render: Field selection panel ────────────────────────────────
|
|
@@ -3969,7 +4001,7 @@ let P = class extends k {
|
|
|
3969
4001
|
), a = this._getGroupedFields(e), s = (i, r) => r.length === 0 ? f : n`
|
|
3970
4002
|
<div class="field-group-label">${i}</div>
|
|
3971
4003
|
${r.map((o) => {
|
|
3972
|
-
const l =
|
|
4004
|
+
const l = E(o), c = this.visibleFields.includes(l), p = !c && this._atFieldLimit;
|
|
3973
4005
|
return n`
|
|
3974
4006
|
<div
|
|
3975
4007
|
class="field-item ${c ? "selected" : ""} ${p ? "disabled" : ""}"
|
|
@@ -3992,15 +4024,18 @@ let P = class extends k {
|
|
|
3992
4024
|
<ap-icon name="close" .size=${16}></ap-icon>
|
|
3993
4025
|
</button>
|
|
3994
4026
|
</div>
|
|
3995
|
-
<
|
|
3996
|
-
class="
|
|
3997
|
-
|
|
3998
|
-
|
|
3999
|
-
|
|
4000
|
-
|
|
4027
|
+
<div class="field-search-wrapper">
|
|
4028
|
+
<ap-icon class="search-icon" name="search" .size=${14}></ap-icon>
|
|
4029
|
+
<input
|
|
4030
|
+
class="field-search"
|
|
4031
|
+
type="text"
|
|
4032
|
+
placeholder="Search fields"
|
|
4033
|
+
.value=${this._fieldSearch}
|
|
4034
|
+
@input=${(i) => {
|
|
4001
4035
|
this._fieldSearch = i.target.value;
|
|
4002
4036
|
}}
|
|
4003
|
-
|
|
4037
|
+
/>
|
|
4038
|
+
</div>
|
|
4004
4039
|
<div class="field-list">
|
|
4005
4040
|
${e.length === 0 ? n`<div class="empty-msg">No fields found</div>` : n`${[...a.entries()].map(
|
|
4006
4041
|
([i, r]) => s(i, r)
|
|
@@ -4012,7 +4047,7 @@ let P = class extends k {
|
|
|
4012
4047
|
// ── Render: Text filter ──────────────────────────────────────────
|
|
4013
4048
|
_renderTextFilter(t) {
|
|
4014
4049
|
var p, u;
|
|
4015
|
-
const e =
|
|
4050
|
+
const e = E(t), a = this._getApplied(e), i = this._isSpecialValue(a.values) ? "" : ((p = a.values) == null ? void 0 : p[0]) || "", r = this._getContentMode(e), o = r === K || r === G, l = a.operator || St[0].value, c = t.type === x.TEXT_AREA;
|
|
4016
4051
|
return n`
|
|
4017
4052
|
<div class="filter-content" style="position: relative;">
|
|
4018
4053
|
<button
|
|
@@ -4035,7 +4070,7 @@ let P = class extends k {
|
|
|
4035
4070
|
<div class="filter-section">
|
|
4036
4071
|
<span class="section-label">Content</span>
|
|
4037
4072
|
<ap-radio-group
|
|
4038
|
-
.options=${
|
|
4073
|
+
.options=${Ft}
|
|
4039
4074
|
.value=${r}
|
|
4040
4075
|
@ap-change=${(v) => this._onContentModeChange(t, v.detail.value)}
|
|
4041
4076
|
></ap-radio-group>
|
|
@@ -4047,7 +4082,7 @@ let P = class extends k {
|
|
|
4047
4082
|
${c ? n`
|
|
4048
4083
|
<textarea
|
|
4049
4084
|
class="filter-input"
|
|
4050
|
-
placeholder="Enter value
|
|
4085
|
+
placeholder="Enter value"
|
|
4051
4086
|
.value=${i}
|
|
4052
4087
|
@change=${(v) => this._onTextInput(t, v)}
|
|
4053
4088
|
></textarea>
|
|
@@ -4055,7 +4090,7 @@ let P = class extends k {
|
|
|
4055
4090
|
<input
|
|
4056
4091
|
class="filter-input"
|
|
4057
4092
|
type="text"
|
|
4058
|
-
placeholder="Enter value
|
|
4093
|
+
placeholder="Enter value"
|
|
4059
4094
|
.value=${i}
|
|
4060
4095
|
@change=${(v) => this._onTextInput(t, v)}
|
|
4061
4096
|
@keydown=${(v) => {
|
|
@@ -4070,8 +4105,8 @@ let P = class extends k {
|
|
|
4070
4105
|
}
|
|
4071
4106
|
// ── Render: Number filter ────────────────────────────────────────
|
|
4072
4107
|
_renderNumberFilter(t) {
|
|
4073
|
-
var F,
|
|
4074
|
-
const e =
|
|
4108
|
+
var F, P, H;
|
|
4109
|
+
const e = E(t), a = this._getApplied(e), s = a.operator || Et[0].value, i = this._isSpecialValue(a.values), r = this._getContentMode(e), o = r === K || r === G, l = s === w.RANGE, c = s === w.GREATER_THAN_OR_EQUAL, p = s === w.LESS_THAN_OR_EQUAL, u = t.type === x.DECIMAL2, v = u ? "0.01" : "1", d = u ? "0.00" : "0", g = i ? "" : ((F = a.values) == null ? void 0 : F[0]) || "", b = i ? "" : ((P = a.values) == null ? void 0 : P[1]) || "", k = l || c || p, _ = l || c || p ? "Min" : "Value";
|
|
4075
4110
|
return n`
|
|
4076
4111
|
<div class="filter-content" style="position: relative;">
|
|
4077
4112
|
<button
|
|
@@ -4084,7 +4119,7 @@ let P = class extends k {
|
|
|
4084
4119
|
<span class="section-label">Condition</span>
|
|
4085
4120
|
<ap-radio-group
|
|
4086
4121
|
columns="2"
|
|
4087
|
-
.options=${
|
|
4122
|
+
.options=${Et}
|
|
4088
4123
|
.value=${s}
|
|
4089
4124
|
?disabled=${o}
|
|
4090
4125
|
@ap-change=${(T) => this._onOperatorChange(t, T.detail.value)}
|
|
@@ -4094,7 +4129,7 @@ let P = class extends k {
|
|
|
4094
4129
|
<div class="filter-section">
|
|
4095
4130
|
<span class="section-label">Content</span>
|
|
4096
4131
|
<ap-radio-group
|
|
4097
|
-
.options=${
|
|
4132
|
+
.options=${Ft}
|
|
4098
4133
|
.value=${r}
|
|
4099
4134
|
@ap-change=${(T) => this._onContentModeChange(t, T.detail.value)}
|
|
4100
4135
|
></ap-radio-group>
|
|
@@ -4115,7 +4150,7 @@ let P = class extends k {
|
|
|
4115
4150
|
@change=${(T) => this._onNumberInput(t, T, 0)}
|
|
4116
4151
|
/>
|
|
4117
4152
|
</div>
|
|
4118
|
-
${
|
|
4153
|
+
${k ? n`
|
|
4119
4154
|
<div>
|
|
4120
4155
|
<span class="input-label" aria-disabled=${c ? "true" : f}>${"Max"}</span>
|
|
4121
4156
|
<input
|
|
@@ -4138,7 +4173,7 @@ let P = class extends k {
|
|
|
4138
4173
|
// ── Render: Boolean filter ───────────────────────────────────────
|
|
4139
4174
|
_renderBooleanFilter(t) {
|
|
4140
4175
|
var s, i;
|
|
4141
|
-
const e = this._getApplied(
|
|
4176
|
+
const e = this._getApplied(E(t)), a = ((s = e.values) == null ? void 0 : s[0]) || "";
|
|
4142
4177
|
return n`
|
|
4143
4178
|
<div class="filter-content" style="position: relative;">
|
|
4144
4179
|
<button
|
|
@@ -4160,15 +4195,16 @@ let P = class extends k {
|
|
|
4160
4195
|
}
|
|
4161
4196
|
// ── Render: Select-one filter ────────────────────────────────────
|
|
4162
4197
|
_renderSelectOneFilter(t) {
|
|
4163
|
-
const e =
|
|
4198
|
+
const e = E(t), a = this._getApplied(e), s = this._isSpecialValue(a.values), i = s ? [] : a.values || [], r = t.possible_values || [], o = a.operator || ee[0].value, l = (this._selectSearches[e] || "").toLowerCase(), c = l.length > 0, p = i.length > 0 || s, u = l ? r.filter((d) => d.label.toLowerCase().includes(l)) : r, v = i.length >= at;
|
|
4164
4199
|
return n`
|
|
4165
4200
|
<div class="filter-content">
|
|
4166
4201
|
<!-- Search input -->
|
|
4167
4202
|
<div class="search-wrapper">
|
|
4203
|
+
<ap-icon class="search-icon" name="search" .size=${14}></ap-icon>
|
|
4168
4204
|
<input
|
|
4169
4205
|
class="search-input"
|
|
4170
4206
|
type="text"
|
|
4171
|
-
placeholder="Search options
|
|
4207
|
+
placeholder="Search options"
|
|
4172
4208
|
.value=${this._selectSearches[e] || ""}
|
|
4173
4209
|
@input=${(d) => {
|
|
4174
4210
|
this._selectSearches = {
|
|
@@ -4279,15 +4315,16 @@ let P = class extends k {
|
|
|
4279
4315
|
}
|
|
4280
4316
|
// ── Render: Multi-select filter ──────────────────────────────────
|
|
4281
4317
|
_renderMultiSelectFilter(t) {
|
|
4282
|
-
const e =
|
|
4318
|
+
const e = E(t), a = this._getApplied(e), s = this._isSpecialValue(a.values), i = s ? [] : a.values || [], r = t.possible_values || [], o = a.operator || Ct[0].value, l = (this._selectSearches[e] || "").toLowerCase(), c = l.length > 0, p = i.length > 0 || s, u = l ? r.filter((d) => d.label.toLowerCase().includes(l)) : r, v = i.length >= at;
|
|
4283
4319
|
return n`
|
|
4284
4320
|
<div class="filter-content">
|
|
4285
4321
|
<!-- Search input -->
|
|
4286
4322
|
<div class="search-wrapper">
|
|
4323
|
+
<ap-icon class="search-icon" name="search" .size=${14}></ap-icon>
|
|
4287
4324
|
<input
|
|
4288
4325
|
class="search-input"
|
|
4289
4326
|
type="text"
|
|
4290
|
-
placeholder="Search options
|
|
4327
|
+
placeholder="Search options"
|
|
4291
4328
|
.value=${this._selectSearches[e] || ""}
|
|
4292
4329
|
@input=${(d) => {
|
|
4293
4330
|
this._selectSearches = {
|
|
@@ -4398,15 +4435,16 @@ let P = class extends k {
|
|
|
4398
4435
|
}
|
|
4399
4436
|
// ── Render: Tags filter ──────────────────────────────────────────
|
|
4400
4437
|
_renderTagsFilter(t) {
|
|
4401
|
-
const e =
|
|
4438
|
+
const e = E(t), a = this._getApplied(e), s = this._isSpecialValue(a.values), i = s ? [] : a.values || [], r = this._tagInputs[e] || "", o = a.operator || ee[0].value, l = i.length > 0 || s, c = this._tagSuggestions[e] || [], p = this._tagLoading[e] || !1, u = r.trim().length > 0, v = i.length >= at;
|
|
4402
4439
|
return n`
|
|
4403
4440
|
<div class="filter-content">
|
|
4404
4441
|
<!-- Search input -->
|
|
4405
4442
|
<div class="search-wrapper">
|
|
4443
|
+
<ap-icon class="search-icon" name="search" .size=${14}></ap-icon>
|
|
4406
4444
|
<input
|
|
4407
4445
|
class="search-input"
|
|
4408
4446
|
type="text"
|
|
4409
|
-
placeholder="Search tags
|
|
4447
|
+
placeholder="Search tags"
|
|
4410
4448
|
.value=${r}
|
|
4411
4449
|
@input=${(d) => this._onTagInput(t, e, d)}
|
|
4412
4450
|
@keydown=${(d) => this._onTagKeydown(t, d)}
|
|
@@ -4516,7 +4554,7 @@ let P = class extends k {
|
|
|
4516
4554
|
// ── Render: Date filter ──────────────────────────────────────────
|
|
4517
4555
|
_renderDateFilter(t) {
|
|
4518
4556
|
var u, v;
|
|
4519
|
-
const e =
|
|
4557
|
+
const e = E(t), a = this._datePresets[e] || "", s = this._getApplied(e), r = this._isSpecialValue(s.values) ? ((u = s.values) == null ? void 0 : u[0]) || "" : a, o = [
|
|
4520
4558
|
{ value: "empty", label: "Empty" },
|
|
4521
4559
|
{ value: "non-empty", label: "Not empty" }
|
|
4522
4560
|
], l = this._dateFroms[e] ? new Date(this._dateFroms[e]).toISOString().split("T")[0] : "", c = this._dateTos[e] ? new Date(this._dateTos[e]).toISOString().split("T")[0] : "", p = ["before", "after", "between"].includes(r);
|
|
@@ -4597,7 +4635,7 @@ let P = class extends k {
|
|
|
4597
4635
|
// ── Render: Geo filter ───────────────────────────────────────────
|
|
4598
4636
|
_renderGeoFilter(t) {
|
|
4599
4637
|
var u, v;
|
|
4600
|
-
const e =
|
|
4638
|
+
const e = E(t), a = this._getApplied(e), s = this._isSpecialValue(a.values), i = this._getContentMode(e);
|
|
4601
4639
|
let r = "", o = "";
|
|
4602
4640
|
if (!s && ((u = a.values) != null && u[0])) {
|
|
4603
4641
|
const d = a.values[0], [g, b] = d.split("..");
|
|
@@ -4615,7 +4653,7 @@ let P = class extends k {
|
|
|
4615
4653
|
<div class="filter-section">
|
|
4616
4654
|
<span class="section-label">Content</span>
|
|
4617
4655
|
<ap-radio-group
|
|
4618
|
-
.options=${
|
|
4656
|
+
.options=${Ft}
|
|
4619
4657
|
.value=${i}
|
|
4620
4658
|
@ap-change=${(d) => this._onContentModeChange(t, d.detail.value)}
|
|
4621
4659
|
></ap-radio-group>
|
|
@@ -4655,7 +4693,7 @@ let P = class extends k {
|
|
|
4655
4693
|
// ── Render: Attachment filter ────────────────────────────────────
|
|
4656
4694
|
_renderAttachmentFilter(t) {
|
|
4657
4695
|
var s, i;
|
|
4658
|
-
const e = this._getApplied(
|
|
4696
|
+
const e = this._getApplied(E(t)), a = ((s = e.values) == null ? void 0 : s[0]) || "";
|
|
4659
4697
|
return n`
|
|
4660
4698
|
<div class="filter-content" style="position: relative;">
|
|
4661
4699
|
<button
|
|
@@ -4676,7 +4714,7 @@ let P = class extends k {
|
|
|
4676
4714
|
}
|
|
4677
4715
|
// ── Render: Face matcher (integer-list with slug face_matcher) ──
|
|
4678
4716
|
_renderFaceMatcherFilter(t) {
|
|
4679
|
-
const e =
|
|
4717
|
+
const e = E(t), a = this._getApplied(e), s = a.values || [], i = a.operator || w.IS;
|
|
4680
4718
|
return n`
|
|
4681
4719
|
<div class="filter-content" style="position: relative;">
|
|
4682
4720
|
<button
|
|
@@ -4696,7 +4734,7 @@ let P = class extends k {
|
|
|
4696
4734
|
<input
|
|
4697
4735
|
class="filter-input"
|
|
4698
4736
|
type="text"
|
|
4699
|
-
placeholder="Search faces
|
|
4737
|
+
placeholder="Search faces"
|
|
4700
4738
|
.value=${s.join(", ")}
|
|
4701
4739
|
@change=${(r) => {
|
|
4702
4740
|
const l = r.target.value.split(",").map((c) => c.trim()).filter(Boolean);
|
|
@@ -4777,7 +4815,7 @@ let P = class extends k {
|
|
|
4777
4815
|
), a = this._getGroupedFields(e), s = (i, r) => r.length === 0 ? f : n`
|
|
4778
4816
|
<div class="field-group-label">${i}</div>
|
|
4779
4817
|
${r.map((o) => {
|
|
4780
|
-
const l =
|
|
4818
|
+
const l = E(o), c = this.visibleFields.includes(l), p = !!this.appliedMetadata[l] || !!this.appliedFilters[l], u = this.pinnedFields.includes(l), v = !c && this._atFieldLimit;
|
|
4781
4819
|
return n`
|
|
4782
4820
|
<div
|
|
4783
4821
|
class="field-item ${p ? "has-filter" : ""} ${v ? "disabled" : ""}"
|
|
@@ -4801,15 +4839,18 @@ let P = class extends k {
|
|
|
4801
4839
|
`;
|
|
4802
4840
|
return n`
|
|
4803
4841
|
<div class="selector-wrap">
|
|
4804
|
-
<
|
|
4805
|
-
class="
|
|
4806
|
-
|
|
4807
|
-
|
|
4808
|
-
|
|
4809
|
-
|
|
4842
|
+
<div class="field-search-wrapper">
|
|
4843
|
+
<ap-icon class="search-icon" name="search" .size=${14}></ap-icon>
|
|
4844
|
+
<input
|
|
4845
|
+
class="field-search"
|
|
4846
|
+
type="text"
|
|
4847
|
+
placeholder="Search fields"
|
|
4848
|
+
.value=${this._fieldSearch}
|
|
4849
|
+
@input=${(i) => {
|
|
4810
4850
|
this._fieldSearch = i.target.value;
|
|
4811
4851
|
}}
|
|
4812
|
-
|
|
4852
|
+
/>
|
|
4853
|
+
</div>
|
|
4813
4854
|
<div class="field-list">
|
|
4814
4855
|
${e.length === 0 ? n`<div class="empty-msg">No fields found</div>` : n`${[...a.entries()].map(
|
|
4815
4856
|
([i, r]) => s(i, r)
|
|
@@ -4852,7 +4893,7 @@ let P = class extends k {
|
|
|
4852
4893
|
`;
|
|
4853
4894
|
}
|
|
4854
4895
|
};
|
|
4855
|
-
|
|
4896
|
+
L.styles = [ie, oe, $`
|
|
4856
4897
|
/* ── Field selection panel ─────────────────────────────── */
|
|
4857
4898
|
|
|
4858
4899
|
.add-field-btn {
|
|
@@ -4915,13 +4956,25 @@ P.styles = [ie, oe, $`
|
|
|
4915
4956
|
margin: 0;
|
|
4916
4957
|
}
|
|
4917
4958
|
|
|
4918
|
-
.field-search {
|
|
4959
|
+
.field-search-wrapper {
|
|
4919
4960
|
position: sticky;
|
|
4920
4961
|
top: 0;
|
|
4921
4962
|
z-index: 2;
|
|
4963
|
+
}
|
|
4964
|
+
|
|
4965
|
+
.field-search-wrapper .search-icon {
|
|
4966
|
+
position: absolute;
|
|
4967
|
+
left: 10px;
|
|
4968
|
+
top: 50%;
|
|
4969
|
+
transform: translateY(-50%);
|
|
4970
|
+
color: var(--ap-muted-foreground, oklch(0.685 0.033 249.82));
|
|
4971
|
+
pointer-events: none;
|
|
4972
|
+
}
|
|
4973
|
+
|
|
4974
|
+
.field-search {
|
|
4922
4975
|
width: 100%;
|
|
4923
4976
|
height: 34px;
|
|
4924
|
-
padding: 0 20px;
|
|
4977
|
+
padding: 0 20px 0 32px;
|
|
4925
4978
|
box-sizing: border-box;
|
|
4926
4979
|
border: none;
|
|
4927
4980
|
border-bottom: 1px solid var(--ap-border, oklch(92.86% 0.009 247.92));
|
|
@@ -4934,6 +4987,7 @@ P.styles = [ie, oe, $`
|
|
|
4934
4987
|
|
|
4935
4988
|
.field-search::placeholder {
|
|
4936
4989
|
color: var(--ap-muted-foreground, oklch(0.685 0.033 249.82));
|
|
4990
|
+
font-weight: 400;
|
|
4937
4991
|
}
|
|
4938
4992
|
|
|
4939
4993
|
.field-list {
|
|
@@ -5217,72 +5271,72 @@ P.styles = [ie, oe, $`
|
|
|
5217
5271
|
background: var(--ap-primary-10, oklch(0.578 0.198 268.129 / 0.1));
|
|
5218
5272
|
}
|
|
5219
5273
|
`];
|
|
5220
|
-
|
|
5274
|
+
I([
|
|
5221
5275
|
h({ type: Array })
|
|
5222
|
-
],
|
|
5223
|
-
|
|
5276
|
+
], L.prototype, "fields", 2);
|
|
5277
|
+
I([
|
|
5224
5278
|
h({ type: Object })
|
|
5225
|
-
],
|
|
5226
|
-
|
|
5279
|
+
], L.prototype, "appliedFilters", 2);
|
|
5280
|
+
I([
|
|
5227
5281
|
h({ type: Array })
|
|
5228
|
-
],
|
|
5229
|
-
|
|
5282
|
+
], L.prototype, "visibleFields", 2);
|
|
5283
|
+
I([
|
|
5230
5284
|
h()
|
|
5231
|
-
],
|
|
5232
|
-
|
|
5285
|
+
], L.prototype, "mode", 2);
|
|
5286
|
+
I([
|
|
5233
5287
|
h()
|
|
5234
|
-
],
|
|
5235
|
-
|
|
5288
|
+
], L.prototype, "activeFieldKey", 2);
|
|
5289
|
+
I([
|
|
5236
5290
|
h({ type: Array })
|
|
5237
|
-
],
|
|
5238
|
-
|
|
5291
|
+
], L.prototype, "pinnedFields", 2);
|
|
5292
|
+
I([
|
|
5239
5293
|
h({ type: Object })
|
|
5240
|
-
],
|
|
5241
|
-
|
|
5294
|
+
], L.prototype, "appliedMetadata", 2);
|
|
5295
|
+
I([
|
|
5242
5296
|
h({ attribute: !1 })
|
|
5243
|
-
],
|
|
5244
|
-
|
|
5297
|
+
], L.prototype, "apiClient", 2);
|
|
5298
|
+
I([
|
|
5245
5299
|
y()
|
|
5246
|
-
],
|
|
5247
|
-
|
|
5300
|
+
], L.prototype, "_showFieldSelection", 2);
|
|
5301
|
+
I([
|
|
5248
5302
|
y()
|
|
5249
|
-
],
|
|
5250
|
-
|
|
5303
|
+
], L.prototype, "_fieldSearch", 2);
|
|
5304
|
+
I([
|
|
5251
5305
|
y()
|
|
5252
|
-
],
|
|
5253
|
-
|
|
5306
|
+
], L.prototype, "_collapsedFields", 2);
|
|
5307
|
+
I([
|
|
5254
5308
|
y()
|
|
5255
|
-
],
|
|
5256
|
-
|
|
5309
|
+
], L.prototype, "_tagInputs", 2);
|
|
5310
|
+
I([
|
|
5257
5311
|
y()
|
|
5258
|
-
],
|
|
5259
|
-
|
|
5312
|
+
], L.prototype, "_tagSuggestions", 2);
|
|
5313
|
+
I([
|
|
5260
5314
|
y()
|
|
5261
|
-
],
|
|
5262
|
-
|
|
5315
|
+
], L.prototype, "_tagLoading", 2);
|
|
5316
|
+
I([
|
|
5263
5317
|
y()
|
|
5264
|
-
],
|
|
5265
|
-
|
|
5318
|
+
], L.prototype, "_datePresets", 2);
|
|
5319
|
+
I([
|
|
5266
5320
|
y()
|
|
5267
|
-
],
|
|
5268
|
-
|
|
5321
|
+
], L.prototype, "_dateFroms", 2);
|
|
5322
|
+
I([
|
|
5269
5323
|
y()
|
|
5270
|
-
],
|
|
5271
|
-
|
|
5324
|
+
], L.prototype, "_dateTos", 2);
|
|
5325
|
+
I([
|
|
5272
5326
|
y()
|
|
5273
|
-
],
|
|
5274
|
-
|
|
5327
|
+
], L.prototype, "_specificModeFields", 2);
|
|
5328
|
+
I([
|
|
5275
5329
|
y()
|
|
5276
|
-
],
|
|
5277
|
-
|
|
5278
|
-
|
|
5279
|
-
],
|
|
5330
|
+
], L.prototype, "_selectSearches", 2);
|
|
5331
|
+
L = I([
|
|
5332
|
+
C("ap-filter-metadata")
|
|
5333
|
+
], L);
|
|
5280
5334
|
var bi = Object.defineProperty, _i = Object.getOwnPropertyDescriptor, Z = (t, e, a, s) => {
|
|
5281
5335
|
for (var i = s > 1 ? void 0 : s ? _i(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
5282
5336
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
5283
5337
|
return s && i && bi(e, a, i), i;
|
|
5284
5338
|
};
|
|
5285
|
-
let Y = class extends
|
|
5339
|
+
let Y = class extends S {
|
|
5286
5340
|
constructor() {
|
|
5287
5341
|
super(...arguments), this.selectedStatus = [], this.statusOperator = ":=", this.approverValue = "", this.approverOperator = "~", this.requesterValue = "", this.requesterOperator = "~", this.dueDatePreset = "", this.dueDateFrom = "", this.dueDateTo = "";
|
|
5288
5342
|
}
|
|
@@ -5304,43 +5358,43 @@ let Y = class extends k {
|
|
|
5304
5358
|
// ── Status handlers ────────────────────────────────────────────────
|
|
5305
5359
|
_toggleStatus(t) {
|
|
5306
5360
|
const e = this.selectedStatus.includes(t) ? this.selectedStatus.filter((a) => a !== t) : [...this.selectedStatus, t];
|
|
5307
|
-
this._emitChange(
|
|
5361
|
+
this._emitChange(B.STATUS, e, this.statusOperator);
|
|
5308
5362
|
}
|
|
5309
5363
|
_handleStatusOperator(t) {
|
|
5310
5364
|
const e = t.detail.value;
|
|
5311
|
-
this._emitChange(
|
|
5365
|
+
this._emitChange(B.STATUS, this.selectedStatus, e);
|
|
5312
5366
|
}
|
|
5313
5367
|
_clearStatus() {
|
|
5314
|
-
this._emitChange(
|
|
5368
|
+
this._emitChange(B.STATUS, [], this.statusOperator);
|
|
5315
5369
|
}
|
|
5316
5370
|
// ── Approver handlers ──────────────────────────────────────────────
|
|
5317
5371
|
_handleApproverInput(t) {
|
|
5318
5372
|
const e = t.target.value;
|
|
5319
|
-
this._emitChange(
|
|
5373
|
+
this._emitChange(B.APPROVER, e ? [e] : [], this.approverOperator);
|
|
5320
5374
|
}
|
|
5321
5375
|
_handleApproverOperator(t) {
|
|
5322
5376
|
const e = t.detail.value;
|
|
5323
|
-
this._emitChange(
|
|
5377
|
+
this._emitChange(B.APPROVER, this.approverValue ? [this.approverValue] : [], e);
|
|
5324
5378
|
}
|
|
5325
5379
|
_clearApprover() {
|
|
5326
|
-
this._emitChange(
|
|
5380
|
+
this._emitChange(B.APPROVER, [], this.approverOperator);
|
|
5327
5381
|
}
|
|
5328
5382
|
// ── Requester handlers ─────────────────────────────────────────────
|
|
5329
5383
|
_handleRequesterInput(t) {
|
|
5330
5384
|
const e = t.target.value;
|
|
5331
|
-
this._emitChange(
|
|
5385
|
+
this._emitChange(B.REQUESTOR, e ? [e] : [], this.requesterOperator);
|
|
5332
5386
|
}
|
|
5333
5387
|
_handleRequesterOperator(t) {
|
|
5334
5388
|
const e = t.detail.value;
|
|
5335
|
-
this._emitChange(
|
|
5389
|
+
this._emitChange(B.REQUESTOR, this.requesterValue ? [this.requesterValue] : [], e);
|
|
5336
5390
|
}
|
|
5337
5391
|
_clearRequester() {
|
|
5338
|
-
this._emitChange(
|
|
5392
|
+
this._emitChange(B.REQUESTOR, [], this.requesterOperator);
|
|
5339
5393
|
}
|
|
5340
5394
|
// ── Due Date handlers ──────────────────────────────────────────────
|
|
5341
5395
|
_handleDueDatePreset(t) {
|
|
5342
5396
|
const e = t.detail.value, a = this.dueDatePreset === e ? "" : e;
|
|
5343
|
-
this._emitChange(
|
|
5397
|
+
this._emitChange(B.DUE_DATE, a ? [a] : [], ":");
|
|
5344
5398
|
}
|
|
5345
5399
|
_handleDueDateFrom(t) {
|
|
5346
5400
|
const e = t.target.value;
|
|
@@ -5353,7 +5407,7 @@ let Y = class extends k {
|
|
|
5353
5407
|
_clearDueDate() {
|
|
5354
5408
|
this.dispatchEvent(new CustomEvent("filter-change", {
|
|
5355
5409
|
detail: {
|
|
5356
|
-
key:
|
|
5410
|
+
key: B.DUE_DATE,
|
|
5357
5411
|
values: [],
|
|
5358
5412
|
operator: ":"
|
|
5359
5413
|
},
|
|
@@ -5365,7 +5419,7 @@ let Y = class extends k {
|
|
|
5365
5419
|
const a = [];
|
|
5366
5420
|
t && a.push(t), e && a.push(e), this.dispatchEvent(new CustomEvent("filter-change", {
|
|
5367
5421
|
detail: {
|
|
5368
|
-
key:
|
|
5422
|
+
key: B.DUE_DATE,
|
|
5369
5423
|
values: a,
|
|
5370
5424
|
operator: t && e ? ".." : t ? ">=" : "<="
|
|
5371
5425
|
},
|
|
@@ -5461,7 +5515,7 @@ let Y = class extends k {
|
|
|
5461
5515
|
<input
|
|
5462
5516
|
class="filter-input mt-12"
|
|
5463
5517
|
type="text"
|
|
5464
|
-
placeholder="Enter approver name
|
|
5518
|
+
placeholder="Enter approver name"
|
|
5465
5519
|
.value=${this.approverValue}
|
|
5466
5520
|
@input=${this._handleApproverInput}
|
|
5467
5521
|
/>
|
|
@@ -5492,7 +5546,7 @@ let Y = class extends k {
|
|
|
5492
5546
|
<input
|
|
5493
5547
|
class="filter-input mt-12"
|
|
5494
5548
|
type="text"
|
|
5495
|
-
placeholder="Enter requester name
|
|
5549
|
+
placeholder="Enter requester name"
|
|
5496
5550
|
.value=${this.requesterValue}
|
|
5497
5551
|
@input=${this._handleRequesterInput}
|
|
5498
5552
|
/>
|
|
@@ -5586,7 +5640,7 @@ Y.styles = [ie, oe, $`
|
|
|
5586
5640
|
}
|
|
5587
5641
|
.condition-label {
|
|
5588
5642
|
font-weight: 500;
|
|
5589
|
-
margin-bottom:
|
|
5643
|
+
margin-bottom: 8px;
|
|
5590
5644
|
}
|
|
5591
5645
|
.mt-12 {
|
|
5592
5646
|
margin-top: 12px;
|
|
@@ -5620,7 +5674,7 @@ Z([
|
|
|
5620
5674
|
h()
|
|
5621
5675
|
], Y.prototype, "dueDateTo", 2);
|
|
5622
5676
|
Y = Z([
|
|
5623
|
-
|
|
5677
|
+
C("ap-filter-approval")
|
|
5624
5678
|
], Y);
|
|
5625
5679
|
var yi = Object.defineProperty, xi = Object.getOwnPropertyDescriptor, J = (t, e, a, s) => {
|
|
5626
5680
|
for (var i = s > 1 ? void 0 : s ? xi(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
@@ -5635,7 +5689,7 @@ function $i(t) {
|
|
|
5635
5689
|
)
|
|
5636
5690
|
);
|
|
5637
5691
|
}
|
|
5638
|
-
let X = class extends
|
|
5692
|
+
let X = class extends S {
|
|
5639
5693
|
constructor() {
|
|
5640
5694
|
super(...arguments), this.selected = [], this._search = "", this._debouncedSearch = "", this._products = [], this._isLoading = !1, this._showAddList = !1, this._addListText = "";
|
|
5641
5695
|
}
|
|
@@ -5739,6 +5793,7 @@ let X = class extends k {
|
|
|
5739
5793
|
return n`
|
|
5740
5794
|
<div class="filter-content">
|
|
5741
5795
|
<div class="filter-header">
|
|
5796
|
+
<ap-icon class="search-icon" name="search" .size=${14}></ap-icon>
|
|
5742
5797
|
<input
|
|
5743
5798
|
class="product-search"
|
|
5744
5799
|
type="text"
|
|
@@ -5887,9 +5942,18 @@ X.styles = [ie, oe, $`
|
|
|
5887
5942
|
margin: -10px -8px 10px;
|
|
5888
5943
|
}
|
|
5889
5944
|
|
|
5945
|
+
.filter-header .search-icon {
|
|
5946
|
+
position: absolute;
|
|
5947
|
+
left: 10px;
|
|
5948
|
+
top: 50%;
|
|
5949
|
+
transform: translateY(-50%);
|
|
5950
|
+
color: var(--ap-muted-foreground, oklch(0.685 0.033 249.82));
|
|
5951
|
+
pointer-events: none;
|
|
5952
|
+
}
|
|
5953
|
+
|
|
5890
5954
|
.product-search {
|
|
5891
5955
|
width: 100%;
|
|
5892
|
-
padding: 8px
|
|
5956
|
+
padding: 8px 32px 8px 32px;
|
|
5893
5957
|
border: none;
|
|
5894
5958
|
border-bottom: 1px solid var(--ap-border, oklch(92.86% 0.009 247.92));
|
|
5895
5959
|
font-size: var(--ap-font-size-sm, 0.875rem);
|
|
@@ -5901,6 +5965,7 @@ X.styles = [ie, oe, $`
|
|
|
5901
5965
|
|
|
5902
5966
|
.product-search::placeholder {
|
|
5903
5967
|
color: var(--ap-muted-foreground, oklch(0.685 0.033 249.82));
|
|
5968
|
+
font-weight: 400;
|
|
5904
5969
|
}
|
|
5905
5970
|
|
|
5906
5971
|
.search-clear {
|
|
@@ -6111,14 +6176,14 @@ J([
|
|
|
6111
6176
|
y()
|
|
6112
6177
|
], X.prototype, "_addListText", 2);
|
|
6113
6178
|
X = J([
|
|
6114
|
-
|
|
6179
|
+
C("ap-filter-product-ref")
|
|
6115
6180
|
], X);
|
|
6116
6181
|
var ki = Object.defineProperty, Si = Object.getOwnPropertyDescriptor, O = (t, e, a, s) => {
|
|
6117
6182
|
for (var i = s > 1 ? void 0 : s ? Si(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
6118
6183
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
6119
6184
|
return s && i && ki(e, a, i), i;
|
|
6120
6185
|
};
|
|
6121
|
-
let M = class extends
|
|
6186
|
+
let M = class extends S {
|
|
6122
6187
|
constructor() {
|
|
6123
6188
|
super(...arguments), this.totalCount = 0, this.totalFolderCount = 0, this.isLoading = !1, this.showUpload = !1, this.sortBy = "created_at", this.sortDirection = "desc", this.sortOptions = Dt, this.filters = {
|
|
6124
6189
|
metadata: { pinned: [], visible: [], applied: {} },
|
|
@@ -6562,7 +6627,7 @@ M.styles = $`
|
|
|
6562
6627
|
.controls {
|
|
6563
6628
|
display: flex;
|
|
6564
6629
|
align-items: center;
|
|
6565
|
-
gap:
|
|
6630
|
+
gap: 0;
|
|
6566
6631
|
}
|
|
6567
6632
|
|
|
6568
6633
|
/* Filter dropdown trigger */
|
|
@@ -6929,14 +6994,14 @@ O([
|
|
|
6929
6994
|
y()
|
|
6930
6995
|
], M.prototype, "_externalTop", 2);
|
|
6931
6996
|
M = O([
|
|
6932
|
-
|
|
6997
|
+
C("ap-content-toolbar")
|
|
6933
6998
|
], M);
|
|
6934
|
-
var Ci = Object.defineProperty,
|
|
6935
|
-
for (var i = s > 1 ? void 0 : s ?
|
|
6999
|
+
var Ci = Object.defineProperty, Ei = Object.getOwnPropertyDescriptor, V = (t, e, a, s) => {
|
|
7000
|
+
for (var i = s > 1 ? void 0 : s ? Ei(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
6936
7001
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
6937
7002
|
return s && i && Ci(e, a, i), i;
|
|
6938
7003
|
};
|
|
6939
|
-
let N = class extends
|
|
7004
|
+
let N = class extends S {
|
|
6940
7005
|
constructor() {
|
|
6941
7006
|
super(...arguments), this.appliedFilters = {}, this.appliedMetadata = {}, this.forcedFilters = {}, this.metadataFields = [], this.pinnedFilters = [], this.pinnedMetadataFields = [], this.tags = [], this.labels = [], this.activeFilter = null, this.activeMetadataField = null, this.pendingFilter = null, this.pendingMetadataField = null;
|
|
6942
7007
|
}
|
|
@@ -7129,7 +7194,7 @@ let N = class extends k {
|
|
|
7129
7194
|
`;
|
|
7130
7195
|
}
|
|
7131
7196
|
render() {
|
|
7132
|
-
const t =
|
|
7197
|
+
const t = Be(this.forcedFilters), e = new Set(Object.keys(t)), a = Object.keys(this.appliedFilters).filter((g) => !e.has(g)), s = Object.keys(this.appliedMetadata), i = new Set(this.pinnedFilters), r = new Set(this.pinnedMetadataFields), o = this.pinnedFilters.filter((g) => !e.has(g)), l = a.filter((g) => !i.has(g)), c = s.filter((g) => !r.has(g)), p = this.pendingFilter && !i.has(this.pendingFilter) && !(this.pendingFilter in this.appliedFilters), u = this.pendingMetadataField && !r.has(this.pendingMetadataField) && !(this.pendingMetadataField in this.appliedMetadata), v = a.length + s.length > 0;
|
|
7133
7198
|
return e.size + o.length + this.pinnedMetadataFields.length + l.length + c.length + (p ? 1 : 0) + (u ? 1 : 0) === 0 ? f : n`
|
|
7134
7199
|
<div class="chips-row">
|
|
7135
7200
|
<div class="chips">
|
|
@@ -7184,7 +7249,7 @@ N.styles = $`
|
|
|
7184
7249
|
.chips {
|
|
7185
7250
|
display: flex;
|
|
7186
7251
|
align-items: center;
|
|
7187
|
-
gap:
|
|
7252
|
+
gap: 12px;
|
|
7188
7253
|
overflow-x: auto;
|
|
7189
7254
|
scrollbar-width: none;
|
|
7190
7255
|
min-width: 0;
|
|
@@ -7353,15 +7418,15 @@ V([
|
|
|
7353
7418
|
h()
|
|
7354
7419
|
], N.prototype, "pendingMetadataField", 2);
|
|
7355
7420
|
N = V([
|
|
7356
|
-
|
|
7421
|
+
C("ap-filters-bar")
|
|
7357
7422
|
], N);
|
|
7358
|
-
var
|
|
7423
|
+
var Fi = Object.defineProperty, Ai = Object.getOwnPropertyDescriptor, Fe = (t, e, a, s) => {
|
|
7359
7424
|
for (var i = s > 1 ? void 0 : s ? Ai(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
7360
7425
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
7361
|
-
return s && i &&
|
|
7426
|
+
return s && i && Fi(e, a, i), i;
|
|
7362
7427
|
};
|
|
7363
7428
|
const Ti = 6;
|
|
7364
|
-
let se = class extends
|
|
7429
|
+
let se = class extends S {
|
|
7365
7430
|
constructor() {
|
|
7366
7431
|
super(...arguments), this.assets = [], this.folders = [], this.folderPreviews = {}, this.selectedIds = [], this.isLoading = !1, this.multiSelect = !0, this._prevCount = 0;
|
|
7367
7432
|
}
|
|
@@ -7416,7 +7481,7 @@ se.styles = $`
|
|
|
7416
7481
|
.grid {
|
|
7417
7482
|
display: grid;
|
|
7418
7483
|
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
|
|
7419
|
-
gap:
|
|
7484
|
+
gap: 24px;
|
|
7420
7485
|
}
|
|
7421
7486
|
.ghost-card {
|
|
7422
7487
|
aspect-ratio: 6/4;
|
|
@@ -7438,26 +7503,26 @@ se.styles = $`
|
|
|
7438
7503
|
.ghost-card { animation: none; }
|
|
7439
7504
|
}
|
|
7440
7505
|
`;
|
|
7441
|
-
|
|
7506
|
+
Fe([
|
|
7442
7507
|
h({ type: Array })
|
|
7443
7508
|
], se.prototype, "assets", 2);
|
|
7444
|
-
|
|
7509
|
+
Fe([
|
|
7445
7510
|
h({ type: Array })
|
|
7446
7511
|
], se.prototype, "folders", 2);
|
|
7447
|
-
|
|
7512
|
+
Fe([
|
|
7448
7513
|
h({ type: Object })
|
|
7449
7514
|
], se.prototype, "folderPreviews", 2);
|
|
7450
|
-
|
|
7515
|
+
Fe([
|
|
7451
7516
|
h({ type: Array })
|
|
7452
7517
|
], se.prototype, "selectedIds", 2);
|
|
7453
|
-
|
|
7518
|
+
Fe([
|
|
7454
7519
|
h({ type: Boolean })
|
|
7455
7520
|
], se.prototype, "isLoading", 2);
|
|
7456
|
-
|
|
7521
|
+
Fe([
|
|
7457
7522
|
h({ type: Boolean })
|
|
7458
7523
|
], se.prototype, "multiSelect", 2);
|
|
7459
|
-
se =
|
|
7460
|
-
|
|
7524
|
+
se = Fe([
|
|
7525
|
+
C("ap-grid-view")
|
|
7461
7526
|
], se);
|
|
7462
7527
|
var Mi = Object.defineProperty, Oi = Object.getOwnPropertyDescriptor, ge = (t, e, a, s) => {
|
|
7463
7528
|
for (var i = s > 1 ? void 0 : s ? Oi(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
@@ -7465,7 +7530,7 @@ var Mi = Object.defineProperty, Oi = Object.getOwnPropertyDescriptor, ge = (t, e
|
|
|
7465
7530
|
return s && i && Mi(e, a, i), i;
|
|
7466
7531
|
};
|
|
7467
7532
|
const Pi = 5;
|
|
7468
|
-
let Q = class extends
|
|
7533
|
+
let Q = class extends S {
|
|
7469
7534
|
constructor() {
|
|
7470
7535
|
super(...arguments), this.assets = [], this.folders = [], this.selectedIds = [], this.isLoading = !1, this.multiSelect = !0, this.totalCount = 0, this.isSelectingAll = !1;
|
|
7471
7536
|
}
|
|
@@ -7539,7 +7604,7 @@ Q.styles = $`
|
|
|
7539
7604
|
padding: 8px 12px;
|
|
7540
7605
|
font-size: 14px;
|
|
7541
7606
|
font-weight: 400;
|
|
7542
|
-
color: var(--ap-
|
|
7607
|
+
color: var(--ap-muted-foreground, oklch(0.685 0.033 249.82));
|
|
7543
7608
|
border-bottom: 1px solid var(--ap-border, oklch(92.86% 0.009 247.92));
|
|
7544
7609
|
}
|
|
7545
7610
|
.list-header:not(.has-checkbox) {
|
|
@@ -7625,7 +7690,7 @@ ge([
|
|
|
7625
7690
|
h({ type: Boolean })
|
|
7626
7691
|
], Q.prototype, "isSelectingAll", 2);
|
|
7627
7692
|
Q = ge([
|
|
7628
|
-
|
|
7693
|
+
C("ap-list-view")
|
|
7629
7694
|
], Q);
|
|
7630
7695
|
function ct(t) {
|
|
7631
7696
|
var s;
|
|
@@ -7794,7 +7859,7 @@ function Ot(t) {
|
|
|
7794
7859
|
return e.length > 1 ? e[1] : e[0];
|
|
7795
7860
|
}
|
|
7796
7861
|
const zi = /* @__PURE__ */ new Set(["png", "svg", "webp", "gif", "avif"]);
|
|
7797
|
-
function
|
|
7862
|
+
function Ut(t) {
|
|
7798
7863
|
const e = (t == null ? void 0 : t.toLowerCase().replace(".", "")) || "";
|
|
7799
7864
|
return zi.has(e);
|
|
7800
7865
|
}
|
|
@@ -7803,7 +7868,7 @@ var Ri = Object.defineProperty, Ni = Object.getOwnPropertyDescriptor, Ze = (t, e
|
|
|
7803
7868
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
7804
7869
|
return s && i && Ri(e, a, i), i;
|
|
7805
7870
|
};
|
|
7806
|
-
let $e = class extends
|
|
7871
|
+
let $e = class extends S {
|
|
7807
7872
|
constructor() {
|
|
7808
7873
|
super(...arguments), this.index = 0, this.selected = !1, this.multiSelect = !0;
|
|
7809
7874
|
}
|
|
@@ -7830,7 +7895,7 @@ let $e = class extends k {
|
|
|
7830
7895
|
}
|
|
7831
7896
|
_formatDuration(t) {
|
|
7832
7897
|
const e = Math.floor(t / 3600), a = Math.floor(t % 3600 / 60), s = Math.floor(t % 60), i = (r) => String(r).padStart(2, "0");
|
|
7833
|
-
return e > 0 ? `${e}:${i(a)}:${i(s)}` : `${a}:${i(s)}`;
|
|
7898
|
+
return e > 0 ? `${e}:${i(a)}:${i(s)}` : `${i(a)}:${i(s)}`;
|
|
7834
7899
|
}
|
|
7835
7900
|
_handleQuickSelect(t) {
|
|
7836
7901
|
t.stopPropagation(), this.dispatchEvent(new CustomEvent("asset-quick-select", {
|
|
@@ -7839,13 +7904,13 @@ let $e = class extends k {
|
|
|
7839
7904
|
}));
|
|
7840
7905
|
}
|
|
7841
7906
|
render() {
|
|
7842
|
-
var c, p, u, v;
|
|
7907
|
+
var c, p, u, v, d;
|
|
7843
7908
|
const t = this.asset;
|
|
7844
7909
|
if (!t) return n``;
|
|
7845
7910
|
const a = Oe(t.type) === "video", s = ((c = t.extension) == null ? void 0 : c.toLowerCase()) === "pdf", i = $a(t.extension || "");
|
|
7846
7911
|
let r = "";
|
|
7847
7912
|
a ? r = xa(t) : s ? r = Nt(t) : i && (r = ct(t));
|
|
7848
|
-
const o = yt(t.extension || ""), l =
|
|
7913
|
+
const o = yt(t.extension || ""), l = Ut(t.extension || "");
|
|
7849
7914
|
return n`
|
|
7850
7915
|
<div class="card" @click=${this._handleSelect}>
|
|
7851
7916
|
<div class="thumbnail ${l && r ? "chess" : ""}">
|
|
@@ -7854,20 +7919,20 @@ let $e = class extends k {
|
|
|
7854
7919
|
alt=${t.name}
|
|
7855
7920
|
loading="lazy"
|
|
7856
7921
|
class="thumb-img ${l ? "transparent-asset" : ""}"
|
|
7857
|
-
@error=${(
|
|
7858
|
-
const
|
|
7859
|
-
|
|
7922
|
+
@error=${(g) => {
|
|
7923
|
+
const b = g.target, k = Ke();
|
|
7924
|
+
b.src !== o && b.src !== k ? (b.src = o, b.classList.add("icon-fallback")) : b.src !== k && (b.src = k);
|
|
7860
7925
|
}}
|
|
7861
7926
|
/>` : n`<img
|
|
7862
7927
|
src=${o}
|
|
7863
7928
|
alt=${t.name}
|
|
7864
7929
|
class="thumb-img icon-fallback"
|
|
7865
|
-
@error=${(
|
|
7866
|
-
const
|
|
7867
|
-
|
|
7930
|
+
@error=${(g) => {
|
|
7931
|
+
const b = g.target, k = Ke();
|
|
7932
|
+
b.src !== k && (b.src = k);
|
|
7868
7933
|
}}
|
|
7869
7934
|
/>`}
|
|
7870
|
-
${a && ((p = t.info)
|
|
7935
|
+
${a && (((p = t.info) == null ? void 0 : p.video_duration) ?? ((u = t.info) == null ? void 0 : u.duration)) != null ? n`<span class="duration">${this._formatDuration(t.info.video_duration ?? t.info.duration)}</span>` : f}
|
|
7871
7936
|
<div class="overlay">
|
|
7872
7937
|
<button class="overlay-btn" @click=${this._handlePreview} aria-label="Preview">
|
|
7873
7938
|
<ap-icon name="preview" .size=${16}></ap-icon>
|
|
@@ -7890,11 +7955,11 @@ let $e = class extends k {
|
|
|
7890
7955
|
</div>
|
|
7891
7956
|
<div class="info">
|
|
7892
7957
|
<div class="name" title=${t.name}>${t.name}</div>
|
|
7893
|
-
<div class="meta">${(
|
|
7894
|
-
var
|
|
7895
|
-
const
|
|
7896
|
-
return
|
|
7897
|
-
})()} · ${jt(((
|
|
7958
|
+
<div class="meta">${(v = t.extension) == null ? void 0 : v.toUpperCase()}${(() => {
|
|
7959
|
+
var _, A, F, P;
|
|
7960
|
+
const g = ((_ = t.info) == null ? void 0 : _.img_w) || ((A = t.info) == null ? void 0 : A.video_w), b = ((F = t.info) == null ? void 0 : F.img_h) || ((P = t.info) == null ? void 0 : P.video_h), k = wa(g, b);
|
|
7961
|
+
return k ? ` · ${k}` : "";
|
|
7962
|
+
})()} · ${jt(((d = t.size) == null ? void 0 : d.bytes) || 0)}</div>
|
|
7898
7963
|
</div>
|
|
7899
7964
|
</div>
|
|
7900
7965
|
`;
|
|
@@ -8006,7 +8071,7 @@ $e.styles = $`
|
|
|
8006
8071
|
}
|
|
8007
8072
|
.name {
|
|
8008
8073
|
font-size: var(--ap-font-size-sm, 0.875rem);
|
|
8009
|
-
font-weight:
|
|
8074
|
+
font-weight: 400;
|
|
8010
8075
|
color: var(--ap-foreground, oklch(0.37 0.022 248.413));
|
|
8011
8076
|
white-space: nowrap;
|
|
8012
8077
|
overflow: hidden;
|
|
@@ -8035,6 +8100,9 @@ $e.styles = $`
|
|
|
8035
8100
|
transition: all 150ms;
|
|
8036
8101
|
background: var(--ap-background, oklch(1 0 0));
|
|
8037
8102
|
}
|
|
8103
|
+
.check:hover .check-box {
|
|
8104
|
+
border-color: var(--ap-secondary-foreground-50, oklch(53.03% 0.039 249.89 / 0.5));
|
|
8105
|
+
}
|
|
8038
8106
|
:host([selected]) .check-box {
|
|
8039
8107
|
background: var(--ap-primary, oklch(0.578 0.198 268.129));
|
|
8040
8108
|
border-color: var(--ap-primary, oklch(0.578 0.198 268.129));
|
|
@@ -8060,8 +8128,8 @@ $e.styles = $`
|
|
|
8060
8128
|
}
|
|
8061
8129
|
.duration {
|
|
8062
8130
|
position: absolute;
|
|
8063
|
-
bottom:
|
|
8064
|
-
|
|
8131
|
+
bottom: 8px;
|
|
8132
|
+
right: 12px;
|
|
8065
8133
|
z-index: 1;
|
|
8066
8134
|
padding: 2px 6px;
|
|
8067
8135
|
border-radius: 4px;
|
|
@@ -8090,14 +8158,14 @@ Ze([
|
|
|
8090
8158
|
h({ type: Boolean })
|
|
8091
8159
|
], $e.prototype, "multiSelect", 2);
|
|
8092
8160
|
$e = Ze([
|
|
8093
|
-
|
|
8161
|
+
C("ap-asset-card")
|
|
8094
8162
|
], $e);
|
|
8095
|
-
var ji = Object.defineProperty,
|
|
8096
|
-
for (var i = s > 1 ? void 0 : s ?
|
|
8163
|
+
var ji = Object.defineProperty, Ui = Object.getOwnPropertyDescriptor, Je = (t, e, a, s) => {
|
|
8164
|
+
for (var i = s > 1 ? void 0 : s ? Ui(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
8097
8165
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
8098
8166
|
return s && i && ji(e, a, i), i;
|
|
8099
8167
|
};
|
|
8100
|
-
let ke = class extends
|
|
8168
|
+
let ke = class extends S {
|
|
8101
8169
|
constructor() {
|
|
8102
8170
|
super(...arguments), this.index = 0, this.selected = !1, this.multiSelect = !0;
|
|
8103
8171
|
}
|
|
@@ -8129,7 +8197,7 @@ let ke = class extends k {
|
|
|
8129
8197
|
const a = Oe(t.type) === "video", s = ((c = t.extension) == null ? void 0 : c.toLowerCase()) === "pdf", i = $a(t.extension || "");
|
|
8130
8198
|
let r = "";
|
|
8131
8199
|
a ? r = xa(t) : s ? r = Nt(t) : i && (r = ct(t));
|
|
8132
|
-
const o = yt(t.extension || ""), l =
|
|
8200
|
+
const o = yt(t.extension || ""), l = Ut(t.extension || "");
|
|
8133
8201
|
return n`
|
|
8134
8202
|
<div class="row" @click=${this._handleSelect}>
|
|
8135
8203
|
${this.multiSelect ? n`
|
|
@@ -8221,7 +8289,7 @@ ke.styles = $`
|
|
|
8221
8289
|
}
|
|
8222
8290
|
.name {
|
|
8223
8291
|
font-size: var(--ap-font-size-sm, 0.875rem);
|
|
8224
|
-
font-weight:
|
|
8292
|
+
font-weight: 400;
|
|
8225
8293
|
color: var(--ap-foreground, oklch(0.37 0.022 248.413));
|
|
8226
8294
|
white-space: nowrap;
|
|
8227
8295
|
overflow: hidden;
|
|
@@ -8229,14 +8297,14 @@ ke.styles = $`
|
|
|
8229
8297
|
}
|
|
8230
8298
|
.type {
|
|
8231
8299
|
font-size: 0.8125rem;
|
|
8232
|
-
color: var(--ap-foreground, oklch(
|
|
8300
|
+
color: var(--ap-secondary-foreground, oklch(53.03% 0.039 249.89));
|
|
8233
8301
|
white-space: nowrap;
|
|
8234
8302
|
overflow: hidden;
|
|
8235
8303
|
text-overflow: ellipsis;
|
|
8236
8304
|
}
|
|
8237
8305
|
.desc, .date {
|
|
8238
8306
|
font-size: 0.8125rem;
|
|
8239
|
-
color: var(--ap-
|
|
8307
|
+
color: var(--ap-secondary-foreground, oklch(53.03% 0.039 249.89));
|
|
8240
8308
|
white-space: nowrap;
|
|
8241
8309
|
overflow: hidden;
|
|
8242
8310
|
text-overflow: ellipsis;
|
|
@@ -8288,6 +8356,9 @@ ke.styles = $`
|
|
|
8288
8356
|
transition: all 150ms;
|
|
8289
8357
|
background: var(--ap-background, oklch(1 0 0));
|
|
8290
8358
|
}
|
|
8359
|
+
.check:hover .check-box {
|
|
8360
|
+
border-color: var(--ap-secondary-foreground-50, oklch(53.03% 0.039 249.89 / 0.5));
|
|
8361
|
+
}
|
|
8291
8362
|
:host([selected]) .check-box {
|
|
8292
8363
|
background: var(--ap-primary, oklch(0.578 0.198 268.129));
|
|
8293
8364
|
border-color: var(--ap-primary, oklch(0.578 0.198 268.129));
|
|
@@ -8313,14 +8384,14 @@ Je([
|
|
|
8313
8384
|
h({ type: Boolean })
|
|
8314
8385
|
], ke.prototype, "multiSelect", 2);
|
|
8315
8386
|
ke = Je([
|
|
8316
|
-
|
|
8387
|
+
C("ap-asset-row")
|
|
8317
8388
|
], ke);
|
|
8318
|
-
var
|
|
8389
|
+
var Bi = Object.defineProperty, Vi = Object.getOwnPropertyDescriptor, Bt = (t, e, a, s) => {
|
|
8319
8390
|
for (var i = s > 1 ? void 0 : s ? Vi(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
8320
8391
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
8321
|
-
return s && i &&
|
|
8392
|
+
return s && i && Bi(e, a, i), i;
|
|
8322
8393
|
};
|
|
8323
|
-
let Ge = class extends
|
|
8394
|
+
let Ge = class extends S {
|
|
8324
8395
|
constructor() {
|
|
8325
8396
|
super(...arguments), this.previews = [];
|
|
8326
8397
|
}
|
|
@@ -8367,7 +8438,7 @@ let Ge = class extends k {
|
|
|
8367
8438
|
}
|
|
8368
8439
|
_renderPreviews() {
|
|
8369
8440
|
if (this.previews.length === 0)
|
|
8370
|
-
return n`<div class="empty-preview"><ap-icon name="
|
|
8441
|
+
return n`<div class="empty-preview"><ap-icon name="inbox" .size=${64}></ap-icon></div>`;
|
|
8371
8442
|
const t = this.previews.slice(0, 3);
|
|
8372
8443
|
return t.length === 1 ? n`<div class="preview-left">${this._renderPreviewImg(t[0])}</div>` : n`
|
|
8373
8444
|
<div class="preview-grid">
|
|
@@ -8391,14 +8462,10 @@ let Ge = class extends k {
|
|
|
8391
8462
|
<path d="M 3,0 L 30,0 L 43.5,0 Q 45,0 46.5,3 L 51,12 L 97,12 Q 100,12 100,15 L 100,97 Q 100,100 97,100 L 3,100 Q 0,100 0,97 L 0,3 Q 0,0 3,0 Z"
|
|
8392
8463
|
fill="#E3E8ED" rx="3" ry="3" />
|
|
8393
8464
|
</svg>
|
|
8394
|
-
<!-- Hover overlay with same folder shape -->
|
|
8395
|
-
<svg class="hover-overlay" viewBox="0 0 100 100" preserveAspectRatio="none">
|
|
8396
|
-
<path d="M 3,0 L 30,0 L 43.5,0 Q 45,0 46.5,3 L 51,12 L 97,12 Q 100,12 100,15 L 100,97 Q 100,100 97,100 L 3,100 Q 0,100 0,97 L 0,3 Q 0,0 3,0 Z"
|
|
8397
|
-
fill="#F3F7FA" />
|
|
8398
|
-
</svg>
|
|
8399
8465
|
<div class="card-content">
|
|
8400
8466
|
<!-- Preview images -->
|
|
8401
8467
|
<div class="preview-container">
|
|
8468
|
+
<div class="preview-overlay"></div>
|
|
8402
8469
|
${this._renderPreviews()}
|
|
8403
8470
|
</div>
|
|
8404
8471
|
<!-- Info section inside the card shape -->
|
|
@@ -8423,9 +8490,6 @@ Ge.styles = [ie, $`
|
|
|
8423
8490
|
aspect-ratio: 4/3;
|
|
8424
8491
|
cursor: pointer;
|
|
8425
8492
|
}
|
|
8426
|
-
.card:hover .hover-overlay {
|
|
8427
|
-
opacity: 0.9;
|
|
8428
|
-
}
|
|
8429
8493
|
/* Folder shape SVG fills card */
|
|
8430
8494
|
.folder-svg {
|
|
8431
8495
|
position: absolute;
|
|
@@ -8433,27 +8497,32 @@ Ge.styles = [ie, $`
|
|
|
8433
8497
|
width: 100%;
|
|
8434
8498
|
height: 100%;
|
|
8435
8499
|
}
|
|
8436
|
-
.
|
|
8500
|
+
.preview-overlay {
|
|
8437
8501
|
position: absolute;
|
|
8438
8502
|
inset: 0;
|
|
8439
|
-
width: 100%;
|
|
8440
|
-
height: 100%;
|
|
8441
8503
|
z-index: 2;
|
|
8504
|
+
background: rgba(0, 0, 0, 0.4);
|
|
8505
|
+
border-radius: 4px;
|
|
8442
8506
|
opacity: 0;
|
|
8443
|
-
transition: opacity
|
|
8507
|
+
transition: opacity 150ms;
|
|
8444
8508
|
pointer-events: none;
|
|
8445
8509
|
}
|
|
8510
|
+
.card:hover .preview-overlay {
|
|
8511
|
+
opacity: 1;
|
|
8512
|
+
}
|
|
8446
8513
|
.card-content {
|
|
8447
8514
|
position: absolute;
|
|
8448
8515
|
top: 16%;
|
|
8449
8516
|
left: 3.5%;
|
|
8450
8517
|
width: 93%;
|
|
8451
|
-
bottom:
|
|
8518
|
+
bottom: 0;
|
|
8452
8519
|
z-index: 1;
|
|
8453
8520
|
display: flex;
|
|
8454
8521
|
flex-direction: column;
|
|
8522
|
+
padding-bottom: 12px;
|
|
8455
8523
|
}
|
|
8456
8524
|
.preview-container {
|
|
8525
|
+
position: relative;
|
|
8457
8526
|
flex: 1;
|
|
8458
8527
|
min-height: 0;
|
|
8459
8528
|
display: flex;
|
|
@@ -8519,7 +8588,9 @@ Ge.styles = [ie, $`
|
|
|
8519
8588
|
justify-content: center;
|
|
8520
8589
|
width: 100%;
|
|
8521
8590
|
height: 100%;
|
|
8522
|
-
|
|
8591
|
+
background: var(--ap-muted, oklch(0.974 0.006 239.819));
|
|
8592
|
+
border-radius: 4px;
|
|
8593
|
+
color: var(--ap-input, oklch(0.871 0.016 241.798));
|
|
8523
8594
|
}
|
|
8524
8595
|
.info {
|
|
8525
8596
|
flex-shrink: 0;
|
|
@@ -8537,25 +8608,25 @@ Ge.styles = [ie, $`
|
|
|
8537
8608
|
display: flex;
|
|
8538
8609
|
justify-content: space-between;
|
|
8539
8610
|
font-size: 0.75rem;
|
|
8540
|
-
color: var(--ap-
|
|
8541
|
-
margin-top:
|
|
8611
|
+
color: var(--ap-secondary-foreground, oklch(53.03% 0.039 249.89));
|
|
8612
|
+
margin-top: 6px;
|
|
8542
8613
|
}
|
|
8543
8614
|
`];
|
|
8544
|
-
|
|
8615
|
+
Bt([
|
|
8545
8616
|
h({ type: Object })
|
|
8546
8617
|
], Ge.prototype, "folder", 2);
|
|
8547
|
-
|
|
8618
|
+
Bt([
|
|
8548
8619
|
h({ type: Array })
|
|
8549
8620
|
], Ge.prototype, "previews", 2);
|
|
8550
|
-
Ge =
|
|
8551
|
-
|
|
8621
|
+
Ge = Bt([
|
|
8622
|
+
C("ap-folder-card")
|
|
8552
8623
|
], Ge);
|
|
8553
8624
|
var qi = Object.defineProperty, Hi = Object.getOwnPropertyDescriptor, Sa = (t, e, a, s) => {
|
|
8554
8625
|
for (var i = s > 1 ? void 0 : s ? Hi(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
8555
8626
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
8556
8627
|
return s && i && qi(e, a, i), i;
|
|
8557
8628
|
};
|
|
8558
|
-
let pt = class extends
|
|
8629
|
+
let pt = class extends S {
|
|
8559
8630
|
_handleOpen() {
|
|
8560
8631
|
this.dispatchEvent(new CustomEvent("folder-open", {
|
|
8561
8632
|
detail: { folder: this.folder },
|
|
@@ -8568,6 +8639,7 @@ let pt = class extends k {
|
|
|
8568
8639
|
const t = this.folder;
|
|
8569
8640
|
return t ? n`
|
|
8570
8641
|
<div class="row" @click=${this._handleOpen}>
|
|
8642
|
+
<div></div>
|
|
8571
8643
|
<div class="icon"><ap-icon name="folder" .size=${22}></ap-icon></div>
|
|
8572
8644
|
<div class="name">${t.name}</div>
|
|
8573
8645
|
<div class="meta">Folder</div>
|
|
@@ -8584,7 +8656,7 @@ pt.styles = $`
|
|
|
8584
8656
|
}
|
|
8585
8657
|
.row {
|
|
8586
8658
|
display: grid;
|
|
8587
|
-
grid-template-columns: 48px 1fr 100px 200px 120px 60px;
|
|
8659
|
+
grid-template-columns: 32px 48px 1fr 100px 200px 120px 60px;
|
|
8588
8660
|
gap: 12px;
|
|
8589
8661
|
padding: 8px 12px;
|
|
8590
8662
|
align-items: center;
|
|
@@ -8596,33 +8668,33 @@ pt.styles = $`
|
|
|
8596
8668
|
background: var(--ap-muted, oklch(0.974 0.006 239.819));
|
|
8597
8669
|
}
|
|
8598
8670
|
.icon {
|
|
8599
|
-
color: var(--ap-
|
|
8671
|
+
color: var(--ap-input, oklch(0.871 0.016 241.798));
|
|
8600
8672
|
display: flex;
|
|
8601
8673
|
align-items: center;
|
|
8602
8674
|
justify-content: center;
|
|
8603
8675
|
}
|
|
8604
8676
|
.name {
|
|
8605
8677
|
font-size: var(--ap-font-size-sm, 0.875rem);
|
|
8606
|
-
font-weight:
|
|
8678
|
+
font-weight: 400;
|
|
8607
8679
|
color: var(--ap-foreground, oklch(0.37 0.022 248.413));
|
|
8608
8680
|
}
|
|
8609
8681
|
.meta {
|
|
8610
8682
|
font-size: 0.8125rem;
|
|
8611
|
-
color: var(--ap-
|
|
8683
|
+
color: var(--ap-secondary-foreground, oklch(53.03% 0.039 249.89));
|
|
8612
8684
|
}
|
|
8613
8685
|
`;
|
|
8614
8686
|
Sa([
|
|
8615
8687
|
h({ type: Object })
|
|
8616
8688
|
], pt.prototype, "folder", 2);
|
|
8617
8689
|
pt = Sa([
|
|
8618
|
-
|
|
8690
|
+
C("ap-folder-row")
|
|
8619
8691
|
], pt);
|
|
8620
8692
|
var Ki = Object.defineProperty, Gi = Object.getOwnPropertyDescriptor, Ca = (t, e, a, s) => {
|
|
8621
8693
|
for (var i = s > 1 ? void 0 : s ? Gi(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
8622
8694
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
8623
8695
|
return s && i && Ki(e, a, i), i;
|
|
8624
8696
|
};
|
|
8625
|
-
let ht = class extends
|
|
8697
|
+
let ht = class extends S {
|
|
8626
8698
|
constructor() {
|
|
8627
8699
|
super(...arguments), this.variant = "grid";
|
|
8628
8700
|
}
|
|
@@ -8654,7 +8726,7 @@ ht.styles = $`
|
|
|
8654
8726
|
.grid-skeleton {
|
|
8655
8727
|
display: grid;
|
|
8656
8728
|
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
|
|
8657
|
-
gap:
|
|
8729
|
+
gap: 24px;
|
|
8658
8730
|
}
|
|
8659
8731
|
.card-skel {
|
|
8660
8732
|
aspect-ratio: 6/4;
|
|
@@ -8673,7 +8745,7 @@ Ca([
|
|
|
8673
8745
|
h()
|
|
8674
8746
|
], ht.prototype, "variant", 2);
|
|
8675
8747
|
ht = Ca([
|
|
8676
|
-
|
|
8748
|
+
C("ap-skeleton")
|
|
8677
8749
|
], ht);
|
|
8678
8750
|
function Yi(t) {
|
|
8679
8751
|
var i, r;
|
|
@@ -8687,7 +8759,7 @@ var Xi = Object.defineProperty, Wi = Object.getOwnPropertyDescriptor, z = (t, e,
|
|
|
8687
8759
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
8688
8760
|
return s && i && Xi(e, a, i), i;
|
|
8689
8761
|
};
|
|
8690
|
-
let D = class extends
|
|
8762
|
+
let D = class extends S {
|
|
8691
8763
|
constructor() {
|
|
8692
8764
|
super(...arguments), this.asset = null, this.assets = [], this.selectedIds = [], this.containerToken = "", this.showMetadata = !0, this.metadataFields = [], this.labels = [], this.regionalFilters = {}, this.multiSelect = !0, this._isFullscreen = !1, this._fsImageLoaded = !1, this._previewLoading = !1, this._openSections = /* @__PURE__ */ new Set(["file-info", "metadata"]), this._hls = null;
|
|
8693
8765
|
}
|
|
@@ -8923,9 +8995,9 @@ let D = class extends k {
|
|
|
8923
8995
|
`;
|
|
8924
8996
|
}
|
|
8925
8997
|
_getFileInfoRows(t) {
|
|
8926
|
-
var a, s, i, r, o;
|
|
8998
|
+
var a, s, i, r, o, l;
|
|
8927
8999
|
const e = [];
|
|
8928
|
-
return e.push({ label: "File name", value: t.name }), t.extension && e.push({ label: "Type", value: t.extension.toUpperCase() }), (a = t.size) != null && a.bytes && e.push({ label: "Size", value: jt(t.size.bytes) }), (s = t.info) != null && s.img_w && e.push({ label: "Dimensions", value: wa(t.info.img_w, t.info.img_h) }), (i = t.info) != null && i.video_w && e.push({ label: "Video resolution", value: `${t.info.video_w} x ${t.info.video_h}` }), (r = t.info)
|
|
9000
|
+
return e.push({ label: "File name", value: t.name }), t.extension && e.push({ label: "Type", value: t.extension.toUpperCase() }), (a = t.size) != null && a.bytes && e.push({ label: "Size", value: jt(t.size.bytes) }), (s = t.info) != null && s.img_w && e.push({ label: "Dimensions", value: wa(t.info.img_w, t.info.img_h) }), (i = t.info) != null && i.video_w && e.push({ label: "Video resolution", value: `${t.info.video_w} x ${t.info.video_h}` }), (((r = t.info) == null ? void 0 : r.video_duration) ?? ((o = t.info) == null ? void 0 : o.duration)) != null && e.push({ label: "Duration", value: `${Math.round(t.info.video_duration ?? t.info.duration)}s` }), (l = t.info) != null && l.color_space && e.push({ label: "Color space", value: t.info.color_space }), t.created_at && e.push({ label: "Created", value: dt(t.created_at) }), t.modified_at && e.push({ label: "Modified", value: dt(t.modified_at) }), e;
|
|
8929
9001
|
}
|
|
8930
9002
|
/**
|
|
8931
9003
|
* Build a lookup map from metadata field key → field definition.
|
|
@@ -9048,7 +9120,7 @@ let D = class extends k {
|
|
|
9048
9120
|
_renderTagsRow(t) {
|
|
9049
9121
|
const e = this._getTagEntries(t.tags);
|
|
9050
9122
|
return e.length === 0 ? f : n`
|
|
9051
|
-
<div class="meta-row"
|
|
9123
|
+
<div class="meta-row">
|
|
9052
9124
|
<span class="meta-label">Tags</span>
|
|
9053
9125
|
<div class="tags-list">
|
|
9054
9126
|
${e.map((a) => n`
|
|
@@ -9059,21 +9131,22 @@ let D = class extends k {
|
|
|
9059
9131
|
`;
|
|
9060
9132
|
}
|
|
9061
9133
|
render() {
|
|
9062
|
-
var H, T, R,
|
|
9134
|
+
var H, T, R, U, ne, fe, Ae, et;
|
|
9063
9135
|
const t = this.asset;
|
|
9064
9136
|
if (!t) return f;
|
|
9065
|
-
const e = Oe(t.type), a = e === "image", s = e === "video", i = e === "audio", r = ((H = t.extension) == null ? void 0 : H.toLowerCase()) === "pdf", o = yt(t.extension || ""), l =
|
|
9137
|
+
const e = Oe(t.type), a = e === "image", s = e === "video", i = e === "audio", r = ((H = t.extension) == null ? void 0 : H.toLowerCase()) === "pdf", o = yt(t.extension || ""), l = Ut(t.extension || ""), c = ((T = t.extension) == null ? void 0 : T.toLowerCase()) === "svg", p = ct(t), u = a ? c ? ((R = t.url) == null ? void 0 : R.cdn) || "" : p || Ie(((U = t.url) == null ? void 0 : U.cdn) || "", this.containerToken) : "", v = a ? this._getFullscreenImageUrl(t) : "", d = a && !c ? this._getBlurDimensions(t) : null, g = s && ((ne = t.url) == null ? void 0 : ne.cdn) || "", b = s && (((fe = t.info) == null ? void 0 : fe.video_thumbnail) || ((Ae = t.info) == null ? void 0 : Ae.preview)) || "", k = r && !a ? Nt(t) : "", _ = this._getCurrentIndex(), A = _ > 0 && this._findNavTarget(_, -1) >= 0, F = _ >= 0 && this._findNavTarget(_, 1) >= 0, P = this.assets.length > 1;
|
|
9066
9138
|
return n`
|
|
9067
9139
|
<div class="panel">
|
|
9068
9140
|
<div class="panel-header">
|
|
9069
9141
|
<span class="panel-title" title=${t.name}>${t.name}</span>
|
|
9070
9142
|
<div class="header-actions">
|
|
9071
|
-
<button class="icon-btn" @click=${this._fullscreen} ?disabled=${!a && !s && !i && !r} aria-label="Fullscreen">
|
|
9143
|
+
<button class="icon-btn" @click=${this._fullscreen} ?disabled=${!a && !s && !i && !r} aria-label="Fullscreen" title="Full screen">
|
|
9072
9144
|
<ap-icon name="fullscreen" .size=${16}></ap-icon>
|
|
9073
9145
|
</button>
|
|
9074
|
-
<button class="icon-btn ${this.asset && this.selectedIds.includes(this.asset.uuid) ? "selected" : ""}" @click=${this._select} aria-label="Select">
|
|
9146
|
+
<button class="icon-btn ${this.asset && this.selectedIds.includes(this.asset.uuid) ? "selected" : ""}" @click=${this._select} aria-label="Select" title="Select the asset">
|
|
9075
9147
|
<ap-icon name="select" .size=${16}></ap-icon>
|
|
9076
9148
|
</button>
|
|
9149
|
+
<div class="header-divider"></div>
|
|
9077
9150
|
<button class="icon-btn" @click=${this._close} aria-label="Close">
|
|
9078
9151
|
<ap-icon name="close" .size=${16}></ap-icon>
|
|
9079
9152
|
</button>
|
|
@@ -9081,7 +9154,7 @@ let D = class extends k {
|
|
|
9081
9154
|
</div>
|
|
9082
9155
|
|
|
9083
9156
|
<div class="preview-area ${a && l ? "chess" : ""}">
|
|
9084
|
-
${
|
|
9157
|
+
${P ? n`
|
|
9085
9158
|
<button class="nav-btn prev" @click=${this._prev} ?disabled=${!A} aria-label="Previous">
|
|
9086
9159
|
<ap-icon name="chevron-left" .size=${16}></ap-icon>
|
|
9087
9160
|
</button>
|
|
@@ -9125,7 +9198,7 @@ let D = class extends k {
|
|
|
9125
9198
|
/>
|
|
9126
9199
|
</div>
|
|
9127
9200
|
` : f}
|
|
9128
|
-
${s ? n`<video src=${g} poster=${b || f} controls @loadeddata=${() => {
|
|
9201
|
+
${s ? n`<video src=${g} poster=${b || f} controls controlsList="nofullscreen" @loadeddata=${() => {
|
|
9129
9202
|
this._previewLoading = !1;
|
|
9130
9203
|
}} @error=${() => {
|
|
9131
9204
|
this._previewLoading = !1;
|
|
@@ -9133,9 +9206,9 @@ let D = class extends k {
|
|
|
9133
9206
|
${i ? n`<audio src=${((et = t.url) == null ? void 0 : et.cdn) || ""} controls></audio>` : f}
|
|
9134
9207
|
${r && !a ? n`
|
|
9135
9208
|
<img
|
|
9136
|
-
src=${
|
|
9209
|
+
src=${k || o}
|
|
9137
9210
|
alt=${t.name}
|
|
9138
|
-
class=${
|
|
9211
|
+
class=${k ? "" : "icon-fallback"}
|
|
9139
9212
|
@error=${(ve) => {
|
|
9140
9213
|
const me = ve.target;
|
|
9141
9214
|
me.src !== o && (me.src = o, me.classList.add("icon-fallback"));
|
|
@@ -9178,11 +9251,13 @@ D.styles = $`
|
|
|
9178
9251
|
display: flex;
|
|
9179
9252
|
align-items: center;
|
|
9180
9253
|
justify-content: space-between;
|
|
9181
|
-
|
|
9182
|
-
|
|
9254
|
+
gap: 12px;
|
|
9255
|
+
height: 50px;
|
|
9256
|
+
min-height: 50px;
|
|
9257
|
+
padding: 0 16px;
|
|
9183
9258
|
}
|
|
9184
9259
|
.panel-title {
|
|
9185
|
-
font-size:
|
|
9260
|
+
font-size: 14px;
|
|
9186
9261
|
font-weight: 600;
|
|
9187
9262
|
color: var(--ap-foreground, oklch(0.37 0.022 248.413));
|
|
9188
9263
|
white-space: nowrap;
|
|
@@ -9192,8 +9267,15 @@ D.styles = $`
|
|
|
9192
9267
|
}
|
|
9193
9268
|
.header-actions {
|
|
9194
9269
|
display: flex;
|
|
9270
|
+
align-items: center;
|
|
9195
9271
|
gap: 4px;
|
|
9196
9272
|
}
|
|
9273
|
+
.header-divider {
|
|
9274
|
+
width: 1px;
|
|
9275
|
+
height: 16px;
|
|
9276
|
+
background: var(--ap-border, oklch(92.86% 0.009 247.92));
|
|
9277
|
+
margin: 0 2px;
|
|
9278
|
+
}
|
|
9197
9279
|
.icon-btn {
|
|
9198
9280
|
display: flex;
|
|
9199
9281
|
align-items: center;
|
|
@@ -9388,7 +9470,7 @@ D.styles = $`
|
|
|
9388
9470
|
.tags-list {
|
|
9389
9471
|
display: flex;
|
|
9390
9472
|
flex-wrap: wrap;
|
|
9391
|
-
gap:
|
|
9473
|
+
gap: 8px;
|
|
9392
9474
|
}
|
|
9393
9475
|
.tag-link {
|
|
9394
9476
|
cursor: pointer;
|
|
@@ -9398,9 +9480,6 @@ D.styles = $`
|
|
|
9398
9480
|
opacity: 0.75;
|
|
9399
9481
|
}
|
|
9400
9482
|
/* Accordion styles */
|
|
9401
|
-
.accordion {
|
|
9402
|
-
border-top: 1px solid var(--ap-border, oklch(92.86% 0.009 247.92));
|
|
9403
|
-
}
|
|
9404
9483
|
.accordion-trigger {
|
|
9405
9484
|
display: flex;
|
|
9406
9485
|
align-items: center;
|
|
@@ -9437,10 +9516,6 @@ D.styles = $`
|
|
|
9437
9516
|
display: flex;
|
|
9438
9517
|
gap: 12px;
|
|
9439
9518
|
padding: 6px 0;
|
|
9440
|
-
border-bottom: 1px solid var(--ap-border, oklch(92.86% 0.009 247.92));
|
|
9441
|
-
}
|
|
9442
|
-
.meta-row:last-child {
|
|
9443
|
-
border-bottom: none;
|
|
9444
9519
|
}
|
|
9445
9520
|
.meta-label {
|
|
9446
9521
|
font-size: 0.8125rem;
|
|
@@ -9509,207 +9584,24 @@ z([
|
|
|
9509
9584
|
y()
|
|
9510
9585
|
], D.prototype, "_openSections", 2);
|
|
9511
9586
|
D = z([
|
|
9512
|
-
|
|
9587
|
+
C("ap-preview-panel")
|
|
9513
9588
|
], D);
|
|
9514
|
-
var Qi = Object.defineProperty, Zi = Object.getOwnPropertyDescriptor,
|
|
9589
|
+
var Qi = Object.defineProperty, Zi = Object.getOwnPropertyDescriptor, Vt = (t, e, a, s) => {
|
|
9515
9590
|
for (var i = s > 1 ? void 0 : s ? Zi(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
9516
9591
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
9517
9592
|
return s && i && Qi(e, a, i), i;
|
|
9518
9593
|
};
|
|
9519
|
-
|
|
9520
|
-
constructor() {
|
|
9521
|
-
super(...arguments), this.selectedAssets = [], this.totalCount = 0, this.isSelectingAll = !1, this.multiSelect = !0;
|
|
9522
|
-
}
|
|
9523
|
-
_confirm() {
|
|
9524
|
-
this.dispatchEvent(new CustomEvent("selection-confirm", {
|
|
9525
|
-
detail: { assets: this.selectedAssets },
|
|
9526
|
-
bubbles: !0,
|
|
9527
|
-
composed: !0
|
|
9528
|
-
}));
|
|
9529
|
-
}
|
|
9530
|
-
_clear() {
|
|
9531
|
-
this.dispatchEvent(new CustomEvent("selection-clear", { bubbles: !0, composed: !0 }));
|
|
9532
|
-
}
|
|
9533
|
-
_selectAll() {
|
|
9534
|
-
this.dispatchEvent(new CustomEvent("select-all", { bubbles: !0, composed: !0 }));
|
|
9535
|
-
}
|
|
9536
|
-
render() {
|
|
9537
|
-
return this.selectedAssets.length === 0 ? f : n`
|
|
9538
|
-
<div class="bar">
|
|
9539
|
-
<span class="count">${this.selectedAssets.length} selected</span>
|
|
9540
|
-
<span class="select-label">Select:</span>
|
|
9541
|
-
${this.multiSelect && this.selectedAssets.length < this.totalCount && (!this.maxSelections || this.selectedAssets.length < this.maxSelections) ? n`<button
|
|
9542
|
-
class="bar-link"
|
|
9543
|
-
?disabled=${this.isSelectingAll}
|
|
9544
|
-
@click=${this._selectAll}
|
|
9545
|
-
>${this.isSelectingAll ? "Selecting..." : this.maxSelections && this.maxSelections < this.totalCount ? `First ${this.maxSelections}` : "All assets"}</button>` : f}
|
|
9546
|
-
<button class="bar-link" @click=${this._clear}>None</button>
|
|
9547
|
-
${this.maxSelections && this.selectedAssets.length >= this.maxSelections ? n`<span class="limit-notice">Max ${this.maxSelections} allowed</span>` : f}
|
|
9548
|
-
<div class="spacer"></div>
|
|
9549
|
-
<div class="actions">
|
|
9550
|
-
<button class="btn btn-primary" @click=${this._confirm}>Confirm</button>
|
|
9551
|
-
</div>
|
|
9552
|
-
</div>
|
|
9553
|
-
`;
|
|
9554
|
-
}
|
|
9555
|
-
};
|
|
9556
|
-
he.styles = $`
|
|
9557
|
-
:host {
|
|
9558
|
-
display: block;
|
|
9559
|
-
}
|
|
9560
|
-
.bar {
|
|
9561
|
-
display: flex;
|
|
9562
|
-
align-items: center;
|
|
9563
|
-
padding: 12px 20px;
|
|
9564
|
-
background: var(--ap-primary, oklch(0.578 0.198 268.129));
|
|
9565
|
-
animation: ap-bar-in 250ms ease-out;
|
|
9566
|
-
}
|
|
9567
|
-
@keyframes ap-bar-in {
|
|
9568
|
-
from { transform: translateY(100%); }
|
|
9569
|
-
to { transform: translateY(0); }
|
|
9570
|
-
}
|
|
9571
|
-
.count {
|
|
9572
|
-
font-size: var(--ap-font-size-sm, 0.875rem);
|
|
9573
|
-
font-weight: 400;
|
|
9574
|
-
color: var(--ap-primary-foreground, oklch(1 0 0));
|
|
9575
|
-
white-space: nowrap;
|
|
9576
|
-
}
|
|
9577
|
-
.select-label {
|
|
9578
|
-
font-size: var(--ap-font-size-sm, 0.875rem);
|
|
9579
|
-
color: oklch(1 0 0 / 0.7);
|
|
9580
|
-
margin-left: 24px;
|
|
9581
|
-
white-space: nowrap;
|
|
9582
|
-
}
|
|
9583
|
-
.bar-link {
|
|
9584
|
-
font-size: var(--ap-font-size-sm, 0.875rem);
|
|
9585
|
-
color: var(--ap-primary-foreground, oklch(1 0 0));
|
|
9586
|
-
background: none;
|
|
9587
|
-
border: none;
|
|
9588
|
-
cursor: pointer;
|
|
9589
|
-
padding: 0;
|
|
9590
|
-
margin-left: 8px;
|
|
9591
|
-
font-weight: 600;
|
|
9592
|
-
font-family: var(--ap-font-family, system-ui, sans-serif);
|
|
9593
|
-
white-space: nowrap;
|
|
9594
|
-
}
|
|
9595
|
-
.bar-link:hover {
|
|
9596
|
-
text-decoration: underline;
|
|
9597
|
-
}
|
|
9598
|
-
.bar-link:disabled {
|
|
9599
|
-
opacity: 0.5;
|
|
9600
|
-
cursor: default;
|
|
9601
|
-
text-decoration: none;
|
|
9602
|
-
}
|
|
9603
|
-
.limit-notice {
|
|
9604
|
-
font-size: var(--ap-font-size-xs, 0.75rem);
|
|
9605
|
-
color: oklch(1 0 0 / 0.7);
|
|
9606
|
-
margin-left: 8px;
|
|
9607
|
-
white-space: nowrap;
|
|
9608
|
-
}
|
|
9609
|
-
.spacer {
|
|
9610
|
-
flex: 1;
|
|
9611
|
-
}
|
|
9612
|
-
.actions {
|
|
9613
|
-
display: flex;
|
|
9614
|
-
gap: 8px;
|
|
9615
|
-
}
|
|
9616
|
-
.btn {
|
|
9617
|
-
padding: 8px 20px;
|
|
9618
|
-
border: none;
|
|
9619
|
-
border-radius: var(--ap-radius-sm, 6px);
|
|
9620
|
-
font-size: var(--ap-font-size-sm, 0.875rem);
|
|
9621
|
-
font-weight: 500;
|
|
9622
|
-
cursor: pointer;
|
|
9623
|
-
transition: opacity 100ms;
|
|
9624
|
-
font-family: var(--ap-font-family, system-ui, sans-serif);
|
|
9625
|
-
}
|
|
9626
|
-
.btn:hover {
|
|
9627
|
-
opacity: 0.9;
|
|
9628
|
-
}
|
|
9629
|
-
.btn-primary {
|
|
9630
|
-
background: transparent;
|
|
9631
|
-
color: var(--ap-primary-foreground, oklch(1 0 0));
|
|
9632
|
-
border: 1px solid var(--ap-primary-foreground, oklch(1 0 0));
|
|
9633
|
-
}
|
|
9634
|
-
@media (prefers-reduced-motion: reduce) {
|
|
9635
|
-
.bar { animation: none; }
|
|
9636
|
-
}
|
|
9637
|
-
`;
|
|
9638
|
-
Ne([
|
|
9639
|
-
h({ type: Array })
|
|
9640
|
-
], he.prototype, "selectedAssets", 2);
|
|
9641
|
-
Ne([
|
|
9642
|
-
h({ type: Number })
|
|
9643
|
-
], he.prototype, "totalCount", 2);
|
|
9644
|
-
Ne([
|
|
9645
|
-
h({ type: Boolean })
|
|
9646
|
-
], he.prototype, "isSelectingAll", 2);
|
|
9647
|
-
Ne([
|
|
9648
|
-
h({ type: Boolean })
|
|
9649
|
-
], he.prototype, "multiSelect", 2);
|
|
9650
|
-
Ne([
|
|
9651
|
-
h({ type: Number })
|
|
9652
|
-
], he.prototype, "maxSelections", 2);
|
|
9653
|
-
he = Ne([
|
|
9654
|
-
S("ap-selection-bar")
|
|
9655
|
-
], he);
|
|
9656
|
-
var Ji = Object.defineProperty, er = Object.getOwnPropertyDescriptor, Vt = (t, e, a, s) => {
|
|
9657
|
-
for (var i = s > 1 ? void 0 : s ? er(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
9658
|
-
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
9659
|
-
return s && i && Ji(e, a, i), i;
|
|
9660
|
-
};
|
|
9661
|
-
let Ye = class extends k {
|
|
9662
|
-
constructor() {
|
|
9663
|
-
super(...arguments), this.active = !1, this.rect = { x: 0, y: 0, width: 0, height: 0 };
|
|
9664
|
-
}
|
|
9665
|
-
render() {
|
|
9666
|
-
return !this.active || this.rect.width < 5 || this.rect.height < 5 ? f : n`
|
|
9667
|
-
<div
|
|
9668
|
-
class="marquee"
|
|
9669
|
-
style="left:${this.rect.x}px;top:${this.rect.y}px;width:${this.rect.width}px;height:${this.rect.height}px"
|
|
9670
|
-
></div>
|
|
9671
|
-
`;
|
|
9672
|
-
}
|
|
9673
|
-
};
|
|
9674
|
-
Ye.styles = $`
|
|
9675
|
-
:host {
|
|
9676
|
-
display: block;
|
|
9677
|
-
position: absolute;
|
|
9678
|
-
top: 0;
|
|
9679
|
-
left: 0;
|
|
9680
|
-
width: 100%;
|
|
9681
|
-
min-height: 100%;
|
|
9682
|
-
pointer-events: none;
|
|
9683
|
-
z-index: 10;
|
|
9684
|
-
}
|
|
9685
|
-
.marquee {
|
|
9686
|
-
position: absolute;
|
|
9687
|
-
border: 2px solid var(--ap-primary, oklch(0.578 0.198 268.129));
|
|
9688
|
-
background: var(--ap-primary-10, oklch(0.578 0.198 268.129 / 0.1));
|
|
9689
|
-
border-radius: 2px;
|
|
9690
|
-
}
|
|
9691
|
-
`;
|
|
9692
|
-
Vt([
|
|
9693
|
-
h({ type: Boolean })
|
|
9694
|
-
], Ye.prototype, "active", 2);
|
|
9695
|
-
Vt([
|
|
9696
|
-
h({ type: Object })
|
|
9697
|
-
], Ye.prototype, "rect", 2);
|
|
9698
|
-
Ye = Vt([
|
|
9699
|
-
S("ap-marquee-overlay")
|
|
9700
|
-
], Ye);
|
|
9701
|
-
var tr = Object.defineProperty, ar = Object.getOwnPropertyDescriptor, qt = (t, e, a, s) => {
|
|
9702
|
-
for (var i = s > 1 ? void 0 : s ? ar(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
9703
|
-
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
9704
|
-
return s && i && tr(e, a, i), i;
|
|
9705
|
-
};
|
|
9706
|
-
const sr = {
|
|
9594
|
+
const Ji = {
|
|
9707
9595
|
// ── Navigation & Actions ────────────────────────────────────────────
|
|
9708
9596
|
search: [
|
|
9709
9597
|
{ tag: "circle", attrs: { cx: "11", cy: "11", r: "8" } },
|
|
9710
9598
|
{ tag: "path", attrs: { d: "m21 21-4.3-4.3" } }
|
|
9711
9599
|
],
|
|
9712
9600
|
check: "M20 6 9 17l-5-5",
|
|
9601
|
+
"check-check": [
|
|
9602
|
+
{ tag: "path", attrs: { d: "M18 6 7 17l-5-5" } },
|
|
9603
|
+
{ tag: "path", attrs: { d: "m22 10-7.5 7.5L13 16" } }
|
|
9604
|
+
],
|
|
9713
9605
|
close: [
|
|
9714
9606
|
{ tag: "path", attrs: { d: "M18 6 6 18" } },
|
|
9715
9607
|
{ tag: "path", attrs: { d: "m6 6 12 12" } }
|
|
@@ -9860,6 +9752,10 @@ const sr = {
|
|
|
9860
9752
|
// ── Folders ─────────────────────────────────────────────────────────
|
|
9861
9753
|
folder: "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",
|
|
9862
9754
|
"folder-open": "m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",
|
|
9755
|
+
inbox: [
|
|
9756
|
+
{ tag: "path", attrs: { d: "M22 12L16 12L14 15L10 15L8 12L2 12" } },
|
|
9757
|
+
{ tag: "path", attrs: { d: "M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z" } }
|
|
9758
|
+
],
|
|
9863
9759
|
// ── Labels & Tags ──────────────────────────────────────────────────
|
|
9864
9760
|
tags: [
|
|
9865
9761
|
{ tag: "path", attrs: { d: "M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z" } },
|
|
@@ -10026,6 +9922,11 @@ const sr = {
|
|
|
10026
9922
|
{ tag: "path", attrs: { d: "M4 9h2" } },
|
|
10027
9923
|
{ tag: "path", attrs: { d: "M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02" } }
|
|
10028
9924
|
],
|
|
9925
|
+
// ── Plus ───────────────────────────────────────────────────────────
|
|
9926
|
+
plus: [
|
|
9927
|
+
{ tag: "path", attrs: { d: "M5 12h14" } },
|
|
9928
|
+
{ tag: "path", attrs: { d: "M12 5v14" } }
|
|
9929
|
+
],
|
|
10029
9930
|
// ── Misc ────────────────────────────────────────────────────────────
|
|
10030
9931
|
component: [
|
|
10031
9932
|
{ tag: "path", attrs: { d: "M15.536 11.293a1 1 0 0 0 0 1.414l2.376 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z" } },
|
|
@@ -10034,12 +9935,12 @@ const sr = {
|
|
|
10034
9935
|
{ tag: "path", attrs: { d: "M8.916 4.674a1 1 0 0 0 0 1.414l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z" } }
|
|
10035
9936
|
]
|
|
10036
9937
|
};
|
|
10037
|
-
let
|
|
9938
|
+
let Ye = class extends S {
|
|
10038
9939
|
constructor() {
|
|
10039
9940
|
super(...arguments), this.name = "", this.size = 20;
|
|
10040
9941
|
}
|
|
10041
9942
|
render() {
|
|
10042
|
-
const t =
|
|
9943
|
+
const t = Ji[this.name];
|
|
10043
9944
|
if (!t) return f;
|
|
10044
9945
|
const e = typeof t == "string" ? ce`<path d=${t}></path>` : t.map((a) => {
|
|
10045
9946
|
const { tag: s, attrs: i } = a;
|
|
@@ -10060,7 +9961,7 @@ let Xe = class extends k {
|
|
|
10060
9961
|
`;
|
|
10061
9962
|
}
|
|
10062
9963
|
};
|
|
10063
|
-
|
|
9964
|
+
Ye.styles = [
|
|
10064
9965
|
$`
|
|
10065
9966
|
:host {
|
|
10066
9967
|
display: inline-flex;
|
|
@@ -10073,21 +9974,213 @@ Xe.styles = [
|
|
|
10073
9974
|
}
|
|
10074
9975
|
`
|
|
10075
9976
|
];
|
|
10076
|
-
|
|
9977
|
+
Vt([
|
|
10077
9978
|
h()
|
|
10078
|
-
],
|
|
10079
|
-
|
|
9979
|
+
], Ye.prototype, "name", 2);
|
|
9980
|
+
Vt([
|
|
10080
9981
|
h({ type: Number })
|
|
10081
|
-
],
|
|
9982
|
+
], Ye.prototype, "size", 2);
|
|
9983
|
+
Ye = Vt([
|
|
9984
|
+
C("ap-icon")
|
|
9985
|
+
], Ye);
|
|
9986
|
+
var er = Object.defineProperty, tr = Object.getOwnPropertyDescriptor, Ne = (t, e, a, s) => {
|
|
9987
|
+
for (var i = s > 1 ? void 0 : s ? tr(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
9988
|
+
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
9989
|
+
return s && i && er(e, a, i), i;
|
|
9990
|
+
};
|
|
9991
|
+
let he = class extends S {
|
|
9992
|
+
constructor() {
|
|
9993
|
+
super(...arguments), this.selectedAssets = [], this.totalCount = 0, this.isSelectingAll = !1, this.multiSelect = !0;
|
|
9994
|
+
}
|
|
9995
|
+
_confirm() {
|
|
9996
|
+
this.dispatchEvent(new CustomEvent("selection-confirm", {
|
|
9997
|
+
detail: { assets: this.selectedAssets },
|
|
9998
|
+
bubbles: !0,
|
|
9999
|
+
composed: !0
|
|
10000
|
+
}));
|
|
10001
|
+
}
|
|
10002
|
+
_clear() {
|
|
10003
|
+
this.dispatchEvent(new CustomEvent("selection-clear", { bubbles: !0, composed: !0 }));
|
|
10004
|
+
}
|
|
10005
|
+
_selectAll() {
|
|
10006
|
+
this.dispatchEvent(new CustomEvent("select-all", { bubbles: !0, composed: !0 }));
|
|
10007
|
+
}
|
|
10008
|
+
render() {
|
|
10009
|
+
return this.selectedAssets.length === 0 ? f : n`
|
|
10010
|
+
<div class="bar">
|
|
10011
|
+
<span class="count">${this.selectedAssets.length} selected</span>
|
|
10012
|
+
<span class="divider"></span>
|
|
10013
|
+
<span class="select-label">Select:</span>
|
|
10014
|
+
${this.multiSelect && this.selectedAssets.length < this.totalCount && (!this.maxSelections || this.selectedAssets.length < this.maxSelections) ? n`<button
|
|
10015
|
+
class="bar-btn"
|
|
10016
|
+
?disabled=${this.isSelectingAll}
|
|
10017
|
+
@click=${this._selectAll}
|
|
10018
|
+
><ap-icon name="check-check" .size=${14}></ap-icon>${this.isSelectingAll ? "Selecting..." : this.maxSelections && this.maxSelections < this.totalCount ? `First ${this.maxSelections}` : "Select all"}</button>` : f}
|
|
10019
|
+
<button class="bar-btn" @click=${this._clear}><ap-icon name="close" .size=${14}></ap-icon>Deselect all</button>
|
|
10020
|
+
${this.maxSelections && this.selectedAssets.length >= this.maxSelections ? n`<span class="limit-notice">Max ${this.maxSelections} allowed</span>` : f}
|
|
10021
|
+
<div class="spacer"></div>
|
|
10022
|
+
<button class="btn-confirm" @click=${this._confirm}>Confirm</button>
|
|
10023
|
+
</div>
|
|
10024
|
+
`;
|
|
10025
|
+
}
|
|
10026
|
+
};
|
|
10027
|
+
he.styles = $`
|
|
10028
|
+
:host {
|
|
10029
|
+
display: block;
|
|
10030
|
+
padding: 0 8px 8px;
|
|
10031
|
+
}
|
|
10032
|
+
.bar {
|
|
10033
|
+
display: flex;
|
|
10034
|
+
align-items: center;
|
|
10035
|
+
padding: 12px 20px;
|
|
10036
|
+
background: var(--ap-primary, oklch(0.578 0.198 268.129));
|
|
10037
|
+
border-radius: var(--ap-radius-lg, 12px);
|
|
10038
|
+
animation: ap-bar-in 250ms ease-out;
|
|
10039
|
+
}
|
|
10040
|
+
@keyframes ap-bar-in {
|
|
10041
|
+
from { transform: translateY(100%); }
|
|
10042
|
+
to { transform: translateY(0); }
|
|
10043
|
+
}
|
|
10044
|
+
.count {
|
|
10045
|
+
font-size: var(--ap-font-size-sm, 0.875rem);
|
|
10046
|
+
font-weight: 400;
|
|
10047
|
+
color: var(--ap-primary-foreground, oklch(1 0 0));
|
|
10048
|
+
white-space: nowrap;
|
|
10049
|
+
}
|
|
10050
|
+
.divider {
|
|
10051
|
+
width: 1px;
|
|
10052
|
+
height: 20px;
|
|
10053
|
+
background: oklch(1 0 0 / 0.3);
|
|
10054
|
+
margin: 0 16px;
|
|
10055
|
+
flex-shrink: 0;
|
|
10056
|
+
}
|
|
10057
|
+
.select-label {
|
|
10058
|
+
font-size: var(--ap-font-size-sm, 0.875rem);
|
|
10059
|
+
color: oklch(1 0 0 / 0.7);
|
|
10060
|
+
white-space: nowrap;
|
|
10061
|
+
}
|
|
10062
|
+
.bar-btn {
|
|
10063
|
+
display: inline-flex;
|
|
10064
|
+
align-items: center;
|
|
10065
|
+
gap: 6px;
|
|
10066
|
+
height: 32px;
|
|
10067
|
+
font-size: var(--ap-font-size-sm, 0.875rem);
|
|
10068
|
+
color: var(--ap-primary-foreground, oklch(1 0 0));
|
|
10069
|
+
background: none;
|
|
10070
|
+
border: none;
|
|
10071
|
+
cursor: pointer;
|
|
10072
|
+
padding: 0 14px;
|
|
10073
|
+
margin-left: 8px;
|
|
10074
|
+
font-weight: 500;
|
|
10075
|
+
font-family: var(--ap-font-family, system-ui, sans-serif);
|
|
10076
|
+
white-space: nowrap;
|
|
10077
|
+
border-radius: var(--ap-radius-sm, 6px);
|
|
10078
|
+
transition: background 100ms;
|
|
10079
|
+
}
|
|
10080
|
+
.bar-btn:hover {
|
|
10081
|
+
background: oklch(1 0 0 / 0.1);
|
|
10082
|
+
}
|
|
10083
|
+
.bar-btn:disabled {
|
|
10084
|
+
opacity: 0.5;
|
|
10085
|
+
cursor: default;
|
|
10086
|
+
}
|
|
10087
|
+
.limit-notice {
|
|
10088
|
+
font-size: var(--ap-font-size-xs, 0.75rem);
|
|
10089
|
+
color: oklch(1 0 0 / 0.7);
|
|
10090
|
+
margin-left: 8px;
|
|
10091
|
+
white-space: nowrap;
|
|
10092
|
+
}
|
|
10093
|
+
.spacer {
|
|
10094
|
+
flex: 1;
|
|
10095
|
+
}
|
|
10096
|
+
.btn-confirm {
|
|
10097
|
+
padding: 8px 24px;
|
|
10098
|
+
border: 1.5px solid var(--ap-primary-foreground, oklch(1 0 0));
|
|
10099
|
+
border-radius: var(--ap-radius-sm, 6px);
|
|
10100
|
+
font-size: var(--ap-font-size-sm, 0.875rem);
|
|
10101
|
+
font-weight: 500;
|
|
10102
|
+
cursor: pointer;
|
|
10103
|
+
transition: background 100ms;
|
|
10104
|
+
font-family: var(--ap-font-family, system-ui, sans-serif);
|
|
10105
|
+
background: transparent;
|
|
10106
|
+
color: var(--ap-primary-foreground, oklch(1 0 0));
|
|
10107
|
+
}
|
|
10108
|
+
.btn-confirm:hover {
|
|
10109
|
+
background: oklch(1 0 0 / 0.1);
|
|
10110
|
+
}
|
|
10111
|
+
@media (prefers-reduced-motion: reduce) {
|
|
10112
|
+
.bar { animation: none; }
|
|
10113
|
+
}
|
|
10114
|
+
`;
|
|
10115
|
+
Ne([
|
|
10116
|
+
h({ type: Array })
|
|
10117
|
+
], he.prototype, "selectedAssets", 2);
|
|
10118
|
+
Ne([
|
|
10119
|
+
h({ type: Number })
|
|
10120
|
+
], he.prototype, "totalCount", 2);
|
|
10121
|
+
Ne([
|
|
10122
|
+
h({ type: Boolean })
|
|
10123
|
+
], he.prototype, "isSelectingAll", 2);
|
|
10124
|
+
Ne([
|
|
10125
|
+
h({ type: Boolean })
|
|
10126
|
+
], he.prototype, "multiSelect", 2);
|
|
10127
|
+
Ne([
|
|
10128
|
+
h({ type: Number })
|
|
10129
|
+
], he.prototype, "maxSelections", 2);
|
|
10130
|
+
he = Ne([
|
|
10131
|
+
C("ap-selection-bar")
|
|
10132
|
+
], he);
|
|
10133
|
+
var ar = Object.defineProperty, sr = Object.getOwnPropertyDescriptor, qt = (t, e, a, s) => {
|
|
10134
|
+
for (var i = s > 1 ? void 0 : s ? sr(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
10135
|
+
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
10136
|
+
return s && i && ar(e, a, i), i;
|
|
10137
|
+
};
|
|
10138
|
+
let Xe = class extends S {
|
|
10139
|
+
constructor() {
|
|
10140
|
+
super(...arguments), this.active = !1, this.rect = { x: 0, y: 0, width: 0, height: 0 };
|
|
10141
|
+
}
|
|
10142
|
+
render() {
|
|
10143
|
+
return !this.active || this.rect.width < 5 || this.rect.height < 5 ? f : n`
|
|
10144
|
+
<div
|
|
10145
|
+
class="marquee"
|
|
10146
|
+
style="left:${this.rect.x}px;top:${this.rect.y}px;width:${this.rect.width}px;height:${this.rect.height}px"
|
|
10147
|
+
></div>
|
|
10148
|
+
`;
|
|
10149
|
+
}
|
|
10150
|
+
};
|
|
10151
|
+
Xe.styles = $`
|
|
10152
|
+
:host {
|
|
10153
|
+
display: block;
|
|
10154
|
+
position: absolute;
|
|
10155
|
+
top: 0;
|
|
10156
|
+
left: 0;
|
|
10157
|
+
width: 100%;
|
|
10158
|
+
min-height: 100%;
|
|
10159
|
+
pointer-events: none;
|
|
10160
|
+
z-index: 10;
|
|
10161
|
+
}
|
|
10162
|
+
.marquee {
|
|
10163
|
+
position: absolute;
|
|
10164
|
+
border: 2px solid var(--ap-primary, oklch(0.578 0.198 268.129));
|
|
10165
|
+
background: var(--ap-primary-10, oklch(0.578 0.198 268.129 / 0.1));
|
|
10166
|
+
border-radius: 2px;
|
|
10167
|
+
}
|
|
10168
|
+
`;
|
|
10169
|
+
qt([
|
|
10170
|
+
h({ type: Boolean })
|
|
10171
|
+
], Xe.prototype, "active", 2);
|
|
10172
|
+
qt([
|
|
10173
|
+
h({ type: Object })
|
|
10174
|
+
], Xe.prototype, "rect", 2);
|
|
10082
10175
|
Xe = qt([
|
|
10083
|
-
|
|
10176
|
+
C("ap-marquee-overlay")
|
|
10084
10177
|
], Xe);
|
|
10085
|
-
var ir = Object.defineProperty, rr = Object.getOwnPropertyDescriptor,
|
|
10178
|
+
var ir = Object.defineProperty, rr = Object.getOwnPropertyDescriptor, Ea = (t, e, a, s) => {
|
|
10086
10179
|
for (var i = s > 1 ? void 0 : s ? rr(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
10087
10180
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
10088
10181
|
return s && i && ir(e, a, i), i;
|
|
10089
10182
|
};
|
|
10090
|
-
let ut = class extends
|
|
10183
|
+
let ut = class extends S {
|
|
10091
10184
|
constructor() {
|
|
10092
10185
|
super(...arguments), this.size = 24;
|
|
10093
10186
|
}
|
|
@@ -10111,18 +10204,18 @@ ut.styles = [
|
|
|
10111
10204
|
}
|
|
10112
10205
|
`
|
|
10113
10206
|
];
|
|
10114
|
-
|
|
10207
|
+
Ea([
|
|
10115
10208
|
h({ type: Number })
|
|
10116
10209
|
], ut.prototype, "size", 2);
|
|
10117
|
-
ut =
|
|
10118
|
-
|
|
10210
|
+
ut = Ea([
|
|
10211
|
+
C("ap-spinner")
|
|
10119
10212
|
], ut);
|
|
10120
10213
|
var or = Object.defineProperty, nr = Object.getOwnPropertyDescriptor, xt = (t, e, a, s) => {
|
|
10121
10214
|
for (var i = s > 1 ? void 0 : s ? nr(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
10122
10215
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
10123
10216
|
return s && i && or(e, a, i), i;
|
|
10124
10217
|
};
|
|
10125
|
-
let De = class extends
|
|
10218
|
+
let De = class extends S {
|
|
10126
10219
|
constructor() {
|
|
10127
10220
|
super(...arguments), this.checked = !1, this.indeterminate = !1, this.disabled = !1, this._hasLabel = !1, this._handleHostClick = () => {
|
|
10128
10221
|
this.dispatchEvent(new CustomEvent("ap-toggle", {
|
|
@@ -10174,6 +10267,9 @@ De.styles = [
|
|
|
10174
10267
|
transition: all 150ms;
|
|
10175
10268
|
background: var(--ap-background, oklch(1 0 0));
|
|
10176
10269
|
}
|
|
10270
|
+
:host(:hover) .box {
|
|
10271
|
+
border-color: var(--ap-secondary-foreground-50, oklch(53.03% 0.039 249.89 / 0.5));
|
|
10272
|
+
}
|
|
10177
10273
|
:host([checked]) .box {
|
|
10178
10274
|
background: var(--ap-primary, oklch(0.578 0.198 268.129));
|
|
10179
10275
|
border-color: var(--ap-primary, oklch(0.578 0.198 268.129));
|
|
@@ -10204,9 +10300,14 @@ De.styles = [
|
|
|
10204
10300
|
pointer-events: none;
|
|
10205
10301
|
}
|
|
10206
10302
|
.label {
|
|
10207
|
-
margin-left: 8px;
|
|
10303
|
+
margin-left: var(--ap-checkbox-gap, 8px);
|
|
10208
10304
|
font-size: var(--ap-font-size-sm, 0.875rem);
|
|
10209
10305
|
color: var(--ap-foreground, oklch(0.37 0.022 248.413));
|
|
10306
|
+
display: inline-flex;
|
|
10307
|
+
align-items: center;
|
|
10308
|
+
}
|
|
10309
|
+
.label[hidden] {
|
|
10310
|
+
display: none;
|
|
10210
10311
|
}
|
|
10211
10312
|
`
|
|
10212
10313
|
];
|
|
@@ -10220,14 +10321,14 @@ xt([
|
|
|
10220
10321
|
h({ type: Boolean, reflect: !0 })
|
|
10221
10322
|
], De.prototype, "disabled", 2);
|
|
10222
10323
|
De = xt([
|
|
10223
|
-
|
|
10324
|
+
C("ap-checkbox")
|
|
10224
10325
|
], De);
|
|
10225
|
-
var lr = Object.defineProperty, cr = Object.getOwnPropertyDescriptor,
|
|
10326
|
+
var lr = Object.defineProperty, cr = Object.getOwnPropertyDescriptor, Fa = (t, e, a, s) => {
|
|
10226
10327
|
for (var i = s > 1 ? void 0 : s ? cr(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
10227
10328
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
10228
10329
|
return s && i && lr(e, a, i), i;
|
|
10229
10330
|
};
|
|
10230
|
-
let gt = class extends
|
|
10331
|
+
let gt = class extends S {
|
|
10231
10332
|
constructor() {
|
|
10232
10333
|
super(...arguments), this.open = !1, this._handleOutsideClick = (t) => {
|
|
10233
10334
|
this.open && !t.composedPath().includes(this) && (this.open = !1);
|
|
@@ -10272,18 +10373,18 @@ gt.styles = [
|
|
|
10272
10373
|
}
|
|
10273
10374
|
`
|
|
10274
10375
|
];
|
|
10275
|
-
|
|
10376
|
+
Fa([
|
|
10276
10377
|
y()
|
|
10277
10378
|
], gt.prototype, "open", 2);
|
|
10278
|
-
gt =
|
|
10279
|
-
|
|
10379
|
+
gt = Fa([
|
|
10380
|
+
C("ap-popover")
|
|
10280
10381
|
], gt);
|
|
10281
10382
|
var dr = Object.defineProperty, pr = Object.getOwnPropertyDescriptor, q = (t, e, a, s) => {
|
|
10282
10383
|
for (var i = s > 1 ? void 0 : s ? pr(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
10283
10384
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
10284
10385
|
return s && i && dr(e, a, i), i;
|
|
10285
10386
|
};
|
|
10286
|
-
let j = class extends
|
|
10387
|
+
let j = class extends S {
|
|
10287
10388
|
constructor() {
|
|
10288
10389
|
super(...arguments), this.value = "", this.label = "", this.variant = "default", this.options = [], this._open = !1, this._focusedIndex = -1, this._menuPosition = "below", this._menuAlign = "align-left", this._menuTop = 0, this._menuBottom = 0, this._menuLeft = 0, this._menuRight = 0, this._handleOutsideClick = (t) => {
|
|
10289
10390
|
t.composedPath().includes(this) || (this._open = !1, document.removeEventListener("click", this._handleOutsideClick));
|
|
@@ -10401,8 +10502,10 @@ j.styles = [
|
|
|
10401
10502
|
display: flex;
|
|
10402
10503
|
align-items: center;
|
|
10403
10504
|
gap: 8px;
|
|
10505
|
+
width: 100%;
|
|
10404
10506
|
height: 36px;
|
|
10405
10507
|
padding: 0 12px;
|
|
10508
|
+
box-sizing: border-box;
|
|
10406
10509
|
border: 1px solid var(--ap-input, oklch(0.871 0.016 241.798));
|
|
10407
10510
|
border-radius: var(--ap-radius-sm, 6px);
|
|
10408
10511
|
background: var(--ap-background, oklch(1 0 0));
|
|
@@ -10509,14 +10612,14 @@ q([
|
|
|
10509
10612
|
y()
|
|
10510
10613
|
], j.prototype, "_menuRight", 2);
|
|
10511
10614
|
j = q([
|
|
10512
|
-
|
|
10615
|
+
C("ap-dropdown")
|
|
10513
10616
|
], j);
|
|
10514
10617
|
var hr = Object.defineProperty, ur = Object.getOwnPropertyDescriptor, Aa = (t, e, a, s) => {
|
|
10515
10618
|
for (var i = s > 1 ? void 0 : s ? ur(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
10516
10619
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
10517
10620
|
return s && i && hr(e, a, i), i;
|
|
10518
10621
|
};
|
|
10519
|
-
let ft = class extends
|
|
10622
|
+
let ft = class extends S {
|
|
10520
10623
|
constructor() {
|
|
10521
10624
|
super(...arguments), this.variant = "default";
|
|
10522
10625
|
}
|
|
@@ -10532,12 +10635,13 @@ ft.styles = [
|
|
|
10532
10635
|
.badge {
|
|
10533
10636
|
display: inline-flex;
|
|
10534
10637
|
align-items: center;
|
|
10535
|
-
|
|
10638
|
+
height: 24px;
|
|
10639
|
+
padding: 0 8px;
|
|
10536
10640
|
font-size: 0.75rem;
|
|
10537
10641
|
font-weight: 500;
|
|
10538
10642
|
border-radius: 9999px;
|
|
10539
10643
|
background: var(--ap-muted, oklch(0.974 0.006 239.819));
|
|
10540
|
-
color: var(--ap-
|
|
10644
|
+
color: var(--ap-secondary-foreground, oklch(53.03% 0.039 249.89));
|
|
10541
10645
|
}
|
|
10542
10646
|
:host([variant="primary"]) .badge {
|
|
10543
10647
|
background: var(--ap-primary-10, oklch(0.578 0.198 268.129 / 0.1));
|
|
@@ -10549,14 +10653,14 @@ Aa([
|
|
|
10549
10653
|
h({ reflect: !0 })
|
|
10550
10654
|
], ft.prototype, "variant", 2);
|
|
10551
10655
|
ft = Aa([
|
|
10552
|
-
|
|
10656
|
+
C("ap-badge")
|
|
10553
10657
|
], ft);
|
|
10554
10658
|
var gr = Object.defineProperty, fr = Object.getOwnPropertyDescriptor, Ta = (t, e, a, s) => {
|
|
10555
10659
|
for (var i = s > 1 ? void 0 : s ? fr(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
10556
10660
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
10557
10661
|
return s && i && gr(e, a, i), i;
|
|
10558
10662
|
};
|
|
10559
|
-
let vt = class extends
|
|
10663
|
+
let vt = class extends S {
|
|
10560
10664
|
constructor() {
|
|
10561
10665
|
super(...arguments), this.text = "";
|
|
10562
10666
|
}
|
|
@@ -10597,14 +10701,14 @@ Ta([
|
|
|
10597
10701
|
h()
|
|
10598
10702
|
], vt.prototype, "text", 2);
|
|
10599
10703
|
vt = Ta([
|
|
10600
|
-
|
|
10704
|
+
C("ap-tooltip")
|
|
10601
10705
|
], vt);
|
|
10602
10706
|
var vr = Object.defineProperty, mr = Object.getOwnPropertyDescriptor, je = (t, e, a, s) => {
|
|
10603
10707
|
for (var i = s > 1 ? void 0 : s ? mr(e, a) : e, r = t.length - 1, o; r >= 0; r--)
|
|
10604
10708
|
(o = t[r]) && (i = (s ? o(e, a, i) : o(i)) || i);
|
|
10605
10709
|
return s && i && vr(e, a, i), i;
|
|
10606
10710
|
};
|
|
10607
|
-
let ue = class extends
|
|
10711
|
+
let ue = class extends S {
|
|
10608
10712
|
constructor() {
|
|
10609
10713
|
super(...arguments), this.value = "", this.options = [], this.disabled = !1, this.direction = "vertical", this._onKeydown = (t) => {
|
|
10610
10714
|
const e = this.options.filter(
|
|
@@ -10715,6 +10819,9 @@ ue.styles = [
|
|
|
10715
10819
|
background: transparent;
|
|
10716
10820
|
transition: background 150ms;
|
|
10717
10821
|
}
|
|
10822
|
+
.option:hover .radio {
|
|
10823
|
+
border-color: var(--ap-secondary-foreground-50, oklch(53.03% 0.039 249.89 / 0.5));
|
|
10824
|
+
}
|
|
10718
10825
|
.option[aria-checked="true"] .radio {
|
|
10719
10826
|
border-color: var(--ap-primary, oklch(0.578 0.198 268.129));
|
|
10720
10827
|
}
|
|
@@ -10745,14 +10852,14 @@ je([
|
|
|
10745
10852
|
h({ reflect: !0 })
|
|
10746
10853
|
], ue.prototype, "columns", 2);
|
|
10747
10854
|
ue = je([
|
|
10748
|
-
|
|
10855
|
+
C("ap-radio-group")
|
|
10749
10856
|
], ue);
|
|
10750
10857
|
var br = Object.defineProperty, Ht = (t, e, a, s) => {
|
|
10751
10858
|
for (var i = void 0, r = t.length - 1, o; r >= 0; r--)
|
|
10752
10859
|
(o = t[r]) && (i = o(e, a, i) || i);
|
|
10753
10860
|
return i && br(e, a, i), i;
|
|
10754
10861
|
};
|
|
10755
|
-
const Kt = class Kt extends
|
|
10862
|
+
const Kt = class Kt extends S {
|
|
10756
10863
|
constructor() {
|
|
10757
10864
|
super(), this._initFailed = !1, this._loadId = 0, this._loadMoreId = 0, this._loadDataTimer = null, this._pendingFilter = null, this._pendingMetadataField = null, this._uploaderEl = null, this._uploaderImportPromise = null, this._dragCounter = 0, this._isDragOver = !1, this._isUploaderOpen = !1, this._onDragEnter = (e) => {
|
|
10758
10865
|
var a;
|
|
@@ -10802,7 +10909,7 @@ const Kt = class Kt extends k {
|
|
|
10802
10909
|
this.store.setState({
|
|
10803
10910
|
config: e,
|
|
10804
10911
|
projectToken: e.auth.projectToken,
|
|
10805
|
-
viewMode: e.rememberLastView &&
|
|
10912
|
+
viewMode: e.rememberLastView && Es() || e.defaultViewMode || "grid",
|
|
10806
10913
|
sortBy: s,
|
|
10807
10914
|
sortDirection: i,
|
|
10808
10915
|
currentFolder: null,
|
|
@@ -10815,16 +10922,16 @@ const Kt = class Kt extends k {
|
|
|
10815
10922
|
}
|
|
10816
10923
|
const [r, o, l] = await Promise.allSettled([
|
|
10817
10924
|
rs(this.apiClient),
|
|
10818
|
-
|
|
10819
|
-
|
|
10925
|
+
Ua(this.apiClient),
|
|
10926
|
+
Ba(this.apiClient)
|
|
10820
10927
|
]);
|
|
10821
10928
|
if (r.status === "fulfilled") {
|
|
10822
|
-
const { fields: d, regionalVariantGroups: g, regionalFilters: b, brandColor:
|
|
10929
|
+
const { fields: d, regionalVariantGroups: g, regionalFilters: b, brandColor: k } = r.value;
|
|
10823
10930
|
this.store.setState({
|
|
10824
10931
|
metadataFields: d,
|
|
10825
10932
|
regionalVariantGroups: g,
|
|
10826
10933
|
regionalFilters: b,
|
|
10827
|
-
...
|
|
10934
|
+
...k ? { brandColor: k } : {}
|
|
10828
10935
|
});
|
|
10829
10936
|
}
|
|
10830
10937
|
o.status === "fulfilled" && this.store.setState({ labels: o.value.labels || [] }), l.status === "fulfilled" && this.store.setState({ tags: l.value });
|
|
@@ -10932,8 +11039,8 @@ const Kt = class Kt extends k {
|
|
|
10932
11039
|
return !!((s = (a = e.dataTransfer) == null ? void 0 : a.types) != null && s.includes("Files"));
|
|
10933
11040
|
}
|
|
10934
11041
|
async open() {
|
|
10935
|
-
var u, v, d, g, b,
|
|
10936
|
-
const e = this.store.getState(), a =
|
|
11042
|
+
var u, v, d, g, b, k, _;
|
|
11043
|
+
const e = this.store.getState(), a = Be((u = this.config) == null ? void 0 : u.forcedFilters), s = new Set(Object.keys(a)), i = {}, r = Be((v = this.config) == null ? void 0 : v.defaultFilters);
|
|
10937
11044
|
for (const [A, F] of Object.entries(r))
|
|
10938
11045
|
s.has(A) || (i[A] = F);
|
|
10939
11046
|
const o = Object.keys(i), l = ((d = this.config) == null ? void 0 : d.tabs) ?? ["assets", "folders"], c = (g = this.config) != null && g.rememberLastTab ? As() : null, p = (c && l.includes(c) ? c : null) ?? ((b = this.config) != null && b.defaultTab && l.includes(this.config.defaultTab) ? this.config.defaultTab : null) ?? l[0] ?? "assets";
|
|
@@ -10955,7 +11062,7 @@ const Kt = class Kt extends k {
|
|
|
10955
11062
|
assets: [],
|
|
10956
11063
|
folders: [],
|
|
10957
11064
|
currentFolder: null,
|
|
10958
|
-
currentFolderPath: ((
|
|
11065
|
+
currentFolderPath: ((k = this.config) == null ? void 0 : k.rememberLastFolder) && Ss() || ((_ = this.config) == null ? void 0 : _.rootFolderPath) || "/",
|
|
10959
11066
|
breadcrumb: [],
|
|
10960
11067
|
selectedAssets: /* @__PURE__ */ new Map(),
|
|
10961
11068
|
folderPreviews: {},
|
|
@@ -10977,15 +11084,15 @@ const Kt = class Kt extends k {
|
|
|
10977
11084
|
(e = this.renderRoot.querySelector(".main-content")) == null || e.scrollTo({ top: 0 });
|
|
10978
11085
|
}
|
|
10979
11086
|
async _loadData() {
|
|
10980
|
-
var s, i, r, o, l, c, p, u, v, d, g, b,
|
|
11087
|
+
var s, i, r, o, l, c, p, u, v, d, g, b, k, _;
|
|
10981
11088
|
if (!this.apiClient) return;
|
|
10982
11089
|
const e = ++this._loadId, a = this.store.getState();
|
|
10983
11090
|
this._scrollToTop(), this.store.setState({ isLoading: !0 });
|
|
10984
11091
|
try {
|
|
10985
11092
|
const A = a.activeTab;
|
|
10986
11093
|
if (A === "assets") {
|
|
10987
|
-
const F = this._buildSearchNotation(),
|
|
10988
|
-
folder:
|
|
11094
|
+
const F = this._buildSearchNotation(), P = a.currentFolderPath || "/", H = tt(this.apiClient, {
|
|
11095
|
+
folder: P,
|
|
10989
11096
|
offset: 0,
|
|
10990
11097
|
limit: a.limit,
|
|
10991
11098
|
sort_by: a.sortBy,
|
|
@@ -10994,13 +11101,13 @@ const Kt = class Kt extends k {
|
|
|
10994
11101
|
q: F || void 0,
|
|
10995
11102
|
recursive: 1
|
|
10996
11103
|
}), T = Xt(this.apiClient, {
|
|
10997
|
-
folder:
|
|
11104
|
+
folder: P,
|
|
10998
11105
|
q: F || void 0,
|
|
10999
11106
|
search: a.searchQuery || void 0,
|
|
11000
11107
|
recursive: 1
|
|
11001
|
-
}).catch(() => null), [R,
|
|
11108
|
+
}).catch(() => null), [R, U] = await Promise.all([H, T]);
|
|
11002
11109
|
if (e !== this._loadId) return;
|
|
11003
|
-
const ne = ((s = R.files) == null ? void 0 : s.length) ?? 0, fe = ne >= a.limit, Ae = ((i =
|
|
11110
|
+
const ne = ((s = R.files) == null ? void 0 : s.length) ?? 0, fe = ne >= a.limit, Ae = ((i = U == null ? void 0 : U.stats) == null ? void 0 : i.approx_files_count) ?? ((r = U == null ? void 0 : U.info) == null ? void 0 : r.total_files_count) ?? ((o = R.info) == null ? void 0 : o.total_files_count) ?? ((c = (l = R.base) == null ? void 0 : l.count) == null ? void 0 : c.files_recursive) ?? ((u = (p = R.base) == null ? void 0 : p.count) == null ? void 0 : u.files_direct) ?? ne;
|
|
11004
11111
|
this.store.setState({
|
|
11005
11112
|
assets: R.files || [],
|
|
11006
11113
|
folders: [],
|
|
@@ -11011,7 +11118,7 @@ const Kt = class Kt extends k {
|
|
|
11011
11118
|
isLoading: !1
|
|
11012
11119
|
});
|
|
11013
11120
|
} else if (A === "folders") {
|
|
11014
|
-
const F = this._buildSearchNotation(),
|
|
11121
|
+
const F = this._buildSearchNotation(), P = a.currentFolderPath || "/", [H, T, R] = await Promise.all([
|
|
11015
11122
|
Na(this.apiClient, {
|
|
11016
11123
|
folderPath: a.currentFolderPath,
|
|
11017
11124
|
q: a.searchQuery || void 0,
|
|
@@ -11020,7 +11127,7 @@ const Kt = class Kt extends k {
|
|
|
11020
11127
|
sort_direction: a.sortDirection
|
|
11021
11128
|
}),
|
|
11022
11129
|
tt(this.apiClient, {
|
|
11023
|
-
folder:
|
|
11130
|
+
folder: P,
|
|
11024
11131
|
offset: 0,
|
|
11025
11132
|
limit: a.limit,
|
|
11026
11133
|
sort_by: a.sortBy,
|
|
@@ -11030,28 +11137,28 @@ const Kt = class Kt extends k {
|
|
|
11030
11137
|
recursive: 0
|
|
11031
11138
|
}),
|
|
11032
11139
|
Xt(this.apiClient, {
|
|
11033
|
-
folder:
|
|
11140
|
+
folder: P,
|
|
11034
11141
|
q: F || void 0,
|
|
11035
11142
|
search: a.searchQuery || void 0,
|
|
11036
11143
|
recursive: 0
|
|
11037
11144
|
}).catch(() => null)
|
|
11038
11145
|
]);
|
|
11039
11146
|
if (e !== this._loadId) return;
|
|
11040
|
-
const
|
|
11147
|
+
const U = H.folders || [];
|
|
11041
11148
|
let ne = {};
|
|
11042
|
-
if (
|
|
11149
|
+
if (U.length > 0)
|
|
11043
11150
|
try {
|
|
11044
|
-
ne = await ja(this.apiClient,
|
|
11151
|
+
ne = await ja(this.apiClient, U.map((ve) => ve.uuid));
|
|
11045
11152
|
} catch {
|
|
11046
11153
|
}
|
|
11047
11154
|
if (e !== this._loadId) return;
|
|
11048
|
-
const fe = ((v = T.files) == null ? void 0 : v.length) ?? 0, Ae = fe >= a.limit, et = ((d = R == null ? void 0 : R.stats) == null ? void 0 : d.approx_files_count) ?? ((g = R == null ? void 0 : R.info) == null ? void 0 : g.total_files_count) ?? ((b = T.info) == null ? void 0 : b.total_files_count) ?? ((_ = (
|
|
11155
|
+
const fe = ((v = T.files) == null ? void 0 : v.length) ?? 0, Ae = fe >= a.limit, et = ((d = R == null ? void 0 : R.stats) == null ? void 0 : d.approx_files_count) ?? ((g = R == null ? void 0 : R.info) == null ? void 0 : g.total_files_count) ?? ((b = T.info) == null ? void 0 : b.total_files_count) ?? ((_ = (k = T.base) == null ? void 0 : k.count) == null ? void 0 : _.files_direct) ?? fe;
|
|
11049
11156
|
this.store.setState({
|
|
11050
11157
|
assets: T.files || [],
|
|
11051
|
-
folders:
|
|
11158
|
+
folders: U,
|
|
11052
11159
|
folderPreviews: ne,
|
|
11053
11160
|
totalCount: et,
|
|
11054
|
-
totalFolderCount: H.total ??
|
|
11161
|
+
totalFolderCount: H.total ?? U.length,
|
|
11055
11162
|
offset: 0,
|
|
11056
11163
|
hasMore: Ae,
|
|
11057
11164
|
isLoading: !1
|
|
@@ -11143,7 +11250,7 @@ const Kt = class Kt extends k {
|
|
|
11143
11250
|
_handleTabChange(e) {
|
|
11144
11251
|
var s, i;
|
|
11145
11252
|
const a = e.detail.tab;
|
|
11146
|
-
(s = this.config) != null && s.rememberLastTab &&
|
|
11253
|
+
(s = this.config) != null && s.rememberLastTab && Fs(a), this.store.setState({
|
|
11147
11254
|
activeTab: a,
|
|
11148
11255
|
currentFolder: null,
|
|
11149
11256
|
currentFolderPath: ((i = this.config) == null ? void 0 : i.rootFolderPath) ?? "/",
|
|
@@ -11228,9 +11335,9 @@ const Kt = class Kt extends k {
|
|
|
11228
11335
|
for (let _ = 0; _ < u.length; _ += v) {
|
|
11229
11336
|
const A = u.slice(_, _ + v), F = await Promise.all(
|
|
11230
11337
|
A.map(
|
|
11231
|
-
(
|
|
11338
|
+
(P) => tt(this.apiClient, {
|
|
11232
11339
|
folder: r,
|
|
11233
|
-
offset:
|
|
11340
|
+
offset: P,
|
|
11234
11341
|
limit: o,
|
|
11235
11342
|
sort_by: e.sortBy,
|
|
11236
11343
|
sort_direction: e.sortDirection,
|
|
@@ -11240,16 +11347,16 @@ const Kt = class Kt extends k {
|
|
|
11240
11347
|
})
|
|
11241
11348
|
)
|
|
11242
11349
|
);
|
|
11243
|
-
for (const
|
|
11244
|
-
|
|
11350
|
+
for (const P of F)
|
|
11351
|
+
P.files && d.push(...P.files);
|
|
11245
11352
|
}
|
|
11246
|
-
const g = new Set(l.map((_) => _.uuid)), b = d.filter((_) => g.has(_.uuid) ? !1 : (g.add(_.uuid), !0)),
|
|
11353
|
+
const g = new Set(l.map((_) => _.uuid)), b = d.filter((_) => g.has(_.uuid) ? !1 : (g.add(_.uuid), !0)), k = [...l, ...b];
|
|
11247
11354
|
this.store.setState({
|
|
11248
|
-
assets:
|
|
11249
|
-
offset: Math.max(0,
|
|
11355
|
+
assets: k,
|
|
11356
|
+
offset: Math.max(0, k.length - o),
|
|
11250
11357
|
hasMore: !1,
|
|
11251
11358
|
isSelectingAll: !1
|
|
11252
|
-
}), this.selectionCtrl.selectAll(
|
|
11359
|
+
}), this.selectionCtrl.selectAll(k);
|
|
11253
11360
|
} catch (i) {
|
|
11254
11361
|
this.store.setState({ isSelectingAll: !1 }), this.dispatchEvent(new CustomEvent("ap-error", {
|
|
11255
11362
|
detail: { error: i, context: "selectAll" },
|
|
@@ -11268,7 +11375,7 @@ const Kt = class Kt extends k {
|
|
|
11268
11375
|
}
|
|
11269
11376
|
// ── Filter Handlers ──────────────────────────────────────────────────
|
|
11270
11377
|
_isDateFilterKey(e) {
|
|
11271
|
-
return e === m.DATE || e === m.LICENSE_EXPIRY || e ===
|
|
11378
|
+
return e === m.DATE || e === m.LICENSE_EXPIRY || e === B.DUE_DATE;
|
|
11272
11379
|
}
|
|
11273
11380
|
_handleFilterUpdate(e) {
|
|
11274
11381
|
const { key: a, values: s, operator: i } = e.detail, o = { ...this.store.getState().filters };
|
|
@@ -11338,8 +11445,8 @@ const Kt = class Kt extends k {
|
|
|
11338
11445
|
s ? (this._pendingMetadataField = s, i.pendingMetadataField = s) : a && (this._pendingFilter = a, i.pendingFilter = a), await i.updateComplete;
|
|
11339
11446
|
let o = i.renderRoot.querySelector(".chip.pending");
|
|
11340
11447
|
if (!o) {
|
|
11341
|
-
const
|
|
11342
|
-
for (const A of
|
|
11448
|
+
const k = i.renderRoot.querySelectorAll(".chip.pinned-empty"), _ = s ? (d = i._getMetadataLabel) == null ? void 0 : d.call(i, s) : void 0;
|
|
11449
|
+
for (const A of k) {
|
|
11343
11450
|
const F = (b = (g = A.querySelector(".chip-label")) == null ? void 0 : g.textContent) == null ? void 0 : b.trim();
|
|
11344
11451
|
if (s && F === _) {
|
|
11345
11452
|
o = A;
|
|
@@ -11448,11 +11555,11 @@ const Kt = class Kt extends k {
|
|
|
11448
11555
|
// ── Search Notation Builder ──────────────────────────────────────────
|
|
11449
11556
|
_buildSearchNotation() {
|
|
11450
11557
|
var i;
|
|
11451
|
-
const e = this.store.getState(), a = { ...
|
|
11558
|
+
const e = this.store.getState(), a = { ...Be((i = this.config) == null ? void 0 : i.forcedFilters), ...e.filters.applied };
|
|
11452
11559
|
return ls(a, e.filters.metadata.applied).join(" ");
|
|
11453
11560
|
}
|
|
11454
11561
|
render() {
|
|
11455
|
-
var p, u, v, d, g, b,
|
|
11562
|
+
var p, u, v, d, g, b, k, _;
|
|
11456
11563
|
const e = this.storeCtrl.state, a = Array.from(e.selectedAssets.keys()), s = this.selectionCtrl.getSelectedAssets(), i = n`
|
|
11457
11564
|
<ap-header
|
|
11458
11565
|
.activeTab=${e.activeTab}
|
|
@@ -11484,11 +11591,6 @@ const Kt = class Kt extends k {
|
|
|
11484
11591
|
</div>
|
|
11485
11592
|
` : f}
|
|
11486
11593
|
<div class="main-content">
|
|
11487
|
-
${e.breadcrumb.length > 0 ? n`<ap-breadcrumb
|
|
11488
|
-
.items=${e.breadcrumb}
|
|
11489
|
-
@breadcrumb-navigate=${this._handleBreadcrumbNavigate}
|
|
11490
|
-
></ap-breadcrumb>` : f}
|
|
11491
|
-
|
|
11492
11594
|
<div class="toolbar-filters-wrapper">
|
|
11493
11595
|
<ap-content-toolbar
|
|
11494
11596
|
.isLoading=${e.isLoading}
|
|
@@ -11504,7 +11606,7 @@ const Kt = class Kt extends k {
|
|
|
11504
11606
|
.metadataFields=${e.metadataFields}
|
|
11505
11607
|
.pinnedFilters=${e.filters.pinned}
|
|
11506
11608
|
.apiClient=${this.apiClient}
|
|
11507
|
-
.forcedFilterKeys=${Object.keys(
|
|
11609
|
+
.forcedFilterKeys=${Object.keys(Be((v = this.config) == null ? void 0 : v.forcedFilters))}
|
|
11508
11610
|
@sort-change=${this._handleSortChange}
|
|
11509
11611
|
@sort-direction-change=${this._handleSortDirectionChange}
|
|
11510
11612
|
@filter-update=${this._handleFilterUpdate}
|
|
@@ -11536,6 +11638,11 @@ const Kt = class Kt extends k {
|
|
|
11536
11638
|
@filters-clear-all=${this._handleFiltersClearAll}
|
|
11537
11639
|
@filters-set=${this._handleFiltersSet}
|
|
11538
11640
|
></ap-filters-bar>
|
|
11641
|
+
|
|
11642
|
+
${e.breadcrumb.length > 0 ? n`<ap-breadcrumb
|
|
11643
|
+
.items=${e.breadcrumb}
|
|
11644
|
+
@breadcrumb-navigate=${this._handleBreadcrumbNavigate}
|
|
11645
|
+
></ap-breadcrumb>` : f}
|
|
11539
11646
|
</div>
|
|
11540
11647
|
|
|
11541
11648
|
${e.isLoading && e.assets.length === 0 && e.folders.length === 0 ? n`<ap-skeleton .variant=${e.viewMode}></ap-skeleton>` : this._renderContent(e, a)}
|
|
@@ -11565,7 +11672,7 @@ const Kt = class Kt extends k {
|
|
|
11565
11672
|
.selectedAssets=${s}
|
|
11566
11673
|
.totalCount=${e.totalCount}
|
|
11567
11674
|
.isSelectingAll=${e.isSelectingAll}
|
|
11568
|
-
.multiSelect=${((
|
|
11675
|
+
.multiSelect=${((k = this.config) == null ? void 0 : k.multiSelect) ?? !0}
|
|
11569
11676
|
.maxSelections=${(_ = this.config) == null ? void 0 : _.maxSelections}
|
|
11570
11677
|
@selection-confirm=${this._handleSelectionConfirm}
|
|
11571
11678
|
@selection-clear=${this._handleSelectionClear}
|