@extable/vue 0.1.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 ADDED
@@ -0,0 +1,27 @@
1
+ # @extable/vue
2
+
3
+ Vue wrapper for Extable - an Excel-like HTML table component with a fixed column schema and built-in multi-user editing support.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @extable/core @extable/vue
9
+ ```
10
+
11
+ ## Documentation
12
+
13
+ For comprehensive guides and examples, visit the [Extable Documentation](https://shibukawa.github.io/extable/).
14
+
15
+ ### Key Topics
16
+
17
+ - [Integration Guide](https://shibukawa.github.io/extable/guides/integration) - Vue-specific setup
18
+ - [Core API Reference](https://shibukawa.github.io/extable/reference/core) - Complete API documentation
19
+ - [Demos](https://shibukawa.github.io/extable/demos/) - Interactive examples
20
+
21
+ ## Repository
22
+
23
+ GitHub: https://github.com/shibukawa/extable
24
+
25
+ ## License
26
+
27
+ Apache License 2.0 - See LICENSE for details.
@@ -0,0 +1,55 @@
1
+ import type { CoreOptions, EditMode, LockMode, NullableData, Schema, SelectionChangeReason, SelectionSnapshot, TableState, View } from "@extable/core";
2
+ import { ExtableCore } from "@extable/core";
3
+ import type { PropType } from "vue";
4
+ type CoreApi<T extends object, R extends object = T> = Pick<ExtableCore<T, R>, "setData" | "setView" | "showSearchPanel" | "hideSearchPanel" | "toggleSearchPanel" | "showFilterSortPanel" | "hideFilterSortPanel" | "toggleFilterSortPanel" | "openFindReplaceDialog" | "closeFindReplaceDialog" | "getData" | "getRawData" | "getSchema" | "getView" | "getCell" | "getDisplayValue" | "getCellPending" | "getRow" | "getTableData" | "getColumnData" | "getPending" | "getPendingRowIds" | "hasPendingChanges" | "getPendingCellCount" | "getRowIndex" | "getColumnIndex" | "getAllRows" | "listRows" | "setCellValue" | "setValueToSelection" | "insertRow" | "deleteRow" | "undo" | "redo" | "getUndoRedoHistory" | "commit" | "subscribeTableState" | "subscribeSelection" | "getSelectionSnapshot">;
5
+ export type ExtableVueHandle<T extends object = Record<string, unknown>, R extends object = T> = CoreApi<T, R> & {
6
+ destroy(): void;
7
+ };
8
+ export declare const Extable: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
9
+ schema: {
10
+ type: PropType<Schema<any, any>>;
11
+ required: true;
12
+ };
13
+ defaultData: {
14
+ type: PropType<NullableData<any>>;
15
+ required: false;
16
+ default: null;
17
+ };
18
+ defaultView: {
19
+ type: PropType<View>;
20
+ required: true;
21
+ };
22
+ options: {
23
+ type: PropType<CoreOptions>;
24
+ required: false;
25
+ };
26
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
27
+ [key: string]: any;
28
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
29
+ tableState: (_next: TableState, _prev: TableState | null) => true;
30
+ cellEvent: (_next: SelectionSnapshot, _prev: SelectionSnapshot | null, _reason: SelectionChangeReason) => true;
31
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
32
+ schema: {
33
+ type: PropType<Schema<any, any>>;
34
+ required: true;
35
+ };
36
+ defaultData: {
37
+ type: PropType<NullableData<any>>;
38
+ required: false;
39
+ default: null;
40
+ };
41
+ defaultView: {
42
+ type: PropType<View>;
43
+ required: true;
44
+ };
45
+ options: {
46
+ type: PropType<CoreOptions>;
47
+ required: false;
48
+ };
49
+ }>> & Readonly<{
50
+ onTableState?: ((_next: TableState, _prev: TableState | null) => any) | undefined;
51
+ onCellEvent?: ((_next: SelectionSnapshot, _prev: SelectionSnapshot | null, _reason: SelectionChangeReason) => any) | undefined;
52
+ }>, {
53
+ defaultData: NullableData<any>;
54
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
55
+ export type { CoreOptions, EditMode, LockMode, NullableData, Schema, SelectionChangeReason, SelectionSnapshot, TableState, View, };
package/dist/index.js ADDED
@@ -0,0 +1,117 @@
1
+ import { ExtableCore as f } from "@extable/core";
2
+ import { defineComponent as b, ref as m, onMounted as D, onBeforeUnmount as R, watch as P, h as p } from "vue";
3
+ const V = b({
4
+ name: "Extable",
5
+ inheritAttrs: !0,
6
+ props: {
7
+ schema: {
8
+ type: Object,
9
+ required: !0
10
+ },
11
+ defaultData: {
12
+ type: Array,
13
+ required: !1,
14
+ default: null
15
+ },
16
+ defaultView: {
17
+ type: Object,
18
+ required: !0
19
+ },
20
+ options: {
21
+ type: Object,
22
+ required: !1
23
+ }
24
+ },
25
+ emits: {
26
+ tableState: (a, n) => !0,
27
+ cellEvent: (a, n, o) => !0
28
+ },
29
+ setup(a, { attrs: n, emit: o, expose: c }) {
30
+ const i = m(null);
31
+ let e = null, s = null, u = null;
32
+ const g = a.defaultData === null;
33
+ let d = !1;
34
+ const w = a.schema, S = a.defaultView, h = {
35
+ ranges: [],
36
+ activeRowIndex: null,
37
+ activeRowKey: null,
38
+ activeColumnIndex: null,
39
+ activeColumnKey: null,
40
+ activeValueRaw: void 0,
41
+ activeValueDisplay: "",
42
+ activeValueType: null,
43
+ diagnostic: null,
44
+ styles: { columnStyle: {}, cellStyle: {}, resolved: {} }
45
+ };
46
+ return D(() => {
47
+ i.value && (e = new f({
48
+ root: i.value,
49
+ schema: a.schema,
50
+ defaultData: a.defaultData,
51
+ defaultView: a.defaultView,
52
+ options: a.options
53
+ }), s = e.subscribeTableState((t, l) => o("tableState", t, l)), u = e.subscribeSelection(
54
+ (t, l, r) => o("cellEvent", t, l, r)
55
+ ));
56
+ }), R(() => {
57
+ u?.(), s?.(), u = null, s = null, e?.destroy(), e = null;
58
+ }), P(
59
+ () => a.defaultData,
60
+ (t, l) => {
61
+ e && g && (d || t !== null && (e.setData(t), d = !0));
62
+ }
63
+ ), c({
64
+ destroy: () => {
65
+ e?.destroy(), e = null;
66
+ },
67
+ setData: (t) => e?.setData(t),
68
+ setView: (t) => e?.setView(t),
69
+ showSearchPanel: (t) => e?.showSearchPanel(t),
70
+ hideSearchPanel: () => e?.hideSearchPanel(),
71
+ toggleSearchPanel: (t) => e?.toggleSearchPanel(t),
72
+ showFilterSortPanel: (t) => e?.showFilterSortPanel(t),
73
+ hideFilterSortPanel: () => e?.hideFilterSortPanel(),
74
+ toggleFilterSortPanel: (t) => e?.toggleFilterSortPanel(t),
75
+ openFindReplaceDialog: (t) => e?.openFindReplaceDialog(t),
76
+ closeFindReplaceDialog: () => e?.closeFindReplaceDialog(),
77
+ getData: () => e?.getData() ?? [],
78
+ getRawData: () => e?.getRawData() ?? [],
79
+ getSchema: () => e?.getSchema() ?? w,
80
+ getView: () => e?.getView() ?? S,
81
+ getCell: (t, l) => e?.getCell(t, l) ?? null,
82
+ getDisplayValue: (t, l) => e?.getDisplayValue(t, l) ?? "",
83
+ getCellPending: (t, l) => e?.getCellPending(t, l) ?? !1,
84
+ getRow: (t) => e?.getRow(t) ?? null,
85
+ getTableData: () => e?.getTableData() ?? [],
86
+ getColumnData: (t) => e?.getColumnData(t) ?? [],
87
+ getPending: () => e?.getPending() ?? /* @__PURE__ */ new Map(),
88
+ getPendingRowIds: () => e?.getPendingRowIds() ?? [],
89
+ hasPendingChanges: () => e?.hasPendingChanges() ?? !1,
90
+ getPendingCellCount: () => e?.getPendingCellCount() ?? 0,
91
+ getRowIndex: (t) => e?.getRowIndex(t) ?? -1,
92
+ getColumnIndex: (t) => e?.getColumnIndex(t) ?? -1,
93
+ getAllRows: () => e?.getAllRows() ?? [],
94
+ listRows: () => e?.listRows() ?? [],
95
+ setCellValue: (t, l, r) => e?.setCellValue(t, l, r),
96
+ setValueToSelection: (t) => e?.setValueToSelection(t),
97
+ insertRow: (t, l) => e?.insertRow(t, l) ?? null,
98
+ deleteRow: (t) => e?.deleteRow(t) ?? !1,
99
+ undo: () => e?.undo(),
100
+ redo: () => e?.redo(),
101
+ getUndoRedoHistory: () => e?.getUndoRedoHistory() ?? { undo: [], redo: [] },
102
+ commit: () => e?.commit() ?? Promise.resolve([]),
103
+ subscribeTableState: (t) => e?.subscribeTableState(t) ?? (() => !1),
104
+ subscribeSelection: (t) => e?.subscribeSelection(t) ?? (() => !1),
105
+ getSelectionSnapshot: () => e?.getSelectionSnapshot() ?? h
106
+ }), () => p("div", {
107
+ ref: i,
108
+ "data-extable-wrapper": "",
109
+ ...n,
110
+ class: ["extable-root", n.class]
111
+ });
112
+ }
113
+ });
114
+ export {
115
+ V as Extable
116
+ };
117
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import type {\n CoreOptions,\n EditMode,\n LockMode,\n NullableData,\n Schema,\n SelectionChangeReason,\n SelectionSnapshot,\n TableState,\n View,\n FindReplaceMode,\n} from \"@extable/core\";\nimport { ExtableCore } from \"@extable/core\";\nimport type { PropType } from \"vue\";\nimport { defineComponent, h, onBeforeUnmount, onMounted, ref, watch } from \"vue\";\n\ntype CoreApi<T extends object, R extends object = T> = Pick<\n ExtableCore<T, R>,\n | \"setData\"\n | \"setView\"\n | \"showSearchPanel\"\n | \"hideSearchPanel\"\n | \"toggleSearchPanel\"\n | \"showFilterSortPanel\"\n | \"hideFilterSortPanel\"\n | \"toggleFilterSortPanel\"\n | \"openFindReplaceDialog\"\n | \"closeFindReplaceDialog\"\n | \"getData\"\n | \"getRawData\"\n | \"getSchema\"\n | \"getView\"\n | \"getCell\"\n | \"getDisplayValue\"\n | \"getCellPending\"\n | \"getRow\"\n | \"getTableData\"\n | \"getColumnData\"\n | \"getPending\"\n | \"getPendingRowIds\"\n | \"hasPendingChanges\"\n | \"getPendingCellCount\"\n | \"getRowIndex\"\n | \"getColumnIndex\"\n | \"getAllRows\"\n | \"listRows\"\n | \"setCellValue\"\n | \"setValueToSelection\"\n | \"insertRow\"\n | \"deleteRow\"\n | \"undo\"\n | \"redo\"\n | \"getUndoRedoHistory\"\n | \"commit\"\n | \"subscribeTableState\"\n | \"subscribeSelection\"\n | \"getSelectionSnapshot\"\n>;\n\nexport type ExtableVueHandle<T extends object = Record<string, unknown>, R extends object = T> = CoreApi<\n T,\n R\n> & {\n destroy(): void;\n};\n\nexport const Extable = defineComponent({\n name: \"Extable\",\n inheritAttrs: true,\n props: {\n schema: {\n type: Object as PropType<Schema<any, any>>,\n required: true,\n },\n defaultData: {\n type: Array as PropType<NullableData<any>>,\n required: false,\n default: null,\n },\n defaultView: {\n type: Object as PropType<View>,\n required: true,\n },\n options: {\n type: Object as PropType<CoreOptions>,\n required: false,\n },\n },\n emits: {\n tableState: (_next: TableState, _prev: TableState | null) => true,\n cellEvent: (\n _next: SelectionSnapshot,\n _prev: SelectionSnapshot | null,\n _reason: SelectionChangeReason,\n ) => true,\n },\n setup(props, { attrs, emit, expose }) {\n const root = ref<HTMLElement | null>(null);\n let core: ExtableCore<Record<string, unknown>> | null = null;\n let unsubTable: (() => void) | null = null;\n let unsubSel: (() => void) | null = null;\n const initialDefaultDataWasNull = props.defaultData === null;\n let consumedDefaultDataLoad = false;\n const initialSchema = props.schema;\n const initialView = props.defaultView;\n const emptySelectionSnapshot: SelectionSnapshot = {\n ranges: [],\n activeRowIndex: null,\n activeRowKey: null,\n activeColumnIndex: null,\n activeColumnKey: null,\n activeValueRaw: undefined,\n activeValueDisplay: \"\",\n activeValueType: null,\n diagnostic: null,\n styles: { columnStyle: {}, cellStyle: {}, resolved: {} },\n };\n\n onMounted(() => {\n if (!root.value) return;\n core = new ExtableCore({\n root: root.value,\n schema: props.schema,\n defaultData: props.defaultData,\n defaultView: props.defaultView,\n options: props.options,\n });\n unsubTable = core.subscribeTableState((next, prev) => emit(\"tableState\", next, prev));\n unsubSel = core.subscribeSelection((next, prev, reason) =>\n emit(\"cellEvent\", next, prev, reason),\n );\n });\n\n onBeforeUnmount(() => {\n unsubSel?.();\n unsubTable?.();\n unsubSel = null;\n unsubTable = null;\n core?.destroy();\n core = null;\n });\n\n watch(\n () => props.defaultData,\n (next, prev) => {\n if (!core) return;\n if (!initialDefaultDataWasNull) return;\n if (consumedDefaultDataLoad) return;\n if (next !== null) {\n core.setData(next);\n consumedDefaultDataLoad = true;\n }\n },\n );\n\n const handle: ExtableVueHandle = {\n destroy: () => {\n core?.destroy();\n core = null;\n },\n setData: (data) => core?.setData(data),\n setView: (view) => core?.setView(view),\n showSearchPanel: (mode?: FindReplaceMode) => core?.showSearchPanel(mode),\n hideSearchPanel: () => core?.hideSearchPanel(),\n toggleSearchPanel: (mode?: FindReplaceMode) => core?.toggleSearchPanel(mode),\n showFilterSortPanel: (colKey: string) => core?.showFilterSortPanel(colKey),\n hideFilterSortPanel: () => core?.hideFilterSortPanel(),\n toggleFilterSortPanel: (colKey: string) => core?.toggleFilterSortPanel(colKey),\n openFindReplaceDialog: (mode?: FindReplaceMode) => core?.openFindReplaceDialog(mode),\n closeFindReplaceDialog: () => core?.closeFindReplaceDialog(),\n getData: () => core?.getData() ?? [],\n getRawData: () => core?.getRawData() ?? [],\n getSchema: () => core?.getSchema() ?? initialSchema,\n getView: () => core?.getView() ?? initialView,\n getCell: (rowId: string, colKey: any) => core?.getCell(rowId, colKey) ?? null,\n getDisplayValue: (row: any, colKey: any) => core?.getDisplayValue(row, colKey) ?? \"\",\n getCellPending: (row: any, colKey: any) => core?.getCellPending(row, colKey) ?? false,\n getRow: (row: any) => core?.getRow(row) ?? null,\n getTableData: () => core?.getTableData() ?? [],\n getColumnData: (colKey: any) => core?.getColumnData(colKey) ?? [],\n getPending: () => core?.getPending() ?? new Map(),\n getPendingRowIds: () => core?.getPendingRowIds() ?? [],\n hasPendingChanges: () => core?.hasPendingChanges() ?? false,\n getPendingCellCount: () => core?.getPendingCellCount() ?? 0,\n getRowIndex: (rowId: string) => core?.getRowIndex(rowId) ?? -1,\n getColumnIndex: (colKey: string) => core?.getColumnIndex(colKey) ?? -1,\n getAllRows: () => core?.getAllRows() ?? [],\n listRows: () => core?.listRows() ?? [],\n setCellValue: (row: any, colKey: any, next: any) =>\n core?.setCellValue(row as never, colKey as never, next as never),\n setValueToSelection: (next: any) => core?.setValueToSelection(next),\n insertRow: (rowData: any, pos?: any) => core?.insertRow(rowData, pos) ?? null,\n deleteRow: (row: any) => core?.deleteRow(row) ?? false,\n undo: () => core?.undo(),\n redo: () => core?.redo(),\n getUndoRedoHistory: () => core?.getUndoRedoHistory() ?? { undo: [], redo: [] },\n commit: () => core?.commit() ?? Promise.resolve([]),\n subscribeTableState: (listener: any) => core?.subscribeTableState(listener) ?? (() => false),\n subscribeSelection: (listener: any) => core?.subscribeSelection(listener) ?? (() => false),\n getSelectionSnapshot: () => core?.getSelectionSnapshot() ?? emptySelectionSnapshot,\n };\n\n expose(handle);\n\n return () =>\n h(\"div\", {\n ref: root,\n \"data-extable-wrapper\": \"\",\n ...attrs,\n class: [\"extable-root\", (attrs as unknown as Record<string, unknown>).class],\n });\n },\n});\n\nexport type {\n CoreOptions,\n EditMode,\n LockMode,\n NullableData,\n Schema,\n SelectionChangeReason,\n SelectionSnapshot,\n TableState,\n View,\n};\n"],"names":["Extable","defineComponent","_next","_prev","_reason","props","attrs","emit","expose","root","ref","core","unsubTable","unsubSel","initialDefaultDataWasNull","consumedDefaultDataLoad","initialSchema","initialView","emptySelectionSnapshot","onMounted","ExtableCore","next","prev","reason","onBeforeUnmount","watch","data","view","mode","colKey","rowId","row","rowData","pos","listener","h"],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@extable/vue",
3
+ "version": "0.1.0",
4
+ "private": false,
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/index.js",
12
+ "types": "./dist/index.d.ts"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist"
17
+ ],
18
+ "publishConfig": {
19
+ "access": "public"
20
+ },
21
+ "scripts": {
22
+ "build": "tsc -p tsconfig.build.json --emitDeclarationOnly && vite build",
23
+ "test": "vitest run",
24
+ "lint": "biome lint .",
25
+ "format": "biome format --write .",
26
+ "dev": "vite dev"
27
+ },
28
+ "dependencies": {
29
+ "@extable/core": "0.1.0",
30
+ "vue": "^3.5.13"
31
+ },
32
+ "peerDependencies": {
33
+ "vue": ">=3"
34
+ },
35
+ "devDependencies": {
36
+ "@vue/test-utils": "^2.4.5",
37
+ "@vitejs/plugin-vue": "^6.0.0",
38
+ "typescript": "^5.6.3"
39
+ },
40
+ "engines": {
41
+ "node": ">=22"
42
+ },
43
+ "repository": {
44
+ "type": "git",
45
+ "url": "git+https://github.com/shibukawa/extable.git"
46
+ },
47
+ "author": "Yoshiki Shibukawa",
48
+ "license": "Apache-2.0"
49
+ }