@ynput/ayon-frontend-shared 0.6.8 → 0.6.9

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.
@@ -1,100 +1,126 @@
1
- import { useState as h } from "react";
2
- import { C as F, d as b, a as D } from "./PlayableIcon.es.js";
3
- import { startOfDay as v, parse as m, endOfDay as R, format as l } from "date-fns";
4
- const V = () => {
5
- const [d, y] = h(null), [f, u] = h(""), [g, c] = h(""), p = (r, o) => {
6
- const e = o.find((n) => n.id === r);
7
- if (e?.type === "datetime" && e.values?.length) {
8
- const n = e.values[0];
1
+ import { jsx as D } from "react/jsx-runtime";
2
+ import { p as O, Y as $, M as w, C as F, d as _, a as v } from "./PlayableIcon.es.js";
3
+ import { useState as b } from "react";
4
+ import { startOfDay as x, parse as M, endOfDay as R, format as y } from "date-fns";
5
+ const Z = (c) => c.replace(/\r\n?/g, `
6
+ `).replace(/^\s*(```|~~~).*$/gm, "").replace(/!?\[([^\]]*)\]\((?:\\.|[^)\\])*\)/g, "$1").replace(/<(https?:[^>]+)>/g, "$1").replace(/<\/?[a-z][^>]*>/gi, "").replace(/[<>]/g, "").replace(/&nbsp;/g, " ").replace(/^\s*#{1,6}\s+/gm, "").replace(/^\s*>\s?/gm, "").replace(/^\s*(?:[-*+]|\d+[.)])\s+(?:\[[ xX]\]\s+)?/gm, "").replace(/`([^`]*)`/g, "$1").replace(/(\*\*|__)(.+?)\1/g, "$2").replace(/~~(.+?)~~/g, "$1").replace(/(^|[^\w*\\])\*(?!\s)([^*]+?)\*(?!\w)/g, "$1$2").replace(/(^|[^\w\\])_(?!\s)([^_]+?)_(?!\w)/g, "$1$2").replace(/\\\n/g, `
7
+ `).replace(/\\([\\`*_{}[\]()#+\-.!~>|])/g, "$1").replace(/\s+/g, " ").trim(), B = (c) => {
8
+ const d = (c.node?.children ?? []).filter(
9
+ (p) => !(p.type === "text" && !p.value?.trim())
10
+ );
11
+ if (d.length !== 1) return null;
12
+ const [u] = d;
13
+ if (u.type !== "element" || u.tagName !== "a") return null;
14
+ const i = u.properties?.href, g = u.children?.map((p) => p.value ?? "").join("");
15
+ if (!i || g?.trim() !== i) return null;
16
+ const m = O(i);
17
+ return m ? /* @__PURE__ */ D($, { video: m }) : null;
18
+ }, U = (c, { onOpen: d } = {}) => {
19
+ const u = (c.node?.children ?? []).filter(
20
+ (f) => !(f.type === "text" && !f.value?.trim())
21
+ );
22
+ if (u.length !== 1) return null;
23
+ const [i] = u;
24
+ if (i.type !== "element" || i.tagName !== "img") return null;
25
+ const { src: g, alt: m, title: p } = i.properties ?? {};
26
+ return g ? /* @__PURE__ */ D(w, { src: g, alt: m, mime: p, onOpen: d ? () => d(g) : void 0 }) : null;
27
+ }, j = () => {
28
+ const [c, d] = b(null), [u, i] = b(""), [g, m] = b(""), p = (s, o) => {
29
+ const t = o.find((n) => n.id === s);
30
+ if (t?.type === "datetime" && t.values?.length) {
31
+ const n = t.values[0];
9
32
  if (n.id?.startsWith("custom-")) {
10
- const t = n.id.replace("custom-", ""), a = t.indexOf("Z");
33
+ const e = n.id.replace("custom-", ""), a = e.indexOf("Z");
11
34
  if (a > 0) {
12
- const s = t.substring(0, a + 1), i = t.substring(a + 2);
13
- if (s && i) {
14
- u(
15
- l(m(s, "yyyy-MM-dd'T'HH:mm:ss.SSSx", /* @__PURE__ */ new Date()), "yyyy-MM-dd")
16
- ), c(
17
- l(m(i, "yyyy-MM-dd'T'HH:mm:ss.SSSx", /* @__PURE__ */ new Date()), "yyyy-MM-dd")
18
- ), y(r);
35
+ const r = e.substring(0, a + 1), l = e.substring(a + 2);
36
+ if (r && l) {
37
+ i(
38
+ y(M(r, "yyyy-MM-dd'T'HH:mm:ss.SSSx", /* @__PURE__ */ new Date()), "yyyy-MM-dd")
39
+ ), m(
40
+ y(M(l, "yyyy-MM-dd'T'HH:mm:ss.SSSx", /* @__PURE__ */ new Date()), "yyyy-MM-dd")
41
+ ), d(s);
19
42
  return;
20
43
  }
21
44
  }
22
45
  }
23
46
  }
24
- y(r), u(""), c("");
25
- }, I = (r, o) => {
26
- const e = r.filter((t) => t.type === "datetime"), n = e.find((t) => !t.values?.length);
27
- return n ? n.id : e.length ? e[e.length - 1].id : o.find((t) => t.type === "datetime")?.id ?? null;
47
+ d(s), i(""), m("");
48
+ }, f = (s, o) => {
49
+ const t = s.filter((e) => e.type === "datetime"), n = t.find((e) => !e.values?.length);
50
+ return n ? n.id : t.length ? t[t.length - 1].id : o.find((e) => e.type === "datetime")?.id ?? null;
28
51
  };
29
52
  return {
30
- customRangeFilterId: d,
31
- customStartDate: f,
53
+ customRangeFilterId: c,
54
+ customStartDate: u,
32
55
  customEndDate: g,
33
- setCustomStartDate: u,
34
- setCustomEndDate: c,
56
+ setCustomStartDate: i,
57
+ setCustomEndDate: m,
35
58
  openCustomRangeForFilter: p,
36
- wrapFilterChange: (r, o, e) => {
37
- const n = r.map((t) => t.type === "datetime" && t.values?.some((a) => a.id === D) ? { ...t, values: t.values.filter((a) => a.id !== D) } : t);
38
- e(n);
59
+ wrapFilterChange: (s, o, t) => {
60
+ const n = s.map((e) => e.type === "datetime" && e.values?.some((a) => a.id === v) ? { ...e, values: e.values.filter((a) => a.id !== v) } : e);
61
+ t(n);
39
62
  },
40
- handleSearchBarClickCapture: (r, o) => {
41
- const e = r.target;
42
- if (e.closest(".remove") || e.closest(".button")) return;
43
- const n = e.closest(".search-filter-item");
63
+ handleSearchBarClickCapture: (s, o) => {
64
+ const t = s.target;
65
+ if (t.closest(".remove") || t.closest(".button")) return;
66
+ const n = t.closest(".search-filter-item");
44
67
  if (!n) return;
45
- const t = o.find(
46
- (s) => s.id === n.id && s.type === "datetime" && s.values?.length
68
+ const e = o.find(
69
+ (r) => r.id === n.id && r.type === "datetime" && r.values?.length
47
70
  );
48
- if (!t) return;
49
- const a = t.values?.[0];
71
+ if (!e) return;
72
+ const a = e.values?.[0];
50
73
  if (!(a?.id === "noValue" || a?.id === "hasValue")) {
51
74
  if (a?.id) {
52
- const s = a.id.replace("custom-", ""), i = s.indexOf("Z");
53
- if (i > 0) {
54
- const M = s.substring(0, i + 1), S = s.substring(i + 2);
55
- if (b(M, S)) return;
75
+ const r = a.id.replace("custom-", ""), l = r.indexOf("Z");
76
+ if (l > 0) {
77
+ const h = r.substring(0, l + 1), S = r.substring(l + 2);
78
+ if (_(h, S)) return;
56
79
  }
57
80
  }
58
- r.stopPropagation(), p(t.id, o);
81
+ s.stopPropagation(), p(e.id, o);
59
82
  }
60
83
  },
61
- handleDropdownItemClick: (r, o, e) => {
62
- const n = r.target.closest("li");
84
+ handleDropdownItemClick: (s, o, t) => {
85
+ const n = s.target.closest("li");
63
86
  if (!n) return !0;
64
87
  if (n.querySelector(`span[icon="${F}"]`)) {
65
- const t = n.getAttribute("data-parent") || I(o, e);
66
- return t && p(t, o), !1;
88
+ const e = n.getAttribute("data-parent") || f(o, t);
89
+ return e && p(e, o), !1;
67
90
  }
68
91
  return !0;
69
92
  },
70
- handleCustomRangeApply: (r, o, e, n) => {
71
- if (!d || !f || !g) return;
72
- const t = d.split("__")[0], a = o.find((C) => C.id === t);
93
+ handleCustomRangeApply: (s, o, t, n) => {
94
+ if (!c || !u || !g) return;
95
+ const e = c.split("__")[0], a = o.find((C) => C.id === e);
73
96
  if (!a) return;
74
- const s = v(m(f, "yyyy-MM-dd", /* @__PURE__ */ new Date())), i = R(m(g, "yyyy-MM-dd", /* @__PURE__ */ new Date()));
75
- if (isNaN(s.getTime()) || isNaN(i.getTime()) || i < s) return;
76
- const M = i.getFullYear() === (/* @__PURE__ */ new Date()).getFullYear() ? "MMM d" : "MMM d, yyyy", S = {
77
- id: `custom-${s.toISOString()}-${i.toISOString()}`,
78
- label: `${l(s, "MMM d")} – ${l(i, M)}`,
97
+ const r = x(M(u, "yyyy-MM-dd", /* @__PURE__ */ new Date())), l = R(M(g, "yyyy-MM-dd", /* @__PURE__ */ new Date()));
98
+ if (isNaN(r.getTime()) || isNaN(l.getTime()) || l < r) return;
99
+ const h = l.getFullYear() === (/* @__PURE__ */ new Date()).getFullYear() ? "MMM d" : "MMM d, yyyy", S = {
100
+ id: `custom-${r.toISOString()}-${l.toISOString()}`,
101
+ label: `${y(r, "MMM d")} – ${y(l, h)}`,
79
102
  values: [
80
- { id: s.toISOString(), label: l(s, "MMM d, yyyy") },
81
- { id: i.toISOString(), label: l(i, "MMM d, yyyy") }
103
+ { id: r.toISOString(), label: y(r, "MMM d, yyyy") },
104
+ { id: l.toISOString(), label: y(l, "MMM d, yyyy") }
82
105
  ]
83
- }, O = {
84
- id: d,
106
+ }, I = {
107
+ id: c,
85
108
  type: "datetime",
86
109
  label: a.label,
87
110
  icon: a.icon,
88
111
  values: [S],
89
112
  singleSelect: !0
90
113
  };
91
- e([...r.filter((C) => C.id !== d), O]), y(null), u(""), c(""), n.current?.close();
114
+ t([...s.filter((C) => C.id !== c), I]), d(null), i(""), m(""), n.current?.close();
92
115
  },
93
116
  handleCustomRangeClose: () => {
94
- y(null), u(""), c("");
117
+ d(null), i(""), m("");
95
118
  }
96
119
  };
97
120
  };
98
121
  export {
99
- V as u
122
+ B as a,
123
+ Z as m,
124
+ U as r,
125
+ j as u
100
126
  };
@@ -25,22 +25,22 @@ const N = () => {
25
25
  v || (v = !0, queueMicrotask(() => {
26
26
  v = !1;
27
27
  }));
28
- }, Q = async (e, n, o, t = {}, a, g, f, i) => {
28
+ }, Q = async (e, n, o, t = {}, r, g, f, i) => {
29
29
  const {
30
- viewSettings: c,
31
- viewType: r,
30
+ viewSettings: a,
31
+ viewType: c,
32
32
  projectName: V,
33
33
  selectedView: s,
34
34
  setSelectedView: u,
35
35
  workingView: d,
36
36
  onSettingsChanged: w,
37
37
  isErrorWorkingView: l
38
- } = a;
39
- if (!r) throw new Error("No view type provided for updating view settings");
38
+ } = r;
39
+ if (!c) throw new Error("No view type provided for updating view settings");
40
40
  const p = s?.id, y = s?.working;
41
41
  try {
42
42
  n(o);
43
- const { settings: S, workingViewId: W } = f(), h = S ?? c;
43
+ const { settings: S, workingViewId: W } = f(), h = S ?? a;
44
44
  if (h === void 0 && !l) {
45
45
  console.warn(
46
46
  "updateViewSettings: no settings baseline available, aborting to prevent data loss."
@@ -52,7 +52,7 @@ const N = () => {
52
52
  const E = I.id, F = g(
53
53
  {
54
54
  payload: m ? { settings: C } : I,
55
- viewType: r,
55
+ viewType: c,
56
56
  projectName: V
57
57
  },
58
58
  m
@@ -64,32 +64,32 @@ const N = () => {
64
64
  M.error(W);
65
65
  }
66
66
  }, $ = () => {
67
- const [e] = A(), [n] = D(), o = T(), t = q(), a = k(
68
- async (i, c) => {
69
- if (c) {
70
- const r = {};
67
+ const [e] = A(), [n] = D(), o = T(), t = q(), r = k(
68
+ async (i, a) => {
69
+ if (a) {
70
+ const c = {};
71
71
  return ["label", "owner", "settings"].forEach((s) => {
72
- i.payload[s] !== void 0 && (r[s] = i.payload[s]);
72
+ i.payload[s] !== void 0 && (c[s] = i.payload[s]);
73
73
  }), await n({
74
74
  viewType: i.viewType,
75
75
  projectName: i.projectName,
76
- viewId: c,
77
- payload: r
76
+ viewId: a,
77
+ payload: c
78
78
  }).unwrap();
79
79
  } else
80
80
  return await e(i).unwrap();
81
81
  },
82
82
  [e, n]
83
83
  ), g = k(() => {
84
- const { viewType: i, projectName: c, selectedView: r, workingView: V } = o;
84
+ const { viewType: i, projectName: a, selectedView: c, workingView: V } = o;
85
85
  if (!i) return {};
86
86
  const s = t.getState(), u = b.endpoints.getWorkingView.select({
87
87
  viewType: i,
88
- projectName: c
88
+ projectName: a
89
89
  })(s), w = u?.data?.id || V?.id, l = b.endpoints.getDefaultView.select({
90
90
  viewType: i,
91
- projectName: c
92
- })(s), p = l?.data?.id || r?.id;
91
+ projectName: a
92
+ })(s), p = l?.data?.id || c?.id;
93
93
  return (!!w && p === w || v) && u?.data?.settings ? {
94
94
  settings: u.data.settings,
95
95
  workingViewId: w
@@ -100,29 +100,29 @@ const N = () => {
100
100
  }, [t, o]);
101
101
  return {
102
102
  updateViewSettings: k(
103
- async (...i) => await Q(...i, o, a, g, N),
104
- [o, a, g]
103
+ async (...i) => await Q(...i, o, r, g, N),
104
+ [o, r, g]
105
105
  ),
106
- onCreateView: a,
106
+ onCreateView: r,
107
107
  getLatestSettings: g,
108
108
  markCacheDirty: N
109
109
  };
110
110
  }, L = (e, n) => n.split(".").reduce((o, t) => o?.[t], e), j = (e, n, o) => {
111
- const [t, ...a] = n.split(".");
111
+ const [t, ...r] = n.split(".");
112
112
  return t ? {
113
113
  ...e,
114
- [t]: a.length ? j(e[t] || {}, a.join("."), o) : o
114
+ [t]: r.length ? j(e[t] || {}, r.join("."), o) : o
115
115
  } : e;
116
116
  }, ae = (e, n) => {
117
- const { viewSettings: o, isLoadingViews: t } = T(), { updateViewSettings: a, getLatestSettings: g } = $(), [f, i] = R(null), c = U(null), r = o, V = f !== null ? f : L(r, e) ?? n, s = k((d) => {
118
- c.current = d, i(d);
117
+ const { viewSettings: o, isLoadingViews: t } = T(), { updateViewSettings: r, getLatestSettings: g } = $(), [f, i] = R(null), a = U(null), c = o, V = f !== null ? f : L(c, e) ?? n, s = k((d) => {
118
+ a.current = d, i(d);
119
119
  }, []), u = k(
120
120
  (d) => {
121
- if (t || !r) return;
122
- const w = g().settings ?? r, l = c.current !== null ? c.current : L(w, e) ?? n, p = typeof d == "function" ? d(
121
+ if (t) return;
122
+ const w = g().settings ?? c ?? {}, l = a.current !== null ? a.current : L(w, e) ?? n, p = typeof d == "function" ? d(
123
123
  l
124
124
  ) : d;
125
- a(
125
+ r(
126
126
  j(w, e, p),
127
127
  s,
128
128
  p,
@@ -134,9 +134,9 @@ const N = () => {
134
134
  g,
135
135
  t,
136
136
  e,
137
- r,
137
+ c,
138
138
  s,
139
- a
139
+ r
140
140
  ]
141
141
  );
142
142
  return [V, u];