primer_view_components 0.27.0 → 0.29.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +22 -0
- data/app/assets/javascripts/app/components/primer/alpha/action_menu/action_menu_element.d.ts +0 -9
- data/app/assets/javascripts/app/components/primer/alpha/select_panel_element.d.ts +64 -0
- data/app/assets/javascripts/app/components/primer/aria_live.d.ts +8 -0
- data/app/assets/javascripts/app/components/primer/primer.d.ts +4 -0
- data/app/assets/javascripts/app/components/primer/shared_events.d.ts +9 -0
- data/app/assets/javascripts/primer_view_components.js +1 -1
- data/app/assets/javascripts/primer_view_components.js.map +1 -1
- data/app/assets/styles/primer_view_components.css +1 -1
- data/app/assets/styles/primer_view_components.css.map +1 -1
- data/app/components/primer/alpha/action_list.css +1 -1
- data/app/components/primer/alpha/action_list.css.map +1 -1
- data/app/components/primer/alpha/action_list.pcss +1 -0
- data/app/components/primer/alpha/action_menu/action_menu_element.d.ts +0 -9
- data/app/components/primer/alpha/action_menu/action_menu_element.ts +0 -11
- data/app/components/primer/alpha/action_menu.rb +13 -6
- data/app/components/primer/alpha/select_panel.html.erb +100 -0
- data/app/components/primer/alpha/select_panel.rb +486 -0
- data/app/components/primer/alpha/select_panel_element.d.ts +64 -0
- data/app/components/primer/alpha/select_panel_element.js +927 -0
- data/app/components/primer/alpha/select_panel_element.ts +1049 -0
- data/app/components/primer/aria_live.d.ts +8 -0
- data/app/components/primer/aria_live.js +38 -0
- data/app/components/primer/aria_live.ts +41 -0
- data/app/components/primer/base_component.rb +1 -1
- data/app/components/primer/primer.d.ts +4 -0
- data/app/components/primer/primer.js +4 -0
- data/app/components/primer/primer.ts +4 -0
- data/app/components/primer/shared_events.d.ts +9 -0
- data/app/components/primer/shared_events.js +1 -0
- data/app/components/primer/shared_events.ts +10 -0
- data/app/forms/example_toggle_switch_form/example_field_caption.html.erb +1 -1
- data/lib/primer/forms/toggle_switch.html.erb +1 -2
- data/lib/primer/static/generate_info_arch.rb +3 -2
- data/lib/primer/view_components/version.rb +1 -1
- data/lib/primer/yard/component_manifest.rb +2 -0
- data/previews/primer/alpha/action_menu_preview.rb +1 -1
- data/previews/primer/alpha/select_panel_preview/_interaction_subject_js.html.erb +25 -0
- data/previews/primer/alpha/select_panel_preview/eventually_local_fetch.html.erb +16 -0
- data/previews/primer/alpha/select_panel_preview/eventually_local_fetch_initial_failure.html.erb +12 -0
- data/previews/primer/alpha/select_panel_preview/eventually_local_fetch_no_results.html.erb +16 -0
- data/previews/primer/alpha/select_panel_preview/footer_buttons.html.erb +23 -0
- data/previews/primer/alpha/select_panel_preview/local_fetch.html.erb +19 -0
- data/previews/primer/alpha/select_panel_preview/local_fetch_no_results.html.erb +15 -0
- data/previews/primer/alpha/select_panel_preview/multiselect.html.erb +17 -0
- data/previews/primer/alpha/select_panel_preview/multiselect_form.html.erb +31 -0
- data/previews/primer/alpha/select_panel_preview/playground.html.erb +23 -0
- data/previews/primer/alpha/select_panel_preview/remote_fetch.html.erb +16 -0
- data/previews/primer/alpha/select_panel_preview/remote_fetch_filter_failure.html.erb +13 -0
- data/previews/primer/alpha/select_panel_preview/remote_fetch_initial_failure.html.erb +12 -0
- data/previews/primer/alpha/select_panel_preview/remote_fetch_no_results.html.erb +16 -0
- data/previews/primer/alpha/select_panel_preview/single_select.html.erb +20 -0
- data/previews/primer/alpha/select_panel_preview/single_select_form.html.erb +33 -0
- data/previews/primer/alpha/select_panel_preview/with_avatar_items.html.erb +19 -0
- data/previews/primer/alpha/select_panel_preview/with_dynamic_label.html.erb +23 -0
- data/previews/primer/alpha/select_panel_preview/with_dynamic_label_and_aria_prefix.html.erb +24 -0
- data/previews/primer/alpha/select_panel_preview/with_leading_icons.html.erb +31 -0
- data/previews/primer/alpha/select_panel_preview/with_subtitle.html.erb +25 -0
- data/previews/primer/alpha/select_panel_preview/with_trailing_icons.html.erb +19 -0
- data/previews/primer/alpha/select_panel_preview.rb +239 -0
- data/static/arguments.json +140 -0
- data/static/audited_at.json +2 -0
- data/static/constants.json +18 -0
- data/static/info_arch.json +950 -106
- data/static/previews.json +294 -0
- data/static/statuses.json +2 -0
- metadata +39 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c6415d489680466c5036cc669544cff262ba0895e2dc7e7d08101694810bf907
|
4
|
+
data.tar.gz: e27fbcc5d8b2d77fcc1f214ae86f1fcb2bb10a71dc855fb45d08194d6f73f276
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 419501a5e10ef361ae02c32981ff3402d0ebc1298670fd54945bf644a52aa6923309470be66a65b63a3cfff44f01a7024eda469e91319ab17608536ace3f9bf9
|
7
|
+
data.tar.gz: b35c1a465f90713702fc6eb05a366f0ba381ee42b2d9088c57ac4020c509e9444b2851c37445669b96a8855ce6c8b4198de9aeda1c8ceaae97438bfa2ed276e1
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,27 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## 0.29.0
|
4
|
+
|
5
|
+
### Minor Changes
|
6
|
+
|
7
|
+
- [#2963](https://github.com/primer/view_components/pull/2963) [`37ee0f7`](https://github.com/primer/view_components/commit/37ee0f7b0ef2d0de95ac337e43c1382a7f19e103) Thanks [@camertron](https://github.com/camertron)! - Add defaults to SelectPanel::ItemLists; fix issue showing no results label for local fetch strategy
|
8
|
+
|
9
|
+
## 0.28.0
|
10
|
+
|
11
|
+
### Minor Changes
|
12
|
+
|
13
|
+
- [#2941](https://github.com/primer/view_components/pull/2941) [`f3b640e`](https://github.com/primer/view_components/commit/f3b640e3ce13979aa187c4fa6ff4e31f5717d720) Thanks [@camertron](https://github.com/camertron)! - Upstream the SelectPanel component from dotcom
|
14
|
+
|
15
|
+
### Patch Changes
|
16
|
+
|
17
|
+
- [#2954](https://github.com/primer/view_components/pull/2954) [`15fb8c4`](https://github.com/primer/view_components/commit/15fb8c4e214142a6bc09a98b7fc70a5f917e68f9) Thanks [@camertron](https://github.com/camertron)! - Small SelectPanel fixes; lots of SelectPanel tests.
|
18
|
+
|
19
|
+
- [#2951](https://github.com/primer/view_components/pull/2951) [`ac15e65`](https://github.com/primer/view_components/commit/ac15e654ae185541ab7924c98bef67c6917f4d21) Thanks [@HDinger](https://github.com/HDinger)! - Always align group headers of a `Primer::Alpha::ActionMenu` at the beginning of the line
|
20
|
+
|
21
|
+
- [#2952](https://github.com/primer/view_components/pull/2952) [`98900f3`](https://github.com/primer/view_components/commit/98900f3a8afb9fe45cfb4a850c7be13d1061feba) Thanks [@camertron](https://github.com/camertron)! - Fix wrapping behavior of toggle switch label
|
22
|
+
|
23
|
+
- [#2961](https://github.com/primer/view_components/pull/2961) [`b662625`](https://github.com/primer/view_components/commit/b662625bab5e48102c0fad8fff4e2eb0523c1fad) Thanks [@camertron](https://github.com/camertron)! - Ensure condition is checked when mutations occur in SelectPanelElement.
|
24
|
+
|
3
25
|
## 0.27.0
|
4
26
|
|
5
27
|
### Minor Changes
|
data/app/assets/javascripts/app/components/primer/alpha/action_menu/action_menu_element.d.ts
CHANGED
@@ -6,15 +6,6 @@ type SelectedItem = {
|
|
6
6
|
value: string | null | undefined;
|
7
7
|
element: Element;
|
8
8
|
};
|
9
|
-
export type ItemActivatedEvent = {
|
10
|
-
item: Element;
|
11
|
-
checked: boolean;
|
12
|
-
};
|
13
|
-
declare global {
|
14
|
-
interface HTMLElementEventMap {
|
15
|
-
itemActivated: CustomEvent<ItemActivatedEvent>;
|
16
|
-
}
|
17
|
-
}
|
18
9
|
export declare class ActionMenuElement extends HTMLElement {
|
19
10
|
#private;
|
20
11
|
includeFragment: IncludeFragmentElement;
|
@@ -0,0 +1,64 @@
|
|
1
|
+
import { IncludeFragmentElement } from '@github/include-fragment-element';
|
2
|
+
import type { AnchorAlignment, AnchorSide } from '@primer/behaviors';
|
3
|
+
import '@oddbird/popover-polyfill';
|
4
|
+
type SelectVariant = 'none' | 'single' | 'multiple' | null;
|
5
|
+
type SelectedItem = {
|
6
|
+
label: string | null | undefined;
|
7
|
+
value: string | null | undefined;
|
8
|
+
inputName: string | null | undefined;
|
9
|
+
element: SelectPanelItem;
|
10
|
+
};
|
11
|
+
export type SelectPanelItem = HTMLLIElement;
|
12
|
+
export type FilterFn = (item: SelectPanelItem, query: string) => boolean;
|
13
|
+
export declare class SelectPanelElement extends HTMLElement {
|
14
|
+
#private;
|
15
|
+
includeFragment: IncludeFragmentElement;
|
16
|
+
dialog: HTMLDialogElement;
|
17
|
+
filterInputTextField: HTMLInputElement;
|
18
|
+
remoteInput: HTMLElement;
|
19
|
+
list: HTMLElement;
|
20
|
+
ariaLiveContainer: HTMLElement;
|
21
|
+
noResults: HTMLElement;
|
22
|
+
fragmentErrorElement: HTMLElement;
|
23
|
+
bannerErrorElement: HTMLElement;
|
24
|
+
bodySpinner: HTMLElement;
|
25
|
+
filterFn?: FilterFn;
|
26
|
+
get open(): boolean;
|
27
|
+
get selectVariant(): SelectVariant;
|
28
|
+
get ariaSelectionType(): string;
|
29
|
+
set selectVariant(variant: SelectVariant);
|
30
|
+
get dynamicLabelPrefix(): string;
|
31
|
+
get dynamicAriaLabelPrefix(): string;
|
32
|
+
set dynamicLabelPrefix(value: string);
|
33
|
+
get dynamicLabel(): boolean;
|
34
|
+
set dynamicLabel(value: boolean);
|
35
|
+
get invokerElement(): HTMLButtonElement | null;
|
36
|
+
get closeButton(): HTMLButtonElement | null;
|
37
|
+
get invokerLabel(): HTMLElement | null;
|
38
|
+
get selectedItems(): SelectedItem[];
|
39
|
+
get align(): AnchorAlignment;
|
40
|
+
get side(): AnchorSide;
|
41
|
+
updateAnchorPosition(): void;
|
42
|
+
connectedCallback(): void;
|
43
|
+
disconnectedCallback(): void;
|
44
|
+
handleEvent(event: Event): void;
|
45
|
+
show(): void;
|
46
|
+
hide(): void;
|
47
|
+
get visibleItems(): SelectPanelItem[];
|
48
|
+
get items(): SelectPanelItem[];
|
49
|
+
get focusableItem(): HTMLElement | undefined;
|
50
|
+
getItemById(itemId: string): SelectPanelItem | null;
|
51
|
+
isItemDisabled(item: SelectPanelItem | null): boolean;
|
52
|
+
disableItem(item: SelectPanelItem | null): void;
|
53
|
+
enableItem(item: SelectPanelItem | null): void;
|
54
|
+
isItemHidden(item: SelectPanelItem | null): boolean;
|
55
|
+
isItemChecked(item: SelectPanelItem | null): boolean;
|
56
|
+
checkItem(item: SelectPanelItem | null): void;
|
57
|
+
uncheckItem(item: SelectPanelItem | null): void;
|
58
|
+
}
|
59
|
+
declare global {
|
60
|
+
interface Window {
|
61
|
+
SelectPanelElement: typeof SelectPanelElement;
|
62
|
+
}
|
63
|
+
}
|
64
|
+
export {};
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import '@github/include-fragment-element';
|
2
|
+
import '@github/remote-input-element';
|
2
3
|
import './alpha/action_list';
|
3
4
|
import './alpha/action_bar_element';
|
4
5
|
import './alpha/dropdown';
|
@@ -6,6 +7,8 @@ import './anchored_position';
|
|
6
7
|
import './dialog_helper';
|
7
8
|
import './focus_group';
|
8
9
|
import './scrollable_region';
|
10
|
+
import './aria_live';
|
11
|
+
import './shared_events';
|
9
12
|
import './alpha/image_crop';
|
10
13
|
import './alpha/modal_dialog';
|
11
14
|
import './beta/nav_list';
|
@@ -22,3 +25,4 @@ import '../../../lib/primer/forms/primer_multi_input';
|
|
22
25
|
import '../../../lib/primer/forms/primer_text_field';
|
23
26
|
import '../../../lib/primer/forms/toggle_switch_input';
|
24
27
|
import './alpha/action_menu/action_menu_element';
|
28
|
+
import './alpha/select_panel_element';
|