@pequity/squirrel 10.0.2 → 10.0.3

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.
@@ -19,6 +19,7 @@ const P_ICON_ALIASES = {
19
19
  archive: "solar:archive-outline",
20
20
  lock: "material-symbols:lock",
21
21
  "drag-horizontal": "ci:drag-horizontal",
22
+ "drag-vertical": "ci:drag-vertical",
22
23
  email: "tabler:mail-filled",
23
24
  location: "gridicons:location",
24
25
  calendar: "mdi:calendar-today",
package/dist/es/p-icon.js CHANGED
@@ -17,6 +17,7 @@ const P_ICON_ALIASES = {
17
17
  archive: "solar:archive-outline",
18
18
  lock: "material-symbols:lock",
19
19
  "drag-horizontal": "ci:drag-horizontal",
20
+ "drag-vertical": "ci:drag-vertical",
20
21
  email: "tabler:mail-filled",
21
22
  location: "gridicons:location",
22
23
  calendar: "mdi:calendar-today",
@@ -374,14 +374,14 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<import
374
374
  default: string;
375
375
  };
376
376
  }>> & Readonly<{}>, {
377
- icon: "delete" | "edit" | "send" | "settings" | "empty" | "chevron-left" | "chevron-right" | "chevron-up" | "chevron-down" | "ok-circle" | "cancel-circle" | "ok" | "cancel" | "ok-bold" | "cancel-bold" | "archive" | "lock" | "drag-horizontal" | "email" | "location" | "calendar" | "save" | "copy" | "plus" | "add" | "more" | "filters" | "bar-chart" | "list" | "formula" | "refresh" | "download" | "upload" | "info" | "help" | "search" | "warning" | (string & {});
377
+ icon: "delete" | "edit" | "send" | "settings" | "empty" | "chevron-left" | "chevron-right" | "chevron-up" | "chevron-down" | "ok-circle" | "cancel-circle" | "ok" | "cancel" | "ok-bold" | "cancel-bold" | "archive" | "lock" | "drag-horizontal" | "drag-vertical" | "email" | "location" | "calendar" | "save" | "copy" | "plus" | "add" | "more" | "filters" | "bar-chart" | "list" | "formula" | "refresh" | "download" | "upload" | "info" | "help" | "search" | "warning" | (string & {});
378
378
  size: "sm" | "md" | "lg";
379
379
  type: ButtonType;
380
380
  nativeType: "button" | "submit" | "reset";
381
381
  loading: boolean;
382
382
  selected: boolean;
383
383
  to: string | import("vue-router").RouteLocationAsRelativeGeneric | import("vue-router").RouteLocationAsPathGeneric;
384
- iconRight: "delete" | "edit" | "send" | "settings" | "empty" | "chevron-left" | "chevron-right" | "chevron-up" | "chevron-down" | "ok-circle" | "cancel-circle" | "ok" | "cancel" | "ok-bold" | "cancel-bold" | "archive" | "lock" | "drag-horizontal" | "email" | "location" | "calendar" | "save" | "copy" | "plus" | "add" | "more" | "filters" | "bar-chart" | "list" | "formula" | "refresh" | "download" | "upload" | "info" | "help" | "search" | "warning" | (string & {});
384
+ iconRight: "delete" | "edit" | "send" | "settings" | "empty" | "chevron-left" | "chevron-right" | "chevron-up" | "chevron-down" | "ok-circle" | "cancel-circle" | "ok" | "cancel" | "ok-bold" | "cancel-bold" | "archive" | "lock" | "drag-horizontal" | "drag-vertical" | "email" | "location" | "calendar" | "save" | "copy" | "plus" | "add" | "more" | "filters" | "bar-chart" | "list" | "formula" | "refresh" | "download" | "upload" | "info" | "help" | "search" | "warning" | (string & {});
385
385
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
386
386
  /**
387
387
  * Default slot - the content of the button.
@@ -17,6 +17,7 @@ export declare const P_ICON_ALIASES: {
17
17
  readonly archive: "solar:archive-outline";
18
18
  readonly lock: "material-symbols:lock";
19
19
  readonly 'drag-horizontal': "ci:drag-horizontal";
20
+ readonly 'drag-vertical': "ci:drag-vertical";
20
21
  readonly email: "tabler:mail-filled";
21
22
  readonly location: "gridicons:location";
22
23
  readonly calendar: "mdi:calendar-today";
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@pequity/squirrel",
3
3
  "description": "Squirrel component library",
4
- "version": "10.0.2",
5
- "packageManager": "pnpm@10.18.1",
4
+ "version": "10.0.3",
5
+ "packageManager": "pnpm@10.18.2",
6
6
  "type": "module",
7
7
  "scripts": {
8
8
  "preinstall": "npx only-allow pnpm",
@@ -63,7 +63,7 @@
63
63
  "@tanstack/vue-virtual": "3.13.12",
64
64
  "@types/jsdom": "^27.0.0",
65
65
  "@types/lodash-es": "^4.17.12",
66
- "@types/node": "^24.7.0",
66
+ "@types/node": "^24.7.2",
67
67
  "@vitejs/plugin-vue": "^6.0.1",
68
68
  "@vitest/browser": "3.2.4",
69
69
  "@vitest/coverage-v8": "^3.2.4",
@@ -78,7 +78,7 @@
78
78
  "husky": "^9.1.7",
79
79
  "iconify-icon": "^3.0.1",
80
80
  "jsdom": "^27.0.0",
81
- "lint-staged": "^16.2.3",
81
+ "lint-staged": "^16.2.4",
82
82
  "lodash-es": "4.17.21",
83
83
  "make-coverage-badge": "^1.2.0",
84
84
  "playwright": "^1.56.0",
@@ -17,6 +17,7 @@ export const P_ICON_ALIASES = {
17
17
  archive: 'solar:archive-outline',
18
18
  lock: 'material-symbols:lock',
19
19
  'drag-horizontal': 'ci:drag-horizontal',
20
+ 'drag-vertical': 'ci:drag-vertical',
20
21
  email: 'tabler:mail-filled',
21
22
  location: 'gridicons:location',
22
23
  calendar: 'mdi:calendar-today',
@@ -166,9 +166,9 @@ describe('Modal features', () => {
166
166
 
167
167
  await sleep(200);
168
168
 
169
- // The first focusable element in modal1 according to FOCUSABLE_ELEMENTS order is a[href] (comes before button)
170
- const linkElement = modal1.find('a[href]');
171
- expect(document.activeElement).toEqual(linkElement.element);
169
+ // When showInput is false, the close button becomes the first focusable element
170
+ const closeButton = modal1.find('button[aria-label="Close"]');
171
+ expect(document.activeElement).toEqual(closeButton.element);
172
172
  wrapper.unmount();
173
173
  });
174
174
 
@@ -203,11 +203,11 @@ describe('Modal features', () => {
203
203
  shiftKey: true,
204
204
  });
205
205
 
206
- // Shift+tab from text input (initial autofocus) goes to previous element in tab order
207
- // According to FOCUSABLE_ELEMENTS order: a[href] -> input -> button -> checkbox -> close button
208
- const openModal2Btn = modal1.find('.open-modal-2');
206
+ // Shift+tab from text input (initial autofocus) goes to the last focusable element
207
+ // The checkbox input is the last focusable element in the modal content
208
+ const checkboxInput = modal1.find('.checkbox-input');
209
209
 
210
- expect(document.activeElement).toBe(openModal2Btn.element);
210
+ expect(document.activeElement).toBe(checkboxInput.element);
211
211
  wrapper.unmount();
212
212
  });
213
213
 
@@ -282,11 +282,11 @@ describe('Modal features', () => {
282
282
 
283
283
  await modal1.find('.checkbox-input').trigger('keydown', { keyCode: 9 });
284
284
 
285
- // Tab from checkbox (last element) cycles back to the first focusable element (text input with autofocus)
285
+ // Tab from checkbox (last element) cycles back to the first focusable element (close button)
286
286
  // This is correct modal tab cycling behavior: when at the end, wrap to the beginning
287
- const textInput = modal1.find('.text-input');
287
+ const closeButton = modal1.find('button[aria-label="Close"]');
288
288
 
289
- expect(document.activeElement).toEqual(textInput.element);
289
+ expect(document.activeElement).toEqual(closeButton.element);
290
290
  wrapper.unmount();
291
291
  });
292
292