playbook_ui 13.10.0 → 13.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/pb_button/docs/_button_circle_swift.md +28 -0
- data/app/pb_kits/playbook/pb_button/docs/_button_default_swift.md +23 -0
- data/app/pb_kits/playbook/pb_button/docs/_button_full_width_swift.md +9 -0
- data/app/pb_kits/playbook/pb_button/docs/_button_icon_options_swift.md +18 -0
- data/app/pb_kits/playbook/pb_button/docs/_button_props_swift.md +11 -0
- data/app/pb_kits/playbook/pb_button/docs/_button_size_swift.md +20 -0
- data/app/pb_kits/playbook/pb_button/docs/example.yml +8 -0
- data/app/pb_kits/playbook/pb_card/docs/_card_background_swift.md +29 -0
- data/app/pb_kits/playbook/pb_card/docs/_card_border_none_swift.md +7 -0
- data/app/pb_kits/playbook/pb_card/docs/_card_border_radius_swift.md +33 -0
- data/app/pb_kits/playbook/pb_card/docs/_card_header_swift.md +33 -0
- data/app/pb_kits/playbook/pb_card/docs/_card_highlight_swift.md +17 -0
- data/app/pb_kits/playbook/pb_card/docs/_card_light_swift.md +7 -0
- data/app/pb_kits/playbook/pb_card/docs/_card_padding_swift.md +33 -0
- data/app/pb_kits/playbook/pb_card/docs/_card_props_swift.md +10 -0
- data/app/pb_kits/playbook/pb_card/docs/_card_selected_swift.md +0 -0
- data/app/pb_kits/playbook/pb_card/docs/_card_separator_swift.md +11 -0
- data/app/pb_kits/playbook/pb_card/docs/_card_shadow_swift.md +21 -0
- data/app/pb_kits/playbook/pb_card/docs/_card_styles_swift.md +17 -0
- data/app/pb_kits/playbook/pb_card/docs/_card_tag_swift.md +0 -0
- data/app/pb_kits/playbook/pb_card/docs/example.yml +12 -0
- data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_default_swift.md +10 -0
- data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_error_swift.md +12 -0
- data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_indeterminate_swift.md +12 -0
- data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_props_swift.md +7 -0
- data/app/pb_kits/playbook/pb_checkbox/docs/example.yml +7 -0
- data/app/pb_kits/playbook/pb_dawg/docs/example.yml +9 -0
- data/app/pb_kits/playbook/pb_docs/kit_example.html.erb +3 -3
- data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_color_props.md +6 -0
- data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_color_swift.md +16 -0
- data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_defaul_swift.md +7 -0
- data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_sizes_swift.md +11 -0
- data/app/pb_kits/playbook/pb_icon_circle/docs/example.yml +7 -0
- data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +27 -20
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids.html.erb +0 -1
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single.html.erb +104 -45
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single.jsx +100 -43
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single.md +1 -0
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single_children_only.html.erb +138 -0
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single_children_only.jsx +150 -0
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single_children_only.md +1 -0
- data/app/pb_kits/playbook/pb_multi_level_select/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_multi_level_select/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.tsx +10 -2
- data/app/pb_kits/playbook/pb_rich_text_editor/_tiptap_styles.scss +8 -4
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_toolbar_disabled.jsx +33 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_toolbar_disabled.md +3 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/index.js +2 -1
- data/app/pb_kits/playbook/pb_rich_text_editor/rich_text_editor_advanced.test.js +47 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_header.html.erb +47 -31
- data/app/pb_kits/playbook/pb_table/docs/_table_header.md +5 -0
- data/app/pb_kits/playbook/pb_table/table_header.html.erb +1 -1
- data/dist/menu.yml +284 -110
- data/dist/playbook-rails.js +5 -5
- data/lib/playbook/pb_doc_helper.rb +33 -3
- data/lib/playbook/version.rb +2 -2
- metadata +37 -2
@@ -65,9 +65,7 @@
|
|
65
65
|
.ProseMirror {
|
66
66
|
background: $white;
|
67
67
|
border: 1px solid $border_light;
|
68
|
-
border-
|
69
|
-
border-bottom-right-radius: $border_rad_heaviest;
|
70
|
-
border-bottom-left-radius: $border_rad_heaviest;
|
68
|
+
border-radius: $border_rad_heaviest;
|
71
69
|
height: 100%;
|
72
70
|
padding: 1rem 1.5rem 1.5rem 1.5rem;
|
73
71
|
line-height: $lh_loose;
|
@@ -127,7 +125,6 @@
|
|
127
125
|
}
|
128
126
|
&:focus-visible {
|
129
127
|
outline: unset;
|
130
|
-
border-top-color: $primary;
|
131
128
|
@include transition_default;
|
132
129
|
}
|
133
130
|
h1 {
|
@@ -228,4 +225,11 @@
|
|
228
225
|
border-radius: $border_rad_heaviest;
|
229
226
|
transition: box-shadow 0.3s ease-in-out, border-radius 0.3s ease-in-out;
|
230
227
|
}
|
228
|
+
&.toolbar-active {
|
229
|
+
.ProseMirror {
|
230
|
+
border-top: none;
|
231
|
+
border-top-left-radius: initial;
|
232
|
+
border-top-right-radius: initial;
|
233
|
+
}
|
234
|
+
}
|
231
235
|
}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import { useEditor, EditorContent } from "@tiptap/react";
|
3
|
+
|
4
|
+
import { RichTextEditor } from "../..";
|
5
|
+
|
6
|
+
import Document from "@tiptap/extension-document";
|
7
|
+
import Paragraph from "@tiptap/extension-paragraph";
|
8
|
+
import Text from "@tiptap/extension-text";
|
9
|
+
|
10
|
+
const RichTextEditorToolbarDisabled = (props) => {
|
11
|
+
const editor = useEditor({
|
12
|
+
extensions: [Document, Paragraph, Text],
|
13
|
+
content:
|
14
|
+
"Add your text here. You can format your text, add links, quotes, and bullets.",
|
15
|
+
});
|
16
|
+
if (!editor) {
|
17
|
+
return null;
|
18
|
+
}
|
19
|
+
|
20
|
+
return (
|
21
|
+
<div>
|
22
|
+
<RichTextEditor
|
23
|
+
advancedEditor={editor}
|
24
|
+
advancedEditorToolbar={false}
|
25
|
+
{...props}
|
26
|
+
>
|
27
|
+
<EditorContent editor={editor} />
|
28
|
+
</RichTextEditor>
|
29
|
+
</div>
|
30
|
+
);
|
31
|
+
};
|
32
|
+
|
33
|
+
export default RichTextEditorToolbarDisabled;
|
@@ -0,0 +1,3 @@
|
|
1
|
+
Because our default variant's toolbar requires [Tiptap's StarterKit](https://tiptap.dev/api/extensions/starter-kit) which may include features that are not relevant to your project or even block some custom extensions, optionally setting `advancedEditorToolbar` to `false` creates an editor without a toolbar, using only the minimum requirements.
|
2
|
+
|
3
|
+
__NOTE__: Omitting the Starter Kit requires that the editor’s default extensions (`document`, `paragraph`, and `text`) __must__ be imported directly from Tiptap or as a custom extensions.
|
@@ -15,6 +15,7 @@ examples:
|
|
15
15
|
- rich_text_editor_default: Default
|
16
16
|
- rich_text_editor_advanced_default: Advanced Default
|
17
17
|
- rich_text_editor_more_extensions: Advanced (Extra Extensions)
|
18
|
+
- rich_text_editor_toolbar_disabled: Advanced (Toolbar disabled)
|
18
19
|
- rich_text_editor_simple: Simple
|
19
20
|
- rich_text_editor_attributes: Attributes
|
20
21
|
- rich_text_editor_focus: Focus
|
@@ -8,4 +8,5 @@ export { default as RichTextEditorToolbarBottom } from './_rich_text_editor_tool
|
|
8
8
|
export { default as RichTextEditorInline } from './_rich_text_editor_inline.jsx'
|
9
9
|
export { default as RichTextEditorPreview } from './_rich_text_editor_preview.jsx'
|
10
10
|
export { default as RichTextEditorAdvancedDefault } from './_rich_text_editor_advanced_default.jsx'
|
11
|
-
export { default as RichTextEditorMoreExtensions } from './_rich_text_editor_more_extensions.jsx'
|
11
|
+
export { default as RichTextEditorMoreExtensions } from './_rich_text_editor_more_extensions.jsx'
|
12
|
+
export { default as RichTextEditorToolbarDisabled } from './_rich_text_editor_toolbar_disabled.jsx'
|
@@ -0,0 +1,47 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import { render } from "../utilities/test-utils";
|
3
|
+
import { useEditor, EditorContent } from "@tiptap/react";
|
4
|
+
import StarterKit from "@tiptap/starter-kit";
|
5
|
+
import Link from "@tiptap/extension-link";
|
6
|
+
|
7
|
+
import RichTextEditor from "./_rich_text_editor";
|
8
|
+
|
9
|
+
const kitClass = "pb_rich_text_editor_advanced_container";
|
10
|
+
|
11
|
+
const EditorTest = (props) => {
|
12
|
+
const editor = useEditor({
|
13
|
+
extensions: [StarterKit, Link],
|
14
|
+
content: "",
|
15
|
+
});
|
16
|
+
|
17
|
+
return (
|
18
|
+
<RichTextEditor
|
19
|
+
advancedEditor={editor}
|
20
|
+
{...props}
|
21
|
+
>
|
22
|
+
<EditorContent editor={editor} />
|
23
|
+
</RichTextEditor>
|
24
|
+
);
|
25
|
+
};
|
26
|
+
|
27
|
+
test("returns namespaced class name", () => {
|
28
|
+
const { container } = render(<EditorTest />);
|
29
|
+
|
30
|
+
expect(container.getElementsByClassName(kitClass).length).toBeGreaterThan(0);
|
31
|
+
});
|
32
|
+
|
33
|
+
test("returns toolbar class name", () => {
|
34
|
+
const { container } = render(<EditorTest />);
|
35
|
+
|
36
|
+
expect(
|
37
|
+
container.getElementsByClassName(`${kitClass} toolbar-active`).length
|
38
|
+
).toBeGreaterThan(0);
|
39
|
+
});
|
40
|
+
|
41
|
+
test("doesn't returns toolbar class name", () => {
|
42
|
+
const { container } = render(<EditorTest advancedEditorToolbar={false} />);
|
43
|
+
|
44
|
+
expect(
|
45
|
+
container.getElementsByClassName(`${kitClass} toolbar-active`).length
|
46
|
+
).toBe(0);
|
47
|
+
});
|
@@ -1,12 +1,37 @@
|
|
1
|
-
|
1
|
+
<%# Example data for demonstration purposes %>
|
2
|
+
<% data_rows = [
|
3
|
+
{ 'territory' => 'North', 'firstname' => 'John', 'lastname' => 'Doe', 'age' => 30, 'job' => 'Engineer' },
|
4
|
+
{ 'territory' => 'South', 'firstname' => 'Alice', 'lastname' => 'Smith', 'age' => 28, 'job' => 'Designer' },
|
5
|
+
{ 'territory' => 'East', 'firstname' => 'Mike', 'lastname' => 'Johnson', 'age' => 35, 'job' => 'Manager' },
|
6
|
+
{ 'territory' => 'West', 'firstname' => 'Sarah', 'lastname' => 'Brown', 'age' => 29, 'job' => 'Developer' },
|
7
|
+
{ 'territory' => 'Central', 'firstname' => 'David', 'lastname' => 'Wilson', 'age' => 32, 'job' => 'Analyst' }
|
8
|
+
]
|
9
|
+
%>
|
10
|
+
|
11
|
+
<%# Example sort method for demonstration purposes %>
|
12
|
+
<% if params["sort"] %>
|
13
|
+
<% sort_param = params["sort"].gsub(/_(asc|desc)\z/, "") %>
|
14
|
+
<% sort_direction = params["sort"].end_with?("_asc") ? 1 : -1 %>
|
15
|
+
<% data_rows.sort! do |a, b|
|
16
|
+
value_a = a[sort_param]
|
17
|
+
value_b = b[sort_param]
|
18
|
+
|
19
|
+
value_a = value_a.to_i if value_a.is_a?(String) && value_a.match?(/^\d+$/)
|
20
|
+
value_b = value_b.to_i if value_b.is_a?(String) && value_b.match?(/^\d+$/)
|
21
|
+
|
22
|
+
sort_direction * (value_a <=> value_b)
|
23
|
+
end %>
|
24
|
+
<% end %>
|
25
|
+
|
26
|
+
<%= pb_rails("table", props: { data_table: true, vertical_border: true, id: "table-header" } ) do %>
|
2
27
|
<thead>
|
3
28
|
<tr>
|
4
29
|
<%= pb_rails("table/table_header", props: {
|
5
30
|
text: "Territory",
|
6
31
|
id: "territory",
|
7
32
|
sort_menu: [
|
8
|
-
{ item: "Territory", link: "?sort=
|
9
|
-
{ item: "Territory", link: "?sort=
|
33
|
+
{ item: "Territory", link: "?sort=territory_asc#table-header", active: params["sort"] == "territory_asc", direction: "asc" },
|
34
|
+
{ item: "Territory", link: "?sort=territory_desc#table-header", active: params["sort"] == "territory_desc", direction: "desc" }
|
10
35
|
],
|
11
36
|
}) %>
|
12
37
|
<%= pb_rails("table/table_header", props: {
|
@@ -14,45 +39,36 @@
|
|
14
39
|
text: "Full Name",
|
15
40
|
colspan: 2,
|
16
41
|
sort_menu: [
|
17
|
-
{ item: "First Name Descending", link: "?sort=firstname_desc", active: params["sort"] == "firstname_desc", direction: "desc" },
|
18
|
-
{ item: "First Name Ascending", link: "?sort=firstname_asc", active: params["sort"] == "firstname_asc", direction: "asc" },
|
19
|
-
{ item: "Last Name Descending", link: "?sort=lastname_desc", active: params["sort"] == "lastname_desc", direction: "desc" },
|
20
|
-
{ item: "Last Name Ascending", link: "?sort=lastname_asc", active: params["sort"] == "lastname_asc", direction: "asc" }
|
42
|
+
{ item: "First Name Descending", link: "?sort=firstname_desc#table-header", active: params["sort"] == "firstname_desc", direction: "desc" },
|
43
|
+
{ item: "First Name Ascending", link: "?sort=firstname_asc#table-header", active: params["sort"] == "firstname_asc", direction: "asc" },
|
44
|
+
{ item: "Last Name Descending", link: "?sort=lastname_desc#table-header", active: params["sort"] == "lastname_desc", direction: "desc" },
|
45
|
+
{ item: "Last Name Ascending", link: "?sort=lastname_asc#table-header", active: params["sort"] == "lastname_asc", direction: "asc" }
|
21
46
|
],
|
22
47
|
}) %>
|
23
48
|
<%= pb_rails("table/table_header", props: {
|
24
49
|
text: "Age",
|
25
50
|
id: "age",
|
26
|
-
sort_dropdown: true,
|
27
51
|
sort_menu: [
|
28
|
-
{ item: "Age Descending", link: "?sort=age_desc", active: params["sort"] == "age_desc", direction: "desc" },
|
29
|
-
{ item: "Age Ascending", link: "?sort=age_asc", active: params["sort"] == "age_asc", direction: "asc" }
|
52
|
+
{ item: "Age Descending", link: "?sort=age_desc#table-header", active: params["sort"] == "age_desc", direction: "desc" },
|
53
|
+
{ item: "Age Ascending", link: "?sort=age_asc#table-header", active: params["sort"] == "age_asc", direction: "asc" }
|
30
54
|
],
|
31
55
|
}) %>
|
32
56
|
<%= pb_rails("table/table_header", props: { text: "Job Title" }) %>
|
33
57
|
</tr>
|
34
58
|
</thead>
|
35
59
|
<tbody>
|
36
|
-
|
37
|
-
<
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
</tr>
|
50
|
-
<tr>
|
51
|
-
<td>Ter 3</td>
|
52
|
-
<td>First Name 3</td>
|
53
|
-
<td>Last Name 3</td>
|
54
|
-
<td>Age 3</td>
|
55
|
-
<td>Job 3</td>
|
56
|
-
</tr>
|
60
|
+
<% data_rows.each do |row| %>
|
61
|
+
<tr>
|
62
|
+
<% row.each do |key, value| %>
|
63
|
+
<%= pb_rails("background", props: {
|
64
|
+
background_color: (params["sort"] && params["sort"].start_with?(key) ? "info_subtle" : "card_light"),
|
65
|
+
text_align: (value.is_a?(Integer) ? "right" : ""),
|
66
|
+
tag: "td"
|
67
|
+
}) do %>
|
68
|
+
<%= value %>
|
69
|
+
<% end %>
|
70
|
+
<% end %>
|
71
|
+
</tr>
|
72
|
+
<% end %>
|
57
73
|
</tbody>
|
58
74
|
<% end %>
|
@@ -6,3 +6,8 @@ presence of `sort_menu` enables the sort link within the header
|
|
6
6
|
* `sort_dropdown` (boolean) optionally declares that (true) clicking a header's sort link opens a dropdown of sort options, or (false) each sort link click cycles through available sort_menu items in the order they are passed
|
7
7
|
* passing a valid `colspan` will render sort options within a dropdown by default, without requiring `sort_dropdown` explicitly. Alternatively, the default sort dropdown can be prevented on headers with `colspan` by setting `sort_dropdown: false`, which reverts the column to sorting to multi-click default (each click of the sort link cycles through the available sort_menu items in the order they are passed)
|
8
8
|
* `id` (string) is required for headers that have a dropdown (for popover reference); otherwise they are optional
|
9
|
+
|
10
|
+
</br>
|
11
|
+
<div class="pb_pill_kit_warning"><div class="pb_title_kit_size_4 pb_pill_text">Disclaimer</div></div>
|
12
|
+
|
13
|
+
This example uses a custom sort method that may need to be modified or replaced within your project.
|
@@ -3,7 +3,7 @@
|
|
3
3
|
aria: object.aria,
|
4
4
|
class: object.classname,
|
5
5
|
data: object.data,
|
6
|
-
id: "pb-th#{object.id}") do %>
|
6
|
+
id: "pb-th#{object.id}" ) do %>
|
7
7
|
<% unless sorting_style? %>
|
8
8
|
<%= pb_rails("flex", props:{ align: object.align_content, justify: object.justify_sort_icon, classname: "pb_th_nolink" }) do %>
|
9
9
|
<%= content.presence || object.text %>
|
data/dist/menu.yml
CHANGED
@@ -1,111 +1,285 @@
|
|
1
|
+
web: &web ["rails", "react"]
|
2
|
+
all: &all ["rails", "react", "swift"]
|
3
|
+
rails_swift: &rails_swift ["rails", "swift"]
|
4
|
+
react_swift: &react_swift ["swift", "react"]
|
5
|
+
rails_only: &rails_only ["rails"]
|
6
|
+
react_only: &react_only ["react"]
|
7
|
+
swift_only: &swift_only ["swift"]
|
8
|
+
|
1
9
|
kits:
|
2
|
-
- avatars
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
10
|
+
- name: "avatars"
|
11
|
+
components:
|
12
|
+
- name: "avatar"
|
13
|
+
platforms: *all
|
14
|
+
- name: "avatar_action_button"
|
15
|
+
platforms: *web
|
16
|
+
- name: "multiple_users"
|
17
|
+
platforms: *web
|
18
|
+
- name: "multiple_users_stacked"
|
19
|
+
platforms: *web
|
20
|
+
- name: "user"
|
21
|
+
platforms: *web
|
22
|
+
- name: "background"
|
23
|
+
components:
|
24
|
+
- name: "background"
|
25
|
+
platforms: *web
|
26
|
+
- name: "bread_crumbs"
|
27
|
+
components:
|
28
|
+
- name: "bread_crumbs"
|
29
|
+
platforms: *web
|
30
|
+
- name: "buttons"
|
31
|
+
components:
|
32
|
+
- name: "button"
|
33
|
+
platforms: *web
|
34
|
+
- name: "button_toolbar"
|
35
|
+
platforms: *web
|
36
|
+
- name: "circle_icon_button"
|
37
|
+
platforms: *web
|
38
|
+
- name: "card"
|
39
|
+
components:
|
40
|
+
- name: "card"
|
41
|
+
platforms: *all
|
42
|
+
- name: "collapsible"
|
43
|
+
components:
|
44
|
+
- name: "collapsible"
|
45
|
+
platforms: *web
|
46
|
+
- name: "charts_and_graphs"
|
47
|
+
components:
|
48
|
+
- name: "bar_graph"
|
49
|
+
platforms: *web
|
50
|
+
- name: "circle_chart"
|
51
|
+
platforms: *web
|
52
|
+
- name: "distribution_bar"
|
53
|
+
platforms: *web
|
54
|
+
- name: "gauge"
|
55
|
+
platforms: *web
|
56
|
+
- name: "legend"
|
57
|
+
platforms: *web
|
58
|
+
- name: "line_graph"
|
59
|
+
platforms: *web
|
60
|
+
- name: "treemap_chart"
|
61
|
+
platforms: *web
|
62
|
+
- name: "dialog"
|
63
|
+
components:
|
64
|
+
- name: "dialog"
|
65
|
+
platforms: *web
|
66
|
+
- name: "filter"
|
67
|
+
components:
|
68
|
+
- name: "filter"
|
69
|
+
platforms: *web
|
70
|
+
- name: "fixed_confirmation_toast"
|
71
|
+
components:
|
72
|
+
- name: "fixed_confirmation_toast"
|
73
|
+
platforms: *web
|
74
|
+
- name: "forms"
|
75
|
+
components:
|
76
|
+
- name: "checkbox"
|
77
|
+
platforms: *web
|
78
|
+
- name: "date_picker"
|
79
|
+
platforms: *web
|
80
|
+
- name: "file_upload"
|
81
|
+
platforms: *web
|
82
|
+
- name: "form"
|
83
|
+
platforms: *rails_only
|
84
|
+
- name: "form_group"
|
85
|
+
platforms: *web
|
86
|
+
- name: "form_pill"
|
87
|
+
platforms: *web
|
88
|
+
- name: "multi_level_select"
|
89
|
+
platforms: *web
|
90
|
+
- name: "passphrase"
|
91
|
+
platforms: *web
|
92
|
+
- name: "phone_number_input"
|
93
|
+
platforms: *web
|
94
|
+
- name: "radio"
|
95
|
+
platforms: *all
|
96
|
+
- name: "rich_text_editor"
|
97
|
+
platforms: *web
|
98
|
+
- name: "select"
|
99
|
+
platforms: *web
|
100
|
+
- name: "selectable_card"
|
101
|
+
platforms: *web
|
102
|
+
- name: "selectable_card_icon"
|
103
|
+
platforms: *web
|
104
|
+
- name: "selectable_icon"
|
105
|
+
platforms: *web
|
106
|
+
- name: "selectable_list"
|
107
|
+
platforms: *web
|
108
|
+
- name: "text_input"
|
109
|
+
platforms: *web
|
110
|
+
- name: "textarea"
|
111
|
+
platforms: *web
|
112
|
+
- name: "toggle"
|
113
|
+
platforms: *web
|
114
|
+
- name: "typeahead"
|
115
|
+
platforms: *web
|
116
|
+
- name: "highlight"
|
117
|
+
components:
|
118
|
+
- name: "highlight"
|
119
|
+
platforms: *web
|
120
|
+
- name: "icon"
|
121
|
+
components:
|
122
|
+
- name: "icon"
|
123
|
+
platforms: *web
|
124
|
+
- name: "icon_circle"
|
125
|
+
components:
|
126
|
+
- name: "icon_circle"
|
127
|
+
platforms: *web
|
128
|
+
- name: "icon_stat_value"
|
129
|
+
components:
|
130
|
+
- name: "icon_stat_value"
|
131
|
+
platforms: *web
|
132
|
+
- name: "icon_value"
|
133
|
+
components:
|
134
|
+
- name: "icon_value"
|
135
|
+
platforms: *web
|
136
|
+
- name: "image"
|
137
|
+
components:
|
138
|
+
- name: "image"
|
139
|
+
platforms: *web
|
140
|
+
- name: "layouts"
|
141
|
+
components:
|
142
|
+
- name: "flex"
|
143
|
+
platforms: *web
|
144
|
+
- name: "layout"
|
145
|
+
platforms: *web
|
146
|
+
- name: "lightbox"
|
147
|
+
components:
|
148
|
+
- name: "lightbox"
|
149
|
+
platforms: *react_only
|
150
|
+
- name: "list"
|
151
|
+
components:
|
152
|
+
- name: "list"
|
153
|
+
platforms: *web
|
154
|
+
- name: "loading_inline"
|
155
|
+
components:
|
156
|
+
- name: "loading_inline"
|
157
|
+
platforms: *web
|
158
|
+
- name: "map"
|
159
|
+
components:
|
160
|
+
- name: "map"
|
161
|
+
platforms: *react_only
|
162
|
+
- name: "nav"
|
163
|
+
components:
|
164
|
+
- name: "nav"
|
165
|
+
platforms: *web
|
166
|
+
- name: "pagination"
|
167
|
+
components:
|
168
|
+
- name: "pagination"
|
169
|
+
platforms: *rails_only
|
170
|
+
- name: "popover"
|
171
|
+
components:
|
172
|
+
- name: "popover"
|
173
|
+
platforms: *web
|
174
|
+
- name: "progress"
|
175
|
+
components:
|
176
|
+
- name: "progress_pills"
|
177
|
+
platforms: *web
|
178
|
+
- name: "progress_simple"
|
179
|
+
platforms: *web
|
180
|
+
- name: "progress_step"
|
181
|
+
platforms: *web
|
182
|
+
- name: "section_separator"
|
183
|
+
components:
|
184
|
+
- name: "section_separator"
|
185
|
+
platforms: *web
|
186
|
+
- name: "star_rating"
|
187
|
+
components:
|
188
|
+
- name: "star_rating"
|
189
|
+
platforms: *web
|
190
|
+
- name: "table"
|
191
|
+
components:
|
192
|
+
- name: "table"
|
193
|
+
platforms: *web
|
194
|
+
- name: "tags"
|
195
|
+
components:
|
196
|
+
- name: "tags"
|
197
|
+
platforms: *web
|
198
|
+
- name: "badge"
|
199
|
+
platforms: *web
|
200
|
+
- name: "hashtag"
|
201
|
+
platforms: *web
|
202
|
+
- name: "pill"
|
203
|
+
platforms: *all
|
204
|
+
- name: "timeline"
|
205
|
+
components:
|
206
|
+
- name: "timeline"
|
207
|
+
platforms: *web
|
208
|
+
- name: "time_and_date"
|
209
|
+
components:
|
210
|
+
- name: "date"
|
211
|
+
platforms: *web
|
212
|
+
- name: "date_range_inline"
|
213
|
+
platforms: *web
|
214
|
+
- name: "date_range_stacked"
|
215
|
+
platforms: *web
|
216
|
+
- name: "date_stacked"
|
217
|
+
platforms: *web
|
218
|
+
- name: "date_time"
|
219
|
+
platforms: *web
|
220
|
+
- name: "date_time_stacked"
|
221
|
+
platforms: *web
|
222
|
+
- name: "date_year_stacked"
|
223
|
+
platforms: *web
|
224
|
+
- name: "time"
|
225
|
+
platforms: *web
|
226
|
+
- name: "time_range_inline"
|
227
|
+
platforms: *web
|
228
|
+
- name: "time_stacked"
|
229
|
+
platforms: *web
|
230
|
+
- name: "timestamp"
|
231
|
+
platforms: *all
|
232
|
+
- name: "weekday_stacked"
|
233
|
+
platforms: *web
|
234
|
+
- name: "tooltip"
|
235
|
+
components:
|
236
|
+
- name: "tooltip"
|
237
|
+
platforms: *web
|
238
|
+
- name: "typography"
|
239
|
+
components:
|
240
|
+
- name: "body"
|
241
|
+
platforms: *web
|
242
|
+
- name: "caption"
|
243
|
+
platforms: *web
|
244
|
+
- name: "detail"
|
245
|
+
platforms: *web
|
246
|
+
- name: "title"
|
247
|
+
platforms: *web
|
248
|
+
- name: "typography_patterns"
|
249
|
+
components:
|
250
|
+
- name: "contact"
|
251
|
+
platforms: *web
|
252
|
+
- name: "currency"
|
253
|
+
platforms: *web
|
254
|
+
- name: "dashboard_value"
|
255
|
+
platforms: *web
|
256
|
+
- name: "home_address_street"
|
257
|
+
platforms: *web
|
258
|
+
- name: "label_pill"
|
259
|
+
platforms: *web
|
260
|
+
- name: "label_value"
|
261
|
+
platforms: *web
|
262
|
+
- name: "message"
|
263
|
+
platforms: *web
|
264
|
+
- name: "person"
|
265
|
+
platforms: *web
|
266
|
+
- name: "person_contact"
|
267
|
+
platforms: *web
|
268
|
+
- name: "source"
|
269
|
+
platforms: *web
|
270
|
+
- name: "stat_change"
|
271
|
+
platforms: *web
|
272
|
+
- name: "stat_value"
|
273
|
+
platforms: *web
|
274
|
+
- name: "title_count"
|
275
|
+
platforms: *web
|
276
|
+
- name: "title_detail"
|
277
|
+
platforms: *web
|
278
|
+
- name: "user_badge"
|
279
|
+
components:
|
280
|
+
- name: "user_badge"
|
281
|
+
platforms: *web
|
282
|
+
- name: "walkthrough"
|
283
|
+
components:
|
284
|
+
- name: "walkthrough"
|
285
|
+
platforms: *web
|