openproject-primer_view_components 0.70.5 → 0.72.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 +20 -0
- data/app/assets/javascripts/components/primer/alpha/segmented_control.d.ts +2 -2
- data/app/assets/javascripts/components/primer/{open_project → alpha}/tree_view/tree_view.d.ts +11 -1
- data/app/assets/javascripts/components/primer/{open_project → alpha}/tree_view/tree_view_sub_tree_node_element.d.ts +5 -1
- data/app/assets/javascripts/components/primer/open_project/filterable_tree_view.d.ts +29 -0
- data/app/assets/javascripts/components/primer/primer.d.ts +5 -4
- 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/{open_project → alpha}/file_tree_view/directory_node.rb +1 -1
- data/app/components/primer/{open_project → alpha}/file_tree_view/file_node.rb +1 -1
- data/app/components/primer/{open_project → alpha}/file_tree_view.rb +1 -1
- data/app/components/primer/alpha/segmented_control.d.ts +2 -2
- data/app/components/primer/alpha/segmented_control.js +12 -0
- data/app/components/primer/alpha/segmented_control.ts +16 -1
- data/app/components/primer/{open_project → alpha}/skeleton_box.css.json +1 -1
- data/app/components/primer/{open_project → alpha}/skeleton_box.css.map +1 -1
- data/app/components/primer/{open_project → alpha}/skeleton_box.pcss +1 -1
- data/app/components/primer/{open_project → alpha}/skeleton_box.rb +3 -1
- data/app/components/primer/alpha/stack.css +1 -1
- data/app/components/primer/alpha/stack.css.json +5 -1
- data/app/components/primer/alpha/stack.css.map +1 -1
- data/app/components/primer/alpha/stack.pcss +13 -0
- data/app/components/primer/alpha/stack.rb +2 -1
- data/app/components/primer/{open_project → alpha}/tree_view/icon.rb +2 -2
- data/app/components/primer/{open_project → alpha}/tree_view/icon_pair.rb +4 -4
- data/app/components/primer/{open_project → alpha}/tree_view/leading_action.rb +2 -2
- data/app/components/primer/{open_project → alpha}/tree_view/leaf_node.rb +6 -6
- data/app/components/primer/{open_project → alpha}/tree_view/loading_failure_message.rb +2 -2
- data/app/components/primer/{open_project → alpha}/tree_view/node.rb +30 -14
- data/app/components/primer/{open_project → alpha}/tree_view/skeleton_loader.html.erb +3 -3
- data/app/components/primer/{open_project → alpha}/tree_view/skeleton_loader.rb +4 -4
- data/app/components/primer/{open_project → alpha}/tree_view/spinner_loader.html.erb +2 -2
- data/app/components/primer/{open_project → alpha}/tree_view/spinner_loader.rb +4 -4
- data/app/components/primer/{open_project → alpha}/tree_view/sub_tree.html.erb +1 -1
- data/app/components/primer/{open_project → alpha}/tree_view/sub_tree.rb +10 -10
- data/app/components/primer/{open_project → alpha}/tree_view/sub_tree_container.rb +2 -2
- data/app/components/primer/{open_project → alpha}/tree_view/sub_tree_node.rb +28 -18
- data/app/components/primer/{open_project → alpha}/tree_view/tree_view.d.ts +11 -1
- data/app/components/primer/{open_project → alpha}/tree_view/tree_view.js +120 -20
- data/app/components/primer/{open_project → alpha}/tree_view/tree_view.ts +137 -18
- data/app/components/primer/{open_project → alpha}/tree_view/tree_view_include_fragment_element.js +0 -1
- data/app/components/primer/{open_project → alpha}/tree_view/tree_view_include_fragment_element.ts +0 -1
- data/app/components/primer/{open_project → alpha}/tree_view/tree_view_sub_tree_node_element.d.ts +5 -1
- data/app/components/primer/{open_project → alpha}/tree_view/tree_view_sub_tree_node_element.js +27 -4
- data/app/components/primer/{open_project → alpha}/tree_view/tree_view_sub_tree_node_element.ts +36 -5
- data/app/components/primer/{open_project → alpha}/tree_view/visual.rb +2 -2
- data/app/components/primer/alpha/tree_view.css +1 -0
- data/app/components/primer/{open_project → alpha}/tree_view.css.json +8 -1
- data/app/components/primer/alpha/tree_view.css.map +1 -0
- data/app/components/primer/alpha/tree_view.html.erb +12 -0
- data/app/components/primer/{open_project → alpha}/tree_view.pcss +39 -0
- data/app/components/primer/{open_project → alpha}/tree_view.rb +20 -12
- data/app/components/primer/beta/breadcrumbs.css +1 -1
- data/app/components/primer/beta/breadcrumbs.css.json +0 -1
- data/app/components/primer/beta/breadcrumbs.css.map +1 -1
- data/app/components/primer/beta/breadcrumbs.pcss +2 -8
- data/app/components/primer/beta/progress_bar.css +1 -1
- data/app/components/primer/beta/progress_bar.css.map +1 -1
- data/app/components/primer/beta/progress_bar.pcss +3 -2
- data/app/components/primer/beta/relative_time.rb +3 -0
- data/app/components/primer/open_project/filterable_tree_view/sub_tree.rb +39 -0
- data/app/components/primer/open_project/filterable_tree_view.d.ts +29 -0
- data/app/components/primer/open_project/filterable_tree_view.html.erb +28 -0
- data/app/components/primer/open_project/filterable_tree_view.js +409 -0
- data/app/components/primer/open_project/filterable_tree_view.rb +254 -0
- data/app/components/primer/open_project/filterable_tree_view.ts +492 -0
- data/app/components/primer/primer.d.ts +5 -4
- data/app/components/primer/primer.js +5 -4
- data/app/components/primer/primer.pcss +2 -2
- data/app/components/primer/primer.ts +5 -4
- data/app/controllers/primer/view_components/tree_view_items_controller.rb +1 -1
- data/app/forms/check_box_with_nested_form.rb +10 -10
- data/app/forms/radio_button_with_nested_form.rb +16 -16
- data/app/lib/primer/experimental_slot_helpers.rb +2 -2
- data/app/lib/primer/forms/base_component.rb +1 -1
- data/app/lib/primer/forms/dsl/text_field_input.rb +2 -0
- data/app/views/primer/view_components/tree_view_items/async_alpha.html_fragment.erb +1 -1
- data/app/views/primer/view_components/tree_view_items/index.html_fragment.erb +1 -1
- data/config/locales/en.yml +20 -0
- data/lib/primer/view_components/version.rb +2 -2
- data/previews/primer/{open_project → alpha}/file_tree_view_preview/default.html.erb +1 -1
- data/previews/primer/{open_project → alpha}/file_tree_view_preview/playground.html.erb +1 -1
- data/previews/primer/{open_project → alpha}/file_tree_view_preview.rb +1 -1
- data/previews/primer/{open_project → alpha}/skeleton_box_preview.rb +3 -3
- data/previews/primer/{open_project → alpha}/tree_view_preview/async_alpha.html.erb +1 -1
- data/previews/primer/{open_project → alpha}/tree_view_preview/buttons.html.erb +5 -5
- data/previews/primer/{open_project → alpha}/tree_view_preview/default.html.erb +5 -5
- data/previews/primer/{open_project → alpha}/tree_view_preview/empty.html.erb +1 -1
- data/previews/primer/alpha/tree_view_preview/form_input.html.erb +14 -0
- data/previews/primer/{open_project → alpha}/tree_view_preview/leaf_node_playground.html.erb +2 -2
- data/previews/primer/{open_project → alpha}/tree_view_preview/links.html.erb +5 -5
- data/previews/primer/{open_project → alpha}/tree_view_preview/loading_failure.html.erb +1 -1
- data/previews/primer/{open_project → alpha}/tree_view_preview/loading_skeleton.html.erb +1 -1
- data/previews/primer/{open_project → alpha}/tree_view_preview/loading_spinner.html.erb +1 -1
- data/previews/primer/{open_project → alpha}/tree_view_preview/playground.html.erb +1 -1
- data/previews/primer/{open_project → alpha}/tree_view_preview.rb +34 -15
- data/previews/primer/open_project/filterable_tree_view_preview/_custom_select_js.html.erb +62 -0
- data/previews/primer/open_project/filterable_tree_view_preview/custom_checkbox_text.html.erb +26 -0
- data/previews/primer/open_project/filterable_tree_view_preview/custom_no_results_text.html.erb +28 -0
- data/previews/primer/open_project/filterable_tree_view_preview/custom_segmented_control.html.erb +31 -0
- data/previews/primer/open_project/filterable_tree_view_preview/default.html.erb +26 -0
- data/previews/primer/open_project/filterable_tree_view_preview/form_input.html.erb +32 -0
- data/previews/primer/open_project/filterable_tree_view_preview/playground.html.erb +26 -0
- data/previews/primer/open_project/filterable_tree_view_preview/stress_test.html.erb +28 -0
- data/previews/primer/open_project/filterable_tree_view_preview.rb +125 -0
- data/static/arguments.json +1685 -1581
- data/static/audited_at.json +19 -17
- data/static/classes.json +5 -5
- data/static/constants.json +137 -98
- data/static/info_arch.json +6396 -6146
- data/static/previews.json +120 -21
- data/static/statuses.json +19 -17
- metadata +102 -84
- data/app/components/primer/open_project/tree_view.css +0 -1
- data/app/components/primer/open_project/tree_view.css.map +0 -1
- data/app/components/primer/open_project/tree_view.html.erb +0 -7
- /data/app/assets/javascripts/components/primer/{open_project → alpha}/tree_view/tree_view_icon_pair_element.d.ts +0 -0
- /data/app/assets/javascripts/components/primer/{open_project → alpha}/tree_view/tree_view_include_fragment_element.d.ts +0 -0
- /data/app/assets/javascripts/components/primer/{open_project → alpha}/tree_view/tree_view_roving_tab_index.d.ts +0 -0
- /data/app/components/primer/{open_project → alpha}/file_tree_view/directory_node.html.erb +0 -0
- /data/app/components/primer/{open_project → alpha}/file_tree_view/file_node.html.erb +0 -0
- /data/app/components/primer/{open_project → alpha}/skeleton_box.css +0 -0
- /data/app/components/primer/{open_project → alpha}/skeleton_box.html.erb +0 -0
- /data/app/components/primer/{open_project → alpha}/tree_view/icon.html.erb +0 -0
- /data/app/components/primer/{open_project → alpha}/tree_view/icon_pair.html.erb +0 -0
- /data/app/components/primer/{open_project → alpha}/tree_view/leading_action.html.erb +0 -0
- /data/app/components/primer/{open_project → alpha}/tree_view/leaf_node.html.erb +0 -0
- /data/app/components/primer/{open_project → alpha}/tree_view/loading_failure_message.html.erb +0 -0
- /data/app/components/primer/{open_project → alpha}/tree_view/node.html.erb +0 -0
- /data/app/components/primer/{open_project → alpha}/tree_view/sub_tree_container.html.erb +0 -0
- /data/app/components/primer/{open_project → alpha}/tree_view/sub_tree_node.html.erb +0 -0
- /data/app/components/primer/{open_project → alpha}/tree_view/tree_view_icon_pair_element.d.ts +0 -0
- /data/app/components/primer/{open_project → alpha}/tree_view/tree_view_icon_pair_element.js +0 -0
- /data/app/components/primer/{open_project → alpha}/tree_view/tree_view_icon_pair_element.ts +0 -0
- /data/app/components/primer/{open_project → alpha}/tree_view/tree_view_include_fragment_element.d.ts +0 -0
- /data/app/components/primer/{open_project → alpha}/tree_view/tree_view_roving_tab_index.d.ts +0 -0
- /data/app/components/primer/{open_project → alpha}/tree_view/tree_view_roving_tab_index.js +0 -0
- /data/app/components/primer/{open_project → alpha}/tree_view/tree_view_roving_tab_index.ts +0 -0
- /data/app/components/primer/{open_project → alpha}/tree_view/visual.html.erb +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e666e1394f004b6a5924de0eaefd8384539a04c03ce09031d991b26dc26df163
|
4
|
+
data.tar.gz: 839c41112e056262087e21adfaacecb8ffa2600958daab267ddc280b78c66cef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4e020740dc79749c21ad7fe12b4292ebde4b26cefc28a471fca91bd4a177fcc7e99e9c53e20d8f8b8a13193c582538216d74c7403ba2a93e3c6009eccd3c29e8
|
7
|
+
data.tar.gz: bb45b2c1991f58c09127e2b88f2bea06595558698cc7c0dfef785d09962ee456875855d665b75fc0cb7b76974a21ceb6a974f1f2077af27ef6cd69ac5f104286
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,25 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## 0.72.0
|
4
|
+
|
5
|
+
### Minor Changes
|
6
|
+
|
7
|
+
- [#3563](https://github.com/primer/view_components/pull/3563) [`cf9ce00`](https://github.com/opf/primer_view_components/commit/cf9ce00849b200482e2a799a279acb645929ab57) Thanks [@camertron](https://github.com/camertron)! - Introduce Primer::Alpha::TreeView, Primer::Alpha::FileTreeView and Primer::Alpha::SkeletonBox
|
8
|
+
|
9
|
+
### Patch Changes
|
10
|
+
|
11
|
+
- [#3636](https://github.com/primer/view_components/pull/3636) [`fd25aaf`](https://github.com/opf/primer_view_components/commit/fd25aafe80d97251f7522a2c5a9bdf2e3c3b58fc) Thanks [@langermank](https://github.com/langermank)! - Support high contrast themes in `ProgressBar`
|
12
|
+
|
13
|
+
- [#3613](https://github.com/primer/view_components/pull/3613) [`0ddc1a4`](https://github.com/opf/primer_view_components/commit/0ddc1a41be5dce9f4042e6d4138432554d2419a1) Thanks [@jonrohan](https://github.com/jonrohan)! - Updating snapshots
|
14
|
+
|
15
|
+
- [#3614](https://github.com/primer/view_components/pull/3614) [`41b64d6`](https://github.com/opf/primer_view_components/commit/41b64d638f0c0805acafb4e17de2935116b63d70) Thanks [@bsatarnejad](https://github.com/bsatarnejad)! - Breadcrumb is not properly left-aligned when it has long items
|
16
|
+
|
17
|
+
## 0.71.0
|
18
|
+
|
19
|
+
### Minor Changes
|
20
|
+
|
21
|
+
- [#321](https://github.com/opf/primer_view_components/pull/321) [`9219647`](https://github.com/opf/primer_view_components/commit/9219647e3f6368bdb3d3d1aa45380a63838c8c11) Thanks [@camertron](https://github.com/camertron)! - Add the FilterableTreeView component
|
22
|
+
|
3
23
|
## 0.70.5
|
4
24
|
|
5
25
|
### Patch Changes
|
@@ -1,12 +1,12 @@
|
|
1
|
-
declare class SegmentedControlElement extends HTMLElement {
|
1
|
+
export declare class SegmentedControlElement extends HTMLElement {
|
2
2
|
#private;
|
3
3
|
items: HTMLElement[];
|
4
4
|
connectedCallback(): void;
|
5
5
|
select(event: Event): void;
|
6
|
+
get current(): HTMLElement | null;
|
6
7
|
}
|
7
8
|
declare global {
|
8
9
|
interface Window {
|
9
10
|
SegmentedControlElement: typeof SegmentedControlElement;
|
10
11
|
}
|
11
12
|
}
|
12
|
-
export {};
|
data/app/assets/javascripts/components/primer/{open_project → alpha}/tree_view/tree_view.d.ts
RENAMED
@@ -1,10 +1,15 @@
|
|
1
|
-
import { TreeViewSubTreeNodeElement } from './tree_view_sub_tree_node_element';
|
1
|
+
import { SelectStrategy, TreeViewSubTreeNodeElement } from './tree_view_sub_tree_node_element';
|
2
2
|
import type { TreeViewNodeType, TreeViewCheckedValue, TreeViewNodeInfo } from '../../shared_events';
|
3
3
|
export declare class TreeViewElement extends HTMLElement {
|
4
4
|
#private;
|
5
|
+
formInputContainer: HTMLElement;
|
6
|
+
formInputPrototype: HTMLInputElement;
|
5
7
|
connectedCallback(): void;
|
8
|
+
rootLeafNodes(): NodeListOf<HTMLElement>;
|
9
|
+
rootSubTreeNodes(): NodeListOf<TreeViewSubTreeNodeElement>;
|
6
10
|
disconnectedCallback(): void;
|
7
11
|
handleEvent(event: Event): void;
|
12
|
+
getFormInputValueForNode(node: Element): string | null;
|
8
13
|
getNodePath(node: Element): string[];
|
9
14
|
getNodeType(node: Element): TreeViewNodeType | null;
|
10
15
|
markCurrentAtPath(path: string[]): void;
|
@@ -16,13 +21,18 @@ export declare class TreeViewElement extends HTMLElement {
|
|
16
21
|
uncheckAtPath(path: string[]): void;
|
17
22
|
toggleCheckedAtPath(path: string[]): void;
|
18
23
|
checkedValueAtPath(path: string[]): TreeViewCheckedValue;
|
24
|
+
disabledValueAtPath(path: string[]): boolean;
|
19
25
|
nodeAtPath(path: string[], selector?: string): Element | null;
|
20
26
|
subTreeAtPath(path: string[]): TreeViewSubTreeNodeElement | null;
|
21
27
|
leafAtPath(path: string[]): HTMLLIElement | null;
|
28
|
+
setNodeCheckedValue(node: Element, value: TreeViewCheckedValue): void;
|
22
29
|
getNodeCheckedValue(node: Element): TreeViewCheckedValue;
|
30
|
+
getNodeDisabledValue(node: Element): boolean;
|
31
|
+
setNodeDisabledValue(node: Element, disabled: boolean): void;
|
23
32
|
nodeHasCheckBox(node: Element): boolean;
|
24
33
|
nodeHasNativeAction(node: Element): boolean;
|
25
34
|
expandAncestorsForNode(node: HTMLElement): void;
|
35
|
+
changeSelectStrategy(newStrategy: SelectStrategy): void;
|
26
36
|
infoFromNode(node: Element, newCheckedValue?: TreeViewCheckedValue): TreeViewNodeInfo | null;
|
27
37
|
}
|
28
38
|
declare global {
|
@@ -2,6 +2,7 @@ import { TreeViewIconPairElement } from './tree_view_icon_pair_element';
|
|
2
2
|
import { TreeViewIncludeFragmentElement } from './tree_view_include_fragment_element';
|
3
3
|
import { TreeViewElement } from './tree_view';
|
4
4
|
type LoadingState = 'loading' | 'error' | 'success';
|
5
|
+
export type SelectStrategy = 'self' | 'descendants' | 'mixed_descendants';
|
5
6
|
export declare class TreeViewSubTreeNodeElement extends HTMLElement {
|
6
7
|
#private;
|
7
8
|
node: HTMLElement;
|
@@ -19,7 +20,8 @@ export declare class TreeViewSubTreeNodeElement extends HTMLElement {
|
|
19
20
|
set expanded(newValue: boolean);
|
20
21
|
get loadingState(): LoadingState;
|
21
22
|
set loadingState(newState: LoadingState);
|
22
|
-
get selectStrategy():
|
23
|
+
get selectStrategy(): SelectStrategy;
|
24
|
+
get level(): number;
|
23
25
|
disconnectedCallback(): void;
|
24
26
|
handleEvent(event: Event): void;
|
25
27
|
expand(): void;
|
@@ -27,11 +29,13 @@ export declare class TreeViewSubTreeNodeElement extends HTMLElement {
|
|
27
29
|
toggle(): void;
|
28
30
|
get nodes(): NodeListOf<Element>;
|
29
31
|
eachDirectDescendantNode(): Generator<Element>;
|
32
|
+
eachDirectDescendantSubTreeNode(): Generator<TreeViewSubTreeNodeElement>;
|
30
33
|
eachDescendantNode(): Generator<Element>;
|
31
34
|
eachAncestorSubTreeNode(): Generator<TreeViewSubTreeNodeElement>;
|
32
35
|
get isEmpty(): boolean;
|
33
36
|
get treeView(): TreeViewElement | null;
|
34
37
|
toggleChecked(): void;
|
38
|
+
changeSelectStrategy(newStrategy: SelectStrategy): void;
|
35
39
|
}
|
36
40
|
declare global {
|
37
41
|
interface Window {
|
@@ -0,0 +1,29 @@
|
|
1
|
+
import { SegmentedControlElement } from '../alpha/segmented_control';
|
2
|
+
import { TreeViewElement } from '../alpha/tree_view/tree_view';
|
3
|
+
import { TreeViewSubTreeNodeElement } from '../alpha/tree_view/tree_view_sub_tree_node_element';
|
4
|
+
export type FilterFn = (node: HTMLElement, query: string, filterMode?: string) => Range[] | null;
|
5
|
+
export declare class FilterableTreeViewElement extends HTMLElement {
|
6
|
+
#private;
|
7
|
+
filterInput: HTMLInputElement;
|
8
|
+
filterModeControlList: HTMLElement;
|
9
|
+
treeViewList: HTMLElement;
|
10
|
+
noResultsMessage: HTMLElement;
|
11
|
+
includeSubItemsCheckBox: HTMLInputElement;
|
12
|
+
connectedCallback(): void;
|
13
|
+
disconnectedCallback(): void;
|
14
|
+
handleEvent(event: Event): void;
|
15
|
+
get filterModeControl(): SegmentedControlElement | null;
|
16
|
+
get treeView(): TreeViewElement | null;
|
17
|
+
set filterFn(newFn: FilterFn);
|
18
|
+
get filterFn(): FilterFn;
|
19
|
+
defaultFilterFn(node: HTMLElement, query: string, filterMode?: string): Range[] | null;
|
20
|
+
get filterMode(): string | null;
|
21
|
+
get queryString(): string;
|
22
|
+
eachDescendantDepthFirst(node: HTMLElement, level: number, ancestry: TreeViewSubTreeNodeElement[]): Generator<[NodeListOf<HTMLElement>, TreeViewSubTreeNodeElement[]]>;
|
23
|
+
eachShallowestCheckedSubTree(root: TreeViewSubTreeNodeElement): Generator<TreeViewSubTreeNodeElement>;
|
24
|
+
}
|
25
|
+
declare global {
|
26
|
+
interface Window {
|
27
|
+
FilterableTreeViewElement: typeof FilterableTreeViewElement;
|
28
|
+
}
|
29
|
+
}
|
@@ -26,6 +26,10 @@ import '../../lib/primer/forms/toggle_switch_input';
|
|
26
26
|
import './alpha/action_menu/action_menu_element';
|
27
27
|
import './alpha/select_panel_element';
|
28
28
|
import './beta/details_toggle_element';
|
29
|
+
import './alpha/tree_view/tree_view';
|
30
|
+
import './alpha/tree_view/tree_view_icon_pair_element';
|
31
|
+
import './alpha/tree_view/tree_view_sub_tree_node_element';
|
32
|
+
import './alpha/tree_view/tree_view_include_fragment_element';
|
29
33
|
import './open_project/page_header_element';
|
30
34
|
import './open_project/zen_mode_button';
|
31
35
|
import './open_project/sub_header_element';
|
@@ -33,7 +37,4 @@ import './open_project/danger_dialog_form_helper';
|
|
33
37
|
import './open_project/collapsible';
|
34
38
|
import './open_project/border_box/collapsible_header';
|
35
39
|
import './open_project/collapsible_section';
|
36
|
-
import './open_project/
|
37
|
-
import './open_project/tree_view/tree_view_icon_pair_element';
|
38
|
-
import './open_project/tree_view/tree_view_sub_tree_node_element';
|
39
|
-
import './open_project/tree_view/tree_view_include_fragment_element';
|
40
|
+
import './open_project/filterable_tree_view';
|