@spectrum-web-components/action-menu 1.12.0-next.20260218162159 → 1.12.0-testing.20260223092154

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.
@@ -29,7 +29,7 @@
29
29
  "declarations": [
30
30
  {
31
31
  "kind": "class",
32
- "description": "",
32
+ "description": "An `<sp-action-menu>` is an action button with an attached menu of options.\nUnlike a standard picker, it does not maintain a selection by default and\ndisplays a \"more\" icon instead of a chevron.",
33
33
  "name": "ActionMenu",
34
34
  "slots": [
35
35
  {
@@ -62,8 +62,90 @@
62
62
  },
63
63
  "privacy": "public",
64
64
  "default": "undefined",
65
+ "description": "The selection mode for the action menu.\nUnlike Picker, defaults to `undefined` (no selection management).\nSet to `'single'` to maintain a selected item.",
65
66
  "attribute": "selects"
66
67
  },
68
+ {
69
+ "kind": "field",
70
+ "name": "labelAlignment",
71
+ "type": {
72
+ "text": "'inline' | undefined"
73
+ },
74
+ "privacy": "public",
75
+ "description": "The alignment of the associated label, set by an external field label component."
76
+ },
77
+ {
78
+ "kind": "field",
79
+ "name": "menuItems",
80
+ "type": {
81
+ "text": "MenuItem[]"
82
+ },
83
+ "privacy": "protected",
84
+ "description": "Returns the list of menu items contained in the picker's options menu.",
85
+ "readonly": true
86
+ },
87
+ {
88
+ "kind": "field",
89
+ "name": "appliedLabel",
90
+ "type": {
91
+ "text": "string | undefined"
92
+ },
93
+ "description": "The label applied to the picker, typically from an associated field label."
94
+ },
95
+ {
96
+ "kind": "field",
97
+ "name": "deprecatedMenu",
98
+ "type": {
99
+ "text": "Menu | null"
100
+ },
101
+ "privacy": "private",
102
+ "default": "null",
103
+ "deprecated": "Reference to a legacy `<sp-menu>` child element.\nUsed for backwards compatibility with older usage patterns."
104
+ },
105
+ {
106
+ "kind": "field",
107
+ "name": "icons",
108
+ "type": {
109
+ "text": "'only' | 'none' | undefined"
110
+ },
111
+ "privacy": "public",
112
+ "description": "Controls how icons are displayed in the picker button.\n- `'only'`: Shows only the icon, hiding the label visually.\n- `'none'`: Hides the icon entirely.",
113
+ "attribute": "icons",
114
+ "reflects": true
115
+ },
116
+ {
117
+ "kind": "field",
118
+ "name": "invalid",
119
+ "type": {
120
+ "text": "boolean"
121
+ },
122
+ "privacy": "public",
123
+ "default": "false",
124
+ "description": "Whether the picker is in an invalid state. Displays a validation icon when true.",
125
+ "attribute": "invalid",
126
+ "reflects": true
127
+ },
128
+ {
129
+ "kind": "field",
130
+ "name": "pendingLabel",
131
+ "type": {
132
+ "text": "string"
133
+ },
134
+ "privacy": "public",
135
+ "default": "'Pending'",
136
+ "description": "Defines a string value that labels the Picker while it is in pending state.",
137
+ "attribute": "pending-label"
138
+ },
139
+ {
140
+ "kind": "field",
141
+ "name": "label",
142
+ "type": {
143
+ "text": "string | undefined"
144
+ },
145
+ "privacy": "public",
146
+ "description": "The placeholder label displayed when no item is selected.",
147
+ "attribute": "label"
148
+ },
67
149
  {
68
150
  "kind": "field",
69
151
  "name": "staticColor",
@@ -71,9 +153,52 @@
71
153
  "text": "'white' | 'black' | undefined"
72
154
  },
73
155
  "privacy": "public",
156
+ "description": "Applies static color styling for use on colored backgrounds.\n- `'white'`: Use on dark backgrounds\n- `'black'`: Use on light backgrounds",
74
157
  "attribute": "static-color",
75
158
  "reflects": true
76
159
  },
160
+ {
161
+ "kind": "field",
162
+ "name": "selfManageFocusElement",
163
+ "type": {
164
+ "text": "boolean"
165
+ },
166
+ "privacy": "public",
167
+ "deprecated": "This property always returns true and will be removed in a future version.",
168
+ "readonly": true
169
+ },
170
+ {
171
+ "kind": "field",
172
+ "name": "tooltipEl",
173
+ "type": {
174
+ "text": "Tooltip | undefined"
175
+ },
176
+ "privacy": "protected",
177
+ "description": "Reference to the tooltip element, if one is slotted."
178
+ },
179
+ {
180
+ "kind": "field",
181
+ "name": "quiet",
182
+ "type": {
183
+ "text": "boolean"
184
+ },
185
+ "privacy": "public",
186
+ "default": "false",
187
+ "description": "Whether to render the picker in quiet mode with minimal visual styling.",
188
+ "attribute": "quiet",
189
+ "reflects": true
190
+ },
191
+ {
192
+ "kind": "field",
193
+ "name": "value",
194
+ "type": {
195
+ "text": "string"
196
+ },
197
+ "privacy": "public",
198
+ "default": "''",
199
+ "description": "The current value of the picker, corresponding to the selected menu item's value.",
200
+ "attribute": "value"
201
+ },
77
202
  {
78
203
  "kind": "field",
79
204
  "name": "listRole",
@@ -81,7 +206,8 @@
81
206
  "text": "'listbox' | 'menu'"
82
207
  },
83
208
  "privacy": "protected",
84
- "default": "'menu'"
209
+ "default": "'menu'",
210
+ "description": "The ARIA role for the menu list element. Uses 'menu' for action menus."
85
211
  },
86
212
  {
87
213
  "kind": "field",
@@ -90,30 +216,297 @@
90
216
  "text": "string"
91
217
  },
92
218
  "privacy": "protected",
93
- "default": "'menuitem'"
219
+ "default": "'menuitem'",
220
+ "description": "The ARIA role for individual menu items. Uses 'menuitem' for action menus."
94
221
  },
95
222
  {
96
223
  "kind": "field",
97
- "name": "hasLabel",
224
+ "name": "selectedItem",
98
225
  "type": {
99
- "text": "boolean"
226
+ "text": "MenuItem | undefined"
100
227
  },
101
- "privacy": "private",
102
- "readonly": true
228
+ "privacy": "public",
229
+ "description": "Sets the currently selected menu item and updates the displayed content.",
230
+ "parameters": [
231
+ {
232
+ "description": "The menu item to select, or undefined to clear selection",
233
+ "name": "selectedItem"
234
+ }
235
+ ]
236
+ },
237
+ {
238
+ "kind": "method",
239
+ "name": "forceFocusVisible",
240
+ "privacy": "public",
241
+ "return": {
242
+ "type": {
243
+ "text": "void"
244
+ }
245
+ },
246
+ "description": "Programmatically applies visible focus styling to the picker.\nHas no effect when the picker is disabled."
247
+ },
248
+ {
249
+ "kind": "method",
250
+ "name": "click",
251
+ "privacy": "public",
252
+ "return": {
253
+ "type": {
254
+ "text": "void"
255
+ }
256
+ },
257
+ "description": "Toggles the picker's open state when called programmatically.\nNote: Pointer events are handled by the interaction controller."
258
+ },
259
+ {
260
+ "kind": "method",
261
+ "name": "handleButtonClick",
262
+ "privacy": "public",
263
+ "return": {
264
+ "type": {
265
+ "text": "void"
266
+ }
267
+ },
268
+ "description": "Handles click events on the trigger button.\nNote: Pointer events are typically handled by the interaction controller;\nthis method is called when `this.button.click()` is invoked programmatically."
269
+ },
270
+ {
271
+ "kind": "method",
272
+ "name": "handleButtonBlur",
273
+ "privacy": "public",
274
+ "return": {
275
+ "type": {
276
+ "text": "void"
277
+ }
278
+ },
279
+ "description": "Handles blur events on the trigger button, removing focus styling."
280
+ },
281
+ {
282
+ "kind": "method",
283
+ "name": "handleHelperFocus",
284
+ "privacy": "public",
285
+ "return": {
286
+ "type": {
287
+ "text": "void"
288
+ }
289
+ },
290
+ "deprecated": "Use `focus()` instead.\nFocuses the picker button and applies focus styling."
291
+ },
292
+ {
293
+ "kind": "method",
294
+ "name": "handleFocus",
295
+ "privacy": "public",
296
+ "return": {
297
+ "type": {
298
+ "text": "void"
299
+ }
300
+ },
301
+ "description": "Handles focus events on the picker, applying visible focus styling\nonly when focus is visible in the tree."
302
+ },
303
+ {
304
+ "kind": "method",
305
+ "name": "handleChange",
306
+ "privacy": "public",
307
+ "return": {
308
+ "type": {
309
+ "text": "void"
310
+ }
311
+ },
312
+ "parameters": [
313
+ {
314
+ "name": "event",
315
+ "type": {
316
+ "text": "Event"
317
+ },
318
+ "description": "The change event from the menu"
319
+ }
320
+ ],
321
+ "description": "Handles change events from the menu, updating the selected value.\nDispatches a `change` event that can be prevented to cancel the selection."
322
+ },
323
+ {
324
+ "kind": "method",
325
+ "name": "handleButtonFocus",
326
+ "privacy": "public",
327
+ "return": {
328
+ "type": {
329
+ "text": "void"
330
+ }
331
+ },
332
+ "parameters": [
333
+ {
334
+ "name": "event",
335
+ "type": {
336
+ "text": "FocusEvent"
337
+ },
338
+ "description": "The focus event"
339
+ }
340
+ ],
341
+ "description": "Handles focus events on the trigger button, delegating to the interaction strategy."
103
342
  },
104
343
  {
105
344
  "kind": "field",
106
- "name": "labelOnly",
345
+ "name": "handleEscape",
346
+ "privacy": "protected",
347
+ "description": "Handles Escape key press to close the picker overlay.",
348
+ "parameters": [
349
+ {
350
+ "description": "The keyboard event",
351
+ "name": "event"
352
+ }
353
+ ]
354
+ },
355
+ {
356
+ "kind": "field",
357
+ "name": "handleKeydown",
358
+ "privacy": "protected",
359
+ "description": "Handles keyboard navigation on the picker button.\nOpens the menu on Arrow keys, Enter, or Space.",
360
+ "parameters": [
361
+ {
362
+ "description": "The keyboard event",
363
+ "name": "event"
364
+ }
365
+ ]
366
+ },
367
+ {
368
+ "kind": "method",
369
+ "name": "keyboardOpen",
370
+ "privacy": "protected",
371
+ "return": {
372
+ "type": {
373
+ "text": "Promise<void>"
374
+ }
375
+ },
376
+ "description": "Opens the picker via keyboard interaction and focuses the first selected item.\nIf already open, focuses the first selected item in the menu."
377
+ },
378
+ {
379
+ "kind": "method",
380
+ "name": "setValueFromItem",
381
+ "privacy": "protected",
382
+ "return": {
383
+ "type": {
384
+ "text": "Promise<void>"
385
+ }
386
+ },
387
+ "parameters": [
388
+ {
389
+ "name": "item",
390
+ "type": {
391
+ "text": "MenuItem"
392
+ },
393
+ "description": "The menu item to select"
394
+ },
395
+ {
396
+ "name": "menuChangeEvent",
397
+ "optional": true,
398
+ "type": {
399
+ "text": "Event"
400
+ },
401
+ "description": "The original menu change event, if any"
402
+ }
403
+ ],
404
+ "description": "Sets the picker's value from a menu item selection.\nDispatches a cancelable `change` event and reverts the selection if prevented."
405
+ },
406
+ {
407
+ "kind": "method",
408
+ "name": "setMenuItemSelected",
409
+ "privacy": "protected",
410
+ "return": {
411
+ "type": {
412
+ "text": "void"
413
+ }
414
+ },
415
+ "parameters": [
416
+ {
417
+ "name": "item",
418
+ "type": {
419
+ "text": "MenuItem"
420
+ },
421
+ "description": "The menu item to update"
422
+ },
423
+ {
424
+ "name": "value",
425
+ "type": {
426
+ "text": "boolean"
427
+ },
428
+ "description": "Whether the item should be selected"
429
+ }
430
+ ],
431
+ "description": "Updates the selected state of a menu item."
432
+ },
433
+ {
434
+ "kind": "field",
435
+ "name": "containerStyles",
107
436
  "type": {
108
- "text": "boolean"
437
+ "text": "StyleInfo"
109
438
  },
110
- "privacy": "private",
439
+ "privacy": "protected",
440
+ "description": "Returns inline styles for the overlay container.\nOn mobile, sets full width; on desktop, returns empty styles.",
111
441
  "readonly": true
112
442
  },
113
443
  {
114
444
  "kind": "field",
115
- "name": "handleSlottableRequest",
116
- "privacy": "public"
445
+ "name": "selectedItemContent",
446
+ "type": {
447
+ "text": "MenuItemChildren"
448
+ },
449
+ "privacy": "protected",
450
+ "description": "The content (icon and text) of the currently selected menu item.\nUsed to render the selected item's display in the picker button."
451
+ },
452
+ {
453
+ "kind": "field",
454
+ "name": "_selectedItemContent",
455
+ "type": {
456
+ "text": "MenuItemChildren | undefined"
457
+ },
458
+ "description": "Private backing field for selectedItemContent getter/setter."
459
+ },
460
+ {
461
+ "kind": "method",
462
+ "name": "handleTooltipSlotchange",
463
+ "privacy": "protected",
464
+ "return": {
465
+ "type": {
466
+ "text": "void"
467
+ }
468
+ },
469
+ "parameters": [
470
+ {
471
+ "name": "event",
472
+ "type": {
473
+ "text": "Event & { target: HTMLSlotElement }"
474
+ },
475
+ "description": "The slotchange event"
476
+ }
477
+ ],
478
+ "description": "Handles slotchange events for the tooltip slot.\nSets up the trigger element for self-managed tooltips."
479
+ },
480
+ {
481
+ "kind": "method",
482
+ "name": "renderLabelContent",
483
+ "privacy": "protected",
484
+ "return": {
485
+ "type": {
486
+ "text": ""
487
+ }
488
+ },
489
+ "parameters": [
490
+ {
491
+ "name": "content",
492
+ "type": {
493
+ "text": "Node[]"
494
+ },
495
+ "description": "The content nodes from the selected item"
496
+ }
497
+ ],
498
+ "description": "Renders the label content for the picker button.\nShows the selected item's content if available, otherwise renders the placeholder label."
499
+ },
500
+ {
501
+ "kind": "method",
502
+ "name": "renderLoader",
503
+ "privacy": "protected",
504
+ "return": {
505
+ "type": {
506
+ "text": ""
507
+ }
508
+ },
509
+ "description": "Renders the loading indicator shown during pending state.\nDynamically imports the progress-circle component."
117
510
  },
118
511
  {
119
512
  "kind": "field",
@@ -122,17 +515,34 @@
122
515
  "text": "TemplateResult[]"
123
516
  },
124
517
  "privacy": "protected",
518
+ "description": "Returns the content to render inside the action button.\nIncludes the icon slot (with \"more\" icon default), label slot, and label-only slot.",
125
519
  "readonly": true
126
520
  },
521
+ {
522
+ "kind": "field",
523
+ "name": "applyFocusElementLabel",
524
+ "description": "Callback invoked by an associated field label to apply its label value.\nSets the applied label and determines label alignment based on the field label's configuration.",
525
+ "parameters": [
526
+ {
527
+ "description": "The label text value",
528
+ "name": "value"
529
+ },
530
+ {
531
+ "description": "The field label element providing the label",
532
+ "name": "labelElement"
533
+ }
534
+ ]
535
+ },
127
536
  {
128
537
  "kind": "method",
129
538
  "name": "hasAccessibleLabel",
130
539
  "privacy": "protected",
131
540
  "return": {
132
541
  "type": {
133
- "text": "boolean"
542
+ "text": ""
134
543
  }
135
- }
544
+ },
545
+ "description": "Checks whether the action menu has an accessible label through any supported method:\nExtends base check to include label slot content and label-only slot.\n- `label` attribute\n- `aria-label` attribute\n- `aria-labelledby` attribute\n- Applied label from a field label\n- Slotted label content"
136
546
  },
137
547
  {
138
548
  "kind": "method",
@@ -142,12 +552,288 @@
142
552
  "type": {
143
553
  "text": "void"
144
554
  }
555
+ },
556
+ "description": "Logs a warning in debug mode when the action menu lacks an accessible label.\nProvides guidance specific to action menu labeling options."
557
+ },
558
+ {
559
+ "kind": "method",
560
+ "name": "renderOverlay",
561
+ "privacy": "protected",
562
+ "return": {
563
+ "type": {
564
+ "text": ""
565
+ }
566
+ },
567
+ "parameters": [
568
+ {
569
+ "name": "menu",
570
+ "type": {
571
+ "text": "TemplateResult"
572
+ },
573
+ "description": "The menu template to render inside the overlay"
574
+ }
575
+ ],
576
+ "description": "Renders the overlay element containing the menu.\nConfigures the overlay with appropriate placement, type, and event handlers."
577
+ },
578
+ {
579
+ "kind": "field",
580
+ "name": "renderDescriptionSlot",
581
+ "type": {
582
+ "text": "TemplateResult"
583
+ },
584
+ "privacy": "protected",
585
+ "description": "Renders the description slot for additional picker context.\nContent is referenced by aria-describedby for accessibility.",
586
+ "readonly": true
587
+ },
588
+ {
589
+ "kind": "method",
590
+ "name": "bindButtonKeydownListener",
591
+ "privacy": "protected",
592
+ "return": {
593
+ "type": {
594
+ "text": "void"
595
+ }
596
+ },
597
+ "description": "Binds the keydown event listener to the trigger button.\nCalled during first update to enable keyboard navigation."
598
+ },
599
+ {
600
+ "kind": "field",
601
+ "name": "dismissHelper",
602
+ "type": {
603
+ "text": "TemplateResult"
604
+ },
605
+ "privacy": "protected",
606
+ "description": "Renders a visually hidden dismiss button for accessibility.\nAllows screen reader users to dismiss the overlay.",
607
+ "readonly": true
608
+ },
609
+ {
610
+ "kind": "method",
611
+ "name": "renderContainer",
612
+ "privacy": "protected",
613
+ "return": {
614
+ "type": {
615
+ "text": ""
616
+ }
617
+ },
618
+ "parameters": [
619
+ {
620
+ "name": "menu",
621
+ "type": {
622
+ "text": "TemplateResult"
623
+ },
624
+ "description": "The menu template to wrap in the container"
625
+ }
626
+ ],
627
+ "description": "Renders the overlay container (popover or tray) based on device type.\nOn mobile, uses a tray; on desktop, uses a popover."
628
+ },
629
+ {
630
+ "kind": "field",
631
+ "name": "hasRenderedOverlay",
632
+ "type": {
633
+ "text": "boolean"
634
+ },
635
+ "privacy": "protected",
636
+ "default": "false",
637
+ "description": "Tracks whether the overlay has been rendered at least once."
638
+ },
639
+ {
640
+ "kind": "method",
641
+ "name": "onScroll",
642
+ "privacy": "private",
643
+ "return": {
644
+ "type": {
645
+ "text": "void"
646
+ }
647
+ },
648
+ "description": "Dispatches a scroll event when the menu is scrolled.\nAllows parent components to react to menu scroll events."
649
+ },
650
+ {
651
+ "kind": "field",
652
+ "name": "renderMenu",
653
+ "type": {
654
+ "text": "TemplateResult"
655
+ },
656
+ "privacy": "protected",
657
+ "description": "Renders the menu and overlay structure.\nLazily renders the overlay only after the picker has been focused or opened.",
658
+ "readonly": true
659
+ },
660
+ {
661
+ "kind": "field",
662
+ "name": "willManageSelection",
663
+ "type": {
664
+ "text": "boolean"
665
+ },
666
+ "privacy": "public",
667
+ "default": "false",
668
+ "description": "Tracks whether a selection change is already scheduled for the next frame."
669
+ },
670
+ {
671
+ "kind": "method",
672
+ "name": "shouldScheduleManageSelection",
673
+ "privacy": "protected",
674
+ "return": {
675
+ "type": {
676
+ "text": "void"
677
+ }
678
+ },
679
+ "parameters": [
680
+ {
681
+ "name": "event",
682
+ "optional": true,
683
+ "type": {
684
+ "text": "Event"
685
+ },
686
+ "description": "Optional event that triggered the scheduling"
687
+ }
688
+ ],
689
+ "description": "Schedules selection management for the next animation frame.\nCalled when the value changes or menu slot content changes.\nPrevents duplicate scheduling if already pending."
690
+ },
691
+ {
692
+ "kind": "method",
693
+ "name": "shouldManageSelection",
694
+ "privacy": "protected",
695
+ "return": {
696
+ "type": {
697
+ "text": "void"
698
+ }
699
+ },
700
+ "description": "Immediately manages selection when a menu item is added or updated.\nSkips if selection management is already scheduled."
701
+ },
702
+ {
703
+ "kind": "method",
704
+ "name": "manageSelection",
705
+ "privacy": "protected",
706
+ "return": {
707
+ "type": {
708
+ "text": "Promise<void>"
709
+ }
710
+ },
711
+ "description": "Synchronizes the menu selection state with the picker's current value.\nFinds and selects the menu item matching the current value,\nand deselects all other items."
712
+ },
713
+ {
714
+ "kind": "field",
715
+ "name": "selectionPromise",
716
+ "privacy": "private",
717
+ "description": "Promise that resolves when selection management is complete."
718
+ },
719
+ {
720
+ "kind": "field",
721
+ "name": "selectionResolver",
722
+ "type": {
723
+ "text": "() => void"
724
+ },
725
+ "privacy": "private",
726
+ "description": "Resolver function for the selectionPromise."
727
+ },
728
+ {
729
+ "kind": "method",
730
+ "name": "getUpdateComplete",
731
+ "privacy": "protected",
732
+ "return": {
733
+ "type": {
734
+ "text": "Promise<boolean>"
735
+ }
736
+ },
737
+ "description": "Returns a promise that resolves when the component update is complete,\nincluding any pending selection management."
738
+ },
739
+ {
740
+ "kind": "field",
741
+ "name": "recentlyConnected",
742
+ "type": {
743
+ "text": "boolean"
744
+ },
745
+ "privacy": "private",
746
+ "default": "false",
747
+ "description": "Tracks whether the component was recently connected to the DOM.\nUsed to handle timing differences in Safari and Firefox."
748
+ },
749
+ {
750
+ "kind": "field",
751
+ "name": "enterKeydownOn",
752
+ "type": {
753
+ "text": "EventTarget | null"
754
+ },
755
+ "privacy": "private",
756
+ "default": "null",
757
+ "description": "Tracks the target of an active Enter keydown to prevent double-activation."
758
+ },
759
+ {
760
+ "kind": "field",
761
+ "name": "handleEnterKeydown",
762
+ "privacy": "protected",
763
+ "description": "Handles Enter key events to prevent double-activation of menu items.\nTracks keydown state and clears it on keyup.\nAlso prevents Enter from triggering submenus that aren't open.",
764
+ "parameters": [
765
+ {
766
+ "description": "The keyboard event",
767
+ "name": "event"
768
+ }
769
+ ]
770
+ },
771
+ {
772
+ "kind": "field",
773
+ "name": "_selectedItem",
774
+ "type": {
775
+ "text": "MenuItem | undefined"
776
+ },
777
+ "description": "Private backing field for selectedItem getter/setter."
778
+ },
779
+ {
780
+ "kind": "field",
781
+ "name": "hasLabel",
782
+ "type": {
783
+ "text": "boolean"
784
+ },
785
+ "privacy": "private",
786
+ "description": "Whether the label slot has content.\nUsed to determine button layout and icon visibility.",
787
+ "readonly": true
788
+ },
789
+ {
790
+ "kind": "field",
791
+ "name": "labelOnly",
792
+ "type": {
793
+ "text": "boolean"
794
+ },
795
+ "privacy": "private",
796
+ "description": "Whether the label-only slot is being used.\nWhen true, no icon space is reserved.",
797
+ "readonly": true
798
+ },
799
+ {
800
+ "kind": "field",
801
+ "name": "handleSlottableRequest",
802
+ "privacy": "public",
803
+ "description": "Handles slottable request events by re-dispatching them.\nAllows parent components to intercept overlay content requests.",
804
+ "parameters": [
805
+ {
806
+ "description": "The slottable request event",
807
+ "name": "event"
808
+ }
809
+ ]
810
+ }
811
+ ],
812
+ "events": [
813
+ {
814
+ "name": "change",
815
+ "type": {
816
+ "text": "Event"
817
+ }
818
+ },
819
+ {
820
+ "name": "scroll",
821
+ "type": {
822
+ "text": "Event"
145
823
  }
824
+ },
825
+ {
826
+ "description": "Announces that the overlay has been opened",
827
+ "name": "sp-opened"
828
+ },
829
+ {
830
+ "description": "Announces that the overlay has been closed",
831
+ "name": "sp-closed"
146
832
  }
147
833
  ],
148
834
  "attributes": [
149
835
  {
150
- "description": "By default `sp-action-menu` does not manage a selection. If you'd like for a selection to be held by the `sp-menu` that it presents in its overlay, use `selects=\"single\" to activate this functionality.",
836
+ "description": "The selection mode for the action menu.\nUnlike Picker, defaults to `undefined` (no selection management).\nSet to `'single'` to maintain a selected item.",
151
837
  "name": "selects",
152
838
  "type": {
153
839
  "text": "undefined | 'single'"
@@ -155,12 +841,65 @@
155
841
  "default": "undefined",
156
842
  "fieldName": "selects"
157
843
  },
844
+ {
845
+ "name": "icons",
846
+ "type": {
847
+ "text": "'only' | 'none' | undefined"
848
+ },
849
+ "description": "Controls how icons are displayed in the picker button.\n- `'only'`: Shows only the icon, hiding the label visually.\n- `'none'`: Hides the icon entirely.",
850
+ "fieldName": "icons"
851
+ },
852
+ {
853
+ "name": "invalid",
854
+ "type": {
855
+ "text": "boolean"
856
+ },
857
+ "default": "false",
858
+ "description": "Whether the picker is in an invalid state. Displays a validation icon when true.",
859
+ "fieldName": "invalid"
860
+ },
861
+ {
862
+ "name": "pending-label",
863
+ "type": {
864
+ "text": "string"
865
+ },
866
+ "default": "'Pending'",
867
+ "description": "Defines a string value that labels the Picker while it is in pending state.",
868
+ "fieldName": "pendingLabel"
869
+ },
870
+ {
871
+ "name": "label",
872
+ "type": {
873
+ "text": "string | undefined"
874
+ },
875
+ "description": "The placeholder label displayed when no item is selected.",
876
+ "fieldName": "label"
877
+ },
158
878
  {
159
879
  "name": "static-color",
160
880
  "type": {
161
881
  "text": "'white' | 'black' | undefined"
162
882
  },
883
+ "description": "Applies static color styling for use on colored backgrounds.\n- `'white'`: Use on dark backgrounds\n- `'black'`: Use on light backgrounds",
163
884
  "fieldName": "staticColor"
885
+ },
886
+ {
887
+ "name": "quiet",
888
+ "type": {
889
+ "text": "boolean"
890
+ },
891
+ "default": "false",
892
+ "description": "Whether to render the picker in quiet mode with minimal visual styling.",
893
+ "fieldName": "quiet"
894
+ },
895
+ {
896
+ "name": "value",
897
+ "type": {
898
+ "text": "string"
899
+ },
900
+ "default": "''",
901
+ "description": "The current value of the picker, corresponding to the selected menu item's value.",
902
+ "fieldName": "value"
164
903
  }
165
904
  ],
166
905
  "mixins": [
@@ -171,10 +910,14 @@
171
910
  {
172
911
  "name": "ObserveSlotText",
173
912
  "package": "@spectrum-web-components/shared/src/observe-slot-text.js"
913
+ },
914
+ {
915
+ "name": "SizedMixin",
916
+ "package": "@spectrum-web-components/base"
174
917
  }
175
918
  ],
176
919
  "superclass": {
177
- "name": "PickerBase",
920
+ "name": "ExpandableElement",
178
921
  "package": "@spectrum-web-components/picker"
179
922
  },
180
923
  "tagName": "sp-action-menu",