@crowdstrike/glide-core 0.12.2 → 0.13.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.
Files changed (63) hide show
  1. package/dist/accordion.d.ts +1 -1
  2. package/dist/accordion.styles.js +2 -1
  3. package/dist/button-group.js +1 -1
  4. package/dist/button-group.stories.d.ts +0 -1
  5. package/dist/button-group.test.events.js +2 -0
  6. package/dist/checkbox-group.styles.js +1 -1
  7. package/dist/checkbox.styles.js +6 -3
  8. package/dist/drawer.js +1 -1
  9. package/dist/dropdown.d.ts +8 -1
  10. package/dist/dropdown.js +140 -74
  11. package/dist/dropdown.option.js +1 -1
  12. package/dist/dropdown.option.styles.js +39 -7
  13. package/dist/dropdown.option.test.interactions.multiple.js +2 -2
  14. package/dist/dropdown.option.test.interactions.single.js +2 -2
  15. package/dist/dropdown.styles.js +121 -16
  16. package/dist/dropdown.test.basics.filterable.js +19 -57
  17. package/dist/dropdown.test.basics.js +24 -244
  18. package/dist/dropdown.test.basics.multiple.js +13 -60
  19. package/dist/dropdown.test.basics.single.js +2 -8
  20. package/dist/dropdown.test.events.filterable.js +12 -66
  21. package/dist/dropdown.test.events.js +75 -49
  22. package/dist/dropdown.test.events.multiple.js +17 -87
  23. package/dist/dropdown.test.events.single.js +12 -60
  24. package/dist/dropdown.test.focus.filterable.js +11 -58
  25. package/dist/dropdown.test.focus.js +62 -9
  26. package/dist/dropdown.test.focus.multiple.js +22 -38
  27. package/dist/dropdown.test.focus.single.js +5 -16
  28. package/dist/dropdown.test.interactions.filterable.js +167 -69
  29. package/dist/dropdown.test.interactions.js +226 -244
  30. package/dist/dropdown.test.interactions.multiple.js +78 -274
  31. package/dist/dropdown.test.interactions.single.js +20 -85
  32. package/dist/dropdown.test.validity.js +12 -49
  33. package/dist/input.d.ts +1 -1
  34. package/dist/input.js +2 -1
  35. package/dist/input.styles.js +44 -30
  36. package/dist/label.js +1 -1
  37. package/dist/label.styles.js +7 -3
  38. package/dist/library/localize.d.ts +2 -0
  39. package/dist/menu.js +1 -1
  40. package/dist/menu.stories.d.ts +1 -0
  41. package/dist/menu.styles.js +1 -1
  42. package/dist/menu.test.interactions.js +1 -1
  43. package/dist/modal.d.ts +1 -1
  44. package/dist/modal.js +1 -1
  45. package/dist/radio-group.stories.d.ts +0 -1
  46. package/dist/radio-group.styles.js +1 -1
  47. package/dist/styles/variables.css +1 -1
  48. package/dist/tab.group.d.ts +0 -1
  49. package/dist/tab.group.js +1 -1
  50. package/dist/tab.group.styles.js +5 -13
  51. package/dist/tab.panel.styles.js +0 -3
  52. package/dist/tabs.stories.d.ts +0 -1
  53. package/dist/tag.js +1 -1
  54. package/dist/tag.styles.js +5 -3
  55. package/dist/tag.test.interactions.js +8 -8
  56. package/dist/textarea.styles.js +1 -1
  57. package/dist/translations/en.js +1 -1
  58. package/dist/translations/fr.d.ts +1 -1
  59. package/dist/translations/fr.js +1 -1
  60. package/dist/translations/ja.d.ts +1 -1
  61. package/dist/translations/ja.js +1 -1
  62. package/dist/tree.stories.d.ts +0 -1
  63. package/package.json +18 -18
@@ -22,7 +22,7 @@ it('dispatches an "edit" event on click', async () => {
22
22
  const button = component
23
23
  .querySelector('glide-core-dropdown-option')
24
24
  ?.shadowRoot?.querySelector('[data-test="edit-button"]');
25
- button?.dispatchEvent(new Event('mouseover'));
25
+ button?.dispatchEvent(new MouseEvent('mouseover'));
26
26
  button?.click();
27
27
  });
28
28
  const option = component.querySelector('glide-core-dropdown-option');
@@ -43,7 +43,7 @@ it('dispatches an "edit" event on Enter', async () => {
43
43
  component
44
44
  .querySelector('glide-core-dropdown-option')
45
45
  ?.shadowRoot?.querySelector('[data-test="edit-button"]')
46
- ?.dispatchEvent(new Event('mouseover'));
46
+ ?.dispatchEvent(new MouseEvent('mouseover'));
47
47
  component.focus();
48
48
  await sendKeys({ press: 'ArrowDown' });
49
49
  sendKeys({ press: 'Enter' });
@@ -65,7 +65,7 @@ it('dispatches an "edit" event on Space', async () => {
65
65
  component
66
66
  .querySelector('glide-core-dropdown-option')
67
67
  ?.shadowRoot?.querySelector('[data-test="edit-button"]')
68
- ?.dispatchEvent(new Event('mouseover'));
68
+ ?.dispatchEvent(new MouseEvent('mouseover'));
69
69
  component.focus();
70
70
  await sendKeys({ press: 'ArrowDown' });
71
71
  sendKeys({ press: ' ' });
@@ -77,13 +77,71 @@ it('dispatches an "edit" event on Space', async () => {
77
77
  expect(event.composed).to.be.true;
78
78
  expect(event.target).to.equal(option);
79
79
  });
80
+ it('dispatches an "add" event on click', async () => {
81
+ const component = await fixture(html `<glide-core-dropdown
82
+ add-button-label="Add"
83
+ label="Label"
84
+ placeholder="Placeholder"
85
+ open
86
+ >
87
+ <glide-core-dropdown-option label="Label"></glide-core-dropdown-option>
88
+ </glide-core-dropdown>`);
89
+ // Wait for it to open.
90
+ await aTimeout(0);
91
+ setTimeout(async () => {
92
+ const button = component.shadowRoot?.querySelector('[data-test="add-button"]');
93
+ button?.dispatchEvent(new MouseEvent('mouseover'));
94
+ button?.click();
95
+ });
96
+ const event = await oneEvent(component, 'add');
97
+ expect(event instanceof Event).to.be.true;
98
+ expect(event.bubbles).to.be.true;
99
+ expect(event.composed).to.be.true;
100
+ });
101
+ it('dispatches an "add" event on Enter', async () => {
102
+ const component = await fixture(html `<glide-core-dropdown
103
+ add-button-label="Add"
104
+ label="Label"
105
+ placeholder="Placeholder"
106
+ open
107
+ >
108
+ <glide-core-dropdown-option label="Label"></glide-core-dropdown-option>
109
+ </glide-core-dropdown>`);
110
+ // Wait for it to open.
111
+ await aTimeout(0);
112
+ component.shadowRoot
113
+ ?.querySelector('[data-test="add-button"]')
114
+ ?.focus();
115
+ sendKeys({ press: 'Enter' });
116
+ const event = await oneEvent(component, 'add');
117
+ expect(event instanceof Event).to.be.true;
118
+ expect(event.bubbles).to.be.true;
119
+ expect(event.composed).to.be.true;
120
+ });
121
+ it('dispatches an "add" event on Space', async () => {
122
+ const component = await fixture(html `<glide-core-dropdown
123
+ add-button-label="Add"
124
+ label="Label"
125
+ placeholder="Placeholder"
126
+ open
127
+ >
128
+ <glide-core-dropdown-option label="Label"></glide-core-dropdown-option>
129
+ </glide-core-dropdown>`);
130
+ // Wait for it to open.
131
+ await aTimeout(0);
132
+ component.shadowRoot
133
+ ?.querySelector('[data-test="add-button"]')
134
+ ?.focus();
135
+ sendKeys({ press: ' ' });
136
+ const event = await oneEvent(component, 'add');
137
+ expect(event instanceof Event).to.be.true;
138
+ expect(event.bubbles).to.be.true;
139
+ expect(event.composed).to.be.true;
140
+ });
80
141
  it('dispatches an "invalid" event on submit when required and no option is selected', async () => {
81
142
  const form = document.createElement('form');
82
143
  const component = await fixture(html `<glide-core-dropdown label="Label" placeholder="Placeholder" required>
83
- <glide-core-dropdown-option
84
- label="Label"
85
- value="value"
86
- ></glide-core-dropdown-option>
144
+ <glide-core-dropdown-option label="Label"></glide-core-dropdown-option>
87
145
  </glide-core-dropdown>`, { parentNode: form });
88
146
  setTimeout(() => form.requestSubmit());
89
147
  const event = await oneEvent(component, 'invalid');
@@ -92,10 +150,7 @@ it('dispatches an "invalid" event on submit when required and no option is selec
92
150
  it('dispatches an "invalid" event when `checkValidity` is called when required and no option is selected', async () => {
93
151
  const form = document.createElement('form');
94
152
  const component = await fixture(html `<glide-core-dropdown label="Label" placeholder="Placeholder" required>
95
- <glide-core-dropdown-option
96
- label="Label"
97
- value="value"
98
- ></glide-core-dropdown-option>
153
+ <glide-core-dropdown-option label="Label"></glide-core-dropdown-option>
99
154
  </glide-core-dropdown>`, { parentNode: form });
100
155
  setTimeout(() => component.checkValidity());
101
156
  const event = await oneEvent(component, 'invalid');
@@ -104,10 +159,7 @@ it('dispatches an "invalid" event when `checkValidity` is called when required a
104
159
  it('dispatches an "invalid" event when `reportValidity` is called when required and no option is selected', async () => {
105
160
  const form = document.createElement('form');
106
161
  const component = await fixture(html `<glide-core-dropdown label="Label" placeholder="Placeholder" required>
107
- <glide-core-dropdown-option
108
- label="Label"
109
- value="value"
110
- ></glide-core-dropdown-option>
162
+ <glide-core-dropdown-option label="Label"></glide-core-dropdown-option>
111
163
  </glide-core-dropdown>`, { parentNode: form });
112
164
  setTimeout(() => component.reportValidity());
113
165
  const event = await oneEvent(component, 'invalid');
@@ -116,10 +168,7 @@ it('dispatches an "invalid" event when `reportValidity` is called when required
116
168
  it('does not dispatch an "invalid" event when `checkValidity` is called when not required', async () => {
117
169
  const form = document.createElement('form');
118
170
  const component = await fixture(html `<glide-core-dropdown label="Label" placeholder="Placeholder">
119
- <glide-core-dropdown-option
120
- label="Label"
121
- value="value"
122
- ></glide-core-dropdown-option>
171
+ <glide-core-dropdown-option label="Label"></glide-core-dropdown-option>
123
172
  </glide-core-dropdown>`, { parentNode: form });
124
173
  const spy = sinon.spy();
125
174
  component.addEventListener('invalid', spy);
@@ -135,10 +184,7 @@ it('does not dispatch an "invalid" event when `checkValidity` is called when req
135
184
  disabled
136
185
  required
137
186
  >
138
- <glide-core-dropdown-option
139
- label="Label"
140
- value="value"
141
- ></glide-core-dropdown-option>
187
+ <glide-core-dropdown-option label="Label"></glide-core-dropdown-option>
142
188
  </glide-core-dropdown>`, { parentNode: form });
143
189
  const spy = sinon.spy();
144
190
  component.addEventListener('invalid', spy);
@@ -149,10 +195,7 @@ it('does not dispatch an "invalid" event when `checkValidity` is called when req
149
195
  it('does not dispatch an "invalid" event when `reportValidity` is called when not required,', async () => {
150
196
  const form = document.createElement('form');
151
197
  const component = await fixture(html `<glide-core-dropdown label="Label" placeholder="Placeholder">
152
- <glide-core-dropdown-option
153
- label="Label"
154
- value="value"
155
- ></glide-core-dropdown-option>
198
+ <glide-core-dropdown-option label="Label"></glide-core-dropdown-option>
156
199
  </glide-core-dropdown>`, { parentNode: form });
157
200
  const spy = sinon.spy();
158
201
  component.addEventListener('invalid', spy);
@@ -168,10 +211,7 @@ it('does not dispatch an "invalid" event when `reportValidity` is called when re
168
211
  disabled
169
212
  required
170
213
  >
171
- <glide-core-dropdown-option
172
- label="Label"
173
- value="value"
174
- ></glide-core-dropdown-option>
214
+ <glide-core-dropdown-option label="Label"></glide-core-dropdown-option>
175
215
  </glide-core-dropdown>`, { parentNode: form });
176
216
  const spy = sinon.spy();
177
217
  component.addEventListener('invalid', spy);
@@ -181,15 +221,8 @@ it('does not dispatch an "invalid" event when `reportValidity` is called when re
181
221
  });
182
222
  it('does not dispatch a "change" event when an option is selected programmatically', async () => {
183
223
  const component = await fixture(html `<glide-core-dropdown label="Label" placeholder="Placeholder" open>
184
- <glide-core-dropdown-option
185
- label="One"
186
- value="one"
187
- ></glide-core-dropdown-option>
188
-
189
- <glide-core-dropdown-option
190
- label="Two"
191
- value="two"
192
- ></glide-core-dropdown-option>
224
+ <glide-core-dropdown-option label="One"></glide-core-dropdown-option>
225
+ <glide-core-dropdown-option label="Two"></glide-core-dropdown-option>
193
226
  </glide-core-dropdown>`);
194
227
  const spy = sinon.spy();
195
228
  component.addEventListener('change', spy);
@@ -203,15 +236,8 @@ it('does not dispatch a "change" event when an option is selected programmatical
203
236
  });
204
237
  it('does not dispatch a "input" event when an option is selected programmatically', async () => {
205
238
  const component = await fixture(html `<glide-core-dropdown label="Label" placeholder="Placeholder" open>
206
- <glide-core-dropdown-option
207
- label="One"
208
- value="one"
209
- ></glide-core-dropdown-option>
210
-
211
- <glide-core-dropdown-option
212
- label="Two"
213
- value="two"
214
- ></glide-core-dropdown-option>
239
+ <glide-core-dropdown-option label="One"></glide-core-dropdown-option>
240
+ <glide-core-dropdown-option label="Two"></glide-core-dropdown-option>
215
241
  </glide-core-dropdown>`);
216
242
  const spy = sinon.spy();
217
243
  component.addEventListener('input', spy);
@@ -13,14 +13,10 @@ it('dispatches one "change" event when an option is selected via click', async (
13
13
  open
14
14
  multiple
15
15
  >
16
- <glide-core-dropdown-option
17
- label="One"
18
- value="one"
19
- ></glide-core-dropdown-option>
16
+ <glide-core-dropdown-option label="One"></glide-core-dropdown-option>
20
17
 
21
18
  <glide-core-dropdown-option
22
19
  label="Two"
23
- value="two"
24
20
  selected
25
21
  ></glide-core-dropdown-option>
26
22
  </glide-core-dropdown>`);
@@ -49,14 +45,10 @@ it('dispatches one "change" event when an option is selected via Enter', async (
49
45
  open
50
46
  multiple
51
47
  >
52
- <glide-core-dropdown-option
53
- label="One"
54
- value="one"
55
- ></glide-core-dropdown-option>
48
+ <glide-core-dropdown-option label="One"></glide-core-dropdown-option>
56
49
 
57
50
  <glide-core-dropdown-option
58
51
  label="Two"
59
- value="two"
60
52
  selected
61
53
  ></glide-core-dropdown-option>
62
54
  </glide-core-dropdown>`);
@@ -81,14 +73,10 @@ it('dispatches one "change" event when an option is selected via Space', async (
81
73
  open
82
74
  multiple
83
75
  >
84
- <glide-core-dropdown-option
85
- label="One"
86
- value="one"
87
- ></glide-core-dropdown-option>
76
+ <glide-core-dropdown-option label="One"></glide-core-dropdown-option>
88
77
 
89
78
  <glide-core-dropdown-option
90
79
  label="Two"
91
- value="two"
92
80
  selected
93
81
  ></glide-core-dropdown-option>
94
82
  </glide-core-dropdown>`);
@@ -113,14 +101,10 @@ it('dispatches one "input" event when an option is selected via click', async ()
113
101
  open
114
102
  multiple
115
103
  >
116
- <glide-core-dropdown-option
117
- label="One"
118
- value="one"
119
- ></glide-core-dropdown-option>
104
+ <glide-core-dropdown-option label="One"></glide-core-dropdown-option>
120
105
 
121
106
  <glide-core-dropdown-option
122
107
  label="Two"
123
- value="two"
124
108
  selected
125
109
  ></glide-core-dropdown-option>
126
110
  </glide-core-dropdown>`);
@@ -149,14 +133,10 @@ it('dispatches one "input" event when an option is selected via Enter', async ()
149
133
  open
150
134
  multiple
151
135
  >
152
- <glide-core-dropdown-option
153
- label="One"
154
- value="one"
155
- ></glide-core-dropdown-option>
136
+ <glide-core-dropdown-option label="One"></glide-core-dropdown-option>
156
137
 
157
138
  <glide-core-dropdown-option
158
139
  label="Two"
159
- value="two"
160
140
  selected
161
141
  ></glide-core-dropdown-option>
162
142
  </glide-core-dropdown>`);
@@ -181,14 +161,10 @@ it('dispatches one "input" event when an option is selected via Space', async ()
181
161
  open
182
162
  multiple
183
163
  >
184
- <glide-core-dropdown-option
185
- label="One"
186
- value="one"
187
- ></glide-core-dropdown-option>
164
+ <glide-core-dropdown-option label="One"></glide-core-dropdown-option>
188
165
 
189
166
  <glide-core-dropdown-option
190
167
  label="Two"
191
- value="two"
192
168
  selected
193
169
  ></glide-core-dropdown-option>
194
170
  </glide-core-dropdown>`);
@@ -214,14 +190,10 @@ it('dispatches one "change" event when Select All is clicked', async () => {
214
190
  multiple
215
191
  select-all
216
192
  >
217
- <glide-core-dropdown-option
218
- label="One"
219
- value="one"
220
- ></glide-core-dropdown-option>
193
+ <glide-core-dropdown-option label="One"></glide-core-dropdown-option>
221
194
 
222
195
  <glide-core-dropdown-option
223
196
  label="Two"
224
- value="two"
225
197
  selected
226
198
  ></glide-core-dropdown-option>
227
199
  </glide-core-dropdown>`);
@@ -243,14 +215,10 @@ it('dispatches one "input" event when Select All is clicked', async () => {
243
215
  multiple
244
216
  select-all
245
217
  >
246
- <glide-core-dropdown-option
247
- label="One"
248
- value="one"
249
- ></glide-core-dropdown-option>
218
+ <glide-core-dropdown-option label="One"></glide-core-dropdown-option>
250
219
 
251
220
  <glide-core-dropdown-option
252
221
  label="Two"
253
- value="two"
254
222
  selected
255
223
  ></glide-core-dropdown-option>
256
224
  </glide-core-dropdown>`);
@@ -271,19 +239,11 @@ it('does not dispatch a "change" event when `value` is changed programmatically'
271
239
  open
272
240
  multiple
273
241
  >
274
- <glide-core-dropdown-option
275
- label="One"
276
- value="one"
277
- ></glide-core-dropdown-option>
278
-
279
- <glide-core-dropdown-option
280
- label="Two"
281
- value="two"
282
- ></glide-core-dropdown-option>
242
+ <glide-core-dropdown-option label="One"></glide-core-dropdown-option>
243
+ <glide-core-dropdown-option label="Two"></glide-core-dropdown-option>
283
244
 
284
245
  <glide-core-dropdown-option
285
246
  label="Three"
286
- value="three"
287
247
  selected
288
248
  ></glide-core-dropdown-option>
289
249
  </glide-core-dropdown>`);
@@ -302,20 +262,15 @@ it('continues to dispatch "change" events upon selection after `value` is change
302
262
  open
303
263
  multiple
304
264
  >
305
- <glide-core-dropdown-option
306
- label="One"
307
- value="one"
308
- ></glide-core-dropdown-option>
265
+ <glide-core-dropdown-option label="One"></glide-core-dropdown-option>
309
266
 
310
267
  <glide-core-dropdown-option
311
268
  label="Two"
312
- value="two"
313
269
  selected
314
270
  ></glide-core-dropdown-option>
315
271
 
316
272
  <glide-core-dropdown-option
317
273
  label="Three"
318
- value="three"
319
274
  selected
320
275
  ></glide-core-dropdown-option>
321
276
  </glide-core-dropdown>`);
@@ -335,19 +290,11 @@ it('does not dispatch an "input" event when `value` is changed programmatically'
335
290
  open
336
291
  multiple
337
292
  >
338
- <glide-core-dropdown-option
339
- label="One"
340
- value="one"
341
- ></glide-core-dropdown-option>
342
-
343
- <glide-core-dropdown-option
344
- label="Two"
345
- value="two"
346
- ></glide-core-dropdown-option>
293
+ <glide-core-dropdown-option label="One"></glide-core-dropdown-option>
294
+ <glide-core-dropdown-option label="Two"></glide-core-dropdown-option>
347
295
 
348
296
  <glide-core-dropdown-option
349
297
  label="Three"
350
- value="three"
351
298
  selected
352
299
  ></glide-core-dropdown-option>
353
300
  </glide-core-dropdown>`);
@@ -373,7 +320,6 @@ it('continues to dispatch "input" events upon selection after `value` is changed
373
320
 
374
321
  <glide-core-dropdown-option
375
322
  label="Two"
376
- value="two"
377
323
  selected
378
324
  ></glide-core-dropdown-option>
379
325
 
@@ -400,14 +346,10 @@ it('dispatches one "change" event when an option is selected after Select All is
400
346
  multiple
401
347
  select-all
402
348
  >
403
- <glide-core-dropdown-option
404
- label="One"
405
- value="one"
406
- ></glide-core-dropdown-option>
349
+ <glide-core-dropdown-option label="One"></glide-core-dropdown-option>
407
350
 
408
351
  <glide-core-dropdown-option
409
352
  label="Two"
410
- value="two"
411
353
  selected
412
354
  ></glide-core-dropdown-option>
413
355
  </glide-core-dropdown>`);
@@ -433,14 +375,10 @@ it('dispatches one "input" event when an option is selected after Select All is
433
375
  multiple
434
376
  select-all
435
377
  >
436
- <glide-core-dropdown-option
437
- label="One"
438
- value="one"
439
- ></glide-core-dropdown-option>
378
+ <glide-core-dropdown-option label="One"></glide-core-dropdown-option>
440
379
 
441
380
  <glide-core-dropdown-option
442
381
  label="Two"
443
- value="two"
444
382
  selected
445
383
  ></glide-core-dropdown-option>
446
384
  </glide-core-dropdown>`);
@@ -467,14 +405,10 @@ it('dispatches one "change" event when a tag is removed', async () => {
467
405
  >
468
406
  <glide-core-dropdown-option
469
407
  label="One"
470
- value="one"
471
408
  selected
472
409
  ></glide-core-dropdown-option>
473
410
 
474
- <glide-core-dropdown-option
475
- label="Two"
476
- value="two"
477
- ></glide-core-dropdown-option>
411
+ <glide-core-dropdown-option label="Two"></glide-core-dropdown-option>
478
412
  </glide-core-dropdown>`);
479
413
  setTimeout(() => {
480
414
  component.shadowRoot
@@ -495,14 +429,10 @@ it('dispatches one "input" event when a tag is removed', async () => {
495
429
  >
496
430
  <glide-core-dropdown-option
497
431
  label="One"
498
- value="one"
499
432
  selected
500
433
  ></glide-core-dropdown-option>
501
434
 
502
- <glide-core-dropdown-option
503
- label="Two"
504
- value="two"
505
- ></glide-core-dropdown-option>
435
+ <glide-core-dropdown-option label="Two"></glide-core-dropdown-option>
506
436
  </glide-core-dropdown>`);
507
437
  setTimeout(() => {
508
438
  component.shadowRoot
@@ -7,14 +7,10 @@ import GlideCoreDropdown from './dropdown.js';
7
7
  GlideCoreDropdown.shadowRootOptions.mode = 'open';
8
8
  it('dispatches one "change" event when an option is selected via click', async () => {
9
9
  const component = await fixture(html `<glide-core-dropdown label="Label" placeholder="Placeholder" open>
10
- <glide-core-dropdown-option
11
- label="One"
12
- value="one"
13
- ></glide-core-dropdown-option>
10
+ <glide-core-dropdown-option label="One"></glide-core-dropdown-option>
14
11
 
15
12
  <glide-core-dropdown-option
16
13
  label="Two"
17
- value="two"
18
14
  selected
19
15
  ></glide-core-dropdown-option>
20
16
  </glide-core-dropdown>`);
@@ -30,14 +26,10 @@ it('dispatches one "change" event when an option is selected via click', async (
30
26
  });
31
27
  it('dispatches one "change" event when an option is selected via Enter', async () => {
32
28
  const component = await fixture(html `<glide-core-dropdown label="Label" placeholder="Placeholder" open>
33
- <glide-core-dropdown-option
34
- label="One"
35
- value="one"
36
- ></glide-core-dropdown-option>
29
+ <glide-core-dropdown-option label="One"></glide-core-dropdown-option>
37
30
 
38
31
  <glide-core-dropdown-option
39
32
  label="Two"
40
- value="two"
41
33
  selected
42
34
  ></glide-core-dropdown-option>
43
35
  </glide-core-dropdown>`);
@@ -57,14 +49,10 @@ it('dispatches one "change" event when an option is selected via Enter', async (
57
49
  });
58
50
  it('dispatches one "change" event when an option is selected via Space', async () => {
59
51
  const component = await fixture(html `<glide-core-dropdown label="Label" placeholder="Placeholder" open>
60
- <glide-core-dropdown-option
61
- label="One"
62
- value="one"
63
- ></glide-core-dropdown-option>
52
+ <glide-core-dropdown-option label="One"></glide-core-dropdown-option>
64
53
 
65
54
  <glide-core-dropdown-option
66
55
  label="Two"
67
- value="two"
68
56
  selected
69
57
  ></glide-core-dropdown-option>
70
58
  </glide-core-dropdown>`);
@@ -171,14 +159,10 @@ it('does not dispatch an "edit" event when `readonly`', async () => {
171
159
  });
172
160
  it('dispatches one "input" event when an option is selected via click', async () => {
173
161
  const component = await fixture(html `<glide-core-dropdown label="Label" placeholder="Placeholder" open>
174
- <glide-core-dropdown-option
175
- label="One"
176
- value="one"
177
- ></glide-core-dropdown-option>
162
+ <glide-core-dropdown-option label="One"></glide-core-dropdown-option>
178
163
 
179
164
  <glide-core-dropdown-option
180
165
  label="Two"
181
- value="two"
182
166
  selected
183
167
  ></glide-core-dropdown-option>
184
168
  </glide-core-dropdown>`);
@@ -194,14 +178,10 @@ it('dispatches one "input" event when an option is selected via click', async ()
194
178
  });
195
179
  it('dispatches one "input" event when an option is selected via Enter', async () => {
196
180
  const component = await fixture(html `<glide-core-dropdown label="Label" placeholder="Placeholder" open>
197
- <glide-core-dropdown-option
198
- label="One"
199
- value="one"
200
- ></glide-core-dropdown-option>
181
+ <glide-core-dropdown-option label="One"></glide-core-dropdown-option>
201
182
 
202
183
  <glide-core-dropdown-option
203
184
  label="Two"
204
- value="two"
205
185
  selected
206
186
  ></glide-core-dropdown-option>
207
187
  </glide-core-dropdown>`);
@@ -221,14 +201,10 @@ it('dispatches one "input" event when an option is selected via Enter', async ()
221
201
  });
222
202
  it('dispatches one "input" event when an option is selected via Space', async () => {
223
203
  const component = await fixture(html `<glide-core-dropdown label="Label" placeholder="Placeholder" open>
224
- <glide-core-dropdown-option
225
- label="One"
226
- value="one"
227
- ></glide-core-dropdown-option>
204
+ <glide-core-dropdown-option label="One"></glide-core-dropdown-option>
228
205
 
229
206
  <glide-core-dropdown-option
230
207
  label="Two"
231
- value="two"
232
208
  selected
233
209
  ></glide-core-dropdown-option>
234
210
  </glide-core-dropdown>`);
@@ -267,14 +243,10 @@ it('does not dispatch a "change" event when an already selected option is clicke
267
243
  });
268
244
  it('does not dispatch a "change" event when `value` is changed programmatically', async () => {
269
245
  const component = await fixture(html `<glide-core-dropdown label="Label" placeholder="Placeholder" open>
270
- <glide-core-dropdown-option
271
- label="One"
272
- value="one"
273
- ></glide-core-dropdown-option>
246
+ <glide-core-dropdown-option label="One"></glide-core-dropdown-option>
274
247
 
275
248
  <glide-core-dropdown-option
276
249
  label="Two"
277
- value="two"
278
250
  selected
279
251
  ></glide-core-dropdown-option>
280
252
  </glide-core-dropdown>`);
@@ -288,14 +260,10 @@ it('does not dispatch a "change" event when `value` is changed programmatically'
288
260
  });
289
261
  it('continues to dispatch "change" events upon selection after `value` is changed programmatically', async () => {
290
262
  const component = await fixture(html `<glide-core-dropdown label="Label" placeholder="Placeholder" open>
291
- <glide-core-dropdown-option
292
- label="One"
293
- value="one"
294
- ></glide-core-dropdown-option>
263
+ <glide-core-dropdown-option label="One"></glide-core-dropdown-option>
295
264
 
296
265
  <glide-core-dropdown-option
297
266
  label="Two"
298
- value="two"
299
267
  selected
300
268
  ></glide-core-dropdown-option>
301
269
  </glide-core-dropdown>`);
@@ -308,14 +276,10 @@ it('continues to dispatch "change" events upon selection after `value` is change
308
276
  });
309
277
  it('does not dispatch an "input" event when `value` is changed programmatically', async () => {
310
278
  const component = await fixture(html `<glide-core-dropdown label="Label" placeholder="Placeholder" open>
311
- <glide-core-dropdown-option
312
- label="One"
313
- value="one"
314
- ></glide-core-dropdown-option>
279
+ <glide-core-dropdown-option label="One"></glide-core-dropdown-option>
315
280
 
316
281
  <glide-core-dropdown-option
317
282
  label="Two"
318
- value="two"
319
283
  selected
320
284
  ></glide-core-dropdown-option>
321
285
  </glide-core-dropdown>`);
@@ -331,14 +295,10 @@ it('does not dispatch a "change" event when an already selected option is select
331
295
  const component = await fixture(html `<glide-core-dropdown label="Label" placeholder="Placeholder" open>
332
296
  <glide-core-dropdown-option
333
297
  label="One"
334
- value="one"
335
298
  selected
336
299
  ></glide-core-dropdown-option>
337
300
 
338
- <glide-core-dropdown-option
339
- label="Two"
340
- value="two"
341
- ></glide-core-dropdown-option>
301
+ <glide-core-dropdown-option label="Two"></glide-core-dropdown-option>
342
302
  </glide-core-dropdown>`);
343
303
  const spy = sinon.spy();
344
304
  component.addEventListener('change', spy);
@@ -352,14 +312,10 @@ it('does not dispatch an "input" event when an already selected option is select
352
312
  const component = await fixture(html `<glide-core-dropdown label="Label" placeholder="Placeholder" open>
353
313
  <glide-core-dropdown-option
354
314
  label="One"
355
- value="one"
356
315
  selected
357
316
  ></glide-core-dropdown-option>
358
317
 
359
- <glide-core-dropdown-option
360
- label="Two"
361
- value="two"
362
- ></glide-core-dropdown-option>
318
+ <glide-core-dropdown-option label="Two"></glide-core-dropdown-option>
363
319
  </glide-core-dropdown>`);
364
320
  const spy = sinon.spy();
365
321
  component.addEventListener('input', spy);
@@ -371,14 +327,10 @@ it('does not dispatch an "input" event when an already selected option is select
371
327
  });
372
328
  it('continues to dispatch "input" events upon selection after `value` is changed programmatically', async () => {
373
329
  const component = await fixture(html `<glide-core-dropdown label="Label" placeholder="Placeholder" open>
374
- <glide-core-dropdown-option
375
- label="One"
376
- value="one"
377
- ></glide-core-dropdown-option>
330
+ <glide-core-dropdown-option label="One"></glide-core-dropdown-option>
378
331
 
379
332
  <glide-core-dropdown-option
380
333
  label="Two"
381
- value="two"
382
334
  selected
383
335
  ></glide-core-dropdown-option>
384
336
  </glide-core-dropdown>`);