intable 0.0.6 → 0.0.8
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/.github/copilot-instructions.md +102 -0
- package/README.md +16 -263
- package/docs/index-BaMALNy6.css +1 -0
- package/docs/index-CDN48t9E.js +3 -0
- package/docs/index-Cc4RNkLY.css +1 -0
- package/docs/index-MRnbkYmU.js +3 -0
- package/docs/index.html +15 -0
- package/docs/vite.svg +1 -0
- package/index.html +13 -0
- package/package.json +35 -38
- package/packages/intable/README.md +379 -0
- package/packages/intable/package.json +51 -0
- package/packages/intable/src/assets/ClearFormat.svg +3 -0
- package/packages/intable/src/assets/Forms.svg +4 -0
- package/packages/intable/src/assets/MergeCell.svg +4 -0
- package/packages/intable/src/assets/SplitCell.svg +4 -0
- package/packages/intable/src/assets/gap.svg +3 -0
- package/packages/intable/src/assets/loading.svg +12 -0
- package/packages/intable/src/assets/paint.svg +9 -0
- package/packages/intable/src/assets/solid.svg +1 -0
- package/packages/intable/src/components/Columns.tsx +86 -0
- package/packages/intable/src/components/DocTree.tsx +36 -0
- package/packages/intable/src/components/Menu.tsx +109 -0
- package/packages/intable/src/components/Popover.tsx +55 -0
- package/packages/intable/src/components/RecycleList.tsx +99 -0
- package/packages/intable/src/components/Render.tsx +26 -0
- package/packages/intable/src/components/Split.tsx +56 -0
- package/packages/intable/src/components/Tree.tsx +115 -0
- package/packages/intable/src/components/utils.tsx +12 -0
- package/packages/intable/src/hooks/index.ts +200 -0
- package/packages/intable/src/hooks/useDir.ts +78 -0
- package/packages/intable/src/hooks/useSelector.ts +91 -0
- package/packages/intable/src/hooks/useSort.tsx +118 -0
- package/packages/intable/src/hooks/useVirtualizer.ts +180 -0
- package/packages/intable/src/index.tsx +489 -0
- package/packages/intable/src/plugins/CellChangeHighlightPlugin.tsx +5 -0
- package/packages/intable/src/plugins/CellMergePlugin.tsx +153 -0
- package/packages/intable/src/plugins/CellSelectionPlugin.tsx +175 -0
- package/packages/intable/src/plugins/CommandPlugin.tsx +74 -0
- package/packages/intable/src/plugins/CopyPastePlugin.tsx +99 -0
- package/packages/intable/src/plugins/DiffPlugin.tsx +120 -0
- package/packages/intable/src/plugins/DragPlugin.tsx +81 -0
- package/packages/intable/src/plugins/EditablePlugin.tsx +252 -0
- package/packages/intable/src/plugins/ExpandPlugin.tsx +80 -0
- package/packages/intable/src/plugins/HeaderGroup.tsx +289 -0
- package/packages/intable/src/plugins/HistoryPlugin.tsx +49 -0
- package/packages/intable/src/plugins/MenuPlugin.tsx +195 -0
- package/packages/intable/src/plugins/RenderPlugin/components.tsx +51 -0
- package/packages/intable/src/plugins/RenderPlugin/index.tsx +81 -0
- package/packages/intable/src/plugins/ResizePlugin.tsx +122 -0
- package/packages/intable/src/plugins/RowGroupPlugin.tsx +122 -0
- package/packages/intable/src/plugins/RowSelectionPlugin.tsx +65 -0
- package/packages/intable/src/plugins/TreePlugin.tsx +212 -0
- package/packages/intable/src/plugins/VirtualScrollPlugin.tsx +190 -0
- package/packages/intable/src/plugins/ZodValidatorPlugin.tsx +61 -0
- package/packages/intable/src/style.scss +244 -0
- package/{dist → packages/intable/src}/theme/antd.scss +14 -5
- package/packages/intable/src/theme/dark.scss +46 -0
- package/{dist → packages/intable/src}/theme/element-plus.scss +6 -5
- package/packages/intable/src/theme/github.scss +80 -0
- package/packages/intable/src/theme/material.scss +73 -0
- package/packages/intable/src/theme/shadcn.scss +66 -0
- package/packages/intable/src/theme/stripe.scss +57 -0
- package/packages/intable/src/tree.ts +13 -0
- package/packages/intable/src/types/auto-imports.d.ts +13 -0
- package/packages/intable/src/utils.ts +122 -0
- package/packages/intable/src/wc.tsx +35 -0
- package/packages/intable/src/web-component.ts +1 -0
- package/packages/react/package.json +36 -0
- package/packages/react/src/index.ts +44 -0
- package/packages/react/src/plugins/antd.ts +94 -0
- package/packages/react/src/style.scss +12 -0
- package/packages/react/src/types/auto-imports.d.ts +10 -0
- package/packages/vue/package.json +34 -0
- package/packages/vue/src/index.ts +63 -0
- package/packages/vue/src/plugins/element-plus.ts +69 -0
- package/packages/vue/src/style.scss +12 -0
- package/packages/vue/src/types/auto-imports.d.ts +10 -0
- package/pnpm-workspace.yaml +2 -0
- package/public/vite.svg +1 -0
- package/scripts/build.js +184 -0
- package/scripts/publish.js +95 -0
- package/src/assets/ClearFormat.svg +3 -0
- package/src/assets/Forms.svg +4 -0
- package/src/assets/MergeCell.svg +4 -0
- package/src/assets/SplitCell.svg +4 -0
- package/src/assets/gap.svg +3 -0
- package/src/assets/loading.svg +12 -0
- package/src/assets/paint.svg +9 -0
- package/src/assets/solid.svg +1 -0
- package/src/demo-vue.ts +54 -0
- package/src/index.scss +105 -0
- package/src/index.tsx +20 -0
- package/src/pages/demo/BasicDemo.tsx +19 -0
- package/src/pages/demo/CellMergeDemo.tsx +41 -0
- package/src/pages/demo/CellSelectionDemo.tsx +24 -0
- package/src/pages/demo/CompositeDemo.tsx +60 -0
- package/src/pages/demo/CopyPasteDemo.tsx +26 -0
- package/src/pages/demo/DiffDemo.tsx +33 -0
- package/src/pages/demo/DragDemo.tsx +25 -0
- package/src/pages/demo/EditableDemo.tsx +58 -0
- package/src/pages/demo/ExpandDemo.tsx +32 -0
- package/src/pages/demo/HeaderGroupDemo.tsx +36 -0
- package/src/pages/demo/HistoryDemo.tsx +28 -0
- package/src/pages/demo/ReactDemo.tsx +59 -0
- package/src/pages/demo/ResizeDemo.tsx +24 -0
- package/src/pages/demo/RowGroupDemo.tsx +43 -0
- package/src/pages/demo/RowSelectionDemo.tsx +27 -0
- package/src/pages/demo/TreeDemo.tsx +45 -0
- package/src/pages/demo/VirtualScrollDemo.tsx +21 -0
- package/src/pages/demo/helpers.tsx +39 -0
- package/src/pages/demo/index.tsx +180 -0
- package/src/pages/index.tsx +2 -0
- package/src/pages/website.scss +37 -0
- package/src/pages/website.tsx +651 -0
- package/src/styles/index.scss +172 -0
- package/src/types/auto-imports.d.ts +13 -0
- package/stats.html +4949 -0
- package/tsconfig.app.json +34 -0
- package/tsconfig.json +7 -0
- package/tsconfig.node.json +26 -0
- package/vite.config.ts +70 -0
- package/dist/__uno.css +0 -1
- package/dist/chevron-right.js +0 -6
- package/dist/components/Columns.d.ts +0 -3
- package/dist/components/Columns.js +0 -71
- package/dist/components/DocTree.d.ts +0 -4
- package/dist/components/DocTree.js +0 -32
- package/dist/components/Menu.d.ts +0 -1
- package/dist/components/Menu.js +0 -107
- package/dist/components/Popover.d.ts +0 -14
- package/dist/components/Popover.js +0 -41
- package/dist/components/Render.d.ts +0 -4
- package/dist/components/Render.js +0 -20
- package/dist/components/Split.d.ts +0 -15
- package/dist/components/Split.js +0 -76
- package/dist/components/Tree.d.ts +0 -37
- package/dist/components/Tree.js +0 -82
- package/dist/components/utils.d.ts +0 -3
- package/dist/components/utils.js +0 -8
- package/dist/hooks/index.d.ts +0 -40
- package/dist/hooks/index.js +0 -157
- package/dist/hooks/useDir.d.ts +0 -11
- package/dist/hooks/useDir.js +0 -42
- package/dist/hooks/useSelector.d.ts +0 -16
- package/dist/hooks/useSelector.js +0 -35
- package/dist/hooks/useSort.d.ts +0 -18
- package/dist/hooks/useSort.js +0 -83
- package/dist/hooks/useVirtualizer.d.ts +0 -25
- package/dist/hooks/useVirtualizer.js +0 -67
- package/dist/index.d.ts +0 -130
- package/dist/index.js +0 -347
- package/dist/loading.js +0 -6
- package/dist/plugins/CellChangeHighlightPlugin.d.ts +0 -2
- package/dist/plugins/CellChangeHighlightPlugin.js +0 -4
- package/dist/plugins/CellMergePlugin.d.ts +0 -12
- package/dist/plugins/CellMergePlugin.js +0 -2
- package/dist/plugins/CellSelectionPlugin.d.ts +0 -15
- package/dist/plugins/CellSelectionPlugin.js +0 -115
- package/dist/plugins/CommandPlugin.d.ts +0 -14
- package/dist/plugins/CommandPlugin.js +0 -12
- package/dist/plugins/CopyPastePlugin.d.ts +0 -14
- package/dist/plugins/CopyPastePlugin.js +0 -42
- package/dist/plugins/DiffPlugin.d.ts +0 -23
- package/dist/plugins/DiffPlugin.js +0 -56
- package/dist/plugins/DragPlugin.d.ts +0 -14
- package/dist/plugins/DragPlugin.js +0 -47
- package/dist/plugins/EditablePlugin.d.ts +0 -48
- package/dist/plugins/EditablePlugin.js +0 -141
- package/dist/plugins/ExpandPlugin.d.ts +0 -18
- package/dist/plugins/ExpandPlugin.js +0 -50
- package/dist/plugins/HistoryPlugin.d.ts +0 -10
- package/dist/plugins/HistoryPlugin.js +0 -30
- package/dist/plugins/MenuPlugin.d.ts +0 -18
- package/dist/plugins/MenuPlugin.js +0 -107
- package/dist/plugins/RenderPlugin/components.d.ts +0 -5
- package/dist/plugins/RenderPlugin/components.js +0 -87
- package/dist/plugins/RenderPlugin/index.d.ts +0 -30
- package/dist/plugins/RenderPlugin/index.js +0 -49
- package/dist/plugins/ResizePlugin.d.ts +0 -27
- package/dist/plugins/ResizePlugin.js +0 -81
- package/dist/plugins/RowGroupPlugin.d.ts +0 -17
- package/dist/plugins/RowGroupPlugin.js +0 -83
- package/dist/plugins/RowSelectionPlugin.d.ts +0 -20
- package/dist/plugins/RowSelectionPlugin.js +0 -42
- package/dist/plugins/VirtualScrollPlugin.d.ts +0 -15
- package/dist/plugins/VirtualScrollPlugin.js +0 -96
- package/dist/plus.js +0 -6
- package/dist/style.css +0 -3
- package/dist/types/auto-imports.d.js +0 -0
- package/dist/utils.d.ts +0 -30
- package/dist/utils.js +0 -70
- package/dist/wc.d.ts +0 -1
- package/dist/wc.js +0 -21
- package/dist/web-component.d.ts +0 -1
- package/dist/web-component.js +0 -2
- package/dist/x.js +0 -6
package/dist/components/Tree.js
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { Dynamic, createComponent, insert, mergeProps, spread, template } from "solid-js/web";
|
|
2
|
-
import { Index, createEffect, createMemo, createSignal, onCleanup, splitProps } from "solid-js";
|
|
3
|
-
import { combineProps } from "@solid-primitives/props";
|
|
4
|
-
import { castArray } from "es-toolkit/compat";
|
|
5
|
-
import { createLazyMemo } from "@solid-primitives/memo";
|
|
6
|
-
var _tmpl$ = /* @__PURE__ */ template("<div>");
|
|
7
|
-
function define(e, d) {
|
|
8
|
-
let f = createSignal();
|
|
9
|
-
return Object.defineProperty(e, d, {
|
|
10
|
-
get() {
|
|
11
|
-
return f[0]();
|
|
12
|
-
},
|
|
13
|
-
set(e) {
|
|
14
|
-
f[1](e);
|
|
15
|
-
}
|
|
16
|
-
}), f;
|
|
17
|
-
}
|
|
18
|
-
function memo$1(e, d, f) {
|
|
19
|
-
let p = createLazyMemo(f);
|
|
20
|
-
return Object.defineProperty(e, d, { get() {
|
|
21
|
-
return p();
|
|
22
|
-
} }), p;
|
|
23
|
-
}
|
|
24
|
-
var $Node = class {
|
|
25
|
-
constructor(e) {
|
|
26
|
-
this.$children = memo$1(this, "children", () => this.getChildren()), this.$parent = define(this, "parent"), this.$deep = memo$1(this, "deep", () => this.parent ? this.parent.deep + 1 : 0), this.$index = memo$1(this, "index", () => this.parent?.children?.indexOf(this)), this.$prev = memo$1(this, "prev", () => this.parent?.children?.[this.index - 1]), this.$next = memo$1(this, "next", () => this.parent?.children?.[this.index + 1]), this.$root = memo$1(this, "root", () => this.parent ? this.parent.root : this), this.$path = memo$1(this, "path", () => {
|
|
27
|
-
let e = [this], d = this;
|
|
28
|
-
for (; d.parent;) e.push(d = d.parent);
|
|
29
|
-
return e.reverse();
|
|
30
|
-
}), this.data = e, createEffect(() => {
|
|
31
|
-
let e = this.children;
|
|
32
|
-
e?.map((e) => e.parent = this), onCleanup(() => e?.map((e) => e.parent = void 0));
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
get label() {
|
|
36
|
-
return this.data.label;
|
|
37
|
-
}
|
|
38
|
-
get descendants() {
|
|
39
|
-
return this.children?.flatMap((e) => [e, ...e.descendants]) || [];
|
|
40
|
-
}
|
|
41
|
-
contains(e) {
|
|
42
|
-
return e.path.includes(this);
|
|
43
|
-
}
|
|
44
|
-
remove() {}
|
|
45
|
-
}, $TreeItem = class e extends $Node {
|
|
46
|
-
get is() {
|
|
47
|
-
return this.data.is;
|
|
48
|
-
}
|
|
49
|
-
get props() {
|
|
50
|
-
return this.data;
|
|
51
|
-
}
|
|
52
|
-
get id() {
|
|
53
|
-
return this.data.id;
|
|
54
|
-
}
|
|
55
|
-
getChildren() {
|
|
56
|
-
return this.data.children?.map((d) => new e(d));
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
function Tree(h) {
|
|
60
|
-
let [g, _] = splitProps(h, ["data", "Node"]), v = g.Node ?? $TreeItem, y = createMemo(() => new class extends v {
|
|
61
|
-
getChildren() {
|
|
62
|
-
return castArray(this.data || []).map((e) => new v(e));
|
|
63
|
-
}
|
|
64
|
-
}(g.data)), b = createMemo(() => y().descendants);
|
|
65
|
-
return (() => {
|
|
66
|
-
var h = _tmpl$();
|
|
67
|
-
return spread(h, mergeProps(() => combineProps({ class: "tt-menu" }, _)), !1, !0), insert(h, createComponent(Index, {
|
|
68
|
-
get each() {
|
|
69
|
-
return b();
|
|
70
|
-
},
|
|
71
|
-
children: (f, m) => createComponent(Dynamic, mergeProps({ get component() {
|
|
72
|
-
return f().is ?? "div";
|
|
73
|
-
} }, () => combineProps({
|
|
74
|
-
class: "li py-1 px-4",
|
|
75
|
-
style: `padding-left: ${f().deep * 16}px`
|
|
76
|
-
}, f().props), { get children() {
|
|
77
|
-
return f().label;
|
|
78
|
-
} }))
|
|
79
|
-
})), h;
|
|
80
|
-
})();
|
|
81
|
-
}
|
|
82
|
-
export { $Node, $TreeItem, Tree };
|
package/dist/components/utils.js
DELETED
package/dist/hooks/index.d.ts
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { type Signal } from 'solid-js';
|
|
2
|
-
import { type Many, type MaybeAccessor } from '@solid-primitives/utils';
|
|
3
|
-
interface UseMoveOptions {
|
|
4
|
-
preventDefault?: boolean;
|
|
5
|
-
start?(e: PointerEvent, move: (cb: MoveCB) => void, end: (cb: EndCb) => void): void;
|
|
6
|
-
}
|
|
7
|
-
type MoveCB = (e: PointerEvent, o: {
|
|
8
|
-
sx: number;
|
|
9
|
-
sy: number;
|
|
10
|
-
ox: number;
|
|
11
|
-
oy: number;
|
|
12
|
-
}) => void;
|
|
13
|
-
type EndCb = (e: PointerEvent) => void;
|
|
14
|
-
export declare function usePointerDrag(el: MaybeAccessor<HTMLElement | undefined>, options: UseMoveOptions): void;
|
|
15
|
-
export declare function model(el: any, value: () => [() => string, (v: string) => any]): void;
|
|
16
|
-
export declare function toSignle<T extends Record<string, any>>(state: T, k: keyof T): ((v: any) => any)[];
|
|
17
|
-
export declare function useDark(): [get: import("solid-js").Accessor<boolean>, set: import("solid-js").Setter<boolean>, init: string | Promise<string>];
|
|
18
|
-
export declare function useMemoAsync<T>(fn: (prev?: T) => Promise<T> | T, init?: Awaited<T>): import("solid-js").Accessor<Awaited<T>>;
|
|
19
|
-
export declare function useSignle2<T>(v: T | (() => T), opt?: {
|
|
20
|
-
before?: (v: T) => Promise<T | void> | T;
|
|
21
|
-
}): Signal<T>;
|
|
22
|
-
type Reactive<T extends object> = {
|
|
23
|
-
[K in keyof T]: T[K] extends () => infer V ? V : T[K];
|
|
24
|
-
};
|
|
25
|
-
export declare function toReactive<T extends object>(fn: (() => T) | T): Reactive<T>;
|
|
26
|
-
export declare function useMemo<T>(fn: () => T): import("solid-js").Accessor<T>;
|
|
27
|
-
export declare function useHover(el: MaybeAccessor<Many<HTMLElement | undefined>>): import("solid-js").Accessor<boolean>;
|
|
28
|
-
export declare function useMouseDown(el: MaybeAccessor<Many<HTMLElement | undefined>>): import("solid-js").Accessor<boolean>;
|
|
29
|
-
export declare function useClicked(el: MaybeAccessor<Many<HTMLElement | undefined>>): import("solid-js").Accessor<boolean>;
|
|
30
|
-
export declare function useMutation<T>(initial: MaybeAccessor<Node | Node[]>, options: MutationObserverInit, cb: () => T): import("solid-js").Accessor<T>;
|
|
31
|
-
export declare function useTinykeys(el: MaybeAccessor<HTMLElement | undefined>, handlers: any): void;
|
|
32
|
-
export declare function useHistory([val, setVal]: [any, any]): {
|
|
33
|
-
undo: () => any;
|
|
34
|
-
redo: () => any;
|
|
35
|
-
clear: () => any[];
|
|
36
|
-
readonly index: number;
|
|
37
|
-
readonly history: any[];
|
|
38
|
-
};
|
|
39
|
-
export declare function useMemoState(fn: any): {};
|
|
40
|
-
export {};
|
package/dist/hooks/index.js
DELETED
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
import { unFn } from "../utils.js";
|
|
2
|
-
import { $PROXY, batch, createComputed, createEffect, createMemo, createRenderEffect, createRoot, createSignal, mergeProps, on, onCleanup, untrack } from "solid-js";
|
|
3
|
-
import { $RAW, createMutable } from "solid-js/store";
|
|
4
|
-
import { isFunction, isPromise, mapValues } from "es-toolkit";
|
|
5
|
-
import { createEventListener, createEventListenerMap } from "@solid-primitives/event-listener";
|
|
6
|
-
import { createPointerListeners } from "@solid-primitives/pointer";
|
|
7
|
-
import { access } from "@solid-primitives/utils";
|
|
8
|
-
import { makePersisted, storageSync } from "@solid-primitives/storage";
|
|
9
|
-
import { createMutationObserver } from "@solid-primitives/mutation-observer";
|
|
10
|
-
import { castArray } from "es-toolkit/compat";
|
|
11
|
-
import { createKeybindingsHandler } from "tinykeys";
|
|
12
|
-
function usePointerDrag(h, L) {
|
|
13
|
-
L = mergeProps({ preventDefault: !0 }, L), createPointerListeners({
|
|
14
|
-
target: h,
|
|
15
|
-
passive: !1,
|
|
16
|
-
onDown(h) {
|
|
17
|
-
L.preventDefault && h.preventDefault();
|
|
18
|
-
let [R, z] = [h.x, h.y], B, V;
|
|
19
|
-
L.start?.(h, (h) => B = h, (h) => V = h), createRoot((L) => {
|
|
20
|
-
createPointerListeners({
|
|
21
|
-
target: document,
|
|
22
|
-
onMove(h) {
|
|
23
|
-
let [L, V] = [h.x - R, h.y - z];
|
|
24
|
-
B?.(h, {
|
|
25
|
-
sx: R,
|
|
26
|
-
sy: z,
|
|
27
|
-
ox: L,
|
|
28
|
-
oy: V
|
|
29
|
-
});
|
|
30
|
-
},
|
|
31
|
-
onUp() {
|
|
32
|
-
V?.(h), L(), B = void 0, V = void 0;
|
|
33
|
-
}
|
|
34
|
-
}), createEventListenerMap(document, { drop: L });
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
function model(h, L) {
|
|
40
|
-
let [R, z] = L();
|
|
41
|
-
createRenderEffect(() => h.value = R()), h.addEventListener("input", (h) => z(h.target.value));
|
|
42
|
-
}
|
|
43
|
-
function toSignle(h, L) {
|
|
44
|
-
return [() => h[L], (R) => h[L] = R];
|
|
45
|
-
}
|
|
46
|
-
function useDark() {
|
|
47
|
-
let h = (h) => h == "dark" || R() && !h, L = (h) => h ? "dark" : "light", R = () => window.matchMedia("(prefers-color-scheme: dark)").matches, z = makePersisted(createSignal(R()), {
|
|
48
|
-
name: "color-schema",
|
|
49
|
-
storage: localStorage,
|
|
50
|
-
sync: storageSync,
|
|
51
|
-
serialize: L,
|
|
52
|
-
deserialize: h
|
|
53
|
-
});
|
|
54
|
-
return createEffect(() => document.documentElement.classList[z[0]() ? "add" : "remove"]("dark")), createEffect(() => window.dispatchEvent(new StorageEvent("storage", {
|
|
55
|
-
key: "color-schema",
|
|
56
|
-
newValue: L(z[0]())
|
|
57
|
-
}))), z;
|
|
58
|
-
}
|
|
59
|
-
function useMemoAsync(h, L) {
|
|
60
|
-
let R = Symbol(), [B, V] = createSignal(L);
|
|
61
|
-
return createComputed(async () => {
|
|
62
|
-
let L = h(untrack(B)), z = L instanceof Promise ? await new Promise((h) => {
|
|
63
|
-
L.then(h), onCleanup(() => h(R));
|
|
64
|
-
}) : L;
|
|
65
|
-
z == R || V(() => z);
|
|
66
|
-
}), B;
|
|
67
|
-
}
|
|
68
|
-
function useSignle2(h, L) {
|
|
69
|
-
let R = createSignal(isFunction(h) ? void 0 : h), B = (h) => {
|
|
70
|
-
let R = L?.before?.(h);
|
|
71
|
-
return isPromise(R) ? R.then((L) => L === void 0 ? h : L) : R ?? h;
|
|
72
|
-
}, V = useMemoAsync(() => B(R[0]()));
|
|
73
|
-
if (isFunction(h)) {
|
|
74
|
-
let L = useMemoAsync(() => B(h()));
|
|
75
|
-
createComputed(() => R[1](L()));
|
|
76
|
-
}
|
|
77
|
-
return [V, R[1]];
|
|
78
|
-
}
|
|
79
|
-
var $MEMO = Symbol();
|
|
80
|
-
function toReactive(R) {
|
|
81
|
-
let z = () => unFn(R), B = () => !0, V = (h) => ((h) => typeof h == "function" && $MEMO in h ? h() : h)(z()[h]);
|
|
82
|
-
return new Proxy(Object.create(null), {
|
|
83
|
-
get: (h, R, B) => R == $PROXY || R == $RAW ? B : ((h) => typeof h == "function" && $MEMO in h ? h() : h)(z()[R]),
|
|
84
|
-
set: B,
|
|
85
|
-
defineProperty: (h, L, R) => Object.defineProperty(z(), L, R),
|
|
86
|
-
deleteProperty: B,
|
|
87
|
-
getPrototypeOf: () => Object.getPrototypeOf(z()),
|
|
88
|
-
has: (h, R) => R == $PROXY || R in z(),
|
|
89
|
-
ownKeys: (h) => Object.keys(z()),
|
|
90
|
-
getOwnPropertyDescriptor: (h, L) => ({
|
|
91
|
-
enumerable: !0,
|
|
92
|
-
configurable: !0,
|
|
93
|
-
get() {
|
|
94
|
-
return V(L);
|
|
95
|
-
},
|
|
96
|
-
set: B
|
|
97
|
-
})
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
function useMemo(h) {
|
|
101
|
-
let L = createMemo(h);
|
|
102
|
-
return L[$MEMO] = 1, L;
|
|
103
|
-
}
|
|
104
|
-
function useHover(h) {
|
|
105
|
-
let [L, R] = createSignal(!1);
|
|
106
|
-
return createEventListener(h, "pointerenter", () => R(!0)), createEventListener(h, "pointerleave", () => R(!1)), L;
|
|
107
|
-
}
|
|
108
|
-
function useMouseDown(h) {
|
|
109
|
-
let [L, R] = createSignal(!1);
|
|
110
|
-
return createEventListener(h, "pointerdown", () => R(!0)), createEventListener(document.body, "pointerup", () => R(!1)), L;
|
|
111
|
-
}
|
|
112
|
-
function useClicked(h) {
|
|
113
|
-
let [L, R] = createSignal(!1), z = () => castArray(access(h));
|
|
114
|
-
return createEventListener(() => z().map((h) => h?.getRootNode()), "click", (h) => R(z().some((L) => L?.contains(h.target)))), L;
|
|
115
|
-
}
|
|
116
|
-
function useMutation(h, L, R) {
|
|
117
|
-
let z = createSignal(R());
|
|
118
|
-
return createMutationObserver(h, L, (h) => z[1](R())), z[0];
|
|
119
|
-
}
|
|
120
|
-
function useTinykeys(h, L) {
|
|
121
|
-
createEventListener(h, "keydown", createKeybindingsHandler({ ...mapValues(L, (h) => (L) => {
|
|
122
|
-
L.preventDefault(), h(L);
|
|
123
|
-
}) }));
|
|
124
|
-
}
|
|
125
|
-
function useHistory([h, L]) {
|
|
126
|
-
let R = 1, z = createMutable({
|
|
127
|
-
index: -1,
|
|
128
|
-
history: []
|
|
129
|
-
}), B = () => (z.index = 0, z.history = [h()]), V = () => z.index > 0, H = () => z.index < z.history.length - 1;
|
|
130
|
-
return createRenderEffect(on(h, (h) => {
|
|
131
|
-
if (h != null) {
|
|
132
|
-
if (!R) return R = 1;
|
|
133
|
-
H() && (z.history = z.history.slice(0, z.index + 1)), z.history[++z.index] = h;
|
|
134
|
-
}
|
|
135
|
-
})), {
|
|
136
|
-
undo: () => V() && ((R = 0) || L(z.history[--z.index])),
|
|
137
|
-
redo: () => H() && ((R = 0) || L(z.history[++z.index])),
|
|
138
|
-
clear: B,
|
|
139
|
-
get index() {
|
|
140
|
-
return z.index;
|
|
141
|
-
},
|
|
142
|
-
get history() {
|
|
143
|
-
return z.history;
|
|
144
|
-
}
|
|
145
|
-
};
|
|
146
|
-
}
|
|
147
|
-
function useMemoState(h) {
|
|
148
|
-
let L = createMutable({});
|
|
149
|
-
return createComputed(() => {
|
|
150
|
-
let z = h();
|
|
151
|
-
untrack(() => batch(() => {
|
|
152
|
-
for (let h in L) h in z || delete L[h];
|
|
153
|
-
Object.assign(L, z);
|
|
154
|
-
}));
|
|
155
|
-
}), L;
|
|
156
|
-
}
|
|
157
|
-
export { model, toReactive, toSignle, useClicked, useDark, useHistory, useHover, useMemo, useMemoAsync, useMemoState, useMouseDown, useMutation, usePointerDrag, useSignle2, useTinykeys };
|
package/dist/hooks/useDir.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { type MaybeAccessor } from '@solid-primitives/utils';
|
|
2
|
-
interface UseDirOptions {
|
|
3
|
-
ref: MaybeAccessor<HTMLElement | undefined>;
|
|
4
|
-
list?: MaybeAccessor<HTMLElement | undefined>;
|
|
5
|
-
loop?: boolean;
|
|
6
|
-
options?: EventListenerOptions;
|
|
7
|
-
defaultFirst?: boolean;
|
|
8
|
-
}
|
|
9
|
-
export declare function useDir(options: UseDirOptions): void;
|
|
10
|
-
export declare function VDir(el: HTMLElement, options: any): void;
|
|
11
|
-
export {};
|
package/dist/hooks/useDir.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { createEffect, mergeProps } from "solid-js";
|
|
2
|
-
import { createEventListener } from "@solid-primitives/event-listener";
|
|
3
|
-
import { access } from "@solid-primitives/utils";
|
|
4
|
-
import { createMutationObserver } from "@solid-primitives/mutation-observer";
|
|
5
|
-
function useDir(a) {
|
|
6
|
-
a = mergeProps({ loop: !0 }, a);
|
|
7
|
-
let o = () => access(a.list) ?? access(a.ref), s = () => access(a.ref) ?? access(a.list);
|
|
8
|
-
createEffect(() => {
|
|
9
|
-
s().tabIndex > -1 || (s().tabIndex = 0);
|
|
10
|
-
}), createEventListener(s, "keydown", (e) => {
|
|
11
|
-
if (![
|
|
12
|
-
"ArrowDown",
|
|
13
|
-
"ArrowUp",
|
|
14
|
-
"Enter"
|
|
15
|
-
].includes(e.key)) return;
|
|
16
|
-
e.stopPropagation(), e.preventDefault();
|
|
17
|
-
let n = o()?.querySelector(".hover");
|
|
18
|
-
if (e.key == "Enter") {
|
|
19
|
-
n?.click();
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
let r = e.key == "ArrowDown" ? n ? +n?.getAttribute("data-index") + 1 : 0 : e.key == "ArrowUp" ? n ? n?.getAttribute("data-index") - 1 : -1 : 0, i = o()?.querySelector(`[data-index='${r}']`);
|
|
23
|
-
i ? (n?.classList.remove("hover"), i.classList.add("hover")) : a.loop && (n?.classList.remove("hover"), r >= 0 ? o()?.querySelector("[data-index='0']")?.classList.add("hover") : [...o()?.querySelectorAll("[data-index]")].at(-1)?.classList.add("hover"));
|
|
24
|
-
}, a.options), createEffect(() => {
|
|
25
|
-
if (!a.defaultFirst) return;
|
|
26
|
-
let e = o();
|
|
27
|
-
if (!e) return;
|
|
28
|
-
let n = () => {
|
|
29
|
-
e.querySelector(".hover") || e.querySelector("[data-index]")?.classList.add("hover");
|
|
30
|
-
};
|
|
31
|
-
createMutationObserver(e, { childList: !0 }, n), n();
|
|
32
|
-
}), createEventListener(o, "mouseover", () => {
|
|
33
|
-
o()?.querySelector(".hover")?.classList.remove("hover");
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
function VDir(e, n) {
|
|
37
|
-
useDir({
|
|
38
|
-
...n(),
|
|
39
|
-
list: e
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
export { VDir, useDir };
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
interface UseSelectorOpt<T> {
|
|
2
|
-
value?: T;
|
|
3
|
-
onChange?: (v: T) => void;
|
|
4
|
-
multiple?: boolean;
|
|
5
|
-
selectable?: (v: any) => boolean;
|
|
6
|
-
}
|
|
7
|
-
export declare function useSelector<T = any>(opt: UseSelectorOpt<T>): {
|
|
8
|
-
clear: () => void;
|
|
9
|
-
set: (v: T) => void;
|
|
10
|
-
has: (key: T | Set<T>) => boolean;
|
|
11
|
-
add: (v: T) => void;
|
|
12
|
-
del: (v: T) => void;
|
|
13
|
-
toggle: (v: T) => void;
|
|
14
|
-
readonly value: any;
|
|
15
|
-
};
|
|
16
|
-
export {};
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { createMemo, createSelector, createSignal } from "solid-js";
|
|
2
|
-
function useSelector(r) {
|
|
3
|
-
let { value: i, onChange: a, multiple: o = !1, selectable: s } = r, [c, l] = createSignal((() => o ? i ? new Set(Array.isArray(i) ? i : [i]) : /* @__PURE__ */ new Set() : i)()), u = (e) => s ? s(e) : !0, d = () => {
|
|
4
|
-
o ? (l(/* @__PURE__ */ new Set()), a?.([])) : (l(void 0), a?.(void 0));
|
|
5
|
-
}, f = (e) => {
|
|
6
|
-
if (u(e)) if (o) {
|
|
7
|
-
let n = new Set(Array.isArray(e) ? e : [e]);
|
|
8
|
-
l(n), a?.(Array.from(n));
|
|
9
|
-
} else l(e), a?.(e);
|
|
10
|
-
}, p = createSelector(c, (e, n) => o ? n.has(e) : e === n), m = (e) => {
|
|
11
|
-
if (u(e)) if (o) {
|
|
12
|
-
let n = new Set(c());
|
|
13
|
-
n.add(e), l(n), a?.(Array.from(n));
|
|
14
|
-
} else l(e), a?.(e);
|
|
15
|
-
}, h = (e) => {
|
|
16
|
-
if (o) {
|
|
17
|
-
let n = new Set(c());
|
|
18
|
-
n.delete(e), l(n), a?.(Array.from(n));
|
|
19
|
-
} else c() === e && (l(void 0), a?.(void 0));
|
|
20
|
-
}, g = (e) => {
|
|
21
|
-
p(e) ? h(e) : m(e);
|
|
22
|
-
}, _ = createMemo(() => o ? Array.from(c()) : c());
|
|
23
|
-
return {
|
|
24
|
-
clear: d,
|
|
25
|
-
set: f,
|
|
26
|
-
has: p,
|
|
27
|
-
add: m,
|
|
28
|
-
del: h,
|
|
29
|
-
toggle: g,
|
|
30
|
-
get value() {
|
|
31
|
-
return _();
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
export { useSelector };
|
package/dist/hooks/useSort.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { type MaybeAccessor } from '@solid-primitives/utils';
|
|
2
|
-
type Awaitable<T> = T | Promise<T>;
|
|
3
|
-
interface UseSortOption {
|
|
4
|
-
enable?: boolean;
|
|
5
|
-
guideLine: any;
|
|
6
|
-
draggable: (el: HTMLElement) => Awaitable<boolean>;
|
|
7
|
-
dragover: (el: HTMLElement) => boolean;
|
|
8
|
-
children: (el: HTMLElement) => HTMLElement[];
|
|
9
|
-
dragend: () => void;
|
|
10
|
-
}
|
|
11
|
-
export declare const useSort: (el: MaybeAccessor<HTMLElement | undefined>, opt: UseSortOption) => {
|
|
12
|
-
style: any;
|
|
13
|
-
drag: any;
|
|
14
|
-
over: any;
|
|
15
|
-
rel: any;
|
|
16
|
-
type: string;
|
|
17
|
-
};
|
|
18
|
-
export {};
|
package/dist/hooks/useSort.js
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { findAsync } from "../utils.js";
|
|
2
|
-
import { Portal, createComponent, memo, mergeProps, spread, template } from "solid-js/web";
|
|
3
|
-
import { createMutable, reconcile } from "solid-js/store";
|
|
4
|
-
import { createEventListenerMap } from "@solid-primitives/event-listener";
|
|
5
|
-
import { access } from "@solid-primitives/utils";
|
|
6
|
-
var _tmpl$ = /* @__PURE__ */ template("<div>");
|
|
7
|
-
const useSort = (l, f) => {
|
|
8
|
-
f = mergeProps({ enable: !0 }, f);
|
|
9
|
-
let p = 0;
|
|
10
|
-
createEventListenerMap(() => f.enable ? access(l) : void 0, {
|
|
11
|
-
async pointerdown(i) {
|
|
12
|
-
let a = p, o = await findAsync(i.composedPath(), (e) => e instanceof HTMLElement && f.draggable(e));
|
|
13
|
-
a == p && o && (i.stopPropagation(), h.drag = o, h.drag?.setAttribute("draggable", "true"));
|
|
14
|
-
},
|
|
15
|
-
pointerup() {
|
|
16
|
-
p++, m();
|
|
17
|
-
},
|
|
18
|
-
pointermove() {
|
|
19
|
-
p++;
|
|
20
|
-
},
|
|
21
|
-
dragstart(e) {
|
|
22
|
-
e.dataTransfer.setDragImage(document.createElement("img"), 0, 0);
|
|
23
|
-
},
|
|
24
|
-
dragover(e) {
|
|
25
|
-
if (!h.drag) return;
|
|
26
|
-
let i = h.over = e.composedPath().filter((e) => e instanceof HTMLElement).find((e) => f.dragover(e)) ?? h.over;
|
|
27
|
-
if (!i) return;
|
|
28
|
-
e.preventDefault(), e.stopPropagation();
|
|
29
|
-
let a = f.children(i);
|
|
30
|
-
if (a) {
|
|
31
|
-
let i = 0, o = Infinity, s = "";
|
|
32
|
-
a.forEach((a, c) => {
|
|
33
|
-
let l = getComputedStyle(a).display, u = ["table-cell", "inline"].some((e) => l.includes(e)), d = a.getBoundingClientRect();
|
|
34
|
-
if (u) {
|
|
35
|
-
let a = Math.sqrt((e.clientX - d.x) ** 2 + (e.clientY - d.y + d.height / 2) ** 2);
|
|
36
|
-
a < o && (i = c, o = a, s = "l"), a = Math.sqrt((e.clientX - d.right) ** 2 + (e.clientY - d.y + d.height / 2) ** 2), a < o && (i = c, o = a, s = "r");
|
|
37
|
-
} else {
|
|
38
|
-
let a = Math.sqrt((e.clientY - d.y) ** 2 + (e.clientX - d.x + d.width / 2) ** 2);
|
|
39
|
-
a < o && (i = c, o = a, s = "t"), a = Math.sqrt((e.clientY - d.bottom) ** 2 + (e.clientX - d.x + d.width / 2) ** 2), a < o && (i = c, o = a, s = "b");
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
let c = a[i].getBoundingClientRect(), l = s == "l" || s == "r", u = s == "t" || s == "b";
|
|
43
|
-
h.style = {
|
|
44
|
-
width: `${u ? c.width : 3}px`,
|
|
45
|
-
height: `${u ? 3 : c.height}px`,
|
|
46
|
-
translate: `${u ? c.x : (s == "l" ? c.x : c.right) - 3 / 2}px ${l ? c.y : (s == "t" ? c.y : c.bottom) - 3 / 2}px`
|
|
47
|
-
}, h.rel = a[i], h.type = s == "l" || s == "t" ? "before" : "after";
|
|
48
|
-
} else {
|
|
49
|
-
let e = i.getBoundingClientRect();
|
|
50
|
-
h.style = {
|
|
51
|
-
width: e.width,
|
|
52
|
-
height: e.height,
|
|
53
|
-
translate: `${e.x}px ${e.y}px`
|
|
54
|
-
}, h.rel = i, h.type = "inner";
|
|
55
|
-
}
|
|
56
|
-
},
|
|
57
|
-
dragend() {
|
|
58
|
-
m();
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
function m() {
|
|
62
|
-
h.drag?.removeAttribute("draggable"), h.drag && h.rel && f.dragend?.(), reconcile({})(h);
|
|
63
|
-
}
|
|
64
|
-
let h = createMutable({
|
|
65
|
-
style: void 0,
|
|
66
|
-
drag: void 0,
|
|
67
|
-
over: void 0,
|
|
68
|
-
rel: void 0,
|
|
69
|
-
type: ""
|
|
70
|
-
});
|
|
71
|
-
return memo(() => memo(() => !!h.style)() && createComponent(Portal, {
|
|
72
|
-
get mount() {
|
|
73
|
-
return access(l);
|
|
74
|
-
},
|
|
75
|
-
get children() {
|
|
76
|
-
var e = _tmpl$();
|
|
77
|
-
return spread(e, mergeProps(() => f.guideLine, { get style() {
|
|
78
|
-
return h.style;
|
|
79
|
-
} }), !1, !1), e;
|
|
80
|
-
}
|
|
81
|
-
})), h;
|
|
82
|
-
};
|
|
83
|
-
export { useSort };
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
interface VirtualizerOptions {
|
|
2
|
-
enable?: boolean;
|
|
3
|
-
overscan?: number;
|
|
4
|
-
batch?: number;
|
|
5
|
-
getScrollElement: () => Element;
|
|
6
|
-
horizontal?: boolean;
|
|
7
|
-
count: number;
|
|
8
|
-
estimateSize: (i: number) => number;
|
|
9
|
-
}
|
|
10
|
-
export declare function useVirtualizer(opt: VirtualizerOptions): {
|
|
11
|
-
options: VirtualizerOptions;
|
|
12
|
-
getTotalSize: () => number;
|
|
13
|
-
resizeItem: (i: any, size: any) => void;
|
|
14
|
-
getVirtualItems: import("solid-js").Accessor<{
|
|
15
|
-
start: number;
|
|
16
|
-
end: number;
|
|
17
|
-
index: number;
|
|
18
|
-
}[]>;
|
|
19
|
-
getVirtualItem: (i: any) => {
|
|
20
|
-
start: number;
|
|
21
|
-
end: number;
|
|
22
|
-
index: number;
|
|
23
|
-
};
|
|
24
|
-
};
|
|
25
|
-
export {};
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { createComputed, createMemo, createRenderEffect, createSignal, mergeProps, untrack } from "solid-js";
|
|
2
|
-
import { createMutable } from "solid-js/store";
|
|
3
|
-
import { keyBy, uniqBy } from "es-toolkit";
|
|
4
|
-
import { createElementSize } from "@solid-primitives/resize-observer";
|
|
5
|
-
import { createScrollPosition } from "@solid-primitives/scroll";
|
|
6
|
-
function useVirtualizer(d) {
|
|
7
|
-
d = mergeProps({
|
|
8
|
-
overscan: 0,
|
|
9
|
-
batch: 0,
|
|
10
|
-
enable: !0
|
|
11
|
-
}, d);
|
|
12
|
-
let f = createElementSize(d.getScrollElement), p = createScrollPosition(d.getScrollElement), m = createMemo(() => d.horizontal ? p.x : p.y), h = createMemo(() => d.horizontal ? f.width : f.height), g = createMemo(() => m() + h()), _ = createMutable(Array(d.count));
|
|
13
|
-
createComputed(() => {
|
|
14
|
-
let { count: e } = d;
|
|
15
|
-
untrack(() => {
|
|
16
|
-
for (let o = 0; o < e; o++) _[o] ||= d.estimateSize(o);
|
|
17
|
-
});
|
|
18
|
-
});
|
|
19
|
-
let [v, y] = createSignal([]);
|
|
20
|
-
createRenderEffect(() => {
|
|
21
|
-
let { count: e } = d, o = Array(e), s = 0;
|
|
22
|
-
for (let c = 0; c < e; c++) o[c] = {
|
|
23
|
-
start: s,
|
|
24
|
-
end: s + _[c],
|
|
25
|
-
index: c
|
|
26
|
-
}, s = o[c].end;
|
|
27
|
-
y(o);
|
|
28
|
-
});
|
|
29
|
-
let b = createMemo((e) => {
|
|
30
|
-
let { batch: o, overscan: s = 0 } = d, c = C(v(), (e) => e.start > m() ? -1 : e.end < m() ? 1 : 0);
|
|
31
|
-
return c -= s, o && (c > e ? c = c <= e + o ? e : c > e + o * 2 ? c : e + o : c -= o), Math.max(c, 0);
|
|
32
|
-
}, 0), x = createMemo((e) => {
|
|
33
|
-
let { batch: o, overscan: s = 0 } = d, c = C(v(), (e) => e.start > g() ? -1 : e.end < g() ? 1 : 0);
|
|
34
|
-
return c += s, o && (c < e ? c = c >= e - o ? e : c < e - o * 2 ? c : e - o : c += o), Math.min(c, d.count - 1);
|
|
35
|
-
}, 0), S = createMemo(() => {
|
|
36
|
-
if (!d.enable) return v();
|
|
37
|
-
let e = v().slice(b(), x() + 1);
|
|
38
|
-
return d.extras && (e.push(...d.extras()?.map((e) => v()[e]) || []), e = uniqBy(e, (e) => e.index).sort((e, o) => e.index - o.index)), e;
|
|
39
|
-
});
|
|
40
|
-
function C(e, o) {
|
|
41
|
-
let s = 0, c = e.length - 1;
|
|
42
|
-
for (; s < c;) {
|
|
43
|
-
let l = s + Math.floor((c - s) / 2), u = o(e[l]);
|
|
44
|
-
if (u < 0 && c != l) c = l;
|
|
45
|
-
else if (u > 0 && s != l) s = l;
|
|
46
|
-
else return l;
|
|
47
|
-
}
|
|
48
|
-
return s;
|
|
49
|
-
}
|
|
50
|
-
return {
|
|
51
|
-
options: d,
|
|
52
|
-
getTotalSize: () => v()[v().length - 1]?.end || 0,
|
|
53
|
-
resizeItem: (e, o) => {
|
|
54
|
-
if (e <= b() && o != _[e]) {
|
|
55
|
-
let s = d.getScrollElement();
|
|
56
|
-
(d.horizontal ? s.scrollLeft : s.scrollTop) != 0 && (d.horizontal ? s.scrollLeft += o - _[e] : s.scrollTop += o - _[e]);
|
|
57
|
-
}
|
|
58
|
-
_[e] = o;
|
|
59
|
-
},
|
|
60
|
-
getVirtualItems: S,
|
|
61
|
-
getVirtualItem: (() => {
|
|
62
|
-
let e = createMemo(() => keyBy(S(), (e) => e.index));
|
|
63
|
-
return (o) => e()[o];
|
|
64
|
-
})()
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
export { useVirtualizer };
|