primer_view_components 0.0.120 → 0.0.122
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 +58 -0
- data/app/assets/styles/primer_view_components.css +2 -2
- data/app/assets/styles/primer_view_components.css.map +1 -1
- data/app/components/primer/alpha/action_list.css.json +123 -1
- data/app/components/primer/alpha/auto_complete.css.json +23 -1
- data/app/components/primer/alpha/banner.css.json +24 -1
- data/app/components/primer/alpha/button_marketing.css.json +33 -1
- data/app/components/primer/alpha/check_box.rb +74 -0
- data/app/components/primer/alpha/check_box_group.rb +36 -0
- data/app/components/primer/alpha/dialog.css.json +82 -1
- data/app/components/primer/alpha/dialog.rb +1 -1
- data/app/components/primer/alpha/dropdown.css.json +40 -1
- data/app/components/primer/alpha/form_button.rb +32 -0
- data/app/components/primer/alpha/form_control.html.erb +26 -0
- data/app/components/primer/alpha/form_control.rb +105 -0
- data/app/components/primer/alpha/layout.css.json +80 -1
- data/app/components/primer/alpha/menu.css.json +28 -1
- data/app/components/primer/alpha/multi_input.rb +81 -0
- data/app/components/primer/alpha/radio_button.rb +25 -0
- data/app/components/primer/alpha/radio_button_group.rb +36 -0
- data/app/components/primer/alpha/segmented_control/item.rb +1 -0
- data/app/components/primer/alpha/segmented_control.css +1 -1
- data/app/components/primer/alpha/segmented_control.css.json +31 -1
- data/app/components/primer/alpha/segmented_control.css.map +1 -1
- data/app/components/primer/alpha/segmented_control.pcss +43 -12
- data/app/components/primer/alpha/segmented_control.rb +30 -0
- data/app/components/primer/alpha/select.rb +37 -0
- data/app/components/primer/alpha/submit_button.rb +32 -0
- data/app/components/primer/alpha/tab_nav.css.json +24 -1
- data/app/components/primer/alpha/tab_panels.rb +7 -0
- data/app/components/primer/alpha/text_area.rb +24 -0
- data/app/components/primer/alpha/text_field.css +2 -2
- data/app/components/primer/alpha/text_field.css.json +134 -1
- data/app/components/primer/alpha/text_field.css.map +1 -1
- data/app/components/primer/alpha/text_field.pcss +27 -0
- data/app/components/primer/alpha/text_field.rb +16 -20
- data/app/components/primer/alpha/toggle_switch.css +1 -1
- data/app/components/primer/alpha/toggle_switch.css.json +40 -1
- data/app/components/primer/alpha/toggle_switch.css.map +1 -1
- data/app/components/primer/alpha/toggle_switch.pcss +31 -61
- data/app/components/primer/alpha/underline_nav.css.json +28 -1
- data/app/components/primer/base_component.rb +3 -3
- data/app/components/primer/beta/avatar.css.json +17 -1
- data/app/components/primer/beta/avatar_stack.css.json +28 -1
- data/app/components/primer/beta/blankslate.css.json +22 -1
- data/app/components/primer/beta/border_box.css.json +54 -1
- data/app/components/primer/beta/breadcrumbs.css.json +11 -1
- data/app/components/primer/beta/button.css.json +71 -1
- data/app/components/primer/beta/close_button.rb +1 -1
- data/app/components/primer/beta/counter.css.json +10 -1
- data/app/components/primer/beta/flash.css.json +27 -1
- data/app/components/primer/beta/label.css.json +25 -1
- data/app/components/primer/beta/link.css.json +19 -1
- data/app/components/primer/beta/popover.css.json +39 -1
- data/app/components/primer/beta/progress_bar.css.json +10 -1
- data/app/components/primer/{local_time.d.ts → beta/relative_time.d.ts} +0 -0
- data/app/components/primer/{local_time.js → beta/relative_time.js} +0 -0
- data/app/components/primer/{local_time.ts → beta/relative_time.ts} +0 -0
- data/app/components/primer/beta/state.css.json +13 -1
- data/app/components/primer/beta/subhead.css.json +12 -1
- data/app/components/primer/beta/timeline_item.css.json +16 -1
- data/app/components/primer/beta/truncate.css.json +12 -1
- data/app/components/primer/component.rb +12 -3
- data/app/components/primer/primer.d.ts +1 -2
- data/app/components/primer/primer.js +1 -2
- data/app/components/primer/primer.ts +1 -2
- data/app/components/primer/truncate.css.json +13 -1
- data/app/forms/example_toggle_switch_form.rb +1 -1
- data/app/forms/{select_list_form.rb → select_form.rb} +1 -1
- data/app/lib/primer/css/layout.css.json +316 -1
- data/app/lib/primer/css/utilities.css.json +1659 -1
- data/app/lib/primer/view_helper.rb +0 -1
- data/lib/primer/deprecations.yml +0 -78
- data/lib/primer/form_components.rb +26 -6
- data/lib/primer/forms/acts_as_component.rb +12 -1
- data/lib/primer/forms/builder.rb +1 -17
- data/lib/primer/forms/button.rb +4 -1
- data/lib/primer/forms/check_box_group.html.erb +14 -9
- data/lib/primer/forms/check_box_group.rb +5 -0
- data/lib/primer/forms/dsl/check_box_group_input.rb +3 -4
- data/lib/primer/forms/dsl/input.rb +33 -2
- data/lib/primer/forms/dsl/input_methods.rb +49 -1
- data/lib/primer/forms/dsl/radio_button_group_input.rb +2 -3
- data/lib/primer/forms/dsl/{select_list_input.rb → select_input.rb} +2 -2
- data/lib/primer/forms/dsl/text_field_input.rb +7 -5
- data/lib/primer/forms/form_control.rb +0 -1
- data/lib/primer/forms/group.html.erb +1 -1
- data/lib/primer/forms/multi.html.erb +8 -6
- data/lib/primer/forms/multi.rb +2 -0
- data/lib/primer/forms/radio_button_group.html.erb +14 -9
- data/lib/primer/forms/radio_button_group.rb +5 -0
- data/lib/primer/forms/{select_list.html.erb → select.html.erb} +0 -0
- data/lib/primer/forms/{select_list.rb → select.rb} +2 -2
- data/lib/primer/forms/spacing_wrapper.html.erb +1 -1
- data/lib/primer/forms/text_area.rb +1 -1
- data/lib/primer/forms/text_field.rb +5 -1
- data/lib/primer/forms/toggle_switch_form.rb +10 -3
- data/lib/primer/forms/utils.rb +20 -0
- data/lib/primer/view_components/engine.rb +1 -1
- data/lib/primer/view_components/version.rb +1 -1
- data/lib/primer/yard/backend.rb +1 -15
- data/lib/primer/yard/component_manifest.rb +44 -27
- data/lib/primer/yard/component_ref.rb +40 -0
- data/lib/primer/yard/docs_helper.rb +16 -2
- data/lib/primer/yard/legacy_gatsby_backend.rb +9 -15
- data/lib/primer/yard/lookbook_docs_helper.rb +32 -0
- data/lib/primer/yard/lookbook_pages_backend.rb +194 -0
- data/lib/primer/yard/registry.rb +6 -21
- data/lib/primer/yard/renders_many_handler.rb +1 -1
- data/lib/primer/yard/renders_one_handler.rb +1 -1
- data/lib/primer/yard.rb +14 -0
- data/lib/tasks/docs.rake +26 -13
- data/lib/tasks/static.rake +22 -0
- data/previews/pages/forms/01_introduction.md.erb +44 -0
- data/previews/pages/forms/02_getting_started.md.erb +125 -0
- data/previews/pages/forms/03_caption_templates.md.erb +30 -0
- data/previews/pages/forms/04_after_content.md.erb +39 -0
- data/previews/pages/forms/05_groups_layouts.md.erb +22 -0
- data/previews/pages/forms/06_miscellaneous_inputs.md.erb +43 -0
- data/previews/pages/forms/07_toggle_switch_forms.md.erb +58 -0
- data/previews/pages/forms/08_validations.md.erb +28 -0
- data/previews/pages/forms/09_compound_forms.md.erb +97 -0
- data/previews/primer/alpha/auto_complete_preview.rb +6 -6
- data/previews/primer/alpha/check_box_group_preview.rb +89 -0
- data/previews/primer/alpha/check_box_preview.rb +62 -0
- data/previews/primer/alpha/form_control_preview/playground.html.erb +9 -0
- data/previews/primer/alpha/form_control_preview.rb +106 -0
- data/previews/primer/alpha/multi_input_preview/playground.html.erb +41 -0
- data/previews/primer/alpha/multi_input_preview.rb +80 -0
- data/previews/primer/alpha/radio_button_group_preview.rb +83 -0
- data/previews/primer/alpha/radio_button_preview.rb +62 -0
- data/previews/primer/alpha/segmented_control_preview/with_label_and_caption.html.erb +9 -0
- data/previews/primer/alpha/segmented_control_preview/with_subhead_actions.html.erb +11 -0
- data/previews/primer/alpha/segmented_control_preview.rb +7 -1
- data/previews/primer/alpha/select_preview.rb +130 -0
- data/previews/primer/alpha/text_area_preview.rb +87 -0
- data/previews/primer/alpha/text_field_preview.rb +24 -1
- data/previews/primer/alpha/toggle_switch_preview.rb +9 -9
- data/previews/primer/beta/auto_complete_preview.rb +17 -17
- data/previews/primer/forms/forms_preview/example_toggle_switch_form.html.erb +2 -2
- data/previews/primer/forms/forms_preview/{select_list_form.html.erb → select_form.html.erb} +1 -1
- data/previews/primer/forms/forms_preview.rb +3 -1
- data/previews/primer/url_helpers.rb +1 -1
- data/static/arguments.json +1348 -1412
- data/static/audited_at.json +12 -21
- data/static/constants.json +20 -51
- data/static/previews.json +1812 -0
- data/static/statuses.json +10 -19
- metadata +47 -32
- data/app/components/primer/dropdown/menu.rb +0 -14
- data/app/components/primer/dropdown.rb +0 -7
- data/app/components/primer/hellip_button.rb +0 -7
- data/app/components/primer/label_component.rb +0 -7
- data/app/components/primer/link_component.rb +0 -7
- data/app/components/primer/local_time.rb +0 -63
- data/app/components/primer/markdown.rb +0 -7
- data/app/components/primer/menu_component.rb +0 -7
- data/app/components/primer/octicon_component.rb +0 -7
- data/app/components/primer/octicon_symbols_component.rb +0 -7
- data/app/components/primer/popover_component.rb +0 -8
- data/app/components/primer/spinner_component.rb +0 -7
- data/app/components/primer/state_component.rb +0 -7
- data/app/components/primer/subhead_component.rb +0 -7
- data/app/components/primer/tab_container_component.rb +0 -7
- data/app/components/primer/time_ago_component.d.ts +0 -1
- data/app/components/primer/time_ago_component.js +0 -1
- data/app/components/primer/time_ago_component.rb +0 -51
- data/app/components/primer/time_ago_component.ts +0 -1
- data/app/components/primer/timeline_item_component.rb +0 -13
- data/previews/primer/local_time_component_preview.rb +0 -57
- data/previews/primer/time_ago_component_preview.rb +0 -27
@@ -0,0 +1,130 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Primer
|
4
|
+
module Alpha
|
5
|
+
# @label Select
|
6
|
+
class SelectPreview < ViewComponent::Preview
|
7
|
+
# @label Playground
|
8
|
+
#
|
9
|
+
# @param name text
|
10
|
+
# @param id text
|
11
|
+
# @param label text
|
12
|
+
# @param caption text
|
13
|
+
# @param required toggle
|
14
|
+
# @param visually_hide_label toggle
|
15
|
+
# @param size [Symbol] select [small, medium, large]
|
16
|
+
# @param full_width toggle
|
17
|
+
# @param disabled toggle
|
18
|
+
# @param invalid toggle
|
19
|
+
# @param validation_message text
|
20
|
+
def playground(
|
21
|
+
name: "my-select-list",
|
22
|
+
id: "my-select-list",
|
23
|
+
label: "Favorite place to visit",
|
24
|
+
caption: "They're all good",
|
25
|
+
required: false,
|
26
|
+
visually_hide_label: false,
|
27
|
+
size: Primer::Forms::Dsl::Input::DEFAULT_SIZE.to_s,
|
28
|
+
full_width: false,
|
29
|
+
disabled: false,
|
30
|
+
invalid: false,
|
31
|
+
validation_message: nil
|
32
|
+
)
|
33
|
+
system_arguments = {
|
34
|
+
name: name,
|
35
|
+
id: id,
|
36
|
+
label: label,
|
37
|
+
caption: caption,
|
38
|
+
required: required,
|
39
|
+
visually_hide_label: visually_hide_label,
|
40
|
+
size: size,
|
41
|
+
full_width: full_width,
|
42
|
+
disabled: disabled,
|
43
|
+
invalid: invalid,
|
44
|
+
validation_message: validation_message
|
45
|
+
}
|
46
|
+
|
47
|
+
render(Primer::Alpha::Select.new(**system_arguments)) do |component|
|
48
|
+
component.option(label: "Lopez Island", value: "lopez")
|
49
|
+
component.option(label: "Shaw Island", value: "shaw")
|
50
|
+
component.option(label: "Orcas Island", value: "orcas")
|
51
|
+
component.option(label: "San Juan Island", value: "san_juan")
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
# @label Default
|
56
|
+
def default
|
57
|
+
render(Primer::Alpha::Select.new(name: "my-select-list", label: "Favorite place to visit")) do |component|
|
58
|
+
component.option(label: "Lopez Island", value: "lopez")
|
59
|
+
component.option(label: "Shaw Island", value: "shaw")
|
60
|
+
component.option(label: "Orcas Island", value: "orcas")
|
61
|
+
component.option(label: "San Juan Island", value: "san_juan")
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
# @!group Options
|
66
|
+
#
|
67
|
+
# @label With caption
|
68
|
+
def with_caption
|
69
|
+
render(Primer::Alpha::Select.new(caption: "With a caption", name: "my-select-list", label: "Favorite place to visit")) do |component|
|
70
|
+
component.option(label: "Lopez Island", value: "lopez")
|
71
|
+
component.option(label: "Shaw Island", value: "shaw")
|
72
|
+
component.option(label: "Orcas Island", value: "orcas")
|
73
|
+
component.option(label: "San Juan Island", value: "san_juan")
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
# @label Visually hidden label
|
78
|
+
def visually_hide_label
|
79
|
+
render(Primer::Alpha::Select.new(visually_hide_label: true, name: "my-select-list", label: "Favorite place to visit")) do |component|
|
80
|
+
component.option(label: "Lopez Island", value: "lopez")
|
81
|
+
component.option(label: "Shaw Island", value: "shaw")
|
82
|
+
component.option(label: "Orcas Island", value: "orcas")
|
83
|
+
component.option(label: "San Juan Island", value: "san_juan")
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
# @label Full width
|
88
|
+
def full_width
|
89
|
+
render(Primer::Alpha::Select.new(full_width: true, name: "my-select-list", label: "Favorite place to visit")) do |component|
|
90
|
+
component.option(label: "Lopez Island", value: "lopez")
|
91
|
+
component.option(label: "Shaw Island", value: "shaw")
|
92
|
+
component.option(label: "Orcas Island", value: "orcas")
|
93
|
+
component.option(label: "San Juan Island", value: "san_juan")
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
# @label Disabled
|
98
|
+
def disabled
|
99
|
+
render(Primer::Alpha::Select.new(disabled: true, name: "my-select-list", label: "Favorite place to visit")) do |component|
|
100
|
+
component.option(label: "Lopez Island", value: "lopez")
|
101
|
+
component.option(label: "Shaw Island", value: "shaw")
|
102
|
+
component.option(label: "Orcas Island", value: "orcas")
|
103
|
+
component.option(label: "San Juan Island", value: "san_juan")
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
# @label Invalid
|
108
|
+
def invalid
|
109
|
+
render(Primer::Alpha::Select.new(invalid: true, name: "my-select-list", label: "Favorite place to visit")) do |component|
|
110
|
+
component.option(label: "Lopez Island", value: "lopez")
|
111
|
+
component.option(label: "Shaw Island", value: "shaw")
|
112
|
+
component.option(label: "Orcas Island", value: "orcas")
|
113
|
+
component.option(label: "San Juan Island", value: "san_juan")
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
# @label With validation message
|
118
|
+
def with_validation_message
|
119
|
+
render(Primer::Alpha::Select.new(validation_message: "An error occurred!", name: "my-select-list", label: "Favorite place to visit")) do |component|
|
120
|
+
component.option(label: "Lopez Island", value: "lopez")
|
121
|
+
component.option(label: "Shaw Island", value: "shaw")
|
122
|
+
component.option(label: "Orcas Island", value: "orcas")
|
123
|
+
component.option(label: "San Juan Island", value: "san_juan")
|
124
|
+
end
|
125
|
+
end
|
126
|
+
#
|
127
|
+
# @!endgroup
|
128
|
+
end
|
129
|
+
end
|
130
|
+
end
|
@@ -0,0 +1,87 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Primer
|
4
|
+
module Alpha
|
5
|
+
# @label TextArea
|
6
|
+
class TextAreaPreview < ViewComponent::Preview
|
7
|
+
# @label Playground
|
8
|
+
#
|
9
|
+
# @param name text
|
10
|
+
# @param id text
|
11
|
+
# @param label text
|
12
|
+
# @param caption text
|
13
|
+
# @param required toggle
|
14
|
+
# @param visually_hide_label toggle
|
15
|
+
# @param full_width toggle
|
16
|
+
# @param disabled toggle
|
17
|
+
# @param invalid toggle
|
18
|
+
# @param validation_message text
|
19
|
+
def playground(
|
20
|
+
name: "my-text-area",
|
21
|
+
id: "my-text-area",
|
22
|
+
label: "Tell me about yourself",
|
23
|
+
caption: "You can trust me, I'm a website",
|
24
|
+
required: false,
|
25
|
+
visually_hide_label: false,
|
26
|
+
full_width: false,
|
27
|
+
disabled: false,
|
28
|
+
invalid: false,
|
29
|
+
validation_message: nil
|
30
|
+
)
|
31
|
+
system_arguments = {
|
32
|
+
name: name,
|
33
|
+
id: id,
|
34
|
+
label: label,
|
35
|
+
caption: caption,
|
36
|
+
required: required,
|
37
|
+
visually_hide_label: visually_hide_label,
|
38
|
+
full_width: full_width,
|
39
|
+
disabled: disabled,
|
40
|
+
invalid: invalid,
|
41
|
+
validation_message: validation_message
|
42
|
+
}
|
43
|
+
|
44
|
+
render(Primer::Alpha::TextArea.new(**system_arguments))
|
45
|
+
end
|
46
|
+
|
47
|
+
# @label Default
|
48
|
+
def default
|
49
|
+
render(Primer::Alpha::TextArea.new(name: "my-text-area", label: "Tell me about yourself"))
|
50
|
+
end
|
51
|
+
|
52
|
+
# @!group Options
|
53
|
+
#
|
54
|
+
# @label With caption
|
55
|
+
def with_caption
|
56
|
+
render(Primer::Alpha::TextArea.new(caption: "With a caption", name: "my-text-area", label: "Tell me about yourself"))
|
57
|
+
end
|
58
|
+
|
59
|
+
# @label Visually hidden label
|
60
|
+
def visually_hide_label
|
61
|
+
render(Primer::Alpha::TextArea.new(visually_hide_label: true, name: "my-text-area", label: "Tell me about yourself"))
|
62
|
+
end
|
63
|
+
|
64
|
+
# @label Full width
|
65
|
+
def full_width
|
66
|
+
render(Primer::Alpha::TextArea.new(full_width: true, name: "my-text-area", label: "Tell me about yourself"))
|
67
|
+
end
|
68
|
+
|
69
|
+
# @label Disabled
|
70
|
+
def disabled
|
71
|
+
render(Primer::Alpha::TextArea.new(disabled: true, name: "my-text-area", label: "Tell me about yourself"))
|
72
|
+
end
|
73
|
+
|
74
|
+
# @label Invalid
|
75
|
+
def invalid
|
76
|
+
render(Primer::Alpha::TextArea.new(invalid: true, name: "my-text-area", label: "Tell me about yourself"))
|
77
|
+
end
|
78
|
+
|
79
|
+
# @label With validation message
|
80
|
+
def with_validation_message
|
81
|
+
render(Primer::Alpha::TextArea.new(validation_message: "An error occurred!", name: "my-text-area", label: "Tell me about yourself"))
|
82
|
+
end
|
83
|
+
#
|
84
|
+
# @!endgroup
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
@@ -9,6 +9,8 @@ module Primer
|
|
9
9
|
# @param name text
|
10
10
|
# @param id text
|
11
11
|
# @param label text
|
12
|
+
# @param caption text
|
13
|
+
# @param required toggle
|
12
14
|
# @param visually_hide_label toggle
|
13
15
|
# @param size [Symbol] select [small, medium, large]
|
14
16
|
# @param show_clear_button toggle
|
@@ -16,14 +18,17 @@ module Primer
|
|
16
18
|
# @param full_width toggle
|
17
19
|
# @param disabled toggle
|
18
20
|
# @param invalid toggle
|
21
|
+
# @param validation_message text
|
19
22
|
# @param placeholder text
|
20
23
|
# @param inset toggle
|
21
24
|
# @param monospace toggle
|
22
|
-
# @param leading_visual_icon
|
25
|
+
# @param leading_visual_icon octicon
|
23
26
|
def playground(
|
24
27
|
name: "my-text-field",
|
25
28
|
id: "my-text-field",
|
26
29
|
label: "My text field",
|
30
|
+
caption: "My text field",
|
31
|
+
required: false,
|
27
32
|
visually_hide_label: false,
|
28
33
|
size: Primer::Forms::Dsl::Input::DEFAULT_SIZE.to_s,
|
29
34
|
show_clear_button: false,
|
@@ -31,6 +36,7 @@ module Primer
|
|
31
36
|
full_width: false,
|
32
37
|
disabled: false,
|
33
38
|
invalid: false,
|
39
|
+
validation_message: nil,
|
34
40
|
placeholder: nil,
|
35
41
|
inset: false,
|
36
42
|
monospace: false,
|
@@ -40,6 +46,8 @@ module Primer
|
|
40
46
|
name: name,
|
41
47
|
id: id,
|
42
48
|
label: label,
|
49
|
+
caption: caption,
|
50
|
+
required: required,
|
43
51
|
visually_hide_label: visually_hide_label,
|
44
52
|
size: size,
|
45
53
|
show_clear_button: show_clear_button,
|
@@ -47,6 +55,7 @@ module Primer
|
|
47
55
|
full_width: full_width,
|
48
56
|
disabled: disabled,
|
49
57
|
invalid: invalid,
|
58
|
+
validation_message: validation_message,
|
50
59
|
placeholder: placeholder,
|
51
60
|
inset: inset,
|
52
61
|
monospace: monospace
|
@@ -144,6 +153,20 @@ module Primer
|
|
144
153
|
end
|
145
154
|
#
|
146
155
|
# @!endgroup
|
156
|
+
|
157
|
+
# @!group Auto check
|
158
|
+
#
|
159
|
+
# @label Auto check request ok
|
160
|
+
def with_auto_check_ok
|
161
|
+
render(Primer::Alpha::TextField.new(auto_check_src: UrlHelpers.example_check_ok_path, name: "my-text-field", label: "My text field"))
|
162
|
+
end
|
163
|
+
|
164
|
+
# @label Auto check request error
|
165
|
+
def with_auto_check_error
|
166
|
+
render(Primer::Alpha::TextField.new(auto_check_src: UrlHelpers.example_check_error_path, name: "my-text-field", label: "My text field"))
|
167
|
+
end
|
168
|
+
#
|
169
|
+
# @!endgroup
|
147
170
|
end
|
148
171
|
end
|
149
172
|
end
|
@@ -9,31 +9,31 @@ module Primer
|
|
9
9
|
include ActionView::Helpers::FormTagHelper
|
10
10
|
|
11
11
|
def playground
|
12
|
-
render(ToggleSwitch.new(src:
|
12
|
+
render(ToggleSwitch.new(src: UrlHelpers.toggle_switch_index_path))
|
13
13
|
end
|
14
14
|
|
15
15
|
def default
|
16
|
-
render(ToggleSwitch.new(src:
|
16
|
+
render(ToggleSwitch.new(src: UrlHelpers.toggle_switch_index_path))
|
17
17
|
end
|
18
18
|
|
19
19
|
def checked
|
20
|
-
render(ToggleSwitch.new(src:
|
20
|
+
render(ToggleSwitch.new(src: UrlHelpers.toggle_switch_index_path, checked: true))
|
21
21
|
end
|
22
22
|
|
23
23
|
def disabled
|
24
|
-
render(ToggleSwitch.new(src:
|
24
|
+
render(ToggleSwitch.new(src: UrlHelpers.toggle_switch_index_path, enabled: false))
|
25
25
|
end
|
26
26
|
|
27
27
|
def checked_disabled
|
28
|
-
render(ToggleSwitch.new(src:
|
28
|
+
render(ToggleSwitch.new(src: UrlHelpers.toggle_switch_index_path, checked: true, enabled: false))
|
29
29
|
end
|
30
30
|
|
31
31
|
def small
|
32
|
-
render(ToggleSwitch.new(src:
|
32
|
+
render(ToggleSwitch.new(src: UrlHelpers.toggle_switch_index_path, size: :small))
|
33
33
|
end
|
34
34
|
|
35
35
|
def with_status_label_position_end
|
36
|
-
render(ToggleSwitch.new(src:
|
36
|
+
render(ToggleSwitch.new(src: UrlHelpers.toggle_switch_index_path, status_label_position: :end))
|
37
37
|
end
|
38
38
|
|
39
39
|
def with_a_bad_src
|
@@ -45,11 +45,11 @@ module Primer
|
|
45
45
|
end
|
46
46
|
|
47
47
|
def with_csrf_token
|
48
|
-
render(ToggleSwitch.new(src:
|
48
|
+
render(ToggleSwitch.new(src: UrlHelpers.toggle_switch_index_path, csrf_token: "let_me_in"))
|
49
49
|
end
|
50
50
|
|
51
51
|
def with_bad_csrf_token
|
52
|
-
render(ToggleSwitch.new(src:
|
52
|
+
render(ToggleSwitch.new(src: UrlHelpers.toggle_switch_index_path, csrf_token: "i_am_a_criminal"))
|
53
53
|
end
|
54
54
|
end
|
55
55
|
end
|
@@ -21,7 +21,7 @@ module Primer
|
|
21
21
|
# @param inset toggle
|
22
22
|
# @param monospace toggle
|
23
23
|
def playground(label_text: "Select a fruit", show_clear_button: false, visually_hide_label: false, placeholder: "Placeholder text", size: :medium, full_width: false, disabled: false, invalid: false, input_id: "input-id", list_id: "list-id", input_name: "input-id", inset: false, monospace: false)
|
24
|
-
render(Primer::Beta::AutoComplete.new(label_text: label_text, input_id: input_id, list_id: list_id, src:
|
24
|
+
render(Primer::Beta::AutoComplete.new(label_text: label_text, input_id: input_id, list_id: list_id, src: UrlHelpers.autocomplete_index_path, show_clear_button: show_clear_button, visually_hide_label: visually_hide_label, placeholder: placeholder, size: size, full_width: full_width, disabled: disabled, invalid: invalid, input_name: input_name, inset: inset, monospace: monospace)) do |component|
|
25
25
|
component.with_leading_visual_icon(icon: :search)
|
26
26
|
end
|
27
27
|
end
|
@@ -41,7 +41,7 @@ module Primer
|
|
41
41
|
# @param inset toggle
|
42
42
|
# @param monospace toggle
|
43
43
|
def default(label_text: "Select a fruit", show_clear_button: false, visually_hide_label: false, placeholder: "Placeholder text", size: :medium, full_width: false, disabled: false, invalid: false, input_id: "input-id", list_id: "list-id", input_name: "input-id", inset: false, monospace: false)
|
44
|
-
render(Primer::Beta::AutoComplete.new(label_text: label_text, input_id: input_id, list_id: list_id, src:
|
44
|
+
render(Primer::Beta::AutoComplete.new(label_text: label_text, input_id: input_id, list_id: list_id, src: UrlHelpers.autocomplete_index_path, show_clear_button: show_clear_button, visually_hide_label: visually_hide_label, placeholder: placeholder, size: size, full_width: full_width, disabled: disabled, invalid: invalid, input_name: input_name, inset: inset, monospace: monospace)) do |component|
|
45
45
|
component.with_leading_visual_icon(icon: :search)
|
46
46
|
end
|
47
47
|
end
|
@@ -87,7 +87,7 @@ module Primer
|
|
87
87
|
# @param list_id text
|
88
88
|
# @param input_name text
|
89
89
|
def leading_visual(label_text: "Select a fruit", show_clear_button: false, visually_hide_label: false, placeholder: "Placeholder text", size: :medium, full_width: false, disabled: false, invalid: false, input_id: "input-id", list_id: "list-id", input_name: "input-id")
|
90
|
-
render(Primer::Beta::AutoComplete.new(label_text: label_text, input_id: input_id, list_id: list_id, src:
|
90
|
+
render(Primer::Beta::AutoComplete.new(label_text: label_text, input_id: input_id, list_id: list_id, src: UrlHelpers.autocomplete_index_path, show_clear_button: show_clear_button, visually_hide_label: visually_hide_label, placeholder: placeholder, size: size, full_width: full_width, disabled: disabled, invalid: invalid, input_name: input_name)) do |component|
|
91
91
|
component.with_leading_visual_icon(icon: :search)
|
92
92
|
end
|
93
93
|
end
|
@@ -105,7 +105,7 @@ module Primer
|
|
105
105
|
# @param list_id text
|
106
106
|
# @param input_name text
|
107
107
|
def trailing_action(label_text: "Select a fruit", show_clear_button: true, visually_hide_label: false, placeholder: "Placeholder text", size: :medium, full_width: false, disabled: false, invalid: false, input_id: "input-id", list_id: "list-id", input_name: "input-id")
|
108
|
-
render(Primer::Beta::AutoComplete.new(label_text: label_text, input_id: input_id, list_id: list_id, src:
|
108
|
+
render(Primer::Beta::AutoComplete.new(label_text: label_text, input_id: input_id, list_id: list_id, src: UrlHelpers.autocomplete_index_path, show_clear_button: show_clear_button, visually_hide_label: visually_hide_label, placeholder: placeholder, size: size, full_width: full_width, disabled: disabled, invalid: invalid, input_name: input_name))
|
109
109
|
end
|
110
110
|
|
111
111
|
# @label Full width
|
@@ -121,7 +121,7 @@ module Primer
|
|
121
121
|
# @param list_id text
|
122
122
|
# @param input_name text
|
123
123
|
def full_width(label_text: "Select a fruit", show_clear_button: false, visually_hide_label: false, placeholder: "Placeholder text", size: :medium, full_width: true, disabled: false, invalid: false, input_id: "input-id", list_id: "list-id", input_name: "input-id")
|
124
|
-
render(Primer::Beta::AutoComplete.new(label_text: label_text, input_id: input_id, list_id: list_id, src:
|
124
|
+
render(Primer::Beta::AutoComplete.new(label_text: label_text, input_id: input_id, list_id: list_id, src: UrlHelpers.autocomplete_index_path, show_clear_button: show_clear_button, visually_hide_label: visually_hide_label, placeholder: placeholder, size: size, full_width: full_width, disabled: disabled, invalid: invalid, input_name: input_name)) do |component|
|
125
125
|
component.with_leading_visual_icon(icon: :search)
|
126
126
|
end
|
127
127
|
end
|
@@ -139,7 +139,7 @@ module Primer
|
|
139
139
|
# @param list_id text
|
140
140
|
# @param input_name text
|
141
141
|
def visually_hide_label(label_text: "Select a fruit", show_clear_button: false, visually_hide_label: true, placeholder: "Placeholder text", size: :medium, full_width: false, disabled: false, invalid: false, input_id: "input-id", list_id: "list-id", input_name: "input-id")
|
142
|
-
render(Primer::Beta::AutoComplete.new(label_text: label_text, input_id: input_id, list_id: list_id, src:
|
142
|
+
render(Primer::Beta::AutoComplete.new(label_text: label_text, input_id: input_id, list_id: list_id, src: UrlHelpers.autocomplete_index_path, show_clear_button: show_clear_button, visually_hide_label: visually_hide_label, placeholder: placeholder, size: size, full_width: full_width, disabled: disabled, invalid: invalid, input_name: input_name)) do |component|
|
143
143
|
component.with_leading_visual_icon(icon: :search)
|
144
144
|
end
|
145
145
|
end
|
@@ -158,7 +158,7 @@ module Primer
|
|
158
158
|
# @param list_id text
|
159
159
|
# @param input_name text
|
160
160
|
def small(label_text: "Select a fruit", show_clear_button: false, visually_hide_label: false, placeholder: "Placeholder text", size: :small, full_width: false, disabled: false, invalid: false, input_id: "input-id-1", list_id: "list-id-1", input_name: "input-id-1")
|
161
|
-
render(Primer::Beta::AutoComplete.new(label_text: label_text, input_id: input_id, list_id: list_id, src:
|
161
|
+
render(Primer::Beta::AutoComplete.new(label_text: label_text, input_id: input_id, list_id: list_id, src: UrlHelpers.autocomplete_index_path, show_clear_button: show_clear_button, visually_hide_label: visually_hide_label, placeholder: placeholder, size: size, full_width: full_width, disabled: disabled, invalid: invalid, input_name: input_name)) do |component|
|
162
162
|
component.with_leading_visual_icon(icon: :search)
|
163
163
|
end
|
164
164
|
end
|
@@ -175,7 +175,7 @@ module Primer
|
|
175
175
|
# @param list_id text
|
176
176
|
# @param input_name text
|
177
177
|
def medium(label_text: "Select a fruit", show_clear_button: false, visually_hide_label: false, placeholder: "Placeholder text", size: :medium, full_width: false, disabled: false, invalid: false, input_id: "input-id-2", list_id: "list-id-2", input_name: "input-id-2")
|
178
|
-
render(Primer::Beta::AutoComplete.new(label_text: label_text, input_id: input_id, list_id: list_id, src:
|
178
|
+
render(Primer::Beta::AutoComplete.new(label_text: label_text, input_id: input_id, list_id: list_id, src: UrlHelpers.autocomplete_index_path, show_clear_button: show_clear_button, visually_hide_label: visually_hide_label, placeholder: placeholder, size: size, full_width: full_width, disabled: disabled, invalid: invalid, input_name: input_name)) do |component|
|
179
179
|
component.with_leading_visual_icon(icon: :search)
|
180
180
|
end
|
181
181
|
end
|
@@ -192,7 +192,7 @@ module Primer
|
|
192
192
|
# @param list_id text
|
193
193
|
# @param input_name text
|
194
194
|
def large(label_text: "Select a fruit", show_clear_button: false, visually_hide_label: false, placeholder: "Placeholder text", size: :large, full_width: false, disabled: false, invalid: false, input_id: "input-id-3", list_id: "list-id-3", input_name: "input-id-3")
|
195
|
-
render(Primer::Beta::AutoComplete.new(label_text: label_text, input_id: input_id, list_id: list_id, src:
|
195
|
+
render(Primer::Beta::AutoComplete.new(label_text: label_text, input_id: input_id, list_id: list_id, src: UrlHelpers.autocomplete_index_path, show_clear_button: show_clear_button, visually_hide_label: visually_hide_label, placeholder: placeholder, size: size, full_width: full_width, disabled: disabled, invalid: invalid, input_name: input_name)) do |component|
|
196
196
|
component.with_leading_visual_icon(icon: :search)
|
197
197
|
end
|
198
198
|
end
|
@@ -212,7 +212,7 @@ module Primer
|
|
212
212
|
# @param list_id text
|
213
213
|
# @param input_name text
|
214
214
|
def leading_visual_in_results(label_text: "Select a fruit", show_clear_button: false, visually_hide_label: false, placeholder: "Placeholder text", size: :medium, full_width: false, disabled: false, invalid: false, input_id: "input-id", list_id: "list-id", input_name: "input-id")
|
215
|
-
render(Primer::Beta::AutoComplete.new(label_text: label_text, input_id: input_id, list_id: list_id, src:
|
215
|
+
render(Primer::Beta::AutoComplete.new(label_text: label_text, input_id: input_id, list_id: list_id, src: UrlHelpers.autocomplete_index_path(visual: "leading"), show_clear_button: show_clear_button, visually_hide_label: visually_hide_label, placeholder: placeholder, size: size, full_width: full_width, disabled: disabled, invalid: invalid, input_name: input_name))
|
216
216
|
end
|
217
217
|
|
218
218
|
# @label Trailing visual in results
|
@@ -228,39 +228,39 @@ module Primer
|
|
228
228
|
# @param list_id text
|
229
229
|
# @param input_name text
|
230
230
|
def trailing_visual_in_results(label_text: "Select a fruit", show_clear_button: false, visually_hide_label: false, placeholder: "Placeholder text", size: :medium, full_width: false, disabled: false, invalid: false, input_id: "input-id", list_id: "list-id", input_name: "input-id")
|
231
|
-
render(Primer::Beta::AutoComplete.new(label_text: label_text, input_id: input_id, list_id: list_id, src:
|
231
|
+
render(Primer::Beta::AutoComplete.new(label_text: label_text, input_id: input_id, list_id: list_id, src: UrlHelpers.autocomplete_index_path(visual: "trailing"), show_clear_button: show_clear_button, visually_hide_label: visually_hide_label, placeholder: placeholder, size: size, full_width: full_width, disabled: disabled, invalid: invalid, input_name: input_name))
|
232
232
|
end
|
233
233
|
|
234
234
|
# @hidden
|
235
235
|
def with_non_visible_label
|
236
|
-
render(Primer::Beta::AutoComplete.new(label_text: "Select a fruit", input_id: "input-id", list_id: "test-id", src:
|
236
|
+
render(Primer::Beta::AutoComplete.new(label_text: "Select a fruit", input_id: "input-id", list_id: "test-id", src: UrlHelpers.autocomplete_index_path, visually_hide_label: true))
|
237
237
|
end
|
238
238
|
|
239
239
|
# @hidden
|
240
240
|
def with_icon
|
241
|
-
render(Primer::Beta::AutoComplete.new(label_text: "Select a fruit", input_id: "input-id", list_id: "test-id", src:
|
241
|
+
render(Primer::Beta::AutoComplete.new(label_text: "Select a fruit", input_id: "input-id", list_id: "test-id", src: UrlHelpers.autocomplete_index_path)) do |component|
|
242
242
|
component.with_leading_visual_icon(icon: :search)
|
243
243
|
end
|
244
244
|
end
|
245
245
|
|
246
246
|
# @hidden
|
247
247
|
def show_clear_button
|
248
|
-
render(Primer::Beta::AutoComplete.new(label_text: "Select a fruit", input_id: "input-id", list_id: "test-id", src:
|
248
|
+
render(Primer::Beta::AutoComplete.new(label_text: "Select a fruit", input_id: "input-id", list_id: "test-id", src: UrlHelpers.autocomplete_index_path, show_clear_button: true))
|
249
249
|
end
|
250
250
|
|
251
251
|
# @hidden
|
252
252
|
def size_small
|
253
|
-
render(Primer::Beta::AutoComplete.new(label_text: "Select a fruit", input_id: "input-id", list_id: "test-id", src:
|
253
|
+
render(Primer::Beta::AutoComplete.new(label_text: "Select a fruit", input_id: "input-id", list_id: "test-id", src: UrlHelpers.autocomplete_index_path, show_clear_button: false, size: :small))
|
254
254
|
end
|
255
255
|
|
256
256
|
# @hidden
|
257
257
|
def monospace
|
258
|
-
render(Primer::Beta::AutoComplete.new(label_text: "Select a fruit", input_id: "input-id", list_id: "test-id", src:
|
258
|
+
render(Primer::Beta::AutoComplete.new(label_text: "Select a fruit", input_id: "input-id", list_id: "test-id", src: UrlHelpers.autocomplete_index_path, show_clear_button: false, monospace: true))
|
259
259
|
end
|
260
260
|
|
261
261
|
# @hidden
|
262
262
|
def inset
|
263
|
-
render(Primer::Beta::AutoComplete.new(label_text: "Select a fruit", input_id: "input-id", list_id: "test-id", src:
|
263
|
+
render(Primer::Beta::AutoComplete.new(label_text: "Select a fruit", input_id: "input-id", list_id: "test-id", src: UrlHelpers.autocomplete_index_path, show_clear_button: false, inset: true))
|
264
264
|
end
|
265
265
|
end
|
266
266
|
end
|
@@ -1,3 +1,3 @@
|
|
1
|
-
<%= render(ExampleToggleSwitchForm.new(csrf: "let_me_in", src: toggle_switch_index_path, id: "success-toggle")) %>
|
1
|
+
<%= render(ExampleToggleSwitchForm.new(csrf: "let_me_in", label: "Good example", src: toggle_switch_index_path, id: "success-toggle")) %>
|
2
2
|
<hr>
|
3
|
-
<%= render(ExampleToggleSwitchForm.new(csrf: "a_bad_value", src: toggle_switch_index_path, id: "error-toggle")) %>
|
3
|
+
<%= render(ExampleToggleSwitchForm.new(csrf: "a_bad_value", label: "Bad example", src: toggle_switch_index_path, id: "error-toggle")) %>
|
@@ -3,6 +3,8 @@
|
|
3
3
|
module Primer
|
4
4
|
module Forms
|
5
5
|
# :nodoc:
|
6
|
+
#
|
7
|
+
# @logical_path primer/
|
6
8
|
class FormsPreview < ViewComponent::Preview
|
7
9
|
def single_text_field_form; end
|
8
10
|
|
@@ -22,7 +24,7 @@ module Primer
|
|
22
24
|
|
23
25
|
def array_check_box_group_form; end
|
24
26
|
|
25
|
-
def
|
27
|
+
def select_form; end
|
26
28
|
|
27
29
|
def radio_button_with_nested_form; end
|
28
30
|
|