ember-aria-voyager 1.0.0 → 1.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 CHANGED
@@ -101,6 +101,7 @@ type ListboxSignature<T = HTMLElement> = {
101
101
  items?: T[];
102
102
  selection?: T | T[];
103
103
  activateItem?: (item: T) => void;
104
+ check?: (selection: T[]) => void;
104
105
  } & (
105
106
  | {
106
107
  multi: true;
@@ -1,4 +1,4 @@
1
- import { IndexEmitStrategy, ItemEmitStrategy, Orientation, TablistBehavior } from "aria-voyager";
1
+ import { IndexEmitStrategy, ItemEmitStrategy, ListboxBehavior, Orientation, TablistBehavior } from "aria-voyager";
2
2
  import Modifier, { ArgsFor, NamedArgs, PositionalArgs } from "ember-modifier";
3
3
  import Owner from "@ember/owner";
4
4
 
@@ -107,8 +107,9 @@ type MultiSelectionHandler<T> = {
107
107
  type SelectionHandler<T> = SingleSelectionHandler<T> | MultiSelectionHandler<T>;
108
108
  //#endregion
109
109
  //#region src/modifiers/aria-listbox.d.ts
110
- type ListboxOptions<T> = Simplify<SelectionHandler<T> & (Items<T> | Partial<Items<T>>) & ActivateHandler<T> & {
110
+ type ListboxOptions<T> = Simplify<SelectionHandler<T> & (Items<T> | Partial<Items<T>>) & ActivateHandler<T> & CheckHandler<T> & {
111
111
  disabled?: boolean;
112
+ behavior?: ListboxBehavior;
112
113
  }>;
113
114
  interface ListboxSignature<T> {
114
115
  Args: {
@@ -124,6 +125,7 @@ declare class ListboxModifier<T> extends Modifier<ListboxSignature<T>> {
124
125
  private prevSelection?;
125
126
  private prevMulti?;
126
127
  private prevDisabled?;
128
+ private prevCheck?;
127
129
  constructor(owner: Owner, args: ArgsFor<ListboxSignature<T>>);
128
130
  modify(element: Element, _: PositionalArgs<ListboxSignature<T>>, options: NamedArgs<ListboxSignature<T>>): void;
129
131
  }
@@ -1,6 +1,6 @@
1
1
  import Modifier, { ArgsFor, NamedArgs, PositionalArgs } from "ember-modifier";
2
2
  import Owner from "@ember/owner";
3
- import { Orientation, TablistBehavior } from "aria-voyager";
3
+ import { ListboxBehavior, Orientation, TablistBehavior } from "aria-voyager";
4
4
 
5
5
  //#region src/modifiers/aria-group.d.ts
6
6
  interface GroupSignature<T> {
@@ -107,8 +107,9 @@ type MultiSelectionHandler<T> = {
107
107
  type SelectionHandler<T> = SingleSelectionHandler<T> | MultiSelectionHandler<T>;
108
108
  //#endregion
109
109
  //#region src/modifiers/aria-listbox.d.ts
110
- type ListboxOptions<T> = Simplify<SelectionHandler<T> & (Items<T> | Partial<Items<T>>) & ActivateHandler<T> & {
110
+ type ListboxOptions<T> = Simplify<SelectionHandler<T> & (Items<T> | Partial<Items<T>>) & ActivateHandler<T> & CheckHandler<T> & {
111
111
  disabled?: boolean;
112
+ behavior?: ListboxBehavior;
112
113
  }>;
113
114
  interface ListboxSignature<T> {
114
115
  Args: {
@@ -124,6 +125,7 @@ declare class ListboxModifier<T> extends Modifier<ListboxSignature<T>> {
124
125
  private prevSelection?;
125
126
  private prevMulti?;
126
127
  private prevDisabled?;
128
+ private prevCheck?;
127
129
  constructor(owner: Owner, args: ArgsFor<ListboxSignature<T>>);
128
130
  modify(element: Element, _: PositionalArgs<ListboxSignature<T>>, options: NamedArgs<ListboxSignature<T>>): void;
129
131
  }
package/dist/index.cjs CHANGED
@@ -250,6 +250,7 @@ var ListboxModifier = class extends ember_modifier.default {
250
250
  prevSelection;
251
251
  prevMulti;
252
252
  prevDisabled;
253
+ prevCheck;
253
254
  constructor(owner, args) {
254
255
  super(owner, args);
255
256
  (0, _ember_destroyable.registerDestructor)(this, () => {
@@ -259,7 +260,10 @@ var ListboxModifier = class extends ember_modifier.default {
259
260
  modify(element, _, options) {
260
261
  if (!this.listbox) {
261
262
  this.updater = new aria_voyager.ReactiveUpdateStrategy();
262
- this.listbox = new aria_voyager.Listbox(element, { updater: this.updater });
263
+ this.listbox = new aria_voyager.Listbox(element, {
264
+ updater: this.updater,
265
+ behavior: { check: options.behavior?.check }
266
+ });
263
267
  }
264
268
  if (options.items && !(this.emitter instanceof aria_voyager.IndexEmitStrategy)) this.emitter = createIndexEmitter(this.listbox, options);
265
269
  else if (!options.items && !(this.emitter instanceof aria_voyager.ItemEmitStrategy)) this.emitter = createItemEmitter(this.listbox, options);
@@ -284,6 +288,10 @@ var ListboxModifier = class extends ember_modifier.default {
284
288
  optionsChanged = true;
285
289
  this.prevDisabled = options.disabled;
286
290
  }
291
+ if (this.prevCheck !== options.behavior?.check) {
292
+ optionsChanged = true;
293
+ this.prevCheck = options.behavior?.check;
294
+ }
287
295
  if (optionsChanged) this.updater.updateOptions();
288
296
  }
289
297
  };
package/dist/index.d.cts CHANGED
@@ -1,3 +1,3 @@
1
- import { a as GroupModifier, i as ListboxModifier, n as RadioGroupModifier, r as MenuModifier, t as TablistModifier } from "./aria-tablist-Bpm0pW99.cjs";
1
+ import { a as GroupModifier, i as ListboxModifier, n as RadioGroupModifier, r as MenuModifier, t as TablistModifier } from "./aria-tablist-DmLw5DZQ.cjs";
2
2
  import { Orientation, TablistBehavior } from "aria-voyager";
3
3
  export { type Orientation, type TablistBehavior, GroupModifier as ariaGroup, GroupModifier as group, ListboxModifier as ariaListbox, ListboxModifier as listbox, MenuModifier as ariaMenu, MenuModifier as menu, RadioGroupModifier as ariaRadioGroup, RadioGroupModifier as radiogroup, TablistModifier as ariaTablist, TablistModifier as tablist };
package/dist/index.d.mts CHANGED
@@ -1,3 +1,3 @@
1
- import { a as GroupModifier, i as ListboxModifier, n as RadioGroupModifier, r as MenuModifier, t as TablistModifier } from "./aria-tablist-ZH-aeJQW.mjs";
1
+ import { a as GroupModifier, i as ListboxModifier, n as RadioGroupModifier, r as MenuModifier, t as TablistModifier } from "./aria-tablist-Bw7owV3y.mjs";
2
2
  import { Orientation, TablistBehavior } from "aria-voyager";
3
3
  export { type Orientation, type TablistBehavior, GroupModifier as ariaGroup, GroupModifier as group, ListboxModifier as ariaListbox, ListboxModifier as listbox, MenuModifier as ariaMenu, MenuModifier as menu, RadioGroupModifier as ariaRadioGroup, RadioGroupModifier as radiogroup, TablistModifier as ariaTablist, TablistModifier as tablist };
package/dist/index.mjs CHANGED
@@ -247,6 +247,7 @@ var ListboxModifier = class extends Modifier {
247
247
  prevSelection;
248
248
  prevMulti;
249
249
  prevDisabled;
250
+ prevCheck;
250
251
  constructor(owner, args) {
251
252
  super(owner, args);
252
253
  registerDestructor(this, () => {
@@ -256,7 +257,10 @@ var ListboxModifier = class extends Modifier {
256
257
  modify(element, _, options) {
257
258
  if (!this.listbox) {
258
259
  this.updater = new ReactiveUpdateStrategy();
259
- this.listbox = new Listbox(element, { updater: this.updater });
260
+ this.listbox = new Listbox(element, {
261
+ updater: this.updater,
262
+ behavior: { check: options.behavior?.check }
263
+ });
260
264
  }
261
265
  if (options.items && !(this.emitter instanceof IndexEmitStrategy)) this.emitter = createIndexEmitter(this.listbox, options);
262
266
  else if (!options.items && !(this.emitter instanceof ItemEmitStrategy)) this.emitter = createItemEmitter(this.listbox, options);
@@ -281,6 +285,10 @@ var ListboxModifier = class extends Modifier {
281
285
  optionsChanged = true;
282
286
  this.prevDisabled = options.disabled;
283
287
  }
288
+ if (this.prevCheck !== options.behavior?.check) {
289
+ optionsChanged = true;
290
+ this.prevCheck = options.behavior?.check;
291
+ }
284
292
  if (optionsChanged) this.updater.updateOptions();
285
293
  }
286
294
  };
@@ -1,4 +1,4 @@
1
- import { a as GroupModifier, i as ListboxModifier, n as RadioGroupModifier, r as MenuModifier, t as TablistModifier } from "./aria-tablist-Bpm0pW99.cjs";
1
+ import { a as GroupModifier, i as ListboxModifier, n as RadioGroupModifier, r as MenuModifier, t as TablistModifier } from "./aria-tablist-DmLw5DZQ.cjs";
2
2
 
3
3
  //#region src/template-registry.d.ts
4
4
  interface AriaVoyagerRegistry {
@@ -1,4 +1,4 @@
1
- import { a as GroupModifier, i as ListboxModifier, n as RadioGroupModifier, r as MenuModifier, t as TablistModifier } from "./aria-tablist-ZH-aeJQW.mjs";
1
+ import { a as GroupModifier, i as ListboxModifier, n as RadioGroupModifier, r as MenuModifier, t as TablistModifier } from "./aria-tablist-Bw7owV3y.mjs";
2
2
 
3
3
  //#region src/template-registry.d.ts
4
4
  interface AriaVoyagerRegistry {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ember-aria-voyager",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Navigation patterns for various aria roles and features in ember.js",
5
5
  "author": "gossi",
6
6
  "license": "MIT",
@@ -41,7 +41,7 @@
41
41
  "@embroider/addon-shim": "^1.10.0",
42
42
  "dom-element-descriptors": "^0.5.1",
43
43
  "ember-modifier": "^4.2.2",
44
- "aria-voyager": "1.0.0"
44
+ "aria-voyager": "1.1.0"
45
45
  },
46
46
  "peerDependencies": {
47
47
  "@ember/test-helpers": "^2.9.3 || ^3.0.0 || ^4.0.0 || ^5.0.0",
@@ -65,25 +65,25 @@
65
65
  "@ember/library-tsconfig": "^2.0.0",
66
66
  "@ember/test-helpers": "5.4.3",
67
67
  "@ember/test-waiters": "4.1.2",
68
- "@embroider/compat": "^4.1.16",
69
- "@embroider/core": "^4.4.7",
70
- "@embroider/macros": "^1.20.2",
71
- "@embroider/vite": "^1.7.1",
68
+ "@embroider/compat": "^4.1.20",
69
+ "@embroider/core": "^4.6.1",
70
+ "@embroider/macros": "^1.20.4",
71
+ "@embroider/vite": "^1.7.6",
72
72
  "@glint/ember-tsc": "^1.2.3",
73
73
  "@glint/template": "^1.7.7",
74
74
  "@gossi/config-eslint": "^1.3.4",
75
75
  "@gossi/config-prettier": "^1.2.2",
76
76
  "@gossi/config-template-lint": "^1.2.3",
77
- "@rollup/plugin-babel": "^7.0.0",
77
+ "@rollup/plugin-babel": "^7.1.0",
78
78
  "@types/qunit": "2.19.14",
79
79
  "@types/sinon": "21.0.1",
80
80
  "babel-plugin-ember-template-compilation": "^4.0.0",
81
- "decorator-transforms": "^2.3.1",
81
+ "decorator-transforms": "^2.3.2",
82
82
  "ember-cli-code-coverage": "3.1.0",
83
83
  "ember-qunit": "^9.0.4",
84
84
  "ember-resolver": "^13.2.0",
85
85
  "ember-sinon-qunit": "^7.5.0",
86
- "ember-source": "~6.11.1",
86
+ "ember-source": "~6.12.0",
87
87
  "ember-template-lint": "^7.9.3",
88
88
  "es-toolkit": "^1.43.0",
89
89
  "eslint": "^10.5.0",
@@ -94,7 +94,7 @@
94
94
  "qunit-dom": "3.5.0",
95
95
  "sinon": "^21.0.3",
96
96
  "testem": "^3.18.0",
97
- "tsdown": "0.22.2",
97
+ "tsdown": "0.22.3",
98
98
  "type-fest": "^5.7.0",
99
99
  "typescript": "6.0.3",
100
100
  "vite": "8.0.16"