@neovici/cosmoz-queue 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -0
- package/dist/queue/actions/index.d.ts +22 -0
- package/dist/queue/actions/index.d.ts.map +1 -0
- package/dist/queue/actions/index.js +20 -0
- package/dist/queue/icon.d.ts +2 -0
- package/dist/queue/icon.d.ts.map +1 -0
- package/dist/queue/icon.js +12 -0
- package/dist/queue/icons.d.ts +4 -0
- package/dist/queue/icons.d.ts.map +1 -0
- package/dist/queue/icons.js +61 -0
- package/dist/queue/index.d.ts +8 -0
- package/dist/queue/index.d.ts.map +1 -0
- package/dist/queue/index.js +5 -0
- package/dist/queue/item-click.d.ts +5 -0
- package/dist/queue/item-click.d.ts.map +1 -0
- package/dist/queue/item-click.js +15 -0
- package/dist/queue/list-core/column.d.ts +34 -0
- package/dist/queue/list-core/column.d.ts.map +1 -0
- package/dist/queue/list-core/column.js +10 -0
- package/dist/queue/list-core/index.d.ts +7 -0
- package/dist/queue/list-core/index.d.ts.map +1 -0
- package/dist/queue/list-core/index.js +6 -0
- package/dist/queue/list-core/list-core.d.ts +6 -0
- package/dist/queue/list-core/list-core.d.ts.map +1 -0
- package/dist/queue/list-core/list-core.js +6 -0
- package/dist/queue/list-core/render-generic-actions.d.ts +4 -0
- package/dist/queue/list-core/render-generic-actions.d.ts.map +1 -0
- package/dist/queue/list-core/render-generic-actions.js +14 -0
- package/dist/queue/list-core/render-list-core.d.ts +18 -0
- package/dist/queue/list-core/render-list-core.d.ts.map +1 -0
- package/dist/queue/list-core/render-list-core.js +42 -0
- package/dist/queue/list-core/style.css.d.ts +2 -0
- package/dist/queue/list-core/style.css.d.ts.map +1 -0
- package/dist/queue/list-core/style.css.js +20 -0
- package/dist/queue/list-core/use-inline-actions.d.ts +4 -0
- package/dist/queue/list-core/use-inline-actions.d.ts.map +1 -0
- package/dist/queue/list-core/use-inline-actions.js +10 -0
- package/dist/queue/list-core/use-list-core.d.ts +34 -0
- package/dist/queue/list-core/use-list-core.d.ts.map +1 -0
- package/dist/queue/list-core/use-list-core.js +36 -0
- package/dist/queue/list-core/use-list-state.d.ts +24 -0
- package/dist/queue/list-core/use-list-state.d.ts.map +1 -0
- package/dist/queue/list-core/use-list-state.js +25 -0
- package/dist/queue/list-core/use-more.d.ts +23 -0
- package/dist/queue/list-core/use-more.d.ts.map +1 -0
- package/dist/queue/list-core/use-more.js +41 -0
- package/dist/queue/omnitable.d.ts +19 -0
- package/dist/queue/omnitable.d.ts.map +1 -0
- package/dist/queue/omnitable.js +31 -0
- package/dist/queue/pagination.d.ts +5 -0
- package/dist/queue/pagination.d.ts.map +1 -0
- package/dist/queue/pagination.js +10 -0
- package/dist/queue/queue.d.ts +24 -0
- package/dist/queue/queue.d.ts.map +1 -0
- package/dist/queue/queue.js +58 -0
- package/dist/queue/render.d.ts +74 -0
- package/dist/queue/render.d.ts.map +1 -0
- package/dist/queue/render.js +134 -0
- package/dist/queue/style.d.ts +7 -0
- package/dist/queue/style.d.ts.map +1 -0
- package/dist/queue/style.js +182 -0
- package/dist/queue/test/__snapshots__/render.test.snap.d.ts +2 -0
- package/dist/queue/test/__snapshots__/render.test.snap.d.ts.map +1 -0
- package/dist/queue/test/__snapshots__/render.test.snap.js +64 -0
- package/dist/queue/test/item-click.test.d.ts +2 -0
- package/dist/queue/test/item-click.test.d.ts.map +1 -0
- package/dist/queue/test/item-click.test.js +28 -0
- package/dist/queue/test/render.test.d.ts +2 -0
- package/dist/queue/test/render.test.d.ts.map +1 -0
- package/dist/queue/test/render.test.js +27 -0
- package/dist/queue/test/use-pref.test.d.ts +2 -0
- package/dist/queue/test/use-pref.test.d.ts.map +1 -0
- package/dist/queue/test/use-pref.test.js +16 -0
- package/dist/queue/types.d.ts +10 -0
- package/dist/queue/types.d.ts.map +1 -0
- package/dist/queue/types.js +1 -0
- package/dist/queue/use-async-action.d.ts +15 -0
- package/dist/queue/use-async-action.d.ts.map +1 -0
- package/dist/queue/use-async-action.js +17 -0
- package/dist/queue/use-data-nav.d.ts +20 -0
- package/dist/queue/use-data-nav.d.ts.map +1 -0
- package/dist/queue/use-data-nav.js +59 -0
- package/dist/queue/use-data-service.d.ts +31 -0
- package/dist/queue/use-data-service.d.ts.map +1 -0
- package/dist/queue/use-data-service.js +26 -0
- package/dist/queue/use-fetch-actions.d.ts +42 -0
- package/dist/queue/use-fetch-actions.d.ts.map +1 -0
- package/dist/queue/use-fetch-actions.js +38 -0
- package/dist/queue/use-key-nav.d.ts +8 -0
- package/dist/queue/use-key-nav.d.ts.map +1 -0
- package/dist/queue/use-key-nav.js +49 -0
- package/dist/queue/use-list-sse.d.ts +42 -0
- package/dist/queue/use-list-sse.d.ts.map +1 -0
- package/dist/queue/use-list-sse.js +82 -0
- package/dist/queue/use-list.d.ts +33 -0
- package/dist/queue/use-list.d.ts.map +1 -0
- package/dist/queue/use-list.js +42 -0
- package/dist/queue/use-pref.d.ts +5 -0
- package/dist/queue/use-pref.d.ts.map +1 -0
- package/dist/queue/use-pref.js +11 -0
- package/dist/queue/use-queue.d.ts +132 -0
- package/dist/queue/use-queue.d.ts.map +1 -0
- package/dist/queue/use-queue.js +69 -0
- package/dist/queue/use-split.d.ts +8 -0
- package/dist/queue/use-split.d.ts.map +1 -0
- package/dist/queue/use-split.js +30 -0
- package/dist/queue/use-tabs.d.ts +54 -0
- package/dist/queue/use-tabs.d.ts.map +1 -0
- package/dist/queue/use-tabs.js +31 -0
- package/dist/queue/use-updates.d.ts +9 -0
- package/dist/queue/use-updates.d.ts.map +1 -0
- package/dist/queue/use-updates.js +17 -0
- package/dist/queue/util.d.ts +4 -0
- package/dist/queue/util.d.ts.map +1 -0
- package/dist/queue/util.js +16 -0
- package/dist/types/dialogable.d.ts +39 -0
- package/dist/types/dialogable.d.ts.map +1 -0
- package/dist/types/dialogable.js +5 -0
- package/dist/types/performable.d.ts +5 -0
- package/dist/types/performable.d.ts.map +1 -0
- package/dist/types/performable.js +1 -0
- package/dist/util/dom/active-element.d.ts +3 -0
- package/dist/util/dom/active-element.d.ts.map +1 -0
- package/dist/util/dom/active-element.js +11 -0
- package/dist/util/fetch/fetch.d.ts +41 -0
- package/dist/util/fetch/fetch.d.ts.map +1 -0
- package/dist/util/fetch/fetch.js +74 -0
- package/dist/util/fetch/url.d.ts +30 -0
- package/dist/util/fetch/url.d.ts.map +1 -0
- package/dist/util/fetch/url.js +29 -0
- package/dist/util/path.d.ts +42 -0
- package/dist/util/path.d.ts.map +1 -0
- package/dist/util/path.js +68 -0
- package/dist/util/polymer-property-changed-event.d.ts +6 -0
- package/dist/util/polymer-property-changed-event.d.ts.map +1 -0
- package/dist/util/polymer-property-changed-event.js +27 -0
- package/dist/util/test/path.test.d.ts +2 -0
- package/dist/util/test/path.test.d.ts.map +1 -0
- package/dist/util/test/path.test.js +99 -0
- package/package.json +113 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Rec } from '@neovici/cosmoz-utils/object';
|
|
2
|
+
type NewState<T> = T | ((previousState?: T) => T);
|
|
3
|
+
type StateUpdater<T> = (value: NewState<T>) => void;
|
|
4
|
+
interface FilterMeta<F extends Rec<string>> {
|
|
5
|
+
filters: F;
|
|
6
|
+
onFilter: (name: PropertyKey, value: any) => void;
|
|
7
|
+
setFilters: StateUpdater<F>;
|
|
8
|
+
}
|
|
9
|
+
export declare const filter: <F extends Rec<string>>(meta: FilterMeta<F>) => (name: keyof F) => (e: CustomEvent<{
|
|
10
|
+
value: F[typeof name];
|
|
11
|
+
}>) => void;
|
|
12
|
+
export declare const notify: (host: EventTarget) => (name: string) => (e: CustomEvent) => void;
|
|
13
|
+
export declare const useList: <F extends Rec<string>>() => {
|
|
14
|
+
sortOn: string | undefined;
|
|
15
|
+
descending: boolean;
|
|
16
|
+
filters: F;
|
|
17
|
+
onSort: (e: CustomEvent<import("@pionjs/pion/lib/use-state.js").NewState<string | undefined>>) => void;
|
|
18
|
+
onDescending: (e: CustomEvent<import("@pionjs/pion/lib/use-state.js").NewState<boolean>>) => void;
|
|
19
|
+
filter: (name: string) => (e: CustomEvent<{
|
|
20
|
+
value: any;
|
|
21
|
+
}>) => void;
|
|
22
|
+
notify: (name: string) => (e: CustomEvent) => void;
|
|
23
|
+
};
|
|
24
|
+
export declare const useListState: <I>() => {
|
|
25
|
+
totalAvailable: number | undefined;
|
|
26
|
+
setTotalAvailable: import("@pionjs/pion").StateUpdater<number | undefined>;
|
|
27
|
+
items: I[];
|
|
28
|
+
setItems: import("@pionjs/pion").StateUpdater<I[]>;
|
|
29
|
+
selected: I[];
|
|
30
|
+
setSelected: import("@pionjs/pion").StateUpdater<I[]>;
|
|
31
|
+
};
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=use-list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-list.d.ts","sourceRoot":"","sources":["../../src/queue/use-list.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AAGnD,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAClD,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAEpD,UAAU,UAAU,CAAC,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAClD,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;CAC5B;AAED,eAAO,MAAM,MAAM,GACjB,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,UAAU,CAAC,CAAC,CAAC,MAC1C,MAAM,MAAM,CAAC,MACb,GAAG,WAAW,CAAC;IAAE,KAAK,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAA;CAAE,CAAC,SAKzC,CAAC;AAEH,eAAO,MAAM,MAAM,GACjB,MAAM,WAAW,MAAM,MAAM,MAAM,MAAM,GAAG,WAAW,SAEvD,CAAC;AAEH,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC;;;;;;+BAZ3C;;MAAyC;mBAQZ,MAAM,MAAM,GAAG,WAAW;CA4BxD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,CAAC;;;;;;;CAa7B,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { useMemo, useState, useCallback } from '@pionjs/pion';
|
|
2
|
+
import { useHost } from '@neovici/cosmoz-utils/hooks/use-host';
|
|
3
|
+
import { useMeta } from '@neovici/cosmoz-utils/hooks/use-meta';
|
|
4
|
+
import { updateWith } from '../util/polymer-property-changed-event.js';
|
|
5
|
+
export const filter = (meta) => (name) => (e) => {
|
|
6
|
+
const { value } = e.detail;
|
|
7
|
+
if (value === meta.filters?.[name])
|
|
8
|
+
return;
|
|
9
|
+
meta.setFilters((f) => ({ ...f, [name]: value }));
|
|
10
|
+
meta.onFilter(name, value);
|
|
11
|
+
};
|
|
12
|
+
export const notify = (host) => (name) => (e) => {
|
|
13
|
+
host.dispatchEvent(new CustomEvent(name, { detail: e.detail }));
|
|
14
|
+
};
|
|
15
|
+
export const useList = () => {
|
|
16
|
+
const host = useHost();
|
|
17
|
+
const [sortOn, setSortOn] = useState();
|
|
18
|
+
const [descending, setDescending] = useState(false);
|
|
19
|
+
const [filters, setFilters] = useState({});
|
|
20
|
+
const onFilter = useCallback((name, value) => host.dispatchEvent(new CustomEvent('filter', { detail: { name, value } })), []);
|
|
21
|
+
const meta = useMeta({ filters, setFilters, onFilter });
|
|
22
|
+
return {
|
|
23
|
+
sortOn,
|
|
24
|
+
descending,
|
|
25
|
+
filters,
|
|
26
|
+
onSort: useMemo(() => updateWith(setSortOn), []),
|
|
27
|
+
onDescending: useMemo(() => updateWith(setDescending), []),
|
|
28
|
+
filter: useMemo(() => filter(meta), []),
|
|
29
|
+
notify: useMemo(() => notify(host), []),
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
export const useListState = () => {
|
|
33
|
+
const [totalAvailable, setTotalAvailable] = useState(), [items, setItems] = useState([]), [selected, setSelected] = useState([]);
|
|
34
|
+
return {
|
|
35
|
+
totalAvailable,
|
|
36
|
+
setTotalAvailable,
|
|
37
|
+
items,
|
|
38
|
+
setItems,
|
|
39
|
+
selected,
|
|
40
|
+
setSelected,
|
|
41
|
+
};
|
|
42
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-pref.d.ts","sourceRoot":"","sources":["../../src/queue/use-pref.ts"],"names":[],"mappings":"AAEA,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;AACvC,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AACpE,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,EACvC,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,CAAC,GACb,QAAQ,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { useState, useCallback } from '@pionjs/pion';
|
|
2
|
+
export function usePref(key, defaultValue) {
|
|
3
|
+
const [pref, setPref] = useState(() => localStorage.getItem(`pref-${key}`) || defaultValue);
|
|
4
|
+
return [
|
|
5
|
+
pref,
|
|
6
|
+
useCallback((value) => {
|
|
7
|
+
localStorage.setItem(`pref-${key}`, value);
|
|
8
|
+
setPref(value);
|
|
9
|
+
}, [setPref]),
|
|
10
|
+
];
|
|
11
|
+
}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { useListState } from './use-list';
|
|
2
|
+
import { SplitOpts } from './use-split';
|
|
3
|
+
import { Options as UseTabsOptions } from './use-tabs';
|
|
4
|
+
interface Opts<I> extends ReturnType<typeof useListState<I>>, Pick<UseTabsOptions<I>, 'fallback'> {
|
|
5
|
+
tabHashParam?: string;
|
|
6
|
+
idHashParam?: string;
|
|
7
|
+
onActivate?: (name: string) => void;
|
|
8
|
+
api?: (id: string, item: I) => string;
|
|
9
|
+
id?: (i: I) => string;
|
|
10
|
+
split?: SplitOpts;
|
|
11
|
+
}
|
|
12
|
+
declare const useQueue: <I>({ id, api, tabHashParam, idHashParam, fallback, onActivate, split, ...thru }: Opts<I>) => {
|
|
13
|
+
tabnav: import("@neovici/cosmoz-tabs/next/use-tabs.js").Result<{
|
|
14
|
+
readonly name: "overview";
|
|
15
|
+
readonly title: string;
|
|
16
|
+
readonly disabled: false;
|
|
17
|
+
readonly content: import("lit-html").TemplateResult<1>;
|
|
18
|
+
} | {
|
|
19
|
+
readonly name: "split";
|
|
20
|
+
readonly disabled: boolean;
|
|
21
|
+
readonly title: string;
|
|
22
|
+
readonly content: import("lit-html").TemplateResult<1>;
|
|
23
|
+
} | {
|
|
24
|
+
readonly name: "queue";
|
|
25
|
+
readonly disabled: boolean;
|
|
26
|
+
readonly title: string;
|
|
27
|
+
readonly content: import("lit-html").TemplateResult<1>;
|
|
28
|
+
} | {
|
|
29
|
+
fallback: boolean;
|
|
30
|
+
name: "overview";
|
|
31
|
+
title: string;
|
|
32
|
+
disabled: false;
|
|
33
|
+
content: import("lit-html").TemplateResult<1>;
|
|
34
|
+
} | {
|
|
35
|
+
fallback: boolean;
|
|
36
|
+
name: "split";
|
|
37
|
+
disabled: boolean;
|
|
38
|
+
title: string;
|
|
39
|
+
content: import("lit-html").TemplateResult<1>;
|
|
40
|
+
} | {
|
|
41
|
+
fallback: boolean;
|
|
42
|
+
name: "queue";
|
|
43
|
+
disabled: boolean;
|
|
44
|
+
title: string;
|
|
45
|
+
content: import("lit-html").TemplateResult<1>;
|
|
46
|
+
}>;
|
|
47
|
+
activeTab: "split" | "overview" | "queue";
|
|
48
|
+
mobile: boolean;
|
|
49
|
+
hideActions: boolean;
|
|
50
|
+
index: number;
|
|
51
|
+
onItemClick: (e: Event) => void;
|
|
52
|
+
ensue: (itemId: string) => void;
|
|
53
|
+
nav: {
|
|
54
|
+
id: import("./use-data-nav").MapId<I>;
|
|
55
|
+
details: ((item: I) => Promise<any>) | undefined;
|
|
56
|
+
forward: boolean;
|
|
57
|
+
index: number;
|
|
58
|
+
item: I;
|
|
59
|
+
items: I[];
|
|
60
|
+
setItem: import("@pionjs/pion").StateUpdater<I>;
|
|
61
|
+
prev: (() => void) | undefined;
|
|
62
|
+
next: (() => void) | undefined;
|
|
63
|
+
};
|
|
64
|
+
totalAvailable: number | undefined;
|
|
65
|
+
setTotalAvailable: import("@pionjs/pion").StateUpdater<number | undefined>;
|
|
66
|
+
items: I[];
|
|
67
|
+
setItems: import("@pionjs/pion").StateUpdater<I[]>;
|
|
68
|
+
selected: I[];
|
|
69
|
+
setSelected: import("@pionjs/pion").StateUpdater<I[]>;
|
|
70
|
+
};
|
|
71
|
+
export type UseQueue<I> = Omit<Parameters<typeof useQueue<I>>[0], keyof ReturnType<typeof useListState<I>>>;
|
|
72
|
+
declare const _default: <I>(thru: UseQueue<I>) => {
|
|
73
|
+
tabnav: import("@neovici/cosmoz-tabs/next/use-tabs.js").Result<{
|
|
74
|
+
readonly name: "overview";
|
|
75
|
+
readonly title: string;
|
|
76
|
+
readonly disabled: false;
|
|
77
|
+
readonly content: import("lit-html").TemplateResult<1>;
|
|
78
|
+
} | {
|
|
79
|
+
readonly name: "split";
|
|
80
|
+
readonly disabled: boolean;
|
|
81
|
+
readonly title: string;
|
|
82
|
+
readonly content: import("lit-html").TemplateResult<1>;
|
|
83
|
+
} | {
|
|
84
|
+
readonly name: "queue";
|
|
85
|
+
readonly disabled: boolean;
|
|
86
|
+
readonly title: string;
|
|
87
|
+
readonly content: import("lit-html").TemplateResult<1>;
|
|
88
|
+
} | {
|
|
89
|
+
fallback: boolean;
|
|
90
|
+
name: "overview";
|
|
91
|
+
title: string;
|
|
92
|
+
disabled: false;
|
|
93
|
+
content: import("lit-html").TemplateResult<1>;
|
|
94
|
+
} | {
|
|
95
|
+
fallback: boolean;
|
|
96
|
+
name: "split";
|
|
97
|
+
disabled: boolean;
|
|
98
|
+
title: string;
|
|
99
|
+
content: import("lit-html").TemplateResult<1>;
|
|
100
|
+
} | {
|
|
101
|
+
fallback: boolean;
|
|
102
|
+
name: "queue";
|
|
103
|
+
disabled: boolean;
|
|
104
|
+
title: string;
|
|
105
|
+
content: import("lit-html").TemplateResult<1>;
|
|
106
|
+
}>;
|
|
107
|
+
activeTab: "split" | "overview" | "queue";
|
|
108
|
+
mobile: boolean;
|
|
109
|
+
hideActions: boolean;
|
|
110
|
+
index: number;
|
|
111
|
+
onItemClick: (e: Event) => void;
|
|
112
|
+
ensue: (itemId: string) => void;
|
|
113
|
+
nav: {
|
|
114
|
+
id: import("./use-data-nav").MapId<I>;
|
|
115
|
+
details: ((item: I) => Promise<any>) | undefined;
|
|
116
|
+
forward: boolean;
|
|
117
|
+
index: number;
|
|
118
|
+
item: I;
|
|
119
|
+
items: I[];
|
|
120
|
+
setItem: import("@pionjs/pion").StateUpdater<I>;
|
|
121
|
+
prev: (() => void) | undefined;
|
|
122
|
+
next: (() => void) | undefined;
|
|
123
|
+
};
|
|
124
|
+
totalAvailable: number | undefined;
|
|
125
|
+
setTotalAvailable: import("@pionjs/pion").StateUpdater<number | undefined>;
|
|
126
|
+
items: I[];
|
|
127
|
+
setItems: import("@pionjs/pion").StateUpdater<I[]>;
|
|
128
|
+
selected: I[];
|
|
129
|
+
setSelected: import("@pionjs/pion").StateUpdater<I[]>;
|
|
130
|
+
};
|
|
131
|
+
export default _default;
|
|
132
|
+
//# sourceMappingURL=use-queue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-queue.d.ts","sourceRoot":"","sources":["../../src/queue/use-queue.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAiB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAClD,OAAgB,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,YAAY,CAAC;AA8BhE,UAAU,IAAI,CAAC,CAAC,CACf,SACC,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,EAClC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IACtC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,QAAA,MAAM,QAAQ,GAAI,CAAC,EAAE,8EASlB,IAAI,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA2CH,KAAK;oBAtBA,MAAM;;;;;;;;;;;;;;;;;;CAkDjB,CAAC;AAEF,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,IAAI,CAC7B,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACjC,MAAM,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CACxC,CAAC;yBAEc,CAAC,EAAE,MAAM,QAAQ,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAnC7B,KAAK;oBAtBA,MAAM;;;;;;;;;;;;;;;;;;;AAyDlB,wBACgD"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { array } from '@neovici/cosmoz-utils/array';
|
|
2
|
+
import { memoize } from '@neovici/cosmoz-utils/memoize';
|
|
3
|
+
import { useViewInfo } from '@neovici/cosmoz-viewinfo';
|
|
4
|
+
import { useCallback, useMemo } from '@pionjs/pion';
|
|
5
|
+
import { json } from '../util/fetch/fetch';
|
|
6
|
+
import useDataNav from './use-data-nav';
|
|
7
|
+
import useKeyNav from './use-key-nav';
|
|
8
|
+
import { useListState } from './use-list';
|
|
9
|
+
import useSplit from './use-split';
|
|
10
|
+
import useTabs from './use-tabs';
|
|
11
|
+
import useUpdates from './use-updates';
|
|
12
|
+
import { getItems, normalizeHeaders } from './util';
|
|
13
|
+
const _id = (item) => item['id'];
|
|
14
|
+
const useQNav = ({ id, api, items, ...thru }) => {
|
|
15
|
+
const details = useMemo(() => api && memoize((item) => json(api(id(item), item))), [id, api]), pass = useDataNav(items, {
|
|
16
|
+
...thru,
|
|
17
|
+
id,
|
|
18
|
+
});
|
|
19
|
+
return { ...pass, id, details };
|
|
20
|
+
};
|
|
21
|
+
const useQueue = ({ id = _id, api, tabHashParam, idHashParam, fallback, onActivate, split, ...thru }) => {
|
|
22
|
+
const { items: _items, selected } = thru, { mobile } = useViewInfo(), items = useMemo(() => normalizeHeaders(_items), [_items]), queueItems = useMemo(() => getItems(items, selected), [items, selected]), { tabnav, activeTab } = useTabs({
|
|
23
|
+
items: queueItems,
|
|
24
|
+
hashParam: tabHashParam,
|
|
25
|
+
fallback,
|
|
26
|
+
onActivate,
|
|
27
|
+
mobile,
|
|
28
|
+
}), nav = useQNav({
|
|
29
|
+
id,
|
|
30
|
+
api,
|
|
31
|
+
items: queueItems,
|
|
32
|
+
hashParam: idHashParam,
|
|
33
|
+
maintainSelection: ['queue', 'split'].includes(activeTab),
|
|
34
|
+
}), { item, setItem } = nav, ensue = useCallback((itemId) => {
|
|
35
|
+
if (id(item) !== itemId) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const idx = items.indexOf(item);
|
|
39
|
+
setItem(items[Math.min(idx + 1, items.length - 1)]);
|
|
40
|
+
}, [item, id, items]);
|
|
41
|
+
useKeyNav({ activeTab, ...nav });
|
|
42
|
+
useSplit({ activeTab, ...split });
|
|
43
|
+
useUpdates({ ensue, ...nav });
|
|
44
|
+
return {
|
|
45
|
+
...thru,
|
|
46
|
+
tabnav,
|
|
47
|
+
activeTab,
|
|
48
|
+
mobile,
|
|
49
|
+
hideActions: selected?.length > 0 && activeTab === 'split',
|
|
50
|
+
index: useMemo(() => items.indexOf(item), [item, items]),
|
|
51
|
+
onItemClick: useCallback((e) => {
|
|
52
|
+
const { index, activate: mustActivate } = e.detail;
|
|
53
|
+
const mini = e
|
|
54
|
+
.composedPath()
|
|
55
|
+
.find((el) => el instanceof Element && el.matches?.('[mini]'));
|
|
56
|
+
const activate = mustActivate ?? (mini ? ['split', 'queue'] : undefined);
|
|
57
|
+
setItem(items[index]);
|
|
58
|
+
if (activate) {
|
|
59
|
+
const next = array(activate).find((name) => tabnav.tabs.find((tab) => tab.name === name && !tab.disabled));
|
|
60
|
+
if (next)
|
|
61
|
+
tabnav.activate(next);
|
|
62
|
+
}
|
|
63
|
+
e.preventDefault();
|
|
64
|
+
}, [activeTab, items]),
|
|
65
|
+
ensue,
|
|
66
|
+
nav,
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
export default (thru) => useQueue({ ...thru, ...useListState() });
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import Split from 'split.js';
|
|
2
|
+
export type SplitOpts = Pick<Split.Options, 'sizes' | 'minSize' | 'expandToMin' | 'snapOffset'>;
|
|
3
|
+
interface Opts extends SplitOpts {
|
|
4
|
+
activeTab: string;
|
|
5
|
+
}
|
|
6
|
+
declare const _default: ({ activeTab, ...opts }: Opts) => void;
|
|
7
|
+
export default _default;
|
|
8
|
+
//# sourceMappingURL=use-split.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-split.d.ts","sourceRoot":"","sources":["../../src/queue/use-split.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,UAAU,CAAC;AAE7B,MAAM,MAAM,SAAS,GAAG,IAAI,CAC3B,KAAK,CAAC,OAAO,EACb,OAAO,GAAG,SAAS,GAAG,aAAa,GAAG,YAAY,CAClD,CAAC;AAEF,UAAU,IAAK,SAAQ,SAAS;IAC/B,SAAS,EAAE,MAAM,CAAC;CAClB;yBAEe,wBAAwB,IAAI;AAA5C,wBAyBE"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { useRef, useEffect } from '@pionjs/pion';
|
|
2
|
+
import { useMeta } from '@neovici/cosmoz-utils/hooks/use-meta';
|
|
3
|
+
import { useHost } from '@neovici/cosmoz-utils/hooks/use-host';
|
|
4
|
+
import Split from 'split.js';
|
|
5
|
+
export default ({ activeTab, ...opts }) => {
|
|
6
|
+
const splitRef = useRef(undefined);
|
|
7
|
+
const host = useHost();
|
|
8
|
+
const meta = useMeta(opts);
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
if (activeTab !== 'split')
|
|
11
|
+
return;
|
|
12
|
+
const root = host.shadowRoot;
|
|
13
|
+
const list = root.querySelector('#list');
|
|
14
|
+
const queue = root.querySelector('#queue');
|
|
15
|
+
const listMinWidth = Array.isArray(meta.minSize)
|
|
16
|
+
? meta.minSize[0]
|
|
17
|
+
: undefined;
|
|
18
|
+
if (listMinWidth != null && list) {
|
|
19
|
+
list.style.minWidth = `${listMinWidth}px`;
|
|
20
|
+
}
|
|
21
|
+
splitRef.current = Split([list, queue], {
|
|
22
|
+
gutterSize: 2,
|
|
23
|
+
...meta,
|
|
24
|
+
});
|
|
25
|
+
return () => {
|
|
26
|
+
splitRef.current?.destroy();
|
|
27
|
+
list.style.minWidth = '';
|
|
28
|
+
};
|
|
29
|
+
}, [activeTab]);
|
|
30
|
+
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { RenderTab } from '@neovici/cosmoz-tabs/next/index.js';
|
|
2
|
+
export interface Options<I> {
|
|
3
|
+
items: I[];
|
|
4
|
+
hashParam?: string;
|
|
5
|
+
mobile?: boolean;
|
|
6
|
+
onActivate?: (name: string) => void;
|
|
7
|
+
fallback?: string;
|
|
8
|
+
sizes?: {
|
|
9
|
+
list?: string;
|
|
10
|
+
view?: string;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export interface Tab extends RenderTab {
|
|
14
|
+
content: unknown;
|
|
15
|
+
}
|
|
16
|
+
declare const _default: <I = unknown>({ items, hashParam, mobile, fallback, onActivate, }: Options<I>) => {
|
|
17
|
+
activeTab: "split" | "overview" | "queue";
|
|
18
|
+
tabnav: import("@neovici/cosmoz-tabs/next/use-tabs.js").Result<{
|
|
19
|
+
readonly name: "overview";
|
|
20
|
+
readonly title: string;
|
|
21
|
+
readonly disabled: false;
|
|
22
|
+
readonly content: import("lit-html").TemplateResult<1>;
|
|
23
|
+
} | {
|
|
24
|
+
readonly name: "split";
|
|
25
|
+
readonly disabled: boolean;
|
|
26
|
+
readonly title: string;
|
|
27
|
+
readonly content: import("lit-html").TemplateResult<1>;
|
|
28
|
+
} | {
|
|
29
|
+
readonly name: "queue";
|
|
30
|
+
readonly disabled: boolean;
|
|
31
|
+
readonly title: string;
|
|
32
|
+
readonly content: import("lit-html").TemplateResult<1>;
|
|
33
|
+
} | {
|
|
34
|
+
fallback: boolean;
|
|
35
|
+
name: "overview";
|
|
36
|
+
title: string;
|
|
37
|
+
disabled: false;
|
|
38
|
+
content: import("lit-html").TemplateResult<1>;
|
|
39
|
+
} | {
|
|
40
|
+
fallback: boolean;
|
|
41
|
+
name: "split";
|
|
42
|
+
disabled: boolean;
|
|
43
|
+
title: string;
|
|
44
|
+
content: import("lit-html").TemplateResult<1>;
|
|
45
|
+
} | {
|
|
46
|
+
fallback: boolean;
|
|
47
|
+
name: "queue";
|
|
48
|
+
disabled: boolean;
|
|
49
|
+
title: string;
|
|
50
|
+
content: import("lit-html").TemplateResult<1>;
|
|
51
|
+
}>;
|
|
52
|
+
};
|
|
53
|
+
export default _default;
|
|
54
|
+
//# sourceMappingURL=use-tabs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-tabs.d.ts","sourceRoot":"","sources":["../../src/queue/use-tabs.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAKxE,MAAM,WAAW,OAAO,CAAC,CAAC;IACzB,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAED,MAAM,WAAW,GAAI,SAAQ,SAAS;IACrC,OAAO,EAAE,OAAO,CAAC;CACjB;yBAEe,CAAC,GAAG,OAAO,EAAE,qDAM1B,OAAO,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AANb,wBA4CE"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { useMemo } from '@pionjs/pion';
|
|
2
|
+
import { useTabs } from '@neovici/cosmoz-tabs/next/index.js';
|
|
3
|
+
import { _ } from '@neovici/cosmoz-i18next';
|
|
4
|
+
import * as icons from './icons';
|
|
5
|
+
export default ({ items, hashParam, mobile, fallback, onActivate, }) => {
|
|
6
|
+
const tabs = useMemo(() => [
|
|
7
|
+
{
|
|
8
|
+
name: 'overview',
|
|
9
|
+
title: _('List'),
|
|
10
|
+
disabled: false,
|
|
11
|
+
content: icons.list,
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'split',
|
|
15
|
+
disabled: mobile || !(items.length > 0),
|
|
16
|
+
title: _('Split'),
|
|
17
|
+
content: icons.split,
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
name: 'queue',
|
|
21
|
+
disabled: !(items.length > 0),
|
|
22
|
+
title: _('Queue'),
|
|
23
|
+
content: icons.queue,
|
|
24
|
+
},
|
|
25
|
+
].map((tab) => tab.name === fallback ? { ...tab, fallback: true } : tab), [items.length, mobile, fallback]);
|
|
26
|
+
const _tabnav = useTabs(tabs, { hashParam, onActivate }), tabnav = useMemo(() => _tabnav, Object.values(_tabnav)), activeTab = tabnav.active?.name;
|
|
27
|
+
return {
|
|
28
|
+
activeTab,
|
|
29
|
+
tabnav,
|
|
30
|
+
};
|
|
31
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-updates.d.ts","sourceRoot":"","sources":["../../src/queue/use-updates.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,IAAI,CAAC;CACnB;yBAEe,WAAW;IAAE,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE;AAA1D,wBAiBE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { useEffect } from '@pionjs/pion';
|
|
2
|
+
import { useMeta } from '@neovici/cosmoz-utils/hooks/use-meta';
|
|
3
|
+
import { useHost } from '@neovici/cosmoz-utils/hooks/use-host';
|
|
4
|
+
export default ({ ensue }) => {
|
|
5
|
+
const host = useHost(), meta = useMeta({ ensue });
|
|
6
|
+
useEffect(() => {
|
|
7
|
+
const onRemove = (e) => {
|
|
8
|
+
const { id, remove } = e
|
|
9
|
+
.detail;
|
|
10
|
+
e.preventDefault();
|
|
11
|
+
meta?.ensue(id);
|
|
12
|
+
remove();
|
|
13
|
+
};
|
|
14
|
+
host.addEventListener('list-item-remove', onRemove);
|
|
15
|
+
return () => host.removeEventListener('list-item-remove', onRemove);
|
|
16
|
+
}, []);
|
|
17
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/queue/util.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,QACL,CAAC;AAEjD,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,UAAU,CAAC,EAAE,KAAG,CAAC,EAMpD,CAAC;AAMF,eAAO,MAAM,KAAK,GAAI,CAAC,SAAS,WAAW,EAAE,MAAM,CAAC,EAAE,IAAI,MAAM,SAO/D,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export const getItems = (items, selected) => (selected?.length > 0 ? selected : items) ?? [];
|
|
2
|
+
export const normalizeHeaders = (headers) => {
|
|
3
|
+
if (!headers)
|
|
4
|
+
return [];
|
|
5
|
+
const items = headers[0]?.['items'];
|
|
6
|
+
return Array.isArray(items)
|
|
7
|
+
? headers.flatMap((group) => group.items ?? [])
|
|
8
|
+
: headers;
|
|
9
|
+
};
|
|
10
|
+
export const touch = (list, id) => {
|
|
11
|
+
const ot = list?.shadowRoot?.querySelector('cosmoz-omnitable'), item = ot?.data?.find((i) => id === i.id);
|
|
12
|
+
if (!item) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
ot.replaceItem(item, { ...item });
|
|
16
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @deprecated These types are temporary copies from @neovici/core.
|
|
3
|
+
* TODO: Refactor once cz-form is its own repo and import from there instead.
|
|
4
|
+
*/
|
|
5
|
+
import type { TemplateResult } from 'lit';
|
|
6
|
+
export type Renderable = null | undefined | string | number | TemplateResult | ReadonlyArray<Renderable>;
|
|
7
|
+
export type Progress = [string | number, string | number];
|
|
8
|
+
export interface Field<T extends object, K extends keyof T = keyof T> {
|
|
9
|
+
id: K;
|
|
10
|
+
label?: string;
|
|
11
|
+
placeholder?: string;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
hidden?: boolean;
|
|
14
|
+
mandatory?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export type Fields<T extends object> = readonly Field<T, keyof T>[];
|
|
17
|
+
export interface Dialog<T extends object> {
|
|
18
|
+
heading: string;
|
|
19
|
+
title?: string;
|
|
20
|
+
name?: string;
|
|
21
|
+
description?: Renderable;
|
|
22
|
+
fields: Fields<T>;
|
|
23
|
+
initial: T;
|
|
24
|
+
onClose?: () => void;
|
|
25
|
+
onSave?: (values: T, initial: T, setProgress?: (p: Progress) => void) => PromiseLike<unknown>;
|
|
26
|
+
allowEmpty?: boolean;
|
|
27
|
+
auto?: boolean;
|
|
28
|
+
uncancelable?: boolean;
|
|
29
|
+
hideCancelButton?: boolean;
|
|
30
|
+
saveText?: string;
|
|
31
|
+
renderInPortal?: boolean;
|
|
32
|
+
backdrop?: boolean;
|
|
33
|
+
manualFocus?: boolean;
|
|
34
|
+
}
|
|
35
|
+
export interface Dialogable<T extends object> extends Dialog<T> {
|
|
36
|
+
preventClose?: boolean;
|
|
37
|
+
preventRefresh?: boolean;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=dialogable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialogable.d.ts","sourceRoot":"","sources":["../../src/types/dialogable.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAE1C,MAAM,MAAM,UAAU,GACnB,IAAI,GACJ,SAAS,GACT,MAAM,GACN,MAAM,GACN,cAAc,GACd,aAAa,CAAC,UAAU,CAAC,CAAC;AAE7B,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AAE1D,MAAM,WAAW,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC;IACnE,EAAE,EAAE,CAAC,CAAC;IACN,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,MAAM,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;AAEpE,MAAM,WAAW,MAAM,CAAC,CAAC,SAAS,MAAM;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAClB,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,KAAK,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9F,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,MAAM,CAAC,CAAC,CAAC;IAC9D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;CACzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"performable.d.ts","sourceRoot":"","sources":["../../src/types/performable.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,CAAC,gBAAgB,GAAG,MAAM,IAAI;IACpD,MAAM,EAAE,gBAAgB,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAChC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"active-element.d.ts","sourceRoot":"","sources":["../../../src/util/dom/active-element.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,gBAAgB,GACrB,OAAM,QAAQ,GAAG,UAAqB,KACpC,WAAW,GAAG,IAYhB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const getActiveElement = (root = document) => {
|
|
2
|
+
const activeEl = root.activeElement;
|
|
3
|
+
if (!activeEl) {
|
|
4
|
+
return null;
|
|
5
|
+
}
|
|
6
|
+
if (activeEl.shadowRoot) {
|
|
7
|
+
return getActiveElement(activeEl.shadowRoot);
|
|
8
|
+
}
|
|
9
|
+
return activeEl;
|
|
10
|
+
};
|
|
11
|
+
export default getActiveElement;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export declare class RequestError extends Error {
|
|
2
|
+
response: Response;
|
|
3
|
+
data: unknown;
|
|
4
|
+
constructor(message: string, response: Response, data?: unknown);
|
|
5
|
+
}
|
|
6
|
+
export declare const notice: (data: unknown) => string;
|
|
7
|
+
export declare const setBaseInit: <T extends RequestInit>(init: T) => Partial<RequestInit> & {
|
|
8
|
+
body?: (BodyInit | null) | undefined;
|
|
9
|
+
cache?: RequestCache | undefined;
|
|
10
|
+
credentials?: RequestCredentials | undefined;
|
|
11
|
+
headers?: HeadersInit | undefined;
|
|
12
|
+
integrity?: string | undefined;
|
|
13
|
+
keepalive?: boolean | undefined;
|
|
14
|
+
method?: string | undefined;
|
|
15
|
+
mode?: RequestMode | undefined;
|
|
16
|
+
priority?: RequestPriority | undefined;
|
|
17
|
+
redirect?: RequestRedirect | undefined;
|
|
18
|
+
referrer?: string | undefined;
|
|
19
|
+
referrerPolicy?: ReferrerPolicy | undefined;
|
|
20
|
+
signal?: (AbortSignal | null) | undefined;
|
|
21
|
+
window?: null | undefined;
|
|
22
|
+
} & T & {
|
|
23
|
+
headers: {};
|
|
24
|
+
};
|
|
25
|
+
export declare const fetch: (url: string, opts?: RequestInit) => Promise<Response>;
|
|
26
|
+
export declare const handleJSON: (res: Response) => Promise<any> | "";
|
|
27
|
+
/**
|
|
28
|
+
* @deprecated
|
|
29
|
+
*/
|
|
30
|
+
export declare const json: (url: string, { fetch: _fetch, handleJSON: _handleJSON, ...opts }?: RequestInit & {
|
|
31
|
+
fetch?: typeof fetch;
|
|
32
|
+
handleJSON?: typeof handleJSON;
|
|
33
|
+
}) => Promise<any>;
|
|
34
|
+
/**
|
|
35
|
+
* @deprecated
|
|
36
|
+
*/
|
|
37
|
+
export declare const jsonPost: (url: string, body?: object | BodyInit, opts?: Omit<RequestInit, "body">) => Promise<any>;
|
|
38
|
+
export declare const jsonPut: (url: string, body?: object | BodyInit, opts?: Omit<RequestInit, "body">) => Promise<any>;
|
|
39
|
+
export declare const jsonPatch: (url: string, body: object | BodyInit, opts?: Omit<RequestInit, "body">) => Promise<any>;
|
|
40
|
+
export declare const jsonDelete: (url: string, body?: object | BodyInit, opts?: Omit<RequestInit, "body">) => Promise<any>;
|
|
41
|
+
//# sourceMappingURL=fetch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/util/fetch/fetch.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAa,SAAQ,KAAK;IACtC,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;gBACF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,OAAO;CAM/D;AAUD,eAAO,MAAM,MAAM,GAAI,MAAM,OAAO,WAYnC,CAAC;AAIF,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,WAAW,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;;;CAOzD,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,KAAK,MAAM,EAAE,OAAO,WAAW,sBAUlD,CAAC;AAEJ,eAAO,MAAM,UAAU,GAAI,KAAK,QAAQ,sBAkBvC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,IAAI,GAChB,KAAK,MAAM,EACX,sDAIG,WAAW,GAAG;IAChB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,UAAU,CAAC;CAC1B,iBACiC,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,QAAQ,GACpB,KAAK,MAAM,EACX,OAAO,MAAM,GAAG,QAAQ,EACxB,OAAO,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,iBAU9B,CAAC;AAEJ,eAAO,MAAM,OAAO,GACnB,KAAK,MAAM,EACX,OAAO,MAAM,GAAG,QAAQ,EACxB,OAAO,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,iBACmB,CAAC;AAErD,eAAO,MAAM,SAAS,GACrB,KAAK,MAAM,EACX,MAAM,MAAM,GAAG,QAAQ,EACvB,OAAO,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,iBACqB,CAAC;AAEvD,eAAO,MAAM,UAAU,GACtB,KAAK,MAAM,EACX,OAAO,MAAM,GAAG,QAAQ,EACxB,OAAO,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,iBACsB,CAAC"}
|