@window-splitter/vue 1.0.2 → 1.1.1--canary.9d2f98a.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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@window-splitter/vue",
4
- "version": "1.0.2",
4
+ "version": "1.1.1--canary.9d2f98a.0",
5
5
  "sideEffects": false,
6
6
  "homepage": "https://react-window-splitter-six.vercel.app",
7
7
  "repository": {
@@ -38,7 +38,7 @@
38
38
  "license": "MIT",
39
39
  "description": "A WAI-ARIA compliant window splitter for Vue.",
40
40
  "devDependencies": {
41
- "@internal/eslint-config": "1.0.2",
41
+ "@internal/eslint-config": "1.1.1--canary.9d2f98a.0",
42
42
  "@storybook/vue3": "^8.6.12",
43
43
  "@storybook/vue3-vite": "^8.6.12",
44
44
  "@testing-library/dom": "^10.4.0",
@@ -60,8 +60,8 @@
60
60
  "vue": "^3.5.13"
61
61
  },
62
62
  "dependencies": {
63
- "@window-splitter/interface": "1.0.2",
64
- "@window-splitter/state": "1.0.2"
63
+ "@window-splitter/interface": "1.1.1--canary.9d2f98a.0",
64
+ "@window-splitter/state": "1.1.1--canary.9d2f98a.0"
65
65
  },
66
66
  "peerDependencies": {
67
67
  "vue": ">=3.x"
@@ -80,5 +80,5 @@
80
80
  },
81
81
  "types": "./dist/index.d.ts",
82
82
  "module": "./dist/index.mjs",
83
- "gitHead": "c9d2802d3c8ff3df8d7911b417130ab118ada6c1"
83
+ "gitHead": "9d2f98a3d6226018c598018cea829d6412b60cd0"
84
84
  }
package/src/Panel.vue CHANGED
@@ -131,15 +131,19 @@ onUnmounted(() => {
131
131
 
132
132
  defineExpose<PanelHandle>({
133
133
  getId: () => panelId,
134
- collapse: () => {
134
+ collapse: async () => {
135
135
  if (!panelData.value?.collapsible) return;
136
- send?.({ type: "collapsePanel", panelId: panelId, controlled: true });
136
+ return await new Promise<void>((resolve) => {
137
+ send?.({ type: "collapsePanel", panelId: panelId, controlled: true, resolve });
138
+ });
137
139
  },
138
140
  isCollapsed: () =>
139
141
  Boolean(panelData.value?.collapsible && panelData.value?.collapsed),
140
- expand: () => {
142
+ expand: async () => {
141
143
  if (!panelData.value?.collapsible) return;
142
- send?.({ type: "expandPanel", panelId: panelId, controlled: true });
144
+ return await new Promise<void>((resolve) => {
145
+ send?.({ type: "expandPanel", panelId: panelId, controlled: true, resolve });
146
+ });
143
147
  },
144
148
  isExpanded: () =>
145
149
  Boolean(panelData.value?.collapsible && !panelData.value?.collapsed),
@@ -33,6 +33,7 @@ const {
33
33
  snapshot: snapshotProp,
34
34
  autosaveId,
35
35
  id,
36
+ shiftAmount,
36
37
  ...attrs
37
38
  } = defineProps<PanelGroupProps>();
38
39
 
@@ -60,6 +61,7 @@ const [initialState, send, machineState] = groupMachine(
60
61
  orientation: orientation,
61
62
  groupId,
62
63
  autosaveStrategy: autosaveStrategy,
64
+ shiftAmount,
63
65
  ...(snapshot ? prepareSnapshot(snapshot) : undefined),
64
66
  },
65
67
  (s) => {
@@ -101,10 +101,10 @@ describe("Autosave", () => {
101
101
  await expectTemplate(handle.value!, "342px 10px 146px");
102
102
 
103
103
  await waitForCondition(() =>
104
- Boolean(localStorage.getItem("autosave-example-vue")),
104
+ Boolean(localStorage.getItem("autosave-example-vue"))
105
105
  );
106
106
  const obj = JSON.parse(
107
- localStorage.getItem("autosave-example-vue") || "{}",
107
+ localStorage.getItem("autosave-example-vue") || "{}"
108
108
  );
109
109
  expect(obj.items).toMatchSnapshot();
110
110
  });
@@ -145,7 +145,7 @@ describe("Autosave", () => {
145
145
  await expectTemplate(handle.value!, "343px 10px 147px");
146
146
 
147
147
  await waitForCondition(() =>
148
- document.cookie.includes("autosave-cookie-vue"),
148
+ document.cookie.includes("autosave-cookie-vue")
149
149
  );
150
150
 
151
151
  expect(document.cookie).toMatchSnapshot();
@@ -172,18 +172,24 @@ test("Keyboard interactions with collapsed panels", async () => {
172
172
 
173
173
  const resizer2 = document.getElementById("resizer-2")!;
174
174
  fireEvent.keyDown(resizer2, { key: "Enter" });
175
- await expectTemplate(handle.value!, "209px 10px 169px 10px 100px");
175
+ await expectTemplate(
176
+ handle.value!,
177
+ "209.015625px 10px 167px 10px 101.984375px"
178
+ );
176
179
 
177
180
  fireEvent.keyDown(resizer2, { key: "ArrowLeft" });
178
181
  fireEvent.keyDown(resizer2, { key: "ArrowLeft" });
179
182
  fireEvent.keyDown(resizer2, { key: "ArrowLeft" });
180
183
  fireEvent.keyDown(resizer2, { key: "ArrowLeft" });
181
- await expectTemplate(handle.value!, "209px 10px 165px 10px 104px");
184
+ await expectTemplate(
185
+ handle.value!,
186
+ "209.015625px 10px 163px 10px 105.984375px"
187
+ );
182
188
 
183
189
  fireEvent.keyDown(resizer2, { key: "ArrowLeft", shiftKey: true });
184
190
  await expectTemplate(
185
191
  handle.value!,
186
- "209.03125px 10px 149.984375px 10px 118.984375px",
192
+ "209.03125px 10px 147.984375px 10px 120.984375px"
187
193
  );
188
194
 
189
195
  fireEvent.keyDown(resizer2, { key: "Enter" });
@@ -192,7 +198,7 @@ test("Keyboard interactions with collapsed panels", async () => {
192
198
  fireEvent.keyDown(resizer2, { key: "Enter" });
193
199
  await expectTemplate(
194
200
  handle.value!,
195
- "209.0625px 10px 149.96875px 10px 118.96875px",
201
+ "209.046875px 10px 144.9375px 10px 124.015625px"
196
202
  );
197
203
  });
198
204
 
@@ -260,10 +266,10 @@ describe("imperative panel API", async () => {
260
266
  expect(leftHandle.value!.isCollapsed()).toBe(true);
261
267
  expect(leftHandle.value!.isExpanded()).toBe(false);
262
268
  expect(rightHandle.value!.getPercentageSize()).toBe(
263
- leftHandle.value!.getPercentageSize(),
269
+ leftHandle.value!.getPercentageSize()
264
270
  );
265
271
  expect(rightHandle.value!.getPixelSize()).toBe(
266
- leftHandle.value!.getPixelSize(),
272
+ leftHandle.value!.getPixelSize()
267
273
  );
268
274
 
269
275
  leftHandle.value!.expand();
@@ -1,6 +1,6 @@
1
1
  // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
2
 
3
- exports[`Autosave > cookie 1`] = `"autosave-cookie-vue=%7B%22size%22%3A%7B%22x%22%3A0%2C%22y%22%3A0%2C%22width%22%3A500%2C%22height%22%3A198%2C%22top%22%3A0%2C%22right%22%3A500%2C%22bottom%22%3A198%2C%22left%22%3A0%7D%2C%22items%22%3A%5B%7B%22type%22%3A%22panel%22%2C%22currentValue%22%3A%7B%22type%22%3A%22percent%22%2C%22value%22%3A%220.7%22%7D%2C%22min%22%3A%7B%22type%22%3A%22pixel%22%2C%22value%22%3A%220%22%7D%2C%22max%22%3A%221fr%22%2C%22collapsible%22%3Afalse%2C%22collapsedSize%22%3A%7B%22type%22%3A%22pixel%22%2C%22value%22%3A%220%22%7D%2C%22onResize%22%3A%7B%7D%2C%22collapseIsControlled%22%3Afalse%2C%22id%22%3A%22panel-1%22%2C%22isStaticAtRest%22%3Afalse%7D%2C%7B%22type%22%3A%22handle%22%2C%22size%22%3A%7B%22type%22%3A%22pixel%22%2C%22value%22%3A%2210%22%7D%2C%22id%22%3A%22resizer1%22%7D%2C%7B%22type%22%3A%22panel%22%2C%22currentValue%22%3A%7B%22type%22%3A%22percent%22%2C%22value%22%3A%220.3%22%7D%2C%22min%22%3A%7B%22type%22%3A%22pixel%22%2C%22value%22%3A%220%22%7D%2C%22max%22%3A%221fr%22%2C%22collapsible%22%3Afalse%2C%22collapsedSize%22%3A%7B%22type%22%3A%22pixel%22%2C%22value%22%3A%220%22%7D%2C%22onResize%22%3A%7B%7D%2C%22collapseIsControlled%22%3Afalse%2C%22id%22%3A%22panel-2%22%2C%22isStaticAtRest%22%3Afalse%7D%5D%2C%22orientation%22%3A%22horizontal%22%2C%22dragOvershoot%22%3A%220%22%2C%22groupId%22%3A%22autosave-cookie-vue%22%2C%22autosaveStrategy%22%3A%22cookie%22%7D"`;
3
+ exports[`Autosave > cookie 1`] = `"autosave-cookie-vue=%7B%22size%22%3A%7B%22x%22%3A0%2C%22y%22%3A0%2C%22width%22%3A500%2C%22height%22%3A198%2C%22top%22%3A0%2C%22right%22%3A500%2C%22bottom%22%3A198%2C%22left%22%3A0%7D%2C%22items%22%3A%5B%7B%22type%22%3A%22panel%22%2C%22currentValue%22%3A%7B%22type%22%3A%22percent%22%2C%22value%22%3A%220.7%22%7D%2C%22min%22%3A%7B%22type%22%3A%22pixel%22%2C%22value%22%3A%220%22%7D%2C%22max%22%3A%221fr%22%2C%22collapsible%22%3Afalse%2C%22collapsedSize%22%3A%7B%22type%22%3A%22pixel%22%2C%22value%22%3A%220%22%7D%2C%22onResize%22%3A%7B%7D%2C%22collapseIsControlled%22%3Afalse%2C%22id%22%3A%22panel-1%22%2C%22isStaticAtRest%22%3Afalse%7D%2C%7B%22type%22%3A%22handle%22%2C%22size%22%3A%7B%22type%22%3A%22pixel%22%2C%22value%22%3A%2210%22%7D%2C%22id%22%3A%22resizer1%22%7D%2C%7B%22type%22%3A%22panel%22%2C%22currentValue%22%3A%7B%22type%22%3A%22percent%22%2C%22value%22%3A%220.3%22%7D%2C%22min%22%3A%7B%22type%22%3A%22pixel%22%2C%22value%22%3A%220%22%7D%2C%22max%22%3A%221fr%22%2C%22collapsible%22%3Afalse%2C%22collapsedSize%22%3A%7B%22type%22%3A%22pixel%22%2C%22value%22%3A%220%22%7D%2C%22onResize%22%3A%7B%7D%2C%22collapseIsControlled%22%3Afalse%2C%22id%22%3A%22panel-2%22%2C%22isStaticAtRest%22%3Afalse%7D%5D%2C%22orientation%22%3A%22horizontal%22%2C%22dragOvershoot%22%3A%220%22%2C%22groupId%22%3A%22autosave-cookie-vue%22%2C%22autosaveStrategy%22%3A%22cookie%22%2C%22shiftAmount%22%3A15%7D"`;
4
4
 
5
5
  exports[`Autosave > localStorage 1`] = `
6
6
  [