@sheetwrite/vue 0.4.0 → 0.5.1

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 CHANGED
@@ -57,6 +57,12 @@ replacement/unmount. Reset-bound inputs are `workbook`, `data`, `datasource`,
57
57
  `renderers`; `theme`, `readOnly`, `config`, `overscan`, and `minColumns` update
58
58
  live.
59
59
 
60
+ Readiness observes the latest committed live options. A throwing ready callback
61
+ retires the new Grid; consumer errors are not initialization failures.
62
+ Omitted `renderer` and `"canvas"` are equivalent. Changing an explicit
63
+ `wasmSource` after readiness preserves the Grid and retains the loader's
64
+ first-source warning.
65
+
60
66
  Events are `grid-change`, `viewport-change`, `selection-change`, `edit-begin`, `edit-commit`, `search`, `command-state-change`, `active-sheet-change`, `mutation-rejected`, `renderer-fallback`, `datasource-error`, `export-error`, `ready`, and `initialization-error`. Native DOM change/scroll listeners remain available on the host.
61
67
 
62
68
  For vanilla/preload control, use `initSheetwrite()` and `createGrid()` from `@sheetwrite/core`. See [installation](https://sheetwrite.vercel.app/docs/start/installation/), [Vue integration](https://sheetwrite.vercel.app/docs/frameworks/vue/), and [collaboration](https://sheetwrite.vercel.app/docs/guides/collaboration/).
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type CellRenderer, type CellScalar, type ChangeEvent, type ColumnarData, type DataSource, type DataSourceStorageOptions, type Grid, type GridEvents, type GridOptions, type Selection, type SheetwriteError, type Theme, type Workbook } from "@sheetwrite/core";
1
+ import type { CellRenderer, CellScalar, ChangeEvent, ColumnarData, DataSource, DataSourceStorageOptions, Grid, GridEvents, GridOptions, Selection, SheetwriteError, Theme, Workbook } from "@sheetwrite/core";
2
2
  import { createSimpleRowBridge, type GridReadyEvent, type RowBridge, type RowBridgeHandler, type RowBridgeId, type SheetwriteInitializationProps, type SimpleColumn } from "@sheetwrite/core/adapter";
3
3
  import { type AllowedComponentProps, type ComponentPublicInstance, type VNodeProps } from "vue";
4
4
  /** Imperative Grid handle exposed by the Vue advanced component. */
@@ -109,9 +109,44 @@ export type SheetwriteComponentConstructor<Props, Emits, Expose = object> = new
109
109
  [EventName in keyof Emits & string as `on${Capitalize<EventName>}`]?: (payload: Emits[EventName]) => void;
110
110
  };
111
111
  };
112
- /** Advanced framework component for workbook data or datasource input. */
112
+ /**
113
+ * Advanced framework component for workbook data or datasource input.
114
+ *
115
+ * @example
116
+ * ```ts
117
+ * import { createApp, h } from "vue";
118
+ * import { SheetwriteGrid } from "@sheetwrite/vue";
119
+ * import type { Workbook } from "@sheetwrite/core";
120
+ *
121
+ * function mountWorkbook(host: HTMLElement, workbook: Workbook) {
122
+ * const app = createApp({ render: () => h(SheetwriteGrid, { workbook, height: 400 }) });
123
+ * app.mount(host);
124
+ * return () => app.unmount();
125
+ * }
126
+ * ```
127
+ * @see Sheetwrite
128
+ * @see /docs/frameworks/vue/
129
+ */
113
130
  export declare const SheetwriteGrid: SheetwriteComponentConstructor<SheetwriteGridProps, SheetwriteGridEmits, SheetwriteGridExpose>;
114
- /** Convenience component for local object rows with live option updates. */
131
+ /**
132
+ * Convenience component for local object rows with live option updates.
133
+ *
134
+ * @example
135
+ * ```ts
136
+ * import { createApp, h } from "vue";
137
+ * import { Sheetwrite } from "@sheetwrite/vue";
138
+ *
139
+ * const app = createApp({ render: () => h(Sheetwrite, {
140
+ * columns: [{ key: "amount", title: "Amount", type: "number" }],
141
+ * defaultRows: [{ amount: 12 }, { amount: 18 }],
142
+ * height: 400,
143
+ * }) });
144
+ * app.mount(document.body);
145
+ * // Call app.unmount() before removing the host view.
146
+ * ```
147
+ * @see SheetwriteGrid
148
+ * @see /docs/frameworks/vue/
149
+ */
115
150
  export declare const Sheetwrite: SheetwriteComponentConstructor<SheetwriteProps, SheetwriteGridEmits>;
116
151
  export type { CellEditor, CellEditorContext, CellEditorInstance, CellEditorNavigation, CellScalar, Grid, GridCommandName, GridCommandState, } from "@sheetwrite/core";
117
152
  export type { GridReadyEvent, RowBridge, RowBridgeDelta, RowBridgeHandler, RowBridgeId, RowBridgeProjection, SimpleColumn, } from "@sheetwrite/core/adapter";
package/dist/index.js CHANGED
@@ -1,6 +1,5 @@
1
- import { initSheetwrite, isSheetwriteReady, } from "@sheetwrite/core";
2
- import { createGridController, createSimpleGridInput, createSimpleRowBridge, getGridResetReason, gridSizeStyle, } from "@sheetwrite/core/adapter";
3
- import { defineComponent, h, nextTick, onBeforeUnmount, onMounted, ref, shallowRef, watch, } from "vue";
1
+ import { createAdapterGridController, createSimpleGridInput, createSimpleRowBridge, extractGridOptions, gridSizeStyle, } from "@sheetwrite/core/adapter";
2
+ import { defineComponent, getCurrentInstance, h, nextTick, onBeforeUnmount, onMounted, ref, shallowRef, watch, } from "vue";
4
3
  const gridProps = {
5
4
  workbook: { type: Object, required: true },
6
5
  data: { type: Object, default: undefined },
@@ -71,11 +70,11 @@ const SheetwriteGridComponent = defineComponent({
71
70
  setup(props, { attrs, emit, expose, slots }) {
72
71
  const host = ref(null);
73
72
  const exposedGrid = shallowRef(null);
74
- let controller = null;
75
- let generation = 0;
76
- let previousOptions = null;
77
- let mounted = false;
78
- let initializationToken = 0;
73
+ const instance = getCurrentInstance();
74
+ let readyOnceDelivered = false;
75
+ const forwardCommandStateChange = (event) => {
76
+ emit("command-state-change", event);
77
+ };
79
78
  const handlers = {
80
79
  onGridChange: (event) => emit("grid-change", event),
81
80
  onRowDelta: (projection) => emit("row-delta", projection),
@@ -84,112 +83,65 @@ const SheetwriteGridComponent = defineComponent({
84
83
  onEditBegin: (event) => emit("edit-begin", event),
85
84
  onEditCommit: (event) => emit("edit-commit", event),
86
85
  onSearch: (result) => emit("search", result),
87
- onCommandStateChange: (event) => emit("command-state-change", event),
86
+ get onCommandStateChange() {
87
+ const listenerProps = instance?.vnode.props;
88
+ if (!listenerProps)
89
+ return forwardCommandStateChange;
90
+ return listenerProps.onCommandStateChange === undefined &&
91
+ listenerProps["onCommand-state-change"] === undefined
92
+ ? undefined
93
+ : forwardCommandStateChange;
94
+ },
88
95
  onActiveSheetChange: (event) => emit("active-sheet-change", event),
89
96
  onMutationRejected: (event) => emit("mutation-rejected", event),
90
97
  onRendererFallback: (event) => emit("renderer-fallback", event),
91
98
  onDatasourceError: (event) => emit("datasource-error", event),
92
99
  onExportError: (event) => emit("export-error", event),
93
- };
94
- function currentOptions() {
95
- return {
96
- workbook: props.workbook,
97
- data: props.data,
98
- datasource: props.datasource,
99
- datasourceStorage: props.datasourceStorage,
100
- renderer: props.renderer,
101
- workerUrl: props.workerUrl,
102
- presentation: props.presentation,
103
- theme: props.theme,
104
- readOnly: props.readOnly,
105
- protectionResolver: props.protectionResolver,
106
- mutationPolicy: props.mutationPolicy,
107
- transactionResourceLimits: props.transactionResourceLimits,
108
- hyperlinkActivation: props.hyperlinkActivation,
109
- renderers: props.renderers,
110
- editors: props.editors,
111
- overscan: props.overscan,
112
- minColumns: props.minColumns,
113
- config: props.config,
114
- };
115
- }
116
- function teardownGrid() {
117
- exposedGrid.value = null;
118
- controller?.destroy();
119
- controller = null;
120
- }
121
- async function createCurrentGrid() {
122
- if (!mounted || !host.value)
123
- return;
124
- const options = currentOptions();
125
- const reason = generation === 0
126
- ? "initial"
127
- : ((previousOptions && getGridResetReason(previousOptions, options)) ?? "input-reset");
128
- teardownGrid();
129
- const created = createGridController(host.value, options, handlers, props.rowBridge);
130
- controller = created;
131
- generation += 1;
132
- previousOptions = options;
133
- exposedGrid.value = created.grid;
134
- await nextTick();
135
- if (controller !== created)
136
- return;
137
- emit("ready", { grid: created.grid, generation, reason });
138
- }
139
- async function initialize() {
140
- const token = ++initializationToken;
141
- const alreadyReady = isSheetwriteReady();
142
- try {
143
- const initialization = initSheetwrite(props.wasmSource);
144
- if (alreadyReady && mounted && !controller)
145
- await createCurrentGrid();
146
- await initialization;
147
- if (!alreadyReady && mounted && isSheetwriteReady() && !controller) {
148
- await createCurrentGrid();
100
+ onReady(event) {
101
+ const listeners = instance?.vnode.props;
102
+ const readyListeners = listeners?.onReady;
103
+ for (const listener of Array.isArray(readyListeners) ? readyListeners : [readyListeners]) {
104
+ if (typeof listener === "function")
105
+ listener(event);
149
106
  }
150
- }
151
- catch (error) {
152
- if (mounted && token === initializationToken) {
153
- emit("initialization-error", error);
107
+ if (!readyOnceDelivered) {
108
+ readyOnceDelivered = true;
109
+ const onceListeners = listeners?.onReadyOnce;
110
+ for (const listener of Array.isArray(onceListeners) ? onceListeners : [onceListeners]) {
111
+ if (typeof listener === "function")
112
+ listener(event);
113
+ }
154
114
  }
155
- }
156
- }
157
- onMounted(() => {
158
- mounted = true;
159
- void initialize();
160
- });
161
- onBeforeUnmount(() => {
162
- mounted = false;
163
- initializationToken += 1;
164
- teardownGrid();
165
- });
166
- watch(() => props.wasmSource, () => {
167
- void initialize();
115
+ },
116
+ onInitializationError: (error) => emit("initialization-error", error),
117
+ };
118
+ const lifetime = createAdapterGridController(handlers, {
119
+ publish(grid) {
120
+ exposedGrid.value = grid;
121
+ if (grid)
122
+ return nextTick();
123
+ },
124
+ setInitializationState() {
125
+ },
126
+ reportConsumerFailure(thrown) {
127
+ reportError(thrown);
128
+ },
168
129
  });
169
- watch(() => [
170
- props.workbook,
171
- props.data,
172
- props.datasource,
173
- props.datasourceStorage,
174
- props.rowBridge,
175
- props.renderer,
176
- props.workerUrl,
177
- props.presentation,
178
- props.protectionResolver,
179
- props.mutationPolicy,
180
- props.transactionResourceLimits,
181
- props.hyperlinkActivation,
182
- props.renderers,
183
- props.editors,
184
- ], () => {
185
- if (isSheetwriteReady())
186
- void createCurrentGrid();
130
+ onMounted(() => {
131
+ if (host.value) {
132
+ lifetime.mount(host.value, {
133
+ options: extractGridOptions({ ...props }),
134
+ rowBridge: props.rowBridge,
135
+ wasmSource: props.wasmSource,
136
+ });
137
+ }
187
138
  });
188
- watch(() => props.readOnly, (value) => controller?.setReadOnly(value ?? false));
189
- watch(() => props.config, (value) => controller?.setConfig(value));
190
- watch(() => props.theme, (value) => controller?.setTheme(value));
191
- watch(() => props.overscan, (value) => controller?.setOverscan(value));
192
- watch(() => props.minColumns, (value) => controller?.setMinColumns(value));
139
+ onBeforeUnmount(() => lifetime.unmount());
140
+ watch(() => ({
141
+ options: extractGridOptions({ ...props }),
142
+ rowBridge: props.rowBridge,
143
+ wasmSource: props.wasmSource,
144
+ }), (input) => lifetime.update(input));
193
145
  expose({ grid: exposedGrid });
194
146
  return () => {
195
147
  const style = [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sheetwrite/vue",
3
- "version": "0.4.0",
3
+ "version": "0.5.1",
4
4
  "type": "module",
5
5
  "description": "Vue adapter for Sheetwrite.",
6
6
  "license": "MIT",
@@ -19,6 +19,9 @@
19
19
  "vue",
20
20
  "canvas"
21
21
  ],
22
+ "sideEffects": [
23
+ "**/*.css"
24
+ ],
22
25
  "main": "./dist/index.js",
23
26
  "module": "./dist/index.js",
24
27
  "types": "./dist/index.d.ts",
@@ -30,7 +33,8 @@
30
33
  "./styles.css": "./styles.css"
31
34
  },
32
35
  "files": [
33
- "dist",
36
+ "dist/**/*.js",
37
+ "dist/**/*.d.ts",
34
38
  "styles.css"
35
39
  ],
36
40
  "publishConfig": {
@@ -45,6 +49,6 @@
45
49
  "vue": ">=3.4"
46
50
  },
47
51
  "dependencies": {
48
- "@sheetwrite/core": "0.4.0"
52
+ "@sheetwrite/core": "0.5.1"
49
53
  }
50
54
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}