@spectrum-web-components/picker 0.12.1-devmode2.0 → 0.13.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.
Files changed (51) hide show
  1. package/package.json +13 -13
  2. package/sp-picker.dev.js +1 -0
  3. package/sp-picker.dev.js.map +1 -1
  4. package/sp-picker.js +1 -2
  5. package/sp-picker.js.map +2 -2
  6. package/src/Picker.dev.js +40 -15
  7. package/src/Picker.dev.js.map +2 -2
  8. package/src/Picker.js +17 -442
  9. package/src/Picker.js.map +2 -2
  10. package/src/index.dev.js +1 -0
  11. package/src/index.dev.js.map +1 -1
  12. package/src/index.js +1 -1
  13. package/src/index.js.map +1 -1
  14. package/src/picker.css.dev.js +1 -0
  15. package/src/picker.css.dev.js.map +1 -1
  16. package/src/picker.css.js +2 -4
  17. package/src/picker.css.js.map +2 -2
  18. package/src/spectrum-picker.css.dev.js +1 -0
  19. package/src/spectrum-picker.css.dev.js.map +1 -1
  20. package/src/spectrum-picker.css.js +2 -4
  21. package/src/spectrum-picker.css.js.map +2 -2
  22. package/stories/picker-sizes.stories.js +1 -0
  23. package/stories/picker-sizes.stories.js.map +2 -2
  24. package/stories/picker.stories.js +5 -2
  25. package/stories/picker.stories.js.map +1 -1
  26. package/stories/states.js +1 -0
  27. package/stories/states.js.map +1 -1
  28. package/sync/index.dev.js +1 -0
  29. package/sync/index.dev.js.map +1 -1
  30. package/sync/index.js +1 -7
  31. package/sync/index.js.map +2 -2
  32. package/sync/sp-picker.dev.js +1 -0
  33. package/sync/sp-picker.dev.js.map +1 -1
  34. package/sync/sp-picker.js +1 -2
  35. package/sync/sp-picker.js.map +1 -1
  36. package/test/benchmark/basic-test.js +10 -4
  37. package/test/benchmark/basic-test.js.map +1 -1
  38. package/test/index.js +206 -69
  39. package/test/index.js.map +2 -2
  40. package/test/picker-reparenting.test.js +1 -0
  41. package/test/picker-reparenting.test.js.map +1 -1
  42. package/test/picker-responsive.test.js +5 -2
  43. package/test/picker-responsive.test.js.map +1 -1
  44. package/test/picker-sizes.test-vrt.js +1 -0
  45. package/test/picker-sizes.test-vrt.js.map +1 -1
  46. package/test/picker-sync.test.js +1 -0
  47. package/test/picker-sync.test.js.map +1 -1
  48. package/test/picker.test-vrt.js +1 -0
  49. package/test/picker.test-vrt.js.map +1 -1
  50. package/test/picker.test.js +1 -0
  51. package/test/picker.test.js.map +1 -1
package/test/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  import {
2
3
  elementUpdated,
3
4
  expect,
@@ -31,7 +32,8 @@ const isMenuActiveElement = function() {
31
32
  export function runPickerTests() {
32
33
  let el;
33
34
  const pickerFixture = async () => {
34
- const test = await fixture(html`
35
+ const test = await fixture(
36
+ html`
35
37
  <div>
36
38
  <sp-field-label for="picker">
37
39
  Where do you live?
@@ -51,7 +53,8 @@ export function runPickerTests() {
51
53
  <sp-menu-item disabled>Make Work Path</sp-menu-item>
52
54
  </sp-picker>
53
55
  </div>
54
- `);
56
+ `
57
+ );
55
58
  return test.querySelector("sp-picker");
56
59
  };
57
60
  describe("standard", () => {
@@ -74,7 +77,9 @@ export function runPickerTests() {
74
77
  el.open = true;
75
78
  await opened;
76
79
  expect(el.open).to.be.true;
77
- const accessibleCloseButton = document.querySelector(".visually-hidden button");
80
+ const accessibleCloseButton = document.querySelector(
81
+ ".visually-hidden button"
82
+ );
78
83
  const closed = oneEvent(el, "sp-closed");
79
84
  accessibleCloseButton.click();
80
85
  await closed;
@@ -86,7 +91,9 @@ export function runPickerTests() {
86
91
  await elementUpdated(option2);
87
92
  await elementUpdated(el);
88
93
  expect(el.value).to.equal("option-2");
89
- expect((el.button.textContent || "").trim()).to.equal("Select Inverse");
94
+ expect((el.button.textContent || "").trim()).to.equal(
95
+ "Select Inverse"
96
+ );
90
97
  let itemUpdated = oneEvent(el, "sp-menu-item-added-or-updated");
91
98
  const newLabel1 = "Invert Selection";
92
99
  option2.innerHTML = newLabel1;
@@ -107,22 +114,31 @@ export function runPickerTests() {
107
114
  el.value = "option-2";
108
115
  await elementUpdated(el);
109
116
  expect(el.value).to.equal("option-2");
110
- expect((el.button.textContent || "").trim()).to.equal("Select Inverse");
117
+ expect((el.button.textContent || "").trim()).to.equal(
118
+ "Select Inverse"
119
+ );
111
120
  const opened = oneEvent(el, "sp-opened");
112
121
  el.open = true;
113
122
  await opened;
114
- const itemUpdated = oneEvent(option2, "sp-menu-item-added-or-updated");
123
+ const itemUpdated = oneEvent(
124
+ option2,
125
+ "sp-menu-item-added-or-updated"
126
+ );
115
127
  option2.innerHTML = "Invert Selection";
116
128
  await itemUpdated;
117
129
  await elementUpdated(el);
118
130
  expect(el.value).to.equal("option-2");
119
- expect((el.button.textContent || "").trim()).to.equal("Invert Selection");
131
+ expect((el.button.textContent || "").trim()).to.equal(
132
+ "Invert Selection"
133
+ );
120
134
  });
121
135
  it("unsets value when children removed", async () => {
122
136
  el.value = "option-2";
123
137
  await elementUpdated(el);
124
138
  expect(el.value).to.equal("option-2");
125
- expect((el.button.textContent || "").trim()).to.equal("Select Inverse");
139
+ expect((el.button.textContent || "").trim()).to.equal(
140
+ "Select Inverse"
141
+ );
126
142
  const items = el.querySelectorAll("sp-menu-item");
127
143
  const removals = [];
128
144
  items.forEach((item) => {
@@ -175,11 +191,23 @@ export function runPickerTests() {
175
191
  });
176
192
  it('manages its "name" value in the accessibility tree', async () => {
177
193
  let snapshot = await a11ySnapshot({});
178
- expect(findAccessibilityNode(snapshot, (node) => node.name === "Where do you live?"), "`name` is the label text").to.not.be.null;
194
+ expect(
195
+ findAccessibilityNode(
196
+ snapshot,
197
+ (node) => node.name === "Where do you live?"
198
+ ),
199
+ "`name` is the label text"
200
+ ).to.not.be.null;
179
201
  el.value = "option-2";
180
202
  await elementUpdated(el);
181
203
  snapshot = await a11ySnapshot({});
182
- expect(findAccessibilityNode(snapshot, (node) => node.name === "Where do you live? Select Inverse"), "`name` is the label text plus the selected item text").to.not.be.null;
204
+ expect(
205
+ findAccessibilityNode(
206
+ snapshot,
207
+ (node) => node.name === "Where do you live? Select Inverse"
208
+ ),
209
+ "`name` is the label text plus the selected item text"
210
+ ).to.not.be.null;
183
211
  });
184
212
  it("manages `aria-activedescendant`", async () => {
185
213
  const firstItem = el.querySelector("sp-menu-item:nth-child(1)");
@@ -187,10 +215,14 @@ export function runPickerTests() {
187
215
  const opened = oneEvent(el, "sp-opened");
188
216
  el.open = true;
189
217
  await opened;
190
- expect(el.optionsMenu.getAttribute("aria-activedescendant")).to.equal(firstItem == null ? void 0 : firstItem.id);
218
+ expect(
219
+ el.optionsMenu.getAttribute("aria-activedescendant")
220
+ ).to.equal(firstItem == null ? void 0 : firstItem.id);
191
221
  await sendKeys({ press: "ArrowDown" });
192
222
  await elementUpdated(el);
193
- expect(el.optionsMenu.getAttribute("aria-activedescendant")).to.equal(secondItem == null ? void 0 : secondItem.id);
223
+ expect(
224
+ el.optionsMenu.getAttribute("aria-activedescendant")
225
+ ).to.equal(secondItem == null ? void 0 : secondItem.id);
194
226
  });
195
227
  it("renders invalid accessibly", async () => {
196
228
  el.invalid = true;
@@ -270,7 +302,9 @@ export function runPickerTests() {
270
302
  });
271
303
  it("selects", async () => {
272
304
  var _a, _b;
273
- const secondItem = el.querySelector("sp-menu-item:nth-of-type(2)");
305
+ const secondItem = el.querySelector(
306
+ "sp-menu-item:nth-of-type(2)"
307
+ );
274
308
  const button = el.button;
275
309
  const opened = oneEvent(el, "sp-opened");
276
310
  button.click();
@@ -288,8 +322,12 @@ export function runPickerTests() {
288
322
  });
289
323
  it("re-selects", async () => {
290
324
  var _a, _b, _c, _d;
291
- const firstItem = el.querySelector("sp-menu-item:nth-of-type(1)");
292
- const secondItem = el.querySelector("sp-menu-item:nth-of-type(2)");
325
+ const firstItem = el.querySelector(
326
+ "sp-menu-item:nth-of-type(1)"
327
+ );
328
+ const secondItem = el.querySelector(
329
+ "sp-menu-item:nth-of-type(2)"
330
+ );
293
331
  const button = el.button;
294
332
  const opened = oneEvent(el, "sp-opened");
295
333
  button.click();
@@ -325,7 +363,9 @@ export function runPickerTests() {
325
363
  const parent = el.parentElement;
326
364
  parent.attachShadow({ mode: "open" });
327
365
  parent.shadowRoot.append(el);
328
- const secondItem = el.querySelector("sp-menu-item:nth-of-type(2)");
366
+ const secondItem = el.querySelector(
367
+ "sp-menu-item:nth-of-type(2)"
368
+ );
329
369
  parent.addEventListener("change", () => changeSpy());
330
370
  expect(el.value).to.equal("");
331
371
  const opened = oneEvent(el, "sp-opened");
@@ -342,7 +382,9 @@ export function runPickerTests() {
342
382
  it("can have selection prevented", async () => {
343
383
  var _a;
344
384
  const preventChangeSpy = spy();
345
- const secondItem = el.querySelector("sp-menu-item:nth-of-type(2)");
385
+ const secondItem = el.querySelector(
386
+ "sp-menu-item:nth-of-type(2)"
387
+ );
346
388
  const button = el.button;
347
389
  let opened = oneEvent(el, "sp-opened");
348
390
  button.click();
@@ -370,7 +412,9 @@ export function runPickerTests() {
370
412
  const input = document.createElement("input");
371
413
  document.body.append(input);
372
414
  await elementUpdated(el);
373
- const secondItem = el.querySelector("sp-menu-item:nth-of-type(2)");
415
+ const secondItem = el.querySelector(
416
+ "sp-menu-item:nth-of-type(2)"
417
+ );
374
418
  const button = el.button;
375
419
  const opened = oneEvent(el, "sp-opened");
376
420
  button.click();
@@ -390,7 +434,10 @@ export function runPickerTests() {
390
434
  expect(el.open).to.be.false;
391
435
  expect(el.value, "value changed").to.equal("option-2");
392
436
  expect(secondItem.selected, "selected changed").to.be.true;
393
- await waitUntil(() => document.activeElement === input, "focus throw");
437
+ await waitUntil(
438
+ () => document.activeElement === input,
439
+ "focus throw"
440
+ );
394
441
  input.remove();
395
442
  });
396
443
  it("opens on ArrowUp", async () => {
@@ -404,21 +451,31 @@ export function runPickerTests() {
404
451
  button.dispatchEvent(arrowUpEvent());
405
452
  await elementUpdated(el);
406
453
  expect(el.open, "open by ArrowUp").to.be.true;
407
- await waitUntil(() => document.querySelector("active-overlay") !== null, "an active-overlay has been inserted on the page");
408
- button.dispatchEvent(new KeyboardEvent("keyup", {
409
- bubbles: true,
410
- composed: true,
411
- cancelable: true,
412
- key: "Escape",
413
- code: "Escape"
414
- }));
454
+ await waitUntil(
455
+ () => document.querySelector("active-overlay") !== null,
456
+ "an active-overlay has been inserted on the page"
457
+ );
458
+ button.dispatchEvent(
459
+ new KeyboardEvent("keyup", {
460
+ bubbles: true,
461
+ composed: true,
462
+ cancelable: true,
463
+ key: "Escape",
464
+ code: "Escape"
465
+ })
466
+ );
415
467
  await elementUpdated(el);
416
468
  await waitUntil(() => el.open === false, "closed by Escape");
417
- await waitUntil(() => document.querySelector("active-overlay") === null, "an active-overlay has been inserted on the page");
469
+ await waitUntil(
470
+ () => document.querySelector("active-overlay") === null,
471
+ "an active-overlay has been inserted on the page"
472
+ );
418
473
  });
419
474
  it("opens on ArrowDown", async () => {
420
475
  var _a, _b;
421
- const firstItem = el.querySelector("sp-menu-item:nth-of-type(1)");
476
+ const firstItem = el.querySelector(
477
+ "sp-menu-item:nth-of-type(1)"
478
+ );
422
479
  const button = el.button;
423
480
  el.focus();
424
481
  await elementUpdated(el);
@@ -495,13 +552,19 @@ export function runPickerTests() {
495
552
  el.open = true;
496
553
  await opened;
497
554
  await elementUpdated(el);
498
- await waitUntil(() => firstItem.focused, "The first items should have become focused visually.");
555
+ await waitUntil(
556
+ () => firstItem.focused,
557
+ "The first items should have become focused visually."
558
+ );
499
559
  el.blur();
500
560
  await elementUpdated(el);
501
561
  expect(el.open).to.be.true;
502
562
  el.focus();
503
563
  await elementUpdated(el);
504
- await waitUntil(() => isMenuActiveElement(), "first item refocused");
564
+ await waitUntil(
565
+ () => isMenuActiveElement(),
566
+ "first item refocused"
567
+ );
505
568
  expect(el.open).to.be.true;
506
569
  expect(isMenuActiveElement()).to.be.true;
507
570
  await sendKeys({ press: "ArrowDown" });
@@ -514,7 +577,10 @@ export function runPickerTests() {
514
577
  expect(el.open).to.be.true;
515
578
  el.focus();
516
579
  await elementUpdated(el);
517
- await waitUntil(() => isMenuActiveElement(), "first item refocused");
580
+ await waitUntil(
581
+ () => isMenuActiveElement(),
582
+ "first item refocused"
583
+ );
518
584
  expect(el.open).to.be.true;
519
585
  expect(isMenuActiveElement()).to.be.true;
520
586
  await sendKeys({ press: "Tab" });
@@ -557,7 +623,9 @@ export function runPickerTests() {
557
623
  it("shift+tabs backwards through the element", async () => {
558
624
  input2.focus();
559
625
  await nextFrame();
560
- expect(document.activeElement, "focuses input 2").to.equal(input2);
626
+ expect(document.activeElement, "focuses input 2").to.equal(
627
+ input2
628
+ );
561
629
  let focused = oneEvent(el, "focus");
562
630
  await sendKeys({ press: "Shift+Tab" });
563
631
  await focused;
@@ -567,7 +635,9 @@ export function runPickerTests() {
567
635
  focused = oneEvent(input1, "focus");
568
636
  await sendKeys({ press: "Shift+Tab" });
569
637
  await focused;
570
- expect(document.activeElement, "focuses input 1").to.equal(input1);
638
+ expect(document.activeElement, "focuses input 1").to.equal(
639
+ input1
640
+ );
571
641
  });
572
642
  it('traps tab in the menu as a `type="modal"` overlay forward', async () => {
573
643
  el.focus();
@@ -577,7 +647,10 @@ export function runPickerTests() {
577
647
  await sendKeys({ press: "ArrowDown" });
578
648
  await opened;
579
649
  expect(el.open, "opened").to.be.true;
580
- await waitUntil(() => isMenuActiveElement(), "first item focused");
650
+ await waitUntil(
651
+ () => isMenuActiveElement(),
652
+ "first item focused"
653
+ );
581
654
  const activeElement = document.activeElement;
582
655
  const blured = oneEvent(activeElement, "blur");
583
656
  await sendKeys({ press: "Tab" });
@@ -594,7 +667,10 @@ export function runPickerTests() {
594
667
  await sendKeys({ press: "ArrowDown" });
595
668
  await opened;
596
669
  expect(el.open, "opened").to.be.true;
597
- await waitUntil(() => isMenuActiveElement(), "first item focused");
670
+ await waitUntil(
671
+ () => isMenuActiveElement(),
672
+ "first item focused"
673
+ );
598
674
  const activeElement = document.activeElement;
599
675
  const blured = oneEvent(activeElement, "blur");
600
676
  await sendKeys({ press: "Shift+Tab" });
@@ -611,7 +687,10 @@ export function runPickerTests() {
611
687
  await sendKeys({ press: "ArrowUp" });
612
688
  await opened;
613
689
  expect(el.open, "opened").to.be.true;
614
- await waitUntil(() => isMenuActiveElement(), "first item focused");
690
+ await waitUntil(
691
+ () => isMenuActiveElement(),
692
+ "first item focused"
693
+ );
615
694
  const closed = oneEvent(el, "sp-closed");
616
695
  el.open = false;
617
696
  await closed;
@@ -631,7 +710,10 @@ export function runPickerTests() {
631
710
  await sendKeys({ press: "ArrowUp" });
632
711
  await opened;
633
712
  expect(el.open, "opened").to.be.true;
634
- await waitUntil(() => isMenuActiveElement(), "first item focused");
713
+ await waitUntil(
714
+ () => isMenuActiveElement(),
715
+ "first item focused"
716
+ );
635
717
  const closed = oneEvent(el, "sp-closed");
636
718
  el.open = false;
637
719
  await closed;
@@ -655,8 +737,12 @@ export function runPickerTests() {
655
737
  it("scrolls selected into view on open", async () => {
656
738
  await el.generatePopover();
657
739
  el.popover.style.height = "40px";
658
- const firstItem = el.querySelector("sp-menu-item:first-child");
659
- const lastItem = el.querySelector("sp-menu-item:last-child");
740
+ const firstItem = el.querySelector(
741
+ "sp-menu-item:first-child"
742
+ );
743
+ const lastItem = el.querySelector(
744
+ "sp-menu-item:last-child"
745
+ );
660
746
  lastItem.disabled = false;
661
747
  el.value = lastItem.value;
662
748
  await elementUpdated(el);
@@ -670,7 +756,9 @@ export function runPickerTests() {
670
756
  };
671
757
  expect(getParentOffset(lastItem)).to.be.lessThan(40);
672
758
  expect(getParentOffset(firstItem)).to.be.lessThan(-1);
673
- lastItem.dispatchEvent(new FocusEvent("focusin", { bubbles: true }));
759
+ lastItem.dispatchEvent(
760
+ new FocusEvent("focusin", { bubbles: true })
761
+ );
674
762
  lastItem.dispatchEvent(arrowDownEvent());
675
763
  await elementUpdated(el);
676
764
  await nextFrame();
@@ -680,7 +768,8 @@ export function runPickerTests() {
680
768
  });
681
769
  describe("grouped", async () => {
682
770
  const groupedFixture = async () => {
683
- return fixture(html`
771
+ return fixture(
772
+ html`
684
773
  <sp-picker
685
774
  quiet
686
775
  label="I would like to use Spectrum Web Components"
@@ -702,7 +791,8 @@ export function runPickerTests() {
702
791
  <sp-menu-item value="4">In the future</sp-menu-item>
703
792
  </sp-menu-group>
704
793
  </sp-picker>
705
- `);
794
+ `
795
+ );
706
796
  };
707
797
  beforeEach(async () => {
708
798
  el = await groupedFixture();
@@ -715,7 +805,8 @@ export function runPickerTests() {
715
805
  });
716
806
  describe("slotted label", () => {
717
807
  const pickerFixture2 = async () => {
718
- const test = await fixture(html`
808
+ const test = await fixture(
809
+ html`
719
810
  <div>
720
811
  <sp-field-label for="picker-slotted">
721
812
  Where do you live?
@@ -736,7 +827,8 @@ export function runPickerTests() {
736
827
  <sp-menu-item disabled>Make Work Path</sp-menu-item>
737
828
  </sp-picker>
738
829
  </div>
739
- `);
830
+ `
831
+ );
740
832
  return test.querySelector("sp-picker");
741
833
  };
742
834
  beforeEach(async () => {
@@ -756,7 +848,8 @@ export function runPickerTests() {
756
848
  });
757
849
  describe("deprecated", () => {
758
850
  const pickerFixture2 = async () => {
759
- const test = await fixture(html`
851
+ const test = await fixture(
852
+ html`
760
853
  <div>
761
854
  <sp-field-label for="picker-deprecated">
762
855
  Where do you live?
@@ -780,7 +873,8 @@ export function runPickerTests() {
780
873
  </sp-menu>
781
874
  </sp-picker>
782
875
  </div>
783
- `);
876
+ `
877
+ );
784
878
  return test.querySelector("sp-picker");
785
879
  };
786
880
  describe("Dev mode", () => {
@@ -790,8 +884,14 @@ export function runPickerTests() {
790
884
  await elementUpdated(el);
791
885
  expect(consoleWarnStub.called).to.be.true;
792
886
  const spyCall = consoleWarnStub.getCall(0);
793
- expect(spyCall.args.at(0).includes("<sp-menu>"), "confirm <sp-menu>-centric message").to.be.true;
794
- expect(spyCall.args.at(-1), "confirm `data` shape").to.deep.equal({
887
+ expect(
888
+ spyCall.args.at(0).includes("<sp-menu>"),
889
+ "confirm <sp-menu>-centric message"
890
+ ).to.be.true;
891
+ expect(
892
+ spyCall.args.at(-1),
893
+ "confirm `data` shape"
894
+ ).to.deep.equal({
795
895
  data: {
796
896
  localName: "sp-picker",
797
897
  type: "api",
@@ -829,7 +929,9 @@ export function runPickerTests() {
829
929
  });
830
930
  it("selects with deprecated syntax", async () => {
831
931
  var _a, _b;
832
- const secondItem = el.querySelector("sp-menu-item:nth-of-type(2)");
932
+ const secondItem = el.querySelector(
933
+ "sp-menu-item:nth-of-type(2)"
934
+ );
833
935
  const opened = oneEvent(el, "sp-opened");
834
936
  el.button.click();
835
937
  await opened;
@@ -854,11 +956,23 @@ export function runPickerTests() {
854
956
  const el2 = test.querySelector("sp-picker");
855
957
  await elementUpdated(el2);
856
958
  let snapshot = await a11ySnapshot({});
857
- expect(findAccessibilityNode(snapshot, (node) => node.name === "Choose an action type... Delete"), "`name` is the label text").to.not.be.null;
959
+ expect(
960
+ findAccessibilityNode(
961
+ snapshot,
962
+ (node) => node.name === "Choose an action type... Delete"
963
+ ),
964
+ "`name` is the label text"
965
+ ).to.not.be.null;
858
966
  el2.value = "2";
859
967
  await elementUpdated(el2);
860
968
  snapshot = await a11ySnapshot({});
861
- expect(findAccessibilityNode(snapshot, (node) => node.name === "Choose an action type... Copy"), "`name` is the label text plus the selected item text").to.not.be.null;
969
+ expect(
970
+ findAccessibilityNode(
971
+ snapshot,
972
+ (node) => node.name === "Choose an action type... Copy"
973
+ ),
974
+ "`name` is the label text plus the selected item text"
975
+ ).to.not.be.null;
862
976
  });
863
977
  it("toggles between pickers", async () => {
864
978
  const el2 = await pickerFixture();
@@ -894,7 +1008,8 @@ export function runPickerTests() {
894
1008
  });
895
1009
  it("displays selected item text by default", async () => {
896
1010
  var _a, _b, _c, _d;
897
- const el2 = await fixture(html`
1011
+ const el2 = await fixture(
1012
+ html`
898
1013
  <sp-picker
899
1014
  value="inverse"
900
1015
  label="Select a Country with a very long label, too long in fact"
@@ -907,31 +1022,48 @@ export function runPickerTests() {
907
1022
  <sp-menu-item>Save Selection</sp-menu-item>
908
1023
  <sp-menu-item disabled>Make Work Path</sp-menu-item>
909
1024
  </sp-picker>
910
- `);
1025
+ `
1026
+ );
911
1027
  await elementUpdated(el2);
912
- await waitUntil(() => {
913
- var _a2;
914
- return ((_a2 = el2.selectedItem) == null ? void 0 : _a2.itemText) === "Select Inverse";
915
- }, `Selected Item Text: ${(_a = el2.selectedItem) == null ? void 0 : _a.itemText}`);
916
- const firstItem = el2.querySelector("sp-menu-item:nth-of-type(1)");
917
- const secondItem = el2.querySelector("sp-menu-item:nth-of-type(2)");
1028
+ await waitUntil(
1029
+ () => {
1030
+ var _a2;
1031
+ return ((_a2 = el2.selectedItem) == null ? void 0 : _a2.itemText) === "Select Inverse";
1032
+ },
1033
+ `Selected Item Text: ${(_a = el2.selectedItem) == null ? void 0 : _a.itemText}`
1034
+ );
1035
+ const firstItem = el2.querySelector(
1036
+ "sp-menu-item:nth-of-type(1)"
1037
+ );
1038
+ const secondItem = el2.querySelector(
1039
+ "sp-menu-item:nth-of-type(2)"
1040
+ );
918
1041
  expect(el2.value).to.equal("inverse");
919
1042
  expect((_b = el2.selectedItem) == null ? void 0 : _b.itemText).to.equal("Select Inverse");
920
1043
  el2.focus();
921
1044
  await elementUpdated(el2);
922
- expect(el2 === document.activeElement, `activeElement is ${(_c = document.activeElement) == null ? void 0 : _c.localName}`).to.be.true;
1045
+ expect(
1046
+ el2 === document.activeElement,
1047
+ `activeElement is ${(_c = document.activeElement) == null ? void 0 : _c.localName}`
1048
+ ).to.be.true;
923
1049
  const opened = oneEvent(el2, "sp-opened");
924
1050
  sendKeys({ press: "Enter" });
925
1051
  await opened;
926
1052
  await elementUpdated(el2.optionsMenu);
927
- expect(el2.optionsMenu === document.activeElement, `activeElement is ${(_d = document.activeElement) == null ? void 0 : _d.localName}`).to.be.true;
1053
+ expect(
1054
+ el2.optionsMenu === document.activeElement,
1055
+ `activeElement is ${(_d = document.activeElement) == null ? void 0 : _d.localName}`
1056
+ ).to.be.true;
928
1057
  expect(firstItem.focused, 'firstItem NOT "focused"').to.be.false;
929
1058
  expect(secondItem.focused, 'secondItem "focused"').to.be.true;
930
- expect(el2.optionsMenu.getAttribute("aria-activedescendant")).to.equal(secondItem.id);
1059
+ expect(el2.optionsMenu.getAttribute("aria-activedescendant")).to.equal(
1060
+ secondItem.id
1061
+ );
931
1062
  });
932
1063
  it("resets value when item not available", async () => {
933
1064
  var _a;
934
- const el2 = await fixture(html`
1065
+ const el2 = await fixture(
1066
+ html`
935
1067
  <sp-picker
936
1068
  value="missing"
937
1069
  label="Select a Country with a very long label, too long in fact"
@@ -944,7 +1076,8 @@ export function runPickerTests() {
944
1076
  <sp-menu-item>Save Selection</sp-menu-item>
945
1077
  <sp-menu-item disabled>Make Work Path</sp-menu-item>
946
1078
  </sp-picker>
947
- `);
1079
+ `
1080
+ );
948
1081
  await elementUpdated(el2);
949
1082
  await waitUntil(() => el2.value === "");
950
1083
  expect(el2.value).to.equal("");
@@ -953,7 +1086,8 @@ export function runPickerTests() {
953
1086
  it("allows event listeners on child items", async () => {
954
1087
  const mouseenterSpy = spy();
955
1088
  const handleMouseenter = () => mouseenterSpy();
956
- const el2 = await fixture(html`
1089
+ const el2 = await fixture(
1090
+ html`
957
1091
  <sp-picker
958
1092
  label="Select a Country with a very long label, too long in fact"
959
1093
  >
@@ -964,7 +1098,8 @@ export function runPickerTests() {
964
1098
  Deselect Text
965
1099
  </sp-menu-item>
966
1100
  </sp-picker>
967
- `);
1101
+ `
1102
+ );
968
1103
  await elementUpdated(el2);
969
1104
  const hoverEl = el2.querySelector("sp-menu-item");
970
1105
  const opened = oneEvent(el2, "sp-opened");
@@ -987,7 +1122,8 @@ export function runPickerTests() {
987
1122
  const closedSpy = spy();
988
1123
  const handleOpenedSpy = (event) => openedSpy(event);
989
1124
  const handleClosedSpy = (event) => closedSpy(event);
990
- const el2 = await fixture(html`
1125
+ const el2 = await fixture(
1126
+ html`
991
1127
  <sp-picker
992
1128
  label="Select a Country with a very long label, too long in fact"
993
1129
  @sp-opened=${handleOpenedSpy}
@@ -995,7 +1131,8 @@ export function runPickerTests() {
995
1131
  >
996
1132
  <sp-menu-item value="deselect">Deselect Text</sp-menu-item>
997
1133
  </sp-picker>
998
- `);
1134
+ `
1135
+ );
999
1136
  await elementUpdated(el2);
1000
1137
  const opened = oneEvent(el2, "sp-opened");
1001
1138
  el2.open = true;