@spectrum-web-components/picker 1.1.0 → 1.1.2

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 (93) hide show
  1. package/package.json +17 -17
  2. package/sp-picker.d.ts +6 -0
  3. package/sp-picker.dev.js +5 -0
  4. package/sp-picker.dev.js.map +7 -0
  5. package/sp-picker.js +2 -0
  6. package/sp-picker.js.map +7 -0
  7. package/src/DesktopController.d.ts +7 -0
  8. package/src/DesktopController.dev.js +72 -0
  9. package/src/DesktopController.dev.js.map +7 -0
  10. package/src/DesktopController.js +2 -0
  11. package/src/DesktopController.js.map +7 -0
  12. package/src/InteractionController.d.ts +44 -0
  13. package/src/InteractionController.dev.js +122 -0
  14. package/src/InteractionController.dev.js.map +7 -0
  15. package/src/InteractionController.js +2 -0
  16. package/src/InteractionController.js.map +7 -0
  17. package/src/MobileController.d.ts +8 -0
  18. package/src/MobileController.dev.js +51 -0
  19. package/src/MobileController.dev.js.map +7 -0
  20. package/src/MobileController.js +2 -0
  21. package/src/MobileController.js.map +7 -0
  22. package/src/Picker.d.ts +139 -0
  23. package/src/Picker.dev.js +717 -0
  24. package/src/Picker.dev.js.map +7 -0
  25. package/src/Picker.js +116 -0
  26. package/src/Picker.js.map +7 -0
  27. package/src/index.d.ts +1 -0
  28. package/src/index.dev.js +3 -0
  29. package/src/index.dev.js.map +7 -0
  30. package/src/index.js +2 -0
  31. package/src/index.js.map +7 -0
  32. package/src/picker-overrides.css.d.ts +2 -0
  33. package/src/picker-overrides.css.dev.js +7 -0
  34. package/src/picker-overrides.css.dev.js.map +7 -0
  35. package/src/picker-overrides.css.js +4 -0
  36. package/src/picker-overrides.css.js.map +7 -0
  37. package/src/picker.css.d.ts +2 -0
  38. package/src/picker.css.dev.js +7 -0
  39. package/src/picker.css.dev.js.map +7 -0
  40. package/src/picker.css.js +4 -0
  41. package/src/picker.css.js.map +7 -0
  42. package/src/spectrum-picker.css.d.ts +2 -0
  43. package/src/spectrum-picker.css.dev.js +7 -0
  44. package/src/spectrum-picker.css.dev.js.map +7 -0
  45. package/src/spectrum-picker.css.js +4 -0
  46. package/src/spectrum-picker.css.js.map +7 -0
  47. package/src/strategies.d.ts +6 -0
  48. package/src/strategies.dev.js +8 -0
  49. package/src/strategies.dev.js.map +7 -0
  50. package/src/strategies.js +2 -0
  51. package/src/strategies.js.map +7 -0
  52. package/stories/args.js +56 -0
  53. package/stories/args.js.map +7 -0
  54. package/stories/picker-pending.stories.js +16 -0
  55. package/stories/picker-pending.stories.js.map +7 -0
  56. package/stories/picker-sizes.stories.js +75 -0
  57. package/stories/picker-sizes.stories.js.map +7 -0
  58. package/stories/picker.stories.js +694 -0
  59. package/stories/picker.stories.js.map +7 -0
  60. package/stories/states.js +228 -0
  61. package/stories/states.js.map +7 -0
  62. package/stories/template.js +32 -0
  63. package/stories/template.js.map +7 -0
  64. package/sync/index.d.ts +3 -0
  65. package/sync/index.dev.js +5 -0
  66. package/sync/index.dev.js.map +7 -0
  67. package/sync/index.js +2 -0
  68. package/sync/index.js.map +7 -0
  69. package/sync/sp-picker.d.ts +2 -0
  70. package/sync/sp-picker.dev.js +4 -0
  71. package/sync/sp-picker.dev.js.map +7 -0
  72. package/sync/sp-picker.js +2 -0
  73. package/sync/sp-picker.js.map +7 -0
  74. package/test/benchmark/basic-test.js +269 -0
  75. package/test/benchmark/basic-test.js.map +7 -0
  76. package/test/index.js +1680 -0
  77. package/test/index.js.map +7 -0
  78. package/test/picker-memory.test.js +5 -0
  79. package/test/picker-memory.test.js.map +7 -0
  80. package/test/picker-pending.test-vrt.js +5 -0
  81. package/test/picker-pending.test-vrt.js.map +7 -0
  82. package/test/picker-reparenting.test.js +92 -0
  83. package/test/picker-reparenting.test.js.map +7 -0
  84. package/test/picker-responsive.test.js +125 -0
  85. package/test/picker-responsive.test.js.map +7 -0
  86. package/test/picker-sizes.test-vrt.js +5 -0
  87. package/test/picker-sizes.test-vrt.js.map +7 -0
  88. package/test/picker-sync.test.js +7 -0
  89. package/test/picker-sync.test.js.map +7 -0
  90. package/test/picker.test-vrt.js +5 -0
  91. package/test/picker.test-vrt.js.map +7 -0
  92. package/test/picker.test.js +7 -0
  93. package/test/picker.test.js.map +7 -0
@@ -0,0 +1,139 @@
1
+ import { CSSResultArray, PropertyValues, TemplateResult } from '@spectrum-web-components/base';
2
+ import { StyleInfo } from '@spectrum-web-components/base/src/directives.js';
3
+ import { Focusable } from '@spectrum-web-components/shared/src/focusable.js';
4
+ import type { Tooltip } from '@spectrum-web-components/tooltip';
5
+ import '@spectrum-web-components/icons-ui/icons/sp-icon-chevron100.js';
6
+ import '@spectrum-web-components/icons-workflow/icons/sp-icon-alert.js';
7
+ import '@spectrum-web-components/menu/sp-menu.js';
8
+ import type { Menu, MenuItem, MenuItemChildren } from '@spectrum-web-components/menu';
9
+ import { Placement } from '@spectrum-web-components/overlay';
10
+ import { MatchMediaController } from '@spectrum-web-components/reactive-controllers/src/MatchMedia.js';
11
+ import { DependencyManagerController } from '@spectrum-web-components/reactive-controllers/src/DependencyManger.js';
12
+ import { PendingStateController } from '@spectrum-web-components/reactive-controllers/src/PendingState.js';
13
+ import { Overlay } from '@spectrum-web-components/overlay/src/Overlay.js';
14
+ import type { SlottableRequestEvent } from '@spectrum-web-components/overlay/src/slottable-request-event.js';
15
+ import type { FieldLabel } from '@spectrum-web-components/field-label';
16
+ import { DesktopController } from './DesktopController.js';
17
+ import { MobileController } from './MobileController.js';
18
+ export declare const DESCRIPTION_ID = "option-picker";
19
+ declare const PickerBase_base: typeof Focusable & {
20
+ new (...args: any[]): import("@spectrum-web-components/base").SizedElementInterface;
21
+ prototype: import("@spectrum-web-components/base").SizedElementInterface;
22
+ };
23
+ export declare class PickerBase extends PickerBase_base {
24
+ isMobile: MatchMediaController;
25
+ strategy: DesktopController | MobileController;
26
+ appliedLabel?: string;
27
+ button: HTMLButtonElement;
28
+ dependencyManager: DependencyManagerController;
29
+ private deprecatedMenu;
30
+ disabled: boolean;
31
+ focused: boolean;
32
+ icons?: 'only' | 'none';
33
+ invalid: boolean;
34
+ /**
35
+ * Forces the Picker to render as a popover on mobile instead of a tray.
36
+ *
37
+ * @memberof PickerBase
38
+ */
39
+ forcePopover: boolean;
40
+ /** Whether the items are currently loading. */
41
+ pending: boolean;
42
+ /** Defines a string value that labels the Picker while it is in pending state. */
43
+ pendingLabel: string;
44
+ label?: string;
45
+ open: boolean;
46
+ readonly: boolean;
47
+ selects: undefined | 'single';
48
+ labelAlignment?: 'inline';
49
+ protected get menuItems(): MenuItem[];
50
+ optionsMenu: Menu;
51
+ private _selfManageFocusElement;
52
+ get selfManageFocusElement(): boolean;
53
+ overlayElement: Overlay;
54
+ protected tooltipEl?: Tooltip;
55
+ /**
56
+ * @type {"top" | "top-start" | "top-end" | "right" | "right-start" | "right-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end"}
57
+ * @attr
58
+ */
59
+ placement: Placement;
60
+ quiet: boolean;
61
+ value: string;
62
+ get selectedItem(): MenuItem | undefined;
63
+ pendingStateController: PendingStateController<this>;
64
+ /**
65
+ * Initializes the `PendingStateController` for the Picker component.
66
+ * The `PendingStateController` manages the pending state of the Picker.
67
+ */
68
+ constructor();
69
+ set selectedItem(selectedItem: MenuItem | undefined);
70
+ _selectedItem?: MenuItem;
71
+ protected listRole: 'listbox' | 'menu';
72
+ protected itemRole: string;
73
+ get focusElement(): HTMLElement;
74
+ forceFocusVisible(): void;
75
+ click(): void;
76
+ handleButtonBlur(): void;
77
+ focus(options?: FocusOptions): void;
78
+ handleHelperFocus(): void;
79
+ handleChange(event: Event): void;
80
+ handleButtonFocus(event: FocusEvent): void;
81
+ protected handleKeydown: (event: KeyboardEvent) => void;
82
+ protected setValueFromItem(item: MenuItem, menuChangeEvent?: Event): Promise<void>;
83
+ protected setMenuItemSelected(item: MenuItem, value: boolean): void;
84
+ toggle(target?: boolean): void;
85
+ close(): void;
86
+ protected get containerStyles(): StyleInfo;
87
+ protected get selectedItemContent(): MenuItemChildren;
88
+ protected set selectedItemContent(selectedItemContent: MenuItemChildren | undefined);
89
+ _selectedItemContent?: MenuItemChildren;
90
+ protected handleTooltipSlotchange(event: Event & {
91
+ target: HTMLSlotElement;
92
+ }): void;
93
+ handleSlottableRequest: (_event: SlottableRequestEvent) => void;
94
+ protected renderLabelContent(content: Node[]): TemplateResult | Node[];
95
+ protected get buttonContent(): TemplateResult[];
96
+ applyFocusElementLabel: (value: string, labelElement: FieldLabel) => void;
97
+ protected renderOverlay(menu: TemplateResult): TemplateResult;
98
+ protected get renderDescriptionSlot(): TemplateResult;
99
+ protected render(): TemplateResult;
100
+ protected update(changes: PropertyValues<this>): void;
101
+ protected bindButtonKeydownListener(): void;
102
+ protected updated(changes: PropertyValues<this>): void;
103
+ protected firstUpdated(changes: PropertyValues<this>): void;
104
+ protected get dismissHelper(): TemplateResult;
105
+ protected renderContainer(menu: TemplateResult): TemplateResult;
106
+ protected hasRenderedOverlay: boolean;
107
+ private onScroll;
108
+ protected get renderMenu(): TemplateResult;
109
+ private willManageSelection;
110
+ protected shouldScheduleManageSelection(event?: Event): void;
111
+ protected shouldManageSelection(): void;
112
+ protected manageSelection(): Promise<void>;
113
+ private selectionPromise;
114
+ private selectionResolver;
115
+ protected getUpdateComplete(): Promise<boolean>;
116
+ private recentlyConnected;
117
+ private enterKeydownOn;
118
+ protected handleEnterKeydown: (event: KeyboardEvent) => void;
119
+ bindEvents(): void;
120
+ connectedCallback(): void;
121
+ disconnectedCallback(): void;
122
+ }
123
+ /**
124
+ * @element sp-picker
125
+ *
126
+ * @slot label - The placeholder content for the Picker
127
+ * @slot description - The description content for the Picker
128
+ * @slot tooltip - Tooltip to to be applied to the the Picker Button
129
+ * @slot - menu items to be listed in the Picker
130
+ * @fires change - Announces that the `value` of the element has changed
131
+ * @fires sp-opened - Announces that the overlay has been opened
132
+ * @fires sp-closed - Announces that the overlay has been closed
133
+ */
134
+ export declare class Picker extends PickerBase {
135
+ static get styles(): CSSResultArray;
136
+ protected get containerStyles(): StyleInfo;
137
+ protected handleKeydown: (event: KeyboardEvent) => void;
138
+ }
139
+ export {};